/* Söz Onda — koyu konsept (tasarım: sozonda/soz_onda.png) · SedatCaglak
   İz Bırakanlar'ın parşömen konseptinden bağımsızdır; yalnız bu bölümde yüklenir. */

:root{
  --soz-zemin:#585757;
  --soz-zemin-koyu:#4c4b4b;
  --soz-beyaz:#ffffff;
  --soz-soluk:rgba(255,255,255,.72);
  --soz-cizgi:rgba(255,255,255,.85);
  --soz-golge:0,0,0;
}

/* ---- Sayfa temeli ---- */
.soz-body{
  margin:0; background:var(--soz-zemin); color:var(--soz-beyaz);
  font-family:'DM Sans','Segoe UI',system-ui,sans-serif; font-size:16px; line-height:1.6;
  overflow-x:hidden; overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
.soz-wrap{max-width:1280px;margin:0 auto;padding:0 32px}

/* ---- Üst başlık: beyaz şerit ---- */
.soz-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 16px rgba(var(--soz-golge),.18)}
.soz-header-in{max-width:1400px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.soz-marka{display:flex;align-items:center;gap:12px;text-decoration:none}
.soz-marka img{height:38px;width:auto;display:block}
.soz-sag{display:flex;align-items:center;gap:28px}
.soz-nav{display:flex;align-items:center;gap:26px}
.soz-nav a{
  color:#2b2728;text-decoration:none;font-weight:700;font-size:13.5px;
  letter-spacing:.08em;text-transform:uppercase;transition:color .2s,transform .2s;
}
.soz-nav a:hover,.soz-nav a.aktif{color:#000;transform:translateY(-2px)}
.soz-amblem img{height:44px;width:auto;display:block}
.soz-nav-toggle{display:none;background:none;border:0;cursor:pointer;color:#2b2728;padding:4px}

/* ---- Detay düzeni ---- */
.soz-detay{display:grid;grid-template-columns:340px 1fr;gap:56px;padding:56px 0 40px;align-items:start}
.soz-detay > *{min-width:0}

/* Sol: afiş + isim + ünvan + kent konseyi */
.soz-sol{position:sticky;top:96px}
.soz-afis{background:#fff;padding:10px;box-shadow:0 4px 10px rgba(var(--soz-golge),.28),0 24px 48px rgba(var(--soz-golge),.32)}
/* Tekil sayfada afiş kendi oranında durur (ızgara yok, kırpma yapılmaz).
   `contain-intrinsic-size:none` burada da savunma amaçlı: afiş tembel yüklenirse
   WordPress'in 3000x1500 varsayımı devreye girip kutuyu şişirmesin (bkz. .soz-kart img). */
.soz-afis img{width:100%;height:auto;display:block;contain-intrinsic-size:none;
  background:linear-gradient(160deg,#6d6c6c,#4a4949);color:rgba(255,255,255,.55);
  font-size:13px;text-align:center}
.soz-afis .soz-afis-yok{
  aspect-ratio:1/1.41;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#6d6c6c,#4a4949);color:rgba(255,255,255,.55);
  font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:20px;
}
.soz-ad{margin:26px 2px 0;font-size:38px;font-weight:800;line-height:1.06;letter-spacing:-.02em;color:#fff}
.soz-unvan{margin:8px 2px 0;font-size:17px;font-weight:400;color:var(--soz-soluk)}
.soz-akk{margin:44px 0 0}
.soz-akk img{width:190px;height:auto;display:block;opacity:.95}

/* Sağ: çerçeveli metin — konuşma balonu */
.soz-sag-sutun{min-width:0}
.soz-cerceve{position:relative;border:2px solid var(--soz-cizgi);padding:44px 52px 52px}
/* Sol kenarda balon ucu (afişe bakar) — dış çizgi + iç dolgu üçgeni */
.soz-cerceve:before,.soz-cerceve:after{content:"";position:absolute;width:0;height:0;border-style:solid}
.soz-cerceve:before{                       /* dış: beyaz çizgi */
  left:-28px;top:88px;
  border-width:26px 28px 26px 0;
  border-color:transparent var(--soz-cizgi) transparent transparent;
}
.soz-cerceve:after{                        /* iç: zemin — çerçevenin kenar çizgisini de kapatır */
  left:-24px;top:92px;
  border-width:22px 26px 22px 0;
  border-color:transparent var(--soz-zemin) transparent transparent;
}
 /* Metin serbest akar, çerçeve uzar. Kutuya `max-height + overflow` konmaz:
    fare tekerleği kutunun üstündeyken sayfa kaymaz, ziyaretçi alttaki bölümlere
    hiç ulaşamaz ve metin cümlenin ortasında kesilir. Taslaktaki "afiş hep görünür"
    hissini soldaki sütunun `position:sticky` olması karşılıyor. */
.soz-metin{
  color:#fff;font-size:15.5px;line-height:1.78;
}
.soz-metin p{margin:0 0 15px}
.soz-metin a{color:#fff;text-decoration:underline}
.soz-metin strong{font-weight:700}
.soz-metin ul{margin:0 0 15px;padding-left:20px}
/* Çerçevenin alt çizgisini kesen etiket */
.soz-etiket{
  position:absolute;right:38px;bottom:-19px;
  background:var(--soz-zemin);padding:0 18px;
  font-size:26px;font-weight:800;letter-spacing:-.01em;color:#fff;line-height:1;
}
.soz-tarih{position:absolute;right:0;top:-34px;font-size:13px;color:var(--soz-soluk);font-weight:600}

/* ---- Fotoğraf şeridi (etkinlikten kareler) ---- */
.soz-galeri{padding:26px 0 10px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.soz-galeri-kaydir{display:flex;gap:26px;overflow-x:auto;padding:22px 0;scrollbar-width:none}
.soz-galeri-kaydir::-webkit-scrollbar{display:none}
.soz-galeri-kaydir a,.soz-galeri-kaydir span{
  flex:0 0 auto;display:block;background:#fff;padding:9px;
  box-shadow:0 4px 10px rgba(var(--soz-golge),.28),0 18px 36px rgba(var(--soz-golge),.28);
  transition:transform .3s ease;
}
.soz-galeri-kaydir img{display:block;height:230px;width:auto;object-fit:cover;cursor:zoom-in}
.soz-galeri-serit{position:relative}
.soz-galeri-kaydir > *:nth-child(odd){transform:rotate(-1.2deg)}
.soz-galeri-kaydir > *:nth-child(even){transform:rotate(1deg)}
.soz-galeri-kaydir > *:hover{transform:rotate(0) translateY(-6px)}

/* ---- Söz Alanlar şeridi ---- */
.soz-alanlar{padding:44px 0 20px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.soz-alanlar h2{
  text-align:center;margin:0 0 6px;color:#fff;
  font-size:30px;font-weight:800;letter-spacing:.42em;text-transform:uppercase;
  text-indent:.42em;
}
.soz-serit{position:relative}
.soz-kaydir{
  --soz-kart-en:190px; --soz-bosluk:22px;
  display:flex;align-items:stretch;gap:var(--soz-bosluk);overflow-x:auto;padding:30px 4px 24px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.soz-kaydir::-webkit-scrollbar{display:none}
.soz-kart{
  flex:0 0 var(--soz-kart-en);display:block;text-decoration:none;color:inherit;
  transition:transform .3s ease;
}
.soz-kart:hover{transform:translateY(-8px)}
/* Beyaz çerçeve yalnız afişin etrafında; isim koyu zeminde durur */
.soz-cerceve-kart{
  display:block;background:#fff;padding:8px;
  box-shadow:0 3px 8px rgba(var(--soz-golge),.26),0 14px 30px rgba(var(--soz-golge),.28);
  transition:box-shadow .3s ease;
}
.soz-kart:hover .soz-cerceve-kart{box-shadow:0 22px 46px rgba(var(--soz-golge),.4)}
/* Kart görsel kutusu HER ZAMAN aynı ölçüde: 1:1,414 (A4 dikey afiş).
   Böylece isimler ortak çizgide hizalanır, ızgarada merdiven görüntüsü olmaz.

   `cover` seçildi çünkü kaynakların hepsi hedeften GENİŞ (dikey afiş 1:1,25 ·
   haber banner'ı 16:9). Bu durumda kırpma yalnız YANLARDAN olur: afişin üstündeki
   kurum logoları ve altındaki tarih/saat bilgisi hiç kesilmez. Haber banner'ı
   zaten "afiş + gri yan boşluk" olduğu için kırpılan şey boşluğun kendisidir.
   `contain` denendi: afiş gri zeminde küçük kalıyor, duvar dağılıyor.

   Hedeften DAR (çok uzun) bir görsel gelirse dikeyden kırpılır — `soz-yatay` /
   `soz-dikey` sınıfı o gün ayrı davranış vermek için duruyor. */
.soz-kart img,
.soz-kart .soz-kart-yok{display:block;width:100%;height:auto;aspect-ratio:1/1.414;
  /* 🔴 ÖLÇÜLDÜ 31.08.2026 — kutuyu şişiren tek satırın panzehiri.
     WordPress 6.7 çekirdeği tembel yüklenen her görsele `sizes="auto, …"` basıyor
     ve kendi satır içi stilinde şu kuralı veriyor:
        img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
     Görsel YÜKLENDİĞİ sürece zararsız. Görsel 404/302 dönerse (naturalWidth=0)
     bu ölçü `aspect-ratio`'yu ezer ve kutu 206x291 yerine 206x1500 px olur:
     tek kayıp afiş bütün ızgarayı dağıtır (Söz Onda listesi, Mahmut Arıkan kartı).
     `none` demek "doğal ölçü uydurma" demektir; aspect-ratio yeniden söz sahibi olur.
     Ölçüm: kırık kutu 1516px -> 308px, sağlam kutu 308px. Sapma 0. */
  contain-intrinsic-size:none;
}
/* Görsel gelmezse beyaz çerçevenin içi boş kalmasın: bölümün kendi yer tutucu zemini
   görünür. Yüklenen afiş opak olduğu için normal durumda bu zemin hiç görünmez.
   JS'siz taban güvence — `gorsel-yedek.php` bunun üstüne ismi de yazar. */
.soz-cerceve-kart img{object-fit:cover;object-position:50% 50%;
  background:linear-gradient(160deg,#6d6c6c,#4a4949);
  color:rgba(255,255,255,.72);font-size:13px;font-weight:700;text-align:center}
.soz-cerceve-kart.soz-dikey img{object-position:50% 45%}
.soz-kart .soz-kart-yok{
  display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;
  background:linear-gradient(160deg,#6d6c6c,#4a4949);color:rgba(255,255,255,.75);
  font-size:14px;font-weight:700;line-height:1.2;
}
/* Oklar — ortak sınıf (.serit-ok), üç şeritte de aynı */
.soz-body .serit{position:relative}
.soz-ok,.soz-body .serit-ok{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.94);border:0;color:#2b2728;
  box-shadow:0 6px 18px rgba(var(--soz-golge),.3);
  transition:transform .18s ease,background .18s ease;
}
.soz-ok svg,.soz-body .serit-ok svg{flex:0 0 auto;display:block}
.soz-ok:hover,.soz-body .serit-ok:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.soz-ok:focus-visible,.soz-body .serit-ok:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.6)}
.soz-ok-sol,.soz-body .serit-ok-sol{left:14px}
.soz-ok-sag,.soz-body .serit-ok-sag{right:14px}
.soz-body .serit-ok[hidden]{display:none}
@media(max-width:700px){ .soz-ok,.soz-body .serit-ok{display:none} }

/* ---- Ankara silueti ---- */
.soz-siluet{padding:34px 0 10px;text-align:center}
.soz-siluet img{width:min(900px,90%);height:auto;
  /* Kaynak çizim tek renk (#85754e) — koyu zeminde beyaza çevrilir */
  filter:brightness(0) invert(1);opacity:.92}

/* ---- Liste (arşiv) ---- */
.soz-arsiv-hero{text-align:center;padding:56px 0 10px}
.soz-arsiv-hero h1{
  margin:0;color:#fff;font-size:clamp(30px,4.6vw,44px);font-weight:800;
  letter-spacing:.4em;text-transform:uppercase;text-indent:.4em;
}
.soz-arsiv-intro{color:var(--soz-soluk);max-width:640px;margin:14px auto 0;font-size:16px}
.soz-ara{max-width:420px;margin:24px auto 0}
.soz-ara-etiket{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.soz-body .soz-ara-kutu{
  width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:12px 18px;text-align:center;
  border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;outline:none;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.soz-body .soz-ara-kutu::placeholder{color:rgba(255,255,255,.55)}
.soz-body .soz-ara-kutu:focus{border-color:#fff;background:rgba(255,255,255,.14);box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.soz-ara-sonuc{min-height:1.2em;margin:8px 0 0;font-size:13.5px;color:var(--soz-soluk);text-align:center}
.soz-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:38px 26px;padding:40px 0 24px;
}
.soz-grid{align-items:start}
.soz-grid .soz-kart{flex:none;align-self:start}
.soz-kart-ad{display:block;margin-top:14px;padding:0 2px;font-size:18px;font-weight:800;color:#fff;line-height:1.14;
  overflow-wrap:break-word}
/* İki satıra taşan isimler ünvan hizasını bozmasın (ör. "Prof. Dr. Ahmet Davutoğlu") */
.soz-grid .soz-kart-ad{min-height:2.28em}
.soz-kart-unvan{display:block;padding:3px 2px 0;font-size:13px;color:var(--soz-soluk)}
.soz-bos{text-align:center;color:var(--soz-soluk);padding:60px 0}
.soz-kart[hidden]{display:none}

/* ---- Form ---- */
.soz-form-hero{text-align:center;padding:56px 0 4px}
.soz-form-hero h1{margin:0;color:#fff;font-size:clamp(28px,4.4vw,40px);font-weight:800;letter-spacing:.34em;text-transform:uppercase;text-indent:.34em}
.soz-form-hero p{color:var(--soz-soluk);max-width:640px;margin:14px auto 0}
.soz-form-kutu{
  max-width:660px;margin:30px auto 64px;padding:36px 38px;
  border:2px solid var(--soz-cizgi);background:rgba(255,255,255,.04);
}
.soz-form-kutu .iz-alan label,.soz-form-kutu .iz-alan-baslik{color:#fff}
.soz-form-kutu .iz-alan input[type=text],.soz-form-kutu .iz-alan input[type=email],
.soz-form-kutu .iz-alan textarea{
  background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;border-radius:4px;
}
.soz-form-kutu .iz-alan input::placeholder,.soz-form-kutu .iz-alan textarea::placeholder{color:rgba(255,255,255,.5)}
.soz-form-kutu .iz-alan input:focus,.soz-form-kutu .iz-alan textarea:focus{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.soz-form-kutu .ipuc,.soz-form-kutu .iz-kvkk,.soz-form-kutu .iz-secim label,.soz-form-kutu .iz-dosya-ad{color:var(--soz-soluk)}
.soz-form-kutu .iz-dosya-dugme{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;border-radius:4px}
.soz-form-kutu .iz-dosya-dugme:hover{background:rgba(255,255,255,.18)}
.soz-form-kutu .iz-kvkk a{color:#fff}
.soz-form-kutu .zorunlu{color:#ff9d8a}
.soz-form-kutu .iz-gonder{background:#fff;color:#2b2728;border-radius:4px}
.soz-form-kutu .iz-gonder:hover{background:#eee;color:#000}
.soz-mesaj{max-width:660px;margin:26px auto 0;padding:16px 20px;font-size:15px;line-height:1.55;border:1px solid}
.soz-mesaj.ok{background:rgba(120,200,140,.14);border-color:rgba(150,220,170,.6);color:#e6f6ea}
.soz-mesaj.hata{background:rgba(220,120,100,.14);border-color:rgba(235,150,130,.6);color:#ffe6df}

/* ---- Altbilgi ---- */
.soz-footer{background:var(--soz-zemin-koyu);border-top:1px solid rgba(255,255,255,.14);text-align:center;
  padding:22px 24px calc(24px + env(safe-area-inset-bottom, 0px));color:var(--soz-soluk);font-size:14px;line-height:1.55}
.soz-altbilgi-alt{display:flex;flex-direction:column;gap:.5rem;align-items:center;max-width:1280px;margin:0 auto;padding:0 32px}
.soz-altbilgi-alt p{margin:0}
.soz-altbilgi-alt nav{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.soz-altbilgi-alt a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.soz-altbilgi-alt a:hover{border-bottom-color:#fff}
@media(min-width:640px){ .soz-altbilgi-alt{flex-direction:row;justify-content:space-between} }

/* ---- Duyarlı ---- */
@media(max-width:1023px){
  .soz-detay{grid-template-columns:300px 1fr;gap:36px}
  .soz-ad{font-size:32px}
  .soz-cerceve{padding:34px 34px 44px}
  .soz-etiket{font-size:21px;right:24px;bottom:-16px}
}
@media(max-width:860px){
  .soz-wrap{padding:0 20px}
  .soz-detay{grid-template-columns:1fr;gap:34px;padding:34px 0 24px}
  .soz-sol{position:static;max-width:340px;margin:0 auto;text-align:center}
  .soz-akk{display:flex;justify-content:center;margin-top:30px}
  .soz-cerceve:before{display:none}
  .soz-metin{max-height:none;padding-right:0}
  .soz-nav{display:none}
  .soz-nav.acik{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:2px;padding:10px 24px 14px;box-shadow:0 12px 24px rgba(var(--soz-golge),.18)}
  .soz-nav.acik a{display:flex;align-items:center;min-height:44px}
  .soz-nav-toggle{display:block}
  .soz-header-in{position:relative;padding:10px 18px}
  .soz-galeri-kaydir img{height:180px}
  .soz-alanlar h2{font-size:22px;letter-spacing:.3em;text-indent:.3em}
}
@media(max-width:600px){
  .soz-ad{font-size:28px}
  .soz-etiket{font-size:17px;right:16px;bottom:-13px;padding:0 12px}
  .soz-kaydir{--soz-kart-en:160px;--soz-bosluk:16px}
  .soz-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:28px 18px}
  .soz-galeri-kaydir{gap:16px}
  .soz-galeri-kaydir img{height:150px}
}

/* ============================================================
   2026-08-25 — Bölüm kuralları uygulaması (BOLUM-KURALLARI.md)
   ============================================================ */

/* ---- Başlıktaki sağ grup: arama · menü · amblem ---- */
.soz-header .soz-sag{display:flex;align-items:center;gap:10px}
.soz-header .ar-tetik,
.soz-header .izb-menu-tetik{color:#2b2728;min-width:44px;min-height:44px;border-radius:8px}
.soz-header .ar-tetik:hover,
.soz-header .izb-menu-tetik:hover{background:rgba(0,0,0,.06);color:#000}
.soz-header .soz-amblem{margin-left:4px}

/* ---- Geri dönüş ---- */
.soz-geri{
  display:inline-flex;align-items:center;gap:6px;margin:26px 0 -18px;
  color:var(--soz-soluk);text-decoration:none;font-size:14px;font-weight:600;
  letter-spacing:.04em;min-height:44px;transition:color .2s,transform .2s;
}
.soz-geri:hover{color:#fff;transform:translateX(-3px)}

/* ---- Sosyal paylaşım (koyu zemin uyarlaması eklentiden gelir) ---- */
.soz-paylas{max-width:100%}

/* ---- Önceki / sonraki konuk ---- */
.soz-komsu{border-top:1px solid rgba(255,255,255,.16);margin-top:26px}
.soz-komsu-in{display:flex;justify-content:space-between;gap:20px;padding-top:26px;padding-bottom:8px}
.soz-komsu-bag{
  display:flex;flex-direction:column;gap:4px;text-decoration:none;color:#fff;
  max-width:46%;min-height:44px;justify-content:center;transition:transform .2s,opacity .2s;
}
.soz-komsu-sonraki{align-items:flex-end;text-align:right}
.soz-komsu-etiket{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--soz-soluk)}
.soz-komsu-ad{font-size:17px;font-weight:800;line-height:1.2}
.soz-komsu-bag:hover{opacity:.85}
.soz-komsu-onceki:hover{transform:translateX(-4px)}
.soz-komsu-sonraki:hover{transform:translateX(4px)}

/* ---- Büyütme ekranı: koyu bölümde de site bileşeni kullanılır ---- */
.soz-afis img{cursor:zoom-in}

@media(max-width:860px){
  .soz-geri{margin:18px 0 -10px}
  .soz-komsu-bag{max-width:48%}
  .soz-komsu-ad{font-size:15px}
}

/* 375 px: başlıkta marka + arama + menü + amblem yan yana — sıkışmasın.
   Sıkışıklık düğmeyi küçülterek çözülmez: dokunma hedefi 44x44'ün altına
   inemez (kural 2.6). Yer, yan boşluktan ve logodan kazanılıyor. */
@media(max-width:600px){
  .soz-header .soz-header-in{padding:10px 14px;gap:8px}
  .soz-header .soz-sag{gap:2px}
  .soz-header .soz-marka img{height:28px}
  .soz-amblem img{height:34px}
  .soz-header .ar-tetik,
  .soz-header .izb-menu-tetik{padding:6px;min-width:44px;min-height:44px}
}
