/* yerlesim: izgara */
/* ═══════════════════════════════════════════════════════════════════════════
   YERLEŞİM — Izgara (kart ızgarası)
   ═══════════════════════════════════════════════════════════════════════════
   Yayın ve duyuru listeleri DİKEY LİSTE yerine KART IZGARASI olur. Bunu
   yapabilmek için bu dosya seçici yazar — bir yerleşim dosyası bunu YAPABİLİR
   (yasak yalnızca palet dosyaları için, bkz. CLAUDE.md). Sebep basit: bu dosya
   YALNIZCA "izgara" seçiliyken yüklenir, o yüzden kurallarını koşulsuz yazabilir.

   Sayfa ölçüsü liste yerleşiminden geniş (kartlar yan yana sığsın diye),
   boşluk ölçeği bir tık sıkı (ızgarada aralığı gap verir).
   ═══════════════════════════════════════════════════════════════════════════ */

/* Yazı tipi dosyaları: layout-liste.css ile aynı iki blok. Work Sans kendi
   sunucumuzda; latin-ext bloğu Türkçe harfleri taşır. */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/work-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                 U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                 U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/work-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC,
                 U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font:         'Work Sans', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: var(--font);
  --mono:         ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

  --line-height: 1.55;
  --measure:     1180px;   /* liste 1060px — kartlar yan yana sığsın */
  --reading:     66ch;

  --s-tight:   8px;
  --s-compact: 12px;
  --s-std:     18px;
  --s-relaxed: 28px;
  --s-section: 44px;

  --r-sm:   6px;
  --r-md:  10px;
  --r-lg:  14px;
  --r-pill: 999px;

  --h1-size:    clamp(1.55rem, 3.2vw, 2rem);
  --h2-size:    1.1rem;
  --h3-size:    .98rem;
  --body-size:  16px;
  --small-size: .8rem;
  --h1-weight:   700;
  --h1-tracking: -.02em;
  --h2-tracking: 0;

  --card-pad:    var(--s-compact) var(--s-std);
  --card-border: 1px;
  --card-shadow: none;

  --grid-min-area: 210px;
  --grid-min-pub:  260px;
  --grid-min-shot: 420px;  /* galeri iframe'i kırpılmasın — her yerleşimde aynı */

  --card-accent-width: 3px;
  --brand-tracking:    -.01em;
}

/* ── Listeleri ızgaraya çevir ───────────────────────────────────────────────
   .pub-list ve .notices, site.css'te "display: block" olarak duruyor. Kart
   görünümü site.css'te ".as-cards" altında da var ama o sınıfı PHP koyuyor;
   burada ona hiç ihtiyaç yok, kuralı doğrudan yazıyoruz. */
.pub-list {
  display: grid; gap: var(--s-compact);
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min-pub), 1fr));
}
.pub-list .pub { margin-bottom: 0; }

.notices {
  display: grid; gap: var(--s-compact);
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min-pub), 1fr));
}
.notices .msg { margin-bottom: 0; }

/* Dar ekranda ızgara tek sütuna insin — yoksa kartlar okunmaz olur. */
@media (max-width: 640px) {
  .pub-list, .notices { grid-template-columns: 1fr; }
}
