/* Safari-spezifische Fixes und Optimierungen */

/* Safari-spezifische Viewport-Fixes */
@supports (-webkit-appearance: none) {
  /* Safari-spezifische Button-Fixes */
  button, input[type="button"], input[type="submit"], input[type="reset"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.375rem;
  }
  
  /* Safari-spezifische Input-Fixes */
  input, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.375rem;
  }
  
  /* Safari-spezifische Flexbox-Fixes */
  .d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  
  .justify-content-center {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  
  .align-items-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  
  /* Safari-spezifische Transform-Fixes */
  .transform-translate-y-2 {
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  
  /* Safari-spezifische Transition-Fixes */
  .transition-all {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  
  /* Safari-spezifische Box-Shadow-Fixes */
  .shadow {
    -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  }
  
  .shadow-lg {
    -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
  }
}

/* Safari-spezifische Media Query Fixes */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  /* Safari-spezifische Font-Rendering-Optimierungen */
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }
  
  /* Safari-spezifische Scroll-Verhalten-Optimierungen */
  html {
    -webkit-overflow-scrolling: touch;
  }
  
  /* Safari-spezifische Touch-Target-Optimierungen */
  .btn, .nav-link, a {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Safari-spezifische Modal-Fixes */
  .modal {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  
  /* Safari-spezifische Animation-Fixes */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @-webkit-keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  .fade-in {
    -webkit-animation: fadeIn 0.3s ease-in-out;
    animation: fadeIn 0.3s ease-in-out;
  }
}

/* Safari-spezifische iOS-Fixes */
@supports (-webkit-touch-callout: none) {
  /* iOS Safari-spezifische Fixes */
  .hero {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  
  /* iOS Safari-spezifische Button-Fixes */
  .btn {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* iOS Safari-spezifische Input-Fixes */
  input, textarea {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
  }
  
  /* iOS Safari-spezifische Scroll-Fixes */
  .container {
    -webkit-overflow-scrolling: touch;
  }
}

/* Safari-spezifische Dark Mode Unterstützung */
@media (prefers-color-scheme: dark) {
  /* Dark Mode Styles für Safari */
  .navbar {
    background-color: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}

/* Safari-spezifische Print-Optimierungen */
@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
}

/* Safari-spezifische Performance-Optimierungen */
.performance-optimized {
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000px;
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}

/* Safari-spezifische Accessibility-Verbesserungen */
@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
} 