/* =========================================================
   AFILACIONESGUSTAVO
   CONTACTO
   ========================================================= */

*{
    box-sizing:border-box;
}

:root{
    --black:#050505;
    --panel:#0b0b0b;
    --red:#ef1736;
    --red2:#ff2142;
    --line:#292929;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    overflow-x:hidden;
    background:var(--black);
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
}

a{
    color:inherit;
    text-decoration:none;
}

.contact-page{
    width:100%;
}

/* =========================================================
   HERO
   ========================================================= */

.contact-hero{
    width:100%;
    min-height:300px;
    position:relative;
    overflow:hidden;
    border-bottom:1px solid #252525;
    background:#060606;
}

.contact-hero-background{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(5,5,5,.85) 0%,
            rgba(5,5,5,.82) 30%,
            rgba(5,5,5,.60) 50%,
            rgba(5,5,5,.19) 70%,
            rgba(5,5,5,.10) 100%
        ),
        url("assets/banner-catalogo.png");
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
}

.contact-hero-background::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(0,0,0,.12),
        rgba(0,0,0,.026),
        rgba(0,0,0,.29)
    );
}

.contact-hero-inner{
    width:100% !important;
    max-width:none !important;
    min-height:300px;

    margin:0 !important;
    padding-left:35px !important;
    padding-right:35px !important;

    position:relative;
    z-index:5;

    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.contact-hero-copy{
    width:min(610px,50%);
    margin:0 !important;
    padding:0 !important;
}

.contact-eyebrow{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:17px;
    color:#aaa;
    font-size:11px;
    font-weight:800;
    letter-spacing:3px;
}

.contact-eyebrow span{
    width:42px;
    height:3px;
    background:var(--red);
}

.contact-hero h1{
    margin:0;
    text-transform:uppercase;
    line-height:.95;
    letter-spacing:-2px;
}

.contact-hero h1 strong{
    display:block;
    color:var(--red);
    font-size:clamp(42px,4vw,66px);
    font-weight:950;
}

.contact-hero h1 span{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:clamp(34px,3vw,54px);
    font-weight:950;
}

.contact-hero p{
    max-width:570px;
    margin:22px 0 0;
    color:#b0b0b0;
    font-size:16px;
    line-height:1.6;
}

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

.contact-content{
    padding:40px 35px 45px;
    background:
        radial-gradient(circle at 100% 50%,rgba(239,23,54,.05),transparent 25%),
        var(--black);
}

.contact-grid{
    width:min(1500px,100%);
    margin:auto;
    display:grid;
    grid-template-columns:minmax(350px,480px) minmax(0,1fr);
    gap:32px;
}

.contact-details{
    display:flex;
    flex-direction:column;
    gap:14px;
}

/* =========================================================
   TARJETAS
   TODAS USAN EXACTAMENTE EL MISMO ESTILO
   ========================================================= */

.contact-card{
    min-height:108px;
    display:flex;
    align-items:center;
    gap:20px;
    padding:16px 20px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.005)),
        var(--panel);
    border:1px solid var(--line);
    border-radius:10px;
    transition:transform .20s ease,border-color .20s ease,background .20s ease;
}

.contact-card-link{
    cursor:pointer;
}

.contact-card:hover{
    transform:translateY(-2px);
    border-color:rgba(239,23,54,.65);
    background:#0d0d0d;
}

.contact-icon{
    width:66px;
    height:66px;
    flex:0 0 66px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:radial-gradient(circle,rgba(239,23,54,.16),rgba(239,23,54,.04));
    border:1px solid rgba(239,23,54,.20);
}

.contact-icon img{
    width:34px;
    height:34px;
    object-fit:contain;
}

.contact-icon span{
    color:var(--red);
    font-size:32px;
    line-height:1;
}

.contact-card small{
    display:block;
    color:#bcbcbc;
    font-size:13px;
}

.contact-card strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:20px;
    line-height:1.25;
}

.contact-card p{
    margin:6px 0 0;
    color:#888;
    font-size:12px;
    line-height:1.45;
}

.contact-hours strong + strong{
    margin-top:4px;
}

/* =========================================================
   UBICACIÓN / MAPA
   ========================================================= */

.location-panel{
    min-width:0;
}

.location-header{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
}

.location-header > div{
    display:flex;
    align-items:center;
    gap:12px;
}

.location-pin{
    color:var(--red);
    font-size:24px;
}

.location-header h2{
    margin:0;
    font-size:21px;
    letter-spacing:.4px;
}

.location-header small{
    color:#777;
    font-size:10px;
    font-weight:700;
    letter-spacing:1px;
}

.map-wrapper{
    width:100%;
    height:clamp(390px,46vh,530px);
    overflow:hidden;
    background:#101010;
    border:1px solid #2c2c2c;
    border-radius:10px;
}

.map-wrapper iframe{
    width:100%;
    height:100%;
    border:0;
}

.map-placeholder{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:30px;
    color:#888;
    background:
        linear-gradient(45deg,rgba(255,255,255,.02) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.02) 75%),
        #111;
    background-size:36px 36px;
}

.map-placeholder-icon{
    color:var(--red);
    font-size:40px;
}

.map-placeholder strong{
    margin-top:13px;
    color:#fff;
    font-size:18px;
}

.map-placeholder p{
    max-width:420px;
    margin:8px 0 0;
    font-size:13px;
    line-height:1.6;
}

/* =========================================================
   CONSULTA INFERIOR
   ========================================================= */

.contact-question{
    min-height:100px;
    margin-top:16px;
    padding:15px 18px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:18px;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:10px;
}

.question-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--red);
    font-size:28px;
    border-radius:10px;
    background:rgba(239,23,54,.07);
    border:1px solid rgba(239,23,54,.18);
}

.contact-question strong{
    display:block;
    font-size:16px;
}

.contact-question p{
    margin:6px 0 0;
    color:#888;
    font-size:12px;
}

.contact-question a{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:0 20px;
    border-radius:6px;
    background:var(--red);
    font-size:10px;
    font-weight:900;
    transition:background .2s ease,transform .2s ease;
}

.contact-question a:hover{
    background:var(--red2);
    transform:translateY(-1px);
}

/* =========================================================
   FOOTER UNIFICADO - IGUAL AL CATÁLOGO
   ========================================================= */

.site-footer.wrap{
    width:100vw;
    max-width:none;
    min-height:125px;
    position:relative;
    left:50%;
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr .9fr;
    align-items:center;
    gap:36px;
    margin-top:8px;
    margin-left:-50vw;
    margin-right:0;
    padding:20px 70px;
    background:#050505;
    border-top:1px solid #292929;
}

.footer-brand{
    display:flex;
    align-items:center;
    justify-self:center;
    gap:13px;
}

.footer-brand img{
    width:72px;
    height:72px;
    object-fit:contain;
    background:#000;
    border-radius:50%;
}

.footer-brand strong{
    display:block;
    font-size:20px;
}

.footer-brand small{
    display:block;
    margin-top:5px;
    color:var(--red2);
    font-size:10px;
    font-weight:800;
}

.footer-links{
    justify-self:center;
    text-align:center;
}

.footer-links > b,
.footer-social > b{
    display:block;
    margin-bottom:12px;
    color:var(--red2);
    font-size:11px;
}

.footer-links > div{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:30px;
}

.footer-links a{
    color:#ddd;
    font-size:11px;
    transition:color .2s ease;
}

.footer-links a:hover{
    color:var(--red2);
}

.admin-link{
    color:var(--red2) !important;
    font-weight:800;
}

.admin-link:hover{
    color:#fff !important;
}

.footer-social{
    justify-self:center;
    text-align:center;
}

.social-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.social-icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #333;
    border-radius:9px;
}

.social-icon img{
    width:30px;
    height:30px;
    object-fit:contain;
}

.ig-name{
    color:#ddd;
    font-size:14px;
    font-weight:700;
    transition:color .2s ease;
}

.ig-name:hover{
    color:var(--red2);
}

.footer-copy{
    justify-self:center;
    color:#aaa;
    font-size:11px;
    line-height:1.7;
    text-align:center;
}
img{
    -webkit-user-drag:none;
    -webkit-touch-callout:none;
}

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


@media(max-width:1100px){
    .site-footer.wrap{
        gap:24px;
        padding-left:30px;
        padding-right:30px;
    }
}

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

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

    .site-footer.wrap{
        height:auto;
        grid-template-columns:repeat(2,1fr);
        padding:25px 35px;
    }
}

@media(max-width:700px){
    .contact-hero-inner{
        width:100% !important;
        max-width:none !important;
        min-height:340px;

        margin:0 !important;
        padding-left:20px !important;
        padding-right:20px !important;
    }

    .contact-hero-copy{
        width:100%;
    }

    .contact-hero-background{
        background:
            linear-gradient(90deg,rgba(5,5,5,.83),rgba(5,5,5,.70)),
            url("assets/banner-catalogo.png");
        background-size:cover;
        background-position:center;
    }

    .contact-content{
        padding:25px 16px 35px;
    }

    .contact-details{
        display:flex;
    }

    .contact-card{
        min-height:100px;
    }

    .map-wrapper{
        height:400px;
    }

    .location-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .contact-question{
        grid-template-columns:auto 1fr;
    }

    .contact-question a{
        grid-column:1 / -1;
    }

    .site-footer.wrap{
        grid-template-columns:1fr;
        gap:28px;
        padding:28px 22px;
    }

    .footer-brand{
        justify-content:center;
    }

    .footer-links,
    .footer-social,
    .footer-copy{
        justify-self:center;
        text-align:center;
    }
}


/* =========================================================
   CONTACTO - ICONO WHATSAPP EN ROJO
   ========================================================= */
.contact-icon-whatsapp{
    background:radial-gradient(circle,rgba(239,23,54,.18),rgba(239,23,54,.05));
    border:1px solid rgba(239,23,54,.24);
}
.contact-whatsapp-svg{width:34px;height:34px;display:block;}
.contact-whatsapp-svg .wa-ring{fill:none;stroke:var(--red);stroke-width:4.2;stroke-linejoin:round;}
.contact-whatsapp-svg .wa-phone{fill:var(--red);}

/* =========================================================
   CARRUSEL DE MARCAS
   ========================================================= */
.product-marquee{
    width:100%;overflow:hidden;position:relative;margin-top:26px;padding:12px 0;
    background:linear-gradient(90deg,#850016 0%,#b80020 18%,#c8102e 50%,#b80020 82%,#850016 100%);
    border-top:1px solid #e21b3c;border-bottom:1px solid #e21b3c;
}
.product-marquee::before,.product-marquee::after{
    content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
}
.product-marquee::before{left:0;background:linear-gradient(90deg,#850016 0%,rgba(133,0,22,0) 100%);}
.product-marquee::after{right:0;background:linear-gradient(270deg,#850016 0%,rgba(133,0,22,0) 100%);}
.marquee-track{width:max-content;display:flex;align-items:center;animation:marcas-movimiento 28s linear infinite;will-change:transform;}
.marquee-set{display:flex;align-items:center;flex:0 0 auto;gap:62px;padding-right:62px;}
.marquee-set img{width:auto;height:52px;max-width:135px;flex:0 0 auto;display:block;object-fit:contain;background:transparent;border:0;box-shadow:none;}
@keyframes marcas-movimiento{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* =========================================================
   BENEFICIOS
   ========================================================= */
.benefits.wrap{
    width:100vw;max-width:none;position:relative;left:50%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:0;margin-left:-50vw;margin-right:0;background:#0a0a0a;border:1px solid #292929;
}
.benefits > div{min-height:105px;display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 28px;border-right:1px solid #252525;}
.benefits > div:last-child{border-right:0;}
.benefit-icon{width:62px;height:62px;flex:0 0 62px;display:flex;align-items:center;justify-content:center;}
.benefit-icon img{width:36px;height:36px;display:block;object-fit:contain;}
.benefits > div > span:last-child{text-align:left;}
.benefits strong{display:block;color:#fff;font-size:13px;}
.benefits small{display:block;margin-top:5px;color:#aaa;font-size:11.5px;line-height:1.55;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:980px){
    .benefits.wrap{grid-template-columns:repeat(2,minmax(0,1fr));}
    .benefits > div:nth-child(2){border-right:0;}
    .benefits > div:nth-child(1),.benefits > div:nth-child(2){border-bottom:1px solid #252525;}
}
@media(max-width:700px){
    .product-marquee{padding:9px 0;}
    .marquee-track{animation-duration:20s;}
    .marquee-set{gap:40px;padding-right:40px;}
    .marquee-set img{height:40px;max-width:105px;}
    .benefits.wrap{grid-template-columns:1fr;}
    .benefits > div{min-height:auto;justify-content:flex-start;padding:18px 20px;border-right:0;border-bottom:1px solid #252525;}
    .benefits > div:last-child{border-bottom:0;}
}