/* css/ios-fixes.css
   — iPhone/iOS Safari odaklı düzeltmeler (mevcut kuralları SİLMEZ, override eder) */

/* Sadece iOS Safari’yı hedeflemek için güvenli bir @supports hilesi */
@supports (-webkit-touch-callout: none) {
  :root {
    /* Çentik güvenli alan değişkenleri */
    --safe-top: max(env(safe-area-inset-top), 0px);
    --safe-bottom: max(env(safe-area-inset-bottom), 0px);
  }

  /* iOS’un metin büyütmesini kapat ve safe-area’yı toplam padding’e ekle */
  html { -webkit-text-size-adjust: 100%; }
  body {
    /* index.css’te mobilde 76px padding-top var; biz safe-area’yı ekliyoruz */
    padding-top: calc(76px + var(--safe-top)) !important;
    /* iOS sürükle-geri boşlukları taşırmasın */
    overscroll-behavior-y: none;
  }

  /* Top-bar, çentiğin altından başlasın */
  .top-bar {
    padding-top: calc(6px + var(--safe-top));
  }

  /* Navbar, top-bar + safe-area toplamının altına otursun */
  .main-nav {
    top: calc(32px + var(--safe-top));
    z-index: 160; /* search-card ve collapse ile üst üste binmeyi kes */
  }

  /* iOS Safari adres çubuğu/`vh` hatası:
     svh destekliyse onu kullan, eski iOS için vh fallback bırak */
  .hero {
    margin-top: 0;                 /* mobilde üst boşlukları sadeleştir */
    min-height: 340px;             /* küçük iPhone’lar için alt sınır */
    height: clamp(340px, 55svh, 600px);
    background-attachment: scroll; /* iOS’ta parallax/fixed hatasını önle */
  }
  @supports not (height: 1svh) {
    .hero { height: 55vh; }        /* çok eski iOS için vh fallback */
  }

  /* Hero içi başlıkların iPhone’da taşmaması */
  .hero .hero-inner h1 { font-size: 2rem; }
  .hero .hero-inner h2 { font-size: 1rem; font-weight: 700; }
  .hero .hero-inner p.subtitle { font-size: .9rem; font-weight: 400; }

  /* Search-card hero üstünde doğru katmanda kalsın, alt haritaya yapışmasın */
  .search-card {
    margin: 10px auto 20px !important;
    z-index: 170;                  /* navbar(160) ve harita(0)’nın üstünde */
    -webkit-transform: translateZ(0); /* iOS repaint/katman hatalarını düzelt */
    transform: translateZ(0);
  }

  /* iOS’ta input < 16px ise odaklanınca zoom yapılır → 16px zorunlu kıl */
  input, select, textarea {
    font-size: 16px !important;
  }

  /* Zaman/seçici ikonları ve X ikonları tıklanabilirlik için min boyut */
  .swap-btn, .btn-search, .navbar-toggle, .field-group .clear-icon {
    min-width: 44px;
    min-height: 44px;
    -webkit-tap-highlight-color: rgba(0,0,0,0.05);
  }

  /* Mobilde swap butonunun taşmasını önle */
  @media (max-width: 768px) {
    .search-card .location-row .swap-btn {
      position: static !important;
      transform: rotate(90deg) !important;
      margin: 6px auto !important;
    }
  }

  /* Harita yüksekliği: iOS’ta adres çubuğuna göre daha tutarlı olsun */
  #map {
    height: 35svh;
    min-height: 260px;
  }

  /* Navbar açılırken içerik zıplamasın; katman oluştur */
  .navbar-collapse {
    will-change: transform;
    transform: translateZ(0);
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(6px);
  }

  /* Yatay kayan satırlar: akıcı iOS scroll + isteğe bağlı snap */
  .how-it-works .row,
  .service-row .row,
  .tours-scroll-wrapper,
  .tours-scroll-container {
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }
  .how-it-works .how-step,
  .service-row .service-col,
  .tour-item {
    scroll-snap-align: start;
  }
}
