/* =========================================================
   MECÁNICAS
   Catálogo informativo - sin tienda online
========================================================= */

.mecanicas-page{
    margin:0;
    min-height:100vh;
    background:
        linear-gradient(rgba(235,238,240,.18),rgba(235,238,240,.18)),
        url('../images/home.webp') center/cover fixed no-repeat;
}

.mecanicas-main{
    min-height:100vh;
    padding-top:156px;
}

/* =========================================================
   TÍTULO - TRANSPARENTE, SIN IMAGEN
========================================================= */

.mecanicas-heading{
    padding:52px 4% 38px;
    background:rgba(255,255,255,.07);
    border-bottom:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.mecanicas-heading-inner{
    width:min(1180px,92%);
    margin:auto;
}

.mecanicas-kicker,
.section-kicker{
    display:block;
    margin-bottom:10px;
    color:#8b0f1c;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.20em;
}

.mecanicas-heading h1{
    max-width:920px;
    margin:0;
    color:#171a1f;
    font-size:clamp(42px,6vw,72px);
    line-height:.98;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:.01em;
}

.mecanicas-heading p{
    max-width:720px;
    margin:17px 0 0;
    color:#343a40;
    font-size:15px;
    line-height:1.6;
}

.mecanicas-actions{
    display:flex;
    gap:12px;
    margin-top:22px;
    flex-wrap:wrap;
}

/* =========================================================
   BOTONES
========================================================= */

.mecanicas-btn{
    min-width:175px;
    padding:12px 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #8b0f1c;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:12px;
    transition:.22s ease;
}

.mecanicas-btn-primary{
    color:#fff;
    background:#8b0f1c;
}

.mecanicas-btn-primary:hover{
    background:#6f0b16;
    border-color:#6f0b16;
}

.mecanicas-btn-secondary{
    color:#8b0f1c;
    background:rgba(255,255,255,.16);
}

.mecanicas-btn-secondary:hover{
    color:#fff;
    background:#8b0f1c;
}

/* =========================================================
   CARRUSEL
========================================================= */

.mecanicas-carousel{
    padding:18px 0 0;
    background:rgba(255,255,255,.02);
}

.mecanicas-carousel-viewport{
    position:relative;
    width:min(1280px,92%);
    height:360px;
    margin:auto;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.38);
    background:rgba(255,255,255,.10);
    box-shadow:0 18px 40px rgba(20,24,28,.08);
}

.mecanicas-carousel-track{
    position:relative;
    width:100%;
    height:100%;
}

.mecanicas-slide{
    position:absolute;
    inset:0;
    margin:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .7s ease, visibility .7s ease;
}

.mecanicas-slide.is-active{
    opacity:1;
    visibility:visible;
}

.mecanicas-slide img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    filter:brightness(.94) contrast(.96) saturate(.94);
}

.mecanicas-slide::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,24,.08) 0%,
            rgba(18,20,24,.02) 55%,
            rgba(18,20,24,.12) 100%
        );
}

.carousel-arrow{
    position:absolute;
    top:50%;
    z-index:5;
    width:44px;
    height:44px;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.46);
    border-radius:50%;
    background:rgba(25,28,32,.20);
    color:#fff;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:.22s ease;
}

.carousel-arrow:hover{
    background:rgba(139,15,28,.78);
}

.carousel-prev{
    left:18px;
}

.carousel-next{
    right:18px;
}

.carousel-dots{
    position:absolute;
    left:50%;
    bottom:16px;
    z-index:6;
    display:flex;
    gap:7px;
    transform:translateX(-50%);
}

.carousel-dots button{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.64);
    cursor:pointer;
    transition:.22s ease;
}

.carousel-dots button.is-active{
    width:20px;
    border-radius:999px;
    background:#8b0f1c;
}

/* =========================================================
   CONTENIDO
========================================================= */

.mecanicas-content{
    padding:26px 0 60px;
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

/* =========================================================
   QUÉ ES
========================================================= */

.mecanicas-que-es{
    width:min(1180px,92%);
    margin:auto;
    display:grid;
    grid-template-columns:.9fr 1.1fr .82fr;
    align-items:stretch;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.40);
    background:rgba(255,255,255,.20);
    box-shadow:0 18px 38px rgba(20,24,28,.06);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.que-es-media{
    min-height:300px;
    overflow:hidden;
}

.que-es-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    filter:brightness(.94) contrast(.96) saturate(.92);
}

.que-es-copy{
    padding:34px 38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid rgba(255,255,255,.32);
}

.que-es-copy h2{
    margin:0 0 14px;
    color:#171a1f;
    font-size:clamp(28px,4vw,44px);
    line-height:1.05;
    font-weight:400;
}

.que-es-copy p{
    margin:0;
    color:#555e67;
    font-size:14px;
    line-height:1.65;
}

.que-es-puntos{
    margin:0;
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:16px;
    list-style:none;
}

.que-es-puntos li{
    display:flex;
    align-items:center;
    gap:12px;
    color:#343a40;
    font-size:14px;
}

.que-es-puntos li span{
    color:#8b0f1c;
    font-size:10px;
}

/* =========================================================
   MODELOS
========================================================= */

.mecanicas-modelos{
    width:min(1180px,92%);
    margin:38px auto 0;
}

.modelos-heading{
    margin-bottom:20px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.modelos-heading h2{
    margin:0 0 8px;
    color:#171a1f;
    font-size:clamp(28px,4vw,40px);
    line-height:1.08;
    font-weight:400;
}

.modelos-heading p{
    margin:0;
    color:#555e67;
    font-size:14px;
}

.modelos-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:16px;
}

.modelo-card{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.42);
    background:rgba(255,255,255,.18);
    box-shadow:0 16px 34px rgba(20,24,28,.06);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    transition:.25s ease;
}

.modelo-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 42px rgba(20,24,28,.11);
}

.modelo-media{
    height:180px;
    overflow:hidden;
    background:rgba(255,255,255,.26);
}

.modelo-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    filter:brightness(.96) contrast(.97) saturate(.94);
    transition:transform .35s ease;
}

.modelo-card:hover .modelo-media img{
    transform:scale(1.035);
}

.modelo-logo{
    min-height:72px;
    padding:14px 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-top:1px solid rgba(255,255,255,.32);
    background:rgba(255,255,255,.50);
}

.modelo-logo img{
    display:block;
    max-width:120px;
    max-height:42px;
    width:auto;
    height:auto;
    object-fit:contain;
}

/* =========================================================
   CTA FINAL
========================================================= */

.mecanicas-cta{
    width:min(1180px,92%);
    margin:38px auto 0;
    padding:28px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    border:1px solid rgba(255,255,255,.40);
    background:rgba(255,255,255,.18);
    box-shadow:0 16px 34px rgba(20,24,28,.06);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.mecanicas-cta > div:first-child{
    max-width:720px;
}

.mecanicas-cta h2{
    margin:0 0 10px;
    color:#171a1f;
    font-size:clamp(28px,4vw,40px);
    line-height:1.08;
    font-weight:400;
}

.mecanicas-cta p{
    margin:0;
    color:#555e67;
    font-size:14px;
    line-height:1.55;
}

.mecanicas-cta-actions{
    display:flex;
    gap:12px;
    flex-shrink:0;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1100px){
    .modelos-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .mecanicas-que-es{
        grid-template-columns:1fr 1.2fr;
    }

    .que-es-puntos{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        border-top:1px solid rgba(255,255,255,.32);
    }
}

@media(max-width:850px){
    .mecanicas-main{
        padding-top:124px;
    }

    .mecanicas-carousel-viewport{
        height:310px;
    }

    .modelos-heading,
    .mecanicas-cta{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:620px){
    .mecanicas-main{
        padding-top:100px;
    }

    .mecanicas-heading{
        padding:38px 4% 30px;
    }

    .mecanicas-heading h1{
        font-size:40px;
    }

    .mecanicas-actions{
        flex-direction:column;
    }

    .mecanicas-btn{
        width:100%;
    }

    .mecanicas-carousel-viewport{
        width:100%;
        height:250px;
        border-left:0;
        border-right:0;
    }

    .mecanicas-que-es{
        grid-template-columns:1fr;
    }

    .que-es-media{
        min-height:220px;
    }

    .que-es-copy{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.32);
    }

    .que-es-puntos{
        grid-column:auto;
        grid-template-columns:1fr;
    }

    .modelos-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .modelo-media{
        height:150px;
    }

    .mecanicas-cta-actions{
        width:100%;
        flex-direction:column;
    }
}

@media(max-width:430px){
    .modelos-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   AJUSTES FINALES MECÁNICAS
========================================================= */

/* Cinta continua grande */
.mecanicas-carousel{display:none!important;}

.mecanicas-gallery{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:20px 0;
    background:rgba(255,255,255,.04);
}

.mecanicas-gallery::before,
.mecanicas-gallery::after{
    content:"";
    position:absolute;
    top:20px;
    bottom:20px;
    z-index:4;
    width:80px;
    pointer-events:none;
}
.mecanicas-gallery::before{left:0;background:linear-gradient(90deg,rgba(235,238,240,.72),transparent);}
.mecanicas-gallery::after{right:0;background:linear-gradient(270deg,rgba(235,238,240,.72),transparent);}

.mecanicas-gallery-track{
    width:max-content;
    display:flex;
    gap:18px;
    animation:mecanicasGalleryScroll 46s linear infinite;
}
.mecanicas-gallery:hover .mecanicas-gallery-track{animation-play-state:paused;}

.mecanicas-gallery-item{
    width:460px;
    height:290px;
    flex:0 0 auto;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.40);
    background:rgba(255,255,255,.10);
    box-shadow:0 16px 36px rgba(20,24,28,.08);
}
.mecanicas-gallery-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    filter:brightness(.94) contrast(.97) saturate(.94);
}
@keyframes mecanicasGalleryScroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

/* Qué es: sin imagen */
.mecanicas-que-es{
    grid-template-columns:1.35fr .85fr;
}
.que-es-media{display:none!important;}

/* Modelos */
.modelos-grid{
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.modelo-card{
    appearance:none;
    padding:0;
    border:1px solid rgba(255,255,255,.42);
    background:rgba(255,255,255,.18);
    cursor:pointer;
    text-align:left;
}
.modelo-media{height:250px;}
.modelo-media img{object-fit:cover;}
.modelo-logo{min-height:78px;background:rgba(255,255,255,.48);}
.modelos-disponibilidad{
    margin-top:24px;
    padding:20px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    border:1px solid rgba(255,255,255,.40);
    background:rgba(255,255,255,.16);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
.modelos-disponibilidad>div{display:flex;flex-direction:column;gap:5px;}
.modelos-disponibilidad strong{color:#8b0f1c;font-size:18px;}
.modelos-disponibilidad span{color:#555e67;font-size:14px;}

/* Modal transparente */
body.modal-open{overflow:hidden;}
.modelo-modal{
    position:fixed;
    inset:0;
    z-index:5000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    opacity:0;
    visibility:hidden;
    transition:.25s ease;
}
.modelo-modal.is-open{opacity:1;visibility:visible;}
.modelo-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(18,20,24,.38);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.modelo-modal-card{
    position:relative;
    z-index:2;
    width:min(940px,94vw);
    max-height:88vh;
    overflow:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid rgba(255,255,255,.50);
    background:rgba(236,238,240,.72);
    box-shadow:0 32px 80px rgba(10,12,16,.28);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
}
.modelo-modal-close{
    position:absolute;
    top:14px;
    right:16px;
    z-index:5;
    width:38px;
    height:38px;
    border:1px solid rgba(139,15,28,.32);
    background:rgba(255,255,255,.42);
    color:#8b0f1c;
    font-size:25px;
    cursor:pointer;
}
.modelo-modal-media{min-height:460px;background:rgba(255,255,255,.24);}
.modelo-modal-media img{width:100%;height:100%;display:block;object-fit:cover;}
.modelo-modal-info{padding:44px 38px;display:flex;flex-direction:column;justify-content:center;}
.modelo-modal-logo{display:block;max-width:150px;max-height:48px;width:auto;height:auto;margin-bottom:24px;}
.modelo-modal-info h2{margin:0 0 14px;color:#171a1f;font-size:34px;font-weight:400;}
.modelo-modal-info>p{margin:0 0 22px;color:#555e67;font-size:14px;line-height:1.65;}
.modelo-modal-features{margin:0 0 26px;}
.modelo-modal-features div{padding:11px 0;display:grid;grid-template-columns:150px 1fr;gap:18px;border-bottom:1px solid rgba(60,65,70,.12);}
.modelo-modal-features dt{color:#8b0f1c;font-size:12px;font-weight:700;text-transform:uppercase;}
.modelo-modal-features dd{margin:0;color:#4f565d;font-size:14px;}

@media(max-width:900px){
    .mecanicas-gallery-item{width:390px;height:250px;}
    .modelos-grid{grid-template-columns:repeat(2,1fr);}
    .modelo-modal-card{grid-template-columns:1fr;}
    .modelo-modal-media{min-height:300px;max-height:340px;}
}
@media(max-width:620px){
    .mecanicas-gallery-item{width:310px;height:210px;}
    .mecanicas-que-es{grid-template-columns:1fr;}
    .modelos-grid{grid-template-columns:1fr;}
    .modelos-disponibilidad{flex-direction:column;align-items:flex-start;}
    .modelo-modal{padding:12px;}
    .modelo-modal-info{padding:34px 24px 26px;}
    .modelo-modal-features div{grid-template-columns:1fr;gap:5px;}
}
@media(prefers-reduced-motion:reduce){
    .mecanicas-gallery-track{animation:none;}
}


/* =========================================================
   CORRECCIÓN FINAL: IMÁGENES COMPLETAS
========================================================= */
.mecanicas-gallery-item{
    background:rgba(245,245,245,.78);
}
.mecanicas-gallery-item img{
    object-fit:contain !important;
    object-position:center center !important;
    padding:8px;
    box-sizing:border-box;
}
.modelo-media{
    background:rgba(245,245,245,.78);
}
.modelo-media img{
    object-fit:contain !important;
    object-position:center center !important;
    padding:10px;
    box-sizing:border-box;
    transform:none !important;
}
.modelo-card:hover .modelo-media img{
    transform:scale(1.01) !important;
}
.modelo-modal-media{
    background:rgba(245,245,245,.86);
}
.modelo-modal-media img{
    object-fit:contain !important;
    object-position:center center !important;
    padding:14px;
    box-sizing:border-box;
}
.modelo-modal-info{
    justify-content:flex-start;
}
.modelo-modal-info > p,
.modelo-modal-features dd{
    line-height:1.55;
}
