@charset "UTF-8";
/* ══════════════════════════════════════════════════════════════════════════
   Orhangazi Life — üretim stil sayfası
   Kaynak: _planlar/maket/orhangazilife_maket*.html (patron onayı 13.08.2026)
   Sunai · 13.08.2026 · JS 0 byte · inline <style> yok

   MAKETTEN DEĞİŞENLER (yalnız üç şey, tasarım kararı DEĞİŞMEDİ):
     1. Yazı tipi SELF-HOST (Google Fonts kaldırıldı — KVKK + CWV)
     2. İki maketin ortak CSS'i tek dosyada birleşti
     3. Boş durum / 404 / gezinme etkin durumu eklendi (yeni ekranlar)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── YAZI TİPİ · self-host ─────────────────────────────────────────────────
   Google Fonts KULLANILMIYOR: dış istek kullanıcının IP'sini Google'a
   gönderir (KVKK) ve render'ı bloklar (K-30).
   Dosyalar Türkçe alt kümeye subset edildi; ÖLÇÜLDÜ (raporda cmap dökümü):
   ç Ç ş Ş ğ Ğ ü Ü ö Ö ı I İ i + Â Î Û şapkalıları TAM.
   ⚠️ ₺ (U+20BA) yalnız Bricolage'de VAR, Instrument Sans'ta YOK →
      ₺ basan her metin display ailesinde olmak zorunda (.para / .kalem-fiyat). */
@font-face{
  font-family:"Bricolage Grotesque";
  src:url("/varlik/font/bricolage-grotesque-tr.woff2") format("woff2-variations"),
      url("/varlik/font/bricolage-grotesque-tr.woff2") format("woff2");
  font-weight:600 800;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Instrument Sans";
  src:url("/varlik/font/instrument-sans-tr.woff2") format("woff2-variations"),
      url("/varlik/font/instrument-sans-tr.woff2") format("woff2");
  font-weight:400 700;font-style:normal;font-display:swap;
}

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

:root{
  color-scheme:light;
  --kobalt:#123A6B;  /* çini mürekkebi — başlık, damga, fiyat */
  --mercan:#C1452F;  /* İznik kırmızısı — TEK vurgu */
  --gol:#19707E;     /* göl turkuazı — bağlantı, ikon */
  --kagit:#FCFCFA;   /* sayfa zemini */
  --yuzey:#FFFFFF;   /* kart */
  --metin:#1C2430;
  --is:#55606F;      /* ikincil metin */
  --cizgi:#E4E2DC;
  --cizgi-ince:#EFEDE8;
  --wa:#25D366;      /* WhatsApp markası — sabit */
  --wa-metin:#06301F;/* 7,3:1 · beyaz metin 1,98:1 ile düşerdi */
  /* ⚠️ ÜÇÜNCÜ HÂL — kobalt/mercan çiftinin taşıyamadığı tek durum.
     Recai §12-8: "sarı uyarı rengi palette yok, ölçerek eklenmeli."
     Adı konudan: İznik sırının Kütahya kolunda görülen HARDAL sarısı —
     çini paletinin kendi dünyasından, dışarıdan getirilmiş bir uyarı sarısı
     değil. YALNIZ üç-hâl göstergesinde kullanılır (kapı 🟡 ÖLÇÜLEMEDİ,
     moderasyon SLA sayacı, bayat kapı sonucu). Fiyatsız kalemde ve
     "teyit edilmedi" durumunda KULLANILMAZ: onların dili zaten var
     (kesikli çerçeve = mühürlenmemiş · mercan = bayat).
     Ölçüldü: #8A6410 / #FCFCFA = 5,22:1 · #FBF3E2 zemin üstünde 4,92:1 */
  --hardal:#8A6410;
  --hardal-zemin:#FBF3E2;
  --hardal-cizgi:#E3CE9B;
  --imza:#00BFFE;    /* Saim App favicon — K-04, sabit */
  --r:10px; --r-s:6px;
  --olcu:1120px;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --govde:"Instrument Sans","Segoe UI",system-ui,-apple-system,sans-serif;
}

body{
  margin:0;background:var(--kagit);color:var(--metin);
  font-family:var(--govde);font-size:1.0625rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--gol);text-underline-offset:3px}
a:hover{color:var(--kobalt)}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.1;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

/* ₺ gövde ailesinde YOK — para basan her yer display ailesinde olmalı */
.para{font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums}

/* Klavye odağı — asla kaldırılmaz */
:focus-visible{outline:3px solid var(--gol);outline-offset:2px;border-radius:4px}

.atla{position:absolute;left:-9999px;top:0;background:var(--kobalt);color:#fff;
  padding:.75rem 1rem;z-index:99;border-radius:0 0 var(--r-s) 0}
.atla:focus{left:0}

.sar{width:100%;max-width:var(--olcu);margin:0 auto;padding:0 1.15rem}
.ust-ara{margin-top:.85rem}
.alt-ara{margin-bottom:1.1rem}
.blok{padding:2.4rem 0}
.blok + .blok{border-top:1px solid var(--cizgi-ince)}
.gizli{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ── ikon ───────────────────────────────────────────────────────────────── */
.ikon{width:1.375rem;height:1.375rem;flex:none;fill:none;stroke:currentColor;
  stroke-width:16;stroke-linecap:round;stroke-linejoin:round}
.ikon-s{width:1.05rem;height:1.05rem}
.ikon-l{width:1.75rem;height:1.75rem}
.ikon-set{position:absolute;width:0;height:0;overflow:hidden}

/* ── üst bar ────────────────────────────────────────────────────────────── */
.ust{position:sticky;top:0;z-index:40;background:var(--kagit);border-bottom:1px solid var(--cizgi)}
.ust-ic{display:flex;align-items:center;gap:.7rem;min-height:60px}
/* 🚫 Kelime-işareti asla büyük harfe çevrilmez (Fenai kuralı): "ORHANGAZİ LİFE"
   ve "ORHANGAZI LIFE" — iki dil, iki yanlış. Kural burada da yazılı duruyor. */
.marka{display:flex;align-items:center;text-decoration:none;min-height:44px;text-transform:none}
.marka img{height:26px;width:auto;display:block}   /* ölçülmüş üst bar yüksekliği */
.menu-ac{margin-left:auto}
.menu-ac summary{list-style:none;display:flex;align-items:center;gap:.4rem;
  min-height:44px;min-width:44px;justify-content:center;cursor:pointer;
  color:var(--kobalt);font-weight:600;font-size:.92rem;border-radius:var(--r-s)}
.menu-ac summary::-webkit-details-marker{display:none}
.gezinti{position:absolute;left:0;right:0;top:100%;background:var(--yuzey);
  border-bottom:1px solid var(--cizgi);box-shadow:0 12px 24px -18px rgba(18,58,107,.4)}
.gezinti ul{display:flex;flex-direction:column;max-width:var(--olcu);margin:0 auto;padding:.4rem 1.15rem 1rem}
.gezinti a{display:flex;align-items:center;min-height:46px;color:var(--metin);
  text-decoration:none;font-weight:500;border-bottom:1px solid var(--cizgi-ince)}
.gezinti a:hover{color:var(--gol)}
/* Bulunduğun yer görünür olmalı (UX kuralı: Navigation · Active State) */
.gezinti a[aria-current="page"]{color:var(--kobalt);font-weight:700;
  box-shadow:inset 3px 0 0 var(--kobalt);padding-left:.55rem}
.gezinti--masa{display:none}

/* ── hero ───────────────────────────────────────────────────────────────── */
.hero{padding:2.1rem 0 2rem}
.kas{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--is);margin-bottom:.65rem}
.hero-bas{font-size:clamp(2.05rem,7.4vw,3.5rem);color:var(--kobalt);font-weight:800;
  letter-spacing:-.04em;margin-bottom:1.05rem}
.hero-bas label{cursor:text}

.ara-kutu{display:flex;align-items:center;gap:.55rem;background:var(--yuzey);
  border:1.5px solid var(--kobalt);border-radius:var(--r);padding:.35rem .35rem .35rem .8rem}
.ara-kutu:focus-within{outline:3px solid var(--gol);outline-offset:2px}
.ara-ikon{color:var(--kobalt)}
.ara-girdi{flex:1;min-width:0;border:0;background:none;font:inherit;color:var(--metin);
  padding:.6rem 0;min-height:44px}
.ara-girdi:focus{outline:none}
.ara-girdi::placeholder{color:#72757B}
.ara-btn{border:0;background:var(--kobalt);color:#fff;font:inherit;font-weight:600;
  border-radius:var(--r-s);padding:0 1.15rem;min-height:44px;cursor:pointer;
  transition:background-color .16s ease}
.ara-btn:hover{background:#0D2C52}

/* ⚠️ gap .45rem = 7,2px idi; dokunma hedefleri arası eşik 8px (UX vt ·
   Touch/Spacing). 13.08'de `.alt li` düzeltildi ama AYNI AİLENİN diğer
   iki üyesi (.cipler, .mah) gözden kaçtı — kapı ikisini de sayıyordu.
   Bir kusur ailesi bulunca aileyi taramak gerekir, tek üyeyi değil. */
.cipler{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}
.cip{display:inline-flex;align-items:center;min-height:44px;padding:0 .85rem;
  border:1px solid var(--cizgi);background:var(--yuzey);border-radius:999px;
  color:var(--is);text-decoration:none;font-size:.92rem;font-weight:500;
  transition:border-color .16s ease,color .16s ease}
.cip:hover{border-color:var(--gol);color:var(--gol)}

/* dürüstlük satırı — hero'nun tezi */
.durust{margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--cizgi);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;color:var(--is);font-size:.98rem}
.durust b{color:var(--kobalt);font-weight:700}
.durust a{font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}

/* ── bölüm başlığı ──────────────────────────────────────────────────────── */
.bas-sira{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.bas{font-size:clamp(1.3rem,4.3vw,1.75rem);color:var(--kobalt)}
.bas-yan{font-size:.92rem;font-weight:600;white-space:nowrap;
  display:inline-flex;align-items:center;min-height:44px}

/* ── teyit damgası — İMZA ELEMAN ────────────────────────────────────────── */
.damga{display:inline-flex;flex-direction:column;align-items:center;gap:.05rem;
  position:relative;border:2px solid currentColor;border-radius:5px;
  padding:.5rem .85rem;color:var(--kobalt);background:transparent;
  transform:rotate(-2deg);transform-origin:left center;
  font-family:var(--govde);text-align:center;line-height:1.15}
.damga::before{content:"";position:absolute;inset:3px;border:1px solid currentColor;
  border-radius:2px;opacity:.5;pointer-events:none}
.damga-ust{font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.damga-alt{font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.damga--mini,.damga--s{padding:.3rem .55rem;transform:rotate(-1.5deg)}
.damga--mini .damga-ust,.damga--s .damga-ust{font-size:.55rem}
.damga--mini .damga-alt,.damga--s .damga-alt{font-size:.8rem}
/* Eşik aşıldı: renk DEĞİŞİR ve METİN de değişir — sadece-renkle-anlam yasağı */
.damga--bayat{color:var(--mercan)}

/* ── bugün şeridi ───────────────────────────────────────────────────────── */
.bugun{display:grid;gap:.9rem}
.nobet{background:var(--yuzey);border:1px solid var(--cizgi);border-left:4px solid var(--kobalt);
  border-radius:var(--r);padding:1.05rem 1.1rem}
.nobet-ust{display:flex;align-items:center;gap:.5rem;color:var(--kobalt);
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.nobet-ad{font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--metin);
  letter-spacing:-.02em;margin:.4rem 0 .15rem}
.nobet-adres{color:var(--is);font-size:.95rem}
.nobet-saat{margin-top:.5rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--kobalt)}
.nobet-kaynak{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--cizgi);
  color:var(--is);font-size:.8rem;font-variant-numeric:tabular-nums}

.eylemler{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}   /* 8px alt piksel yuvarlamasında 7,8 ölçüldü → 8,8px */
.eylem{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  min-height:48px;padding:0 1.1rem;border-radius:var(--r-s);text-decoration:none;
  font-weight:600;font-size:.97rem;border:1.5px solid var(--kobalt);color:var(--kobalt);
  background:var(--yuzey);transition:background-color .16s ease,color .16s ease}
.eylem:hover{background:var(--kobalt);color:#fff}
.eylem--sade{border-color:var(--cizgi);color:var(--is)}
.eylem--sade:hover{background:var(--kobalt);border-color:var(--kobalt);color:#fff}

/* ── hızlı erişim ───────────────────────────────────────────────────────── */
.hizli{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.hizli li:first-child{grid-column:1 / -1}
.hkart{display:flex;align-items:center;gap:.7rem;min-height:64px;padding:.8rem .9rem;
  background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);
  text-decoration:none;color:var(--metin);font-weight:600;
  transition:border-color .16s ease,color .16s ease}
.hkart:hover{border-color:var(--kobalt);color:var(--kobalt)}
.hkart .ikon{color:var(--gol)}
.hkart small{display:block;font-weight:400;font-size:.8rem;color:var(--is);line-height:1.3}

/* ── mekân kartları ─────────────────────────────────────────────────────── */
.kartlar{display:grid;gap:.85rem}
.mkart{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;position:relative;
  transition:border-color .16s ease}
.mkart--one{border-color:var(--kobalt);border-width:1.5px}
.mkart:hover{border-color:var(--kobalt)}
.mkart:focus-within{outline:3px solid var(--gol);outline-offset:2px}
/* Kartın tamamı dokunma hedefi — başlık bağlantısı kartı kaplıyor */
.mkart-ad a::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
/* Fotoğraf yok — yer tutucu ince şerit: yeri ayırır (CLS), yalan söylemez */
.foto-yok{height:76px;background:#F3F2EE;border-bottom:1px solid var(--cizgi);
  display:flex;align-items:center;justify-content:center;gap:.55rem;
  color:#676B73;text-align:left;padding:.8rem 1rem}
.foto-yok span{font-size:.78rem;font-weight:600;letter-spacing:.03em;display:block}
.foto-yok small{font-size:.72rem;font-weight:400;display:block;line-height:1.35}
.mkart-ic{padding:.95rem 1rem 1.05rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.mkart-ic .damga{align-self:flex-start}
.mkart-kas{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--is)}
.mkart-ad{font-family:var(--display);font-size:1.2rem;font-weight:700;letter-spacing:-.025em;line-height:1.2}
.mkart-ad a{color:var(--metin);text-decoration:none}
.mkart-ad a:hover{color:var(--kobalt);text-decoration:underline}
.mkart-alt{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.rozet-menu{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;
  letter-spacing:.04em;color:var(--mercan);border:1px solid var(--mercan);
  border-radius:999px;padding:.22rem .6rem;text-transform:uppercase}
.bekliyor{font-size:.86rem;color:var(--is)}
.git{display:inline-flex;align-items:center;gap:.25rem;font-weight:600;font-size:.92rem;
  color:var(--gol);min-height:44px}

/* davet kartı */
.davet{background:var(--kobalt);color:#fff;border-radius:var(--r);padding:1.2rem 1.15rem;
  display:flex;flex-direction:column;gap:.75rem}
.davet h3{font-size:1.15rem;color:#fff}
.davet p{color:#CBD8E8;font-size:.95rem}
.davet a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  align-self:flex-start;min-height:48px;padding:0 1.15rem;background:#fff;color:var(--kobalt);
  border-radius:var(--r-s);text-decoration:none;font-weight:700}

/* ── mahalleler ─────────────────────────────────────────────────────────── */
.mah{display:flex;flex-wrap:wrap;gap:.55rem}  /* .5rem tam 8px verir ama alt piksel yuvarlaması 7,7px ölçtü — .55rem (8,8px) */
.mah a{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;
  border:1px solid var(--cizgi);background:var(--yuzey);border-radius:var(--r-s);
  text-decoration:none;color:var(--metin);font-weight:600;font-size:.95rem}
.mah a:hover{border-color:var(--kobalt);color:var(--kobalt)}
.mah-not{margin-top:.8rem;color:var(--is);font-size:.92rem}
.mah-not a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

/* ── uyarı kutusu ───────────────────────────────────────────────────────── */
.uyari{display:flex;gap:.65rem;background:#FDF3F1;border:1px solid #EBC3BA;
  border-left:4px solid var(--mercan);border-radius:var(--r);padding:.85rem 1rem;
  color:#7A2A1B;font-size:.93rem}
.uyari .ikon{color:var(--mercan);margin-top:.15rem;flex:none}

/* ══ İŞLETME PROFİLİ ═══════════════════════════════════════════════════════ */
body.profil{padding-bottom:88px} /* yapışkan sipariş çubuğu içeriği örtmesin */
body.profil--siparissiz{padding-bottom:0} /* numara yok → çubuk da yok */

/* ⚠️ .kirinti aynı elemanda .sar ile — padding yazarsam .sar'ın yatay
   padding'ini sessizce siler (aynı özgüllük). Bu yüzden margin. */
.kirinti{margin:.85rem 0 .2rem;font-size:.86rem;color:var(--is)}
.kirinti ol{display:flex;flex-wrap:wrap;gap:0 .5rem;align-items:center}
.kirinti li{display:flex;align-items:center}
/* min-width: kısa kırıntı ("Keşfet" 41px) hedefi 44px'i tutturamıyordu (Kapı 9) */
.kirinti a{color:var(--is);text-decoration:none;display:inline-flex;align-items:center;
  justify-content:center;min-height:44px;min-width:44px}
.kirinti a:hover{color:var(--gol);text-decoration:underline}
.kirinti li:not(:last-child)::after{content:"›";margin-left:.5rem;color:#72757B}
.kirinti [aria-current]{color:var(--metin);font-weight:600}

.kapak{height:120px;background:#F3F2EE;border:1px solid var(--cizgi);
  border-radius:var(--r);margin-top:.7rem;display:flex;align-items:center;
  justify-content:center;gap:.7rem;color:#676B73;text-align:left;padding:1rem 1.2rem}
.kapak span{font-size:.85rem;font-weight:600;letter-spacing:.03em;display:block}
.kapak small{font-size:.78rem;display:block;line-height:1.4}

.kunye{padding:1.5rem 0 .4rem}
.kunye .kas{display:flex;flex-wrap:wrap;align-items:center;gap:0 .35rem}
.kunye .kas a{color:var(--is);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.kunye .kas a:hover{color:var(--gol);text-decoration:underline}
.kunye h1{font-size:clamp(1.8rem,6.2vw,2.7rem);color:var(--kobalt);font-weight:800;
  letter-spacing:-.035em;margin:.5rem 0 1rem}

.satirlar{display:flex;flex-direction:column;gap:.6rem;margin:1.2rem 0 0;
  padding-top:1.1rem;border-top:1px solid var(--cizgi)}
.satir{display:flex;gap:.7rem;align-items:flex-start}
.satir .ikon{color:var(--gol);margin-top:.18rem}
.satir b{display:block;font-weight:600}
.satir small{display:block;color:var(--is);font-size:.88rem;line-height:1.45}
.satir a{text-decoration:none;font-weight:600;display:inline-flex;align-items:center;min-height:44px}
.satir a:hover{text-decoration:underline}

.saatler{margin-top:.35rem}
.saatler summary{cursor:pointer;color:var(--gol);font-size:.88rem;font-weight:600;
  min-height:44px;display:inline-flex;align-items:center;gap:.3rem;list-style:none}
.saatler summary::-webkit-details-marker{display:none}
/* ⚠️ maket "▾" karakteri kullanıyordu; ÖLÇTÜM: U+25BE her iki yazı tipinde de
   YOK → sistem yedeğine düşüyordu. Phosphor caret SVG ile değiştirildi. */
.saatler summary .ikon{transition:transform .16s ease}
.saatler[open] summary .ikon{transform:rotate(180deg)}
.saatler table{border-collapse:collapse;margin-top:.4rem;font-size:.9rem}
.saatler td{padding:.22rem .9rem .22rem 0;color:var(--is)}
.saatler td+td{font-variant-numeric:tabular-nums;padding-right:0}
.saatler tr[data-bugun] td{color:var(--metin);font-weight:700}

.profil-ag{display:block}
.bolum-blok{padding:2.2rem 0;border-top:1px solid var(--cizgi-ince)}

.menu-bas{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.menu-bas h2{font-size:clamp(1.5rem,5vw,2rem);color:var(--kobalt)}
.menu-not{margin-top:.65rem;color:var(--is);font-size:.92rem}

.mbolum{margin-top:1.8rem}
.mbolum-bas{font-family:var(--govde);font-size:.74rem;font-weight:700;letter-spacing:.17em;
  text-transform:uppercase;color:var(--mercan);padding-bottom:.5rem;
  border-bottom:1.5px solid var(--cizgi)}
.kalemler{margin-top:.35rem}
.kalem{display:flex;align-items:baseline;gap:.4rem;padding:.62rem 0}
.kalem + .kalem{border-top:1px solid var(--cizgi-ince)}
.kalem-ad{font-weight:500}
.kalem-ad small{display:block;font-size:.85rem;color:var(--is);font-weight:400;line-height:1.4}
.kalem-nokta{flex:1 1 1.5rem;min-width:1.5rem;border-bottom:2px dotted #CFCCC4;
  transform:translateY(-.28rem)}
.kalem-fiyat{font-family:var(--display);font-weight:700;font-size:1.06rem;color:var(--kobalt);
  font-variant-numeric:tabular-nums;white-space:nowrap}

.paket{margin-top:1.7rem;padding:.95rem 1.05rem;background:var(--yuzey);
  border:1px solid var(--cizgi);border-radius:var(--r);font-size:.95rem;color:var(--is)}
.paket b{color:var(--metin)}

.profil-yan{margin:1.6rem 0 .4rem}
.wa-kart{background:var(--yuzey);border:1.5px solid var(--kobalt);border-radius:var(--r);
  padding:1.15rem 1.1rem;display:flex;flex-direction:column;gap:.85rem}
.wa-kart h2{font-size:1.2rem;color:var(--kobalt)}
.wa-kart p{font-size:.94rem;color:var(--is)}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:56px;padding:0 1.2rem;background:var(--wa);color:var(--wa-metin);
  border-radius:var(--r-s);text-decoration:none;font-family:var(--display);
  font-weight:800;font-size:1.08rem;letter-spacing:-.02em;transition:filter .16s ease}
.wa-btn:hover{filter:brightness(.93);color:var(--wa-metin)}
.wa-btn .ikon{stroke-width:18}
/* Mobilde eylem yapışkan çubukta; kart aynı düğmeyi tekrarlamaz */
.wa-btn--kart{display:none}
.onizleme{background:#F1F6F2;border:1px dashed #B9CFBF;border-radius:var(--r-s);
  padding:.7rem .85rem;font-size:.9rem;color:#2A4436;line-height:1.5}
.onizleme span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:#4C6856;margin-bottom:.25rem}

.sahiplik{display:flex;gap:.7rem;align-items:flex-start;padding:1rem 1.05rem;
  background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);font-size:.95rem}
.sahiplik .ikon{color:var(--gol);margin-top:.15rem}
.sahiplik a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

.yakin-bas{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--is);margin-bottom:.7rem;font-family:var(--govde)}
.yakin{display:grid;gap:.5rem;margin-bottom:1.6rem}
.yakin a{display:flex;align-items:center;justify-content:space-between;gap:.7rem;
  min-height:56px;padding:.6rem .95rem;background:var(--yuzey);border:1px solid var(--cizgi);
  border-radius:var(--r);text-decoration:none;color:var(--metin);font-weight:600;
  transition:border-color .16s ease,color .16s ease}
.yakin a:hover{border-color:var(--kobalt);color:var(--kobalt)}
.yakin small{display:block;font-weight:400;font-size:.82rem;color:var(--is)}
.yakin .ikon{color:var(--gol)}

.wa-serit{position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:var(--kagit);border-top:1px solid var(--cizgi);
  padding:.6rem 1.15rem calc(.6rem + env(safe-area-inset-bottom))}
.wa-serit .wa-btn{max-width:var(--olcu);margin:0 auto}

/* ══ BOŞ DURUM / 404 — K-20'nin görünen yüzü ═══════════════════════════════
   Kural (UX vt · Feedback/Error Recovery): hata tek başına bırakılmaz,
   çıkış yolu verilir. Kural (Feedback/Empty States): boş ekran değil,
   ne olduğu + ne yapılacağı. Sahte doluluk ÜRETİLMEZ. */
.bos{padding:3rem 0 3.5rem;max-width:44rem}
.bos-kod{font-family:var(--govde);font-size:.72rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mercan)}
.bos h1{font-size:clamp(1.7rem,5.5vw,2.6rem);color:var(--kobalt);font-weight:800;
  letter-spacing:-.035em;margin:.55rem 0 .9rem}
.bos p{color:var(--is)}
.bos p + p{margin-top:.7rem}
.bos .eylemler{margin-top:1.6rem}
.bos-liste{margin-top:1.9rem;padding-top:1.2rem;border-top:1px solid var(--cizgi)}
.bos-liste h2{font-size:.74rem;font-family:var(--govde);font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--is);margin-bottom:.7rem}
.bos-liste ul{display:flex;flex-wrap:wrap;gap:.5rem}   /* 7,2px → 8px (aynı aile) */
/* ⚠️ ÖZGÜLLÜK KAZASI (gözle bakışta yakalandı, kapılar yeşildi):
   seçici `.bos-liste a` idi ve yeni `.bos-not` cümlesinin İÇİNDEKİ bağlantıyı
   da çipe çeviriyordu — cümlenin ortasına düşmüş bir düğme gibi duruyordu.
   Çip yalnız LİSTE ögesine ait: `.bos-liste ul a`. Tasarım DNA'sının uyardığı
   "tip-tabanlı ve eleman-tabanlı seçici karışımı" kazasının aynısı. */
.bos-liste ul a{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;
  border:1px solid var(--cizgi);background:var(--yuzey);border-radius:var(--r-s);
  text-decoration:none;color:var(--metin);font-weight:600;font-size:.95rem}
.bos-liste ul a:hover{border-color:var(--kobalt);color:var(--kobalt)}
/* 404 çıkış yolu: açık sayfa yoksa çalışmayan bağlantı vermek yerine tek cümle */
.bos-not{color:var(--is);font-size:.95rem;line-height:1.6;max-width:44ch}
.bos-not a{font-weight:600;text-decoration:underline;padding-block:.32em}
/* Arama YALNIZ /ara ucu açıkken çizilir; etiket görünür (placeholder etiket değildir) */
.bos-ara{margin-top:1.6rem;max-width:34rem}
.bos-ara label{display:block;font-size:.9rem;font-weight:600;color:var(--metin);margin-bottom:.4rem}
/* Hazırlık şeridi — ana sayfada yayında kayıt yokken görünür. Sahte doluluk
   yerine sayının kendisini söyler; "yakında" demez, ne yapıldığını söyler. */
.hazirlik{display:flex;gap:.75rem;align-items:flex-start;background:var(--yuzey);
  border:1px solid var(--cizgi);border-left:4px solid var(--kobalt);
  border-radius:var(--r);padding:1.05rem 1.1rem}
.hazirlik .ikon{color:var(--kobalt);margin-top:.15rem;flex:none}
.hazirlik b{display:block;color:var(--metin);font-weight:700;margin-bottom:.2rem}
.hazirlik p{color:var(--is);font-size:.95rem}
.hazirlik a{font-weight:600;display:inline-flex;align-items:center;min-height:44px}

/* ── alt bilgi ──────────────────────────────────────────────────────────── */
.alt{border-top:1px solid var(--cizgi);background:var(--yuzey);padding:2rem 0 2.4rem;margin-top:.5rem}
.alt-ag{display:grid;gap:1.4rem}
.alt h2{font-family:var(--display);font-size:.95rem;color:var(--kobalt);margin:0 0 .5rem;letter-spacing:-.01em}
/* ⚠️ Kapı 9 ölçtü: 44px'lik bağlantılar arasında yalnız 4px kalıyordu
   (UX vt · Touch: hedefler arası ≥8px). .3rem → .55rem, ölçülen aralık 9px. */
.alt li{margin-bottom:.55rem}
.alt a{color:var(--is);text-decoration:none;font-size:.95rem;display:inline-flex;align-items:center;min-height:44px}
.alt a:hover{color:var(--gol);text-decoration:underline}
.alt-son{margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--cizgi-ince);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  color:var(--is);font-size:.85rem}
.imza-bag{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:var(--r-s)}
.imza-bag svg{width:26px;height:26px} /* K-04: hedef ≥24px, dokunma kutusu 44px */

/* ── responsive ─────────────────────────────────────────────────────────── */
@media (min-width:600px){
  .kartlar{grid-template-columns:repeat(2,1fr)}
  .hizli{grid-template-columns:repeat(3,1fr)}
  .hizli li:first-child{grid-column:auto}
  .yakin{grid-template-columns:repeat(2,1fr)}
  .kalem-fiyat{font-size:1.12rem}
}
@media (min-width:900px){
  .blok{padding:3.2rem 0}
  .hero{padding:3.4rem 0 3rem}
  .ara,.cipler,.durust{max-width:46rem}
  .bugun{grid-template-columns:1.4fr 1fr;align-items:start}
  .kartlar{grid-template-columns:repeat(3,1fr)}
  .hizli{grid-template-columns:repeat(5,1fr)}
  .hkart{flex-direction:column;align-items:flex-start;justify-content:center;min-height:100px}
  .alt-ag{grid-template-columns:repeat(4,1fr)}
  .menu-ac{display:none}
  .gezinti--masa{display:block;margin-left:auto;position:static;border:0;box-shadow:none;background:none}
  .gezinti--masa ul{flex-direction:row;gap:1.35rem;padding:0;align-items:center}
  .gezinti--masa a{min-height:44px;border:0;font-size:.95rem;color:var(--is);white-space:nowrap}
  .gezinti--masa a:hover{color:var(--gol)}
  .gezinti--masa a[aria-current="page"]{color:var(--kobalt);font-weight:700;box-shadow:none;
    padding-left:0;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
  .ust-ic{gap:1.6rem}
  .bolum-blok{padding:2.8rem 0}
}
@media (min-width:1024px){
  body.profil{padding-bottom:0}
  .wa-serit{display:none}
  /* DOM sırası künye → WhatsApp kartı → menü; masaüstünde kart sağ sütunda
     ve İLK EKRANDA. Tek işaretleme, iki düzen. */
  .profil-ag{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0 2.6rem;align-items:start}
  /* ⚠️ Sipariş kartı yoksa 340px'lik sütun boş kalıyordu ve içerik gereksiz
     daralıyordu (masaüstünde gözle bakışta yakalandı; sayısal kapıların
     hepsi yeşildi). Gövde sınıfı zaten durumu taşıyor, :has() gerekmiyor. */
  body.profil--siparissiz .profil-ag{display:block}
  .kunye{grid-column:1;grid-row:1;padding-top:1.5rem}
  .profil-yan{grid-column:2;grid-row:1 / span 2;position:sticky;top:80px;margin:1.5rem 0 0}
  .profil-ana{grid-column:1;grid-row:2}
  .kunye h1{max-width:18ch}
  .kapak{height:150px}
  .wa-btn--kart{display:flex}
}

/* ══ İÇERİK SAYFASI · mahalle · keşfet · pillar ════════════════════════════
   Sunai · 13.08.2026 · Şifai'nin 52 Markdown dosyası için.

   ⚠️ ÖZGÜLLÜK NOTU: global sıfırlama `p{margin:0}` ve `ul,ol{list-style:none}`
      diyor. Uzun metin bunları GERİ ister; `.yazi p` (0,2,0) ve `.yazi ul`
      (0,2,0) global tek-eleman seçicileri (0,0,1) yener. Sıfırlamayı
      DEĞİŞTİRMİYORUM — kart/liste bileşenlerinin tamamı ona dayanıyor.

   Ölçülen kurallar (ui-ux-pro-max · Typography):
      satır uzunluğu 65-75 karakter → `max-width:68ch`
      satır yüksekliği 1.5-1.75     → gövde 1.72
   Ölçülen kural (Navigation/Sticky): 60px yapışkan üst bar çapa hedefini
      örter → `scroll-margin-top`. */

.yazi-ag{display:block}
.yazi-bas{padding:1.6rem 0 0}
.yazi-bas .kas{margin-bottom:.55rem}
.yazi-bas h1{font-size:clamp(1.85rem,6.4vw,2.9rem);color:var(--kobalt);font-weight:800;
  letter-spacing:-.035em;margin:0 0 1rem;max-width:20ch}

/* ⚠️ ÖLÇÜLDÜ, VARSAYILMADI — `ch` TUZAĞI:
   `1ch` = "0" glifinin genişliği (Instrument Sans 17px'te **11,31px**), ama
   Türkçe gövde metninde ortalama karakter **7,84px**. Yani `68ch` = 769px =
   **98 karakter/satır** demek; kural 65-75 diyor. İlk sürümüm `max-width:68ch`
   yazmıştı ve kapı yeşildi (kural "68ch" olarak yazılıydı) — kuralı SAYIYLA
   sınayınca %40 sapma çıktı. Doğru değer: 49ch ≈ 554px ≈ **71 karakter**.
   Kapsayıcıya değil METİN ÖGESİNE uygulanır: tablo ve omurga ızgarası sütunun
   tamamını kullanmalı, onlar okunacak satır değil. */
.yazi{font-size:1.0625rem;line-height:1.72}
.yazi p,.yazi .yazi-liste,.sss dt,.sss dd{max-width:49ch}
.yazi .not{max-width:54ch}
.yazi .not p{max-width:none}
.yazi p{margin:0 0 1.05rem}
.yazi p:last-child{margin-bottom:0}
.yazi b{font-weight:700;color:var(--metin)}
.yazi code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;
  background:#F3F2EE;border:1px solid var(--cizgi);border-radius:4px;padding:.05em .35em}
/* Giriş 18,24px: 49ch orada 76 karakter veriyordu (ölçüldü) → 46ch = 72 */
.yazi--giris{font-size:1.14rem;line-height:1.65;color:var(--is)}
.yazi--giris p{max-width:46ch}
.yazi--giris b{color:var(--metin)}

.yazi section{padding-top:2.1rem}
.yazi section + section{margin-top:.2rem}
/* ⚠️ GÖZLE BAKIŞ: bölüm ayracı (h2'nin üst çizgisi) sütunun TAMAMINI
   kaplıyordu (1084px) ama altındaki metin 555px'te bitiyordu — çizgi metne
   ait görünmüyor, havada duruyordu. Ayraç okuma sütunuyla AYNI genişlikte
   olmalı: 34.7rem = 555px (ölçülen paragraf genişliği). */
.yazi h2{font-size:clamp(1.28rem,4.2vw,1.68rem);color:var(--kobalt);margin:0 0 .9rem;
  padding-top:.9rem;border-top:2px solid var(--cizgi);max-width:34.7rem}
.yazi h3{font-family:var(--display);font-size:1.1rem;font-weight:700;color:var(--metin);
  letter-spacing:-.02em;margin:1.7rem 0 .6rem}
/* Yapışkan üst bar (60px) çapayı örtmesin */
.yazi h2,.yazi h3,.yazi section{scroll-margin-top:76px}
/* ⚠️ emojisi ikon DEĞİL: başlıktaki uyarı Phosphor SVG ile çizilir */
.yazi h2.bas-uyari,.yazi h3.bas-uyari{display:flex;align-items:center;gap:.5rem;color:var(--mercan)}
.yazi h2.bas-uyari .ikon,.yazi h3.bas-uyari .ikon{flex:none}

.yazi-liste{list-style:disc;padding-left:1.2rem;margin:0 0 1.05rem}
ol.yazi-liste{list-style:decimal}
.yazi-liste li{margin-bottom:.5rem}
.yazi-liste li::marker{color:var(--gol)}
.yazi a{font-weight:500}
/* ── SATIR İÇİ BAĞLANTI — 44px kuralından BİLİNÇLİ SAPMA, gerekçesiyle ───
   WCAG 2.5.8 (Target Size Minimum) cümle içindeki bağlantıyı AÇIKÇA muaf
   tutar: "hedef bir cümlenin içindeyse veya boyutu hedef olmayan metnin
   satır yüksekliğiyle sınırlanmışsa". Prozadaki 652 bağlantıyı 44px'e
   zorlamak her satırı şişirir ve metnin ritmini bozar.
   Yaptığım: dokunma alanını **satır kutusunun tamamına** (≈29px) genişletmek.
   `padding-block` satır içi kutuda YERLEŞİMİ değiştirmez, yalnız isabet
   alanını büyütür; negatif margin gerekmez.
   ⚠️ Kapı 9 bu muafiyeti tanımıyor ve satır içi bağlantıları kırmızı yakıyor —
      bulgu Fedai/Görai'ye yan bulgu olarak yazıldı, kapı susturulmadı. */
.yazi-liste a,.yazi p a,.sss dd a{text-decoration:underline;text-decoration-thickness:1px}
/* Kapı 9 ölçtü: kural yalnız `p` ve `li` altına iniyordu; `dd`, `.not p`,
   tablo hücresi 19-21px kalmıştı. Kural metin bağlamının TAMAMINA yazıldı. */
.yazi a{padding-block:.32em}
/* Gezinme rolündeki bağlantılar TAM hedef alır — cümle içi muafiyet onlara işlemez */
.omurga a,.kunye-kart dd a,.kaynaklar a{padding-block:0}
/* Veri tablosundaki bağlantı gezinmedir (31 mahalle listesi): satır büyür, hedef 44px olur */
/* min-width: kısa mahalle adları ("Tekke" 41px, "Fatih" 35px) genişlikte
   kalıyordu; kutu büyür, metin hizası değişmez (justify-content: flex-start). */
table.veri a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding-block:0}

/* ── not kutusu (⚠️ paragrafı ve alıntı) ─────────────────────────────────
   Emoji yerine Phosphor ikon. Renk TEK BAŞINA anlam taşımaz: uyarı kutusunun
   ikonu ve metni de vardır (UX vt · Accessibility/Color Only). */
.yazi .not{display:flex;gap:.7rem;background:var(--yuzey);border:1px solid var(--cizgi);
  border-left:4px solid var(--is);border-radius:var(--r);padding:.9rem 1.05rem;
  margin:0 0 1.15rem;font-size:.98rem;color:var(--is)}
.yazi .not p{margin:0}
.yazi .not--uyari{background:#FDF3F1;border-color:#EBC3BA;border-left-color:var(--mercan);color:#7A2A1B}
.yazi .not--uyari .ikon{color:var(--mercan);margin-top:.15rem;flex:none}
.yazi .not b{color:inherit}

/* ── TEYİT ROZETİ — imza elemanın satır içi kardeşi ──────────────────────
   `[SAHA TEYİDİ GEREKLİ]` işareti yayında ham köşeli parantez olarak GÖRÜNMEZ;
   yazarın koyduğu yerde bu rozete dönüşür. Kesikli çerçeve = damgalanmamış:
   dolu çerçeve "gittik, sorduk" demektir, burada gidilmedi. */
.teyit-im{display:inline-flex;align-items:center;gap:.28rem;vertical-align:baseline;
  border:1.5px dashed var(--is);border-radius:999px;padding:.05rem .5rem .1rem;
  font-family:var(--govde);font-size:.8rem;font-weight:600;line-height:1.35;
  color:var(--is);background:var(--kagit);white-space:nowrap}
.teyit-im .ikon{flex:none}
.ikon-xs{width:.85rem;height:.85rem}
/* Metin içinde kalan uyarı işareti (tablo hücresi, künye değeri) — emoji değil */
.ikon-uyari{color:var(--mercan);vertical-align:-.1em;margin-right:.2em}
.yazi .kunye-artik{padding-top:1.4rem}
.not--uyari .teyit-im{color:#7A2A1B;border-color:#B9705F;background:#FFF7F5}

/* ── damgasız damga (sayfa düzeyi durum) ─────────────────────────────────
   Aynı kutu, aynı eğim, KESİKLİ çerçeve. Üç durum metinle ayrılır. */
.damga--kesik{border-style:dashed;color:var(--is)}
.damga--kesik::before{border-style:dashed}

.derleme{display:flex;align-items:flex-start;gap:.9rem;flex-wrap:wrap;
  margin:1.35rem 0 0;padding-top:1.1rem;border-top:1px solid var(--cizgi)}
.derleme p{flex:1 1 16rem;color:var(--is);font-size:.92rem;line-height:1.55;margin:0}
.derleme a{font-weight:600;display:inline-flex;align-items:center;min-height:44px}

/* ── künye kartı ─────────────────────────────────────────────────────────
   ⚠️ Değeri olmayan satır HİÇ ÇİZİLMEZ (şablon kuralı). Nüfus kaynağı yok →
      nüfus satırı yok; "—" bile basılmaz. Boş alan boş görünür. */
.yan-kunye{margin:1.7rem 0 0}
.kunye-kart{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);
  padding:1.05rem 1.1rem 1.15rem}
.kunye-kart h2{font-size:.74rem;font-family:var(--govde);font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--is);margin:0 0 .35rem}
.kunye-kart dl{margin:0}
/* ⚠️ GÖZLE BAKIŞ BULGUSU (sayısal kapılar yeşilken): ilk sürüm etiket solda /
   değer SAĞA DAYALI idi. "Kırsal mahalle (eski köy)" ve "~6,6 km (kuş uçuşu)"
   sarınca sağa dayalı iki satıra düşüyor ve künye kırık görünüyordu — üstelik
   sağa dayalı sarmalayan metin en zor okunan hizalamadır.
   Çözüm: etiket ÜSTTE, değer ALTTA, ikisi de sola dayalı. Sarma sorunu
   yapısal olarak ortadan kalkıyor; künye bir tablo değil, bir künyedir. */
.kunye-kart dl > div{padding:.62rem 0;border-top:1px solid var(--cizgi-ince)}
.kunye-kart dt{color:var(--is);font-size:.82rem;line-height:1.35;margin-bottom:.12rem}
.kunye-kart dd{margin:0;font-weight:600;line-height:1.4;min-width:0;
  overflow-wrap:break-word}
.kunye-kart dd a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;
  font-weight:700;text-decoration:none}
.kunye-kart dd a:hover{text-decoration:underline}

/* ── SSS ─────────────────────────────────────────────────────────────────
   AKORDEON YOK: her cevabın ilk cümlesi doğrudan yanıt; kapalı akordeon onu
   hem taramadan hem alıntıdan gizlerdi. */
.sss dl{margin:0}
.sss dl > div{padding:1rem 0;border-top:1px solid var(--cizgi-ince)}
.sss dl > div:first-child{border-top:0;padding-top:.2rem}
.sss dt{font-family:var(--display);font-weight:700;font-size:1.04rem;color:var(--kobalt);
  letter-spacing:-.015em;margin-bottom:.35rem}
.sss dd{margin:0;color:var(--is)}

/* ── iç link omurgası ────────────────────────────────────────────────────
   652 bağlantı, 0 kırık. Şablon bağlantı EKLEMEZ ve ÇIKARMAZ. */
/* ── iç link omurgası — GEZİNMEDİR, cümle değil ──────────────────────────
   ⚠️ İlk sürümde bağlantılar satır içi duruyordu; Kapı 9 ölçtü: sarılan
      satırlarda hedefler arası **7px** kalıyordu (eşik 8px). Bunlar prozanın
      içindeki bağlantılar değil, sayfanın omurgası — bu yüzden `.mah a` ve
      `.bos-liste a` ile AYNI çip dilini kullanıyorlar. Yeni bileşen değil,
      var olan gezinme dilinin tekrarı. */
.omurga ul{display:grid;gap:.55rem}
.omurga li{padding:.7rem .9rem .55rem;background:var(--yuzey);border:1px solid var(--cizgi);
  border-radius:var(--r);font-size:.94rem;color:var(--is);line-height:1.55}
.omurga a{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;
  margin:.32rem .6rem .32rem 0;border:1px solid var(--cizgi);background:var(--kagit);
  border-radius:var(--r-s);color:var(--metin);text-decoration:none;
  font-weight:600;font-size:.93rem;transition:border-color .16s ease,color .16s ease}
.omurga a:hover{border-color:var(--kobalt);color:var(--kobalt)}

/* ── kaynaklar ───────────────────────────────────────────────────────────
   Kapalı başlar (UX vt · Content/Truncation), çünkü kaynak listesi okurun
   değil denetleyenin aradığı şeydir — ama saklanmaz. */
.kaynaklar{margin-top:2.4rem;border:1px solid var(--cizgi);border-radius:var(--r);
  background:var(--yuzey);max-width:54ch}
.kaynaklar summary{display:flex;align-items:center;gap:.55rem;min-height:52px;padding:0 1rem;
  cursor:pointer;list-style:none;font-weight:600;font-size:.94rem;color:var(--kobalt);
  border-radius:var(--r)}
.kaynaklar summary::-webkit-details-marker{display:none}
.kaynaklar summary span{flex:1}
.kaynaklar summary .kaynak-ok{transition:transform .16s ease;color:var(--is)}
.kaynaklar[open] summary .kaynak-ok{transform:rotate(180deg)}
.kaynaklar ul{padding:0 1rem .3rem;display:grid;gap:.55rem}
.kaynaklar li{font-size:.88rem;color:var(--is);line-height:1.55;padding-left:.9rem;
  border-left:2px solid var(--cizgi)}
.kaynak-not{padding:.2rem 1rem 1rem;font-size:.82rem;color:var(--is);line-height:1.5}

/* ── veri tablosu ────────────────────────────────────────────────────────
   Kaydırma SAYFAYA değil tabloya ait (UX vt · Responsive/Horizontal Scroll:
   375px'te 6 sütunlu tablo sayfayı kaydırıyordu). Klavyeyle de kaydırılır. */
.tablo-sar{overflow-x:auto;margin:0 0 1.15rem;border:1px solid var(--cizgi);
  border-radius:var(--r);background:var(--yuzey)}
.tablo-sar:focus-visible{outline:3px solid var(--gol);outline-offset:2px}
table.veri{border-collapse:collapse;width:100%;font-size:.94rem}
table.veri th,table.veri td{padding:.62rem .85rem;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--cizgi-ince)}
table.veri thead th{font-family:var(--govde);font-size:.72rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--is);
  border-bottom:1.5px solid var(--cizgi);white-space:nowrap}
table.veri tbody th{font-weight:600;color:var(--metin)}
table.veri tr:last-child th,table.veri tr:last-child td{border-bottom:0}

.ham-satir{white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:.85rem;
  background:#FDF3F1;border:1px dashed var(--mercan);border-radius:var(--r-s);padding:.6rem .8rem}

@media (min-width:900px){
  .yazi-bas{padding-top:2.2rem}
  .omurga ul{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1024px){
  /* Aynı DOM, iki düzen: künye masaüstünde sağ sütunda.
     ⚠️ YAPIŞKAN DEĞİL — 5-7 satırlık başvuru verisi takip edilecek bir eylem
        değil. İşletme profilinde yapışkan olan şey sipariş kartıdır. */
  .yazi-ag{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0 2.8rem;align-items:start}
  .yazi-bas{grid-column:1;grid-row:1}
  .yan-kunye{grid-column:2;grid-row:1 / span 2;margin-top:2.2rem}
  .yazi--govde{grid-column:1;grid-row:2}
  /* Künyesi olmayan sayfa (keşfet) 320px'lik boş sütun bırakmaz */
  body.yazi-sayfa--kunyesiz .yazi-ag{display:block}
}

/* ── hareket azaltma ────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .damga{transform:none}
  .profil-yan{position:static}
}

/* ══ /ara — TEK KUTUDAN ARAMA ══════════════════════════════════════════════
   Sunai · 14.08.2026 · JS 0 byte (form GET, sunucu çizer)

   ⚠️ Arama kutusu YENİDEN TASARLANMADI: ana sayfadaki `.ara-kutu` bileşeninin
      aynısı kullanılıyor. Aynı işi yapan iki farklı görünüm, arayüzün
      sözlüğünü bölerdi.
   ⚠️ Otomatik tamamlama YOK — UX vt `Search/Autocomplete` kuralı BİLİNÇLİ
      reddedildi: öneri ya JS ya her tuşta sunucu isteği ister, ikisi de
      halka açık sayfanın 0-byte sözleşmesini bozar (K-30). Telafi: form GET,
      sonuç sayfası paylaşılabilir ve yer imlenebilir bir adrestir. */

.ara-bas{padding:2rem 0 .4rem}
.ara-h1{font-size:clamp(1.7rem,6vw,2.6rem);color:var(--kobalt);font-weight:800;
  letter-spacing:-.035em;margin:0 0 1rem}
.ara-etiket{display:block;font-size:.92rem;font-weight:600;color:var(--is);
  margin-bottom:.5rem;max-width:44ch;line-height:1.45}
.ara-h2{font-size:.74rem;font-family:var(--govde);font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--is);margin:0 0 .7rem}
.ara-not{color:var(--is);font-size:.96rem;line-height:1.6;max-width:46ch}
.ara-not a{font-weight:600;padding-block:.32em}

/* ── İMZA · arama muhasebesi ──────────────────────────────────────────────
   Panelin satır muhasebesiyle AYNI gramer: girdi → çıktının ayrıştırması.
   Kullanıcıya ne kadar veri tarandığı ve neyin neden görünmediği tek satırda
   söylenir. "0 sonuç bulundu" yerine geçen şey budur. */
.ara-muhasebe{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .55rem;
  margin:1.4rem 0 .2rem;padding:.65rem .85rem;background:var(--yuzey);
  border:1px solid var(--cizgi);border-left:4px solid var(--kobalt);
  border-radius:var(--r);font-size:.93rem;color:var(--is);line-height:1.5;
  font-variant-numeric:tabular-nums}
.ara-muhasebe .am-girdi{font-family:var(--display);font-weight:700;color:var(--metin)}
.ara-muhasebe .am-ok{color:var(--kobalt);font-weight:700}
.ara-muhasebe .am-parca{white-space:nowrap}
.ara-muhasebe .am-parca b{font-family:var(--display);font-weight:700;color:var(--metin)}

/* ── grup ─────────────────────────────────────────────────────────────────
   ⚠️ GRUP BAŞINA KAPI DURUMU: bir grup iki tamamen farklı sebeple boş
      olabilir — (a) öyle bir kayıt hiç yok, (b) kayıt var ama yayında değil
      (K-20). Jenerik arama ikisine de "0 sonuç" der; biz hangisi olduğunu
      söylüyoruz. Sitenin tezinin aramaya uygulanmış hâli budur. */
.ara-grup{padding-top:1.6rem}
.ara-grup-bas{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.7rem}
.ara-grup-bas h2{font-family:var(--govde);font-size:.74rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;color:var(--is)}
.ara-sayi{font-family:var(--display);font-weight:700;color:var(--kobalt);
  font-variant-numeric:tabular-nums;font-size:.95rem}
.ara-liste li{display:flex;align-items:center;gap:.7rem;
  border-bottom:1px solid var(--cizgi-ince)}
.ara-liste a{flex:1;min-width:0;display:block;padding:.7rem 0;min-height:56px;
  text-decoration:none;color:inherit}
.as-ad{display:block;font-family:var(--display);font-weight:700;font-size:1.05rem;
  letter-spacing:-.02em;color:var(--metin);line-height:1.3}
.ara-liste a:hover .as-ad{color:var(--gol)}
.as-alt{display:block;font-size:.9rem;color:var(--is);margin-top:.1rem}
.as-damga{flex:none;font-size:.78rem;font-weight:700;color:var(--kobalt);
  font-variant-numeric:tabular-nums;text-align:right}
.ara-bos{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);
  padding:1rem 1.05rem}
.ara-bos p{color:var(--is);font-size:.96rem;line-height:1.6;max-width:48ch}
.ara-bos p + p{margin-top:.55rem}
.ara-bos b{color:var(--metin);font-weight:700}
.ara-bos a{font-weight:600;padding-block:.32em}
/* İpucu çipleri — gezinme rolünde, tam 44px hedef (satır içi muafiyet yok) */
.ara-cip{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.ara-cip a{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;
  border:1px solid var(--cizgi);background:var(--yuzey);border-radius:var(--r-s);
  color:var(--metin);text-decoration:none;font-weight:600;font-size:.93rem}
.ara-cip a:hover{border-color:var(--kobalt);color:var(--kobalt)}

/* ══ /etkinlikler — AJANDA OMURGASI ════════════════════════════════════════
   ⚠️ TAKVİM IZGARASI REDDEDİLDİ: belediyenin tüm arşivi 23 kayıt; bir ay
      ızgarası ekranın büyük bölümünü boş kutuyla doldurur — yani sayfa
      "burada bir şey yok" der ve bunu SÜSLEYEREK der. Tek sütun, zaman
      sıralı ajanda.
   ⚠️ Tarih burada dekorasyon değil YAPININ KENDİSİ: doktrin "sıra ancak
      içerik gerçekten sıralıysa" der; tarih gerçekten sıralıdır. */

.etk-suzgec ul{display:flex;flex-wrap:wrap;gap:.5rem;padding:.4rem 0 0}
.etk-suzgec a,.etk-yok{display:inline-flex;align-items:center;gap:.45rem;
  min-height:44px;padding:0 .9rem;border-radius:var(--r-s);
  font-weight:600;font-size:.93rem;text-decoration:none}
.etk-suzgec a{border:1px solid var(--cizgi);background:var(--yuzey);color:var(--metin)}
.etk-suzgec a:hover{border-color:var(--kobalt);color:var(--kobalt)}
.etk-suzgec a[aria-current="page"]{border-color:var(--kobalt);border-width:2px;
  background:#EEF3F9;color:var(--kobalt);font-weight:700}
/* ⚠️ SIFIR DÖNECEK SÜZGEÇ DÜĞMEYE DÖNMEZ — ölü uca giden bir çip, çıkmazı
   süslemektir. 404 sayfasında arama kutusunu çizmeme kuralının aynısı. */
.etk-yok{border:1px dashed var(--cizgi);color:var(--is);cursor:default}
.etk-sayi{font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums;
  color:var(--is)}
.etk-suzgec a[aria-current="page"] .etk-sayi{color:var(--kobalt)}

.etk-ajanda{margin:0}
/* Gün başlığı = omurga. `aria-hidden`: tam tarih her kayıtta ayrıca yazılı,
   görsel gruplama işitsel bağlamı bozmasın. */
.etk-gun{display:flex;align-items:center;gap:.65rem;padding:1.5rem 0 .5rem}
.etk-gun:first-child{padding-top:.2rem}
.etk-gun-no{font-family:var(--display);font-size:2.1rem;font-weight:800;
  color:var(--kobalt);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.etk-gun-ad{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--is);line-height:1.25}
.etk-kayit{border-top:1px solid var(--cizgi-ince);padding:.85rem 0}
.etk-zaman{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--is);
  font-variant-numeric:tabular-nums;margin-bottom:.2rem}
.etk-im{display:inline-flex;align-items:center;padding:.05rem .5rem .1rem;
  border:1px solid var(--cizgi);border-radius:999px;background:var(--yuzey);
  font-size:.78rem;font-weight:700;color:var(--gol)}
.etk-ad{font-size:1.18rem;letter-spacing:-.025em;line-height:1.28}
.etk-ad a{color:var(--metin);text-decoration:none;display:inline-flex;
  align-items:center;min-height:44px}
.etk-ad a:hover{color:var(--gol)}
.etk-yer{display:flex;align-items:center;gap:.35rem;font-size:.92rem;color:var(--is);
  margin-top:.1rem}
.etk-yer .ikon{flex:none;color:var(--is)}
.etk-arsiv{margin-top:1.8rem;padding-top:1.1rem;border-top:1px solid var(--cizgi)}
.etk-arsiv a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

/* Etkinlik künyesi — mahalle künye kartının kardeşi: etiket ÜSTTE, değer
   ALTTA, ikisi de sola dayalı. (Sağa dayalı sarmalayan metin en zor okunandır;
   bu ders 13.08 gözle bakışında ölçüldü.) */
.etk-kunye{margin:1.3rem 0 0;max-width:34.7rem}
.etk-kunye > div{padding:.7rem 0;border-top:1px solid var(--cizgi-ince)}
.etk-kunye dt{color:var(--is);font-size:.82rem;line-height:1.35;margin-bottom:.12rem}
.etk-kunye dd{margin:0;font-weight:600;line-height:1.5;overflow-wrap:break-word}
.etk-kunye dd a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;
  font-weight:700;text-decoration:none}
.etk-kunye dd a:hover{text-decoration:underline}
.etk-bitis{font-weight:400;color:var(--is);font-size:.92rem}
.yazi-h2-benzeri{font-family:var(--display);font-size:1.28rem;color:var(--kobalt);
  margin:0 0 .9rem;padding-top:.9rem;border-top:2px solid var(--cizgi);max-width:34.7rem}

@media (min-width:900px){
  .ara-bas{padding-top:3rem}
  .ara-h1{max-width:18ch}
  .etk-gun-no{font-size:2.5rem}
}
