/* Responsive Mega Menu - Correcciones */
@media (max-width: 1199.98px) {
    .mega-menu .dropdown-menu {
        width: 95vw !important;
        max-width: 95vw !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}

@media (max-width: 991.98px) {
    .mega-menu .dropdown-menu {
        width: 100% !important;
        max-width: 100% !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        transform: none !important;
        border-radius: 0 !important;
        margin-top: 0 !important;
        overflow-y: auto;
        z-index: 1060;
    }
    
    .mega-menu-content .container-fluid {
        padding: 15px !important;
    }
    
    .mega-menu-content .row {
        flex-direction: column;
        margin: 0;
    }
    
    .mega-menu-content .col-lg-4,
    .mega-menu-content .col-lg-8 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0;
    }
    
    .category-section {
        height: auto !important;
        max-height: 40vh;
        margin-bottom: 20px;
    }
    
    .category-list {
        height: auto !important;
        max-height: 30vh;
    }
    
    .subcategory-section {
        height: auto !important;
        max-height: 50vh;
    }
    
    .subcategory-grid {
        grid-template-columns: 1fr !important;
        gap: 15px;
    }
    
    /* Botón para cerrar el mega menú en móvil */
    .mega-menu-mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px;
        background: var(--bs-primary);
        color: white;
        /*margin: -15px -15px 15px -15px;*/
    }

    .mega-menu-mobile-header h5
    {
        color: white;
    }
    
    .mega-menu-close {
        background: none;
        border: none;
        color: white;
        font-size: 1.5rem;
        cursor: pointer;
    }
}

@media (max-width: 767.98px) {
    .navbar {
        height: auto;
        padding: 10px 0;
    }
    
    .navbar .navbar-nav .nav-link {
        padding: 8px 12px;
        font-size: 14px;
    }
    
    .topbar {
        border-radius: 0 !important;
        padding: 10px 15px !important;
    }
    
    .topbar .d-flex {
        flex-direction: column;
        gap: 10px;
    }
    
    .topbar .top-info,
    .topbar .top-link {
        justify-content: center;
        text-align: center;
    }
    
    .subcategory-card {
        padding: 15px;
    }
    
    .subcategory-header {
        padding: 15px;
    }
}

/* Mejoras para tablets */
@media (min-width: 768px) and (max-width: 991.98px) {
    .subcategory-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Mejoras de usabilidad para móviles */
.mega-menu .dropdown-toggle::after {
    display: none;
}

/* Scroll suave para todos los dispositivos */
.category-list,
.subcategory-dynamic {
    scroll-behavior: smooth;
}

/* Mejoras de accesibilidad */
.category-item:focus,
.subcategory-card:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* Estados de carga mejorados para móviles */
.loading-spinner {
    padding: 40px 15px;
}

/* Ajustes específicos para el menú en móviles */
.navbar-collapse {
    max-height: 80vh;
    /*overflow-y: auto;*/
}

/* Asegurar que el menú se cierre al hacer clic fuera en móviles */
.navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 181, 36, 0.25);
}

