/*
Theme Name: Etre Finans
Theme URI: https://etrefinans.com/
Author: Etre Finans
Description: Finans yayıncılığı için SEO odaklı WordPress teması — bilanço analizi, piyasa yazıları, rehberler ve sözlük. Skor motoru, yapısal veri, kendi site haritası, otomatik iç linkleme ve reklam yerleşim yöneticisi dahili gelir.
Version: 4.6.2
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: etrefinans
Tags: news, blog, custom-colors, custom-menu, featured-images, translation-ready
*/

/* Etre Finans — paylaşılan tokenler ve yardımcı sınıflar */

/* Yazı tipi gelmeden önce yedek yüz aynı yeri kaplasın — metin
   değiştiğinde satırlar kaymaz (CLS). */
@font-face {
  font-family: "EF Serif Fallback";
  src: local("Georgia"), local("Times New Roman"), local("serif");
  size-adjust: 103%;
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "EF Sans Fallback";
  src: local("Helvetica Neue"), local("Arial"), local("sans-serif");
  size-adjust: 104%;
  ascent-override: 95%;
  descent-override: 25%;
  line-gap-override: 0%;
}

:root {
  --logo: 'Bricolage Grotesque', system-ui, sans-serif;
  --serif: 'Newsreader', 'EF Serif Fallback', Georgia, serif;
  --sans: 'IBM Plex Sans', 'EF Sans Fallback', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --text: #10161d; --text-2: #4a5766; --text-3: #5c6875;
  --line: #dde3e9; --line-strong: #10161d;
  --bg: #ffffff; --surface: #f5f8fa; --surface-2: #eaeff4;
  --accent: #17324f; --accent-ink: #10263c; --accent-soft: #e6eff6;
  --gold: #a8741a;
  --b4: #0f4c3a; --b4-soft: #dcece5;
  --b3: #14624a; --b3-soft: #e4f1ec;
  --b2: #7a5310; --b2-soft: #fbf1dd;
  --b1: #a12a20; --b1-soft: #fbeae8;
  --neg: #a12a20;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px;
  --r-sm: 4px; --r-md: 6px; --r-lg: 10px;
  --sh-md: 0 4px 14px rgba(16,22,29,.09);
  --page: 1180px;
}
html[data-theme="dark"] {
  --text: #eaeff4; --text-2: #b3bfcb; --text-3: #97a3b0;
  --line: #2a333c; --line-strong: #eaeff4;
  --bg: #0d1216; --surface: #141b21; --surface-2: #1c242c;
  --accent: #6ab3dd; --accent-ink: #9acdec; --accent-soft: #102c3f;
  --gold: #d8a441;
  --b4: #74c9a4; --b4-soft: #10291f;
  --b3: #58b894; --b3-soft: #10281f;
  --b2: #d6a552; --b2-soft: #2a1f0d;
  --b1: #e07b6e; --b1-soft: #2c1614;
  --neg: #e07b6e;
  --sh-md: 0 4px 14px rgba(0,0,0,.5);
}
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); font-size: 16px; line-height: 1.6; font-variant-numeric: tabular-nums; }
a { color: var(--accent-ink); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }

.ef-page { max-width: var(--page); margin: 0 auto; padding-left: var(--s5); padding-right: var(--s5); }
.ef-btn { font: 600 15px/1 var(--sans); border-radius: var(--r-md); padding: 12px 20px; min-height: 44px; border: 1px solid transparent; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ef-btn-1 { background: var(--accent); color: var(--bg); }
.ef-btn-1:hover { background: var(--accent-ink); text-decoration: none; }
.ef-btn-2 { background: transparent; color: var(--text); border-color: var(--line-strong); }
.ef-btn-2:hover { background: var(--surface-2); text-decoration: none; }
.ef-in { font: 400 16px/1.3 var(--sans); color: var(--text); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-md); padding: 11px 13px; min-height: 44px; width: 100%; box-sizing: border-box; }
.ef-in::placeholder { color: var(--text-3); }
.ef-in:focus { border-color: var(--accent); }
.ef-chip { font: 600 14.5px/1 var(--sans); color: var(--text-3); background: none; border: 1px solid var(--line); border-radius: 999px; padding: 9px 15px; min-height: 40px; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.ef-chip:hover { color: var(--text); text-decoration: none; }
.ef-chip[aria-selected="true"], .ef-chip[aria-current="page"] { color: var(--bg); background: var(--accent); border-color: var(--accent); }
.ef-card-link { color: var(--text); }
.ef-card-link:hover { color: var(--accent-ink); text-decoration: none; }
.ef-h1 { font: 700 44px/1.12 var(--serif); letter-spacing: -0.02em; margin: 0 0 var(--s4); }
.ef-h2 { font: 700 32px/1.2 var(--serif); letter-spacing: -0.015em; margin: 0; }
.ef-h3 { font: 600 24px/1.3 var(--serif); margin: 0; }
.ef-eyebrow { font: 700 14px/1 var(--sans); letter-spacing: 0.13em; text-transform: uppercase; margin: 0; }
.ef-kicker { font: 500 11.5px/1 var(--sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-3); }
.ef-lead { font-size: 17.5px; line-height: 1.65; color: var(--text-2); }
.ef-meta { font-size: 13.5px; color: var(--text-3); }
.ef-src { font: 400 12.5px/1.5 var(--sans); color: var(--text-3); }
.ef-mono { font: 400 13px/1.5 var(--mono); }
.ef-sechead { border-bottom: 2px solid var(--line-strong); padding-bottom: var(--s2); margin-bottom: var(--s5); display: flex; align-items: baseline; gap: var(--s4); flex-wrap: wrap; }
.ef-rule { border: 0; border-top: 1px solid var(--line); margin: 0; }

.ef-badge { display: inline-flex; align-items: baseline; gap: 3px; font: 700 13.5px/1 var(--sans); padding: 5px 9px; border-radius: var(--r-md); white-space: nowrap; }
.ef-badge span { font: 500 10px/1 var(--sans); }
.ef-badge-lg { font-size: 15px; padding: 8px 12px; }
.ef-tag { font: 600 12.5px/1 var(--sans); padding: 5px 10px; border-radius: var(--r-md); white-space: nowrap; display: inline-flex; align-items: center; }
.b4 { background: var(--b4-soft); color: var(--b4); }
.b3 { background: var(--b3-soft); color: var(--b3); }
.b2 { background: var(--b2-soft); color: var(--b2); }
.b1 { background: var(--b1-soft); color: var(--b1); }
.bn { background: var(--surface-2); color: var(--text-2); }
.bi { background: var(--accent-soft); color: var(--accent-ink); }

.ef-th { text-align: left; font: 500 12px/1.4 var(--sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); padding: var(--s3) var(--s4); border-bottom: 1px solid var(--line); white-space: nowrap; }
.ef-td { padding: var(--s3) var(--s4); border-bottom: 1px solid var(--line); }
.ef-num { text-align: right; white-space: nowrap; }
.ef-wrap { border: 1px solid var(--line); border-radius: var(--r-lg); overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.ef-wrap table { min-width: max-content; }

/* Gövde içindeki tablolar da kendi kutusunda kayar — sayfa kaymaz.
   Sarmalayıcı PHP tarafında eklenir (ef_wrap_prose_tables). */
.ef-scroller { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; margin: var(--s6) 0; border: 1px solid var(--line); border-radius: var(--r-lg); }
.ef-scroller > table { margin: 0 !important; min-width: max-content; }
/* 3.9.1: `nowrap` kaldırıldı. Beş kolonlu analist tablolarında her hücre
   tek satıra zorlandığında tablo 1400px'i aşıyor, kaydırma kutusu açılışta
   ilk kolonun ötesine kayabiliyor ve okur boş bir kutu görüyordu. Artık
   metin sarılıyor; yalnız rakam hücreleri tek satırda kalıyor. */
.ef-scroller th, .ef-scroller td { white-space: normal; overflow-wrap: break-word; }
.ef-scroller td.ef-num, .ef-scroller th.ef-num { white-space: nowrap; }
.ef-scroller > table { min-width: 0; width: 100%; table-layout: auto; }
.ef-scroller[data-more="1"] { background: linear-gradient(to left, color-mix(in oklab, var(--line) 55%, transparent), transparent 28px); background-repeat: no-repeat; background-position: right; background-size: 28px 100%; }

.ef-logo { display: flex; align-items: flex-end; gap: 5px; }
.ef-logo:hover { text-decoration: none; }
.ef-logo-clip { display: inline-block; height: 60px; overflow: hidden; }
.ef-logo-mark { display: block; margin: 6px 0 0; padding-right: 6px; font: 800 78px/0.85 var(--logo); letter-spacing: -0.05em; white-space: nowrap; color: var(--accent); }
.ef-logo-dot { width: 17px; height: 9px; border-radius: 17px 17px 0 0; background: var(--gold); flex: none; }
.ef-logo-sm { display: inline-flex; align-items: flex-end; gap: 4px; }
.ef-logo-sm-mark { font: 800 30px/0.78 var(--logo); letter-spacing: -0.05em; color: var(--accent); }
.ef-logo-sm-dot { width: 11px; height: 6px; border-radius: 11px 11px 0 0; background: var(--gold); }

.ef-strip { border-bottom: 1px solid var(--line); background: var(--surface); }
.ef-strip-in { padding: 9px var(--s5); display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; font-size: 12.5px; color: var(--text-3); }
.ef-strip-in a { color: var(--text-3); }
.ef-nav { padding: var(--s3) var(--s5); display: flex; align-items: center; gap: var(--s5); flex-wrap: wrap; font-size: 15px; font-weight: 600; }
.ef-nav a { color: var(--text-2); }
.ef-nav a:hover { color: var(--text); text-decoration: none; }
.ef-nav a[aria-current="page"] { color: var(--text); }
.ef-navtoggle { display: none; }

.ef-crumb { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; font-size: 13px; color: var(--text-3); padding: var(--s4) 0; }
.ef-crumb a { color: var(--text-3); }

.ef-prose { font-size: 17px; line-height: 1.75; max-width: 68ch; }
.ef-prose p { margin: 0 0 var(--s5); }
.ef-prose h2 { font: 600 26px/1.3 var(--serif); margin: var(--s7) 0 var(--s3); scroll-margin-top: var(--s6); }
.ef-prose h3 { font: 600 20px/1.35 var(--sans); margin: var(--s6) 0 var(--s3); }
.ef-prose ul, .ef-prose ol { margin: 0 0 var(--s5); padding-left: 1.3em; }
.ef-prose li { margin-bottom: var(--s2); }
.ef-prose strong { color: var(--text); }

.ef-toc a { display: block; padding: 7px 0 7px var(--s3); border-left: 2px solid var(--line); color: var(--text-2); font-size: 14px; }
.ef-toc a:hover { color: var(--text); border-left-color: var(--text-3); text-decoration: none; }
.ef-toc a[aria-current="true"] { color: var(--text); border-left-color: var(--accent); font-weight: 600; }

/* Reklam bandı (4.4)

   Dört kural:

   1. **Bant, hücre değil.** `.ef-ad` bir ızgaranın içine düştüğünde bütün
      sütunları kaplar. Kart ızgarasına hücre olarak giren birim dar kolonda
      dikey şekil seçiyor, satır yüksekliğini üçe katlıyor ve kartların
      arasında boş alan bırakıyordu.
   2. **Genişlik kapsayıcıdan gelir.** Hiçbir bantta sabit genişlik yok;
      `--ad-w` yalnız üst sınırdır (yalnız ray kullanır). Bant, içinde
      bulunduğu kolonun sol kenarına hizalanır — yazı sütunu, ızgara ya da
      sayfa kapsayıcısı, hangisiyse.
   3. **Yükseklik önceden verilir.** `--ad-min` yer ayırır, `--ad-h`
      sabitler; ikisi de PHP'deki yer kaydından gelir (inc/ads.php), CSS'te
      ikinci bir ölçü tablosu yok.
   4. **Kırpma yok.** Hiçbir yerde `overflow:hidden` ile birim kırpılmaz:
      kırpma hem politika ihlali hem ölçüm bozar. Yükseklik sınırlanmaz,
      verilir. */
.ef-ad {
  position: relative; box-sizing: border-box; clear: both;
  width: 100%; max-width: var(--ad-w, 100%);
  margin-block: var(--s7); margin-inline: 0;
  /* İçine düştüğü ızgarada kendi satırını alır. Izgara dışında etkisi yok. */
  grid-column: 1 / -1;
  /* Kutu kendi içinde kapalı: reklam çerçevesi sayfanın yerleşimini
     yeniden hesaplatmaz. `content-visibility` **kullanılmıyor**: ekran
     dışında içerik atlandığı için kutunun genişliği ölçülemiyor ve tembel
     yükleyici birimi yerleştiremiyordu. Kazancı zaten tembel yükleme
     sağlıyor: ekran dışı bantta henüz bir reklam çerçevesi yok. */
  contain: layout style;
}
.ef-ad-tag {
  display: block; font: 400 10px/1.6 var(--mono); letter-spacing: .12em;
  text-transform: uppercase; color: var(--text-3); margin-bottom: 6px;
}
/* Yüklenmeden önce yerini belli eden sakin bir alan: beyaz boşluk "bozuk"
   görünüyor, koyu bir blok dikkati reklamdan önce kendine çekiyor. */
.ef-ad-body {
  width: 100%; min-height: var(--ad-min, 250px);
  background: var(--surface); border-radius: var(--r-sm);
}
.ef-ad.is-live .ef-ad-body { background: none; border-radius: 0; }
.ef-ad-body > ins.adsbygoogle { display: block; width: 100%; max-width: 100%; }
.ef-ad-body img, .ef-ad-body iframe { max-width: 100%; }
/* Dolmayan ya da mesafe kuralına takılan bant yer kaplamaz. */
.ef-ad.is-empty { display: none !important; }

/* Yazı içi bantlar: metinle arasında net bir duruş payı. Genişlik yazı
   sütununun kendisi olduğu için ayrıca sınırlanmaz — eskiden buraya yazılan
   `max-width` + `margin-left:0` çifti, geniş kapsayıcıda (ana sayfa) bandı
   sola yapıştırıp içerikle hizasını bozuyordu. */
.ef-ad--article_top, .ef-ad--article_mid { margin-block: var(--s8); }
.ef-ad--article_end { margin-block: var(--s7) 0; }

/* Liste bandı: kart ızgarasının satır ritmini ince çizgilerle kesiyor. */
.ef-ad--list_band {
  margin-block: var(--s6);
  padding-block: var(--s5);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}

/* Ray: en çok 300px, sabit 600px. Kolon daha darsa birim daha ince bir
   dikey şekil seçer; yükseklik yine 600px olduğu için rayın boyu şaşmaz. */
.ef-ad--rail { margin-block: 0; }

/* Mobil alt bar. */
.ef-ad--anchor {
  position: fixed; inset: auto 0 0; z-index: 55; margin: 0; width: 100%;
  background: var(--bg); border-top: 1px solid var(--line);
  padding: 2px 0 max(2px, env(safe-area-inset-bottom));
}
.ef-ad--anchor .ef-ad-tag { display: none; }
.ef-ad--anchor .ef-ad-body { background: none; }
/* Kapatma düğmesi barın üstüne taşar: 44px'lik dokunma alanı reklamın
   içine girmez, yanlış tıklama üretmez. */
.ef-ad-x {
  position: absolute; top: -46px; right: 8px;
  width: 44px; height: 44px; display: grid; place-items: center;
  font: 400 18px/1 var(--sans); color: var(--text-2);
  background: var(--bg); border: 1px solid var(--line);
  border-radius: var(--r-sm) var(--r-sm) 0 0; border-bottom: 0; cursor: pointer;
}
.ef-ad-x:hover { color: var(--text); }
body:has(.ef-ad--anchor) .ef-footer { padding-bottom: calc(var(--s7) + 64px); }

@media (min-width: 901px) {
  .ef-ad--anchor { display: none; }
}
@media (max-width: 900px) {
  .ef-ad { margin-block: var(--s6); }
  .ef-ad--article_top, .ef-ad--article_mid { margin-block: var(--s7); }
  .ef-ad--rail { margin-block: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .ef-ad.is-live .ef-ad-body > ins[data-ad-status="filled"] { animation: ef-ad-in .18s ease-out both; }
}
@keyframes ef-ad-in { from { opacity: 0; } to { opacity: 1; } }



@media (max-width: 980px) {
  .ef-g-2, .ef-g-3, .ef-g-side { grid-template-columns: minmax(0, 1fr) !important; gap: var(--s6) !important; }
  .ef-hide-md { display: none !important; }
}
@media (max-width: 900px) {
  .ef-navtoggle { display: inline-flex; align-items: center; gap: 9px; font: 600 15px/1 var(--sans); color: var(--text); background: none; border: 1px solid var(--line-strong); border-radius: var(--r-md); padding: 11px 15px; min-height: 44px; cursor: pointer; }
  .ef-nav { display: none !important; }
  .ef-nav[data-open="true"] { display: grid !important; gap: var(--s4) !important; }
  .ef-nav[data-open="true"] > span { flex-direction: column; align-items: flex-start !important; gap: var(--s3) !important; }
  .ef-nav[data-open="true"] .ef-nav-divider { display: none; }
  .ef-nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .ef-g-footer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: var(--s6) !important; }
}
@media (max-width: 1010px) {
  .ef-table-desktop { display: none !important; }
  .ef-table-cards { display: grid !important; }
}
@media (max-width: 780px) {
}
@media (max-width: 900px) {
  /* Logo ve menü düğmesi tek satırda; başlık sarmalanmaz. */
  .ef-header-top { flex-wrap: nowrap; align-items: center; gap: var(--s4); padding: var(--s4) var(--s5); }
  .ef-logo-clip { height: 34px; }
  .ef-logo-mark { font-size: 44px; margin-top: 2px; padding-right: 4px; }
  .ef-logo-dot { width: 10px; height: 6px; border-radius: 10px 10px 0 0; }
  .ef-navtoggle { margin-left: auto; flex: none; padding: 9px 13px; font-size: 14px; }
}
@media (max-width: 560px) {
  .ef-logo-clip { height: 29px; }
  .ef-logo-mark { font-size: 38px; margin-top: 2px; padding-right: 3px; }
  .ef-logo-dot { width: 9px; height: 5px; border-radius: 9px 9px 0 0; }
  .ef-navtoggle { padding: 8px 11px; font-size: 13.5px; gap: 6px; }
  .ef-strip-in { font-size: 12px; }
  .ef-g-footer { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* ---------- şablon bileşenleri ---------- */
*, *::before, *::after { box-sizing: border-box; }
img, svg, video { max-width: 100%; height: auto; display: block; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ef-skip { position: absolute; left: -9999px; }
.ef-skip:focus { left: var(--s4); top: var(--s4); z-index: 99; background: var(--bg); padding: 12px 16px; border: 2px solid var(--accent); border-radius: var(--r-md); }

.ef-header { border-bottom: 1px solid var(--line); background: var(--bg); position: relative; z-index: 20; }
.ef-header-in { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); padding: var(--s4) var(--s5); }
.ef-header-tools { display: flex; align-items: center; gap: var(--s3); }
.ef-iconbtn { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: var(--r-md); background: none; color: var(--text-2); cursor: pointer; font: 500 13px/1 var(--sans); }
.ef-iconbtn:hover { color: var(--text); border-color: var(--line-strong); }
.ef-nav-divider { width: 1px; height: 18px; background: var(--line); }
.ef-searchform { display: flex; gap: var(--s2); }
.ef-searchform .ef-in { max-width: 220px; }

html, body { overflow-x: clip; }
.ef-main { padding-bottom: var(--s8); }
.ef-section { padding: var(--s7) 0; }
.ef-g-side { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--s7); align-items: start; }
.ef-g-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6); }
.ef-g-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); }
/* Analizin çevresi bandı (3.9.1): sözlük kapak kartlarıyla iki sütun
   genişliğinde durur, X kartı ve bülten sağda üst üste. Önceki üç eşit
   sütunda sözlük kartlarına yer kalmıyordu. */
.ef-g-around { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(280px, 1fr); gap: var(--s7); align-items: start; }
.ef-around-side { display: grid; gap: var(--s5); align-content: start; }
@media (max-width: 900px) { .ef-g-around { grid-template-columns: minmax(0, 1fr); gap: var(--s6); } }
.ef-grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--s6) var(--s5); }
/* Yan sütun bir bütün olarak yapışkan DEĞİL: kutuların toplam yüksekliği
   ekranı aştığında yapışkan kolon ekranın altında kesiliyor, kutular taşmış
   gibi görünüyordu. Kolon normal akışta kalır; yalnız reklam birimi
   (.ef-ad--rail) kendi içinde yapışır. */
.ef-aside { display: grid; gap: var(--s5); align-self: start; min-width: 0; }
.ef-aside > * { min-width: 0; }
/* Yan sütundaki reklam kolonun içinde yapışır (ana sayfa, şirket sayfası). */
@media (min-width: 1181px) {
  .ef-aside > .ef-ad--rail { position: sticky; top: 72px; }
}

.ef-card { display: grid; gap: var(--s3); }
.ef-card-thumb { display: block; aspect-ratio: 1; background: var(--surface-2); border-radius: var(--r-md); overflow: hidden; }
.ef-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ef-card-thumb-empty { display: grid; place-items: center; height: 100%; color: var(--text-3); }
.ef-card-body { display: grid; gap: var(--s2); }
.ef-card-top { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.ef-card-title { font: 600 19px/1.3 var(--serif); margin: 0; }
.ef-card-foot { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.ef-card-one { font-size: 14.5px; line-height: 1.55; color: var(--text-2); margin: 0; text-wrap: pretty; }

.ef-row-card { display: flex; align-items: center; gap: var(--s4); padding: var(--s4) 0; border-bottom: 1px solid var(--line); }
.ef-row-card-body { display: grid; gap: 3px; min-width: 0; flex: 1 1 auto; }
.ef-row-card-title { font: 600 17px/1.35 var(--serif); }
.ef-score-block { display: grid; place-items: center; width: 62px; height: 62px; border-radius: var(--r-md); flex: none; }
.ef-score-block-n { font: 700 24px/1 var(--sans); }
.ef-score-block-d { font: 500 10px/1 var(--sans); opacity: .75; }

.ef-hero { padding: var(--s7) 0 var(--s6); border-bottom: 1px solid var(--line); }
.ef-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s7); align-items: start; }
.ef-hero-figures { display: flex; gap: var(--s6); flex-wrap: wrap; margin: var(--s5) 0 0; }
.ef-figure { display: grid; gap: 3px; }
.ef-figure-v { font: 700 30px/1 var(--sans); letter-spacing: -0.02em; }
.ef-figure-l { font-size: 12.5px; color: var(--text-3); }
.ef-figure--neg .ef-figure-v { color: var(--neg); }

.ef-coverstrip { display: flex; align-items: baseline; gap: var(--s5); flex-wrap: wrap; padding: var(--s4) 0; border-bottom: 1px solid var(--line); }
.ef-coverstrip dt { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.ef-coverstrip dd { margin: 2px 0 0; font: 600 17px/1 var(--sans); }
.ef-coverstrip > div { display: grid; }

.ef-table { width: 100%; border-collapse: collapse; }
.ef-table tbody tr:hover { background: var(--surface); }
.ef-table-cards { display: none; gap: var(--s4); }

.ef-prose > *:first-child { margin-top: 0; }
.ef-prose figure { margin: var(--s6) 0; }
.ef-prose figcaption { font: 400 13px/1.5 var(--sans); color: var(--text-3); margin-top: var(--s2); }
.ef-prose blockquote { margin: var(--s6) 0; padding-left: var(--s5); border-left: 3px solid var(--accent); font: 400 19px/1.6 var(--serif); color: var(--text-2); }
/* Gövdeye yapıştırılan tablolar (3.9.1)

   Sarmalayıcı `inc/cwv.php` tarafından eklenir (.ef-scroller). Buradaki
   kurallar yalnız tipografi: tablo temanın kendi tablolarıyla aynı görünür.
   Renk `!important` ile yazılır — LiteSpeed "kullanılmayan CSS'i kaldır"
   ya da kaynağından inline renk taşıyan yapıştırılmış tablo hücre metnini
   görünmez bırakmasın. */
.ef-prose table { width: 100%; border-collapse: collapse; font-size: 15px; margin: var(--s6) 0; font-variant-numeric: tabular-nums; }
.ef-prose th, .ef-prose td { text-align: left; padding: var(--s3); border-bottom: 1px solid var(--line); vertical-align: top; color: var(--text-2) !important; background: none !important; }
.ef-prose th { font: 600 12.5px/1.4 var(--sans); letter-spacing: .04em; color: var(--text-3) !important; border-bottom-color: var(--line-strong); }
.ef-prose td:first-child, .ef-prose th:first-child { color: var(--text) !important; font-weight: 500; }
.ef-prose tbody tr:last-child td { border-bottom: 0; }
.ef-prose caption { caption-side: bottom; padding-top: var(--s3); font: 400 13px/1.5 var(--sans); color: var(--text-3); text-align: left; }
.ef-prose .wp-block-table { margin: var(--s6) 0; }
.ef-prose .wp-block-table table { margin: 0; }
.ef-prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td { background: var(--surface) !important; }

@media (max-width: 560px) {
  .ef-prose table { font-size: 14px; }
  .ef-prose th, .ef-prose td { padding: 9px 10px; }
}
.ef-term { border-bottom: 1px dashed var(--accent); color: var(--text); }
.ef-term:hover { text-decoration: none; }
.ef-autolink { color: var(--accent-ink); }
.ef-tip { position: absolute; z-index: 60; max-width: 300px; background: var(--text); color: var(--bg); font: 400 13.5px/1.5 var(--sans); padding: 10px 12px; border-radius: var(--r-md); box-shadow: var(--sh-md); pointer-events: none; }

.ef-keybox { border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s5); display: grid; gap: var(--s4); background: var(--surface); }
.ef-keybox dl { margin: 0; display: grid; gap: var(--s3); }
.ef-keybox dl > div { display: flex; justify-content: space-between; gap: var(--s4); align-items: baseline; border-bottom: 1px solid var(--line); padding-bottom: var(--s2); min-width: 0; }
.ef-keybox dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.ef-keybox dt { font-size: 13.5px; color: var(--text-3); min-width: 0; overflow-wrap: break-word; }
.ef-keybox dd { margin: 0; font: 600 15px/1.2 var(--sans); text-align: right; white-space: nowrap; }
.ef-kicker-sub { font-weight: 400; color: var(--text-3); letter-spacing: .06em; }

.ef-pagination { display: flex; gap: var(--s2); flex-wrap: wrap; justify-content: center; padding: var(--s7) 0 0; }
.ef-pagination .page-numbers { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--r-md); font: 600 14px/1 var(--sans); color: var(--text-2); }
.ef-pagination .page-numbers.current { background: var(--accent); color: var(--bg); border-color: var(--accent); }
.ef-pagination a:hover { text-decoration: none; border-color: var(--line-strong); color: var(--text); }

.ef-footer { border-top: 1px solid var(--line); background: var(--surface); padding: var(--s7) 0 var(--s6); margin-top: var(--s8); }
.ef-g-footer { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: var(--s6); }
.ef-footer h3 { font: 700 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); margin: 0 0 var(--s4); }
.ef-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.ef-footer a { color: var(--text-2); font-size: 14.5px; }
.ef-footer-legal { border-top: 1px solid var(--line); margin-top: var(--s6); padding-top: var(--s4); display: flex; justify-content: space-between; gap: var(--s5); flex-wrap: wrap; }

.ef-sub { display: flex; gap: var(--s2); flex-wrap: wrap; align-items: flex-start; }
.ef-sub .ef-in { flex: 1 1 200px; }
.ef-sub-msg { flex: 1 0 100%; margin: 0; font-size: 13px; color: var(--text-2); }

.ef-no-ads .ef-ad { display: none !important; }

.ef-taskbar { display: flex; gap: var(--s3); flex-wrap: wrap; align-items: center; padding: var(--s4) 0; }
.ef-letters { display: flex; flex-wrap: wrap; gap: var(--s2); padding: var(--s4) 0 var(--s6); }
.ef-letter { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: var(--r-md); font: 600 14px/1 var(--sans); color: var(--text-2); }
.ef-letter[aria-disabled="true"] { opacity: .35; pointer-events: none; }

@media (max-width: 980px) {
  .ef-hero-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
  .ef-g-side { grid-template-columns: minmax(0, 1fr); }
  .ef-aside { position: static; }
}

/* ---------------------------------------------------------------
   Okuma düzeni (4.2) — her tekil sayfada aynı: solda ray, sağda gövde.

   Ray koşulsuz basılır. Önceki sürümlerde kolon üç ayrı yerde (şablon,
   içindekiler, ızgara sınıfı) ayrı ayrı kararlaşıyordu; ara başlığı olmayan
   ya da başka şablona düşen yazıda sol sütun hiç çıkmıyordu. Karar tek
   yere indi: `ef_rail()` her zaman basar, `.ef-read` her zaman iki sütundur.
   --------------------------------------------------------------- */
.ef-read, .ef-g-read, .ef-g-read--wide { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: var(--s7); align-items: stretch; }
.ef-read > *, .ef-g-read > * { min-width: 0; }
.ef-g-read--norail { grid-template-columns: minmax(0, 1fr); }
/* Okuma ölçüsü: 780px, 17px'lik gövde metninde ~78 karakter. */
.ef-read .ef-prose, .ef-g-read .ef-prose { max-width: 780px; }
.ef-readhead { max-width: 880px; }

.ef-rail { display: flex; flex-direction: column; gap: var(--s5); min-width: 0; }
.ef-rail > * { min-width: 0; }
/* Yapışkan blok rayda **en sonda** durur: kendinden sonra başka kutu
   olmadığı için aşağı yürürken hiçbir şeyin üstüne binmez, kolonun
   (yani yazının) sonuna kadar ekranda kalır. */
.ef-rail-stick { display: grid; gap: var(--s5); margin-top: auto; }
@media (min-width: 1181px) {
  .ef-rail-stick { position: sticky; top: 72px; }
}

.ef-rail-progress { height: 2px; background: var(--line); border-radius: 2px; overflow: hidden; }
.ef-rail-progress i { display: block; height: 100%; width: 0; background: var(--accent); transition: width .12s linear; }

.ef-rail-share { display: flex; gap: var(--s2); flex-wrap: wrap; }
.ef-rail-share a, .ef-rail-share button {
  font: 500 12.5px/1 var(--sans); color: var(--text-2); background: none;
  border: 1px solid var(--line); border-radius: var(--r-sm); padding: 7px 10px; cursor: pointer;
}
.ef-rail-share a:hover, .ef-rail-share button:hover { color: var(--text); border-color: var(--text-3); text-decoration: none; }

/* Yazı sonu bloğu ray hizasını aşar, tam genişlik kullanır. */
.ef-readend { margin-top: var(--s8); padding-top: var(--s6); border-top: 1px solid var(--line); }

@media (max-width: 1180px) {
  .ef-read, .ef-g-read, .ef-g-read--wide { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
  /* Dar ekranda önce yazı, sonra ray. */
  .ef-readbody { order: 1; }
  .ef-rail { order: 2; border-top: 1px solid var(--line); padding-top: var(--s6); }
  .ef-rail-stick { position: static; margin-top: 0; }
  .ef-rail-progress { display: none; }
  .ef-read .ef-prose, .ef-g-read .ef-prose { max-width: none; }
}
/* ---------------------------------------------------------------
   En çok okunanlar (3.9.1)

   İki biçim: rayda dar sayılı liste, ana sayfada üç sütunlu numaralı
   ızgara. İkisi de tek veri kaynağından beslenir (inc/popular.php).
   --------------------------------------------------------------- */
.ef-pop { display: grid; gap: var(--s3); }
.ef-pop-head { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.ef-pop-head em { font: 400 10.5px/1 var(--mono); letter-spacing: 0; text-transform: none; color: var(--text-3); font-style: normal; }
.ef-pop-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: none; }
.ef-pop-list li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 9px; align-items: baseline; padding: 9px 0; border-top: 1px solid var(--line); }
.ef-pop-list li:first-child { border-top: 0; padding-top: 0; }
.ef-pop-n { font: 500 11px/1.5 var(--mono); color: var(--text-3); font-variant-numeric: tabular-nums; }
.ef-pop-list a { font: 500 13.5px/1.45 var(--sans); color: var(--text-2); text-decoration: none; text-wrap: pretty; }
.ef-pop-list a:hover { color: var(--accent-ink); text-decoration: none; }

/* İçindekiler minimalist: nokta yok, ince çizgi yok, yalnız hiyerarşi. */
.ef-toc--slim { display: grid; gap: 0; }
.ef-toc--slim a { display: block; padding: 6px 0 6px 10px; border-left: 2px solid transparent; font: 400 13px/1.45 var(--sans); color: var(--text-3); text-decoration: none; }
.ef-toc--slim a:hover { color: var(--text); text-decoration: none; }
.ef-toc--slim a[aria-current="true"], .ef-toc--slim a.is-on { color: var(--text); border-left-color: var(--text); font-weight: 500; }

.ef-popgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 var(--s6); }
.ef-popcard { border-top: 1px solid var(--line); }
.ef-popcard-l { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: var(--s4); align-items: start; padding: var(--s4) 0; text-decoration: none; }
.ef-popcard-l:hover { text-decoration: none; }
.ef-popcard-n { font: 600 20px/1 var(--mono); color: var(--line-strong); font-variant-numeric: tabular-nums; padding-top: 2px; }
.ef-popcard-l:hover .ef-popcard-n { color: var(--accent-ink); }
.ef-popcard-b { display: grid; gap: 4px; min-width: 0; }
.ef-popcard-t { font: 600 15.5px/1.4 var(--sans); color: var(--text); text-wrap: pretty; }
.ef-popcard-l:hover .ef-popcard-t { color: var(--accent-ink); }
.ef-popcard-m { font: 400 12px/1 var(--mono); color: var(--text-3); }

/* ---------------------------------------------------------------
   Sözlük kartları — ana sayfa (3.9.1)

   Üç sütunlu metin listesi yerine iki sütunlu kapak kartları: sözlük
   terimlerinin de kapak görseli var, göstermemek boşa harcamaktı.
   --------------------------------------------------------------- */
.ef-glosscards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s4); }
.ef-glosscard { display: grid; gap: 0; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; background: var(--surface); text-decoration: none; transition: border-color .14s var(--ease); }
.ef-glosscard:hover { border-color: var(--line-strong); text-decoration: none; }
.ef-glosscard-i { aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-2); }
.ef-glosscard-i img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ef-glosscard-i-empty { width: 100%; height: 100%; display: grid; place-items: center; font: 600 22px/1 var(--serif); color: var(--text-3); }
.ef-glosscard-b { padding: var(--s4); display: grid; gap: 5px; }
.ef-glosscard-t { font: 600 15.5px/1.35 var(--sans); color: var(--text); }
.ef-glosscard:hover .ef-glosscard-t { color: var(--accent-ink); }
.ef-glosscard-d { font-size: 13.5px; line-height: 1.55; color: var(--text-2); text-wrap: pretty; }

@media (max-width: 900px) {
  .ef-popgrid { grid-template-columns: minmax(0, 1fr); }
}

/* Bülten/house yedeği 4.1'de kaldırıldı: reklam dolmazsa yerinde
   boşluk kalır, tema kendi tanıtımını basmaz. */


/* ---------------------------------------------------------------
   Yasal sayfalar (3.9.1)
   --------------------------------------------------------------- */
.ef-legal { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--s7); align-items: start; }
.ef-legal-rail { position: sticky; top: calc(var(--s6) + 44px); display: grid; gap: var(--s4); align-self: start; }
.ef-legal-nav { display: grid; gap: 0; }
.ef-legal-nav a { padding: 7px 0 7px 11px; border-left: 2px solid transparent; font: 400 13px/1.45 var(--sans); color: var(--text-3); text-decoration: none; }
.ef-legal-nav a:hover { color: var(--text); text-decoration: none; }
.ef-legal-stamp { padding: var(--s4); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); display: grid; gap: 4px; }
.ef-legal-stamp dt { font: 600 10.5px/1 var(--sans); letter-spacing: .11em; text-transform: uppercase; color: var(--text-3); }
.ef-legal-stamp dd { margin: 0 0 var(--s3); font: 500 13.5px/1.4 var(--sans); color: var(--text); }
.ef-legal-stamp dd:last-child { margin-bottom: 0; }

.ef-legal-body { min-width: 0; max-width: 760px; }
.ef-legal-lede { font: 400 19px/1.6 var(--serif); color: var(--text-2); margin: 0 0 var(--s6); padding-bottom: var(--s6); border-bottom: 1px solid var(--line); text-wrap: pretty; }
.ef-legal-sec { padding: var(--s6) 0; border-bottom: 1px solid var(--line); scroll-margin-top: 80px; }
.ef-legal-sec:last-of-type { border-bottom: 0; }
.ef-legal-sec > h2 { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: var(--s3); align-items: baseline; font: 700 21px/1.3 var(--sans); letter-spacing: -.008em; margin: 0 0 var(--s4); }
.ef-legal-n { font: 500 12px/1.6 var(--mono); color: var(--text-3); }
.ef-legal-sec p { font-size: 16px; line-height: 1.7; color: var(--text-2); margin: 0 0 var(--s4); text-wrap: pretty; }
.ef-legal-sec p:last-child { margin-bottom: 0; }
.ef-legal-sec ul { margin: 0 0 var(--s4); padding-left: 1.15em; }
.ef-legal-sec li { font-size: 15.5px; line-height: 1.65; color: var(--text-2); margin-bottom: 6px; }
.ef-legal-sec strong { color: var(--text); }
.ef-legal-note { margin: 0 0 var(--s4); padding: var(--s5); border-left: 3px solid var(--accent); background: var(--surface); border-radius: 0 var(--r-lg) var(--r-lg) 0; }
.ef-legal-note p { margin: 0; font-size: 15px; }

@media (max-width: 1000px) {
  .ef-legal { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
  .ef-legal-rail { position: static; }
  .ef-legal-nav { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s3); }
  .ef-legal-nav a { border-left: 0; border: 1px solid var(--line); border-radius: 999px; padding: 7px 12px; }
}

/* ---------------------------------------------------------------
   Yapışkan şerit (3.9.3)

   Aşağı kaydırıldığında görünür; logo işareti, kısa menü, arama ve "başa
   dön" taşır. 46px: üst başlığın yerini almaz, yalnız erişim verir.

   Önek `ef-bar`. 3.9.2'de bu bileşen `ef-mini` adını kullanıyordu; aynı ad
   ana sayfadaki küçük kart bileşeninde de geçiyor ve kartın 92px'lik ızgara
   kolonu şeridin düzenini eziyordu — şerit bu yüzden bozuk görünüyordu.
   --------------------------------------------------------------- */
.ef-bar { position: fixed; inset: 0 0 auto; z-index: 60; background: color-mix(in oklab, var(--bg) 92%, transparent); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); transform: translateY(-100%); transition: transform .22s var(--ease); pointer-events: none; }
.ef-bar.is-on { transform: translateY(0); pointer-events: auto; }
.ef-bar-in { height: 46px; display: flex; align-items: center; gap: var(--s4); }

/* Logo: üst başlıktaki işaretin küçük ölçeği — aynı kelime işareti, aynı
   altın nokta. Yalnız site adının düz metni marka gibi durmuyordu. */
.ef-bar-logo { display: inline-flex; align-items: flex-end; gap: 3px; flex: none; text-decoration: none; }
.ef-bar-logo:hover { text-decoration: none; }
.ef-bar-mark { font: 800 25px/0.72 var(--logo); letter-spacing: -.05em; color: var(--accent); }
.ef-bar-dot { width: 9px; height: 5px; border-radius: 9px 9px 0 0; background: var(--gold); flex: none; }
.ef-bar-logo:hover .ef-bar-mark { color: var(--accent-ink); }

.ef-bar-sep { width: 1px; height: 18px; background: var(--line); flex: none; }

.ef-bar-nav { display: flex; align-items: center; gap: var(--s4); min-width: 0; overflow-x: auto; scrollbar-width: none; }
.ef-bar-nav::-webkit-scrollbar { display: none; }
.ef-bar-nav a { font: 500 13px/1 var(--sans); color: var(--text-2); text-decoration: none; white-space: nowrap; }
.ef-bar-nav a:hover { color: var(--text); text-decoration: none; }

.ef-bar-right { display: flex; align-items: center; gap: var(--s3); margin-left: auto; flex: none; }
.ef-bar-search { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--text-3); text-decoration: none; }
.ef-bar-search:hover { color: var(--text); background: var(--surface-2); text-decoration: none; }
.ef-bar-top { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; background: none; font: 600 12px/1 var(--sans); color: var(--text-2); cursor: pointer; }
.ef-bar-top:hover { color: var(--text); border-color: var(--text-3); }

/* Okuma ilerlemesi — şeridin alt kenarında 2px. */
.ef-bar-prog { height: 2px; background: var(--line); overflow: hidden; }
.ef-bar-prog > i { display: block; height: 100%; background: var(--accent); transform: scaleX(0); transform-origin: left; }

@media (max-width: 680px) {
  .ef-bar-nav, .ef-bar-sep { display: none; }
  .ef-bar-in { gap: var(--s4); height: 44px; }
  .ef-bar-top span { display: none; }
  .ef-bar-top { width: 30px; padding: 0; justify-content: center; }
}
@media print { .ef-bar { display: none; } }

@media print {
  .ef-ad, .ef-header-tools, .ef-aside, .ef-rail, .ef-footer, .ef-pagination, .ef-bar { display: none !important; }
  .ef-read, .ef-g-read, .ef-g-read--wide { grid-template-columns: minmax(0, 1fr) !important; }
}

.ef-sort { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; letter-spacing: inherit; text-transform: inherit; }
.ef-sort:hover { color: var(--text); }
.ef-sort::after { content: '↕'; opacity: .4; font-size: 10px; }
[aria-sort="ascending"].ef-sort::after { content: '↑'; opacity: 1; }
[aria-sort="descending"].ef-sort::after { content: '↓'; opacity: 1; }

/* ---------- ana sayfa v4 bileşenleri ---------- */
.ef-strip-right { margin-left: auto; display: flex; align-items: center; gap: var(--s4); }
.ef-strip-btn { font: 500 12.5px/1 var(--sans); color: var(--text-2); background: none; border: 0; padding: 4px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

.ef-header-top { display: flex; align-items: flex-end; gap: var(--s5); flex-wrap: wrap; padding: var(--s5) var(--s5) 0; }
.ef-header-search { position: relative; min-width: 260px; flex: 1 1 260px; margin-left: auto; }
.ef-suggest { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh-md); overflow: hidden; z-index: 10; }
.ef-suggest a { display: grid; gap: 2px; padding: var(--s3); border-bottom: 1px solid var(--line); color: var(--text); }
.ef-suggest a:last-child { border-bottom: 0; }
.ef-suggest a:hover { background: var(--surface); text-decoration: none; }
.ef-suggest-t { font: 600 15px/1.3 var(--sans); }
.ef-suggest-m { font-size: 13px; color: var(--text-3); }

.ef-eyebrow-row { display: flex; align-items: center; gap: var(--s2); font: 700 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin-bottom: var(--s4); flex-wrap: wrap; }
.ef-eyebrow-row .ef-eyebrow-sub { color: var(--text-3); }
.ef-hero-meta { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; padding: var(--s3) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: var(--s5); }
.ef-hero-metric { margin-left: auto; min-width: 0; text-align: right; font-size: 14.5px; color: var(--text-2); text-wrap: pretty; }
.ef-hero-metric strong { color: var(--text); }
.ef-hero-verdict { font: 600 14.5px/1.3 var(--sans); }

.ef-sidehead { font: 500 11.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); padding-bottom: var(--s2); border-bottom: 2px solid var(--line-strong); }
.ef-mini { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: var(--s4); align-items: start; }
.ef-mini-thumb { aspect-ratio: 1; background: var(--surface-2); border-radius: var(--r-md); display: grid; place-items: center; overflow: hidden; }
.ef-mini-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ef-mini-body { display: grid; gap: 5px; }
.ef-mini-title { font: 600 16.5px/1.35 var(--sans); }

.ef-band { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }

/* ---------------------------------------------------------------
   Kapsam şeridi (3.9)

   Bütün değerler Google Sheets defterinden gelir. Öğeler eşit genşlikli
   hücrelere oturur: satir ortalanmıştır, hücreler ayraçla bölünür ve
   dar ekranda iki, çok dar ekranda tek sütuna düşer — dizilim her
   genişlikte dengeli kalır, tek öğe başına kalmaz.
   --------------------------------------------------------------- */
.ef-scope { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); align-items: center; justify-content: center; gap: 0; padding: var(--s4) var(--s5); font-size: 14px; color: var(--text-2); }
.ef-scope-cell { display: grid; gap: 3px; justify-items: center; text-align: center; padding: var(--s2) var(--s4); border-left: 1px solid var(--line); }
.ef-scope-cell:first-child { border-left: 0; }
.ef-scope-k { font: 600 10.5px/1.2 var(--sans); letter-spacing: .11em; text-transform: uppercase; color: var(--text-3); }
.ef-scope-v { font: 600 17px/1.2 var(--sans); color: var(--text); font-variant-numeric: tabular-nums; }
.ef-scope-v .ef-scope-sub { font: 400 12.5px/1.2 var(--sans); color: var(--text-3); }
.ef-scope-cell--go { padding-top: var(--s3); padding-bottom: var(--s3); }
.ef-scope-go { display: inline-flex; align-items: center; gap: 6px; font: 600 13px/1 var(--sans); color: var(--accent-ink); text-decoration: none; white-space: nowrap; }
.ef-scope-go:hover { text-decoration: underline; }
.ef-scope strong { color: var(--text); }
.ef-scope-lead { font: 700 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--text); }
.ef-dot { color: var(--text-3); }

@media (max-width: 900px) {
  .ef-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s4); }
  .ef-scope-cell:nth-child(odd) { border-left: 0; }
}
@media (max-width: 420px) {
  .ef-scope { grid-template-columns: minmax(0, 1fr); }
  .ef-scope-cell { border-left: 0; }
}

.ef-section-line { border-bottom: 1px solid var(--line); }
.ef-sechead-2 { margin-bottom: var(--s5); }
.ef-sechead-2 p { font-size: 15px; color: var(--text-2); margin: 6px 0 0; max-width: 68ch; }

.ef-boardbar { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin-bottom: var(--s4); }
.ef-boardbar-right { margin-left: auto; display: flex; align-items: center; gap: var(--s2); font-size: 13.5px; color: var(--text-3); }
.ef-board-foot { background: var(--surface); border-top: 1px solid var(--line); padding: 10px var(--s4); display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; font: 400 12.5px/1.4 var(--sans); color: var(--text-3); }
.ef-board-foot > :last-child { margin-left: auto; }

.ef-legend { margin-top: var(--s5); padding: var(--s4); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); }
.ef-legend-row { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s3); }
.ef-legend-row > span { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; }
/* Gösterge kutusu. flex içinde ezilmemesi için esnemez; box-sizing
   olmadan kenarlık 13px'i taşırıp dikdörtgene çevirir. */
.ef-legend-sw { flex: 0 0 auto; box-sizing: border-box; width: 13px; height: 13px; border-radius: 3px; border: 1.5px solid; background-clip: padding-box; }
.ef-legend p { margin: 0; font-size: 14px; color: var(--text-2); max-width: 88ch; text-wrap: pretty; }
/* Bağlantı ve oku birlikte kalsın: ok tek başına alt satıra düşmesin. */
.ef-legend p a { white-space: nowrap; }

.ef-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.ef-tile { background: var(--bg); box-shadow: 0 0 0 1px var(--line); padding: var(--s5) var(--s4); display: grid; gap: 5px; align-content: start; color: var(--text); }
.ef-tile:hover { text-decoration: none; color: var(--accent-ink); }
.ef-tile-n { font: 700 26px/1 var(--sans); letter-spacing: -.02em; }
.ef-tile-k { font: 500 11.5px/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.ef-tile-t { font: 600 17px/1.3 var(--sans); }
.ef-tile-d { font-size: 13.5px; color: var(--text-2); }

.ef-col-head { display: flex; align-items: baseline; gap: var(--s3); border-bottom: 2px solid var(--line-strong); padding-bottom: var(--s2); margin-bottom: var(--s4); }
.ef-col-head h3 { font: 700 14px/1 var(--sans); letter-spacing: .13em; text-transform: uppercase; margin: 0; white-space: nowrap; }
.ef-col-head a { margin-left: auto; font-size: 13.5px; font-weight: 600; white-space: nowrap; }

.ef-deflist { margin: 0; display: grid; gap: var(--s4); }
.ef-deflist dt { font: 600 16.5px/1.3 var(--sans); }
.ef-deflist dd { margin: 3px 0 0; font-size: 14.5px; color: var(--text-2); }

.ef-quote { margin: 0; display: grid; gap: 6px; }
.ef-quote + .ef-quote { padding-top: var(--s4); border-top: 1px solid var(--line); }
.ef-quote-meta { font-size: 12.5px; color: var(--text-3); display: flex; gap: var(--s2); }
.ef-quote-meta strong { color: var(--text); }
.ef-quote p { margin: 0; font: 400 15.5px/1.6 var(--sans); }

.ef-subbox { border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: var(--s5); display: grid; gap: var(--s3); background: var(--bg); }
.ef-subbox-t { font: 600 21px/1.3 var(--sans); }
.ef-subbox-d { font-size: 14.5px; color: var(--text-2); margin-top: 4px; }

.ef-archive-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 var(--s7); }
.ef-arch { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: var(--s3); align-items: start; padding: var(--s4) 0; border-bottom: 1px solid var(--line); }
.ef-arch-score { display: grid; place-items: center; padding: 6px 8px; border-radius: var(--r-md); align-self: start; }
.ef-arch-score b { font: 700 19px/1 var(--sans); }
.ef-arch-score i { font: 500 9.5px/1.4 var(--sans); font-style: normal; }
.ef-arch-body { display: grid; gap: 4px; }
.ef-arch-title { font: 600 16.5px/1.35 var(--sans); }

.ef-method-band { background: var(--accent); color: var(--bg); }
.ef-method { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--s7); align-items: start; padding: var(--s7) var(--s5); }
.ef-method h2 { font: 700 30px/1.2 var(--serif); letter-spacing: -.015em; margin: 0 0 var(--s4); }
.ef-method p { margin: 0 0 var(--s3); font-size: 16px; line-height: 1.7; opacity: .92; max-width: 68ch; }
.ef-method p:last-child { margin-bottom: 0; }
.ef-method-links { display: grid; gap: var(--s3); align-content: start; }
.ef-method-links a { color: var(--bg); border: 1px solid rgba(255,255,255,.35); border-radius: var(--r-md); padding: var(--s3) var(--s4); font-weight: 600; display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.ef-method-links a:hover { background: rgba(255,255,255,.08); text-decoration: none; }

.ef-legalbox { margin-top: var(--s7); padding-top: var(--s5); border-top: 1px solid var(--line); }
.ef-legalbox h3 { margin: 0 0 var(--s3); }
.ef-legalbox p { font-size: 13px; line-height: 1.65; color: var(--text-3); margin: 0; max-width: 108ch; }
.ef-legalbox strong { color: var(--text); }

@media (max-width: 900px) {
  .ef-method { grid-template-columns: minmax(0, 1fr) !important; gap: var(--s5) !important; }
}
@media (max-width: 780px) {
  .ef-scope { font-size: 13px; }
}

.ef-tab { font: 600 14.5px/1 var(--sans); color: var(--text-3); background: none; border: 1px solid var(--line); border-radius: 999px; padding: 9px 15px; min-height: 40px; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; }
.ef-tab:hover { color: var(--text); text-decoration: none; }
.ef-tab[aria-selected="true"], .ef-tab[aria-current="page"] { color: var(--bg); background: var(--accent); border-color: var(--accent); }
.ef-hero-src { font: 400 12.5px/1.5 var(--sans); color: var(--text-3); margin-top: var(--s4); }
.ef-hero-btns { display: flex; gap: var(--s3); flex-wrap: wrap; }
.ef-mini-badges { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.ef-mini-badges > .ef-meta { flex: none; white-space: nowrap; }
@media (max-width: 560px) {
  .ef-hero-metric { margin-left: 0; white-space: normal; text-align: left; }
  .ef-mini-badges > .ef-meta { white-space: normal; }
}
.ef-guide-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.ef-guide-grid .ef-tile { padding: var(--s4); }
.ef-guide-grid .ef-tile-t { font-size: 19px; }
.ef-guide-grid .ef-tile-d { font-size: 14px; }
.ef-home-section { padding: var(--s7) var(--s5); max-width: 1180px; margin: 0 auto; }
.ef-home-band { border-bottom: 1px solid var(--line); }
.ef-home-band--tint { background: var(--surface); }
.ef-h2-serif { font: 700 32px/1.2 var(--serif); letter-spacing: -.015em; margin: 0; }
.ef-hero-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: var(--s7); align-items: start; }
@media (max-width: 980px) {
  .ef-hero-split { grid-template-columns: minmax(0, 1fr) !important; gap: var(--s6) !important; }
}


/* ================================================================
   v1.1 — tasarım rafinesi (tur 1)
   1. akışkan tipografi ölçeği   6. iki kademeli gölge ölçeği
   2. akışkan bölüm ritmi        7. iki katmanlı odak halkası
   3. görünür metin bağlantısı   8. tablo satır işareti
   4. skor bandında 2. sinyal    9. liste satırı geri bildirimi
   5. band renk dengesi         10. baskı stili
   ================================================================ */

:root {
  --sh-sm: 0 1px 2px rgba(16,22,29,.05), 0 2px 8px rgba(16,22,29,.045);
  --sh-lg: 0 14px 36px rgba(16,22,29,.13);
  --ease: cubic-bezier(.2,.6,.2,1);
  --band-w: 3px;
  --b2: #6d4a0d;
  --b3-soft: #eaf5f0; --b4-soft: #cfe6dc;
}
html[data-theme="dark"] {
  --sh-sm: 0 1px 2px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.35);
  --sh-lg: 0 14px 36px rgba(0,0,0,.6);
  --b2: #e0b25f;
  --b3-soft: #0d2a24; --b4-soft: #14402d;
  --surface: #151d24; --surface-2: #1f2830;
}

/* 1 — akışkan tipografi: 4 kırılma noktasındaki font-size !important yığınının yerine */
.ef-h1 { font-size: clamp(29px, 1.35rem + 2.1vw, 46px); }
.ef-h2, .ef-h2-serif { font-size: clamp(24px, 1.1rem + 1.4vw, 32px); }
.ef-h3 { font-size: clamp(19px, 1rem + .6vw, 24px); }
.ef-prose h2 { font-size: clamp(21px, 1.05rem + 1vw, 26px); }
.ef-lead { font-size: clamp(16px, .95rem + .4vw, 18.5px); }
.ef-prose { font-size: clamp(16.5px, 1rem + .15vw, 17.5px); }
.ef-method h2 { font-size: clamp(23px, 1.1rem + 1.3vw, 30px); }

/* 2 — akışkan dikey ritim: sabit 48px bölüm dolgusu mobilde 28px'e iner */
.ef-home-section, .ef-section { padding-top: clamp(28px, 1.4rem + 2.3vw, 50px); padding-bottom: clamp(28px, 1.4rem + 2.3vw, 50px); }
.ef-method { padding-top: clamp(30px, 1.4rem + 2.3vw, 50px); padding-bottom: clamp(30px, 1.4rem + 2.3vw, 50px); }
.ef-footer { padding-top: clamp(30px, 1.4rem + 2.3vw, 50px); }
.ef-hero-grid { gap: clamp(28px, 1.5rem + 2.4vw, 52px); }

/* 3 — gövde metnindeki bağlantı renkten bağımsız olarak da ayırt edilebilir */
.ef-prose a, .ef-legalbox a, .ef-src a, .ef-deflist dd a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: color-mix(in oklab, currentColor 40%, transparent);
}
.ef-prose a:hover, .ef-legalbox a:hover, .ef-src a:hover, .ef-deflist dd a:hover { text-decoration-color: currentColor; }
.ef-prose a.ef-term { text-decoration: none; }

/* 4 — skor bandı renge ek olarak biçimle de işaretlenir (WCAG 1.4.1) */
.ef-badge { border-left: var(--band-w) solid currentColor; padding-left: 7px; }
.ef-tag { box-shadow: inset 0 0 0 1px color-mix(in oklab, currentColor 22%, transparent); }
.ef-score-block { box-shadow: inset 0 var(--band-w) 0 currentColor; }
.ef-arch-score { box-shadow: inset 0 2px 0 currentColor; }
.ef-legend-sw { border-width: 2px; box-shadow: none; }

/* 6 — kutu yüzeylerinde tutarlı yükseltme */
.ef-keybox, .ef-legend, .ef-subbox, .ef-wrap { box-shadow: var(--sh-sm); }
.ef-suggest { box-shadow: var(--sh-lg); }
.ef-tiles, .ef-guide-grid { box-shadow: var(--sh-sm); }

/* 7 — odak halkası: renkli bloklarda ve koyu temada da görünür */
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; box-shadow: 0 0 0 5px var(--accent-soft); border-radius: var(--r-sm); }
.ef-method-links a:focus-visible, .ef-btn-1:focus-visible { outline-color: var(--bg); box-shadow: 0 0 0 5px rgba(0,0,0,.25); }

/* 8 — tabloda hangi satırda olduğunuz belli; negatif değer rengi */
.ef-table tbody tr { transition: background-color .14s var(--ease); }
.ef-table tbody tr:hover td:first-child { box-shadow: inset var(--band-w) 0 0 var(--accent); }
.ef-num[data-neg="true"], .ef-neg { color: var(--neg); }
.ef-td strong { font-weight: 600; }

/* 9 — liste satırlarında geri bildirim */
.ef-tile, .ef-btn, .ef-chip, .ef-tab, .ef-letter, .ef-suggest a, .ef-toc a, .ef-card-link, .ef-iconbtn, .ef-pagination .page-numbers {
  transition: background-color .14s var(--ease), color .14s var(--ease), border-color .14s var(--ease), box-shadow .14s var(--ease);
}
.ef-tile:hover { background: var(--surface); }
.ef-letter:hover { background: var(--surface); border-color: var(--line-strong); color: var(--text); }
.ef-row-card:hover .ef-row-card-title, .ef-arch:hover .ef-arch-title, .ef-mini:hover .ef-mini-title { color: var(--accent-ink); }
.ef-card:hover .ef-card-thumb { box-shadow: inset 0 0 0 2px var(--line-strong); }

/* 10 — baskı: mürekkep tasarrufu, sayfa kırılma kuralları, link adresleri */
@media print {
  body { background: #fff; color: #000; font-size: 11pt; line-height: 1.5; }
  .ef-strip, .ef-nav, .ef-navtoggle, .ef-header-search, .ef-searchform, .ef-sub, .ef-subbox, .ef-suggest, .ef-legend, .ef-tip, .ef-boardbar, .ef-taskbar, .ef-letters { display: none !important; }
  .ef-page, .ef-home-section { max-width: none; padding-left: 0; padding-right: 0; }
  .ef-prose { max-width: none; }
  .ef-h1 { font-size: 22pt; }
  .ef-prose h2 { font-size: 14pt; break-after: avoid; }
  .ef-prose p, .ef-prose li { orphans: 3; widows: 3; }
  .ef-prose table, .ef-table, .ef-keybox, .ef-prose figure, .ef-prose blockquote, .ef-row-card, .ef-arch { break-inside: avoid; }
  .ef-prose a[href^="http"]::after { content: " (" attr(href) ")"; font: 400 8.5pt/1.4 var(--mono); color: #444; word-break: break-all; }
  .ef-badge, .ef-tag, .ef-score-block, .ef-arch-score { background: none !important; color: #000 !important; box-shadow: none !important; border: 1px solid #000 !important; }
  .ef-home-band, .ef-band, .ef-method-band { border: 0 !important; background: none !important; color: #000 !important; }
  .ef-method-links a { color: #000 !important; }
}


/* ---------- v1.1 tur 3: render verimliliği ---------- */
/* Ekran dışı bölümler düzen ve boyama maliyeti ödemez; ilk boyama hızlanır. */
.ef-home-band + .ef-home-band,
.ef-grid-cards,
.ef-archive-2,
.ef-footer { content-visibility: auto; contain-intrinsic-size: auto 640px; }
.ef-table-cards { contain: layout paint; }
/* Kart görselleri yer ayırır: yükleme sırasında satır kaymaz. */
.ef-card-thumb, .ef-mini-thumb { contain-intrinsic-size: auto 320px; }
@media print {
  .ef-home-band + .ef-home-band, .ef-grid-cards, .ef-archive-2, .ef-footer { content-visibility: visible; }
}


/* ================= v1.1 tur 5: akıllı katman ================= */
.ef-trend { display: inline-flex; align-items: baseline; gap: 6px; padding: 4px 9px; border-radius: var(--r-sm); font: 600 13px/1 var(--sans); text-decoration: none; border-left: var(--band-w) solid currentColor; }
.ef-trend .ef-trend-ref { font-weight: 400; font-size: 11.5px; opacity: .8; }
.ef-trend.b4 { background: var(--b4-soft); color: var(--b4); }
.ef-trend.b1 { background: var(--b1-soft); color: var(--b1); }
.ef-trend.bn { background: var(--surface-2); color: var(--text-2); }
.ef-trend:hover { text-decoration: underline; text-underline-offset: 3px; }

.ef-autosum { border-left: var(--band-w) solid var(--accent); margin-bottom: var(--s5); }
.ef-autosum .ef-src { margin: var(--s3) 0 0; }

.ef-spark { display: flex; align-items: center; gap: var(--s4); margin: 0 0 var(--s4); }
.ef-spark svg { width: 140px; height: 34px; flex: none; }
.ef-spark.b4 { color: var(--b4); }
.ef-spark.b1 { color: var(--b1); }
.ef-spark figcaption { margin: 0; }

/* paylaşım kartı — 1200 × 630 */
.ef-share-body { display: grid; place-items: center; min-height: 100vh; }
.ef-share-card { box-sizing: border-box; display: grid; grid-template-rows: auto 1fr auto; gap: 28px; padding: 56px 64px; background: var(--bg); border-top: 14px solid var(--accent); font-family: var(--sans); }
.ef-share-card.b4 { border-top-color: var(--b4); }
.ef-share-card.b3 { border-top-color: var(--b3); }
.ef-share-card.b2 { border-top-color: var(--b2); }
.ef-share-card.b1 { border-top-color: var(--b1); }
.ef-share-top { display: flex; align-items: baseline; justify-content: space-between; }
.ef-share-brand { font: 800 24px/1 var(--logo); letter-spacing: -.01em; }
.ef-share-period { font: 500 20px/1 var(--mono); color: var(--text-2); }
.ef-share-title { margin: 0; font: 700 clamp(38px, 44px, 52px)/1.12 var(--serif); letter-spacing: -.015em; text-wrap: balance; align-self: center; }
.ef-share-one { margin: 0; font-size: 22px; line-height: 1.45; color: var(--text-2); max-width: 46ch; }
.ef-share-foot { display: grid; grid-template-columns: auto 1fr 1fr; gap: 40px; align-items: end; border-top: 1px solid var(--line); padding-top: 24px; }
.ef-share-score { display: flex; align-items: baseline; gap: 6px; }
.ef-share-score strong { font: 800 76px/1 var(--logo); letter-spacing: -.03em; }
.ef-share-score span { font: 500 20px/1 var(--mono); color: var(--text-3); }
.ef-share-label { display: block; font: 400 13px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.ef-share-verdict strong, .ef-share-note strong { display: block; font-size: 22px; line-height: 1.3; }
.ef-share-delta { display: block; margin-top: 4px; font: 400 14px/1.4 var(--mono); color: var(--text-3); }


/* ---------- v1.2 payda satırı ---------- */
.ef-hero-metric-basis { display: block; margin-top: 3px; font: 400 12.5px/1.4 var(--mono); color: var(--text-3); }


/* ---------- v1.2: Kısaca kutusu tipografisi ---------- */
.ef-keybox-h { margin: 0; font: 400 11px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); }
.ef-keybox-list { margin: 0; padding-left: 1.1em; display: grid; gap: var(--s2); font-size: 15px; line-height: 1.55; color: var(--text); text-wrap: pretty; }
.ef-keybox-list li { padding: 0; border: 0; }
.ef-keybox-list li::marker { color: var(--accent); }


/* ================= v1.3: pazar etiketi ve yatırım rehberi ================= */
.ef-mkt { display: inline-block; padding: 2px 7px; border-radius: var(--r-sm); font: 500 11.5px/1.5 var(--mono); letter-spacing: .04em; white-space: nowrap; border-left: 2px solid currentColor; }
.ef-mkt--bist { background: var(--accent-soft); color: var(--accent-ink); }
.ef-mkt--abd { background: var(--b3-soft); color: var(--b3); }
.ef-mkt--kripto { background: var(--b2-soft); color: var(--b2); }

.ef-taskbar-label { font: 400 11px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); margin-right: var(--s2); }
.ef-chip-n { font: 500 11px/1 var(--mono); color: var(--text-3); margin-left: 4px; }
.ef-chip[aria-selected="true"] .ef-chip-n { color: inherit; opacity: .75; }

/* Rehber bandı skor tablosundan sonra geldiği için görsel ağırlığı yüksek */
.ef-guide-band .ef-sechead-2 h2 { font-size: clamp(27px, 1.2rem + 1.8vw, 38px); }

/* Kapaklar 1:1 üretildiği için rehber manşetinin görsel kolonu da kare.
   Kare kapak metinden dar tutulur; aksi hâlde 1:1 oran kolonu aşırı
   yükseltip başlığı aşağı itiyor. */
.ef-guide-lead { display: grid; grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr); gap: clamp(20px, 1rem + 2vw, 40px); align-items: center; padding-bottom: var(--s6); }
@media (max-width: 780px) { .ef-guide-lead { grid-template-columns: minmax(0, 1fr); } .ef-guide-lead-media { max-width: 320px; } }
.ef-guide-lead-media { display: grid; place-items: center; aspect-ratio: 1 / 1; width: 100%; max-width: 440px; overflow: hidden; border-radius: var(--r-lg); background: var(--surface-2); border: 1px solid var(--line); }
.ef-guide-lead-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ef-guide-lead-media .ef-mono { color: var(--text-3); font-size: 12px; }
.ef-guide-lead-body { display: grid; gap: var(--s3); align-content: start; }
.ef-guide-lead-body .ef-btn { justify-self: start; margin-top: var(--s2); }
.ef-guide-lead-sum { margin: 0; font-size: 16px; line-height: 1.6; color: var(--text-2); max-width: 52ch; text-wrap: pretty; }

.ef-guide-more { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--s4) var(--s5); padding: var(--s5) 0; border-top: 1px solid var(--line); }
.ef-guide-band .ef-guide-grid { margin-top: var(--s5); }


/* Skor tablosu çubuğunda üç süzme ekseni: pazar · bölüm · dönem */
.ef-boardbar-group { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.ef-boardbar-group .ef-taskbar-label { margin-right: 2px; }
.ef-boardbar .ef-nav-divider { align-self: stretch; min-height: 24px; }



/* Reklam kutusuna ait kurallar tek yerde toplanır (bu dosyanın başında,
   "Reklam kutusu (4.2)"). Burada 3.x ve 4.0 artıkları kaldırıldı: aynı
   seçicinin iki yerde farklı değerlerle tekrarı, dolan birimlerin bile
   gizli kalabildiği çakışmalara yol açıyordu. */

/* ---------- v1.5: dönem defteri kutusu ---------- */
.ef-ledgerbox { list-style: none; margin: var(--s3) 0 var(--s4); padding: 0; display: grid; gap: 2px; }
.ef-ledgerbox li { display: grid; grid-template-columns: 4.5em 2.6em minmax(0, 1fr); align-items: center; gap: var(--s3); padding: var(--s2) 0; border-bottom: 1px solid var(--line); }
.ef-ledgerbox li:last-child { border-bottom: 0; }
.ef-ledgerbox li.is-now { font-weight: 600; }
.ef-ledgerbox-p { font: 500 13px/1 var(--mono); color: var(--text-2); }
.ef-ledgerbox-s { font: 600 13px/1 var(--sans); text-align: center; padding: 3px 0; border-radius: var(--r-sm); }
.ef-ledgerbox-t { font-size: 13px; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ef-ledgerbox li.is-now .ef-ledgerbox-t { color: var(--text); }

/* ---------- v1.5: X hesabı çağrıları ---------- */
.ef-xmark { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; background: #000; color: #fff; font: 800 18px/1 var(--sans); }
.ef-xmark--lg { width: 44px; height: 44px; border-radius: 12px; font-size: 23px; }

.ef-btn-x { background: #000; color: #fff; border-color: #000; }
.ef-btn-x:hover { background: #1a1a1a; color: #fff; border-color: #1a1a1a; text-decoration: none; }

.ef-xstrip { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; margin-top: var(--s6); padding: var(--s5); border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--surface); }
.ef-xstrip-b { flex: 1 1 260px; min-width: 0; }
.ef-xstrip-h { margin: 0; font: 600 17px/1.35 var(--sans); }
.ef-xstrip-d { margin: 2px 0 0; font-size: 14.5px; color: var(--text-2); text-wrap: pretty; }

.ef-xcard { display: grid; gap: var(--s3); padding: var(--s5); border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--surface); align-content: start; }
.ef-xcard-h { margin: 0; font: 700 19px/1.3 var(--serif); }
.ef-xcard-d { margin: 0; font-size: 14.5px; color: var(--text-2); text-wrap: pretty; }
.ef-xcard-l { margin: 0; padding-left: 1.1em; display: grid; gap: 4px; font-size: 14px; color: var(--text-2); }
.ef-xcard .ef-btn-x { justify-self: start; margin-top: var(--s2); }

.ef-xmini { display: flex; align-items: center; gap: var(--s3); padding: var(--s4); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); color: inherit; }
.ef-xmini:hover { border-color: var(--line-strong); text-decoration: none; color: inherit; }
.ef-xmini-b { display: grid; gap: 1px; min-width: 0; }
.ef-xmini-b strong { font: 600 15px/1.2 var(--sans); }
.ef-xmini-b span { font-size: 13px; color: var(--text-3); }
.ef-xmini-go { margin-left: auto; color: var(--text-3); }

/* ---------- v1.5: şeritteki X bağlantısı ---------- */
.ef-strip-x { display: inline-flex; align-items: center; gap: 5px; font-weight: 500; letter-spacing: .01em; }
.ef-strip-in .ef-strip-x { color: var(--text-2); }
.ef-strip-in .ef-strip-x:hover { color: var(--text); text-decoration: none; }
.ef-strip-x-i { width: 11px; height: 11px; flex: 0 0 auto; opacity: .75; }
.ef-strip-x:hover .ef-strip-x-i { opacity: 1; }
.ef-strip-x-n { border-bottom: 1px solid var(--line-strong); padding-bottom: 1px; }
.ef-strip-in { padding-top: 5px; padding-bottom: 5px; font-size: 12px; }

/* ---------------------------------------------------------------
   Kare kapaklar
   Analiz yazılarının başında skor rozeti yerine yazının kendi
   kapağı durur. Oran her yerde 1:1; kutu görsel gelmeden de aynı
   yeri kaplar, sayfa zıplamaz.
   --------------------------------------------------------------- */
.ef-cover { position: relative; margin: 0; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--r-lg); background: var(--surface-2); border: 1px solid var(--line); container-type: inline-size; }
.ef-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ef-cover-fb { position: absolute; inset: 0; display: grid; place-items: center; font: 700 clamp(22px, 18cqw, 64px) / 1 var(--display, var(--sans)); letter-spacing: -0.02em; color: var(--text-3); }
.ef-cover--kucuk { border-radius: var(--r-md); }

/* ---------------------------------------------------------------
   Ana sayfa — kapak öncelikli kartlar
   --------------------------------------------------------------- */
.ef-hero-lead { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: var(--s7); align-items: center; padding-bottom: var(--s7); border-bottom: 1px solid var(--line); margin-bottom: var(--s7); }
.ef-hero-lead .ef-cover { box-shadow: 0 18px 44px -24px rgba(15, 23, 42, .45); }
.ef-hero-lead-body { display: grid; gap: var(--s4); }
.ef-hero-lead-title { font: 700 clamp(28px, 3.4vw, 46px) / 1.12 var(--display, var(--serif)); letter-spacing: -0.02em; margin: 0; text-wrap: balance; }
.ef-hero-lead-title a { color: inherit; text-decoration: none; }
.ef-hero-lead-title a:hover { text-decoration: underline; text-underline-offset: 4px; }

.ef-covergrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: var(--s6); }
/* Üçlü satırda kartlar simetrik dursun: dördüncü boş sütun açılmaz. */
.ef-covergrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Masaüstünde üç kart tek satır; mobilde iki sütun olduğu için üçüncü
   satır yarım kalır. Dördüncü kart basılır ama yalnız mobilde görünür:
   2×2 tam ızgara olur, masaüstünde satır bozulmaz. */
.ef-covergrid .ef-covercard--m { display: none; }
@media (max-width: 780px) {
  .ef-covergrid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ef-covergrid .ef-covercard--m { display: grid; }
}
.ef-covercard { display: grid; gap: var(--s3); text-decoration: none; color: inherit; }
.ef-covercard .ef-cover { transition: transform .2s ease; }
.ef-covercard:hover .ef-cover { transform: translateY(-3px); }
.ef-covercard:hover .ef-covercard-t { text-decoration: underline; text-underline-offset: 3px; }
.ef-covercard-t { font: 600 17px/1.35 var(--serif); color: var(--text); text-wrap: pretty; }
.ef-covercard-m { font: 500 12px/1 var(--sans); color: var(--text-3); letter-spacing: .04em; text-transform: uppercase; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

@media (max-width: 860px) {
  .ef-hero-lead { grid-template-columns: minmax(0, 1fr); gap: var(--s5); }
  .ef-hero-lead .ef-cover { max-width: 340px; }
}
@media (max-width: 520px) {
  .ef-covergrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5); }
  .ef-covercard-t { font-size: 15px; }
}

/* ---------------------------------------------------------------
   Skor tablosu — masaüstü tablo, mobil kart
   --------------------------------------------------------------- */
.ef-board { display: grid; gap: var(--s6); }
.ef-board-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; }
.ef-board-head h2 { margin: 0; font: 600 20px/1.2 var(--serif); }
.ef-board-head a { font: 500 13.5px/1 var(--sans); }

.ef-topgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--s7); }

/* Sıralı liste görünümü: ana sayfadaki ilk 10 */
.ef-top { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.ef-top-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: var(--s4); align-items: center; padding: 11px var(--s5); background: var(--surface); text-decoration: none; color: inherit; }
.ef-top-row:hover { background: var(--surface-2); }
.ef-top-rank { font: 500 12px/1 var(--mono); color: var(--text-3); text-align: right; }
.ef-top-main { min-width: 0; display: grid; gap: 2px; }
.ef-top-sym { font: 600 14.5px/1.2 var(--sans); color: var(--text); letter-spacing: .01em; }
.ef-top-co { font: 400 12.5px/1.3 var(--sans); color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ef-top-score { font: 600 15px/1 var(--mono); padding: 6px 9px; border-radius: var(--r-sm); border: 1px solid var(--line); }
.ef-top-foot { display: flex; justify-content: space-between; gap: var(--s4); font: 400 12px/1.4 var(--sans); color: var(--text-3); padding-top: var(--s3); flex-wrap: wrap; }

@media (max-width: 720px) {
  .ef-table-desktop { display: none; }
}
@media (min-width: 721px) {
  .ef-table-cards { display: none; }
}

/* ---------------------------------------------------------------
   Skor tablosu — matris
   Şirket başına bir satır, dönem başına bir sütun. Tablo kendi
   kutusunda iki yönde kayar; başlık satırı ve sembol sütunu
   yapışık kalır, böylece 140 satır içinde kaybolunmaz.
   --------------------------------------------------------------- */
.ef-boardwrap { margin: var(--s7) 0; }

.ef-board-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); flex-wrap: wrap; margin-bottom: var(--s5); }
.ef-board-tabs { display: flex; gap: 3px; padding: 3px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; }
.ef-board-tab { display: inline-flex; align-items: center; gap: 7px; padding: 8px 16px; border: 0; border-radius: 7px; background: transparent; cursor: pointer; font: 600 14px/1 var(--sans); color: var(--text-2); }
.ef-board-tab:hover { color: var(--text); }
.ef-board-tab.is-on { background: var(--surface); color: var(--text); box-shadow: 0 1px 3px rgba(15, 23, 42, .1); }
.ef-board-tab-n { font: 500 11.5px/1 var(--mono); color: var(--text-3); }
.ef-board-tab.is-on .ef-board-tab-n { color: var(--text-2); }

.ef-board-tools { display: flex; align-items: center; gap: var(--s4); }
.ef-board-search input { width: 232px; max-width: 100%; padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); font: 400 14px/1.2 var(--sans); color: var(--text); }
.ef-board-search input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.ef-board-count { font: 500 12.5px/1 var(--mono); color: var(--text-3); white-space: nowrap; }

/* Kaydırma kutusu: yükseklik ekrana göre, sayfa değil tablo kayar. */
.ef-boardscroll { max-height: min(72vh, 780px); overflow: auto; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); overscroll-behavior: contain; }
.ef-boardscroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.ef-boardtable { border-collapse: separate; border-spacing: 0; width: 100%; }

.ef-bt-h { position: sticky; top: 0; z-index: 3; padding: 0; background: var(--surface-2); border-bottom: 1px solid var(--line); white-space: nowrap; text-align: left; }
.ef-bt-h button { display: inline-flex; align-items: center; gap: 5px; width: 100%; padding: 11px 14px; border: 0; background: transparent; cursor: pointer; font: 600 11.5px/1 var(--sans); letter-spacing: .07em; text-transform: uppercase; color: var(--text-2); }
.ef-bt-h button:hover { color: var(--text); }
.ef-bt-arrow { width: 8px; height: 8px; opacity: 0; border-left: 3.5px solid transparent; border-right: 3.5px solid transparent; border-top: 5px solid currentColor; }
.ef-bt-h[aria-sort] button { color: var(--text); }
.ef-bt-h[aria-sort] .ef-bt-arrow { opacity: 1; }
.ef-bt-h[aria-sort="ascending"] .ef-bt-arrow { transform: rotate(180deg); }

/* Sembol sütunu iki yönde yapışık: köşe hücresi en üstte durur. */
.ef-bt-sym { position: sticky; left: 0; z-index: 2; background: var(--surface); border-right: 1px solid var(--line); }
.ef-bt-h.ef-bt-sym { z-index: 4; background: var(--surface-2); }

.ef-bt-c { padding: 0 14px; height: 42px; border-bottom: 1px solid var(--line-soft, var(--line)); vertical-align: middle; }
.ef-boardtable tbody tr:last-child .ef-bt-c { border-bottom: 0; }
.ef-boardtable tbody tr:hover .ef-bt-c { background: var(--surface-2); }
.ef-boardtable tbody tr:hover .ef-bt-sym { background: var(--surface-2); }

th.ef-bt-sym { font: 600 13.5px/1 var(--sans); letter-spacing: .02em; color: var(--text); white-space: nowrap; text-align: left; }
.ef-bt-co { font: 400 13.5px/1.35 var(--sans); color: var(--text-2); min-width: 220px; max-width: 360px; }
.ef-bt-p { text-align: center; width: 78px; }

.ef-bt-score { display: inline-block; min-width: 40px; padding: 5px 8px; border-radius: 7px; border: 1px solid var(--line); font: 600 13.5px/1 var(--mono); text-align: center; text-decoration: none; color: var(--text); }
a.ef-bt-score { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a.ef-bt-score:hover { filter: brightness(.96); }
.ef-bt-empty { color: var(--text-3); font: 400 14px/1 var(--mono); }

.ef-board-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); flex-wrap: wrap; margin-top: var(--s5); }

@media (max-width: 720px) {
  .ef-board-bar { flex-direction: column; align-items: stretch; gap: var(--s4); }
  .ef-board-tabs { justify-content: stretch; }
  .ef-board-tab { flex: 1; justify-content: center; padding: 10px 8px; }
  .ef-board-tools { justify-content: space-between; }
  .ef-board-search input { width: 100%; }
  .ef-boardscroll { max-height: 68vh; }
  /* Şirket adı mobilde sütun tutmaz; sembol ve puanlar kalır. */
  .ef-bt-co { display: none; }
  .ef-bt-c { height: 46px; padding: 0 10px; }
  .ef-bt-p { width: 66px; }
  .ef-bt-h button { padding: 11px 10px; }
}

/* ---------------------------------------------------------------
   Sekmeli yazı bölümü — ana sayfa
   --------------------------------------------------------------- */
.ef-tabsec { margin: 0 0 var(--s7); }
.ef-tabrow { display: flex; gap: 3px; padding: 3px; margin-bottom: var(--s5); background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; width: fit-content; max-width: 100%; flex-wrap: wrap; }
.ef-tab { display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border: 0; border-radius: 7px; background: transparent; cursor: pointer; font: 600 14px/1 var(--sans); color: var(--text-2); }
.ef-tab:hover { color: var(--text); }
.ef-tab.is-on { background: var(--surface); color: var(--text); box-shadow: 0 1px 3px rgba(15, 23, 42, .1); }
.ef-tab-n { font: 500 11.5px/1 var(--mono); color: var(--text-3); }
.ef-tab.is-on .ef-tab-n { color: var(--text-2); }

.ef-tabmore { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; margin-top: var(--s6); }

@media (max-width: 620px) {
  .ef-tabrow { width: 100%; }
  .ef-tab { flex: 1 1 auto; justify-content: center; padding: 10px 10px; font-size: 13.5px; }
  .ef-tabmore > .ef-btn { flex: 1 1 100%; justify-content: center; }
}

/* ---------------------------------------------------------------
   Gezinme satırı ve dil düğmesi (3.9)

   Menü artık iki parçadır: solda kaydırılabilir grup rayı, sağda dil
   düğmesi. İkisi de aynı flex satırının öğesi ve ikisi de `align-items:
   center` ile aynı optik eksene oturur — düğme kendi yüksekliğini
   dayatmasın diye satır yüksekliği 1 ve dolgusu simetriktir. Eski
   sürümde düğme emoji bayrak taşıyordu; emoji glifi satır kutusunu
   büyüttüğü için düğme menü metninden bir-iki piksel aşağı kayıyordu.
   --------------------------------------------------------------- */
.ef-nav { justify-content: space-between; row-gap: var(--s3); }
.ef-nav-rows { display: flex; align-items: center; gap: var(--s5); flex-wrap: wrap; min-width: 0; }
.ef-nav-group { display: flex; align-items: center; gap: var(--s4); }

.ef-nav-lang { display: inline-flex; align-items: center; align-self: center; gap: 6px; height: 30px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; font: 600 12px/1 var(--sans); letter-spacing: .06em; color: var(--text-2); text-decoration: none; white-space: nowrap; flex: none; }
.ef-nav-lang:hover { color: var(--text); border-color: var(--text-3); text-decoration: none; }
.ef-nav-lang-i { display: inline-flex; align-items: center; color: var(--text-3); }
.ef-nav-lang:hover .ef-nav-lang-i { color: currentColor; }
.ef-nav-lang-t { display: inline-block; line-height: 1; }

@media (max-width: 900px) {
  .ef-nav { justify-content: flex-start; }
  .ef-nav[data-open="true"] .ef-nav-rows { flex-direction: column; align-items: flex-start; gap: var(--s3); }
  .ef-nav[data-open="true"] .ef-nav-group { flex-direction: column; align-items: flex-start; gap: var(--s3); }
  .ef-nav-lang { align-self: flex-start; height: 44px; }
}

/* ---------------------------------------------------------------
   Sözlük dizini (3.9)

   Kategori sayfası sayfalanmaz: bütün terimler baş harfe göre gruplanır.
   Harf gezinmesi yapışkandır, arama kutusu istemci tarafında süzer.
   --------------------------------------------------------------- */
.ef-gloss { padding-top: var(--s6); }
.ef-gloss-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); flex-wrap: wrap; padding-bottom: var(--s4); }
.ef-gloss-count { font-size: 14px; color: var(--text-2); }
.ef-gloss-count strong { color: var(--text); font-variant-numeric: tabular-nums; }
.ef-gloss-search { display: block; flex: 1 1 260px; max-width: 340px; }
.ef-gloss-search input { width: 100%; padding: 11px 14px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); font: 400 15px/1.2 var(--sans); color: var(--text); }
.ef-gloss-search input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }

.ef-letters { position: sticky; top: 0; z-index: 5; background: var(--bg); border-bottom: 1px solid var(--line); }
.ef-gloss-empty { padding: var(--s7) 0; font-size: 16px; color: var(--text-2); }

.ef-gloss-sec { padding: var(--s6) 0; border-bottom: 1px solid var(--line); scroll-margin-top: 72px; }
.ef-gloss-head { display: flex; align-items: baseline; gap: var(--s4); margin-bottom: var(--s5); }
.ef-gloss-letter { font: 700 34px/1 var(--serif); margin: 0; letter-spacing: -.01em; }
.ef-gloss-n { font: 500 12px/1 var(--mono); color: var(--text-3); }
.ef-gloss-top { margin-left: auto; font: 600 12.5px/1 var(--sans); color: var(--text-3); text-decoration: none; white-space: nowrap; }
.ef-gloss-top:hover { color: var(--text); }

.ef-gloss-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--s4) var(--s5); }
.ef-gloss-item { display: grid; gap: 4px; align-content: start; padding: var(--s4); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); text-decoration: none; transition: border-color .14s var(--ease), background-color .14s var(--ease); }
.ef-gloss-item:hover { border-color: var(--line-strong); background: var(--surface-2); text-decoration: none; }
.ef-gloss-t { font: 600 16.5px/1.3 var(--sans); color: var(--text); }
.ef-gloss-item:hover .ef-gloss-t { color: var(--accent-ink); }
.ef-gloss-d { font-size: 14px; line-height: 1.55; color: var(--text-2); text-wrap: pretty; }
.ef-gloss-syn { font: 400 12px/1.4 var(--mono); color: var(--text-3); }

@media (max-width: 560px) {
  .ef-gloss-letter { font-size: 27px; }
  .ef-gloss-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------------------------------------------------------------
   Yöntem sayfaları — metodoloji ve yapay zekâ (3.9)
   --------------------------------------------------------------- */
/* 4.6.1: kolon ortalanır. Sola yapışık 880px'lik bir sütun, 1180px'lik
   kapsayıcıda sağda boş bir ray varmış izlenimi veriyordu. */
.ef-doc { max-width: 880px; margin-inline: auto; }
.ef-doc-hero { padding-bottom: var(--s6); border-bottom: 1px solid var(--line); }
.ef-doc-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; padding: var(--s5) 0; border-bottom: 1px solid var(--line); }
.ef-doc-stat { display: grid; gap: 4px; padding: var(--s2) var(--s5); border-left: 1px solid var(--line); }
.ef-doc-stat:first-child { border-left: 0; padding-left: 0; }
.ef-doc-stat-n { font: 600 32px/1 var(--sans); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

.ef-doc-toc { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); padding: var(--s5) 0; border-bottom: 1px solid var(--line); }
.ef-doc-toc a { font: 500 13.5px/1 var(--sans); color: var(--text-2); text-decoration: none; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; }
.ef-doc-toc a:hover { color: var(--text); border-color: var(--line-strong); text-decoration: none; }

.ef-doc-sec { padding: var(--s7) 0 0; scroll-margin-top: var(--s6); }
.ef-doc-sec > h2 { font: 700 27px/1.25 var(--serif); letter-spacing: -.012em; margin: 0 0 var(--s3); }
.ef-doc-kicker { font: 600 11px/1 var(--sans); letter-spacing: .13em; text-transform: uppercase; color: var(--text-3); display: block; margin-bottom: var(--s3); }
.ef-doc-sec p { font-size: 16.5px; line-height: 1.7; color: var(--text-2); margin: 0 0 var(--s4); text-wrap: pretty; }
.ef-doc-sec p strong { color: var(--text); }
.ef-doc-sec ul { margin: 0 0 var(--s4); padding-left: 1.15em; }
.ef-doc-sec li { font-size: 16px; line-height: 1.65; color: var(--text-2); margin-bottom: 7px; }

.ef-doc-pull { margin: 0 0 var(--s5); padding: var(--s6); border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--surface); }
.ef-doc-pull p { margin: 0; font: 400 21px/1.45 var(--serif); color: var(--text); }

.ef-doc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s4); margin: 0 0 var(--s5); }
.ef-doc-card { border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s5); background: var(--surface); }
.ef-doc-card h3 { margin: 0 0 6px; font: 600 16.5px/1.35 var(--sans); }
.ef-doc-card p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--text-2); }
.ef-doc-card-n { font: 500 11.5px/1 var(--mono); color: var(--text-3); display: block; margin-bottom: 9px; }

/* İki kolonlu "yapıyoruz / yapmıyoruz" ayrımı. */
.ef-doc-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--s5); margin: 0 0 var(--s5); }
.ef-doc-col { border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s5); }
.ef-doc-col--yes { border-left: 3px solid var(--b3); }
.ef-doc-col--no { border-left: 3px solid var(--b1); }
.ef-doc-col h3 { margin: 0 0 var(--s3); font: 600 15px/1.3 var(--sans); }
.ef-doc-col ul { margin: 0; padding-left: 1.1em; }
.ef-doc-col li { font-size: 14.5px; line-height: 1.6; }

/* Üretim akışı — numaralı adımlar. */
.ef-flow { display: grid; gap: 0; margin: 0 0 var(--s5); counter-reset: ef-step; }
.ef-flow-step { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--s4); padding: var(--s5) 0; border-top: 1px solid var(--line); }
.ef-flow-step:last-child { border-bottom: 1px solid var(--line); }
.ef-flow-n { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-strong); font: 600 13px/1 var(--mono); color: var(--text-2); }
.ef-flow-b h3 { margin: 0 0 5px; font: 600 16.5px/1.35 var(--sans); }
.ef-flow-b p { margin: 0 0 7px; font-size: 15px; line-height: 1.6; }
.ef-flow-who { display: flex; gap: var(--s3); flex-wrap: wrap; font: 500 12px/1.4 var(--sans); }
.ef-flow-tag { padding: 4px 9px; border-radius: 999px; border: 1px solid var(--line); color: var(--text-2); }
.ef-flow-tag--human { border-color: var(--b3); color: var(--text); }
.ef-flow-tag--ai { border-color: var(--line-strong); color: var(--text-3); }

@media (max-width: 560px) {
  .ef-doc-stat { border-left: 0; padding-left: 0; }
  .ef-doc-pull p { font-size: 18px; }
}

/* 4.5 responsive and keyboard refinements */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent,#b65b2b);outline-offset:4px}
.ef-ad[hidden]{display:none!important}
.ef-ad--anchor{margin-block:0}
.ef-ad--anchor:not(.is-empty) .ef-ad-body{min-height:50px}
.ef-readbody{min-width:0;overflow-wrap:break-word}
.ef-scroller{max-width:100%;overscroll-behavior-inline:contain}
@media(min-width:901px){body:has(.ef-ad--anchor) .ef-footer{padding-bottom:var(--s7)}}
@media(max-width:900px){.ef-ad--anchor{margin:0}body:has(.ef-ad--anchor:not(.is-empty)) .ef-footer{padding-bottom:calc(var(--s7) + 70px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* 4.6.2: burada `.ef-logo-clip{height:auto;overflow:visible}` +
   `.ef-logo-mark{margin-top:0;line-height:1}` çifti vardı. Yazı tipi
   yüklenirken kelime işaretini okunur tutmak için eklenmişti ama kimliğin
   kendisini iptal ediyordu: logo, harflerin altı kesilecek şekilde 60px'lik
   bir pencereden bakar (satır 133-134). Yama yüzünden harfler tam
   görünüyordu. Kaldırıldı; kırpma yeniden yürürlükte. */
@media(max-width:900px){.ef-header-top{flex-wrap:nowrap;align-items:center;padding:var(--s4) var(--s5);gap:var(--s4)}}
@media(max-width:360px){.ef-logo-mark{font-size:30px}.ef-header-top{gap:12px}.ef-navtoggle{padding:8px}}


/* ---------------------------------------------------------------
   4.6.1 — reklam engelleyicide boş alan bırakmama

   Eski davranış: `.ef-ad-body` yer ayırma yüksekliğini her durumda
   uyguluyor, `.ef-ad-tag` "REKLAM" etiketini her durumda basıyordu.
   Reklam engelleyici açıkken hiçbir birim gelmiyor ama gri kutu ve
   etiket sayfada kalıyor — okur boş bir reklam yeri görüyordu.

   Yeni davranış: yer yalnız istek gerçekten AdSense'e ulaştıktan sonra
   ayrılır (`loading` durumundan itibaren); etiket yalnız birim dolduğunda
   görünür. Engelleyici, dolmayan birim, mesafe kuralı ve JavaScript'in
   hiç çalışmadığı durum — dördünde de sayfada iz kalmaz.
   --------------------------------------------------------------- */
.ef-ad-body{min-height:0;background:none}
/* Yer YALNIZ dolu birimde ayrılır. "İstendi" durumu da yer ayırmıyor:
   engelleyici push'u sessizce yuttuğunda kutu o durumda kalıyor ve boş bir
   gri blok olarak sayfada duruyordu. */
.ef-ad[data-ef-state="filled"] .ef-ad-body,
.ef-ad[data-ef-state="custom"] .ef-ad-body{min-height:var(--ad-min,250px);background:var(--surface)}
.ef-ad.is-live[data-ef-state="filled"] .ef-ad-body{background:none}
/* Engelleyici bulunduğunda kutular JS ile DOM'dan çıkar; bu kural, çıkarma
   öncesindeki ilk karede de hiçbir şeyin görünmemesini sağlar. */
html[data-ef-adblock] .ef-ad{display:none!important}

/* Sayfa kapsayıcısına hizalanan bantlar (ana sayfa). `.ef-ad` kendi
   `max-width` ve `margin-inline:0` kurallarını daha sonra yazdığı için
   `.ef-page` eziliyordu: bant ekranın sol kenarından sağ kenarına kadar
   uzuyordu. */
.ef-ad.ef-page{max-width:var(--page);margin-inline:auto;padding-left:var(--s5);padding-right:var(--s5)}
/* Yer ayrılmadıkça kutunun dekoru da yok: liste bandının çizgileri ve
   bantların dikey payı boş bir alanı işaretlemesin. */
.ef-ad:not([data-ef-state="filled"]):not([data-ef-state="custom"]){
  margin-block:0;padding-block:0;border-top:0;border-bottom:0;
}
.ef-ad-tag{display:none}
.ef-ad[data-ef-state="filled"] .ef-ad-tag,
.ef-ad[data-ef-state="custom"] .ef-ad-tag{display:block}
/* Alt bar sabit bir katman: boş dururken de ekranın altını yiyordu. */
.ef-ad--anchor:not([data-ef-state="filled"]):not([data-ef-state="custom"]){display:none}
@media(max-width:900px){body:has(.ef-ad--anchor[data-ef-state="filled"]) .ef-footer{padding-bottom:calc(var(--s7) + 70px + env(safe-area-inset-bottom))}}

/* ---------------------------------------------------------------
   4.6.1 — ray reklamının yeri

   Birim rayın dibinde duruyordu: masaüstünde sol kolonun en altında,
   dar ekranda ise ray yazının ardına düştüğü için sayfanın en sonunda.
   İkisi de okurun ulaşmadığı yer. Birim içindekilerin altına taşındı;
   dar ekranda hiç basılmaz — mobilin kendi yeri alt bar.
   --------------------------------------------------------------- */
.ef-rail-ad{min-width:0}
@media(max-width:900px){.ef-ad--rail{display:none!important}}

/* ---------------------------------------------------------------
   4.6.1 — yapışkan şerit ve yönetici çubuğu

   Şerit `top: 0`dı. Yönetici giriş yaptığında WordPress'in yönetici
   çubuğu aynı yeri sabit olarak kaplıyor ve şerit onun altında kalıyordu.
   Çubuk masaüstünde 32px, 782px altında 46px; 600px altında ise sabit
   değil, sayfayla birlikte kayıyor — o genişlikte pay verilmez.
   --------------------------------------------------------------- */
body.admin-bar .ef-bar{top:32px}
@media screen and (max-width:782px){body.admin-bar .ef-bar{top:46px}}
@media screen and (max-width:600px){body.admin-bar .ef-bar{top:0}}

/* ---------------------------------------------------------------
   4.6.1 — reklam engelleyici notu

   Masaüstünde, oturumda bir kez, sağ altta. Yalnız engelleyici
   bulunduğunda basılır (assets/js/ads.js); 11 saniye sonra kendi kapanır.
   --------------------------------------------------------------- */
.ef-adblock{
  position: fixed; right: var(--s5); bottom: var(--s5); z-index: 60;
  width: 320px; padding: var(--s5) var(--s5) var(--s4);
  background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--r-lg);
  box-shadow: var(--sh-lg, 0 12px 34px rgba(16,22,29,.16));
  opacity: 0; transform: translateY(12px);
  transition: opacity .32s ease, transform .32s ease;
}
.ef-adblock.is-on{ opacity: 1; transform: none; }
.ef-adblock strong{ display: block; font: 600 15px/1.35 var(--sans); color: var(--text); margin-bottom: 6px; padding-right: var(--s5); }
.ef-adblock p{ margin: 0; font: 400 13.5px/1.6 var(--sans); color: var(--text-2); text-wrap: pretty; }
.ef-adblock-x{
  position: absolute; top: 6px; right: 8px; width: 30px; height: 30px;
  display: grid; place-items: center; border: 0; background: none; cursor: pointer;
  font: 400 19px/1 var(--sans); color: var(--text-3); border-radius: 999px;
}
.ef-adblock-x:hover{ color: var(--text); background: var(--surface); }
@media (max-width: 999px){ .ef-adblock{ display: none; } }
@media (prefers-reduced-motion: reduce){ .ef-adblock{ transition: none; } }
