/* ============================================================
   Kaleli Kit — Düzen
   KURAL: Bölüm arası boşluk SADECE .k-section ile verilir.
   Sayfa dosyalarında padding/margin yazmayın.
   ============================================================ */

/* ---- Kapsayıcı ---- */
.k-container {
  width: 100%;
  max-width: var(--k-container);
  margin-inline: auto;
  padding-inline: var(--k-gutter);
}
.k-container--sm { max-width: var(--k-container-sm); }
.k-container--wide { max-width: 1440px; }

/* ---- Bölüm ritmi ---- */
.k-section { padding-block: var(--k-section); }
.k-section--sm { padding-block: var(--k-section-sm); }
.k-section--lg { padding-block: var(--k-section-lg); }
.k-section--flush { padding-block: 0; }

/* Zemin varyantları — arka arkaya gelen aynı renk bölümleri
   arasındaki çift boşluğu otomatik toplar */
.k-section--alt   { background: var(--k-bg-2); }
.k-section--deep  { background: var(--k-deep); color: var(--k-deep-ink); }
.k-section--brand { background: var(--k-brand); color: var(--k-brand-on); }

.k-section--deep h1, .k-section--deep h2,
.k-section--deep h3, .k-section--deep h4 { color: #fff; }
.k-section--deep a { color: #fff; }
.k-section--brand h1, .k-section--brand h2,
.k-section--brand h3, .k-section--brand h4 { color: var(--k-brand-on); }

/* Aynı zeminli iki bölüm yan yanaysa aradaki dolguyu yarıya indir */
.k-section--alt + .k-section--alt,
.k-section--deep + .k-section--deep { padding-top: 0; }

/* ---- Izgara ---- */
.k-grid {
  display: grid;
  gap: var(--k-gutter);
  grid-template-columns: repeat(var(--k-cols, 1), minmax(0, 1fr));
}
.k-grid--2 { --k-cols: 2; }
.k-grid--3 { --k-cols: 3; }
.k-grid--4 { --k-cols: 4; }
.k-grid--gap-lg { gap: var(--k-6); }

/* Otomatik sarma — kart listeleri için tercih edilen yol */
.k-grid--auto {
  grid-template-columns: repeat(auto-fit, minmax(var(--k-min, 260px), 1fr));
}

/* Yan yana içerik: metin + görsel */
.k-split {
  display: grid;
  gap: clamp(var(--k-5), 3vw, var(--k-8));
  align-items: center;
  grid-template-columns: 1fr;
}
@media (min-width: 860px) {
  .k-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-split--60-40 { grid-template-columns: 3fr 2fr; }
  .k-split--40-60 { grid-template-columns: 2fr 3fr; }
  .k-split--start { align-items: start; }
}

@media (max-width: 859px) {
  .k-grid--3, .k-grid--4 { --k-cols: 2; }
}
@media (max-width: 559px) {
  .k-grid--2, .k-grid--3, .k-grid--4 { --k-cols: 1; }
}

/* ---- Dikey yığın ---- */
.k-stack { display: flex; flex-direction: column; gap: var(--k-4); }
.k-stack--sm { gap: var(--k-2); }
.k-stack--lg { gap: var(--k-6); }

/* ---- Yatay küme (sarmalı) ---- */
.k-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--k-3);
}
.k-cluster--between { justify-content: space-between; }
.k-cluster--center { justify-content: center; }

/* ---- Bölüm başlığı ---- */
.k-head { margin-bottom: var(--k-7); max-width: var(--k-prose); }
.k-head--center { margin-inline: auto; text-align: center; }
.k-head__eyebrow {
  display: block;
  margin-bottom: var(--k-2);
  color: var(--k-brand-ink);
  font-size: var(--k-text-sm);
  font-weight: 650;
  letter-spacing: var(--k-ls-wide);
  text-transform: uppercase;
}
.k-head__title { margin-bottom: var(--k-3); }
.k-head__lede {
  margin: 0;
  color: var(--k-ink-3);
  font-size: var(--k-text-md);
}
.k-on-deep .k-head__eyebrow,
.k-section--deep .k-head__eyebrow { color: var(--k-brand); }
.k-on-deep .k-head__lede,
.k-section--deep .k-head__lede { color: var(--k-deep-ink-2); }

/* ---- Okunabilir metin bloğu ---- */
.k-prose { max-width: var(--k-prose); }
.k-prose > * + * { margin-top: var(--k-4); }
.k-prose h2 { margin-top: var(--k-7); }
.k-prose h3 { margin-top: var(--k-6); }
.k-prose h2:first-child, .k-prose h3:first-child { margin-top: 0; }
.k-prose ul, .k-prose ol { padding-left: var(--k-5); }
.k-prose li::marker { color: var(--k-brand); }

/* ---- Yazı + kenar çubuğu ---- */
.k-article {
  display: grid;
  gap: var(--k-7);
  grid-template-columns: minmax(0, 1fr);
}
.k-article .k-prose { max-width: none; }
.k-article__body { min-width: 0; }
.k-article__nav { margin-top: var(--k-7); }

@media (min-width: 960px) {
  .k-article:has(.k-aside) {
    grid-template-columns: minmax(0, 1fr) 17.5rem;
    align-items: start;
    gap: var(--k-8);
  }
}

.k-aside {
  padding: var(--k-5);
  background: var(--k-bg-2);
  border: 1px solid var(--k-line);
  border-radius: var(--k-radius);
}
@media (min-width: 960px) {
  .k-aside {
    position: sticky;
    top: 5.5rem;
  }
}
.k-aside__title {
  margin: 0 0 var(--k-4);
  font-size: var(--k-text-xs);
  font-weight: 650;
  letter-spacing: var(--k-ls-wide);
  text-transform: uppercase;
  color: var(--k-ink-3);
}
.k-aside__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.k-aside__list li + li {
  margin-top: var(--k-3);
  padding-top: var(--k-3);
  border-top: 1px solid var(--k-line);
}
.k-aside__link {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  text-decoration: none;
  color: var(--k-ink);
}
.k-aside__link:hover .k-aside__name { color: var(--k-brand-ink); }
.k-aside__name {
  font-size: var(--k-text-sm);
  font-weight: 600;
  line-height: 1.35;
}
.k-aside__date {
  font-size: var(--k-text-xs);
  color: var(--k-ink-3);
}
