/**
 * iOS Safari Specific Optimizations
 * Enhanced compatibility and user experience for iOS devices
 */

/* iOS Safari Specific Fixes */
@supports (-webkit-touch-callout: none) {
    /* iOS Safari detected */
    
    /* Fix iOS input styling issues */
    .form-group input,
    .form-group textarea,
    .form-group select {
        -webkit-appearance: none;
        -webkit-text-fill-color: #333;
        -webkit-opacity: 1;
        border-radius: 12px;
        background-clip: padding-box;
    }
    
    .form-group input:focus,
    .form-group textarea:focus {
        -webkit-text-fill-color: #333;
        -webkit-tap-highlight-color: rgba(102, 126, 234, 0.1);
    }
    
    /* Fix iOS button styling */
    .btn, button, input[type="submit"], input[type="button"] {
        -webkit-appearance: none;
        border-radius: 12px;
        -webkit-tap-highlight-color: rgba(255, 107, 107, 0.3);
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        user-select: none;
    }
    
    /* iOS Safari smooth scrolling */
    * {
        -webkit-overflow-scrolling: touch;
    }
    
    /* Fix iOS viewport issues */
    body {
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
    
    /* iOS Safari specific navigation fixes */
    .navbar {
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    
    /* iOS Safari form input zoom prevention */
    .form-group input,
    .form-group textarea,
    .form-group select {
        font-size: 16px !important; /* Prevents zoom on iOS */
        -webkit-text-size-adjust: 100%;
    }
}

/* iOS Device Specific Optimizations */

/* iPhone X and newer - Safe Area Support */
@supports (padding: max(0px)) {
    .navbar {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
    
    .container {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
    
    .hero {
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
        padding-top: max(var(--navbar-height), env(safe-area-inset-top));
    }
    
    .footer {
        padding-bottom: max(2rem, env(safe-area-inset-bottom));
    }
}

/* iOS Safari Viewport Height Fix */
@supports (-webkit-touch-callout: none) {
    .hero {
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
    
    /* Fix for iOS Safari viewport height issues */
    html {
        height: -webkit-fill-available;
    }
    
    body {
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
}

/* iOS Safari Specific Touch Improvements */
@media (hover: none) and (pointer: coarse) {
    /* Touch device optimizations */
    
    /* Enhanced touch feedback */
    .btn:active,
    .nav-link:active,
    .hamburger:active {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
        transform: scale(0.98);
        transition: transform 0.1s ease;
    }
    
    /* iOS Safari scroll momentum */
    .nav-menu,
    .contact-section,
    .services,
    .portfolio {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
    
    /* Prevent iOS Safari bounce on body */
    body {
        overscroll-behavior-y: none;
    }
    
    /* iOS Safari form improvements */
    .form-group input:focus,
    .form-group textarea:focus {
        transform: scale(1.02);
        transition: transform 0.2s ease;
        -webkit-tap-highlight-color: transparent;
    }
    
    /* iOS Safari button improvements */
    .btn {
        -webkit-tap-highlight-color: rgba(255, 107, 107, 0.2);
        -webkit-touch-callout: none;
    }
    
    .btn:active {
        -webkit-tap-highlight-color: rgba(255, 107, 107, 0.4);
    }
}

/* iOS Safari Dark Mode Support */
@media (prefers-color-scheme: dark) {
    @supports (-webkit-touch-callout: none) {
        /* iOS Safari dark mode optimizations */
        .navbar {
            background: rgba(28, 28, 30, 0.95);
            -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px);
        }
        
        .form-group input,
        .form-group textarea {
            background-color: rgba(44, 44, 46, 1);
            border-color: rgba(84, 84, 88, 1);
            color: rgba(255, 255, 255, 0.9);
            -webkit-text-fill-color: rgba(255, 255, 255, 0.9);
        }
        
        .form-group input:focus,
        .form-group textarea:focus {
            border-color: rgba(102, 126, 234, 0.8);
            background-color: rgba(44, 44, 46, 1);
        }
    }
}

/* iOS Safari Performance Optimizations */
@supports (-webkit-touch-callout: none) {
    /* Hardware acceleration for smooth animations */
    .hero,
    .navbar,
    .service-card,
    .portfolio-item,
    .btn {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    
    /* Optimize scrolling performance */
    .hero,
    .services,
    .portfolio,
    .contact-section {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    
    /* iOS Safari image rendering optimization */
    img {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* iOS Safari Accessibility Improvements */
@supports (-webkit-touch-callout: none) {
    /* Enhanced focus indicators for iOS */
    .btn:focus,
    .nav-link:focus,
    .form-group input:focus,
    .form-group textarea:focus {
        outline: 2px solid rgba(102, 126, 234, 0.8);
        outline-offset: 2px;
        -webkit-focus-ring-color: rgba(102, 126, 234, 0.8);
    }
    
    /* iOS VoiceOver improvements */
    .hamburger[aria-expanded="true"] {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    
    /* iOS Safari text selection improvements */
    .hero-title,
    .section-title {
        -webkit-user-select: text;
        user-select: text;
        -webkit-touch-callout: default;
    }
}

/* iOS Safari Landscape Mode Optimizations */
@media screen and (orientation: landscape) and (max-height: 500px) {
    @supports (-webkit-touch-callout: none) {
        /* iOS Safari landscape mode fixes */
        .hero {
            min-height: 100vh;
            min-height: -webkit-fill-available;
            padding-top: calc(var(--navbar-height) + 1rem);
        }
        
        .navbar {
            height: 60px;
            --navbar-height: 60px;
        }
        
        .hero-content {
            padding: 1rem 0;
        }
        
        .hero-buttons {
            flex-direction: row;
            gap: 1rem;
        }
        
        .contact-form {
            max-height: 80vh;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
    }
}

/* iOS Safari PWA Mode Optimizations */
@media all and (display-mode: standalone) {
    /* When added to iOS home screen */
    
    .navbar {
        padding-top: max(1rem, env(safe-area-inset-top));
        background: rgba(255, 255, 255, 1);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    
    .hero {
        padding-top: calc(var(--navbar-height) + max(1rem, env(safe-area-inset-top)));
    }
    
    /* Hide browser UI elements that don't apply in PWA mode */
    .browser-only {
        display: none;
    }
}

/* iOS Safari Memory Management */
@supports (-webkit-touch-callout: none) {
    /* Optimize for iOS memory constraints */
    .hero-3d-canvas {
        display: none !important; /* Disable 3D on iOS for performance */
    }
    
    /* Lazy load heavy content on iOS */
    .portfolio-item img,
    .service-card img {
        loading: lazy;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    
    /* iOS Safari animation performance */
    @media (prefers-reduced-motion: no-preference) {
        .service-card,
        .portfolio-item {
            -webkit-animation-duration: 0.3s;
            animation-duration: 0.3s;
        }
    }
    
    @media (prefers-reduced-motion: reduce) {
        * {
            -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
            -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
            -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
        }
    }
}

/* iOS Safari Font Rendering Improvements */
@supports (-webkit-touch-callout: none) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }
    
    /* iOS Safari font weight fix */
    h1, h2, h3, h4, h5, h6 {
        -webkit-font-smoothing: antialiased;
        font-weight: 600;
    }
    
    /* iOS Safari text stroke for better readability */
    .hero-title {
        -webkit-text-stroke: 0.5px rgba(255, 255, 255, 0.1);
    }
}

/* iOS Safari Input Autofill Styling */
@supports (-webkit-touch-callout: none) {
    .form-group input:-webkit-autofill,
    .form-group input:-webkit-autofill:hover,
    .form-group input:-webkit-autofill:focus,
    .form-group textarea:-webkit-autofill,
    .form-group textarea:-webkit-autofill:hover,
    .form-group textarea:-webkit-autofill:focus {
        -webkit-text-fill-color: #333 !important;
        -webkit-box-shadow: 0 0 0px 1000px rgba(255, 255, 255, 0.9) inset !important;
        transition: background-color 5000s ease-in-out 0s;
        border-radius: 12px !important;
    }
}

/* iOS Safari Scroll Snap (Optional Enhancement) */
@supports (-webkit-touch-callout: none) {
    .services-grid,
    .portfolio-grid {
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    
    .service-card,
    .portfolio-item {
        scroll-snap-align: start;
    }
}

/* iOS Safari Print Styles */
@media print {
    @supports (-webkit-touch-callout: none) {
        .navbar,
        .hamburger,
        .hero-3d-canvas {
            display: none !important;
        }
        
        .hero {
            padding-top: 0 !important;
            min-height: auto !important;
        }
        
        body {
            -webkit-print-color-adjust: exact;
            color-adjust: exact;
        }
    }
}

/* iOS Safari Debug Mode (Development Only) */
@media screen and (max-width: 767px) {
    .ios-debug {
        position: fixed;
        top: 0;
        right: 0;
        background: rgba(255, 0, 0, 0.8);
        color: white;
        padding: 5px;
        font-size: 10px;
        z-index: 9999;
        display: none; /* Enable for debugging */
    }
    
    .ios-debug.show {
        display: block;
    }
}