/* Hamburger Menu Fix - Ensuring it works properly */

/* Make sure hamburger is visible and clickable on mobile */
@media (max-width: 768px) {
    .hamburger {
        display: block !important;
        width: 30px !important;
        height: 24px !important;
        position: relative !important;
        cursor: pointer !important;
        z-index: 1002 !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
    }
    
    .hamburger span {
        display: block !important;
        width: 100% !important;
        height: 3px !important;
        background-color: var(--forest-green) !important;
        position: absolute !important;
        left: 0 !important;
        transition: all 0.3s ease !important;
        pointer-events: none !important; /* Clicks go through to parent */
    }
    
    .hamburger span:nth-child(1) { 
        top: 0 !important; 
    }
    
    .hamburger span:nth-child(2) { 
        top: 50% !important; 
        transform: translateY(-50%) !important; 
    }
    
    .hamburger span:nth-child(3) { 
        bottom: 0 !important; 
    }
}

/* Mobile Menu - ensure it's properly positioned and styled */
#mobileMenu {
    display: block !important; /* Always in DOM, just positioned off-screen */
    position: fixed !important;
    top: 0 !important;
    left: -100% !important; /* Start off-screen */
    width: 80% !important;
    max-width: 320px !important;
    height: 100vh !important;
    background: var(--forest-green) !important;
    z-index: 2000 !important;
    overflow-y: auto !important;
    transition: left 0.3s ease !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.3) !important;
}

/* When active, slide in */
#mobileMenu.active {
    left: 0 !important; /* Slide in */
}

/* Mobile Menu Overlay */
#mobileMenuOverlay {
    display: none !important; /* Hidden by default */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 1999 !important;
}

/* When active, show overlay */
#mobileMenuOverlay.active {
    display: block !important;
}

/* Ensure mobile menu content is styled */
#mobileMenu .mobile-menu-nav {
    padding: 1rem 0 !important;
}

#mobileMenu .mobile-menu-nav a {
    display: block !important;
    padding: 1rem 1.5rem !important;
    color: var(--off-white) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(250, 250, 250, 0.1) !important;
}

#mobileMenu .mobile-menu-nav a:hover {
    background-color: rgba(250, 250, 250, 0.05) !important;
}

/* Ensure no-scroll works */
body.no-scroll {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
}