/* ==========================================================================
   EXPRESS -- stoktan hemen teslim bandi (template-parts/home/stokta.php)
   Kapsam: yalnizca .kvl-ex. Baska hicbir bolume dokunmaz.

   ⚠ 2. TUR -- kullanici geri bildirimi:
     "tam genislik olmasi guzel ama fazla hareketli. kartlarin koseleri
      90 derece uymadi."
   Onceki surumde sonsuz kayan serit vardi. KALDIRILDI. Bu sitede hover'da
   yukselme bile "cok WordPress" diye elenmisti; surekli hareket o cizginin
   otesindeydi -- dikkati caliyor, okumayi zorlastiriyor, mobilde pil yiyor.

   "Hiz" artik hareketle DEGIL, uc sabit isaretle kuruluyor:
     1. Tam genislikte KOYU bant -- sayfanin geri kalani beyaz/krem; bu bant
        baska bir "mod". Renk degisimi, animasyon degil.
     2. Serit sayfanin sag kenarindan TASARAK cikar: durur, ama yonu vardir.
        Kesilen kart "devami var"i animasyonsuz soyler; kaydirma kullanicinin
        elinde.
     3. Tipografi: aralikli kucuk ETIKET + siki aralikli kisa cumle. Sayfanin
        diger basliklari buyuk ve siki; bu ters yonde -- ayrisma buyutmeyle
        degil, karsitlikla kuruluyor.

   ⚠ Urun gorselleri BEYAZ ZEMINLI kupur. Koyu bantta kartlar bu yuzden BEYAZ
     plaka uzerinde duruyor -- kupurun zemini plakayla ayni, kutu gorunmuyor.
     (Ayni gerekce .k-postcard__plate icin theme.css:502'de yazili.)
   ========================================================================== */

.kvl-ex {
  /* ⚠ RENK SINYALI (3. tur: "express oldugunu gosteren bir renk grafik yok ki").
     Bant artik notr siyah degil, MARKA BORDOSU. Neden bant, neden kucuk bir
     rozet degil: koyu zeminde bordo METIN okunmuyor -- olculdu, #83283A/#1D1B19
     = 1.90:1, AA icin 4.5 gerekiyor. Kucuk bordo bir isaret ya gorunmez olurdu
     ya da uydurma bir acik ton gerektirirdi. Bandin KENDISI renk olunca sinyal
     uzaktan okunuyor ve beyaz metin 13.88:1 ile rahat geciyor.
     ⚠ ALTIN KULLANILMADI -- o Premium hattinin dili, Express onunla karismamali.
     ⚠ Renk TEK BASINA anlam tasimiyor: "EXPRESS" kelimesi damgada yaziyor,
     baslik ve govde de vaadi metinle soyluyor. Renk yalnizca vurgu.
     Degistirmek icin tek satir: --kx-bg / --kx-stamp / --kx-stamp-ink. */
  --kx-bg: var(--brand-burgundy-700, #55151F);
  --kx-stamp: var(--brand-cream, #E6D4C0);
  --kx-stamp-ink: var(--brand-burgundy-700, #55151F);
  --kx-card: 260px;
  --kx-gap: var(--space-6);
  /* ⚠ 4. TUR (kullanici): "Bantı sola doğru yasla, sol ve sağ akışı göstersin
     sanki kaydırılabilirmiş gibi."
     ONCE: `--kx-inset` kap girintisine esitti, ilk kart BASLIKLA HIZALI
     basliyordu; genis ekranda serit ortada duruyor, solunda genis olu bordo
     alan kaliyordu. Serit "raf" gibi degil, "izgara" gibi okunuyordu.
     SIMDI: girinti SAYFA olugu -- serit iki uctan da tasar. Kesilen kart
     "devami var"i animasyonsuz soyler; yon iki tarafa birden okunur. */
  --kx-inset: var(--gutter);
  /* Uc solma genisligi: kart genisliginin ucte biri -- kesilen kart tamamen
     kaybolmaz, sadece zemine karisir. */
  --kx-fade: clamp(28px, 6vw, 88px);
  margin-top: var(--section-y);
  padding-block: var(--space-12) var(--space-11);
  background: var(--kx-bg);
  color: var(--grey-0, #FFFFFF);
  overflow: hidden;
}

/* --- Baslik --- */
.kvl-ex__head {
  display: flex; flex-wrap: wrap; align-items: flex-end;
  justify-content: space-between; gap: var(--space-6) var(--space-8);
}
.kvl-ex__copy { max-width: 46ch; }
.kvl-ex__t { margin: 0; display: block; }
/* ⚠ text-transform: uppercase HICBIR YERDE KULLANILMIYOR (Turkcede i -> I bozar).
   "EXPRESS" kaynakta zaten buyuk harfli ve Latin -- Turkce harf icermiyor.

   Baslik iki katmanli: ETIKET + CUMLE.
   Onceki surumde "EXPRESS" 72px'ti ve altinda "stoktan hemen teslim" yaziyordu;
   hemen ardindan gelen govde cumlesi AYNI SEYI ucuncu kez soyluyordu. Kullanici
   bu sitede tekrar eden bilgiyi daha once reddetti. Simdi: etiket markayi,
   cumle vaadi, govde ise vaadin OLCUSUNU (4-8 hafta) soyluyor -- ucu de farkli.
   Ayrisma buyuk puntoyla degil, aralikli kucuk etiket ile kuruluyor: sayfadaki
   diger bolum basliklari siki aralikli ve buyuk; bu ters yonde. */
/* Damga: dolu zemin. Duz renkli METIN olarak birakilamazdi -- bkz. yukaridaki
   kontrast olcumu. Dolu zemin hem gecerli kontrast verir hem de "muhur"
   karakteri tasir: bu bolum digerlerinden farkli bir sey soyluyor. */
.kvl-ex__label {
  display: inline-block; margin-bottom: var(--space-5);
  padding: 6px var(--space-4) 5px;
  border-radius: var(--radius-chip);
  background: var(--kx-stamp); color: var(--kx-stamp-ink);
  font-size: var(--size-caption); line-height: 1;
  letter-spacing: .28em; font-weight: 600;
  /* ⚠ letter-spacing sagda bosluk birakir; damga icinde saga kayik durur. */
  text-indent: .28em;
}
.kvl-ex__word {
  display: block;
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.08;
  letter-spacing: var(--ls-tight);
  font-weight: 600;
}
.kvl-ex__b {
  margin: var(--space-5) 0 0;
  font-size: var(--size-body); line-height: var(--lh-body);
  color: rgba(255, 255, 255, .72);
}
.kvl-ex__aside {
  flex: 0 0 auto; display: flex; align-items: center; gap: var(--space-7);
}
.kvl-ex__cta {
  flex: 0 0 auto; color: var(--brand-cream, #E6D4C0);
  font-size: var(--size-body-sm); font-weight: 500;
  letter-spacing: var(--ls-normal); text-decoration: none;
  border-bottom: 1px solid rgba(230, 212, 192, .38);
  padding-bottom: 2px;
  transition: border-color var(--duration-fast) var(--ease-standard);
}
.kvl-ex__cta:hover { border-bottom-color: var(--brand-cream, #E6D4C0); }

/* --- Kaydirma kontrolu ---------------------------------------------------
   ⚠ Serit gostergesi olarak kesilen kart tek basina yetmiyordu: masaustunde
   fare tekerlegi yatay kaydirmaz. Gercek <button>, klavyeyle erisilebilir,
   iki dilli aria-label. Dokunmatikte GIZLENIR -- orada kaydirma zaten dogal
   ve parmakla yapiliyor. */
.kvl-ex__nav { display: flex; gap: var(--space-3); }
.kvl-ex__nav[hidden] { display: none; }
.kvl-ex__arrow {
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--control-h-md, 40px); height: var(--control-h-md, 40px);
  padding: 0; border-radius: var(--radius-circle);
  background: transparent; color: var(--brand-cream, #E6D4C0);
  border: 1px solid rgba(230, 212, 192, .42);
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-standard),
              border-color var(--duration-fast) var(--ease-standard);
}
.kvl-ex__arrow:hover:not(:disabled) {
  background: rgba(230, 212, 192, .14); border-color: var(--brand-cream, #E6D4C0);
}
.kvl-ex__arrow:focus-visible {
  outline: 2px solid var(--brand-cream, #E6D4C0); outline-offset: 3px;
}
/* ⚠ Uclarda GIZLENMEZ: kaybolan dugme yerlesimi ziplatir. Devre disi kalir. */
.kvl-ex__arrow:disabled { opacity: .3; cursor: default; }
@media (hover: none) and (pointer: coarse) {
  .kvl-ex__nav { display: none; }
}

/* --- Serit: KENDILIGINDEN HAREKET ETMEZ. Gercek yatay kaydirma. --- */
.kvl-ex__lane {
  /* Dikey dolgu odak halkasi kirpilmasin diye (outline-offset: 4px). */
  margin-top: calc(var(--space-10) - var(--space-3));
  padding-block: var(--space-3);
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x proximity;
  /* ⚠ OLCULDU: bu satir olmadan ilk kart x=0'da duruyordu, baslik ise x=124'te.
     Tutturma penceresi (snapport) kabin dolgu kutusundan baslar; dolgu IZ'de
     oldugu icin tarayici seridi 124px kaydirip ilk karti sol kenara yapistiriyordu.
     scroll-padding pencereyi ayni girintiye ceker -> kart baslikla hizalanir. */
  scroll-padding-inline: var(--kx-inset);
  scrollbar-width: none;
}
.kvl-ex__lane::-webkit-scrollbar { display: none; }
/* ⚠ Uc solmasi MASKE ile, ustune konan gradyan KATMANIYLA degil: bant rengi
   (--kx-bg) tek yerde tanimli kalsin; ikinci bir kopya renk kaymasi uretir.
   ⚠ Sol solma yalniz KAYDIRILINCA aciliyor (`data-kx-sol`): sayfa acilir
   acilmaz solda solma gostermek "solda da icerik var" demek olurdu -- yok. */
.kvl-ex__lane {
  --kx-mask-sol: 0px;
  -webkit-mask-image: linear-gradient(to right,
    transparent 0, #000 var(--kx-mask-sol),
    #000 calc(100% - var(--kx-fade)), transparent 100%);
          mask-image: linear-gradient(to right,
    transparent 0, #000 var(--kx-mask-sol),
    #000 calc(100% - var(--kx-fade)), transparent 100%);
}
.kvl-ex__lane[data-kx-sol="1"] { --kx-mask-sol: var(--kx-fade); }
/* Sag ucta artik icerik yoksa sag solmayi da kapat -- bos zemini soldurmak
   sahte derinlik olurdu. */
.kvl-ex__lane[data-kx-sag="0"] {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--kx-mask-sol), #000 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--kx-mask-sol), #000 100%);
}
.kvl-ex__track {
  display: flex; gap: var(--kx-gap); width: max-content;
  /* ⚠ Kaydirma dolgusu IZ'e verilir, kaba DEGIL: flex kaydirma kabinda
     `padding-inline-end` cogu tarayicida kaydirma sinirina eklenmez. */
  padding-inline: var(--kx-inset);
}
.kvl-ex__set {
  display: flex; gap: var(--kx-gap);
  margin: 0; padding: 0; list-style: none;
}
.kvl-ex__item { flex: 0 0 var(--kx-card); scroll-snap-align: start; }
.kvl-ex__card { display: block; color: inherit; text-decoration: none; }
/* ⚠ Kose yaricapi UYDURULMADI: anasayfadaki gorsel levhalarin hepsi
   --radius-xl kullaniyor -- kategori karolari (theme.css:418), ilham gorseli
   (v13-fixes.css:123), yazi karti levhasi (theme.css:505). EXPRESS kartlari
   bu ucunun tam arasinda duruyor, ayni token. */
.kvl-ex__plate {
  display: block; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--grey-0, #FFFFFF);
  border-radius: var(--radius-xl);
}
.kvl-ex__img { display: block; width: 100%; height: 100%; object-fit: contain; }
.kvl-ex__meta { display: block; margin-top: var(--space-4); }
.kvl-ex__name {
  display: block; font-size: var(--size-h3); font-weight: 600;
  letter-spacing: var(--ls-normal);
  transition: color var(--duration-fast) var(--ease-standard);
}
.kvl-ex__sub {
  display: block; margin-top: var(--space-1);
  font-size: var(--size-body-sm); line-height: var(--lh-body-sm);
  color: rgba(255, 255, 255, .58);
}
/* Hover = yalnizca renk. Yukselme/golge YOK. */
.kvl-ex__card:hover .kvl-ex__name { color: var(--brand-cream, #E6D4C0); }
.kvl-ex__card:focus-visible {
  outline: 2px solid var(--brand-cream, #E6D4C0); outline-offset: 4px;
  border-radius: var(--radius-xl);
}

/* --- Mobil --- */
@media (max-width: 640px) {
  .kvl-ex { --kx-card: 208px; --kx-gap: var(--space-5); padding-block: var(--space-10) var(--space-9); }
  .kvl-ex__head { align-items: flex-start; }
  .kvl-ex__aside { width: 100%; }
  .kvl-ex__lane { margin-top: var(--space-8); }
}

/* --- Hareket azaltilmis --------------------------------------------------
   Bantta kendiliginden baslayan hareket ZATEN YOK. Geriye iki sey kaliyor:
   kullanicinin kendi kaydirmasindaki tutturma (snap) ve hover renk gecisi.
   Vestibuler duyarliligi olanda snap'in "cekmesi" rahatsizlik verebilir --
   kapatiliyor. */
@media (prefers-reduced-motion: reduce) {
  .kvl-ex__lane { scroll-snap-type: none; scroll-behavior: auto; }
  .kvl-ex__name, .kvl-ex__cta, .kvl-ex__arrow { transition: none; }
  /* ⚠ Dugmenin yumusak kaydirmasi da kapaniyor -- betik ayni medya sorgusunu
     okuyup scrollBy'a behavior:'auto' veriyor. Iki yerde de kapali. */
}
