/* ================================================================================================
       ----------------------------------------Header----------------------------------------
 ================================================================================================ */

/* Compensar el espacio del header fijo */
body {
    padding-top: 76px;
}

/* ======================== web ======================== */
/* Contenedor principal del header para posicionamiento de megaMenus */
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 76px;
    z-index: 1000;
    background: var(--Gray-00);
    transition: box-shadow 0.2s ease;
}

/* AC1: Sombra cuando la primera fila no está en top (scroll) */
header.header--scrolled {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
footer{
    margin-top: 32px;
}
/* Navbar con height específico para web */
.navbar.navbar-expand-lg.position-relative {
    height: 76px;
    display: block;
    align-items: center;
    padding: 0;
}

/* AC2: Contenedor max 1280px, Gray-00, padding 8px 16px (primera fila) */
.navbar .container-fluid {
    max-width: 1280px;
    height: 76px;
    min-height: 76px;
    display: flex;
    align-items: center;
    padding: 8px 16px;
}

/* Solo web >=1200 usa header compacto de 50px */
@media (min-width: 1200px) {
    header {
        height: 50px;
    }

    .navbar.navbar-expand-lg.position-relative {
        height: 50px;
    }

    .navbar .container-fluid {
        height: 50px;
        min-height: 50px;
    }
}

.navbar-nav .nav-link {
    color: var(--Primary-50) !important;
    position: relative;
    cursor: pointer;
}

/* Flecha giratoria - unificado */
.nav-link .arrow {
    display: inline-block;
    transition: transform .3s ease;
    margin-left: 4px;
    /* inicialmente girado 180° (chevron-down) */
    transform: rotate(180deg);
}

.nav-link.active .arrow {
    /* al activarse, vuelve a 0° (chevron-up) */
    transform: rotate(0deg);
}

/* Para botones con collapse */
[data-bs-toggle="collapse"][aria-expanded="true"] .arrow {
    transform: rotate(0deg);
}

/* Toggle activo = pill + flecha rotada */
.nav-link.active {
    background: #e9eff1;
    border-radius: 16px;
}

.btn-lupa {
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    padding: 10px;
}

.btn-circular-icon {
    border-radius: 999px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 5px 10px !important;
}

    .btn-circular-icon svg {
        width: 30px;
        height: 30px;
        stroke: var(--Primary-50) !important;
        stroke-width: 2;
        fill: none;
    }

/* ========================
       Navbar principal
    ======================== */
.navbar-nav a.nav-link {
    margin-right: 5px;
}

/* ========================
       Títulos del megaMenu
    ======================== */
.megaMenu .i-title2-regular {
    min-height: 55px;
    display: flex;
    align-items: center;
    line-height: 1.2;
}

/* ========================
       Mega-menús y panel búsqueda
    ======================== */
.megaMenu, #searchPanel {
    display: none; /* ocultos por defecto */
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: var(--Gray-00);
    /*box-shadow: 0 4px 8px rgba(0,0,0,0.1);*/
    position: absolute; /* Posicionamiento absoluto para overlay */
    top: 100%; /* Se posiciona justo debajo del header */
    left: 0;
    transform: none;
    z-index: 1000; /* Alto z-index para estar por encima del contenido */
}

    .megaMenu.show, #searchPanel.show {
        display: block;
    }

/* Overlay oscuro para megaMenu */
.megaMenu-overlay {
    content: '';
    position: fixed;
    top: 76px; /* Desde el header */
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 999;
    pointer-events: none;
    display: none;
}

/* Overlay oscuro para searchPanel */
.searchPanel-overlay {
    content: '';
    position: fixed;
    top: 76px; /* Desde el header */
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 999;
    pointer-events: none;
    display: none;
}

/* Mega-indicator - unificado */
.mega-indicator {
    height: 2px;
    display: flex;
    gap: 2px;
    align-items: center;
    justify-content: center;
    padding: 0 1px;
    min-height: 2px;
    width: 100%;
    max-width: 1440px;
    margin: 4px auto 0 auto;
}

    .mega-indicator .segment-green {
        height: 2px;
        background: var(--Green-10);
        border-radius: 1px;
        flex: 0 0 25%;
        min-width: 20px;
    }

    .mega-indicator .segment-orange {
        height: 2px;
        background: var(--Orange-100);
        border-radius: 1px;
        flex: 0 0 17.92%;
        min-width: 20px;
    }

    .mega-indicator .segment-yellow {
        height: 2px;
        background: var(--Orange-40);
        border-radius: 1px;
        flex: 0 0 5.06%;
        min-width: 20px;
    }

    .mega-indicator .segment-teal {
        height: 2px;
        background: var(--Jade-50);
        border-radius: 1px;
        flex: 0 0 49.89%;
        min-width: 20px;
    }
.mega-indicator-secciones {
    margin-top: 4px;
    height: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1px;
    min-height: 2px;
    width: 100%;
    max-width: 1280px;
    margin: 24px auto 24px auto;
}

    .mega-indicator-secciones .segment-green {
        height: 2px;
        background: var(--Green-10);
        border-radius: 1px;
        flex: 0 0 25%;
        min-width: 20px;
    }

    .mega-indicator-secciones .segment-orange {
        height: 2px;
        background: var(--Orange-100);
        border-radius: 1px;
        flex: 0 0 25%;
        min-width: 20px;
    }

    .mega-indicator-secciones .segment-yellow {
        height: 2px;
        background: var(--Orange-40);
        border-radius: 1px;
        flex: 0 0 25%;
        min-width: 20px;
    }

    .mega-indicator-secciones .segment-teal {
        height: 2px;
        background: var(--Jade-50);
        border-radius: 1px;
        flex: 0 0 25%;
        min-width: 20px;
    }
.mega-content {
    padding: 2rem 0;
    max-width: 1280px;
    margin: 0 auto;
}

.mega-col {
    margin-bottom: 1.5rem;
}

    .mega-col h6 {
        font-weight: bold;
        margin-bottom: 1rem;
    }

    .mega-col a {
        display: flex;
        align-items: center;
        color: var(--Gray-85);
        text-decoration: none;
        margin-bottom: .5rem;
    }

        .mega-col a .bi {
            margin-right: .5rem;
            font-size: 1.2em;
        }

        .mega-col a:hover {
            text-decoration: underline;
        }

    .mega-col .badge {
        margin-left: .5rem;
        font-size: .6em;
        padding: .2em .4em;
    }

.mega-content .row {
    align-items: stretch; /* las columnas se estiran al alto máximo */
}

/*------>Novedades*/

.mega-content .novedades {
    margin-left: auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-shadow: -1px 0 0 var(--Gray-35);
    padding-left: 15px;
}

.novedades h6 {
    font-weight: bold;
    margin-bottom: .75rem;
}

.novedades p {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
}

    .novedades p .bi {
        margin-right: .5rem;
        font-size: 1.2em;
    }

/* Grid de novedades igual al de plataformas */
.novedades .novedades-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, 110px);
    gap: 8px;
    justify-content: start;
    margin-top: 1rem;
}

    /* Contenedor de cada tarjeta de novedad */
    .novedades .novedades-grid .grid-item-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    /* Cada tarjeta de novedad */
    .novedades .novedades-grid .grid-item {
        width: 110px;
        height: 105px;
        background: var(--Gray-10);
        border-radius: 12px;
        text-decoration: none;
        color: var(--Gray-85);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: background .2s;
    }

        /* Icono dentro de la tarjeta */
        .novedades .novedades-grid .grid-item img {
            width: 48px;
            height: 48px;
            object-fit: contain;
        }

    /* Texto debajo de la tarjeta */
    .novedades .novedades-grid .grid-item-container span {
        font-size: 0.75rem;
        line-height: 1.2;
        text-align: center;
        width: 100%;
    }

/*Imagen contactos*/
/* 1) dimensiones fijas 300×350 como en Figma */
.contact-img {
    width: 300px;
    height: 350px;
    object-fit: cover;
    margin: 0;
    padding: 32px 16px;
    box-sizing: border-box;
}

/* 2) padding alrededor según el Figma */
#megaContact .contact-img {
    padding: 32px 16px;
    box-sizing: border-box;
    border-radius: 15% !important;
}

/* Enlaces internos tipo tarjeta ligera */
.mega-col a.menu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    background: var(--Gray-00); /* ligero gris */
    border-radius: 0.5rem; /* esquinas suaves */
    text-decoration: none;
    color: var(--Gray-85);
    transition: background .2s;
}

    .mega-col a.menu-link:hover {
        background: var(--Primary-2);
        color: var(--Primary-50);
    }
    /* Flecha */
    .mega-col a.menu-link .bi {
        font-size: 1rem;
        margin: 0;
    }

/* Badge verde independiente que va después del link */
.mega-col .compra-badge {
    background: var(--Success-25);
    color: var(--Gray-85);
    padding: 0.15rem 0.4rem;
    border-radius: 0.2rem;
    /*    font-size: 0.7rem;
    font-weight: 500;*/
    margin: 0;
    display: inline-block;
    margin-left: 1rem;
    position: relative;
    top: -1rem;
    line-height: 1;
}

/* Botón ancho completo + semi-redondeado */
.mega-col .btn-full {
    display: block;
    width: 100%;
    padding: 0.75rem;
    border-radius: 1.5rem;
    text-align: center;
    font-weight: 500;
    margin-top: 1rem;
}
/* grid que se adapta al ancho y salta filas */
.links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, 95px); /* tantas columnas de 95px como quepan */
    gap: 1rem;
    justify-content: start; /* alinea al inicio y deja espacio sobrante a la derecha */
}

    /* Contenedor de cada tarjeta de enlace */
    .links-grid .grid-item-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    /* Cada "tarjeta" de enlace */
    .links-grid .grid-item {
        width: 95px;
        height: 95px;
        background: var(--Gray-10);
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        color: var(--Gray-85);
        transition: background .2s;
    }

        /* Icono dentro de la tarjeta */
        .links-grid .grid-item img {
            width: 48px;
            height: 48px;
            object-fit: contain;
        }

    /* Texto debajo de la tarjeta */
    .links-grid .grid-item-container span {
        font-size: 0.75rem;
        text-align: center;
        line-height: 1.2;
        width: 100%;
    }

/*Botones inferiores de menús*/
.btnhdrDown {
    width: 100%;
    display: block !important;
}

/* ======================== movil ======================== */
/* ------------------------------- */
/* 1) Barra azul con Plataformas INS (solo móvil) */
.plataformas-mobile-header {
    /* color de fondo, usa tu variable o hex */
    background-color: var(--Primary-100);
    color: #fff;
    /* centrar texto */
    text-align: center;
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* mostrar solo en <lg */
@media (min-width: 1200px) {
    .plataformas-mobile-header {
        display: none !important;
    }
}

/* Estilos para la franja de navegación móvil - unificado */
#mobileNavigationHeader {
    background-color: var(--Primary-100);
    color: #fff;
    text-align: center;
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    #mobileNavigationHeader .btn-link {
        color: #fff !important;
        text-decoration: none;
        position: absolute;
        left: 1rem;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
    }

        #mobileNavigationHeader .btn-link:hover {
            color: #fff !important;
            opacity: 0.8;
        }

    #mobileNavigationHeader #mobileNavTitle {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        text-align: center;
        z-index: 5;
    }

/* Estilos específicos para el botón de regreso móvil */
#mobileNavBackBtn {
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    /*    background: transparent !important;
    border: none !important;
    color: #fff !important;
    padding: 8px !important;*/
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

    #mobileNavBackBtn:hover {
        background: rgba(255, 255, 255, 0.1) !important;
    }

    #mobileNavBackBtn:active {
        background: rgba(255, 255, 255, 0.2) !important;
    }

/* ------------------------------- */
/* 2) Estilos para móvil - unificado */
@media (max-width: 991.98px) {
    /* Estilos generales para móvil - mayor especificidad */
    .mega-indicator {
        height: 5px !important;
        min-height: 5px !important;
    }

        .mega-indicator .segment-green,
        .mega-indicator .segment-orange,
        .mega-indicator .segment-yellow,
        .mega-indicator .segment-teal {
            height: 5px !important;
            border-radius: 2.5px !important;
        }

    #megaPlataformas .mega-indicator {
        display: flex !important;
        height: 5px;
        gap: 2px;
        align-items: center;
        justify-content: center;
        padding: 0 1px;
        min-height: 5px;
        width: 100%;
    }

        #megaPlataformas .mega-indicator .segment-green {
            height: 5px;
            background: var(--Green-10);
            border-radius: 2.5px;
            flex: 0 0 12.43%;
            min-width: 20px;
        }

        #megaPlataformas .mega-indicator .segment-orange {
            height: 5px;
            background: var(--Orange-100);
            border-radius: 2.5px;
            flex: 0 0 17.92%;
            min-width: 20px;
        }

        #megaPlataformas .mega-indicator .segment-yellow {
            height: 5px;
            background: var(--Orange-40);
            border-radius: 2.5px;
            flex: 0 0 5.06%;
            min-width: 20px;
        }

        #megaPlataformas .mega-indicator .segment-teal {
            height: 5px;
            background: var(--Jade-50);
            border-radius: 2.5px;
            flex: 0 0 49.89%;
            min-width: 20px;
        }

    /* Header fijo en móvil también */
    header {
        height: 76px;
    }

    /* Navbar fijo en móvil también */
    .navbar.navbar-expand-lg.position-relative {
        height: 76px;
    }

    /* Asegurar que el navbar en móvil tenga altura fija */
    header .navbar {
        height: 76px;
    }

    /* Eliminar box-shadow de novedades en móvil */
    .mega-content .novedades {
        box-shadow: none;
    }

    /* MegaPlataformas: contenedor que llega hasta el fondo de la pantalla */
    #megaPlataformas .mega-content {
        position: fixed;
        top: 136px; /* 76px del header + 60px del header móvil */
        left: 0;
        right: 0;
        bottom: 0;
        height: calc(100vh - 136px);
        background: var(--Gray-00);
        z-index: 1001;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 1rem !important;
    }

        #megaPlataformas .mega-content .container-fluid {
            height: 100%;
            overflow-y: auto;
            overflow-x: hidden;
        }

    /* SearchPanel: contenedor que llega hasta el fondo de la pantalla */
    #searchPanel .mega-content {
        position: fixed;
        top: 136px; /* 76px del header + 60px del header móvil */
        left: 0;
        right: 0;
        bottom: 0;
        height: calc(100vh - 136px);
        background: var(--Gray-00);
        z-index: 1001;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 1rem !important;
    }

        #searchPanel .mega-content .container-fluid {
            height: 100%;
            overflow-y: auto;
            overflow-x: hidden;
        }
}

/* Tablet con header “compacto” (992–1199): mismo overlay a pantalla completa que en <992 */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #megaPlataformas .mega-content,
    #searchPanel .mega-content {
        position: fixed;
        top: 136px;
        left: 0;
        right: 0;
        bottom: 0;
        height: calc(100vh - 136px);
        background: var(--Gray-00);
        z-index: 1001;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 1rem !important;
    }

    #megaPlataformas .mega-content .container-fluid,
    #searchPanel .mega-content .container-fluid {
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
    }
}

/* asegurarnos de que en desktop siga viéndose */
@media (min-width: 1200px) {
    #megaPlataformas .mega-indicator {
        display: flex !important;
        /* aquí tus estilos originales */
        height: 2px;
        gap: 2px;
        align-items: center;
        justify-content: center;
        padding: 0 1px;
        min-height: 2px;
        width: 100%;
    }

        #megaPlataformas .mega-indicator .segment-green {
            height: 2px;
            background: var(--Green-10);
            border-radius: 1px;
            flex: 0 0 12.43%;
            min-width: 20px;
        }

        #megaPlataformas .mega-indicator .segment-orange {
            height: 2px;
            background: var(--Orange-100);
            border-radius: 1px;
            flex: 0 0 17.92%;
            min-width: 20px;
        }

        #megaPlataformas .mega-indicator .segment-yellow {
            height: 2px;
            background: var(--Orange-40);
            border-radius: 1px;
            flex: 0 0 5.06%;
            min-width: 20px;
        }

        #megaPlataformas .mega-indicator .segment-teal {
            height: 2px;
            background: var(--Jade-50);
            border-radius: 1px;
            flex: 0 0 49.89%;
            min-width: 20px;
        }
}

/* ================================================================================================
       ----------------------------------------Footer----------------------------------------
 ================================================================================================ */
.bg-ins-dark {
    background-color: var(--Primary-Dim);
}

.bg-ins-panel {
    background-color: var(--Primary-100);
}

.footer-panel ul li {
    padding: .25rem 0;
}

/* Footer móvil: espaciado uniforme 16px entre los links */
@media (max-width: 767.98px) {
    #footerAccordionMobile .footer-panel ul {
        margin-bottom: 0 !important;
    }
    #footerAccordionMobile .footer-panel ul li {
        margin-bottom: 16px;
        padding: 0;
    }
    #footerAccordionMobile .footer-panel ul:last-of-type li:last-child {
        margin-bottom: 0;
    }
}

.border-top {
    border-top: var(--Gray-30) 1px solid !important;
}

/* Estilos para footerAccordionDesktop - mantener disposición horizontal */
#footerAccordionDesktop {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end;
    gap: 0.75rem;
    min-width: 0;
    width: 100%;
}

    #footerAccordionDesktop .btn {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        min-width: fit-content;
        max-width: none !important;
    }

/* Asegurar que el contenedor padre no interfiera */
.col-md-8 {
    overflow: visible !important;
    position: relative;
}

#footerAccordionDesktop {
    overflow: visible !important;
    position: relative;
    z-index: 1;
}

/* Asegurar que el logo esté por encima de los elementos del footer */
.col-md-4.d-flex.align-items-center.mb-3.mb-md-0 {
    position: relative;
    z-index: 2;
}

/* Cuando el footer se desborda, cambiar el layout del contenedor padre */
@media (max-width: 991.98px) {
    .d-none.d-md-block .row.align-items-center {
        flex-direction: column;
        align-items: center !important;
        text-align: center;
    }

    .d-none.d-md-block .col-md-4.d-flex.align-items-center.mb-3.mb-md-0 {
        margin-bottom: 1rem !important;
        width: 100%;
        justify-content: center !important;
    }

    .d-none.d-md-block .col-md-8 {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    #footerAccordionDesktop {
        justify-content: center !important;
    }

    /* Footer accordion desktop - mantener horizontal */
    #footerAccordionDesktop {
        flex-wrap: nowrap !important;
        justify-content: flex-end;
        gap: 0.5rem;
        display: flex !important;
    }

        #footerAccordionDesktop .btn {
            font-size: 0.75rem;
            padding: 0.25rem 0.5rem;
            flex-shrink: 0 !important;
            white-space: nowrap !important;
        }
}

/* Borde blanco cuando abierto */
[data-bs-toggle="collapse"][aria-expanded="true"] {
    border-color: var(--Gray-20) !important;
}

/* Full-width ~90% en móvil */
@media (max-width: 767.98px) {
    .mobile-btn {
        width: 90% !important;
    }
}

/* Pantallas muy pequeñas - ajustar tamaños de botones */
@media (max-width: 575.98px) {
    #footerAccordionDesktop {
        gap: 0.25rem;
    }

        #footerAccordionDesktop .btn {
            font-size: 0.65rem;
            padding: 0.2rem 0.4rem;
            margin-right: 0;
            min-width: auto;
        }
}

/* ================================================================================================
       ----------------------------------------Estilos Inline Movidos----------------------------------------
 ================================================================================================ */

/* Estilos para el menú desplegable móvil */
#mobileDropdownMenu {
    display: none;
    z-index: 1050;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--Gray-00);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Botón de emergencias - unificado
   - Web (menú desktop, típicamente ≥1200px): alinea el borde derecho con la columna del navbar
     (container-fluid max 1280px centrado + padding 16px → equivalente a 50% - 624px; +3px ajuste fino).
   - Móvil / tablet con fila de iconos: ver @media max-width 991.98px y 992–1199.98px (padding + me-2). */
.emergency-button {
    position: absolute;
    top: 60px;
    right: max(20px, calc(50% - 720px + 96px + 3px));
    background: var(--Error-60);
    color: white;
    padding: 8px 12px;
    border-radius: 50px 0 0 50px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    font-size: 0.8rem;
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
    z-index: 997; /* Below megaMenu (megaMenu has z-index 1000) */
    transition: all 0.3s ease;
}

/* Ajuste específico para LayoutIntegracion:
   su header usa contenedor efectivo distinto y requiere compensar el offset derecho. */
body.layout-integracion .emergency-button {
    right: max(20px, calc(50% - 640px + 96px));
}

    .emergency-button:hover {
        background: #c82333;
        color: white;
        text-decoration: none;
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(220, 53, 69, 0.4);
    }

    .emergency-button svg {
        width: 16px;
        height: 16px;
    }

/* ========================
       Menú móvil
    ======================== */
#mobileDropdownMenu {
    position: fixed;
    top: 76px; /* Desde el header */
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100vh - 76px);
    background: var(--Gray-00);
    z-index: 1001;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

/* Bloquear scroll del body cuando el menú móvil está abierto */
body.mobile-menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

/* Cuando el menú móvil está abierto, ocultar breadcrumbs y Emergencias
   para que no aparezcan cortados y el menú se vea como overlay completo. */
@media (max-width: 991.98px) {
    body.mobile-menu-open header .new-breadcrumb {
        display: none !important;
    }

    body.mobile-menu-open .emergency-button {
        display: none !important;
    }
}

/* toggleMobileAction (Plataformas INS) también debe ocultar breadcrumbs y Emergencias
   para que no se recorten (el panel se renderiza como overlay fijo). */
@media (max-width: 991.98px) {
    body.mobile-platforms-open header .new-breadcrumb {
        display: none !important;
    }

    body.mobile-platforms-open .emergency-button {
        display: none !important;
    }
}

/* Panel de búsqueda (toggleSearchMobile / <1200px): ocultar breadcrumbs y Emergencias bajo el overlay */
@media (max-width: 1199.98px) {
    body.mobile-search-open header .new-breadcrumb {
        display: none !important;
    }

    body.mobile-search-open .emergency-button {
        display: none !important;
    }
}

/* Contenedor de elementos del menú móvil */
#mobileDropdownMenu .p-4 {
    height: 100%;
    min-height: calc(100vh - 76px);
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
    padding: 16px !important;
}

/* Asegurar que los elementos del menú no hagan scroll */
#mobileDropdownMenu .list-group {
    overflow: visible;
}

#mobileDropdownMenu .list-group-item {
    overflow: visible;
    padding: 0.75rem 0 !important;
    margin: 0 !important;
}

/* Asegurar que todos los elementos del menú móvil estén alineados */
#mobileDropdownMenu .list-group {
    margin: 0 !important;
    padding: 0 !important;
}

#mobileDropdownMenu .mb-4 {
    margin-bottom: 1.5rem !important;
}

#mobileDropdownMenu .btn {
    margin: 0 !important;
}

/* Asegurar alineación consistente para todos los elementos del menú móvil */
#mobileDropdownMenu .d-flex.align-items-center.mb-4.justify-content-between {
    margin: 0 !important;
    padding: 0 !important;
}

#mobileDropdownMenu .mb-4 {
    margin-bottom: 1.5rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#mobileDropdownMenu .mobile-menu-item {
    padding: 0.75rem 0 !important;
    margin: 0 !important;
}

#mobileDropdownMenu .mt-3 {
    margin-top: 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Estilo para compra-badge en menú móvil */
#mobileDropdownMenu .compra-badge {
    background: var(--Success-25);
    color: var(--Gray-85);
    padding: 0.15rem 0.4rem;
    border-radius: 0.2rem;
    margin: 0;
    display: inline-block;
    line-height: 1;
    font-size: 0.7rem;
    font-weight: 500;
}

/* Asegurar que el menú móvil cubra completamente el viewport */
#mobileDropdownMenu {
    position: fixed !important;
    top: 76px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: calc(100vh - 76px) !important;
    width: 100% !important;
    max-width: 100vw;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box;
}

/* Logo móvil: tamaño Figma 53 × 42 */
@media (max-width: 991.98px) {
    .navbar-brand .navbar-brand-logo-mobile {
        width: 53px;
        height: 42px;
        object-fit: contain;
        object-position: left center;
    }
}

/* AC4: Primera fila móvil - padding 16px; botones tamaño Default (44px) */
@media (max-width: 991.98px) {
    .navbar .container-fluid {
        padding: 16px !important;
    }
    .header-mobile-actions {
        display: flex !important;
        align-items: center;
        flex-wrap: nowrap;
        gap: 6px;
        height: 44px;
        min-height: 44px;
        max-width: 100%;
    }
    /* AC4: Botones primera fila móvil = tamaño Default (no Small) */
    .header-mobile-actions .header-mobile-action-btn,
    .header-mobile-actions .btn.btn-sm.btn-circular-icon {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0;
    }
    /* Ocultar botones con d-none: especificidad mayor que .btn.btn-sm.btn-circular-icon para que prevalezca sobre display:flex */
    .header-mobile-actions .header-mobile-action-btn.d-none,
    .header-mobile-actions .btn.btn-sm.btn-circular-icon.d-none,
    .header-mobile-actions #toggleSearchMobile.d-none,
    .header-mobile-actions #toggleMobileAction.d-none,
    .header-mobile-actions #notificacionesButtonMobile.d-none {
        display: none !important;
    }
    .header-mobile-actions .btn.btn-sm.btn-circular-icon svg,
    .header-mobile-actions .notificaciones-floating-button svg {
        width: 24px !important;
        height: 24px !important;
    }
}

/* AC4: Móvil - botón emergencia tamaño Default (redondo, solo icono)
   right = padding container-fluid (16px) + me-2 de .header-mobile-actions (0.5rem) para alinear con el último icono */
@media (max-width: 991.98px) {
    .emergency-button {
        position: absolute !important;
        top: 70px !important;
        right: calc(16px + 0.5rem) !important;
        z-index: 998 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        min-width: 44px;
    }
    .emergency-button .emergency-button-text {
        display: none !important;
    }
    .emergency-button .emergency-button-icon {
        width: 24px !important;
        height: 24px !important;
    }
}

/* Igualar header "móvil" en el rango 992..1199.98px */
@media (min-width: 992px) and (max-width: 1199.98px) {
    /* Evitar que se vean el logo desktop y el logo móvil a la vez */
    .navbar-brand img.d-none.d-lg-block {
        display: none !important;
    }

    .navbar-brand .navbar-brand-logo-mobile {
        display: block !important;
        width: 53px;
        height: 42px;
        object-fit: contain;
        object-position: left center;
    }

    /* AC4: Primera fila móvil - padding 16px; botones Default (44px) */
    .navbar .container-fluid {
        padding: 16px !important;
    }

    .header-mobile-actions {
        display: flex !important;
        align-items: center;
        flex-wrap: nowrap;
        gap: 6px;
        height: 44px;
        min-height: 44px;
        max-width: 100%;
    }

    .header-mobile-actions .header-mobile-action-btn,
    .header-mobile-actions .btn.btn-sm.btn-circular-icon {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0;
    }

    /* Ocultar botones con d-none (como en móvil) */
    .header-mobile-actions .header-mobile-action-btn.d-none,
    .header-mobile-actions .btn.btn-sm.btn-circular-icon.d-none,
    .header-mobile-actions #toggleSearchMobile.d-none,
    .header-mobile-actions #toggleMobileAction.d-none,
    .header-mobile-actions #notificacionesButtonMobile.d-none {
        display: none !important;
    }

    /* Iconos - igualar estilo móvil */
    .header-mobile-actions .btn.btn-sm.btn-circular-icon svg,
    .header-mobile-actions .notificaciones-floating-button svg {
        width: 24px !important;
        height: 24px !important;
    }

    /* Móvil - botón emergencia tamaño Default (redondo, solo icono); mismo offset que fila de iconos */
    .emergency-button {
        position: absolute !important;
        top: 70px !important;
        right: calc(16px + 0.5rem) !important;
        z-index: 998 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        min-width: 44px;
    }

    .emergency-button .emergency-button-text {
        display: none !important;
    }

    .emergency-button .emergency-button-icon {
        width: 24px !important;
        height: 24px !important;
    }
}

@media (min-width: 992px) {
    .emergency-button .emergency-button-icon {
        flex-shrink: 0;
    }
}

.logoFooter{
    height: 60px;
}

.social-icon-img {
  width: 15px;     /* ajusta según lo que necesites */
  height: auto;    /* mantiene proporción dentro del círculo */
  object-fit: contain;
  filter: brightness(0) invert(1); /* blanco como los SVG previos */
}

/*Sobreescribir clase bootstrap*/
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        display: none !important;
    }
}
@media (min-width: 1200px) {
    .navbar-expand-lg .navbar-collapse {
        display: flex !important
;
        flex-basis: auto;
    }
}
@media (min-width: 992px) {
    .d-lg-none {
         display: flex !important; 
    }
}
@media (min-width: 1200px) {
    .d-lg-none {
         display: none !important; 
    }
}

/*Scroll container items mega menu*/
@media screen and (max-height: 700px) {
    .container-scroll {
        max-height: 400px;
        overflow-y: auto; 
        padding: 10px;
    }
}

/* Estilos nuevo breadcrumb */
.container-header {
    display: block;
    /*background: var(--Gray-00);*/
}

.new-breadcrumb {
    display: flex;
    max-width: 1280px;
    padding: 8px 16px;
    align-items: center;
    gap: 16px;
    flex: 1 0 0;
    margin: 0 auto;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

header.compact .new-breadcrumb{
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    display: none !important;
}

.previous-page {
    color: var(--INS-Primary-50);
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px;
}

.breadcrumb-desktop {
    align-items: center;
    display: flex;
    justify-content: center;
    min-width: 0;
}

.breadcrumb-mobile {
    align-items: center;
    display: flex;
    justify-content: center;
}

.actual-page {
    max-width: 500px;
    color: var(--Gray-85);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.container-new-breadcrumb {
    display: flex;
    padding: 8px 16px;
    justify-content: flex-start;
    align-items: center;
    border-radius: 999px;
    background: var(--Gray-10);
    max-width: 500px;
    min-width: 0;
}
    .container-new-breadcrumb a {
        text-decoration: none !important;
        font-feature-settings: 'liga' off, 'clig' off;
        font-family: "Open Sans";
    }

    /* Links intermedios */
    .container-new-breadcrumb .previous-page {
        display: block;
        align-items: center; 
        min-width: 0;
        max-width: 140px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 0 0 auto;
    }

    /* Página actual (último nivel) */
    .container-new-breadcrumb .actual-page {
        display: block;
        align-items: center;
        flex: 1 1 auto;
        min-width: 0; 
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .container-new-breadcrumb svg{
        flex-shrink: 0;
    }

.container-btn-emergency {
    margin-left: auto;
    margin-right: 42px;
}

.btn-emergency {
    background: var(--Error-60);
    color: var(--Gray-00);
    border: 2px solid var(--Error-60) !important;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    height: 40px;
}

    .btn-emergency:hover {
        color: var(--Error-60) !important;
        border: 2px solid var(--Error-60) !important;
    }

        .btn-emergency:hover path {
            stroke: var(--Error-60) !important;
        }

.breadcrumb-mobile{
    display:none;
}

@media (max-width: 970px) {
    .btn-emergency {
        width: 40px;
        height: 40px;
        padding: 5px 10px !important;
    }

    .container-btn-emergency {
        margin-left: auto !important;
        margin-right: 20px !important;
    }

    .breadcrumb-desktop {
        display: none;
    }

    .btn-emergency span{
        display: none;
    }
    .new-breadcrumb {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .breadcrumb-mobile {
        display: flex;
        align-items: center;
        max-width: 500px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .container-new-breadcrumb{
        max-width: 100%;
    }

    .breadcrumb-mobile a {
        display: flex;
        align-items: center;
        gap: 4px;
        white-space: nowrap;
    }
}

@media (max-width: 1240px){
    .btn-emergency {
        width: 40px;
        height: 40px;
        padding: 5px 10px !important;
    }
    .container-btn-emergency {
        margin-left: auto;
        margin-right: 22px;
        height: 44px;
        width: 44px;
    }
    .btn-emergency span {
        display: none;
    }
}

@media (min-width: 1280px) {
    .container-btn-emergency {
        margin-right: 0px;
    }
}

