/* =====================================================
   kafdeks — ⌘A ARAMA KARTI (18 Tem dirilişi; eski ⌘K paleti)
   Her sayfada yüklenir (core.css'ten sonra; core eşik üstü
   → ayrı modül). Markup'ı js/palette.js enjekte eder.
   Kahve-native gramer: --espresso · ₺<200 · etiyopya.
   Sonuç satırı = ledger (roast bar + ▼ medyan + ₺/100g).
   Not: eski .navkbd + .kpal-hint katmanları kurulmuyor
   (giriş = nav büyüteç + "❯ ne arıyorsun?" + ⌘A).
   ===================================================== */

/* ---- overlay ---- */
.kpal[hidden]{ display: none; }
.kpal{
  position: fixed; inset: 0; z-index: 1200;
  display: flex; align-items: flex-start; justify-content: center;
  padding: clamp(2rem, 12vh, 9rem) 1rem 2rem;
}
.kpal__scrim{
  position: absolute; inset: 0; background: rgba(6,4,2,0.72);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  opacity: 0; transition: opacity 0.22s var(--ease);
}
.kpal.is-open .kpal__scrim{ opacity: 1; }
.kpal__box{
  position: relative; width: min(640px, 100%);
  background: var(--bg-2); border: 1px solid var(--border-2); border-radius: var(--r);
  box-shadow: 0 60px 120px -40px rgba(0,0,0,0.8), inset 0 1px 0 var(--highlight);
  overflow: hidden;
  transform: translateY(-10px) scale(0.985); opacity: 0;
  transition: transform 0.24s var(--ease-exp), opacity 0.24s var(--ease);
}
.kpal.is-open .kpal__box{ transform: none; opacity: 1; }

/* ---- giriş satırı ---- */
.kpal__inputline{
  display: flex; align-items: center; gap: 0.7rem;
  padding: 1rem 1.1rem; border-bottom: 1px solid var(--border);
}
.kpal__prompt{ font-family: var(--font-m); font-size: 0.86rem; color: var(--pop); flex: none; }
.kpal__input{
  flex: 1; background: transparent; border: none; outline: none;
  font-family: var(--font-m); font-size: 0.95rem; color: var(--cream); padding: 0.1rem 0;
}
.kpal__input::placeholder{ color: var(--muted-2); }
/* Gerçek düğme (7 Ağu): dokunmatikte Esc tuşu yok → mobilde kartın tek kapatma yolu. */
.kpal__esc{
  font-family: var(--font-m); font-size: 0.62rem; color: var(--muted-2);
  background: transparent; cursor: pointer; position: relative;
  border: 1px solid var(--border-2); border-radius: 3px; padding: 0.15rem 0.4rem; flex: none;
  transition: color var(--dur-2), border-color var(--dur-2);
}
.kpal__esc:hover, .kpal__esc:focus-visible{ color: var(--cream); border-color: var(--pop); }
/* Basılma hâli hover'ın yerine geçer: bu düğme dokunmatik için var ve orada hover YOK —
   geri bildirimi yalnız hover'a bağlamak, asıl kullanıcıyı sessiz bırakmak olurdu. */
.kpal__esc:active{ transform: scale(0.94); color: var(--cream); }
/* Dokunma hedefi kapsülden büyük (~46×44), kapsülün KENDİSİ büyümeden: 0.62rem'lik bir
   klavye ipucu parmakla ıskalanır. Sol pay 6px — giriş satırıyla arasındaki 0.7rem
   boşluğun içinde kalır, yani input'un sağ ucuna basmayı çalmaz. */
.kpal__esc::after{ content: ''; position: absolute; inset: -12px -12px -12px -6px; }

/* ---- öneri çipleri ---- */
.kpal__hintbar{
  display: flex; flex-wrap: wrap; gap: 0.4rem;
  padding: 0.7rem 1.1rem; border-bottom: 1px solid var(--border);
}
.kpal__chip{
  font-family: var(--font-m); font-size: 0.7rem; color: var(--cream-dim);
  background: var(--wash); border: 1px solid var(--border-2); border-radius: var(--r);
  padding: 0.3rem 0.55rem; cursor: pointer;
  transition: color var(--dur-2), border-color var(--dur-2), background var(--dur-2);
}
.kpal__chip:hover{
  color: var(--pop); border-color: var(--pop-line-2);
  background: color-mix(in srgb, var(--pop) 8%, transparent);
}

/* ---- sonuç ledger'ı ---- */
.kpal__results{ max-height: min(52vh, 420px); overflow-y: auto; padding: 0.4rem; }
.kpal__row{
  display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 1rem;
  padding: 0.7rem 0.8rem; border-radius: var(--r);
  text-decoration: none; color: inherit;
  transition: background var(--dur-1) var(--ease);
}
.kpal__row:hover, .kpal__row.is-sel{ background: var(--wash); }
.kpal__row.is-sel{ box-shadow: inset 0 0 0 1px var(--pop-line-2); }
.kpal__main{ min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kpal__name{
  font-family: var(--font-m); font-size: 0.82rem; color: var(--cream);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kpal__meta{
  font-family: var(--font-m); font-size: 0.66rem; text-transform: lowercase;
  letter-spacing: 0.02em; color: var(--muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kpal__row .roast-scale{ margin: 0; }
.kpal__price{
  font-family: var(--font-m); font-size: 0.72rem; color: var(--muted);
  text-align: right; white-space: nowrap;
}
.kpal__price b{ font-size: 0.92rem; color: var(--cream); font-weight: 500; font-variant-numeric: tabular-nums; }
.kpal__price i{ font-style: normal; font-size: 0.85em; }
.kpal__vd{ display: block; font-size: 0.64rem; margin-top: 2px; }
.kpal__vd--save{ color: var(--save); }
/* 5 Eyl 2026 — HÜKÜM RENGİ KALKTI. Kırmızı sitede 7 satırda yaşıyordu ve 7'si de
   "medyan üstü" hükmüydü; başka hiçbir iş yapmıyordu. Yeşil KALIYOR (alıcının ödülü,
   ölçüldü: Eylül'deki 6 çıkışın 6'sı medyan altındaki ürüne). Kaldırılan yalnız
   markaya iliştirilen ceza. Gerekçe + emsaller: arastirma.json tur 68, taban ölçümü
   data/yon-rengi-taban.json. ⚠️ --down TOKENI TANIMLI KALIR (tazelik nöbetçisi listeliyor),
   yalnız kullanıcısı yok. Geri koymadan önce o dosyayı oku. */
.kpal__vd--up{ color: var(--muted); }
.kpal__vd--flat{ color: var(--muted-2); }
/* Katalog kartıyla aynı ton (agg-card__verdict--na): kıyasa girmeyen ürün sessizce
   atlanmaz, "kıyas dışı" yazar — sessiz filtre yasak, eksik hüküm de bir iddiadır. */
.kpal__vd--na{ color: var(--muted-2); }
.kpal__empty{ font-family: var(--font-m); font-size: 0.78rem; color: var(--muted); text-align: center; padding: 2rem 1rem; }

/* ---- alt bar ---- */
.kpal__foot{
  display: flex; align-items: center; gap: 1.1rem;
  padding: 0.6rem 1.1rem; border-top: 1px solid var(--border);
  font-family: var(--font-m); font-size: 0.64rem; color: var(--muted-2);
}
.kpal__foot kbd{ border: 1px solid var(--border-2); border-radius: 3px; padding: 0.05rem 0.3rem; margin-right: 0.15rem; }
.kpal__count{ margin-left: auto; color: var(--muted); }

/* ---- dar ekran: kimlik sütunu feda edilmez (7 Ağu) ----
 * Satır `1fr auto auto`: kavurma sütunu `auto` olduğu için içeriği ne isterse alıyor,
 * artakalanı `1fr` olan ad sütunu yiyordu. Ölçüldü (390×844): ad 61px · kavurma 161px ·
 * fiyat 64px → 8 üründen 8'inin adı kesikti ("Türk K…", "Ruan…", "Kolo…"). 1366px'te
 * ad 343px ve 0 kesik, o yüzden hata masaüstünde hiç görünmedi.
 * Kavurma rayı satırın DÖRDÜNCÜ önceliği (ad · marka · fiyat · hüküm'den sonra) ve
 * satırların yarısında "bilinmiyor" + boş segment basıyor — yani en çok yeri kaplayan
 * öğe en az şeyi söylüyor. Dar ekranda ray düşer; kavurma ürün sayfasında duruyor.
 * ⚠️ Yalnız ETİKETİ gizleyip segmentleri bırakmak DEĞİL: kavurması bilinmeyen kayıt
 * boş bir raya dönerdi ve "kavurma bilinmiyorsa uydurulmaz" kilidi tam bunu yasaklıyor
 * (boş ray + "bilinmiyor" birlikte anlamlı, tek başına ray belirsiz). */
@media (max-width: 560px){
  .kpal__row .roast-scale{ display: none; }
}

/* iç sayfa kuralı: reduced-motion saygı görür (ana sayfa override'ı hero/borsa içindir) */
@media (prefers-reduced-motion: reduce){
  .kpal__scrim, .kpal__box{ transition: none; }
}
