/* 
 * Mobile Menu Fix
 * This is a dedicated CSS file to fix mobile menu display issues.
 * It applies !important to all rules to ensure they override any conflicting styles.
 */

/* Mobile menu container - basic style */
@media screen and (min-width: 769px) {
    .menu {
        display: flex !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        background-color: transparent !important;
        flex-direction: row !important;
        top: auto !important;
        left: auto !important;
    }
    
    .mobile-menu-btn {
        display: none !important;
    }
}

/* Mobile menu styles for small screens only */
@media screen and (max-width: 768px) {
    /* Default menu state in mobile */
    .menu {
        position: fixed !important;
        top: var(--navbar-height, 80px) !important;
        left: -100% !important;
        width: 100% !important;
        height: calc(100vh - var(--navbar-height, 80px)) !important;
        background-color: rgba(0, 20, 64, 0.98) !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 20px !important;
        z-index: 9990 !important;
        overflow-y: auto !important;
        transition: left 0.3s ease !important;
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
      /* Visible menu state */
    .menu.active {
        left: 0 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 99999 !important; /* Super high z-index */
        transform: translateZ(1px) !important; /* Force GPU rendering on top */
    }
    
    /* Menu items in mobile view */
    .menu li {
        width: 100% !important;
        text-align: center !important;
        margin: 15px 0 !important;
    }
    
    .menu li a {
        display: block !important;
        padding: 15px 0 !important;
        font-size: 18px !important;
        height: auto !important;
        line-height: 1.5 !important;
    }
    
    /* Ensure mobile menu button is visible */
    .mobile-menu-btn {
        display: flex !important;
        z-index: 9999 !important;
    }
}
