/* ==========================================================================
   Blog yazısı (/blog/{slug}) — yalnız bu sayfaya özel düzen. Bileşenler radikal.css'te.
   Önek: by-. Bölüm sırası: ux/mimari.md §3.10
   Masaüstü: 720 px okuma sütunu + sağda yapışkan içindekiler. Telefonda içindekiler katlanır kutu.
   ========================================================================== */

.by { padding-bottom: var(--space-bolum); }
.by-yol { padding-top: var(--space-6); margin-bottom: clamp(16px, 1rem + 1vw, 28px); }

/* Düzen: başlık sol sütunda; içindekiler kapakla aynı hizadan başlar */
.by-duzen { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "bas" "ana"; }
.by-bas { grid-area: bas; }
.by-ana { grid-area: ana; min-width: 0; }
.by-yan { display: none; }
@media (max-width: 1023.98px) { .by-duzen { max-width: 760px; } }
@media (min-width: 1024px) {
  .by-duzen { grid-template-columns: minmax(0, 720px) minmax(240px, 288px); grid-template-areas: "bas yan" "ana yan"; /* yan sütun başlıkla aynı hizadan başlar (içindekiler gövdenin başına kadar inmesin) */ justify-content: space-between; column-gap: clamp(48px, 6vw, 96px); }
  .by-yan { display: block; grid-area: yan; min-width: 0; }
  .by-ic-mobil { display: none; }
}

/* 1 · Makale başı */
.by-bas { padding-bottom: var(--space-7); }
.by-bas__etiketler { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font: 600 13px/16px var(--font-aile-govde); letter-spacing: .06em; text-transform: uppercase; color: var(--color-metin-ikincil); margin-bottom: var(--space-4); }
.by-bas__etiketler a { color: var(--color-metin-vurgu); text-decoration: none; padding-block: 14px; margin-block: -14px; }
.by-bas__etiketler a:hover { text-decoration: underline; text-underline-offset: 3px; }
.by-bas__baslik { font-family: var(--font-aile-baslik); font-weight: 700; font-size: var(--size-h1); line-height: var(--size-h1-satir); letter-spacing: -.02em; text-wrap: balance; }
.by-kunye { display: flex; align-items: center; gap: 12px; margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-sinir-ince); }
.by-kunye__metin { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.by-kunye__isim { font: 600 16px/22px var(--font-aile-govde); }
.by-kunye__isim a { color: inherit; text-decoration: none; }
.by-kunye__isim a:hover { color: var(--color-metin-vurgu); text-decoration: underline; text-underline-offset: 3px; }
.by-kunye__alt { font: 500 14px/20px var(--font-aile-govde); color: var(--color-metin-ikincil); }

/* 2 · Kapak: 1839 × 800, kırpılmaz */
.by-kapak { margin-bottom: clamp(28px, 1.25rem + 2vw, 48px); }
.by-kapak img { width: 100%; aspect-ratio: 1839 / 800; object-fit: contain; border-radius: var(--radius-sm); background: var(--color-zemin-koyu); }

/* 3 · İçindekiler */
.by-icindekiler__baslik { font: 600 13px/16px var(--font-aile-govde); letter-spacing: .06em; text-transform: uppercase; color: var(--color-metin-ikincil); padding-bottom: var(--space-3); }
.by-icindekiler__liste { counter-reset: by-ic; border-top: 2px solid var(--color-metin-birincil); }
.by-icindekiler__liste > li { counter-increment: by-ic; border-bottom: 1px solid var(--color-sinir-ince); }
.by-icindekiler__liste a { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px; padding: 11px 0; min-height: 44px; font: 500 15px/21px var(--font-aile-govde); color: var(--color-metin-birincil); text-decoration: none; }
.by-icindekiler__liste a::before { content: counter(by-ic, decimal-leading-zero); font: 600 13px/21px var(--font-aile-govde); font-variant-numeric: tabular-nums; color: var(--color-metin-ikincil); }
.by-icindekiler__liste a:hover { color: var(--color-metin-vurgu); }
.by-icindekiler__liste a:hover::before { color: var(--color-metin-vurgu); }
.by-yan__ic { position: sticky; top: 97px; display: flex; flex-direction: column; gap: var(--space-7); padding-bottom: 72px; } /* alt 72 px: sağ alttaki yardım düğmesi son satırın üstüne binmesin */
.by-yan__paylas { display: flex; flex-direction: column; gap: var(--space-3); }

/* Telefon ve tablet: katlanır içindekiler */
.by-ic-mobil { margin-bottom: var(--space-7); background: var(--color-zemin-yuzey); border: 1px solid var(--color-sinir-ince); border-radius: var(--radius-md); box-shadow: var(--shadow-kart); }
.by-ic-mobil__baslik { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 0 var(--space-4); font: 600 16px/22px var(--font-aile-govde); border-radius: var(--radius-md); }
.by-ic-mobil__sayi { font-weight: 500; color: var(--color-metin-ikincil); margin-left: 6px; }
.by-ic-mobil__ok { transition: transform var(--motion-orta) var(--motion-egri-cikis); }
.by-ic-mobil[open] .by-ic-mobil__ok { transform: rotate(180deg); }
.by-ic-mobil .by-icindekiler__liste { margin: 0 var(--space-4) var(--space-2); border-top-width: 1px; }
.by-ic-mobil .by-icindekiler__liste > li:last-child { border-bottom: 0; }

/* 4 · Gövde tipografisi: 17/29, paragraf arası 20, metin içi bağlantı kiremit + alt çizgi */
.by-govde { font-size: var(--size-govde); line-height: 1.72; color: var(--color-metin-birincil); }
.by-govde > * + * { margin-top: 20px; }
.by-govde > .by-giris { font-size: var(--size-giris); line-height: var(--size-giris-satir); }
.by-govde h2 { margin-top: clamp(44px, 2rem + 2vw, 64px); font-size: var(--size-h2); line-height: var(--size-h2-satir); scroll-margin-top: 100px; }
.by-govde h3 { margin-top: clamp(28px, 1.5rem + 1vw, 40px); font-size: var(--size-h3); line-height: var(--size-h3-satir); }
.by-govde h2 + *, .by-govde h3 + * { margin-top: var(--space-3); }
.by-govde b, .by-govde strong { font-weight: 600; }
.by-govde a { color: var(--color-metin-vurgu); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.by-govde a:hover { color: var(--color-metin-vurgu-hover); text-decoration-thickness: 2px; }
.by-govde h4 { margin-top: var(--space-6); }
.by-govde h2 > strong, .by-govde h3 > strong { font-weight: inherit; }
.by-govde hr { border: 0; height: 1px; background: var(--color-sinir-ince); margin-block: var(--space-8); }
.by-govde blockquote { margin-inline: 0; padding: var(--space-4) var(--space-5); background: var(--color-zemin-yuzey-2); border-radius: var(--radius-md); color: var(--color-metin-birincil); }
.by-govde blockquote > * + * { margin-top: 12px; }
.by-govde img, .by-govde video { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.by-govde iframe { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--radius-sm); }
.by-govde figure { margin: 0; }
.by-govde figcaption { margin-top: 8px; font-size: 14px; line-height: 20px; color: var(--color-metin-ikincil); }
.by-govde li > ul, .by-govde li > ol { margin-top: 10px; }
.by-govde li > p + p { margin-top: 8px; }
.by-govde ul, .by-govde ol { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.by-govde ul > li { position: relative; padding-left: 24px; }
.by-govde ul > li::before { content: ""; position: absolute; left: 4px; top: .72em; width: 7px; height: 7px; border-radius: 1px; background: var(--color-sinir-guclu); }
.by-govde ol { counter-reset: by-ol; }
.by-govde ol > li { position: relative; padding-left: 40px; counter-increment: by-ol; }
.by-govde ol > li::before { content: counter(by-ol); position: absolute; left: 0; top: 2px; width: 26px; height: 26px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--color-metin-birincil); font: 700 13px/26px var(--font-aile-baslik); text-align: center; font-variant-numeric: tabular-nums; }
.by-govde .rozet--teyit { vertical-align: 1px; }
.by-not { margin-block: var(--space-6) var(--space-2); }
.by-not .bildirim__metin { font-size: 15px; line-height: 23px; }
.by-govde > .by-kaynaklar { gap: 8px; font-size: 15px; line-height: 23px; color: var(--color-metin-ikincil); }

/* Tablolar: dar ekranda kendi kutusunda kayar; sayılar tabular ve sağa yaslı */
.by-tablo { margin-block: var(--space-6); overflow-x: auto; background: var(--color-zemin-yuzey); border: 1px solid var(--color-sinir-ince); border-radius: var(--radius-md); box-shadow: var(--shadow-kart); }
.by-tablo table { width: 100%; min-width: 560px; border-collapse: collapse; font: 400 15px/22px var(--font-aile-govde); }
.by-tablo th, .by-tablo td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--color-sinir-ince); }
.by-tablo thead th { padding-block: 12px; font: 600 13px/18px var(--font-aile-govde); color: var(--color-metin-ikincil); background: var(--color-zemin-yuzey-2); white-space: nowrap; }
.by-tablo tbody tr:last-child > * { border-bottom: 0; }
.by-tablo tbody th { font-weight: 600; }
.by-tablo th[align], .by-tablo td[align] { text-align: left; }
.by-tablo tbody tr > th:first-child { white-space: normal; }
.by-tablo:focus-visible { outline: 3px solid var(--color-odak-acik); outline-offset: 2px; }
.by-tablo .by-sayi { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.by-tablo td.by-sayi { font-weight: 600; }
.by-tablo--hesap td:last-child { font-weight: 600; }
/* Telefonda iki tablo da satır satır okunur (yatay kaydırma yok, 360 px dahil):
   başlıkta satırın adı, altında etiket + değer çiftleri. Fiyat tablosunda değerler sağa yaslı, tabular. */
@media (max-width: 599.98px) {
  .by-tablo--hesap, .by-tablo--fiyat { overflow: visible; }
  .by-tablo--hesap table, .by-tablo--fiyat table { min-width: 0; }
  .by-tablo--hesap thead, .by-tablo--fiyat thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .by-tablo--hesap tr, .by-tablo--fiyat tr { display: block; padding: 14px 16px; border-bottom: 1px solid var(--color-sinir-ince); }
  .by-tablo--hesap tbody tr:last-child, .by-tablo--fiyat tbody tr:last-child { border-bottom: 0; }
  .by-tablo--hesap th, .by-tablo--hesap td, .by-tablo--fiyat th, .by-tablo--fiyat td { display: block; padding: 0; border: 0; }
  .by-tablo--hesap tbody th, .by-tablo--fiyat tbody th { font: 700 17px/24px var(--font-aile-baslik); margin-bottom: 6px; }
  .by-tablo--hesap td { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 8px; padding-block: 3px; }
  .by-tablo--hesap td::before { content: attr(data-etiket); font: 500 13px/22px var(--font-aile-govde); color: var(--color-metin-ikincil); }
  .by-tablo--fiyat td.by-sayi { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-block: 5px; text-align: right; }
  .by-tablo--fiyat td.by-sayi + td.by-sayi { border-top: 1px dashed var(--color-sinir-ince); }
  .by-tablo--fiyat td::before { content: attr(data-etiket); font: 500 14px/22px var(--font-aile-govde); color: var(--color-metin-ikincil); text-align: left; }
}

/* Kampanya kutusu: panel metninde (blog yazısı, serbest sayfa) kupon kodu + açıklama + eylem. YtMetin satır içi stili attığı için görünüm sınıftan gelir.
   Yapı: div.kampanya-kutusu > p.kampanya-kutusu__etiket · p.kampanya-kutusu__kod · p.kampanya-kutusu__aciklama · p.kampanya-kutusu__eylem > a.kampanya-kutusu__ac.
   Parçaların hepsi isteğe bağlıdır. Kopyala-yapıştır örneği: docs/yeni-tasarim-guncelleme-2026-10-31.md */
.by-govde .kampanya-kutusu { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin-block: var(--space-7); padding: clamp(20px, 1rem + 2vw, 32px); background: var(--color-zemin-bant); border: 1px solid var(--color-zemin-bant-sinir); border-radius: var(--radius-md); }
.by-govde .kampanya-kutusu > * { margin: 0; max-width: 100%; }
.by-govde .kampanya-kutusu__etiket { font: 600 13px/16px var(--font-aile-govde); letter-spacing: .06em; text-transform: uppercase; color: var(--color-metin-ikincil); }
.by-govde .kampanya-kutusu__kod { padding: 10px 20px; background: var(--color-zemin-yuzey); border: 2px dashed var(--color-marka-turuncu-grafik); border-radius: var(--radius-sm); font: 800 clamp(24px, 1.2rem + 1.6vw, 32px)/1.2 var(--font-aile-baslik); letter-spacing: .06em; overflow-wrap: anywhere; user-select: all; }
.by-govde .kampanya-kutusu__aciklama { max-width: 36em; font-size: var(--size-govde); line-height: 26px; }
.by-govde .kampanya-kutusu__eylem { margin-top: var(--space-2); }
.by-govde .kampanya-kutusu__ac { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: var(--radius-sm); background: var(--color-dugme-birincil); color: var(--color-metin-ters); font: 600 16px/20px var(--font-aile-govde); text-align: center; text-decoration: none; transition: background-color var(--motion-hizli); }
.by-govde .kampanya-kutusu__ac:hover { background: var(--color-dugme-birincil-hover); color: var(--color-metin-ters); text-decoration: none; }
.by-govde .kampanya-kutusu__ac:active { background: var(--color-dugme-birincil-basili); }
@media (max-width: 639.98px) { .by-govde .kampanya-kutusu__eylem { align-self: stretch; } .by-govde .kampanya-kutusu__ac { display: flex; } }

/* 5 · Bağlam kutusu: sakin, yüzey + ince sınır; açılır pencere yok */
.by-govde > .by-baglam { margin-block: var(--space-8); }
.by-baglam { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-kart-ic); background: var(--color-zemin-yuzey); border: 1px solid var(--color-sinir-ince); border-radius: var(--radius-md); line-height: normal; box-shadow: var(--shadow-kart); }
.by-baglam__etiket { font: 600 13px/16px var(--font-aile-govde); letter-spacing: .06em; text-transform: uppercase; color: var(--color-metin-vurgu); }
.by-baglam__baslik { margin-top: -6px; font: 700 var(--size-h3)/var(--size-h3-satir) var(--font-aile-baslik); letter-spacing: -.01em; }
.by-baglam__metin { font-size: 15px; line-height: 22px; color: var(--color-metin-ikincil); }
.by-baglam__fiyatlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--color-sinir-ince); }
.by-baglam__fiyatlar > div { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; min-width: 0; }
.by-baglam__fiyatlar > div:first-child { padding-left: 0; }
.by-baglam__fiyatlar > div + div { box-shadow: -1px 0 0 0 var(--color-sinir-ince); }
.by-baglam__fiyatlar dt { font: 500 13px/18px var(--font-aile-govde); color: var(--color-metin-ikincil); }
.by-baglam__fiyatlar dd { font: 800 19px/24px var(--font-aile-govde); letter-spacing: -.01em; white-space: nowrap; }
.by-baglam__siniflar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-5); }
.by-baglam__sinif-soru { font: 600 15px/20px var(--font-aile-govde); }
.by-baglam__karolar { display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 559.98px) {
  .by-baglam__fiyatlar { grid-template-columns: minmax(0, 1fr); }
  .by-baglam__fiyatlar > div { flex-direction: row; justify-content: space-between; align-items: baseline; padding: 10px 0; }
  .by-baglam__fiyatlar > div + div { box-shadow: none; border-top: 1px solid var(--color-sinir-ince); }
  .by-baglam__karolar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); width: 100%; gap: 4px; }
  .by-baglam__karolar .sinif-karo--mini { width: auto; }
}

/* 7 · Yazı sonu: etiketler + paylaş, yazar kutusu */
.by-son { margin-top: clamp(40px, 2rem + 2vw, 64px); display: flex; flex-direction: column; gap: var(--space-6); }
.by-son__satir { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-5) var(--space-8); padding-top: var(--space-5); border-top: 2px solid var(--color-metin-birincil); }
.by-son__etiketler, .by-son__paylas { display: flex; flex-direction: column; gap: var(--space-3); }
.by-son__isim { font: 600 13px/16px var(--font-aile-govde); letter-spacing: .06em; text-transform: uppercase; color: var(--color-metin-ikincil); }
.by-yazar { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--space-4); padding: var(--space-kart-ic); background: var(--color-zemin-yuzey-2); border-radius: var(--radius-md); }
.by-yazar__metin { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.by-yazar__isim { font: 700 19px/25px var(--font-aile-baslik); letter-spacing: -.01em; }
.by-yazar__aciklama { font-size: 15px; line-height: 22px; color: var(--color-metin-ikincil); }
.by-yazar__foto { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: var(--color-zemin-yuzey); }
.by-yazar__isim a { color: inherit; text-decoration: none; }
.by-yazar__isim a:hover { color: var(--color-metin-vurgu); text-decoration: underline; text-underline-offset: 3px; }
.by-yazar__unvan { font: 500 14px/20px var(--font-aile-govde); color: var(--color-metin-ikincil); }
.by-yazar .dugme--metin { margin-top: 2px; white-space: normal; text-align: left; }
.by-yazar .monogram { background: var(--color-zemin-yuzey); box-shadow: inset 0 0 0 1px var(--color-sinir-ince); color: var(--color-metin-birincil); }

/* 8 · İlgili yazılar (kum bant). İlgili paket kutusu: yazı ile paket arasında panelde bağ olmadığı için çizilmez. */
.by-ilgili__baslik { font: 700 var(--size-h2)/var(--size-h2-satir) var(--font-aile-baslik); letter-spacing: -.015em; }
.by-ilgili__ust { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-2) var(--space-6); margin-bottom: var(--space-6); }
.by-ilgili__liste { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
@media (min-width: 768px) { .by-ilgili__liste { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--layout-oluk); } }
.by-ilgili__liste > li { min-width: 0; }
.by-ilgili__liste .kart-blog__baslik { display: block; -webkit-line-clamp: unset; overflow: visible; }
@media (max-width: 767.98px) {
  .by-ilgili__liste > li + li { border-top: 1px solid var(--color-sinir-ince); }
  .by-ilgili__liste .kart-blog { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: 14px; row-gap: 6px; align-items: start; padding-block: var(--space-4); }
  .by-ilgili__liste > li:first-child .kart-blog { padding-top: 0; }
  .by-ilgili__liste .kart-blog__kapak { grid-row: 1 / span 2; border-radius: var(--radius-xs); }
  .by-ilgili__liste .kart-blog > :not(.kart-blog__kapak) { grid-column: 2; }
  .by-ilgili__liste .kart-blog__ust { margin-top: 0; }
  .by-ilgili__liste .kart-blog__baslik { font-size: 17px; line-height: 23px; }
}
