/* Estilos para corregir los submenús en el header sticky */

/* Estilos base para el menú principal */
.klb-menu-nav {
    position: static !important;
}

.klb-menu-nav .klb-menu > li {
    position: relative !important;
}

/* Estilos para los submenús de primer nivel */


/* Mostrar submenús al hacer hover */
.klb-menu-nav .klb-menu > li:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

/* Estilos para los elementos del submenú */
.klb-menu-nav .klb-menu .sub-menu li {
    display: block !important;
    width: 100% !important;
    position: relative !important;
}

.klb-menu-nav .klb-menu .sub-menu li a {
    display: block !important;
    padding: 8px 20px !important;
    font-size: 14px !important;
    color: #333 !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.klb-menu-nav .klb-menu .sub-menu li a:hover {
    background-color: #f5f5f5 !important;
    color: #2b5ba5 !important;
}

/* Estilos para submenús anidados (segundo nivel) */

.klb-menu-nav .klb-menu .sub-menu li:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
    pointer-events: auto !important;
}

/* Indicadores para elementos con submenús */
.klb-menu-nav .klb-menu > li.menu-item-has-children > a:after {
    content: '\25BC' !important;
    font-size: 9px !important;
    margin-left: 5px !important;
    vertical-align: middle !important;
}

.klb-menu-nav .klb-menu .sub-menu li.menu-item-has-children > a:after {
    content: '\25B6' !important;
    font-size: 9px !important;
    float: right !important;
    margin-top: 3px !important;
}

/* Ajustes para dispositivos móviles */
@media (max-width: 991px) {

    .klb-menu-nav .klb-menu li.active > .sub-menu {
        display: block !important;
    }

    .klb-menu-nav .klb-menu > li.menu-item-has-children > a:after {
        content: '\25BC' !important;
        transform: rotate(0deg) !important;
        transition: transform 0.3s ease !important;
        float: right !important;
        margin-top: 3px !important;
    }

    .klb-menu-nav .klb-menu > li.menu-item-has-children.active > a:after {
        transform: rotate(180deg) !important;
    }

    .klb-menu-nav .klb-menu .sub-menu li.menu-item-has-children > a:after {
        content: '\25BC' !important;
        transform: rotate(0deg) !important;
        transition: transform 0.3s ease !important;
        float: right !important;
        margin-top: 3px !important;
    }

    .klb-menu-nav .klb-menu .sub-menu li.menu-item-has-children.active > a:after {
        transform: rotate(180deg) !important;
    }
    
    /* Asegurar que los menús móviles tengan suficiente espacio */
    .site-header .header-mobile .header-mobile-nav {
        max-height: 80vh !important;
        overflow-y: auto !important;
    }

    /* Mostrar submenú cuando se hace clic en el elemento padre en móvil */
    .klb-menu-nav .klb-menu > li.menu-item-has-children.active > .sub-menu,
    .klb-menu-nav .klb-menu .sub-menu li.menu-item-has-children.active > .sub-menu {
        display: block !important;
    }
}
