/* Mobile Menu Fix - Touch Optimized */

/* Ensure hamburger is always clickable and visible */
.hamburger {
    position: relative !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
}

/* Ensure agent icon is always visible above mobile menu */
.agent-float-btn {
    z-index: 9997 !important;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}

/* Make hamburger spans properly visible */
.hamburger span {
    display: block !important;
    width: 25px !important;
    height: 3px !important;
    background: #1e40af !important;
    margin: 2px 0 !important;
    transition: all 0.3s ease !important;
    border-radius: 2px !important;
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    position: relative !important;
    transform-origin: center !important;
}

/* Enhanced mobile styles */
@media (max-width: 768px) {
    .hamburger {
        display: flex !important;
        min-width: 50px !important;
        min-height: 50px !important;
        padding: 12px !important;
        background: rgba(30, 64, 175, 0.1) !important;
        border: 2px solid rgba(30, 64, 175, 0.3) !important;
        border-radius: 8px !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    .hamburger span {
        width: 22px !important;
        height: 2px !important;
        background: #1e40af !important;
        margin: 3px 0 !important;
        transition: all 0.3s ease !important;
    }
    
    .hamburger:active {
        background: rgba(30, 64, 175, 0.2) !important;
        transform: scale(0.95) !important;
    }
    
    .nav-menu {
        position: fixed !important;
        left: -100% !important;
        top: 70px !important;
        width: 100% !important;
        height: calc(100vh - 70px) !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        flex-direction: column !important;
        padding: 2rem !important;
        transition: left 0.3s ease !important;
        box-shadow: 0 10px 27px rgba(0,0,0,0.1) !important;
        z-index: 9998 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    .nav-menu.active {
        left: 0 !important;
    }
    
    .nav-menu li {
        margin: 1rem 0 !important;
    }
    
    .nav-link {
        font-size: 1.2rem !important;
        padding: 1rem !important;
        display: block !important;
        border-radius: 8px !important;
        transition: all 0.3s ease !important;
        color: #333 !important;
        text-decoration: none !important;
    }
    
    .nav-link:hover,
    .nav-link:active {
        background: rgba(30, 64, 175, 0.1) !important;
        transform: translateX(5px) !important;
    }
    
    .hamburger.active span:nth-child(1) {
        transform: rotate(-45deg) translate(-5px, 6px) !important;
    }
    
    .hamburger.active span:nth-child(2) {
        opacity: 0 !important;
    }
    
    .hamburger.active span:nth-child(3) {
        transform: rotate(45deg) translate(-5px, -6px) !important;
    }
}

/* Desktop hamburger styling */
@media (min-width: 769px) {
    .hamburger {
        display: none !important;
    }
    
    .hamburger.active span:nth-child(1) {
        transform: rotate(-45deg) translate(-5px, 6px) !important;
    }
    
    .hamburger.active span:nth-child(2) {
        opacity: 0 !important;
    }
    
    .hamburger.active span:nth-child(3) {
        transform: rotate(45deg) translate(-5px, -6px) !important;
    }
}

/* iOS Safari specific fixes */
@supports (-webkit-touch-callout: none) {
    .hamburger {
        -webkit-transform: translateZ(0) !important;
        transform: translateZ(0) !important;
        -webkit-backface-visibility: hidden !important;
        backface-visibility: hidden !important;
    }
    
    .nav-menu {
        -webkit-transform: translateZ(0) !important;
        transform: translateZ(0) !important;
        -webkit-backface-visibility: hidden !important;
        backface-visibility: hidden !important;
    }
}

/* Android specific fixes */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .hamburger {
        -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    }
}

/* Force hamburger visibility in all contexts */
html body .hamburger,
html[dir] .hamburger,
html[data-theme] .hamburger,
html[class*="incognito"] .hamburger,
html[class*="private"] .hamburger,
html[class*="guest"] .hamburger {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

html body .hamburger span,
html[dir] .hamburger span,
html[data-theme] .hamburger span,
html[class*="incognito"] .hamburger span,
html[class*="private"] .hamburger span,
html[class*="guest"] .hamburger span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #1e40af !important;
}
