/* ===========================================
   MOBILE MENU STYLES - FUNCIONAL Y COMPLETO
   =========================================== */

/* NO modificar nada en escritorio */
@media (min-width: 768px) {
    /* Mantener todos los estilos originales para escritorio */
}

/* Estilos SOLO para móviles */
@media (max-width: 767px) {
    
    /* Control manual del menú collapse */
    .navbar-collapse.collapse {
        display: none !important;
        max-height: 0 !important;
        overflow: hidden !important;
        transition: all 0.35s ease !important;
    }
    
    .navbar-collapse.collapse.in {
        display: block !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
        min-height: 400px !important;
    }
    
    /* Asegurar que el menú se muestre cuando está activo */
    .navbar-collapse.in {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }
    
    /* Contenedor del menú móvil */
    .navbar-collapse {
        background: #ffffff !important;
        border-radius: 0 0 12px 12px !important;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2) !important;
        margin-top: 1px !important;
        border: none !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 1000 !important;
    }

    /* Posicionar el header correctamente */
    .navbar-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
    }
    
    /* Estilos para el botón hamburguesa - posicionado a la derecha */
    .navbar-toggle {
        border: 2px solid rgba(255, 255, 255, 0.4) !important;
        background: rgba(255, 255, 255, 0.1) !important;
        padding: 8px 12px !important;
        border-radius: 6px !important;
        transition: all 0.3s ease !important;
        float: right !important;
        margin-left: auto !important;
        position: relative !important;
        z-index: 1001 !important;
    }

    .navbar-toggle:hover,
    .navbar-toggle:focus {
        background: rgba(255, 255, 255, 0.2) !important;
        border-color: rgba(255, 255, 255, 0.6) !important;
        transform: scale(1.05) !important;
    }

    /* Estilos para las barras del hamburguesa */
    .navbar-toggle .icon-bar {
        background-color: #ffffff !important;
        height: 3px !important;
        width: 25px !important;
        border-radius: 2px !important;
        transition: all 0.3s ease !important;
    }

    /* Animación del botón hamburguesa cuando está activo */
    .navbar-toggle.active .icon-bar:nth-child(2) {
        transform: rotate(45deg) translate(6px, 6px);
    }

    .navbar-toggle.active .icon-bar:nth-child(3) {
        opacity: 0;
    }

    .navbar-toggle.active .icon-bar:nth-child(4) {
        transform: rotate(-45deg) translate(6px, -6px);
    }
    
    /* Contenedor de la lista del menú */
    .navbar-nav {
        margin: 0 !important;
        padding: 15px 0 20px 0 !important;
        width: 100% !important;
        float: none !important;
        height: auto !important;
        overflow: visible !important;
        min-height: 300px !important;
    }
    
    /* Elementos de la lista */
    .navbar-nav li {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
        border-bottom: 1px solid rgba(29, 71, 150, 0.1) !important;
        position: static !important;
        transform: none !important;
        height: auto !important;
        min-height: 50px !important;
    }
    
    .navbar-nav li:last-child {
        border-bottom: none !important;
        margin-bottom: 0 !important;
    }
    
    /* Enlaces del menú */
    .navbar-nav li a {
        color: #1D4796 !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 50px !important;
        line-height: 1.5 !important;
        transition: all 0.3s ease !important;
        position: relative !important;
        text-decoration: none !important;
        background: transparent !important;
        border: none !important;
        text-transform: capitalize !important;
        box-sizing: border-box !important;
    }
    
    /* Efecto hover para elementos del menú móvil */
    .navbar-nav li a:hover,
    .navbar-nav li a:focus {
        background: rgba(29, 71, 150, 0.1) !important;
        color: #1D4796 !important;
        padding-left: 25px !important;
        text-decoration: none !important;
    }
    
    /* Línea amarilla debajo de cada opción */
    .navbar-nav li a:before {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 3px;
        background: #ffc107;
        transition: all 0.3s ease;
        border-radius: 0;
    }
    
    .navbar-nav li a:hover:before,
    .navbar-nav li a:focus:before {
        width: 100%;
    }
    
    /* FORZAR color correcto con máxima especificidad */
    .navbar.navbar-fixed-top.green .navbar-nav li a,
    .navbar.navbar-fixed-top.green .navbar-nav li a:link,
    .navbar.navbar-fixed-top.green .navbar-nav li a:visited,
    .navbar.navbar-fixed-top.green .navbar-nav li a:active,
    .navbar.navbar-fixed-top.green .navbar-nav li a:focus,
    .navbar-collapse.in .navbar-nav li a,
    .navbar-collapse.in .navbar-nav li a:link,
    .navbar-collapse.in .navbar-nav li a:visited,
    .navbar-collapse.in .navbar-nav li a:active {
        color: #1D4796 !important;
    }
    
    /* Contenedor centrado para el botón Login */
    .navbar-nav li:last-child {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 10px 0 !important;
    }
    
    /* Estilos especiales para el enlace de Login */
    .navbar-nav li:last-child a {
        background: #1D4796 !important;
        color: #ffffff !important;
        margin: 0 auto !important;
        border-radius: 25px !important;
        text-align: center !important;
        font-weight: 600 !important;
        box-shadow: 0 4px 15px rgba(29, 71, 150, 0.3) !important;
        padding: 14px 30px !important;
        min-height: auto !important;
        width: 80% !important;
        max-width: 200px !important;
        display: block !important;
    }
    
    .navbar-nav li:last-child a:hover,
    .navbar-nav li:last-child a:focus {
        background: #2557a8 !important;
        color: #ffffff !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(29, 71, 150, 0.4) !important;
    }
    
    /* Ocultar línea amarilla en el botón Login */
    .navbar-nav li:last-child a:before,
    .navbar-nav li:last-child a:after {
        display: none !important;
    }
    
    /* Excluir Login de las reglas de color con máxima especificidad */
    .navbar.navbar-fixed-top.green .navbar-nav li:last-child a,
    .navbar.navbar-fixed-top.green .navbar-nav li:last-child a:visited,
    .navbar.navbar-fixed-top.green .navbar-nav li:last-child a:link,
    .navbar.navbar-fixed-top.green .navbar-nav li:last-child a:active,
    .navbar.navbar-fixed-top.green .navbar-nav li:last-child a:focus,
    .navbar-collapse.in .navbar-nav li:last-child a {
        color: #ffffff !important;
        background: #1D4796 !important;
    }
    
    /* Ajuste del logo en móviles */
    .navbar-brand img {
        max-height: 90px !important;
        width: auto !important;
        transition: all 0.3s ease !important;
    }
    
    /* Espaciado adicional para el navbar en móviles */
    .navbar {
        padding: 15px 0 !important;
        min-height: 100px !important;
    }
    
    /* Overlay para cerrar el menú al hacer click fuera */
    .navbar-collapse.in {
        position: relative !important;
        z-index: 1000 !important;
        width: 100% !important;
        left: 0 !important;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* Forzar visibilidad cuando está abierto */
    .navbar-collapse.in {
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Mejoras adicionales para pantallas muy pequeñas */
    @media (max-width: 480px) {
        .navbar-nav li a {
            font-size: 15px !important;
            padding: 12px 20px !important;
        }
        
        .navbar-brand img {
            max-height: 70px !important;
        }
        
        .navbar-toggle {
            padding: 6px 10px !important;
        }
        
        .navbar-toggle .icon-bar {
            width: 22px !important;
        }
    }
    
    /* Smooth scroll para los enlaces de navegación */
    html {
        scroll-behavior: smooth;
    }
    
    /* Efectos adicionales de interacción */
    .navbar-nav li a {
        overflow: hidden;
    }
    
    .navbar-nav li a:after {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: all 0.5s;
    }
    
    .navbar-nav li a:hover:after {
        left: 100%;
    }
    
    /* Estilos para iconos en menú móvil */
    .navbar-nav li a i {
        margin-right: 10px !important;
        width: 20px !important;
        text-align: center !important;
        color: #1d4796 !important;
        font-size: 16px !important;
    }
    
    .navbar-nav li a:hover i,
    .navbar-nav li a:focus i {
        color: #1d4796 !important;
        transform: scale(1.1);
    }
    
    /* Estilos especiales para el icono de Login */
    .navbar-nav li:last-child a i {
        color: #ffffff !important;
    }
    
    .navbar-nav li:last-child a:hover i,
    .navbar-nav li:last-child a:focus i {
        color: #ffffff !important;
    }
    
    /* Mejorar la alineación de texto e iconos */
    .navbar-nav li a span {
        vertical-align: middle;
    }
}

/* Mejoras para tablets */
@media (min-width: 768px) and (max-width: 991px) {
    .navbar-nav li {
        padding: 0 15px !important;
    }
    
    .navbar-nav li a {
        font-size: 13px !important;
    }
}

/* Asegurar que el menú funcione correctamente en todas las pantallas */
@media (max-width: 767px) {
    .navbar-collapse.collapse {
        display: none !important;
    }

    .navbar-collapse.collapse.in {
        display: block !important;
    }

    .collapsing {
        transition: height 0.35s ease !important;
    }
}

/* Mantener el comportamiento normal en escritorio */
@media (min-width: 768px) {
    .navbar-collapse.collapse {
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;
    }
    
    .navbar-nav {
        float: right !important;
        margin: 0 !important;
    }
    
    .navbar-nav li a {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
}