/* GOJOWA — kurumsal + ortak temel. IKI TEMA (Adim 31): acik (varsayilan, saf beyaz) ve koyu.
   Ayni iskelet, yalnizca renk degiskenleri farkli. Cihaz tercihi (prefers-color-scheme) ve
   kullanicinin elle secimi (html[data-theme]) - elle secim cihazi gecersiz kilar.
   Bilesenler YALNIZCA degisken kullanir; sabit hex yalnizca burada (tanimlar). */

/* Adim 40b: yazi tipleri fonts.css'te (@font-face, kendi alanimizdan). Eski tek aile kaldirildi. */

:root {
  color-scheme: light dark;

  /* ===== ACIK TEMA - varsayilan. A tasarimi (Adim 40b): beyaz zemin, sicak kirmizi, yuvarlak kartlar.
     Kontrastlar beyaz zemine gore: ink 18.0:1, muted 5.9:1, faint 4.5:1, cta beyaz yaziyla 4.59:1 (esik 4.5) ===== */
  --page:   #FFFFFF;   /* zemin */
  --paper:  #FFFFFF;   /* kart yuzeyi - ayrim kenarlikla */
  --sunk:   #FBF7F4;   /* ikincil zemin: arama kutusu, serit, fotografsiz kart */
  --warm:   #FBF7F4;
  --edge:   #EAE4DE;   /* kenarlik */
  --edge-2: #DCD3CA;   /* form ve buton kenari */
  --edge-soft: #F3EEE9;

  --ink:    #1A1614;   /* ana metin */
  --ink-2:  #3A332E;   /* kart icindeki deger metni */
  --muted:  #6B635C;   /* ikincil metin - 5.9:1 */
  --faint:  #7D746C;   /* etiket - 4.5:1 (tuvaldeki #968C84 3.3:1 kaliyordu; bir ton koyulastirildi) */

  --cta-bg:    #D1442B; /* ana renk, dugme - beyaz yaziyla 4.59:1 */
  --cta-fg:    #FFFFFF;
  --cta-hover: #B33A24;
  --buy-bg:    #F2A93B; /* ikincil dugme (satin al) - koyu yaziyla 8.8:1 */
  --buy-fg:    #241605;
  --buy-hover: #E39A2A;
  --price:     #D1442B; /* buyuk fiyat rakami */
  --ok:        #1F7A44; /* olumlu - 5.4:1 */
  --shadow:    0 8px 22px -16px rgba(0,0,0,.4);
  --band-a:    #FDE8DD; /* karsilama bandi radyal 1 (sol ust) */
  --band-b:    #FBE0D0; /* karsilama bandi radyal 2 (sag ust) */
  --pill-bg:   #FDEDE8; /* hero rozet zemini */
  --pill-fg:   #8E2B18;

  /* rozet (Best value) */
  --amber:     #9A5A08;
  --amber-bg:  #FDF3E5;
  --amber-edge:#EBD6B4;
  --best-edge: #D1442B;
  /* Adim 40b: fotograf ustu katmanlar - temadan bagimsiz (fotografin ustu her zaman koyu-ustune-beyaz) */
  --on-photo:   #FFFFFF;
  --photo-shade: linear-gradient(180deg, rgba(6,12,20,0) 42%, rgba(6,12,20,.72) 100%);
  --photo-shade-2: linear-gradient(180deg, rgba(6,12,20,.05) 30%, rgba(6,12,20,.72) 100%);
  --photo-text-shadow: 0 1px 8px rgba(0,0,0,.55);
  --ring: 0 0 0 1px rgba(0,0,0,.14);
  --ring-lift: 0 0 0 1px rgba(0,0,0,.14), 0 1px 6px rgba(0,0,0,.25);
  --ring-big: 0 0 0 1px rgba(0,0,0,.12), 0 6px 18px rgba(0,0,0,.12);
  --focus-ring: 0 0 0 3px rgba(209,68,43,.15);

  /* eski adlar - bilesenler bunlari kullaniyor; degerleri temaya baglandi */
  --red:      var(--cta-bg);
  --red-loud: var(--price);
  --red-ink:  var(--cta-hover);
  --sh-1: var(--shadow);
  --sh-2: var(--shadow);
  --sh-3: var(--shadow);
  --sh-red: 0 2px 8px rgba(192,58,23,.24);
  --sh-up: 0 -6px 20px rgba(20,19,18,.08);       /* buybar */
  --sh-flag: 0 2px 8px rgba(20,19,18,.14);      /* bayrak rozeti */
  --sh-best: 0 16px 40px rgba(192,58,23,.10);   /* one cikan kart */

  --measure: 68ch;
  --gutter: clamp(20px, 5vw, 64px);
  --r: 14px;
}

/* ===== KOYU TEMA - cihaz koyu diyorsa ve kullanici elle acik secmediyse ===== */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --page:   #0B0C0E;
    --paper:  #131519;
    --sunk:   #15171A;
    --warm:   #15171A;
    --edge:   #23262B;
    --edge-2: #2E3237;
    --edge-soft: #1C1F24;
    --ink:    #F3F0EA;   /* 17:1 */
    --ink-2:  #D8D3CA;
    --muted:  #A9A399;   /* 8.6:1 */
    --faint:  #837D74;   /* 5.6:1 */
    --cta-bg:    #E0A87B; /* bakir - kirmizi degil: beyaz yazi #D14939 uzerinde 4.44:1, esigin altinda */
    --cta-fg:    #16110D; /* bakir uzerinde ~10:1 */
    --cta-hover: #F0C7A4;
    --buy-bg:    #E0A87B; /* koyu temada satin al da bakir; kirmizi yalnizca buyuk fiyat rakaminda */
    --buy-fg:    #16110D;
    --buy-hover: #F0C7A4;
    --price:     #E08A6E; /* kirmizi burada kalir: buyuk rakam (>=24px) icin 6.6:1 */
    --band-a:    #1A1512;
    --band-b:    #17141A;
    --pill-bg:   #241C14;
    --pill-fg:   #E0A87B;
    --ok:        #8FBF8A;
    --shadow:    none;    /* koyu zeminde golge ise yaramaz; ayrim kenarlikla */
    --amber:     #E0A87B;
    --amber-bg:  #241C14;
    --amber-edge:#3A2D20;
    --best-edge: #E0A87B;
    --sh-red: none; --sh-up: none; --sh-flag: none; --sh-best: none;
  }
}

/* ===== KOYU TEMA - kullanici elle koyu sectiyse (cihaz ne derse desin). Ayni blok. ===== */
:root[data-theme="dark"] {
  --page:   #0B0C0E;
  --paper:  #131519;
  --sunk:   #15171A;
  --warm:   #15171A;
  --edge:   #23262B;
  --edge-2: #2E3237;
  --edge-soft: #1C1F24;
  --ink:    #F3F0EA;
  --ink-2:  #D8D3CA;
  --muted:  #A9A399;
  --faint:  #837D74;
  --cta-bg:    #E0A87B;
  --cta-fg:    #16110D;
  --cta-hover: #F0C7A4;
  --buy-bg:    #E0A87B; /* koyu temada satin al da bakir; kirmizi yalnizca buyuk fiyat rakaminda */
  --buy-fg:    #16110D;
  --buy-hover: #F0C7A4;
  --price:     #E08A6E; /* kirmizi burada kalir: buyuk rakam (>=24px) icin 6.6:1 */
  --band-a:    #1A1512;
  --band-b:    #17141A;
  --pill-bg:   #241C14;
  --pill-fg:   #E0A87B;
  --ok:        #8FBF8A;
  --shadow:    none;
  --amber:     #E0A87B;
  --amber-bg:  #241C14;
  --amber-edge:#3A2D20;
  --best-edge: #E0A87B;
  --sh-red: none; --sh-up: none; --sh-flag: none; --sh-best: none;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--page);
  color: var(--ink);
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; }
h1, h2, h3 { font-family: "Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif; letter-spacing: -0.022em; text-wrap: balance; }

.wrap { max-width: 1160px; margin: 0 auto; padding-inline: var(--gutter); }

/* ---------------------------------------------------------------- header */
.masthead {
  display: flex; align-items: center; gap: 24px; padding-block: 16px;
}
.masthead__logo { display: block; flex: none; }
.masthead__logo img { height: 24px; width: auto; }
.masthead__nav { display: flex; gap: 24px; font-size: 15px; font-weight: 500; align-items: center; }
.masthead__nav a { text-decoration: none; color: var(--muted); }
/* Adim 83: menu baglantisi HICBIR genislikte SARMAZ. Olculdu: 1440 pikselde
   Almanca "So funktioniert es" UC SATIRA, "Uber GOJOWA" iki satira boluneyordu -
   baslik uc kat yukseliyor ve menu listeden cok paragrafa benziyordu. */
.masthead__nav-link { white-space: nowrap; }
/* Adim 72-2: partner paneline tek kapi. Hesap baglantisindan sonra, ayni olcude
   ama CERCEVELENMIS - menudeki diger baglantilardan AYRI bir sey oldugu
   anlasilsin (baska bir dunyaya goturuyor).
   ⚠️ Adim 83: bu kural 72-2'den beri DAR EKRAN (640 piksel) blogunun ICINDE
   duruyordu - ve ayni blokta `display: none` oldugu icin cerceve HIC
   GORUNMEMISTI. Genis ekranda duz bir baglantiydi ve Almanca'da iki satira
   boluneyordu. Kural buraya, genel kisma tasindi.
   NOT: bu yoruma medya sorgusunu AYNEN yazmayin - birkac test CSS'i o metne
   gore boluyor ve yorum, blogun kendisinden once eslesip testi yaniltiyor
   (tam bunu yasadim). */
.masthead__partner { border: 1px solid var(--edge); border-radius: 999px;
  padding: 5px 12px; white-space: nowrap; }
/* Adim 83: ONAYLI PARTNERDE e-posta eki duser. Sebep olculdu: partner rozeti
   ~150 px ekliyor ve Almanca baslik 1440 pikselde bile tasiyordu (1.473 px).
   Siradan girisli musteride e-posta DURUYOR - 50-3'un kurali orada aynen
   gecerli; partner zaten girisli oldugunu rozetten de biliyor. */
.masthead__nav:has(.masthead__partner) .masthead__acct-mail { display: none; }
/* ...ve rozet varken iki ikincil baglanti 1500 pikselin altinda duser. Olculdu
   (CANLI, Bahadir'in oturumu, Almanca, 1440 px): rozet + e-posta ile tema
   dugmesi ekranin 51 piksel disinda kaliyordu. Ikisi de altbilgide; partner
   zaten "Hakkimizda"yi okumaya gelmiyor. Siradan girisli musteride DOKUNULMAZ. */
@media (max-width: 1500px) {
  .masthead__nav:has(.masthead__partner) .masthead__nav-link--opt { display: none; }
}
.masthead__nav a:hover { color: var(--ink); }
.masthead__spacer { flex: 1 1 auto; }
/* Adim 83: e-posta "Hesabim"in yaninda ikincil - 50-3'un istedigi "girisli oldugu
   anlasilsin" duruyor, ama BAGLANTI metni artik bir kelime. */
.masthead__acct-mail { margin-left: 7px; font-size: 12.5px; color: var(--faint); font-weight: 400; }
@media (max-width: 900px) { .masthead__acct-mail { display: none; } }
/* Adim 50-3: menudeki cikis dugmesi - baglantilar gibi gorunur, form oldugu belli olmasin */
.masthead__out { margin: 0; display: flex; }
.masthead__out button { border: 0; background: none; padding: 0; cursor: pointer;
  font: inherit; color: var(--muted); }
.masthead__out button:hover { color: var(--ink); }
.mastband { background: var(--page); border-bottom: 1px solid var(--edge); }
.btn--sm { min-height: 40px; padding: 8px 16px; font-size: 0.92rem; border-radius: 10px; }

/* logo: temaya gore biri gorunur (elle secim <picture media>'yi gecersiz kilar, bu yuzden CSS) */
/* NOT: bu iki <img>'e display'i SADECE asagidaki kurallar verir. Daha ozgul bir
   secici (ornegin .masthead__logo img) display verirse gizleme kurali yenilir ve
   acik temada iki logo birden cikar. Adim 41-0'da olan buydu; test_theme.py bekcisi var. */
.logo-light { display: block; }
.logo-dark  { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .logo-light { display: none; }
  :root:not([data-theme="light"]) .logo-dark { display: block; }
}
:root[data-theme="dark"] .logo-light { display: none; }
:root[data-theme="dark"] .logo-dark { display: block; }

/* tema dugmesi: gercek <button>, 44x44 dokunma alani, satir ici SVG */
.theme-toggle {
  flex: none; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--paper); color: var(--muted); border: 1px solid var(--edge-2); border-radius: 12px;
  cursor: pointer; padding: 0;
}
.theme-toggle:hover { color: var(--ink); border-color: var(--ink); }
.theme-toggle:focus-visible { outline: 2px solid var(--cta-bg); outline-offset: 2px; }
.theme-toggle__moon { display: none; }
/* ------------------------------------------------- Adim 75: dil secici (AK deseni)
   Kisa kod dugmesi -> "Dilinizi secin" paneli, izgara, her dil KENDI adiyla, BAYRAK YOK.
   summary'ye display:flex VERILMEZ - WebKit tiklamayi yutuyor (70b'nin Safari dersi);
   duzen summary'nin ICINDEKI .lang__btn'de. */
.lang { position: relative; flex: none; }
.lang > summary { list-style: none; cursor: pointer; display: block; }
.lang > summary::-webkit-details-marker { display: none; }
.lang > summary::marker { content: ""; }
.lang__btn { display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 12px;
  border: 1px solid var(--edge-2); border-radius: 12px; background: var(--paper);
  font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--ink); }
.lang > summary:hover .lang__btn { background: var(--sunk); }
.lang > summary:focus-visible { outline: 2px solid var(--cta-bg); outline-offset: 2px; border-radius: 12px; }
.lang__ok { width: 7px; height: 7px; border-right: 2px solid var(--faint); border-bottom: 2px solid var(--faint);
  transform: rotate(45deg) translate(-1px, -1px); transition: transform .12s; }
.lang[open] .lang__ok { transform: rotate(-135deg) translate(-2px, -2px); }

.lang__panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 60;
  min-width: min(560px, calc(100vw - 32px)); padding: 16px 18px 18px;
  background: var(--paper); border: 1px solid var(--edge); border-radius: 16px; box-shadow: var(--sh-3); }
.lang__title { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--faint); }
.lang__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
@media (min-width: 560px) { .lang__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 860px) { .lang__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lang__item { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border-radius: 10px;
  border: 1.5px solid transparent; text-decoration: none; color: var(--ink); font-size: 14.5px; }
.lang__item:hover { background: var(--sunk); }
.lang__item:focus-visible { outline: 2px solid var(--cta-bg); outline-offset: 1px; }
/* Secili dil YALNIZCA renkle ayrilmaz (18 ve 41 kurali): zemin + KENARLIK + isaret. */
.lang__item.is-on { background: var(--sunk); border-color: var(--cta-bg); font-weight: 700; }
.lang__tag { font-size: 11.5px; font-weight: 700; letter-spacing: .07em; color: var(--muted);
  background: var(--sunk); border: 1px solid var(--edge); border-radius: 6px; padding: 2px 6px; min-width: 32px; text-align: center; }
.lang__item.is-on .lang__tag { background: var(--paper); color: var(--ink); }
.lang__name { flex: 1 1 auto; min-width: 0; }
.lang__tick { color: var(--cta-bg); font-weight: 700; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle__sun { display: none; }
  :root:not([data-theme="light"]) .theme-toggle__moon { display: block; }
}
:root[data-theme="dark"] .theme-toggle__sun { display: none; }
:root[data-theme="dark"] .theme-toggle__moon { display: block; }

/* ---------------------------------------------- Adim 83: ARA BASAMAK (641-900)
   OLCULDU ve bu bir MIRAS: Almanca GIRISLI baslik 768 pikselde zaten TASIYORDU -
   83'ten ONCE, canlida: belgenin scrollWidth'i 1.088 px / pencere 768 px.
   Kimse gormemisti cunku 66b tarayici turu 360 ve 1440 pikseli olcuyor, 768'i
   olcmuyor (bu adimda 768 de turun listesine eklendi).

   Burada iki sey yapiliyor: iki menu baglantisi dusuyor (ikisi de altbilgide
   var) ve logo + aralik kisaliyor. 640'in altinda zaten dordu de duser. */
@media (max-width: 900px) {
  .masthead { gap: 16px; }                 /* 24 -> 16: ucu birden 24 px kazandiriyor */
  .masthead__logo img { height: 20px; }
  .masthead__nav { gap: 16px; font-size: 14px; }
  .masthead__nav-link--opt { display: none; }
  /* "Bayi paneline gec" burada da duser - 640'in altindaki kararin aynisi ve
     ayni sebeple: portal ALTBILGIDEKI "Bayiler" baglantisindan da aciliyor
     (onayli bayiyi dogrudan panele atar).
     ⚠️ BU SATIR CANLIDA OLCULEREK BULUNDU: tur GIRISSIZ geziyor ve bu baglanti
     yalnizca ONAYLI PARTNERDE cikiyor - yani turun hic goremedigi bir durum.
     Bahadir'in oturumuyla 768 pikselde olculdu: baglanti 111 px ekliyordu ve
     belge 868 pikselde tasiyordu. */
  .masthead__partner { display: none; }
}

@media (max-width: 640px) {
  .masthead { padding-block: 12px; gap: 8px; min-width: 0; }
  .masthead__logo img { height: 18px; }
  .masthead__nav { gap: 14px; font-size: 14px; min-width: 0; }
  /* Adim 75: dar baslikta dugme zaten kisa kod (EN/DE...).
     PANEL EKRANA SABITLENIR. Ilk deneme "right:-8px + width:100vw-24px" idi ve
     panel SOLDAN 32 px TASIYORDU (olculdu: sol kenar -32, baslik kesik): dugme
     ekranin sagina yapisik degil, panel ona gore hizalaninca disari tasiyor.
     position:fixed + left/right: dugme nerede olursa olsun panel ekranin icinde. */
  .lang__btn { height: 40px; padding: 0 10px; font-size: 12px; }
  .lang__panel { position: fixed; left: 12px; right: 12px; top: 64px;
    min-width: 0; width: auto; padding: 14px; max-height: calc(100vh - 80px); overflow-y: auto; }

  /* Adim 75: girisli dar baslikta "Bayi paneline gec" gizlenir. Olculdu: hesap
     baglantisi -31 pikselde basliyordu, yani LOGONUN USTUNE biniyordu. Portal
     altbilgideki "Bayiler" baglantisindan da aciliyor (onayli bayiyi panele atar).
     Tur bunu goremez: tur girissiz geziyor, bu yalnizca girisli basliktaydi. */
  .masthead__partner { display: none; }

  /* Adim 75b: girisli dar baslikta hesap baglantisi LOGONUN USTUNE biniyordu
     (olculdu: sol kenar -31, sonra 125 - logo 20..170 arasinda). Sebep: e-postanin
     yerel kismi uzun olabiliyor ve baglantinin genislik siniri yoktu.
     Gizlemiyoruz - 50-3'un karari "girisli oldugu ANLASILSIN" (Bahadir bes gun
     girisli gezip fark etmemisti). Kisaltiyoruz: "bahad…" bile o isi gorur. */
  .masthead__nav { min-width: 0; }
  .masthead__nav { flex: 1 1 auto; justify-content: flex-end; overflow: visible; }
  .masthead__spacer { display: none; }
  .theme-toggle { width: 36px; height: 40px; }
  /* Adim 83: ARTIK SINIFA BAKIYOR, POZISYONA DEGIL.
     Eskisi `a:first-child` / `a:nth-child(2)` idi; menuye sira ORTASINDAN oge
     eklemek dar ekranda duzeni bozuyordu ve 75b/75c'de iki ayri duzeltme
     gerekmisti. Dort icerik baglantisi da telefonda duser: hepsi altbilgide
     var ve dar baslikta logo + hesap + dil + tema zar zor siginiyor. */
  .masthead__nav-link { display: none; }
  /* Adim 50-3: dar baslikta "@…" eki gizlenir - "ek…" hangi hesap oldugunu soylemez,
     yerel kisim soyler.
     Adim 75b: yerel kisim da UZUN olabiliyor ve baglanti LOGONUN USTUNE biniyordu
     (olculdu, girisli 390 px: sol kenar -31). Gizlemiyoruz - 50-3'un karari
     "girisli oldugu ANLASILSIN"; kisaltiyoruz, cunku "bahad…" bile o isi gorur. */
  /* Adim 83: telefonda "Cikis yap" DUSER, "Hesabim" KALIR.
     Olculdu (390 px, Almanca girisli): ikisi birden sigmiyor ve esnek kutu
     once hesap baglantisini eziyordu - ekranda yalnizca "M" kaliyordu. Tek
     harf hangi sayfaya gittigini SOYLEMEZ ve 83'un butun amaci o yaziyi
     okunur yapmakti.
     Cikis dusurulebilir cunku /account/ sayfasinin EN USTUNDE "Cikis yap"
     dugmesi duruyor; "Hesabim" oraya goturuyor zaten.
     50-3 bozulmadi: girisli kullanici "Hesabim", girissiz "Giris yap"
     goruyor - hangisi oldugu yaziyla belli. */
  .masthead__out { display: none; }
  .masthead__nav .masthead__acct { white-space: nowrap; flex: 0 0 auto;
    max-width: 130px; overflow: hidden; text-overflow: ellipsis; }

  /* Adim 83: e-posta eki dar ekranda duser. 50-3 bozulmadi: "Hesabim" + "Cikis yap"
     gorunurken girisli oldugu belli (girissiz kullanici "Giris yap" goruyor). */
  .masthead__nav .masthead__acct-mail { display: none; }
}

/* ------------------------------------------------------------------ hero */
.heroband {
  background:
    radial-gradient(120% 130% at 10% 0%, var(--band-a) 0%, transparent 58%),
    radial-gradient(90% 110% at 94% 4%, var(--band-b) 0%, transparent 60%),
    var(--sunk);
  border-bottom: 1px solid var(--edge);
}
.hero { padding-block: clamp(44px, 8vw, 88px) clamp(40px, 7vw, 72px); }

.chip {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 600; letter-spacing: .01em;
  color: var(--amber); background: var(--amber-bg);
  border: 1px solid var(--amber-edge); border-radius: 999px;
  padding: 7px 14px; margin: 0 0 24px;
}
.chip::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--red-loud); flex: none;
}

.hero h1 {
  font-size: clamp(2.1rem, 5.2vw, 3.4rem);
  font-weight: 800; line-height: 1.02; letter-spacing: -0.03em;
  margin: 0 0 clamp(18px, 3vw, 26px); max-width: 15ch;
  text-wrap: balance;
}
.hero h1 em { font-style: normal; color: var(--red-loud); }

.hero__lede {
  font-size: clamp(1.05rem, 2.1vw, 1.25rem);
  line-height: 1.55; color: var(--muted);
  max-width: 54ch; margin: 0;
}
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }

/* Adim 31: hero iki sutun - solda metin + iki buton, sagda "her kartta yazan seyler" kutusu */
.hero--split { display: grid; gap: 32px; align-items: start; }
@media (min-width: 960px) { .hero--split { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; } }
.promise { background: var(--paper); border: 1px solid var(--edge); border-radius: 20px; padding: 24px; box-shadow: var(--shadow); }
.promise__label { margin: 0 0 16px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--faint); }
.promise__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.promise__list li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--muted); }
.promise__list b { color: var(--ink); font-weight: 600; }
.promise__list svg { flex: none; width: 20px; height: 20px; margin-top: 2px; stroke: var(--ok); fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

/* --------------------------------------------------------------- section */
.section { padding-block: clamp(48px, 7vw, 80px); }   /* 4px ritmi */
.section + .section { border-top: 1px solid var(--edge); }

.section__label {
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--faint); margin: 0 0 14px;
}
.section__title {
  font-size: clamp(1.6rem, 3.4vw, 2.35rem); font-weight: 700;
  letter-spacing: -0.026em; line-height: 1.12; margin: 0 0 14px; max-width: 24ch;
  text-wrap: balance;
}
.section__intro { color: var(--muted); max-width: var(--measure); margin: 0 0 clamp(26px, 4vw, 38px); }

/* ----------------------------------------------------------------- fixes */
.fixes { display: grid; gap: 18px; }
@media (min-width: 720px) { .fixes { grid-template-columns: 1fr 1fr; } }

.fix {
  background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r);
  padding: clamp(22px, 3vw, 28px); box-shadow: var(--sh-1);
}
.fix__n { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--red); margin: 0 0 12px; }
.fix__problem { font-size: 1.02rem; font-weight: 600; line-height: 1.35; margin: 0 0 10px; letter-spacing: -0.008em; }
.fix__answer { color: var(--muted); margin: 0; font-size: 0.96rem; }

/* ---------------------------------------------------------------- status */
.statusband { background: var(--sunk); border-block: 1px solid var(--edge); }
.status { display: grid; gap: 1px; background: var(--edge); }
@media (min-width: 640px) { .status { grid-template-columns: repeat(3, 1fr); } }
.status__item { background: var(--sunk); padding: clamp(22px, 3vw, 30px) clamp(20px, 2.4vw, 28px); }
.status__item:first-child { padding-left: 0; }
.status__item:last-child { padding-right: 0; }
@media (max-width: 639px) { .status__item { padding-inline: 0; } }
.status__k { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--faint); margin: 0 0 8px; }
.status__v { margin: 0; font-weight: 500; }

/* ----------------------------------------------------------------- prose */
.prose { max-width: var(--measure); }
.prose h2 { font-size: 1.35rem; font-weight: 700; letter-spacing: -0.018em; margin: 40px 0 12px; }
.prose h2:first-child { margin-top: 0; }
.prose p, .prose li { color: var(--muted); }
.prose li { margin-bottom: 8px; }
.prose a { color: var(--ink); text-decoration-color: var(--red); text-underline-offset: 3px; }
.prose__meta { font-size: 14px; color: var(--muted); margin-bottom: 36px; }

/* --------------------------------------------------------------- contact */
.mailrow { display: grid; gap: 14px; margin-block: 8px 0; }
@media (min-width: 640px) { .mailrow { grid-template-columns: repeat(3, 1fr); } }
.mailrow__cell { background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r); padding: 22px; box-shadow: var(--sh-1); }
.mailrow__k { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--faint); margin: 0 0 8px; }
.mailrow__cell a { font-weight: 500; text-decoration-color: var(--red); text-underline-offset: 3px; }

/* ---------------------------------------------------------------- footer */
.foot { background: var(--paper); border-top: 1px solid var(--edge); padding-block: 36px 52px; font-size: 14px; color: var(--muted); }
.foot__grid { display: flex; flex-wrap: wrap; gap: 18px 32px; align-items: baseline; justify-content: space-between; }
.foot__links { display: flex; flex-wrap: wrap; gap: 20px; }
.foot__links a { text-decoration: none; }
.foot__links a:hover { color: var(--ink); }
.foot__note { max-width: 66ch; margin: 22px 0 0; color: var(--faint); }

:where(a, button, input, summary):focus-visible {
  outline: 2px solid var(--red); outline-offset: 3px; border-radius: 4px;
}


/* ================================================================= A tasarimi (Adim 40b) */
/* rozet: "3.100 plan · 204 destinasyon" */
.pillnote { display: inline-flex; gap: 7px; align-items: center; background: var(--pill-bg); color: var(--pill-fg);
  font-size: 12.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; margin: 0 0 14px; }
/* karsilama bandi: metin + arama + hizli baglantilar | sagda fotograf */
/* 66b: "minmax(0, 1fr)" SART. Izgara ogesinin varsayilan alt siniri kendi
   icerigidir; baslikta "max-width: 15ch" var ve 360 piksellik telefonda bu 345 piksel
   ediyor, yani 320 piksellik kutudan genis. Izgara ona gore buyuyup sayfayi iki piksel
   tasiriyordu - gozle gorulmez ama telefon yana kayiyor. */
.hero--a { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: center;
  padding-block: clamp(30px, 5vw, 48px) clamp(28px, 4vw, 40px); }
@media (min-width: 900px) { .hero--a { grid-template-columns: 1.12fr .88fr; } }
.hero--a .hero__lede { font-size: 1rem; margin-top: 10px; max-width: 44ch; }
.abar { display: flex; gap: 8px; margin-top: 18px; background: var(--paper); border: 1px solid var(--edge);
  border-radius: 999px; padding: 6px; box-shadow: var(--shadow); }
.abar input { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 15px;
  padding: 0 14px; color: var(--ink); }
.abar input::placeholder { color: var(--faint); }
.abar input:focus-visible { outline: none; }
.abar:focus-within { border-color: var(--cta-bg); box-shadow: var(--focus-ring); }
.abar .btn { border-radius: 999px; }
.quick { display: flex; gap: 7px; margin-top: 12px; flex-wrap: wrap; }
.quick a { text-decoration: none; font-size: 13px; font-weight: 600; color: var(--muted); background: var(--paper);
  border: 1px solid var(--edge); border-radius: 999px; padding: 5px 12px 5px 6px; display: inline-flex; gap: 7px; align-items: center; }
.quick a:hover { color: var(--ink); border-color: var(--edge-2); }
.quick img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; box-shadow: var(--ring); }
.heroart { aspect-ratio: 4/3; border-radius: 18px; overflow: hidden; border: 1px solid var(--edge); box-shadow: var(--shadow);
  position: relative; background: var(--sunk); }
.heroart img { display: block; width: 100%; height: 100%; object-fit: cover; }
.heroart .cap { position: absolute; left: 16px; bottom: 14px; color: var(--on-photo); font-weight: 700; font-size: 15px;
  text-shadow: var(--photo-text-shadow); z-index: 2; margin: 0; }
.heroart .shade { position: absolute; inset: 0; background: var(--photo-shade); }
@media (max-width: 899px) { .heroart { aspect-ratio: 16/9; } }

/* bolum basligi */
.sechd { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.sechd h2 { font-size: 1.25rem; font-weight: 700; margin: 0; }
.sechd span { font-size: 13.5px; color: var(--faint); }
.sechd .more { margin-left: auto; font-size: 13.5px; font-weight: 600; color: var(--cta-bg); text-decoration: none; }

/* fotografli destinasyon kartlari */
.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
@media (max-width: 900px) { .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tile { position: relative; border-radius: 14px; overflow: hidden; text-decoration: none; color: inherit; display: flex;
  flex-direction: column; background: var(--paper); border: 1px solid var(--edge); transition: box-shadow .14s, transform .14s; }
.tile:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.tile__img { aspect-ratio: 4/3; position: relative; overflow: hidden; background: var(--sunk); }
.tile__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tile__img img.tile__flag { position: absolute; top: 10px; left: 10px; z-index: 2; width: 26px; height: 26px; border-radius: 50%;
  object-fit: cover; box-shadow: var(--ring-lift); }
/* fotografsiz kart: bayrak buyuk, zemin --sunk - bos gri kutu DEGIL, tasarimin parcasi */
.tile__img--nophoto { display: flex; align-items: center; justify-content: center; }
.tile__img--nophoto img.tile__bigflag { width: 44%; height: auto; aspect-ratio: 1; border-radius: 50%; object-fit: cover;
  box-shadow: var(--ring-big); }
.tile__row { display: flex; align-items: center; justify-content: space-between; gap: 4px 8px; padding: 10px 12px; flex-wrap: wrap; }
/* Adim 44c: Fransizca/Portekizce "à partir de 0,80 $" dar kartta sigmaz - fiyat alt satira iner, kesilmez */
.tile__row b { font-size: 14.5px; font-weight: 700; }
.tile__row span { font-size: 13px; font-weight: 800; color: var(--price); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* sekmeler: Ulke / Bolge / Global / Ses+SMS (kapali) */
.segs { display: flex; gap: 2px; background: var(--sunk); border: 1px solid var(--edge); border-radius: 12px; padding: 3px;
  width: fit-content; max-width: 100%; overflow-x: auto; margin: 0 0 16px; }
.seg { border: 0; background: transparent; font: inherit; font-size: 14px; font-weight: 600; color: var(--muted);
  padding: 8px 15px; border-radius: 9px; white-space: nowrap; cursor: pointer; text-decoration: none; }
.seg[aria-selected="true"] { background: var(--cta-bg); color: var(--cta-fg); }
.seg[aria-disabled="true"] { color: var(--faint); cursor: default; }
.seg__soon { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin-left: 6px; opacity: .8; }

/* guven seridi */
.trustrow { display: flex; gap: 22px; flex-wrap: wrap; font-size: 13.5px; font-weight: 500; padding: 14px 0; color: var(--muted); }
.trustrow div { display: flex; gap: 8px; align-items: center; }
.trustrow b { color: var(--ink); }
.trustband { background: var(--sunk); border-block: 1px solid var(--edge); }

/* destinasyon sayfasi: fotograf basligi */
.dhero { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 21/9; background: var(--sunk); border: 1px solid var(--edge); }
.dhero img.dhero__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dhero .shade { position: absolute; inset: 0; background: var(--photo-shade-2); }
.dhero__cap { position: absolute; left: clamp(16px, 3vw, 28px); bottom: clamp(14px, 3vw, 24px); right: 16px; z-index: 2; color: var(--on-photo); }
.dhero__cap h1 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.6rem); color: var(--on-photo); text-shadow: var(--photo-text-shadow); }
.dhero__cap .dhero__flag { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; box-shadow: var(--ring); display: block; margin-bottom: 8px; }
.dhero--nophoto { aspect-ratio: auto; padding: clamp(22px, 4vw, 36px); display: flex; gap: 18px; align-items: center; }
.dhero--nophoto h1 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.6rem); }
.dhero--nophoto .dhero__flag { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; box-shadow: var(--ring); }
.credit { font-size: 12px; color: var(--faint); margin: 8px 0 0; }
.credit a { color: inherit; }
@media (max-width: 640px) { .dhero { aspect-ratio: 16/10; } }
.devicebtn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-size: 14px; font-weight: 600; color: var(--ink);
  background: var(--paper); border: 1px solid var(--edge-2); border-radius: 999px; padding: 9px 14px; }
.devicebtn:hover { border-color: var(--ink); }
.dtop { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin: 18px 0 8px; }

/* footer atif */
.foot__credit a { color: inherit; }

/* Adim 42: hukuki sayfalarda baglayicilik satiri */
.legalnote { font-size: 13.5px; color: var(--muted); background: var(--sunk); border: 1px solid var(--edge); border-radius: 10px; padding: 8px 12px; margin: 0 0 14px; display: inline-block; }

/* Adim 74-A: bal kupu. Gorunmez ama display:none DEGIL - bazi botlar display:none
   alanlari atliyor. Ekran okuyucudan da uzak: sablonda aria-hidden + tabindex=-1. */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
