/* ================================================================
   Cross-Browser Compatibility Fixes for Enhanced Navigation
   Ensures consistent behavior across all supported browsers
   ================================================================ */

/* Chrome 60+ Fixes */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-color-index: 0) {
    .enhanced-nav {
        /* Fix Chrome backdrop-filter bug with transform */
        transform: translateZ(0);
    }
    
    .enhanced-dropdown-menu {
        /* Fix Chrome rendering issue with backdrop-filter */
        will-change: transform;
        transform: translateZ(0);
    }
    
    /* Fix Chrome focus outline rendering */
    .enhanced-nav .nav-links a:focus-visible {
        outline: none;
        box-shadow: 0 0 0 2px rgba(255, 127, 65, 0.5);
    }
}

/* Firefox 55+ Fixes */
@-moz-document url-prefix() {
    .enhanced-nav {
        /* Firefox backdrop-filter fallback */
        background: rgba(0, 0, 0, 0.85);
    }
    
    .enhanced-dropdown-menu {
        background: rgba(0, 0, 0, 0.9);
    }
    
    /* Firefox smooth scrolling fix */
    html {
        scroll-behavior: smooth;
    }
    
    /* Firefox focus ring fix */
    .enhanced-nav .nav-links a::-moz-focus-inner {
        border: 0;
    }
    
    .enhanced-nav .nav-links a:focus {
        outline: 2px solid #FF7F41;
        outline-offset: 2px;
    }
    
    /* Fix Firefox font rendering */
    .enhanced-nav {
        -moz-osx-font-smoothing: grayscale;
    }
}

/* Safari 12+ Fixes */
@supports (-webkit-appearance: none) {
    .enhanced-nav {
        /* Safari backdrop-filter prefix */
        -webkit-backdrop-filter: blur(25px);
    }
    
    .enhanced-dropdown-menu {
        -webkit-backdrop-filter: blur(25px);
    }
    
    /* Safari transform3d acceleration */
    .enhanced-dropdown-menu {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    
    /* Safari font smoothing */
    .enhanced-nav {
        -webkit-font-smoothing: antialiased;
    }
    
    /* Safari focus fix */
    .enhanced-nav .nav-links a:focus {
        outline: 2px solid #FF7F41;
        outline-offset: 1px;
    }
}

/* Edge 79+ Fixes */
@supports (-ms-ime-align: auto) {
    .enhanced-nav {
        /* Edge legacy backdrop-filter fix */
        background: rgba(0, 0, 0, 0.85);
    }
    
    .enhanced-dropdown-menu {
        background: rgba(0, 0, 0, 0.9);
    }
}

/* Internet Explorer 11 Fallbacks (Legacy Support) */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .enhanced-nav {
        background: rgba(0, 0, 0, 0.9);
        filter: none;
    }
    
    .enhanced-dropdown-menu {
        background: rgba(0, 0, 0, 0.95);
        filter: none;
    }
    
    /* IE11 flexbox fixes */
    .enhanced-nav .nav-links {
        display: -ms-flexbox;
        -ms-flex-align: center;
        -ms-flex-pack: center;
    }
    
    /* IE11 transform fixes */
    .enhanced-dropdown-menu {
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    
    .enhanced-dropdown.dropdown-show .enhanced-dropdown-menu {
        display: block;
    }
    
    /* IE11 opacity animation fallback */
    .enhanced-dropdown-menu {
        transition: opacity 0.3s ease;
    }
}

/* Mobile Safari iOS Fixes */
@supports (-webkit-touch-callout: none) {
    /* Fix iOS Safari 100vh bug */
    .enhanced-nav {
        height: 90px;
        min-height: 90px;
    }
    
    /* Fix iOS Safari touch delays */
    .enhanced-nav .nav-links a,
    .enhanced-dropdown-menu .dropdown-item {
        -webkit-tap-highlight-color: transparent;
        -webkit-touch-callout: none;
    }
    
    /* Fix iOS Safari font scaling */
    .enhanced-nav {
        -webkit-text-size-adjust: 100%;
    }
    
    /* Fix iOS Safari focus issues */
    .enhanced-nav .nav-links a:focus {
        outline: none;
        background: rgba(255, 127, 65, 0.2);
    }
}

/* Android Chrome Fixes */
@media screen and (max-width: 767px) and (orientation: portrait) {
    .enhanced-nav {
        /* Fix Android viewport issues */
        max-height: 90px;
        overflow: hidden;
    }
    
    /* Fix Android font rendering */
    .enhanced-nav {
        text-rendering: optimizeLegibility;
    }
    
    /* Fix Android touch delays */
    .enhanced-nav * {
        touch-action: manipulation;
    }
}

/* High DPI Display Fixes */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .enhanced-nav .nav-logo img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
    
    /* Sharp borders on high DPI */
    .enhanced-dropdown-menu {
        border: 0.5px solid rgba(255, 127, 65, 0.3);
    }
}

/* Dark Mode Browser Support */
@media (prefers-color-scheme: dark) {
    /* Ensure proper contrast in dark mode */
    .enhanced-nav .nav-links a:focus-visible {
        box-shadow: 0 0 0 2px rgba(255, 127, 65, 0.8);
    }
}

/* Reduced Motion Browser Support */
@media (prefers-reduced-motion: reduce) {
    /* Disable all animations and transitions */
    .enhanced-nav,
    .enhanced-nav *,
    .enhanced-dropdown-menu,
    .enhanced-dropdown-menu * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    /* Keep essential functionality */
    .enhanced-nav .nav-links a:hover {
        background: rgba(255, 127, 65, 0.1);
        color: #FF7F41;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high), (prefers-contrast: more) {
    .enhanced-nav {
        border: 2px solid;
        background: Canvas;
        color: CanvasText;
    }
    
    .enhanced-nav .nav-links a {
        border: 1px solid transparent;
        color: LinkText;
    }
    
    .enhanced-nav .nav-links a:hover,
    .enhanced-nav .nav-links a:focus {
        border-color: LinkText;
        background: Highlight;
        color: HighlightText;
    }
    
    .enhanced-dropdown-menu {
        border: 2px solid;
        background: Canvas;
    }
    
    .enhanced-dropdown-menu .dropdown-item {
        color: LinkText;
    }
    
    .enhanced-dropdown-menu .dropdown-item:hover,
    .enhanced-dropdown-menu .dropdown-item:focus {
        background: Highlight;
        color: HighlightText;
    }
}

/* Windows High Contrast Mode */
@media (-ms-high-contrast: active) {
    .enhanced-nav {
        border: 1px solid;
    }
    
    .enhanced-nav .nav-links a:focus {
        outline: 2px solid;
    }
    
    .enhanced-dropdown-menu {
        border: 2px solid;
    }
}

/* Browser-Specific Hover Fixes */
/* Chrome and Safari hover state fixes */
@media (hover: hover) and (pointer: fine) {
    .enhanced-nav .nav-links a:hover {
        transform: translateY(-2px);
    }
    
    .enhanced-dropdown-menu .dropdown-item:hover {
        transform: translateX(5px);
    }
}

/* Touch device hover prevention */
@media (hover: none) {
    .enhanced-nav .nav-links a:hover {
        transform: none;
        background: transparent;
    }
    
    .enhanced-dropdown-menu .dropdown-item:hover {
        transform: none;
    }
}

/* Print Support */
@media print {
    .enhanced-nav {
        position: static !important;
        background: white !important;
        color: black !important;
        box-shadow: none !important;
    }
    
    .enhanced-dropdown-menu {
        position: static !important;
        display: block !important;
        opacity: 1 !important;
        background: white !important;
        color: black !important;
    }
}

/* Forced Colors Mode (Windows) */
@media (forced-colors: active) {
    .enhanced-nav {
        forced-color-adjust: none;
        background: Canvas;
        border: 1px solid CanvasText;
    }
    
    .enhanced-nav .nav-links a {
        color: LinkText;
        forced-color-adjust: none;
    }
    
    .enhanced-nav .nav-links a:hover,
    .enhanced-nav .nav-links a:focus {
        background: Highlight;
        color: HighlightText;
        outline: 1px solid HighlightText;
    }
    
    .enhanced-dropdown-menu {
        background: Canvas;
        border: 1px solid CanvasText;
        forced-color-adjust: none;
    }
    
    .enhanced-dropdown-menu .dropdown-item {
        color: LinkText;
    }
    
    .enhanced-dropdown-menu .dropdown-item:hover,
    .enhanced-dropdown-menu .dropdown-item:focus {
        background: Highlight;
        color: HighlightText;
    }
}

/* Feature Detection Fallbacks */

/* No backdrop-filter support */
@supports not (backdrop-filter: blur(1px)) and not (-webkit-backdrop-filter: blur(1px)) {
    .enhanced-nav {
        background: rgba(0, 0, 0, 0.95);
    }
    
    .enhanced-nav.scrolled {
        background: rgba(0, 0, 0, 0.98);
    }
    
    .enhanced-dropdown-menu {
        background: rgba(0, 0, 0, 0.98);
    }
}

/* No CSS Grid support (legacy) */
@supports not (display: grid) {
    .enhanced-nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .enhanced-nav .nav-links {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

/* No CSS Custom Properties support (IE11) */
.no-custom-properties .enhanced-nav {
    background: rgba(0, 0, 0, 0.9);
}

.no-custom-properties .enhanced-nav .nav-links a {
    color: #FFFFFF;
}

.no-custom-properties .enhanced-nav .nav-links a:hover {
    color: #FF7F41;
    background: rgba(255, 127, 65, 0.1);
}

.no-custom-properties .enhanced-dropdown-menu {
    background: rgba(0, 0, 0, 0.95);
    border: 1px solid #FF7F41;
}

/* Performance Optimizations for Older Browsers */
.enhanced-nav * {
    /* GPU acceleration hint for supported browsers */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}

/* Prevent FOUC (Flash of Unstyled Content) */
.enhanced-nav {
    visibility: visible;
    opacity: 1;
}

.enhanced-nav.loading {
    visibility: hidden;
    opacity: 0;
}

/* Fix for some Android browsers */
@media screen and (max-device-width: 640px) {
    .enhanced-nav {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* Memory leak prevention */
.enhanced-nav * {
    will-change: auto;
}

.enhanced-nav .nav-links a:hover,
.enhanced-nav .nav-links a:focus {
    will-change: transform, background-color;
}

.enhanced-dropdown-menu {
    will-change: opacity, visibility, transform;
}

.enhanced-dropdown.dropdown-show .enhanced-dropdown-menu {
    will-change: auto;
}