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

/* --- iOS Safari Viewport Fixes --- */
@supports (-webkit-touch-callout: none) {
  /* Safari iOS specific styles */
  
  /* Fix for 100vh issue on iOS Safari - БЕЗ position: fixed */
  html, body {
    height: -webkit-fill-available;
    height: 100%;
    width: 100%;
    overflow-x: hidden;
    /* Убрали position: fixed чтобы не ломать фон */
  }
  
  /* Fix for safe area (notch) */
  .container {
    padding-left: max(var(--space-md), env(safe-area-inset-left));
    padding-right: max(var(--space-md), env(safe-area-inset-right));
    padding-top: max(var(--space-lg), env(safe-area-inset-top));
    padding-bottom: max(var(--space-lg), env(safe-area-inset-bottom));
  }
  
  header {
    padding-left: max(var(--space-md), env(safe-area-inset-left));
    padding-right: max(var(--space-md), env(safe-area-inset-right));
    padding-top: max(var(--space-md), env(safe-area-inset-top));
  }
  
  /* Fix for input fields zoom on iOS */
  input, select, textarea {
    font-size: 16px !important; /* Prevents zoom on focus */
    -webkit-text-size-adjust: 100%;
  }
  
  /* Better touch targets */
  button, .btn, .checklist-item, .radio-label {
    min-height: 44px; /* Apple's recommended touch target size */
    -webkit-tap-highlight-color: rgba(0, 212, 170, 0.2);
  }
  
  /* Fix for position: fixed on iOS */
  .modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-overflow-scrolling: touch;
  }
  
  /* Smooth scrolling */
  html {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }
  
  /* Fix for backdrop-filter performance */
  header, .admin-header {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  
  /* Better form controls */
  input[type="tel"],
  input[type="password"],
  input[type="text"],
  input[type="number"],
  select,
  textarea {
    -webkit-appearance: none;
    appearance: none;
    border-radius: var(--border-radius);
  }
  
  /* Radio/checkbox styling */
  input[type="radio"],
  input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
  }
  
  /* Fix for video/audio elements */
  video, audio {
    -webkit-media-controls: true;
  }
  
  /* Prevent text size adjustment on orientation change */
  body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
  }
  
  /* Smooth animations */
  * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  /* Fix for sticky header */
  header {
    position: sticky;
    top: 0;
    z-index: 100;
  }
  
  /* Better scrolling for modals */
  .modal-content {
    max-height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
  }
}

/* --- iPhone X and newer (with notch) --- */
@supports (padding: max(0px)) {
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  
  .admin-nav {
    padding-left: max(var(--space-sm), env(safe-area-inset-left));
    padding-right: max(var(--space-sm), env(safe-area-inset-right));
    padding-bottom: max(var(--space-sm), env(safe-area-inset-bottom));
  }
  
  /* Bottom navigation spacing */
  .admin-nav button:last-child {
    margin-bottom: env(safe-area-inset-bottom);
  }
}

/* --- Landscape mode fixes --- */
@media screen and (orientation: landscape) {
  .modal-content {
    max-height: 90vh;
  }
  
  .admin-nav {
    flex-wrap: wrap;
  }
}

/* --- Small iPhone screens (SE, 5, etc.) --- */
@media screen and (max-height: 667px) {
  header {
    padding: var(--space-sm);
  }
  
  .card, .question-card {
    padding: var(--space-md);
  }
  
  h1 {
    font-size: var(--font-size-lg);
  }
  
  .logo img {
    height: 32px;
  }
}

/* --- Touch action improvements --- */
@media (hover: none) and (pointer: coarse) {
  /* Touch devices */
  button, .btn, .checklist-item, .radio-label {
    touch-action: manipulation;
    -webkit-touch-callout: none;
    user-select: none;
    -webkit-user-select: none;
  }
  
  /* Prevent double-tap zoom */
  * {
    touch-action: manipulation;
  }
}

/* --- iOS specific scrollbar --- */
::-webkit-scrollbar {
  width: 0px;
  background: transparent;
}

/* --- Fix for iOS keyboard overlap --- */
@media screen and (max-width: 768px) {
  .modal-content {
    margin: var(--space-md);
    max-height: calc(100vh - 2 * var(--space-md));
  }
  
  input:focus, select:focus, textarea:focus {
    /* Ensure focused element is visible when keyboard appears */
    scroll-margin-bottom: 200px;
  }
}

/* --- Fix for Safari 15+ bottom bar --- */
@supports (padding: max(0px)) {
  body {
    padding-bottom: env(safe-area-inset-bottom);
  }
  
  .admin-nav {
    padding-bottom: max(var(--space-sm), env(safe-area-inset-bottom));
  }
}

/* --- Fix for iOS input autofill --- */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--bg-input) inset;
  transition: background-color 5000s ease-in-out 0s;
}

/* --- Fix for iOS button styles --- */
button, .btn {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  outline: none;
}

/* --- Better focus states for iOS --- */
@media (hover: none) {
  button:focus, .btn:focus {
    outline: 2px solid var(--redx-primary);
    outline-offset: 2px;
  }
}
