/**
 * Browser Compatibility Fixes for Tarmeez Website
 * Handles cross-browser compatibility issues
 */

/* ========================================
   VENDOR PREFIXES AND FALLBACKS
   ======================================== */

/* Backdrop filter with vendor prefixes */
.header {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    -moz-backdrop-filter: blur(10px);
    -ms-backdrop-filter: blur(10px);
}

/* CSS Grid fallbacks for older browsers */
@supports not (display: grid) {
    .services-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    .service-card {
        flex: 0 1 calc(50% - 1rem);
        margin-bottom: 2rem;
    }
    
    .about-main {
        display: flex;
        flex-direction: column;
    }
    
    .values-grid {
        display: flex;
        flex-wrap: wrap;
    }
    
    .value-item {
        flex: 0 1 calc(33.333% - 1rem);
    }
}

/* Flexbox vendor prefixes for older browsers */
.header-content,
.nav-menu,
.hero-content,
.logo-section {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

/* Transform vendor prefixes */
.service-card:hover,
.about-text:hover,
.about-img:hover {
    -webkit-transform: translateY(-5px);
    -moz-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
}

/* Transition vendor prefixes */
.nav-link,
.service-card,
.about-text,
.about-img,
.company-logo {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* ========================================
   INTERNET EXPLORER FIXES
   ======================================== */

/* IE11 CSS Grid fixes */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .services-grid {
        display: -ms-grid;
        -ms-grid-columns: 1fr 1fr;
        -ms-grid-rows: auto auto;
    }
    
    .service-card:nth-child(1) {
        -ms-grid-column: 1;
        -ms-grid-row: 1;
    }
    
    .service-card:nth-child(2) {
        -ms-grid-column: 2;
        -ms-grid-row: 1;
    }
    
    .service-card:nth-child(3) {
        -ms-grid-column: 1;
        -ms-grid-row: 2;
    }
    
    .service-card:nth-child(4) {
        -ms-grid-column: 2;
        -ms-grid-row: 2;
    }
}

/* IE Flexbox fixes */
.header-content {
    -ms-flex-pack: justify;
    -ms-flex-align: center;
}

.nav-menu {
    -ms-flex-pack: end;
}

/* ========================================
   SAFARI SPECIFIC FIXES
   ======================================== */

/* Safari smooth scrolling */
@media not all and (min-resolution:.001dpcm) {
    @supports (-webkit-appearance:none) {
        html {
            scroll-behavior: auto;
        }
    }
}

/* Safari form styling */
input[type="text"],
input[type="email"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Safari button styling */
button,
.cta-button,
.submit-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* ========================================
   FIREFOX SPECIFIC FIXES
   ======================================== */

/* Firefox focus outline */
@-moz-document url-prefix() {
    *:focus {
        outline: 2px solid #007bff;
        outline-offset: 2px;
    }
}

/* Firefox flexbox gap fallback */
@supports not (gap: 1rem) {
    .nav-menu li {
        margin-left: 2rem;
    }
    
    .nav-menu li:first-child {
        margin-left: 0;
    }
    
    .services-grid .service-card {
        margin: 0 1rem 2rem 1rem;
    }
}

/* ========================================
   MOBILE BROWSER FIXES
   ======================================== */

/* iOS Safari viewport fix */
@supports (-webkit-touch-callout: none) {
    .hero {
        min-height: -webkit-fill-available;
    }
}

/* Android Chrome address bar fix */
@media screen and (max-width: 768px) {
    .hero {
        min-height: calc(100vh - 60px);
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .service-card:hover {
        transform: none;
    }
    
    .nav-link:hover {
        background-color: transparent;
        transform: none;
    }
    
    /* Larger touch targets */
    .nav-link {
        padding: 1rem;
        min-height: 44px;
        min-width: 44px;
    }
    
    .cta-button,
    .submit-button {
        min-height: 48px;
        padding: 1rem 2rem;
    }
}

/* ========================================
   PRINT STYLES
   ======================================== */

@media print {
    /* Hide interactive elements */
    .header,
    .hero-actions,
    .contact-form-section,
    .footer {
        display: none !important;
    }
    
    /* Optimize for printing */
    body {
        font-size: 12pt;
        line-height: 1.4;
        color: #000;
        background: #fff;
    }
    
    .container {
        max-width: none;
        padding: 0;
    }
    
    /* Page breaks */
    .section {
        page-break-inside: avoid;
    }
    
    h1, h2, h3 {
        page-break-after: avoid;
    }
}

/* ========================================
   HIGH CONTRAST MODE SUPPORT
   ======================================== */

@media (prefers-contrast: high) {
    .service-card,
    .about-text {
        border: 2px solid;
    }
    
    .nav-link:focus,
    .cta-button:focus,
    .submit-button:focus {
        outline: 3px solid;
        outline-offset: 2px;
    }
}

/* ========================================
   REDUCED MOTION SUPPORT
   ======================================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .service-card:hover,
    .about-text:hover,
    .about-img:hover {
        transform: none;
    }
}