/* ==========================================================================
   ESAM — Okunabilirlik katmanı
   ==========================================================================
   app.css ve selected-theme.css'in üzerine biner. Düzeni değiştirmez;
   yalnızca yazı ölçeğini, satır yüksekliklerini, kontrastı ve taşma
   davranışını düzeltir.

   Neden gerekti: iki dosyada 73 farklı font boyutu vardı, 195 tanım 13px
   altındaydı (en küçüğü 7,7px; altbilgi gövde metni 8,8px). Bu katman
   hepsini yedi basamaklı tek bir ölçeğe indiriyor.
   ========================================================================== */

:root {
  /* Tip ölçeği — 16px kök varsayımıyla */
  --text-2xs: 0.6875rem;   /* 11,0px · yalnızca büyük harf + harf aralıklı etiketler */
  --text-xs: 0.8125rem;    /* 13,0px · üstveri, zaman damgası, yardımcı metin */
  --text-sm: 0.9375rem;    /* 15,0px · ikincil metin, gezinme, altbilgi */
  --text-base: 1.0625rem;  /* 17,0px · gövde */
  --text-lg: 1.25rem;      /* 20,0px · giriş paragrafı, kart başlığı */
  --text-xl: 1.5rem;       /* 24,0px */
  --text-2xl: 2rem;        /* 32,0px */
  --text-3xl: clamp(2.5rem, 5vw, 4rem);

  /* Satır yüksekliği: yazı küçüldükçe oran artar */
  --leading-tight: 1.2;
  --leading-snug: 1.45;
  --leading-normal: 1.6;
  --leading-prose: 1.75;

  /* Okuma genişliği — 820px'lik sütun 17px'te ~88 karaktere denk geliyordu */
  --measure: 68ch;

  /* Etiketlerde harf aralığı: büyük harf metin sıkışık okunur */
  --tracking-label: 0.09em;
}

/* --------------------------------------------------------------------------
   1. Altbilgi — en ciddi sorun buradaydı (8,6–9,1px)
   -------------------------------------------------------------------------- */
.selected-footer-brand p,
.selected-footer-brand address { font-size: var(--text-sm); line-height: var(--leading-normal); }
.selected-footer-column a { font-size: var(--text-sm); line-height: var(--leading-snug); }
.selected-footer-follow > nav a { font-size: var(--text-sm); }
.selected-footer-follow form > label { font-size: var(--text-xs); letter-spacing: var(--tracking-label); }
.selected-footer-follow input { font-size: var(--text-sm); }
.selected-footer-bottom { font-size: var(--text-xs); line-height: var(--leading-normal); }
.selected-footer-social a { font-size: var(--text-xs); }

/* --------------------------------------------------------------------------
   2. Üst şeritler ve gezinme
   -------------------------------------------------------------------------- */
.utility-header-inner { font-size: var(--text-xs); }
.legacy-rail strong,
.legacy-rail a { font-size: var(--text-xs); }
.language-switch { font-size: var(--text-xs); }
.search-quick-links > span { font-size: var(--text-2xs); letter-spacing: var(--tracking-label); }
.detail-breadcrumb { font-size: var(--text-xs); }

/* Mobil gezinme: ikon altı etiketler 9,3px'ti */
.mobile-bottom-navigation span { font-size: var(--text-2xs); }
.mobile-menu-sheet section > header span { font-size: var(--text-2xs); letter-spacing: var(--tracking-label); }
.mobile-menu-sheet-links small { font-size: var(--text-xs); }
.mobile-menu-sheet-links details h3 { font-size: var(--text-sm); }

/* --------------------------------------------------------------------------
   3. Etiketler — büyük harf + harf aralığı sayesinde küçük kalabilirler,
      ama 11px'in altına inmemeleri gerekir
   -------------------------------------------------------------------------- */
.content-type,
.status,
.locale-badge,
.archive-memory-intro > span,
.archive-hero-index,
.editor-section-heading span,
.settings-editor-section .panel-heading span,
.detail-related-heading > div > span,
.detail-facts dt,
.detail-legacy-facts dt { font-size: var(--text-2xs); letter-spacing: var(--tracking-label); }

/* --------------------------------------------------------------------------
   4. Listeler ve kartlardaki yardımcı metin
   -------------------------------------------------------------------------- */
.archive-news-list time,
.archive-publication-item small,
.archive-event-feature small,
.archive-program-grid small,
.archive-directorates li span,
.archive-memory-links a,
.archive-stats dd,
.detail-document-link small { font-size: var(--text-xs); line-height: var(--leading-snug); }

.detail-meta { font-size: var(--text-xs); }

/* --------------------------------------------------------------------------
   5. Okuma alanı — gövde metni ve ölçü
   -------------------------------------------------------------------------- */
.rich-content {
  font-size: var(--text-base);
  line-height: var(--leading-prose);
  /* Türkçede uzun bileşik sözcükler ve ham URL'ler sütunu taşırıyordu */
  overflow-wrap: break-word;
  hyphens: auto;
}

/* 820px'lik sütun çok genişti; ölçüyü karaktere bağlıyoruz */
.detail-content-grid { grid-template-columns: 250px minmax(0, var(--measure)); }
.detail-article-column { min-width: 0; max-width: var(--measure); }

.rich-content li { line-height: var(--leading-prose); }
.rich-content blockquote { line-height: var(--leading-snug); }
.rich-content table { font-size: var(--text-sm); }

/* Geniş tablolar sayfayı yatay kaydırmak yerine kendi içinde kaysın */
.rich-content table { display: block; width: 100%; overflow-x: auto; }

/* --------------------------------------------------------------------------
   6. Taşma koruması
   -------------------------------------------------------------------------- */
body { overflow-x: hidden; }

/* Izgara ve esnek kutu çocukları varsayılan olarak içeriklerinden küçülemez */
.archive-overview > article,
.archive-feed > *,
.detail-facts > div,
.detail-legacy-facts > div,
.selected-footer-column,
.mega-columns section { min-width: 0; }

/* Uzun başlık ve bağlantılar kutuyu yarmasın */
.card-title,
.archive-news-list a,
.archive-publication-item a,
.detail-header-copy h1,
.detail-facts dd,
.detail-legacy-facts dd { overflow-wrap: break-word; }

img, svg, video { max-width: 100%; height: auto; }

/* --------------------------------------------------------------------------
   7. Kontrast — küçültülmüş gri metinler yeni boyutlarda da yeterli olsun
   -------------------------------------------------------------------------- */
:root { --muted: #3f4d59; }
.detail-facts dt { color: #46545f; }

/* --------------------------------------------------------------------------
   8. Erişilebilirlik: hareket azaltma tercihi
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* --------------------------------------------------------------------------
   9. Kırpma düzeltmeleri
   --------------------------------------------------------------------------
   Tek satıra sıkıştırılıp "..." ile kesilen metinler. Başlıkları kesmek
   yerine iki satıra yaymak hem daha okunur hem de bilgi kaybetmez.
   -------------------------------------------------------------------------- */

/* Ana sayfa haber listesi: tek satır + ellipsis idi */
.archive-news-list li span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
}

/* Uzun PDF adları kesilmesin, alt satıra insin */
.detail-document-link strong {
  overflow: visible;
  white-space: normal;
  overflow-wrap: break-word;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
}

/* Yönetim panelinde tablo notları 460px'te kesiliyordu */
.admin-table-wrap td small {
  max-width: none;
  white-space: normal;
  overflow: visible;
  font-size: var(--text-xs);
  line-height: var(--leading-snug);
}

/* Yönetici künyesindeki e-posta */
.admin-user span { overflow-wrap: anywhere; text-overflow: clip; font-size: var(--text-xs); }

/* Medya listesindeki dosya anahtarları */
.media-admin-grid strong,
.media-admin-grid code { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
.media-admin-grid code { font-size: var(--text-xs); }
