/* Lobios Elementor Bridge 1.5.101 · CSS modular del footer institucional.
   Extraído sin reinterpretar de frontend.css 1.5.100. */
/* ==========================================================
   BRIDGE 1.5.92 · WEB · FOOTER INSTITUCIONAL
   Componente visual editable para Elementor clásico.
   Sin ownership de datos ni dependencias de dominio.
   ========================================================== */

.nk-institutional-footer,
.nk-institutional-footer *{
    box-sizing:border-box;
}

.nk-institutional-footer{
    --nk-footer-bg:#F4F1E8;
    --nk-footer-text:#111111;
    --nk-footer-muted:#6B6864;
    --nk-footer-accent:#75C5DE;
    --nk-footer-line:rgba(17,17,17,.14);
    --nk-footer-overlay:rgba(244,241,232,.86);
    --nk-footer-media-fade-color:#FFFFFF;
    --nk-footer-media-fade-height:200px;
    --nk-footer-media-fade-opacity:1;
    --nk-footer-onesignal-bg:#111111;
    --nk-footer-onesignal-text:#F4F1E8;
    --nk-footer-onesignal-border:#111111;
    --nk-footer-onesignal-hover-bg:#75C5DE;
    --nk-footer-onesignal-hover-text:#111111;
    --nk-footer-onesignal-hover-border:#75C5DE;
    --nk-footer-onesignal-border-width:1px;
    --nk-footer-onesignal-radius-top:6px;
    --nk-footer-onesignal-radius-right:6px;
    --nk-footer-onesignal-radius-bottom:6px;
    --nk-footer-onesignal-radius-left:6px;
    --nk-footer-onesignal-padding-top:10px;
    --nk-footer-onesignal-padding-right:16px;
    --nk-footer-onesignal-padding-bottom:10px;
    --nk-footer-onesignal-padding-left:16px;
    --nk-footer-min-height:620px;
    position:relative;
    isolation:isolate;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:var(--nk-footer-min-height);
    overflow:hidden;
    padding:clamp(44px,6vw,76px) clamp(24px,5vw,72px) clamp(30px,4vw,48px);
    border-top:1px solid var(--nk-footer-line);
    background:var(--nk-footer-bg);
    color:var(--nk-footer-text);
    font-family:"Inter",sans-serif;
    overflow-wrap:anywhere;
}

.nk-institutional-footer--fullscreen{
    min-height:100vh;
    min-height:100svh;
}

.nk-institutional-footer::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--nk-footer-overlay);
    pointer-events:none;
}

.nk-institutional-footer:not(.nk-institutional-footer--has-media)::before{
    content:none;
}

.nk-institutional-footer-media{
    position:absolute;
    inset:0;
    z-index:-2;
    pointer-events:none;
    overflow:hidden;
}

.nk-institutional-footer--media-fade .nk-institutional-footer-media::before{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    left:0;
    height:var(--nk-footer-media-fade-height);
    background:linear-gradient(
        to bottom,
        var(--nk-footer-media-fade-color) 0%,
        var(--nk-footer-media-fade-color) 18%,
        transparent 100%
    );
    opacity:var(--nk-footer-media-fade-opacity);
    pointer-events:none;
}

.nk-institutional-footer-media-object{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center bottom;
}

.nk-institutional-footer-media-fallback{
    z-index:0;
}

.nk-institutional-footer-video{
    z-index:1;
}

.nk-institutional-footer-inner{
    position:relative;
    z-index:1;
    width:100%;
    max-width:1600px;
    margin:0 auto;
}

.nk-institutional-footer-grid{
    display:grid;
    grid-template-columns:minmax(260px,1.35fr) minmax(170px,.78fr) minmax(190px,.82fr) minmax(250px,1.05fr);
    align-items:start;
    gap:clamp(30px,4vw,64px);
    min-width:0;
}

.nk-institutional-footer-brand,
.nk-institutional-footer-column,
.nk-institutional-footer-notifications{
    min-width:0;
}

.nk-institutional-footer-lockup{
    min-width:0;
}

.nk-institutional-footer-brand-link{
    display:inline-flex;
    align-items:center;
    gap:14px;
    min-width:0;
    max-width:100%;
    color:var(--nk-footer-text)!important;
    text-decoration:none!important;
}

.nk-institutional-footer-logo{
    display:block;
    width:clamp(54px,4.2vw,74px);
    height:auto;
    flex:0 0 auto;
}

.nk-institutional-footer-brand-name{
    display:block;
    min-width:0;
    font-family:"Inter",sans-serif;
    font-size:clamp(28px,2.5vw,42px);
    font-weight:600;
    line-height:1;
    letter-spacing:-.045em;
}

.nk-institutional-footer-blurb{
    max-width:34ch;
    margin:22px 0 0;
    color:var(--nk-footer-muted);
    font-size:15px;
    line-height:1.65;
}

.nk-institutional-footer-contact{
    margin-top:34px;
    padding-top:24px;
    border-top:1px solid var(--nk-footer-line);
}

.nk-institutional-footer-title{
    margin:0 0 18px;
    color:var(--nk-footer-text);
    font-family:"Inter",sans-serif;
    font-size:13px;
    font-weight:650;
    line-height:1.25;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.nk-institutional-footer-contact-list,
.nk-institutional-footer-links{
    list-style:none;
    margin:0;
    padding:0;
}

.nk-institutional-footer-contact-list{
    display:grid;
    gap:12px;
}

.nk-institutional-footer-contact-list li{
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-width:0;
    margin:0;
    color:var(--nk-footer-muted);
    font-size:14px;
    line-height:1.45;
}

.nk-institutional-footer-contact-list a{
    min-width:0;
    color:var(--nk-footer-muted)!important;
    text-decoration:none!important;
}

.nk-institutional-footer-contact-icon{
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    color:var(--nk-footer-text);
}

.nk-institutional-footer-contact-icon svg{
    width:18px;
    height:18px;
}

.nk-institutional-footer-socials{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.nk-institutional-footer-socials a{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border:1px solid var(--nk-footer-line);
    border-radius:50%;
    background:transparent;
    color:var(--nk-footer-text)!important;
    text-decoration:none!important;
    transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}

.nk-institutional-footer-socials svg{
    width:19px;
    height:19px;
}

.nk-institutional-footer-column,
.nk-institutional-footer-notifications{
    padding-top:4px;
}

.nk-institutional-footer-links{
    display:grid;
    gap:3px;
}

.nk-institutional-footer-links li{
    margin:0;
    padding:0;
    border-bottom:1px solid var(--nk-footer-line);
}

.nk-institutional-footer-links li:first-child{
    border-top:1px solid var(--nk-footer-line);
}

.nk-institutional-footer-links a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:44px;
    padding:10px 0;
    color:var(--nk-footer-text)!important;
    font-size:14px;
    line-height:1.35;
    text-decoration:none!important;
    transition:opacity .2s ease,transform .2s ease;
}

.nk-institutional-footer-links a::after{
    content:"↗";
    flex:0 0 auto;
    color:var(--nk-footer-accent);
    font-size:13px;
    opacity:.72;
}

.nk-institutional-footer-notifications p{
    max-width:30ch;
    margin:0 0 18px;
    color:var(--nk-footer-muted);
    font-size:14px;
    line-height:1.62;
}

.nk-institutional-footer-notifications .onesignal-customlink-container{
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    align-items:start!important;
    justify-content:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-height:44px;
    margin:0!important;
    float:none!important;
    clear:both;
    position:static!important;
}

/* OneSignal puede inyectar texto explicativo y el control de suscripción
   como hermanos dentro del contenedor. La retícula de una sola columna
   garantiza que el botón permanezca debajo del texto y no a su lado. */
.nk-institutional-footer-notifications .onesignal-customlink-container > *{
    min-width:0;
    max-width:100%;
}

.nk-institutional-footer-notifications .onesignal-customlink-container a,
.nk-institutional-footer-notifications .onesignal-customlink-container button,
.nk-institutional-footer-notifications .onesignal-customlink-subscribe,
.nk-institutional-footer-notifications .onesignal-customlink-unsubscribe{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    max-width:100%;
    padding:
        var(--nk-footer-onesignal-padding-top)
        var(--nk-footer-onesignal-padding-right)
        var(--nk-footer-onesignal-padding-bottom)
        var(--nk-footer-onesignal-padding-left)!important;
    border:var(--nk-footer-onesignal-border-width) solid var(--nk-footer-onesignal-border)!important;
    border-radius:
        var(--nk-footer-onesignal-radius-top)
        var(--nk-footer-onesignal-radius-right)
        var(--nk-footer-onesignal-radius-bottom)
        var(--nk-footer-onesignal-radius-left)!important;
    background:var(--nk-footer-onesignal-bg)!important;
    color:var(--nk-footer-onesignal-text)!important;
    font-family:"Inter",sans-serif!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.25!important;
    text-decoration:none!important;
    box-shadow:none!important;
    white-space:normal!important;
}

.nk-institutional-footer-notifications .onesignal-customlink-container a *,
.nk-institutional-footer-notifications .onesignal-customlink-container button *,
.nk-institutional-footer-notifications .onesignal-customlink-subscribe *,
.nk-institutional-footer-notifications .onesignal-customlink-unsubscribe *{
    color:inherit!important;
}

.nk-institutional-footer a:focus-visible,
.nk-institutional-footer button:focus-visible{
    outline:2px solid var(--nk-footer-accent)!important;
    outline-offset:3px;
}

@media (hover:hover) and (pointer:fine){
    .nk-institutional-footer-brand-link:hover,
    .nk-institutional-footer-contact-list a:hover{
        opacity:.68;
    }

    .nk-institutional-footer-links a:hover{
        opacity:.68;
        transform:translateX(2px);
    }

    .nk-institutional-footer-socials a:hover{
        border-color:var(--nk-footer-accent);
        background:color-mix(in srgb,var(--nk-footer-accent) 16%,transparent);
        transform:translateY(-2px);
    }

    .nk-institutional-footer-notifications .onesignal-customlink-container a:hover,
    .nk-institutional-footer-notifications .onesignal-customlink-container button:hover,
    .nk-institutional-footer-notifications .onesignal-customlink-subscribe:hover,
    .nk-institutional-footer-notifications .onesignal-customlink-unsubscribe:hover{
        border-color:var(--nk-footer-onesignal-hover-border)!important;
        background:var(--nk-footer-onesignal-hover-bg)!important;
        color:var(--nk-footer-onesignal-hover-text)!important;
    }
}

@media (max-width:1100px){
    .nk-institutional-footer-grid{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        row-gap:42px;
    }

    .nk-institutional-footer-brand{
        grid-row:span 2;
    }
}

@media (max-width:767px){
    .nk-institutional-footer{
        min-height:0;
        padding:38px 20px 0;
        overflow:visible;
    }

    .nk-institutional-footer--fullscreen{
        min-height:100svh;
    }

    .nk-institutional-footer-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .nk-institutional-footer-brand{
        grid-row:auto;
    }

    .nk-institutional-footer-brand-name{
        font-size:clamp(27px,8vw,36px);
    }

    .nk-institutional-footer-title{
        margin-bottom:14px;
    }

    .nk-institutional-footer-contact{
        margin-top:26px;
        padding-top:20px;
    }

    .nk-institutional-footer-socials a{
        width:44px;
        height:44px;
    }

    .nk-institutional-footer-links a{
        min-height:48px;
        padding:12px 0;
    }

    .nk-institutional-footer--has-media{
        display:flex;
        flex-direction:column;
    }

    .nk-institutional-footer--has-media::before{
        content:none;
    }

    .nk-institutional-footer--has-media .nk-institutional-footer-inner{
        order:0;
        padding-bottom:38px;
    }

    .nk-institutional-footer--has-media .nk-institutional-footer-media{
        position:relative;
        inset:auto;
        order:1;
        z-index:0;
        width:calc(100% + 40px);
        height:clamp(220px,62vw,360px);
        margin-left:-20px;
        margin-right:-20px;
    }

    .nk-institutional-footer--has-media .nk-institutional-footer-media-object{
        position:absolute;
    }
}

@media (max-width:420px){
    .nk-institutional-footer{
        padding-left:16px;
        padding-right:16px;
    }

    .nk-institutional-footer--has-media .nk-institutional-footer-media{
        width:calc(100% + 32px);
        margin-left:-16px;
        margin-right:-16px;
    }
}

@media (prefers-reduced-motion:reduce){
    .nk-institutional-footer-video{
        display:none!important;
    }

    .nk-institutional-footer-links a,
    .nk-institutional-footer-socials a,
    .nk-institutional-footer-brand-link,
    .nk-institutional-footer-contact-list a{
        transition:none!important;
    }

    .nk-institutional-footer-links a:hover,
    .nk-institutional-footer-socials a:hover{
        transform:none!important;
    }
}

/* ==========================================================
   BRIDGE 1.5.93 · FOOTER INSTITUCIONAL · FULL BLEED
   El widget ocupa el ancho real del viewport dentro de una
   plantilla Footer de Elementor clásico, neutralizando el
   boxed width/padding del wrapper de la sección que lo contiene.
   ========================================================== */

.elementor-location-footer:has(.elementor-widget-lobios_footer_institutional){
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

.elementor-location-footer
.elementor-section:has(.elementor-widget-lobios_footer_institutional){
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

.elementor-location-footer
.elementor-section:has(.elementor-widget-lobios_footer_institutional)
> .elementor-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

.elementor-location-footer
.elementor-section:has(.elementor-widget-lobios_footer_institutional)
.elementor-column,
.elementor-location-footer
.elementor-section:has(.elementor-widget-lobios_footer_institutional)
.elementor-column-wrap,
.elementor-location-footer
.elementor-section:has(.elementor-widget-lobios_footer_institutional)
.elementor-widget-wrap,
.elementor-location-footer
.elementor-section:has(.elementor-widget-lobios_footer_institutional)
.elementor-widget-lobios_footer_institutional,
.elementor-location-footer
.elementor-section:has(.elementor-widget-lobios_footer_institutional)
.elementor-widget-lobios_footer_institutional
> .elementor-widget-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

.elementor-location-footer
.elementor-widget-lobios_footer_institutional
.nk-institutional-footer{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}

