/* ===== FOOTER ESTILO MÁS KEMIK / INTELAF ===== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

.compucenter-footer{
    background:#f3c9d6;
    color:#111;
    padding:18px 0 0;
  
    font-family:Inter, Arial, sans-serif;
}


.cc-footer-bottom {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border-top: 0;
    background: #000;
    text-align: center;
}

/* CTA superior */
.footer-cta-wrap{
    width:100%;
    max-width:1240px;
    margin:0 auto 14px;
    padding:0 24px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
}

.footer-catalog-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    max-width:565px;
    height:40px;
    border-radius:999px;
    text-decoration:none;
    color:#111;
    font-size:13px;
    font-weight:800;
    letter-spacing:2.5px;
    text-transform:uppercase;
    background:rgba(255,255,255,.42);
    border:1px solid rgba(255,255,255,.58);
    box-shadow:0 8px 20px rgba(0,0,0,.04);
    transition:all .25s ease;
    backdrop-filter:blur(8px);
}

.footer-catalog-btn:hover{
    background:#fff;
    transform:translateY(-1px);
}

.footer-catalog-btn i{
    font-size:13px;
}

.footer-inline-newsletter{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr 290px;
    gap:10px;
    align-items:center;
}

.footer-inline-newsletter input{
    height:36px;
    border:none;
    outline:none;
    border-radius:999px;
    padding:0 16px;
    font-size:13px;
    font-weight:500;
    color:#111;
    background:rgba(255,255,255,.42);
    border:1px solid rgba(255,255,255,.58);
    box-shadow:0 6px 16px rgba(0,0,0,.03);
    transition:all .2s ease;
    backdrop-filter:blur(8px);
}

.footer-inline-newsletter input:focus{
    background:#fff;
    border-color:rgba(0,0,0,.10);
}

.footer-inline-newsletter input::placeholder{
    color:#666;
    font-weight:500;
}

.footer-inline-newsletter button{
    height:36px;
    border:none;
    outline:none;
    border-radius:999px;
    cursor:pointer;
    font-size:13px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#fff;
    background:linear-gradient(180deg, #141414 0%, #050505 100%);
    box-shadow:0 10px 22px rgba(0,0,0,.12);
    transition:all .25s ease;
}

.footer-inline-newsletter button:hover{
    transform:translateY(-1px);
    opacity:.97;
}

#respuesta-suscripcion{
    width:100%;
    max-width:1240px;
    margin-top:2px;
}

#respuesta-suscripcion .msg-ok{
    background:#d1fae5;
    color:#065f46;
    padding:10px 14px;
    border-radius:12px;
    font-size:13px;
    text-align:center;
}

#respuesta-suscripcion .msg-error{
    background:#fee2e2;
    color:#991b1b;
    padding:10px 14px;
    border-radius:12px;
    font-size:13px;
    text-align:center;
}

#respuesta-suscripcion small{
    display:block;
    margin-top:6px;
    font-size:11px;
    line-height:1.4;
    word-break:break-word;
}

/* CONTENIDO PRINCIPAL */
.compucenter-footer .footer-container{
    max-width:1320px;
    margin:0 auto;
    padding:8px 24px 6px; /* aquí se reduce bastante el espacio de abajo */
    box-sizing:border-box;
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1.12fr;
    gap:24px;
    align-items:start;
}

/* TÍTULOS MÁS FINOS */
.compucenter-footer h2{
    margin:0 0 12px;
    font-size:36px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:.3px;
    color:#111;
}

.compucenter-footer h3{
    margin:0 0 10px;
    font-size:18px;
    line-height:1.2;
    font-weight:700;
    color:#111;
}

.compucenter-footer ul{
    list-style:none;
    margin:0;
    padding:0;
}

.compucenter-footer ul li{
    margin-bottom:8px;
}

.compucenter-footer a{
    color:#111;
    text-decoration:none;
    transition:all .2s ease;
}

.compucenter-footer a:hover{
    opacity:.78;
}

/* ENLACES MÁS FINOS */
.footer-links-icons a{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:14px;
    font-weight:400;
    line-height:1.35;
}

.footer-links-icons a i{
    width:19px;
    min-width:19px;
    text-align:center;
    font-size:15px;
    flex-shrink:0;
}

/* COLUMNA MARCA MÁS COMPACTA */
.compucenter-footer .footer-brand{
    text-align:center;
}

.compucenter-footer .footer-social{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin:10px 0 12px;
}

.compucenter-footer .footer-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(255,255,255,.6);
    box-shadow:0 6px 14px rgba(0,0,0,.04);
    backdrop-filter:blur(8px);
    font-size:17px;
}

.compucenter-footer .footer-social a:hover{
    background:#111;
    color:#fff;
    transform:translateY(-1px);
}

.compucenter-footer .footer-sites{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:4px; /* más compacto */
}

.compucenter-footer .footer-sites a{
    display:block;
    text-align:center;
    padding:11px 14px; /* más pequeño para quitar alto */
    border-radius:16px;
    font-weight:700;
    font-size:13px;
    background:rgba(255,255,255,.42);
    border:1px solid rgba(255,255,255,.6);
    box-shadow:0 6px 14px rgba(0,0,0,.03);
    backdrop-filter:blur(8px);
}

.compucenter-footer .footer-sites a:hover{
    background:#111;
    color:#fff;
}

/* BARRA NEGRA FULL WIDTH REAL */




.cc-footer-bottom p{
    margin:2px 0;
    font-size:13px;
    line-height:1.45;
    font-weight:600;
     color:#fff;
     background: #000;
}

/* TABLET */
@media (max-width: 1100px){
    .compucenter-footer .footer-container{
        grid-template-columns:1fr 1fr;
        gap:22px;
    }

    .compucenter-footer .footer-brand{
        grid-column:1 / -1;
    }

    .footer-inline-newsletter{
        grid-template-columns:1fr 1fr 220px;
    }
}

/* MÓVIL */
@media (max-width: 768px){
    .footer-cta-wrap{
        padding:0 16px;
        margin:0 auto 12px;
    }

    .footer-catalog-btn{
        max-width:none;
        height:38px;
        font-size:12px;
        letter-spacing:2px;
    }

    .footer-inline-newsletter{
        grid-template-columns:1fr 1fr 140px;
        gap:8px;
    }

    .footer-inline-newsletter input{
        height:34px;
        font-size:12px;
        padding:0 12px;
    }

    .footer-inline-newsletter button{
        height:34px;
        font-size:11px;
        letter-spacing:1px;
    }

    .compucenter-footer .footer-container{
        grid-template-columns:1fr;
        gap:18px;
        padding:8px 16px 4px;
    }

    .compucenter-footer .footer-brand{
        text-align:left;
    }

    .compucenter-footer .footer-social{
        justify-content:flex-start;
    }

    .compucenter-footer h2{
        font-size:30px;
    }

    .compucenter-footer h3{
        font-size:18px;
    }

    .footer-links-icons a{
        font-size:14px;
    }

    .cc-footer-bottom-inner{
        padding:12px 16px;
    }
}

/* MÓVIL PEQUEÑO */
@media (max-width: 480px){
    .footer-inline-newsletter{
        grid-template-columns:1fr;
    }

    .footer-catalog-btn{
        height:38px;
        font-size:12px;
    }

    .footer-inline-newsletter input,
    .footer-inline-newsletter button{
        height:36px;
    }

    .footer-inline-newsletter button{
        width:100%;
    }

    .cc-footer-bottom p{
        font-size:12px;
    }
}


.cc-footer-bottom-inner{
    max-width:1320px;
    margin:0 auto;
    padding:14px 24px;
    box-sizing:border-box;
    text-align:center;
}

.cc-footer-bottom p{
    margin:2px 0;
    font-size:13px;
    line-height:1.45;
    font-weight:600;
    color:#fff;
    background: #000;
}

.cc-footer-bottom {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border-top: 0;
    background: #000;
    text-align: center;
}



/* ===== FIX FINAL: footer pegado abajo en contacto y nuevos ingresos ===== */
html,
body {
    height: 100% !important;
}

body.cc-body {
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
}

body.cc-body > .compucenter-footer {
    margin-top: auto !important;
    flex-shrink: 0 !important;
}

/* el contenido previo al footer debe poder crecer */
.cc-contact-page,
.cc-category-page,
.cc-section,
main,
.page-content-card,
.page-rich-content {
    flex: 1 0 auto !important;
}

/* barra negra full width */
.cc-footer-bottom {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    background: #000 !important;
}

.cc-footer-bottom-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 14px 24px;
    box-sizing: border-box;
    text-align: center;
}


.cc-footer-bottom {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 env(safe-area-inset-bottom) 0;
    background: #000;
    border-top: 0;
}

.cc-footer-bottom-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 14px 24px;
    box-sizing: border-box;
    text-align: center;
}
