/* Mobile Navigation Debug & Emergency Styles */

/* Force mobile menu to be visible for debugging */
@media (max-width: 768px) {
    /* Emergency mobile menu visibility - override all other styles */
    .nav-menu-wrapper {
        position: fixed !important;
        top: 70px !important;
        left: 0 !important;
        width: 100vw !important;
        height: calc(100vh - 70px) !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(10px) !important;
        z-index: 10000 !important;
        overflow-y: auto !important;
        padding: 20px 0 !important;
        
        /* Default state - hidden */
        visibility: hidden !important;
        transform: translateX(-100%) !important;
        transition: all 0.3s ease !important;
    }
    
    /* Active state - visible */
    .nav-menu-wrapper.active,
    body.menu-open .nav-menu-wrapper {
        visibility: visible !important;
        transform: translateX(0) !important;
    }
    
    /* Menu toggle button */
    .menu-toggle {
        display: flex !important;
        flex-direction: column !important;
        position: relative !important;
        z-index: 10001 !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 10px !important;
    }
    
    /* Hamburger lines */
    .hamburger-line {
        width: 25px !important;
        height: 3px !important;
        background: #2c3e50 !important;
        margin: 3px 0 !important;
        transition: all 0.3s ease !important;
        border-radius: 2px !important;
    }
    
    /* Active hamburger animation */
    .menu-toggle.active .hamburger-line:nth-child(1) {
        transform: rotate(45deg) translate(6px, 6px) !important;
    }
    
    .menu-toggle.active .hamburger-line:nth-child(2) {
        opacity: 0 !important;
    }
    
    .menu-toggle.active .hamburger-line:nth-child(3) {
        transform: rotate(-45deg) translate(6px, -6px) !important;
    }
    
    /* Force menu visibility */
    .nav-menu {
        display: flex !important;
        flex-direction: column !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Force menu items visibility */
    .nav-menu li,
    .nav-menu .menu-item {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
        position: relative !important;
    }
    
    /* Force menu links visibility */
    .nav-menu li a,
    .nav-menu .menu-item a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 18px 0 !important;
        color: #2c3e50 !important;
        text-decoration: none !important;
        font-size: 1.1rem !important;
        font-weight: 500 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 0 !important;
        background: transparent !important;
        transform: none !important;
    }
    
    /* Hover states for mobile */
    .nav-menu li a:hover,
    .nav-menu .menu-item a:hover {
        background: rgba(52, 152, 219, 0.1) !important;
        color: #3498db !important;
    }
    
    /* Hide WordPress admin bar interference */
    #wpadminbar {
        display: none !important;
    }
    
    /* Prevent body scroll when menu is open */
    body.menu-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }
    
    /* WordPress menu item classes override */
    .menu-item,
    .menu-item-has-children,
    .current-menu-item,
    .current-menu-parent,
    .current-menu-ancestor {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Dropdown menu styling for mobile */
    .dropdown-menu {
        position: static !important;
        display: block !important;
        background: rgba(52, 152, 219, 0.05) !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        transition: max-height 0.3s ease !important;
    }
    
    .has-dropdown.mobile-dropdown-open .dropdown-menu {
        max-height: 500px !important;
    }
    
    .dropdown-menu li {
        display: block !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    }
    
    .dropdown-menu a {
        padding: 15px 20px !important;
        font-size: 1rem !important;
        color: #666 !important;
    }
    
    /* Mobile dropdown indicator */
    .has-dropdown > a::after {
        content: '+' !important;
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 1.5rem !important;
        font-weight: bold !important;
        width: 30px !important;
        text-align: center !important;
    }
    
    .has-dropdown.mobile-dropdown-open > a::after {
        content: '−' !important;
    }
    
    /* Emergency fallback - if no menu assigned */
    .nav-menu:empty::before {
        content: "Menu items will appear here when a menu is assigned in WordPress Admin > Appearance > Menus" !important;
        display: block !important;
        padding: 20px !important;
        text-align: center !important;
        color: #666 !important;
        font-style: italic !important;
        background: #f9f9f9 !important;
        border: 1px dashed #ddd !important;
        border-radius: 4px !important;
        margin: 20px !important;
    }
}

/* Debug mode styles - add class 'debug-nav' to body for testing */
.debug-nav .nav-menu-wrapper {
    border: 3px solid red !important;
}

.debug-nav .nav-menu {
    border: 2px solid blue !important;
}

.debug-nav .nav-menu li {
    border: 1px solid green !important;
}

/* iPhone specific fixes */
@media (max-width: 414px) and (max-height: 896px) {
    .nav-menu-wrapper {
        height: calc(100vh - 70px) !important;
        max-height: calc(100vh - 70px) !important;
    }
}

/* iPad specific fixes */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
    .menu-toggle {
        display: flex !important;
    }
    
    .nav-menu-wrapper {
        position: fixed !important;
        top: 70px !important;
        left: 0 !important;
        width: 100vw !important;
        height: calc(100vh - 70px) !important;
        background: rgba(255, 255, 255, 0.98) !important;
        z-index: 10000 !important;
        visibility: hidden !important;
        transform: translateX(-100%) !important;
        transition: all 0.3s ease !important;
    }
    
    .nav-menu-wrapper.active,
    body.menu-open .nav-menu-wrapper {
        visibility: visible !important;
        transform: translateX(0) !important;
    }
}

/* Very wide mobile devices (landscape) */
@media (max-width: 1024px) and (orientation: landscape) and (max-height: 768px) {
    .nav-menu-wrapper {
        height: calc(100vh - 60px) !important;
        top: 60px !important;
    }
    
    .site-header {
        height: 60px !important;
    }
    
    .header-container {
        height: 60px !important;
    }
}