/* Eğitim Sen — tema stili
   Tek kaynak burasıdır; tools/kopyala.sh bu dosyayı
   php-framework-master/public/egitimsen/css/stil.css konumuna taşır.
   Bootstrap yeniden derlenmez, değişkenleri aşağıda ezilir. */

/* Disleksi dostu yazı tipi — erişilebilirlik panelinden açılır.
   YEREL barındırılır (site/fonts/): dış istek yok, çevrimdışı da çalışır.
   OFL-1.1, Abbie Gonzalez — lisans metni site/fonts/LISANS-OpenDyslexic.txt.
   font-display:swap DEĞİL block: font yüklenene kadar metin gövde fontuyla
   görünüp sonra zıplarsa, tam da bu ayarı açan kullanıcı zarar görür. */
@font-face {
  font-family: 'OpenDyslexic';
  src: url('../fonts/opendyslexic-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: block;
}
@font-face {
  font-family: 'OpenDyslexic';
  src: url('../fonts/opendyslexic-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: block;
}

:root {
  /* marka */
  --es-lacivert:        #1B2A6B;
  --es-lacivert-koyu:   #16224f;
  --es-lacivert-siyah:  #11193d;
  --es-kirmizi:         #E2231A;
  --es-kirmizi-koyu:    #b3160f;
  --es-turuncu:         #F47A20;
  --es-sari:            #F6B40E;

  /* metin */
  --es-murekkep:        #1A1A2E;
  --es-metin:           #2b3147;
  --es-metin-soluk:     #4b5267;
  --es-ozet:            #5b6377;
  --es-meta:            #8a90a3;

  /* yüzey */
  --es-zemin:           #F5F5F7;
  --es-kart:            #FFFFFF;
  --es-kenar:           #E6E6EC;
  --es-kenar-ic:        #F0F0F4;
  --es-gorsel-bos:      #e9e9ef;

  /* koyu zeminde metin */
  --es-ters:            #eef1ff;
  --es-ters-soluk:      #c7cef0;
  --es-ters-en-soluk:   #9aa4cf;
  --es-ters-dip:        #7e87b3;

  /* uyarı şeridi (erişilebilirlik paneli, boş sonuç) */
  --es-uyari-zemin:     #fff5e0;
  --es-uyari-kenar:     #f0d690;
  --es-uyari-metin:     #7a5a10;

  --es-basarili-zemin:  #e8f6ec;
  --es-basarili:        #1F8A5B;

  --es-golge-kart:      0 14px 30px rgba(15, 23, 55, .13);
  --es-golge-menu:      0 16px 40px rgba(15, 23, 55, .2);
  --es-golge-serit:     0 3px 14px rgba(15, 23, 55, .22);
  --es-golge-dugme:     0 6px 18px rgba(15, 23, 55, .16);

  /* Bootstrap ezmeleri */
  --bs-body-bg:            var(--es-zemin);
  --bs-body-color:         var(--es-murekkep);
  --bs-body-font-family:   'Source Sans 3', system-ui, -apple-system, sans-serif;
  --bs-body-font-size:     1.0625rem;   /* 17px */
  --bs-body-line-height:   1.6;
  --bs-border-color:       var(--es-kenar);
  --bs-link-color:         var(--es-kirmizi);
  --bs-link-hover-color:   var(--es-kirmizi-koyu);
  --bs-primary:            var(--es-lacivert);
  --bs-emphasis-color:     var(--es-murekkep);
}

/* Prototipin 1280px konteynerı Bootstrap'ın 1320'sinden dar */
.container, .container-lg, .container-xl, .container-xxl { max-width: 1280px; }
.container, [class*="container-"] { --bs-gutter-x: 2.75rem; }   /* 22px kenar boşluğu */

/* ————— taban ————— */

html { font-size: 100%; }                    /* erişilebilirlik aracı burayı ölçekler */
body { -webkit-font-smoothing: antialiased; }
img  { display: block; max-width: 100%; }
a    { text-decoration: none; }
::selection { background: var(--es-sari); color: var(--es-murekkep); }

.es-baslik { font-family: 'Figtree', system-ui, sans-serif; }

/* Bileşenlerin çoğu display kuruyor; hidden özniteliği onları ezmeli.
   Manşet slaytları bu kuralla gizleniyor. */
[hidden] { display: none !important; }

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--es-sari);
  outline-offset: 2px;
  border-radius: 3px;
}

/* İçeriğe geç — odaklanana dek görünmez, ekran okuyucuya açık */
.es-atla {
  position: absolute; left: -9999px; top: 0; z-index: 2000;
  background: var(--es-lacivert); color: #fff;
  padding: .75rem 1.125rem; font-weight: 700; border-radius: 0 0 8px 0;
}
.es-atla:focus { left: 0; }

@keyframes esFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.es-belir { animation: esFade .15s ease; }

/* ————— üst şerit ————— */

.es-ust-serit { background: var(--es-lacivert-koyu); color: #fff; font-size: .84375rem; }
.es-ust-serit .es-ayrac { width: 1px; height: 20px; background: rgba(255,255,255,.24); }

.es-uyelik-dugme {
  background: var(--es-kirmizi); color: #fff; border: 0;
  padding: .5rem .875rem; border-radius: 6px; font-weight: 700; font-size: .8125rem;
}
.es-uyelik-dugme:hover { background: var(--es-kirmizi-koyu); color: #fff; }

.es-ust-link { background: none; border: 0; color: #dfe4f5; font-weight: 600; font-size: .8125rem; padding: .25rem .125rem; }
.es-ust-link:hover { color: #fff; }

.es-erisim-dugme {
  background: var(--es-sari); color: var(--es-murekkep); border: 0;
  width: 34px; height: 34px; border-radius: 6px;
}
.es-sosyal {
  width: 30px; height: 30px; border-radius: 5px; color: #fff;
  background: rgba(255,255,255,.08);
  display: inline-flex; align-items: center; justify-content: center;
}
.es-sosyal:hover { background: rgba(255,255,255,.2); }

/* ————— erişilebilirlik paneli ————— */

.es-erisim-panel { background: var(--es-uyari-zemin); border-bottom: 1px solid var(--es-uyari-kenar); }
.es-erisim-panel button {
  height: 34px; border: 1px solid #d9b85a; background: #fff;
  border-radius: 6px; font-weight: 700; font-size: .8125rem; padding: 0 .75rem;
}
.es-erisim-panel .es-kare { width: 34px; padding: 0; font-weight: 800; }
.es-erisim-panel .es-tema-acik  { border-width: 2px; }
.es-erisim-panel .es-tema-koyu  { border: 2px solid var(--es-lacivert); background: var(--es-lacivert); color: #fff; }
.es-erisim-panel .es-tema-yuksek{ border: 2px solid #000; background: #000; color: #ffe600; font-weight: 800; }
.es-erisim-panel .es-kapat { border: 0; background: transparent; color: var(--es-lacivert); font-size: 1.125rem; font-weight: 800; }

/* Tüm tercihleri varsayılana döndürür. Aç/kapa değil tek seferlik bir eylem
   olduğu için aria-pressed almıyor, diğerlerinden ayrı dursun diye kırmızı. */
.es-erisim-panel .es-erisim-sifirla {
  display: inline-flex; align-items: center; gap: .375rem;
  border-color: var(--es-kirmizi); color: var(--es-kirmizi);
}
.es-erisim-panel .es-erisim-sifirla:hover { background: var(--es-kirmizi); color: #fff; }
.es-erisim-bilgi:not(:empty) { color: var(--es-basarili); font-weight: 700; }
.es-erisim-sifirla:hover .es-erisim-bilgi:not(:empty) { color: #fff; }

/* Açık durum. Tema düğmeleri kendi renklerini taşıdığı için kapsam dışı —
   "Açık tema" seçiliyken lacivert görünmesi anlamı tersine çevirirdi. */
.es-erisim-panel [data-aralik-dugme][aria-pressed="true"],
.es-erisim-panel [data-kilavuz-dugme][aria-pressed="true"],
.es-erisim-panel [data-hareket-dugme][aria-pressed="true"],
.es-erisim-panel [data-yazi-ailesi-dugme][aria-pressed="true"],
.es-erisim-panel [data-link-vurgu][aria-pressed="true"] {
  background: var(--es-lacivert); border-color: var(--es-lacivert); color: #fff;
}

/* ————— logo şeridi ————— */

.es-tepe { background: #fff; border-bottom: 1px solid var(--es-kenar); }
.es-logo-ad  { font-family: 'Figtree', sans-serif; font-weight: 900; font-size: 2.3125rem;
               letter-spacing: .01em; color: var(--es-lacivert); line-height: 1; white-space: nowrap; }
.es-logo-alt { font-size: .8125rem; font-weight: 600; color: var(--es-kirmizi); letter-spacing: .02em; }
.es-ortak-logo { border-right: 1px solid var(--es-kenar); padding-right: 1.125rem; }

.es-arama { border: 1.5px solid var(--es-kenar); border-radius: 8px; overflow: hidden; background: var(--es-zemin); }
.es-arama input  { border: 0; background: transparent; padding: .6875rem .875rem; width: 210px; min-width: 0; flex: 1 1 auto; }
.es-arama input:focus { outline: none; }
.es-arama button { border: 0; background: var(--es-lacivert); color: #fff; width: 44px; height: 44px; }

/* ————— ana menü ————— */

.es-menu { background: var(--es-lacivert); position: sticky; top: 0; z-index: 600; box-shadow: var(--es-golge-serit); }
.es-menu .navbar-nav { flex-wrap: wrap; }

.es-menu-baglanti {
  background: none; border: 0; border-bottom: 3px solid transparent;
  color: var(--es-ters); font-family: 'Figtree', sans-serif; font-weight: 600;
  font-size: .90625rem; padding: 1rem .8125rem; white-space: nowrap;
  display: inline-flex; align-items: center; gap: .25rem;
}
.es-menu-baglanti:hover,
.es-menu-oge:focus-within > .es-menu-baglanti,
.es-menu-oge.acik > .es-menu-baglanti {
  background: rgba(255,255,255,.08); border-bottom-color: var(--es-kirmizi); color: #fff;
}

.es-menu-oge { position: relative; }
.es-alt-menu {
  position: absolute; top: 100%; left: 0; min-width: 248px; z-index: 50;
  background: #fff; border: 1px solid var(--es-kenar); border-top: 3px solid var(--es-kirmizi);
  border-radius: 0 0 10px 10px; box-shadow: var(--es-golge-menu); padding: .5rem;
  display: none;
}
.es-menu-oge:hover > .es-alt-menu,
.es-menu-oge:focus-within > .es-alt-menu,
.es-menu-oge.acik > .es-alt-menu { display: block; animation: esFade .15s ease; }

.es-alt-menu a {
  display: block; color: var(--es-murekkep); font-size: .90625rem; font-weight: 500;
  padding: .625rem .75rem; border-radius: 6px;
}
.es-alt-menu a:hover { background: var(--es-zemin); color: var(--es-kirmizi); }

/* mobil menü — Bootstrap offcanvas */
.es-mobil-menu { background: var(--es-lacivert-koyu); }
.es-mobil-menu .accordion-item { background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.es-mobil-menu .accordion-button {
  background: transparent; color: #fff; font-family: 'Figtree', sans-serif;
  font-weight: 700; font-size: .9375rem; padding: .75rem 0; box-shadow: none;
}
.es-mobil-menu .accordion-button::after { filter: invert(1) brightness(2); }
.es-mobil-menu .accordion-body a { display: block; color: var(--es-ters-soluk); font-size: .875rem; padding: .4375rem 0 .4375rem 1rem; }
.es-mobil-menu .es-mobil-tek { display: block; color: #fff; font-family: 'Figtree', sans-serif; font-weight: 700; font-size: .9375rem; padding: .75rem 0; }

/* ————— bölüm başlığı ————— */

.es-bolum-basligi {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem;
  border-bottom: 2px solid var(--es-kenar); padding-bottom: .75rem; margin-bottom: 1.5rem;
}
.es-bolum-basligi h2 {
  margin: 0; font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.625rem;
  color: var(--es-lacivert); display: flex; align-items: center; gap: .6875rem;
}
.es-bolum-basligi h2::before {
  content: ""; width: 6px; height: 26px; border-radius: 3px;
  background: var(--es-cubuk, var(--es-kirmizi)); flex: none;
}
.es-bolum-basligi--kucuk h2 { font-size: 1.375rem; gap: .625rem; }
.es-bolum-basligi--kucuk h2::before { height: 22px; }
.es-tumu { color: var(--es-kirmizi); font-weight: 700; font-size: .90625rem; white-space: nowrap; }

/* ————— manşet ————— */

.es-manset { background: var(--es-lacivert-siyah); }
.es-manset-buyuk, .es-manset-yan {
  position: relative; display: block; border-radius: 14px; overflow: hidden; background: #000;
}
.es-manset-buyuk { min-height: 430px; height: 100%; }
.es-manset-yan   { border-radius: 11px; flex: 1; min-height: 96px; }
.es-manset .row  { min-height: 430px; }

.es-manset-buyuk img, .es-manset-yan img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.es-manset-buyuk img { opacity: .82; }
.es-manset-yan img   { opacity: .62; }

.es-manset-buyuk::after, .es-manset-yan::after {
  content: ""; position: absolute; inset: 0;
}
.es-manset-buyuk::after { background: linear-gradient(180deg, rgba(10,15,40,.05) 30%, rgba(10,15,40,.92) 100%); }
.es-manset-yan::after   { background: linear-gradient(180deg, rgba(10,15,40,.1), rgba(10,15,40,.88)); }

.es-manset-yazi { position: absolute; left: 1.625rem; right: 1.625rem; bottom: 1.5rem; z-index: 2; }
.es-manset-yazi .es-manset-ad {
  display: block; color: #fff; font-family: 'Figtree', sans-serif; font-weight: 800;
  font-size: 1.875rem; line-height: 1.18; margin: .875rem 0 0;
  text-shadow: 0 2px 18px rgba(0,0,0,.4);
}
.es-manset-yazi time { display: block; color: #d7ddf3; font-size: .875rem; margin-top: .625rem; }
.es-manset-yan-yazi {
  position: absolute; left: .875rem; right: .875rem; bottom: .75rem; z-index: 2;
  color: #fff; font-family: 'Figtree', sans-serif; font-weight: 700; font-size: .90625rem; line-height: 1.25;
}

.es-nokta { width: 34px; height: 5px; border: 0; border-radius: 3px; background: rgba(255,255,255,.35); padding: 0; }
.es-nokta[aria-current="true"] { background: var(--es-kirmizi); }

/* ————— rozet ————— */

.es-rozet {
  display: inline-block; background: var(--es-kirmizi); color: #fff;
  font-family: 'Figtree', sans-serif; font-weight: 700; font-size: .71875rem;
  letter-spacing: .04em; text-transform: uppercase;
  padding: .3125rem .5625rem; border-radius: 4px;
  /* prototipte iki kelimelik kategori rozeti taşıyordu */
  max-width: calc(100% - 1.5rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.es-rozet--buyuk   { font-size: .78125rem; letter-spacing: .05em; padding: .375rem .6875rem; border-radius: 5px; }
.es-rozet--turuncu { background: var(--es-turuncu); font-size: .6875rem; }
.es-rozet--lacivert{ background: var(--es-lacivert); font-size: .75rem; letter-spacing: .06em; padding: .375rem .75rem; border-radius: 5px; }

/* ————— kart ızgarası —————
   Prototipteki repeat(auto-fill, minmax(290px, 1fr)) + 22px boşluk.
   Bootstrap'ın row-cols'u sabit sütun sayısı verir; burada kart genişliği
   sabit kalıp sütun sayısı kapsayıcıya göre değişiyor — 1280px'te 4 sütun. */
.es-izgara {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 1.375rem;
}
.es-izgara--dar { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.es-izgara--genis { grid-template-columns: repeat(auto-fill, minmax(20.625rem, 1fr)); gap: 1.125rem; }
.es-izgara--kisi  { grid-template-columns: repeat(auto-fill, minmax(15.25rem, 1fr)); gap: 1.375rem; }
.es-izgara--donem { grid-template-columns: repeat(auto-fill, minmax(16.25rem, 1fr)); gap: .625rem 1.375rem; margin-top: .875rem; }

/* Kapsayıcı daraltmaları — okunabilirlik için. Şablonda inline yazılmaz. */
.es-kap--orta { max-width: 71.25rem; }
.es-kap--dar { max-width: 52.5rem; }
.es-olcu { max-width: 60ch; }

/* İstemcide filtrelenen listelerde (şube, yayın) hiçbir öge kalmazsa. */
.es-bos-sonuc {
  margin: 2.5rem 0; text-align: center;
  color: var(--es-meta); font-weight: 600;
}

/* ————— haber kartı ————— */

/* position: relative ZORUNLU. Bootstrap'ın .stretched-link'i ::after ile
   "en yakın konumlandırılmış ata"yı kaplar; kart konumlandırılmazsa katman
   sayfanın tamamına yayılır — imleç her yerde el olur ve fare gezinirken
   durum çubuğundaki bağlantı sürekli değişir. */
.es-kart {
  position: relative;
  display: flex; flex-direction: column; height: 100%;
  background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 12px;
  overflow: hidden; transition: transform .15s ease, box-shadow .15s ease;
}
.es-kart:hover { transform: translateY(-3px); box-shadow: var(--es-golge-kart); }
/* Oran burada kurulur. Prototipte inline aspect-ratio vardı; şablona
   Bootstrap'ın .ratio sınıfı konursa ".ratio > *" rozeti de kutuya
   gerdiği için görselin üstünü kaplayan dev bir renk bloğu oluşuyor. */
.es-kart-gorsel { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--es-gorsel-bos); }
/* <picture> satır içi bir öge; blok yapılmazsa img'nin height:100%'ü dayanacak
   yükseklik bulamıyor. */
.es-kart-gorsel picture { display: block; width: 100%; height: 100%; }
.es-kart-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.es-kart-gorsel > .es-rozet { position: absolute; left: .75rem; top: .75rem; z-index: 2; }
.es-kart-govde { display: flex; flex-direction: column; gap: .5625rem; padding: 1rem 1rem 1.125rem; flex: 1; }
.es-kart-baslik {
  font-family: 'Figtree', sans-serif; font-weight: 700; font-size: 1.09375rem;
  line-height: 1.32; color: var(--es-lacivert-koyu); margin: 0;
}
.es-kart-ozet { font-size: .90625rem; line-height: 1.5; color: var(--es-ozet); margin: 0; }
.es-kart-tarih { margin-top: auto; font-size: .8125rem; color: var(--es-meta); font-weight: 600; }

/* yatay küçük kart (basın açıklamaları) */
.es-kart-yatay {
  position: relative;
  display: flex; gap: .875rem; align-items: center;
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 10px; padding: .75rem; margin-bottom: .625rem;
}
.es-kart-yatay:hover { border-color: var(--es-lacivert); }
.es-kart-yatay img { width: 78px; height: 62px; object-fit: cover; border-radius: 7px; flex: none; }
.es-kart-yatay .es-kart-baslik { font-size: .96875rem; line-height: 1.3; }
.es-kart-yatay .es-kart-tarih  { margin-top: .3125rem; font-size: .78125rem; }

/* çizgili mini kart (tematik bloklar) */
.es-kart-mini { display: flex; gap: .75rem; border-bottom: 1px solid var(--es-kenar); padding-bottom: .875rem; }
.es-kart-mini img { width: 66px; height: 54px; object-fit: cover; border-radius: 7px; flex: none; }
.es-kart-mini span {
  font-family: 'Figtree', sans-serif; font-weight: 600; font-size: .90625rem;
  line-height: 1.32; color: var(--es-lacivert-koyu);
}

/* video kartı */
.es-video-ort { position: relative; display: block; aspect-ratio: 16 / 9; background: #000; }
.es-video-ort picture { display: block; width: 100%; height: 100%; }
.es-video-ort img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.es-oynat {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
}
.es-oynat span {
  width: 46px; height: 46px; border-radius: 50%; background: rgba(226,35,26,.92);
  display: flex; align-items: center; justify-content: center;
}
.es-video-kart:hover { border-color: var(--es-kirmizi); }

/* tematik blok başlığı */
.es-tematik-baslik {
  display: inline-block; margin: 0 0 1rem; padding: .5rem 1rem; border-radius: 7px;
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.125rem; color: #fff;
}

/* ————— yayın şeridi ————— */

.es-serit-sar { position: relative; }
.es-serit {
  display: flex; gap: 1.25rem; overflow-x: auto;
  scroll-snap-type: x mandatory; padding: .25rem .125rem .875rem;
  scrollbar-width: thin; scrollbar-color: #cfd3e0 transparent;
}
.es-serit::-webkit-scrollbar { height: 7px; }
.es-serit::-webkit-scrollbar-thumb { background: #cfd3e0; border-radius: 4px; }
.es-serit::-webkit-scrollbar-track { background: transparent; }
.es-serit > * { flex: none; width: 212px; scroll-snap-align: start; }

.es-serit-dugme {
  position: absolute; top: 38%; z-index: 5; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--es-kenar); background: #fff; box-shadow: var(--es-golge-dugme);
  display: flex; align-items: center; justify-content: center;
}
.es-serit-dugme--sol { left: -8px; }
.es-serit-dugme--sag { right: -8px; }

.es-yayin-kart { position: relative; display: flex; flex-direction: column; background: var(--es-kart);
                 border: 1px solid var(--es-kenar); border-radius: 12px; overflow: hidden; height: 100%; }
.es-yayin-kart .es-kart-baslik { font-size: .90625rem; }

/* ————— hukuk belgesi satırı —————
   Karar, dava, mevzuat, TİS. Kart değil satır: bu içerikte görsel yok,
   önemli olan başlık + numara + tarih ve indirme bağlantısı. */

.es-belge-satir {
  display: flex; gap: 1.25rem; align-items: center; justify-content: space-between;
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 12px; padding: 1.125rem 1.25rem;
}
.es-belge-govde { min-width: 0; }
.es-belge-ad {
  font-family: 'Figtree', sans-serif; font-weight: 700; font-size: 1.0625rem;
  color: var(--es-lacivert-koyu); text-decoration: none; line-height: 1.35;
}
.es-belge-ad:hover { color: var(--es-kirmizi); }
.es-belge-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  font-size: .84375rem; color: var(--es-meta); margin: .5rem 0 0;
}
.es-belge-ozet { font-size: .9375rem; margin: .5rem 0 0; }
/* Düğmeler daralınca alt alta binmesin. */
.es-belge-eylem { display: flex; gap: .5rem; flex-shrink: 0; }

@media (max-width: 575.98px) {
  .es-belge-satir { flex-direction: column; align-items: stretch; }
}

/* ————— hakkımızda + çağrı ————— */

/* Tanıtım + çağrı ikilisi. Prototipte 1.3fr / 1fr, 30px boşluk.
   Bootstrap'ın 7/5 sütunu 1.4:1 verir — bu oran birebir değil. */
.es-ikili {
  display: grid; grid-template-columns: 1.3fr 1fr;
  gap: 1.875rem; align-items: stretch;
  margin-block: 3.25rem;
}

.es-tanit { background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 16px; padding: 2.125rem;
            display: flex; flex-direction: column; justify-content: center; }
.es-tanit h2 { font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.625rem; line-height: 1.25; color: var(--es-lacivert); margin: 1rem 0 .75rem; }
.es-tanit p  { color: var(--es-metin-soluk); font-size: 1.03125rem; line-height: 1.65; margin: 0; }
.es-cerceve-dugme {
  background: none; border: 2px solid var(--es-lacivert); color: var(--es-lacivert);
  font-family: 'Figtree', sans-serif; font-weight: 700; font-size: .9375rem;
  padding: .6875rem 1.25rem; border-radius: 8px;
}
.es-cerceve-dugme:hover { background: var(--es-lacivert); color: #fff; }

.es-cagri { background: linear-gradient(135deg, var(--es-kirmizi), var(--es-kirmizi-koyu));
            border-radius: 16px; padding: 2.125rem; color: #fff;
            display: flex; flex-direction: column; justify-content: center; }
.es-cagri h2 { font-family: 'Figtree', sans-serif; font-weight: 900; font-size: 1.6875rem; line-height: 1.2; margin: 0 0 .625rem; }
.es-cagri p  { font-size: 1.03125rem; line-height: 1.6; color: #ffe1de; margin: 0 0 1.375rem; }
.es-sari-dugme {
  background: var(--es-sari); color: var(--es-murekkep); border: 0;
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1rem;
  padding: .875rem 1.625rem; border-radius: 9px;
}
.es-sari-dugme:hover { background: #e0a30b; color: var(--es-murekkep); }

/* ————— bülten ————— */

.es-bulten { background: var(--es-lacivert-siyah); }
.es-bulten h2 { color: #fff; font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.4375rem; margin: 0; }
.es-bulten p  { color: #b9c1e6; font-size: .96875rem; margin: .375rem 0 0; }
.es-bulten input { border: 0; border-radius: 9px; padding: .875rem 1rem; width: 280px; max-width: 100%; }
.es-kirmizi-dugme {
  background: var(--es-kirmizi); color: #fff; border: 0; border-radius: 9px;
  padding: .875rem 1.625rem; font-family: 'Figtree', sans-serif; font-weight: 800; font-size: .9375rem;
}
.es-kirmizi-dugme:hover { background: var(--es-kirmizi-koyu); color: #fff; }

/* ————— alt bilgi ————— */

.es-alt { background: var(--es-lacivert-siyah); color: var(--es-ters-soluk); }
.es-alt h4 { font-family: 'Figtree', sans-serif; font-weight: 800; font-size: .9375rem; color: #fff; margin: 0 0 .875rem; }
.es-alt a, .es-alt p { color: var(--es-ters-en-soluk); font-size: .90625rem; }
.es-alt a:hover { color: #fff; }
.es-alt-logo { font-family: 'Figtree', sans-serif; font-weight: 900; font-size: 1.3125rem; color: #fff; line-height: 1.1; }
.es-alt-sosyal { width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,.08); color: #fff;
                 display: inline-flex; align-items: center; justify-content: center; }
.es-alt-sosyal:hover { background: rgba(255,255,255,.2); }
.es-alt-plaka { display: inline-flex; align-items: center; justify-content: center;
                height: 54px; padding: .5rem .75rem; background: #fff; border-radius: 9px; }
.es-alt-dip { border-top: 1px solid rgba(255,255,255,.1); font-size: .8125rem; color: var(--es-ters-dip); }
.es-alt-dip a { color: var(--es-ters-dip); font-size: .8125rem; }

/* ————— erişilebilirlik tercihleri ————— */

[data-links="on"] a,
[data-links="on"] [data-cardlink] { text-decoration: underline; text-underline-offset: 3px; }

[data-theme="dark"][data-surf="page"] { background: #0a0f24 !important; color: #e8eaf2 !important; }
[data-theme="dark"] [data-surf="card"]  { background: #131a37 !important; border-color: #28325e !important; }
[data-theme="dark"] [data-surf="alt"]   { background: #0e1530 !important; }
[data-theme="dark"] [data-surf="white"] { background: #0e1530 !important; }
[data-theme="dark"] [data-ink]          { color: #eef0fa !important; }
[data-theme="dark"] [data-muted]        { color: #9aa4cf !important; }

/* ————— erişilebilirlik: harf/satır aralığı, hareket, yazı ailesi ————— */

/* Aralık kademeleri gövdeye takılır; başlıklar ve düğmeler de etkilenir
   ki satır yoğunluğu her yerde aynı olsun. em kullanılıyor — px yazılırsa
   yazı boyutu ölçeğiyle birlikte büyümez. */
[data-aralik="orta"] { letter-spacing: .04em; word-spacing: .1em; line-height: 1.8; }
[data-aralik="genis"] { letter-spacing: .09em; word-spacing: .2em; line-height: 2.05; }
[data-aralik="orta"] p, [data-aralik="orta"] li,
[data-aralik="genis"] p, [data-aralik="genis"] li { line-height: inherit; }

[data-yazi-ailesi="disleksi"],
[data-yazi-ailesi="disleksi"] .es-baslik,
[data-yazi-ailesi="disleksi"] h1, [data-yazi-ailesi="disleksi"] h2,
[data-yazi-ailesi="disleksi"] h3, [data-yazi-ailesi="disleksi"] h4,
[data-yazi-ailesi="disleksi"] button, [data-yazi-ailesi="disleksi"] input,
[data-yazi-ailesi="disleksi"] select, [data-yazi-ailesi="disleksi"] textarea {
  font-family: 'OpenDyslexic', 'Source Sans 3', sans-serif !important;
}

/* Hareketi durdurma: prefers-reduced-motion'ın elle açılan karşılığı.
   Manşetin otomatik dönmesi de site.js'te bu bayrağa bakıyor. */
[data-hareket="kapali"] *,
[data-hareket="kapali"] *::before,
[data-hareket="kapali"] *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
  scroll-behavior: auto !important;
}

/* Okuma kılavuzu — imleci takip eden yatay şerit.
   pointer-events:none şart, yoksa altındaki bağlantılar tıklanamaz. */
.es-kilavuz {
  position: fixed; left: 0; right: 0; height: 2.5rem; z-index: 1090;
  pointer-events: none; border-top: 2px solid var(--es-kirmizi);
  border-bottom: 2px solid var(--es-kirmizi);
  background: rgba(226, 35, 26, .07);
}
[data-theme="dark"] .es-kilavuz { background: rgba(246, 180, 14, .1); border-color: var(--es-sari); }
[data-theme="high"] .es-kilavuz { background: transparent; border-color: #ffe600; border-width: 3px; }

/* Form denetimleri data-surf almıyor (yüzey değil, giriş alanı); tema
   geçişinde beyaz kalmasınlar diye ayrıca ezilmeleri gerekiyor. */
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea,
[data-theme="dark"] .es-arac-ara {
  background: #0e1530 !important; border-color: #28325e !important; color: #eef0fa !important;
}
[data-theme="dark"] ::placeholder { color: #7e87b3 !important; }

[data-theme="high"][data-surf="page"] { background: #000 !important; color: #fff !important; }
[data-theme="high"] [data-surf="card"]  { background: #000 !important; border: 2px solid #fff !important; }
[data-theme="high"] [data-surf="alt"],
[data-theme="high"] [data-surf="white"] { background: #000 !important; }
[data-theme="high"] [data-ink]          { color: #fff !important; }
[data-theme="high"] [data-muted]        { color: #ffe600 !important; }
[data-theme="high"] [data-badge]        { background: #ffe600 !important; color: #000 !important; }
[data-theme="high"] a,
[data-theme="high"] [data-cardlink]     { color: #ffe600 !important; }
[data-theme="high"] input, [data-theme="high"] select, [data-theme="high"] textarea,
[data-theme="high"] .es-arac-ara {
  background: #000 !important; border: 2px solid #fff !important; color: #fff !important;
}
[data-theme="high"] ::placeholder { color: #fff !important; }

/* ————— kırılımlar ————— */

@media (max-width: 991.98px) {
  .es-logo-ad { font-size: 1.75rem; }
  .es-manset-buyuk { min-height: 300px; }
  .es-manset-yazi .es-manset-ad { font-size: 1.375rem; margin-top: .625rem; }
  .es-manset-yazi { left: 1rem; right: 1rem; bottom: 1rem; }
  .es-bolum-basligi h2 { font-size: 1.375rem; }
  .es-tanit, .es-cagri { padding: 1.5rem; }
  .es-ikili { grid-template-columns: 1fr; gap: 1.25rem; margin-block: 2.25rem; }
}

@media (max-width: 575.98px) {
  .es-logo-ad  { font-size: 1.375rem; }
  .es-logo-alt { font-size: .6875rem; }
  .es-arama input { width: 100%; }
  .es-manset-buyuk { min-height: 280px; }
  .es-manset-yazi .es-manset-ad { font-size: 1.1875rem; }
  /* Uzun başlık kartın üstünü aşıp rozeti örtmesin */
  .es-manset-yazi .es-manset-ad {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  }
  .es-bolum-basligi { flex-wrap: wrap; gap: .5rem; }
}

/* Manşetin yan kartları mobilde yatay şeride döner ki üç kart
   ekranın tamamını kaplayıp manşeti aşağı itmesin. */
@media (max-width: 991.98px) {
  .es-manset-yan-liste {
    flex-direction: row !important;
    overflow-x: auto; scroll-snap-type: x mandatory;
    padding-bottom: .5rem;
  }
  .es-manset-yan-liste > * { flex: none; width: 68%; scroll-snap-align: start; min-height: 120px; }
}

/* ————— sayfa başı şeridi ————— */

.es-sayfa-basi { background: var(--es-lacivert-koyu); color: #fff; }
.es-sayfa-basi-ad { font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 2rem; margin: 0; color: #fff; }
.es-sayfa-basi-ozet { color: #c7cef0; font-size: .96875rem; margin: .5rem 0 0; max-width: 60ch; }

.es-yol { font-size: .84375rem; color: var(--es-meta); }
.es-yol a { color: inherit; }
.es-yol a:hover { color: var(--es-kirmizi); }
.es-sayfa-basi .es-yol, .es-sayfa-basi .es-yol a { color: #aeb7e0; }
.es-sayfa-basi .es-yol a:hover { color: #fff; }

/* ————— arşiv yan paneli ————— */

.es-yan-kutu {
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 12px; padding: 1.25rem; margin-bottom: 1.5rem;
}
.es-yan-kutu h2 {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.0625rem;
  color: var(--es-lacivert); margin: 0 0 .875rem;
}

.es-populer { list-style: none; margin: 0; padding: 0; counter-reset: sira; }
.es-populer li { display: flex; gap: .625rem; align-items: flex-start; padding: .5rem 0; }
.es-populer li span {
  flex: none; width: 26px; height: 26px; border-radius: 6px;
  background: var(--es-sari); color: var(--es-murekkep);
  font-family: 'Figtree', sans-serif; font-weight: 900; font-size: .875rem;
  display: flex; align-items: center; justify-content: center;
}
.es-populer li a { font-size: .875rem; font-weight: 600; line-height: 1.35; color: var(--es-lacivert-koyu); }
.es-populer li a:hover { color: var(--es-kirmizi); }

.es-kategori-liste { list-style: none; margin: 0; padding: 0; }
.es-kategori-liste a {
  display: flex; justify-content: space-between; gap: .5rem; align-items: center;
  padding: .5rem 0; border-bottom: 1px solid var(--es-kenar-ic);
  font-size: .90625rem; font-weight: 600; color: var(--es-metin);
}
.es-kategori-liste a:hover { color: var(--es-kirmizi); }
.es-kategori-liste a[aria-current] { color: var(--es-kirmizi); }
.es-kategori-liste span {
  flex: none; background: var(--es-zemin); border-radius: 20px; padding: .125rem .5625rem;
  font-size: .78125rem; font-weight: 700; color: var(--es-meta);
}

/* alt kategori süzgeci */
.es-suzgec { display: flex; flex-wrap: wrap; gap: .5rem; }
.es-suzgec a {
  display: inline-flex; align-items: center; gap: .375rem;
  background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 20px;
  padding: .375rem .875rem; font-size: .875rem; font-weight: 600; color: var(--es-metin);
}
.es-suzgec a:hover { border-color: var(--es-lacivert); color: var(--es-lacivert); }
.es-suzgec a span { color: var(--es-meta); font-size: .78125rem; }

.es-uyari-serit {
  background: var(--es-uyari-zemin); border: 1px solid var(--es-uyari-kenar);
  border-radius: 10px; padding: .875rem 1.125rem; color: var(--es-uyari-metin);
}

/* ————— sayfalama ————— */

.es-sayfalama { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: 2.125rem; }
.es-sayfalama a, .es-sayfalama span {
  min-width: 42px; height: 42px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Figtree', sans-serif; font-weight: 700; font-size: .9375rem;
  background: var(--es-kart); border: 1px solid var(--es-kenar); color: var(--es-metin);
  padding: 0 .625rem;
}
.es-sayfalama a:hover { border-color: var(--es-lacivert); color: var(--es-lacivert); }
.es-sayfalama [aria-current] { background: var(--es-lacivert); border-color: var(--es-lacivert); color: #fff; }
.es-sayfalama-bosluk { background: none !important; border: 0 !important; min-width: auto; }

/* ————— yazı ————— */

.es-yazi .container { max-width: 820px; }
.es-yazi-tepe { padding: .5rem 0 0; }
.es-yazi-tepe h1 {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 2.125rem;
  line-height: 1.2; color: var(--es-lacivert-koyu); margin: .875rem 0 0;
}
.es-yazi-meta {
  font-size: .90625rem; color: var(--es-meta); margin: .875rem 0 1.375rem;
  padding-bottom: 1.125rem; border-bottom: 1px solid var(--es-kenar);
}
/* height: auto ŞART. Yalnızca width verilirse HTML'deki height özniteliği
   sunum ipucu olarak geçerli kalır ve görsel o yüksekliğe gerilir.

   max-height KIRPMAZ: dikey bir kapak 820px genişlikte 1200px'i geçip
   sayfayı tek başına dolduruyordu. Yükseklik sınırına takılan görsel
   oranını koruyarak küçülüyor ve ortalanıyor — portre fotoğrafı sabit
   yükseklikli bir kutuya germe kuralı burada da geçerli. */
.es-yazi-gorsel-kap { display: block; }
.es-yazi-gorsel {
  display: block; width: auto; height: auto;
  max-width: 100%; max-height: 30rem;
  margin: 0 auto 1.625rem; border-radius: 14px;
}
.es-yazi-giris { font-size: 1.25rem; line-height: 1.6; font-weight: 600; color: var(--es-metin); }

.es-metin { font-size: 1.125rem; line-height: 1.75; color: var(--es-metin); }
.es-metin p { margin: 0 0 1.125rem; }
/* Gövdedeki görseller editörden geliyor; ölçüsü denetlenmiyor.
   Kapakla aynı sınır konuyor, aksi halde tek bir görsel ekranı doldurur. */
.es-metin img {
  display: block; max-width: 100%; max-height: 30rem; height: auto;
  margin: 1rem auto; border-radius: 10px;
}
.es-metin a { color: var(--es-kirmizi); text-decoration: underline; text-underline-offset: 3px; }
.es-metin h2, .es-metin h3 {
  font-family: 'Figtree', sans-serif; font-weight: 800; color: var(--es-lacivert);
  margin: 2rem 0 .75rem; line-height: 1.3;
}
.es-metin h2 { font-size: 1.4375rem; }
.es-metin h3 { font-size: 1.1875rem; }
.es-metin ul, .es-metin ol { margin: 0 0 1.125rem 1.25rem; }
.es-metin li { margin-bottom: .375rem; }
.es-metin blockquote {
  border-left: 4px solid var(--es-kirmizi); margin: 1.5rem 0; padding: .25rem 0 .25rem 1.125rem;
  color: var(--es-metin-soluk); font-style: italic;
}
.es-metin table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: .96875rem; }
.es-metin th, .es-metin td { border: 1px solid var(--es-kenar); padding: .5rem .75rem; text-align: left; }

.es-paylas {
  display: flex; align-items: center; gap: .625rem;
  border-top: 1px solid var(--es-kenar); padding-top: 1.375rem; margin-top: 1.5rem;
}
.es-paylas a {
  width: 40px; height: 40px; border-radius: 8px; background: var(--es-lacivert-koyu); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
}
.es-paylas a:hover { background: var(--es-kirmizi); }

.es-komsu { display: flex; gap: .875rem; margin: 1.5rem 0 2.5rem; }
.es-komsu a, .es-komsu > span { flex: 1; }
.es-komsu a {
  display: block; background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 10px; padding: .875rem 1rem;
}
.es-komsu a:hover { border-color: var(--es-lacivert); }
.es-komsu span { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .05em; color: var(--es-meta); }
.es-komsu strong {
  display: block; margin-top: .25rem; font-size: .90625rem; font-weight: 700;
  color: var(--es-lacivert-koyu); line-height: 1.35;
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}

.es-ilgili { background: var(--es-kart); border-top: 1px solid var(--es-kenar); }
.es-ilgili-baslik {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.3125rem;
  color: var(--es-lacivert); margin: 0 0 1.25rem;
}

/* ————— galeri + lightbox ————— */

.es-galeri { border-top: 1px solid var(--es-kenar); padding-top: 1.75rem; margin-top: 1.75rem; }
.es-galeri-baslik {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.25rem;
  color: var(--es-lacivert); margin: 0 0 1rem;
}
/* Satır başına 4 küçük görsel. `.es-izgara--dar` kullanılmıyordu:
   o ızgara 240px'lik kartlar için ve 820px'lik yazı kabında 3 sütun
   veriyordu. Dar ekranda 3 → 2'ye iniyor. */
.es-galeri-izgara {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem;
}

/* aspect-ratio ŞART: yoksa yükseklik görselin kendi oranından gelir ve
   dikey çekilmiş bir fotoğraf ızgarada tek başına uzayıp diziyi bozar.
   Küçük görselde kırpmak doğrudur — hepsi aynı orana giriyor; kırpılmamış
   hali lightbox'ta zaten görülüyor. */
.es-galeri-oge {
  display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0;
  border: 1px solid var(--es-kenar);
  border-radius: 10px; overflow: hidden; background: var(--es-gorsel-bos); cursor: zoom-in;
}
/* picture satır içi bir ögedir; block olmazsa img'nin height:100%'ü
   dayanacak yükseklik bulamaz (md. 27). */
.es-galeri-oge picture { display: block; width: 100%; height: 100%; }
.es-galeri-oge img { width: 100%; height: 100%; object-fit: cover; }
.es-galeri-oge:hover { border-color: var(--es-lacivert); }

.es-lightbox {
  position: fixed; inset: 0; z-index: 1500; background: rgba(10, 15, 40, .94);
  display: flex; align-items: center; justify-content: center; padding: 3.5rem 1rem;
}
.es-lightbox-ic { margin: 0; max-width: 100%; max-height: 100%; text-align: center; }
.es-lightbox-ic img { max-width: 100%; max-height: 78vh; width: auto; margin: 0 auto; border-radius: 8px; }
.es-lightbox-ic figcaption { color: #d7ddf3; font-size: .90625rem; margin-top: .75rem; }
.es-lightbox-kapat, .es-lightbox-yon {
  position: absolute; background: rgba(255, 255, 255, .1); border: 0; color: #fff;
  width: 48px; height: 48px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.es-lightbox-kapat { top: 1rem; right: 1rem; font-size: 1.75rem; line-height: 1; }
.es-lightbox-yon--sol { left: 1rem; top: 50%; transform: translateY(-50%); }
.es-lightbox-yon--sag { right: 1rem; top: 50%; transform: translateY(-50%); }
.es-lightbox-kapat:hover, .es-lightbox-yon:hover { background: rgba(255, 255, 255, .22); }
.es-lightbox-sayac { position: absolute; bottom: 1.25rem; left: 50%; transform: translateX(-50%); color: #9aa4cf; font-size: .84375rem; }

/* ————— araç şeridi (şube ve yayın süzgeçleri) ————— */

.es-arac-serit {
  display: flex; flex-wrap: wrap; gap: .875rem; align-items: center;
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 12px; padding: 1rem 1.125rem;
}
.es-arac-ara {
  display: flex; align-items: center; gap: .625rem; flex: 1 1 15rem;
  border: 1.5px solid var(--es-kenar); border-radius: 8px;
  padding: 0 .75rem; background: var(--es-zemin); color: var(--es-meta);
}
.es-arac-ara input {
  border: 0; background: transparent; padding: .75rem 0; flex: 1;
  outline: none; color: var(--es-metin); min-width: 0;
}
.es-arac-serit select {
  border: 1.5px solid var(--es-kenar); border-radius: 8px; padding: .75rem .875rem;
  background: var(--es-kart); color: var(--es-metin); font-weight: 600; min-width: 10.625rem;
}
.es-arac-sayi { font-size: .875rem; color: var(--es-meta); font-weight: 700; }

/* ————— şube kartı ————— */

.es-sube-kart {
  height: 100%; background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-left: 4px solid var(--es-kirmizi); border-radius: 12px; padding: 1.25rem;
}
.es-sube-kart h2 {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.09375rem;
  color: var(--es-lacivert); margin: 0 0 .875rem;
}
.es-sube-satir { display: flex; gap: .625rem; align-items: flex-start; margin-bottom: .6875rem; }
.es-sube-satir:last-child { margin-bottom: 0; }
.es-sube-satir svg { flex: none; margin-top: .1875rem; }
.es-sube-satir--yer svg { color: var(--es-turuncu); }
.es-sube-satir--iletisim svg { color: var(--es-lacivert); }
.es-sube-adres { font-size: .8625rem; line-height: 1.5; color: var(--es-metin-soluk); }
.es-sube-kart a { font-weight: 600; word-break: break-all; }

/* ————— kurul ————— */

.es-kisi-genis {
  display: grid; grid-template-columns: 230px 1fr;
  width: 100%; text-align: left; background: var(--es-kart);
  border: 1px solid var(--es-kenar); border-radius: 16px; overflow: hidden;
  padding: 0; margin-bottom: 1.5rem;
}
.es-kisi-genis:hover { box-shadow: 0 16px 36px rgba(15, 23, 55, .14); }
.es-kisi-genis > span:first-child { position: relative; display: block; background: var(--es-gorsel-bos); min-height: 280px; }
.es-kisi-genis img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.es-kisi-genis-govde { display: flex; flex-direction: column; padding: 1.75rem; }
.es-kisi-genis-ad { font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.625rem; color: var(--es-lacivert-koyu); margin: .875rem 0 .75rem; }
.es-kisi-genis-ozet { font-size: .96875rem; line-height: 1.65; color: var(--es-ozet); }

.es-kisi-kart {
  display: flex; flex-direction: column; height: 100%; text-align: left;
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 14px; overflow: hidden; padding: 0;
}
.es-kisi-kart:hover { transform: translateY(-3px); box-shadow: var(--es-golge-kart); }
/* Özgeçmişi olmayan üye: kart tıklanamaz, o yüzden hover tepkisi de yok. */
.es-kisi--sabit { cursor: default; }
.es-kisi--sabit:hover { transform: none; box-shadow: none; }
/* Oran burada kuruluyor — Bootstrap .ratio kullanılmaz, rozeti de gererdi. */
.es-kisi-kart > span:first-child { position: relative; display: block; aspect-ratio: 3/4; background: var(--es-gorsel-bos); }
.es-kisi-kart img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
/* Fotoğrafsız üye: ad-soyad baş harfleri. */
.es-kisi-bossuz {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 3rem;
  color: var(--es-ters-en-soluk); background: var(--es-lacivert);
}
.es-kisi-govde { display: flex; flex-direction: column; gap: .5625rem; padding: 1rem; flex: 1; }
.es-kisi-ad { font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.125rem; color: var(--es-lacivert-koyu); }
.es-kisi-ozet { font-size: .84375rem; line-height: 1.5; color: var(--es-ozet); }
.es-kisi-devam { margin-top: auto; color: var(--es-kirmizi); font-weight: 700; font-size: .8125rem; }

.es-gorev-rozet {
  display: inline-flex; align-self: flex-start; background: var(--es-lacivert);
  color: #fff; font-size: .71875rem; font-weight: 700;
  padding: .25rem .625rem; border-radius: 20px; line-height: 1.3;
}
.es-gorev-rozet--one {
  background: var(--es-kirmizi); font-family: 'Figtree', sans-serif; font-size: .75rem;
  letter-spacing: .05em; text-transform: uppercase; padding: .375rem .75rem; border-radius: 5px;
}

/* metin tipi kurul: ad + şube satırları */
.es-kisi-liste { background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 14px; overflow: hidden; }
.es-kisi-satir {
  display: flex; align-items: center; gap: 1rem; width: 100%;
  padding: 1rem 1.25rem; border: 0; border-bottom: 1px solid var(--es-kenar-ic);
  background: none; text-align: left;
}
.es-kisi-satir:last-child { border-bottom: 0; }
/* Yalnızca özgeçmişi olan satır tıklanabilir görünür. */
.es-kisi-satir--acilir { cursor: pointer; transition: background .15s; }
.es-kisi-satir--acilir:hover { background: var(--es-zemin); }
.es-kisi-satir--acilir:hover .es-kisi-devam { text-decoration: underline; }
.es-bashar {
  flex: none; width: 46px; height: 46px; border-radius: 50%; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1rem;
}
/* Denetleme ve disiplin kurullarında yuvarlak avatar KULLANILMIYOR;
   fotoğraf girildiğinde yuvarlak çerçeve yüzü kesiyordu. Kare-yuvarlatılmış
   blok hem baş harflerde hem fotoğrafta aynı ölçüyü tutuyor. */
.es-bashar { border-radius: 10px; }
.es-bashar--foto { object-fit: cover; object-position: top center; background: var(--es-gorsel-bos); }

/* ————— kurul üyesi: yan yana kart düzeni (tip = "izgara") —————
   Tek sütunlu satır listesine alternatif. Aynı veriyle çalışır;
   fotoğraf ve özgeçmiş yine isteğe bağlıdır. */

.es-uye-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr)); gap: 1rem; }
.es-uye-kutu {
  display: flex; align-items: center; gap: .875rem; width: 100%; text-align: left;
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-left: 4px solid var(--es-kirmizi); border-radius: 12px;
  padding: 1rem 1.125rem;
}
.es-uye-kutu--acilir { cursor: pointer; transition: box-shadow .15s, transform .15s; }
.es-uye-kutu--acilir:hover { transform: translateY(-2px); box-shadow: var(--es-golge-kart); }
.es-uye-gorsel {
  flex: none; width: 64px; height: 64px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  object-fit: cover; object-position: top center;
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.125rem; color: #fff;
}
.es-uye-ad { display: block; font-family: 'Figtree', sans-serif; font-weight: 700; font-size: 1.03125rem; color: var(--es-lacivert-koyu); }
.es-uye-alt { display: block; font-size: .84375rem; color: var(--es-meta); font-weight: 600; margin-top: .125rem; }
.es-uye-devam { display: block; color: var(--es-kirmizi); font-weight: 700; font-size: .8125rem; margin-top: .375rem; }
.es-kisi-satir-ad { display: block; font-family: 'Figtree', sans-serif; font-weight: 700; font-size: 1.03125rem; color: var(--es-lacivert-koyu); }
.es-kisi-satir-alt { display: block; font-size: .84375rem; color: var(--es-meta); font-weight: 600; margin-top: .125rem; }

/* geçmiş dönem akordiyonu */
.es-donem { background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 12px; overflow: hidden; margin-bottom: .75rem; }
.es-donem-baslik {
  display: flex; align-items: center; justify-content: space-between; gap: .875rem;
  width: 100%; text-align: left; background: none; border: 0; padding: 1rem 1.25rem;
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1rem; color: var(--es-lacivert-koyu);
}
.es-donem-baslik::before { content: ""; flex: none; width: 6px; height: 20px; background: var(--es-kirmizi); border-radius: 3px; margin-right: .375rem; }
/* ::before de bir flex ögesi: space-between onu sola, metni ORTAYA iterdi.
   Metin kendi boşluğunu alarak çubuğun yanında kalıyor. */
.es-donem-baslik > span:first-of-type { margin-right: auto; }
.es-donem-isaret { flex: none; color: var(--es-meta); font-size: 1.375rem; font-weight: 800; line-height: 1; }
/* İşaret CSS'ten geliyor: Bootstrap collapse aria-expanded'i zaten çeviriyor,
   aynı işi bir de JavaScript'e yaptırmaya gerek yok. */
.es-donem-isaret::before { content: "+"; }
.es-donem-baslik[aria-expanded="true"] .es-donem-isaret { color: var(--es-kirmizi); }
.es-donem-baslik[aria-expanded="true"] .es-donem-isaret::before { content: "\2212"; }
.es-donem-govde { padding: .25rem 1.25rem 1.125rem; border-top: 1px solid var(--es-kenar-ic); }
.es-donem-uye { display: flex; flex-direction: column; padding: .5rem 0; border-bottom: 1px solid var(--es-zemin); }
.es-donem-uye span:first-child { font-size: .71875rem; color: var(--es-meta); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.es-donem-uye span:last-child { font-family: 'Figtree', sans-serif; font-weight: 700; font-size: .9375rem; color: var(--es-lacivert-koyu); margin-top: .125rem; }

/* ————— yayın kartı ————— */

.es-yayin-kart {
  display: flex; flex-direction: column; height: 100%;
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 12px; overflow: hidden;
}
/* Yayın kapakları dikey; prototipteki oran ~132% (3/4). */
.es-yayin-gorsel { position: relative; display: block; aspect-ratio: 3 / 4; background: var(--es-gorsel-bos); }
.es-yayin-gorsel picture { display: block; width: 100%; height: 100%; }
.es-yayin-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.es-yayin-rozet {
  position: absolute; left: .625rem; top: .625rem; z-index: 2;
  background: var(--es-turuncu); color: #fff; font-family: 'Figtree', sans-serif;
  font-weight: 700; font-size: .6875rem; letter-spacing: .04em; text-transform: uppercase;
  padding: .25rem .5625rem; border-radius: 4px;
}
.es-yayin-govde { display: flex; flex-direction: column; gap: .75rem; padding: .9375rem; flex: 1; }
.es-yayin-ad { font-family: 'Figtree', sans-serif; font-weight: 700; font-size: .96875rem; line-height: 1.32; color: var(--es-lacivert-koyu); }
.es-yayin-indir { margin-top: auto; font-weight: 700; font-size: .875rem; }

/* ————— formlar ————— */

.es-form { background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 14px; padding: 1.625rem; }
.es-form label { display: block; }
.es-form-etiket { display: block; font-size: .84375rem; font-weight: 700; color: var(--es-metin); margin-bottom: .375rem; }
.es-form input[type="text"], .es-form input[type="email"], .es-form input[type="tel"],
.es-form input[type="date"], .es-form select, .es-form textarea {
  width: 100%; border: 1.5px solid var(--es-kenar); border-radius: 8px;
  padding: .75rem; outline: none; background: #fafafb; color: var(--es-murekkep);
}
.es-form textarea { resize: vertical; }
.es-form input:focus, .es-form select:focus, .es-form textarea:focus { border-color: var(--es-lacivert); }
.es-form-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: .875rem; margin-bottom: .875rem; }
.es-form-adim { display: flex; align-items: center; gap: .625rem; margin: 1.5rem 0 1.125rem; }
.es-form-adim:first-child { margin-top: 0; }
.es-form-adim span {
  flex: none; width: 30px; height: 30px; border-radius: 50%;
  background: var(--es-kirmizi); color: #fff; display: flex; align-items: center; justify-content: center;
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: .875rem;
}
.es-form-adim h2 { margin: 0; font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.125rem; color: var(--es-lacivert); }
.es-form-onay { display: flex; gap: .6875rem; align-items: flex-start; margin: 1.125rem 0 1.375rem; }
.es-form-onay input { margin-top: .25rem; width: 18px; height: 18px; flex: none; accent-color: var(--es-kirmizi); }
.es-form-onay span { font-size: .875rem; line-height: 1.5; color: var(--es-ozet); }
.es-form-gonder {
  width: 100%; background: var(--es-kirmizi); color: #fff; border: 0; border-radius: 9px;
  padding: .9375rem; font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1rem;
}
.es-form-gonder:hover { background: var(--es-kirmizi-koyu); }

.es-basari { background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 14px; padding: 2.875rem 1.625rem; text-align: center; }
.es-basari-isaret {
  display: inline-flex; width: 70px; height: 70px; border-radius: 50%;
  background: var(--es-basarili-zemin); color: var(--es-basarili);
  align-items: center; justify-content: center; margin-bottom: 1.125rem;
}
.es-basari h2 { font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.4375rem; color: var(--es-lacivert); margin: 0 0 .625rem; }
.es-basari p { margin: 0 auto; max-width: 30rem; color: var(--es-ozet); }

/* ————— iletişim ————— */

.es-iletisim { display: grid; grid-template-columns: 1fr 1.2fr; gap: 1.875rem; align-items: stretch; }
.es-iletisim-kutu { background: var(--es-kart); border: 1px solid var(--es-kenar); border-radius: 12px; padding: 1.375rem; }
.es-iletisim-kutu h2 { font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.125rem; color: var(--es-lacivert); margin: 0 0 1rem; }
.es-iletisim-satir { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .875rem; }
.es-iletisim-satir:last-child { margin-bottom: 0; }
.es-iletisim-satir svg { flex: none; margin-top: .125rem; color: var(--es-kirmizi); }
.es-harita { border: 1px solid var(--es-kenar); border-radius: 12px; overflow: hidden; min-height: 260px; line-height: 0; }
.es-harita iframe { width: 100%; height: 100%; min-height: 260px; border: 0; display: block; }

.es-bulten-sonuc {
  flex-basis: 100%; margin: .5rem 0 0; font-weight: 600;
  color: #fff; font-size: .90625rem;
}

/* ————— site haritası ————— */

.es-harita-izgara { columns: 3 16rem; column-gap: 2.5rem; }
.es-harita-blok { margin-bottom: 2rem; break-inside: avoid; }
.es-harita-blok h2 {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.25rem; color: var(--es-lacivert);
  display: flex; align-items: center; gap: .6875rem; margin: 0 0 .875rem;
}
.es-harita-blok h2::before { content: ""; width: 6px; height: 22px; background: var(--es-kirmizi); border-radius: 3px; display: inline-block; }
.es-harita-liste { list-style: none; margin: 0; padding: 0; }
.es-harita-liste > li { padding: .3125rem 0; }
.es-harita-liste ul { list-style: none; margin: .25rem 0 .5rem .875rem; padding: 0 0 0 .875rem; border-left: 2px solid var(--es-kenar); }
.es-harita-liste a { font-weight: 600; color: var(--es-metin); }
.es-harita-liste a:hover { color: var(--es-kirmizi); }

/* ————— statik sayfa: bağlantı listesi ve istatistik ————— */

.es-baglanti-liste { list-style: none; margin: 1.25rem 0 0; padding: 0; }
.es-baglanti-liste li { border-bottom: 1px solid var(--es-kenar-ic); }
.es-baglanti-liste a {
  display: flex; align-items: center; gap: .5rem; justify-content: space-between;
  padding: .875rem .25rem; font-weight: 600; color: var(--es-metin);
}
.es-baglanti-liste a:hover { color: var(--es-kirmizi); }

.es-istatistik {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(9.375rem, 1fr));
  gap: 1rem; margin-top: 1.75rem;
}
.es-istatistik-kutu {
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-top: 3px solid var(--es-kirmizi); border-radius: 12px;
  padding: 1.25rem; text-align: center;
}
.es-istatistik-sayi {
  display: block; font-family: 'Figtree', sans-serif; font-weight: 900;
  font-size: 1.875rem; color: var(--es-lacivert);
}
.es-istatistik-etiket { display: block; font-size: .84375rem; font-weight: 600; margin-top: .25rem; }

/* ————— TV sayfa başlığı ————— */

.es-tv-basligi { display: flex; align-items: center; gap: .75rem; }
.es-tv-isaret {
  flex: none; width: 40px; height: 40px; border-radius: 9px; background: var(--es-kirmizi);
  display: flex; align-items: center; justify-content: center;
}

/* ————— yayın detayı ————— */

.es-yayin-detay { display: grid; grid-template-columns: 22rem 1fr; gap: 1.875rem; align-items: start; }
.es-yayin-detay-kapak {
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 14px; overflow: hidden; padding: 1rem;
}
.es-yayin-detay-kapak picture { display: block; }
.es-yayin-detay-kapak img { width: 100%; height: auto; border-radius: 8px; }
.es-yayin-detay-govde {
  display: flex; flex-direction: column;
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 14px; padding: 1.75rem;
}
.es-yayin-detay-ad {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.5rem;
  line-height: 1.25; color: var(--es-lacivert-koyu); margin: .875rem 0 0;
}
.es-yayin-kunye { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; margin: 1rem 0 0; }
.es-yayin-kunye dt { font-size: .84375rem; font-weight: 700; color: var(--es-meta); }
.es-yayin-kunye dd { margin: 0; font-weight: 600; color: var(--es-metin); }

@media (max-width: 767.98px) {
  .es-yayin-detay { grid-template-columns: 1fr; }
}

/* ————— ek dosyalar (belge / yayın) —————
   Ana dosya kendi büyük düğmesinde; bu liste ikinci ve sonraki ekler
   için. Eski sitede 10 ekli hukuk duyuruları vardı ve hepsi gövdenin
   içine bağlantı olarak dağılmıştı. */

.es-ek-dosyalar {
  background: var(--es-kart); border: 1px solid var(--es-kenar);
  border-radius: 14px; padding: 1.25rem 1.5rem; margin: 0 0 2rem;
}
.es-ek-dosya-baslik {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.0625rem;
  color: var(--es-lacivert-koyu); margin: 0 0 .75rem;
}
.es-ek-dosya-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .375rem; }

.es-ek-dosya-liste a {
  /* Satırın tamamı tıklanabilir: dosya adı kısa olduğunda yalnızca
     metne tıklanabilir olmak dokunmatik ekranda küçük bir hedef bırakır. */
  display: flex; align-items: center; gap: .75rem;
  padding: .625rem .75rem; border-radius: 10px;
  border: 1px solid var(--es-kenar-ic); text-decoration: none;
  transition: border-color .15s, background-color .15s;
}
.es-ek-dosya-liste a:hover { border-color: var(--es-kirmizi); background: var(--es-kenar-ic); }

.es-ek-dosya-tur {
  flex: 0 0 auto; min-width: 3rem; text-align: center;
  font-size: .75rem; font-weight: 800; letter-spacing: .02em;
  color: #fff; background: var(--es-lacivert);
  border-radius: 6px; padding: .25rem .375rem;
}
.es-ek-dosya-ad { flex: 1 1 auto; font-weight: 600; word-break: break-word; }
.es-ek-dosya-boyut { flex: 0 0 auto; font-size: .84375rem; white-space: nowrap; }

@media (max-width: 575.98px) {
  .es-ek-dosyalar { padding: 1rem; }
  .es-ek-dosya-liste a { flex-wrap: wrap; gap: .5rem; }
  .es-ek-dosya-ad { flex: 1 1 100%; order: 3; }
}

/* ————— özgeçmiş modalı ————— */

.es-ozgecmis .modal-content { position: relative; border: 0; border-radius: 16px; background: var(--es-kart); }

/* Solda fotoğraf, sağda metin.
   Fotoğraf KIRPILMAZ: kaynak görsellerin oranı 0.83–1.03 arasında değişiyor,
   sabit yükseklikli bir kutuya gerilirse yüzler daralıyor. Sütun yüksekliği
   metne göre uzamasın diye ızgara "start" hizalı. */
.es-ozgecmis-duzen { display: grid; grid-template-columns: 17rem 1fr; align-items: start; }
.es-ozgecmis-foto-alan { padding: 1.75rem 0 1.75rem 1.75rem; }
.es-ozgecmis-foto {
  display: block; width: 100%; height: auto; border-radius: 12px;
  background: var(--es-gorsel-bos);
}

/* Fotoğrafsız üyede tek sütuna iner. Sınıfı site.js koyuyor; modalı zaten
   JS dolduruyor, durum tek yerden yönetilsin. */
.es-ozgecmis--fotosuz .es-ozgecmis-duzen { grid-template-columns: 1fr; }
.es-ozgecmis--fotosuz .es-ozgecmis-foto-alan { display: none; }

.es-ozgecmis-metin { display: flex; flex-direction: column; align-items: flex-start; padding: 1.75rem; }
.es-ozgecmis-ad {
  font-family: 'Figtree', sans-serif; font-weight: 800; font-size: 1.625rem;
  color: var(--es-lacivert-koyu); margin: .75rem 0 .875rem;
}
.es-ozgecmis-govde { color: var(--es-metin-soluk); line-height: 1.75; }
.es-ozgecmis-kapat {
  position: absolute; top: .625rem; right: .625rem; z-index: 2;
  width: 34px; height: 34px; border: 0; border-radius: 50%;
  background: var(--es-zemin); color: var(--es-lacivert);
  font-size: 1.0625rem; font-weight: 800; line-height: 1;
}
.es-ozgecmis-kapat:hover { background: var(--es-kirmizi); color: #fff; }

@media (max-width: 767.98px) {
  .es-ozgecmis-duzen { grid-template-columns: 1fr; }
  .es-ozgecmis-foto-alan { padding: 1.25rem 1.25rem 0; max-width: 15rem; }
  .es-ozgecmis-metin { padding: 1.25rem; }
  .es-ozgecmis-ad { font-size: 1.375rem; }
}

@media (max-width: 767.98px) {
  .es-galeri-izgara { grid-template-columns: repeat(3, 1fr); }
  .es-iletisim { grid-template-columns: 1fr; }
  .es-form-ikili { grid-template-columns: 1fr; }
  .es-kisi-genis { grid-template-columns: 1fr; }
  .es-kisi-genis > span:first-child { min-height: 320px; }
  .es-kisi-genis-govde { padding: 1.25rem; }
  .es-kisi-genis-ad { font-size: 1.375rem; }
}

@media (max-width: 575.98px) {
  .es-galeri-izgara { grid-template-columns: repeat(2, 1fr); }
  .es-sayfa-basi-ad { font-size: 1.5rem; }
  .es-yazi-tepe h1 { font-size: 1.5rem; }
  .es-metin { font-size: 1.0625rem; }
  .es-komsu { flex-direction: column; }
  .es-lightbox-yon { width: 40px; height: 40px; }
  .es-form { padding: 1.125rem; }
  .es-arac-serit select { min-width: 0; width: 100%; }
  .es-donem-baslik { font-size: .9375rem; padding: .875rem 1rem; }
}
