/* Blog sayfaları (DESIGN.md token'ları; mantıksal özellikler RTL için). */
.blog-main { max-width: 760px; padding-block: var(--sp-6) var(--sp-8); }
.blog-main > h1 { font-size: var(--fs-xl); font-weight: 800; margin-block-end: var(--sp-4); overflow-wrap: anywhere; }
.blog-main .lead { font-size: var(--fs-md); color: var(--ink-2); margin-block: 0 var(--sp-6); max-width: 60ch; }
.blog-main .ad-wrap { margin-block: var(--sp-6); }

/* Yazı tipi yedekleri: Bricolage/Instrument Sans Kiril, Arapça, Japonca içermez */
:lang(ru) { --font-display: "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif; --font-body: "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif; }
:lang(ar) { --font-display: "Noto Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif; --font-body: "Noto Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif; }
:lang(ja) { --font-display: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, system-ui, sans-serif; --font-body: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, system-ui, sans-serif; }
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3 { letter-spacing: 0; line-height: 1.35; }
:lang(ja) h1, :lang(ja) h2, :lang(ja) h3 { letter-spacing: 0; line-height: 1.35; }
:lang(ru) h1, :lang(ru) h2, :lang(ru) h3 { line-height: 1.15; }
:lang(ar) .post-body, :lang(ar) .post-card p { line-height: 2; }
:lang(ja) .post-body, :lang(ja) .post-card p { line-height: 1.95; }
:lang(ja) .post-body { word-break: normal; line-break: strict; }
:lang(ru) .post-body { hyphens: auto; }

/* Kırıntı */
.crumbs { font: 500 var(--fs-xs)/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-2); margin-block-end: var(--sp-5); }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; margin-block: calc(var(--sp-3) * -1); color: var(--ink-2); }
.crumbs a:hover { color: var(--ink); }

/* Dil seçici */
.lang-select, .lang-list, .post-list, .related ul, .alt-langs ul { list-style: none; margin: 0; padding: 0; }
.lang-select { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--sp-3); }
.lang-select a { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); min-height: 56px; padding: var(--sp-3) var(--sp-4); background: var(--surface); border: var(--border); border-radius: var(--r-md); text-decoration: none; font: 700 var(--fs-lg)/1.2 var(--font-display); box-shadow: 0 3px 0 var(--ink); transition: transform .12s, box-shadow .12s, background .12s; }
.lang-select a::after { content: "→"; font: 500 var(--fs-md) var(--font-mono); color: var(--accent); }
.lang-select a:lang(ar)::after { content: "←"; }
.lang-select a:hover { background: var(--surface-2); transform: translateY(1px); box-shadow: 0 2px 0 var(--ink); }
.lang-select a:active { transform: translateY(3px); box-shadow: none; }

/* Liste */
.post-list { border-block-start: var(--border); }
.post-card { position: relative; display: grid; gap: var(--sp-2); padding-block: var(--sp-5); border-block-end: 1.5px solid var(--line); }
.post-card h2 { font-size: var(--fs-lg); font-weight: 800; order: 2; overflow-wrap: anywhere; }
.post-card h2 a { text-decoration: none; }
.post-card h2 a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--accent); }
.post-card .post-meta { order: 1; margin: 0; }
.post-card p:not(.post-meta) { order: 3; color: var(--ink-2); max-width: 62ch; }
.post-card .more { order: 4; justify-self: start; display: inline-flex; align-items: center; gap: var(--sp-2); min-height: 44px; font-weight: 700; font-size: var(--fs-sm); color: var(--ink); text-decoration-color: var(--accent); text-decoration-thickness: 2px; }
.arrow::before { content: "→"; font-family: var(--font-mono); color: var(--accent); }
:lang(ar) .arrow::before { content: "←"; }
.post-meta { font: 500 var(--fs-xs)/1.2 var(--font-mono); letter-spacing: 0.08em; color: var(--ink-2); margin: 0 0 var(--sp-5); }
.post-list > .state { margin-block-start: var(--sp-5); }

/* Sayfalama */
.pager { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; justify-content: space-between; margin-block-start: var(--sp-6); font: 500 var(--fs-sm) var(--font-mono); }
.pager a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: var(--sp-4); background: var(--surface); border: var(--border); border-radius: var(--r-md); font-weight: 700; text-decoration: none; box-shadow: 0 3px 0 var(--ink); }
.pager a:hover { background: var(--surface-2); }
.pager a[rel="next"] { margin-inline-start: auto; }

/* Yazı gövdesi */
.post > h1 { font-size: var(--fs-xl); font-weight: 800; margin-block-end: var(--sp-3); }
.post-body { font-size: 1.0625rem; line-height: 1.75; overflow-wrap: anywhere; max-width: 68ch; }
.post-body > :first-child { margin-block-start: 0; }
.post-body p { margin-block: 0 var(--sp-4); }
.post-body h2 { font-size: var(--fs-xl); font-weight: 800; margin-block: var(--sp-7) var(--sp-3); padding-block-start: var(--sp-4); border-block-start: var(--border); }
.post-body h3 { font-size: var(--fs-lg); font-weight: 700; margin-block: var(--sp-5) var(--sp-2); }
.post-body a { color: var(--ink); text-decoration-color: var(--accent); text-decoration-thickness: 2px; }
.post-body a:hover { background: var(--surface-2); }
.post-body ul, .post-body ol { margin-block: 0 var(--sp-4); padding-inline-start: var(--sp-5); display: grid; gap: var(--sp-2); }
.post-body li::marker { color: var(--accent); font-weight: 700; }
.post-body blockquote { margin: var(--sp-5) 0; padding: var(--sp-3) var(--sp-4); border-inline-start: 4px solid var(--accent); background: var(--surface); color: var(--ink-2); border-start-end-radius: var(--r-md); border-end-end-radius: var(--r-md); }
.post-body blockquote > :last-child { margin-block-end: 0; }
.post-body code { font: 500 0.9em var(--font-mono); background: var(--surface-2); padding: 0.1em 0.4em; border-radius: var(--r-sm); }
.post-body pre { margin: var(--sp-5) 0; padding: var(--sp-4); background: var(--surface); border: var(--border); border-radius: var(--r-md); overflow-x: auto; direction: ltr; text-align: left; }
.post-body pre code { background: none; padding: 0; font-size: var(--fs-sm); }
.post-body hr { border: 0; border-block-start: 1.5px solid var(--line); margin-block: var(--sp-6); }
.post-body img { max-width: 100%; height: auto; border: 1.5px solid var(--ink); border-radius: var(--r-sm); }
.post-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: var(--sp-5); font-size: var(--fs-sm); border: var(--border); border-radius: var(--r-md); }
.post-body th, .post-body td { border: 1px solid var(--line); padding: var(--sp-3); text-align: start; vertical-align: top; min-width: 7ch; }
.post-body th { background: var(--surface-2); font: 700 var(--fs-xs)/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; }
.post-body td { font-family: var(--font-body); }

/* CTA bloğu: panel dili, tek accent düğme */
.cta { margin-block: var(--sp-6); padding: var(--sp-5); background: var(--surface); border: var(--border); border-radius: var(--r-lg); box-shadow: var(--shadow); display: grid; gap: var(--sp-3); justify-items: start; }
.cta h2 { font-size: var(--fs-xl); font-weight: 800; }
.cta p { color: var(--ink-2); max-width: 52ch; }
.cta .btn { margin-block-start: var(--sp-2); }
.note { font-size: var(--fs-sm); color: var(--ink-2); border-inline-start: 3px solid var(--line); padding-inline-start: var(--sp-3); max-width: 68ch; }

/* İlgili yazılar, diller */
.related, .alt-langs { margin-block-start: var(--sp-6); font-size: var(--fs-sm); }
.related h2 { font: 500 var(--fs-xs)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-2); margin-block-end: var(--sp-2); }
.related ul { border-block-start: var(--border); }
.related li { border-block-end: 1.5px solid var(--line); }
.related a, .alt-langs a { display: flex; align-items: center; min-height: 44px; padding-block: var(--sp-2); font-weight: 600; }
.alt-langs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-4); }
.alt-langs strong { font: 500 var(--fs-xs)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-2); }
.alt-langs ul, .lang-list { display: flex; flex-wrap: wrap; gap: 0 var(--sp-2); }
.alt-langs a, .lang-list a { padding-inline: var(--sp-3); border: 1.5px solid var(--line); border-radius: var(--r-sm); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.alt-langs a:hover, .lang-list a:hover { background: var(--surface-2); border-color: var(--ink); }
.lang-list a[aria-current="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink); font-weight: 700; }
.foot nav { margin-block-start: var(--sp-3); }
.foot .lang-list { gap: var(--sp-2); }

@media (prefers-reduced-motion: reduce) { .lang-select a { transition: none; } }
@media (max-width: 479px) {
  .lang-select { grid-template-columns: 1fr 1fr; }
  .lang-select a { font-size: var(--fs-md); padding-inline: var(--sp-3); }
  .cta .btn { width: 100%; }
  .pager { justify-content: center; }
}
