/*
 * HOP UYGULAMA TIPOGRAFISI — TEK KAYNAK  (5 Eylul 2026)
 *
 * Muhammet: *"yazilar uygulama ici cansiz gorunuyor, HOP Gonder'de de ayniydi."*
 *
 * ⛔ OLCULDU: marka fontu **Outfit** yedi blade layout'unda yuklu
 *   (admin · merchant · public · courier · customer · customer-portal · ops)
 *   ama IKI MOBIL UYGULAMANIN IKISI DE yuklemiyordu:
 *   `public/kurye/index.html` · `public/musteri/index.html`
 *   ⇒ sitede Outfit, uygulamada isletim sisteminin varsayilan fontu.
 *   "Cansiz" gorunmesinin sebebi buydu — renk degil, FONT.
 *
 * ⛔ KURAL KOPYALANMAZ: iki HTML'e ayri ayri font-family yazilsaydi yarin
 *   biri degisir, digeri geride kalirdi (safe-area betiginde tam bu oldu).
 *   Iki uygulama da bu dosyayi yukler; degisiklik tek yerden gecer.
 *
 * ⚠ Font YEREL (`/fonts/local.css`, 31 Tem 2026 KVKK karari — Google Fonts
 *   cagrisi kaldirilmisti). Disariya istek YOK; sahada agsiz kalan kurye
 *   fontu onbellekten alir, alamazsa yedek yigin devreye girer (bugunku hal).
 */

:root {
  --hop-font: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

html, body {
  font-family: var(--hop-font);

  /*
   * ⚠ Kurye uygulamasinda font yumusatma HIC YOKTU (Gonder'de vardi).
   * Android WebView'de yumusatmasiz metin kalin ve kaba cikar — ayni
   * yazi, ayni boyut, farkli his. Iki uygulamada da esitlendi.
   */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Form ogeleri fontu miras almaz — tarayici kendi varsayilanini koyar. */
input, button, textarea, select {
  font-family: var(--hop-font);
}

/*
 * Rakamlar TABLO HIZASINDA: para ve sayac satirlarinda rakam genislikleri
 * esitlenir, tutar degistikce satir oynamaz (cuzdan · kasa · gunluk ozet).
 */
.order-earning, .wallet-amount, .stat-value,
[class*="tutar"], [class*="amount"], [class*="balance"] {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}

/*
 * ⛔ ALT SAYFA PANELİ — SİSTEM TUŞLARININ ÜSTÜNE BİNMEZ  (5 Eylül 2026)
 *
 * Muhammet: *"vazgeç tuşlara denk geliyor."*
 * Ekrandan ölçüldü: teslim modalının "Vazgeç" düğmesi Android'in gezinme
 * çubuğuna (kare · daire · geri) BİTİŞİK duruyordu; kurye teslim etmeye
 * çalışırken sistem tuşuna, sistem tuşuna basarken Vazgeç'e denk geliyordu.
 *
 * ⛔ TEK KAYNAK: aynı kusur bütün alt-sayfa panellerinde var (teslim ·
 *   teslim edilmedi · tahsilat · iade alımı · paket eylemleri). Her birine
 *   ayrı ayrı dolgu yazılsaydı biri unutulur, kusur oradan geri gelirdi.
 *   Ölçüt YAPISAL: ekranın altına yaslanan her panel.
 *
 * ⚠ `env(safe-area-inset-bottom)` cihaz çentiğini/çubuğunu verir; bazı
 *   Android sürümlerinde 0 döner — bu yüzden üzerine SABİT bir pay da
 *   eklenir. Tek başına safe-area'ya güvenmek bu ekranda yetmiyordu.
 */
[style*="position:fixed"][style*="align-items:flex-end"] > div,
/* ⛔ TEK MEKANIZMAYA GUVENILMEZ — 6 Eylul 2026 (nobetci yakaladi).
     Yalnizca `env()` yazmistim:
       · iOS'ta calisir  (env() dolu, --safe-bot tanimsiz)
       · Android 15'te KOR (env() 0 doner, degeri --safe-bot tasir)
     Depodaki 12 dosyada kullanilan desen `max(...)` — bu dosyaya
     uygulamayi ATLAMISIM. Hangisi buyukse o alinir. */
[style*="position: fixed"][style*="align-items: flex-end"] > div {
  padding-bottom: calc(max(env(safe-area-inset-bottom, 0px), var(--safe-bot, 0px)) + 28px) !important;
}

/*
 * ⛔ 10 EYLUL 2026 — iOS'TA EKRAN KENDILIGINDEN BUYUYOR
 *
 *   Muhammet: *"aplede ekran buyuyor, butumesin, neyse o kalsin."*
 *
 * ⛔ VIEWPORT ETIKETI TEK BASINA YETMEZ. `user-scalable=no` iOS 10'dan
 *   beri YOK SAYILIYOR (bu depoda daha once olculmus: kurye/index.html:87).
 *   iOS'un gercek kurali sudur: 16px'ten KUCUK yazi tipine sahip bir
 *   form alanina odaklaninca sayfayi OTOMATIK BUYUTUR. Odaklaninca
 *   buyur, cikinca kuculur — kullanicinin gordugu "ekran gidip geliyor".
 *
 * ⚠ Cozum yazinin GORUNUSUNU degistirmeden olmali: 16px esigin TAM
 *   kendisidir, bir alt deger (15.9px) yine buyutur.
 * ⚠ Yalnizca DOKUNMATIK cihazda uygulanir: masaustunde 13-14px form
 *   alanlari tasarimin parcasi, orada buyutmeye gerek yok.
 * ⚠ `!important` bilerek: alan bazli satir ici stiller (style="font-size:13px")
 *   yuzlerce yerde duruyor; tek tek duzeltmek yerine tek kuralla kapatilir.
 */
@media (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea {
    font-size: 16px !important;
  }
}

/*
 * ⚠ Ek onlem — parmakla yakinlastirma (pinch). Viewport etiketi iOS'ta
 *   yok sayildigi icin dokunma davranisi CSS'ten kisitlanir.
 *   `manipulation`: kaydirma ve tek dokunus CALISIR, cift dokunusla
 *   yakinlastirma calismaz. Sayfayi kullanilamaz yapmadan zoom'u keser.
 */
@media (pointer: coarse) {
  html { touch-action: manipulation; }
}
