/*
Theme Name: GeneratePress Refah (Seferihisar)
Theme URI: https://yenidenrefahpartisi.org.tr
Description: Yeniden Refah Partisi il ve ilçe başkanlıkları için kurumsal çoklu-site teması.
Author: Bidizayn
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-refah
*/

@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Oswald;font-style:normal;font-weight:500 700;font-display:swap;src:url("assets/fonts/oswald-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Oswald;font-style:normal;font-weight:500 700;font-display:swap;src:url("assets/fonts/oswald-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* =========================================================================
   TASARIM TOKENLARI
   ========================================================================= */
:root{
  --tv-red:#E2001A;
  --tv-red-dark:#B80016;
  --tv-navy:#0B1B33;
  --tv-gold:#C8A24B;
  --tv-ink:#15171C;
  --tv-gray:#5A6270;
  --tv-on-navy:#9aa6bd;
  --tv-on-navy-2:#cfd6e4;
  --tv-line:#E4E7EC;
  --tv-bg:#FFFFFF;
  --tv-bg-soft:#F5F6F8;
  --tv-success:#1F8A5B;
  --tv-badge-bg:#fdecee;
  --tv-wrap:75rem;
  --tv-font-head:"Oswald","Arial Narrow",Arial,sans-serif;
  --tv-font-body:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}

/* =========================================================================
   TEMEL / RESET (GeneratePress üzerine)
   ========================================================================= */
body.tv-site{
  font-family:var(--tv-font-body);
  color:var(--tv-ink);
  background:var(--tv-bg);
  -webkit-font-smoothing:antialiased;
}
.tv-site *{box-sizing:border-box;}
.tv-site img{display:block;max-width:100%;height:auto;}
.tv-site ::selection{background:var(--tv-red);color:#fff;}
/* Klavye odak halkası — tarayıcı varsayılanı (1px, ince) yerine daha belirgin bir
   halka (erişilebilirlik denetiminde bulundu: WCAG 2.4.7'yi teknik olarak geçiyordu
   ama zar zor görünüyordu). :focus-visible SADECE klavye/programatik odakta
   tetiklenir — fareyle tıklamada halka görünmez (tarayıcının kendi sezgisi). Form
   girdileri (.tv-form/.tv-search-form) kendi kenarlık-rengi geçişini KORUR, burada
   hariç tutuldu ki çift görsel gösterge olmasın. */
.tv-site :focus-visible{outline:0.1875rem solid var(--tv-red);outline-offset:0.1875rem;}
.tv-site .tv-form input:focus-visible,.tv-site .tv-form textarea:focus-visible,
.tv-site .tv-search-form__input:focus-visible{outline:none;}
/* "İçeriğe atla" bağlantısı odaklanınca görünmüyordu (erişilebilirlik denetiminde
   bulundu, WCAG 2.4.1): WP çekirdeğinin satır-içi wp-block-library stili ile
   GeneratePress'in kendi screen-reader-text:focus kuralı aynı özgüllükte (0,2,0)
   çakışıyor, hangisinin kazandığı yükleme sırasına bağlı kalıyor ve bu ortamda
   clip-path sıfırlanmadan kalıyordu (öge klavye odağında bile 1x1px gizli
   kalıyordu). Buradaki kural özgüllüğü (.skip-link.screen-reader-text:focus,
   0,3,0) + !important ile o çekişmeden BAĞIMSIZ olarak her zaman kazanır. */
.skip-link.screen-reader-text:focus{clip:auto!important;clip-path:none!important;
  position:absolute!important;width:auto!important;height:auto!important;
  top:0.3125rem!important;left:0.3125rem!important;padding:0.9375rem 1.4375rem!important;
  overflow:visible!important;background:#fff!important;color:var(--tv-navy)!important;
  z-index:100000!important;border-radius:0.375rem!important;
  box-shadow:0 0 0.5rem rgba(11,27,51,.4)!important;text-decoration:none!important;
  font:700 0.9375rem var(--tv-font-head)!important;}
/* GeneratePress varsayılan başlık/içerik kabuğunu sıfırla — tasarım tam genişlik bölümler kullanır */
.tv-site .site-content,
.tv-site .content-area,
.tv-site #content,
.tv-site .site-main{margin:0;padding:0;max-width:none;width:100%;}
.tv-site #page{overflow-x:hidden;}
.tv-site .entry-content{margin:0;}
.tv-site .entry-header{display:none;} /* sayfa başlığı bölüm bantlarında veriliyor */
@keyframes tvUp{from{opacity:0;transform:translateY(1.125rem);}to{opacity:1;transform:none;}}
@keyframes tvFade{from{opacity:0;}to{opacity:1;}}

/* =========================================================================
   YERLEŞİM YARDIMCILARI
   ========================================================================= */
.tv-section{padding:clamp(3.5rem,7vw,6rem) 1.5rem;}
.tv-section--tight{padding:clamp(3rem,6vw,5rem) 1.5rem;}
.tv-wrap{max-width:var(--tv-wrap);margin:0 auto;width:100%;}
.tv-wrap-sm{max-width:62.5rem;margin:0 auto;width:100%;}
.tv-wrap-md{max-width:68.75rem;margin:0 auto;width:100%;}
.tv-soft{background:var(--tv-bg-soft);}
.tv-white{background:#fff;}
.tv-dark{background:var(--tv-navy);}

/* eyebrow: kırmızı blok + oswald etiket — tek elemanda (native paragraf) ya da span ile çalışır */
.tv-eyebrow{display:flex;align-items:center;gap:0.75rem;margin:0 0 0.875rem;
  font:600 0.8125rem var(--tv-font-head);letter-spacing:.2em;text-transform:uppercase;color:var(--tv-gray);}
.tv-eyebrow::before{content:"";width:2.125rem;height:0.3125rem;background:var(--tv-red);border-radius:0.125rem;flex:none;}
.tv-eyebrow span{font:inherit;letter-spacing:inherit;color:inherit;}
.tv-eyebrow--gold,.tv-eyebrow--gold span{color:var(--tv-gold);letter-spacing:.22em;}
.tv-eyebrow--red,.tv-eyebrow--red span{color:var(--tv-red);letter-spacing:.18em;}

/* başlıklar */
.tv-h1{font:700 clamp(2.125rem,6vw,3.75rem) var(--tv-font-head);text-transform:uppercase;letter-spacing:.01em;line-height:1.06;margin:0;}
.tv-h2{font:700 clamp(1.75rem,4vw,2.75rem) var(--tv-font-head);text-transform:uppercase;letter-spacing:.01em;color:var(--tv-navy);margin:0;line-height:1.1;}
.tv-h3{font:600 1.3125rem var(--tv-font-head);text-transform:uppercase;letter-spacing:.01em;color:var(--tv-navy);margin:0;}
.tv-lead{font:400 clamp(1rem,2vw,1.1875rem) var(--tv-font-body);line-height:1.65;color:var(--tv-gray);}

/* butonlar */
.tv-btn{display:inline-flex;align-items:center;gap:0.625rem;background:var(--tv-red);color:#fff;
  font:700 0.9375rem var(--tv-font-head);letter-spacing:.07em;text-transform:uppercase;padding:1rem 2rem;
  border-radius:0.5rem;text-decoration:none;cursor:pointer;border:none;transition:background .15s,transform .15s;}
.tv-btn:hover{background:var(--tv-red-dark);color:#fff;}
.tv-btn--ghost{background:transparent;color:#fff;border:0.125rem solid rgba(255,255,255,.55);padding:0.875rem 1.875rem;}
.tv-btn--ghost:hover{background:#fff;color:var(--tv-navy);border-color:#fff;}
.tv-btn--light{background:#fff;color:var(--tv-red-dark);}
.tv-btn--light:hover{background:#fff;color:var(--tv-red-dark);transform:translateY(-0.125rem);}
.tv-link{font:600 0.9375rem var(--tv-font-body);color:var(--tv-red);text-decoration:none;white-space:nowrap;}
.tv-link:hover{color:var(--tv-red-dark);}
.tv-link-gold{display:inline-block;font:600 0.9375rem var(--tv-font-body);color:var(--tv-navy);text-decoration:none;border-bottom:0.125rem solid var(--tv-gold);padding-bottom:0.1875rem;}
.tv-link-gold:hover{color:var(--tv-red);}

/* bölüm başlık satırı (başlık + sağda "Tümü") */
.tv-sec-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2.625rem;}

/* grid */
.tv-grid{display:grid;gap:1.625rem;grid-template-columns:repeat(auto-fit,minmax(18.125rem,1fr));}
.tv-grid--sm{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.375rem;}
.tv-grid--press{grid-template-columns:repeat(auto-fit,minmax(16.25rem,1fr));gap:1.125rem;}
.tv-grid--team{grid-template-columns:repeat(auto-fill,16.5rem);justify-content:center;align-items:start;gap:1.5rem;}
/* .tv-grid--scroll — "İlçe Teşkilatlarımız" gibi bir liste/önizleme ızgarası
   mobilde alt alta uzun bir listeye DÖNÜŞMEMELİ; bunun yerine parmakla/fare ile
   yana kaydırılan bir şerit olmalı (gerçek telefonda test edilip istendi).
   Paylaşılan bir opt-in sınıf — istenen HERHANGİ bir .tv-grid bölümüne eklenir,
   sitedeki TÜM benzer liste tasarımlarında aynı ilke geçerli olsun diye. */
@media(max-width:48rem){
  /* scroll-snap-type "mandatory" DEĞİL "proximity" — gerçek fare sürüklemesi
     testinde (bkz. ROADMAP) mandatory ile Chrome doğrudan .scrollLeft atamasını
     SESSİZCE reddediyordu (yalnız .scrollTo()/native touch ile çalışıyordu),
     bu da fare sürüklemesini tamamen kırıyordu. proximity, teşkilat ağı ilçe
     şeridinde (bkz. .tv-orgtree__level--scroll) zaten kanıtlanmış çözüm. */
  .tv-grid--scroll{display:flex;flex-wrap:nowrap;gap:1.25rem;overflow-x:auto;scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:0.5rem;cursor:grab;}
  .tv-grid--scroll::-webkit-scrollbar{display:none;}
  .tv-grid--scroll > *{flex:0 0 16.25rem;scroll-snap-align:start;}
  .tv-grid--scroll.tv-hscroll--grab{cursor:grabbing;user-select:none;}
}
/* .tv-loop--preview — anasayfadaki "Son Yazılarım"/"Basında Biz" ÖNİZLEMESİ
   (yalnız 3 yazı) için AYNI ilke; tam arşiv sayfasında (sayfalama ile TÜM
   yazılar) düz .tv-loop dikey ızgara olarak kalır — orada aşağı kaydırmak
   zaten doğal, onlarca yazıyı yana kaydırmak yorucu olurdu. */
@media(max-width:48rem){
  /* .tv-loop.tv-loop--preview (İKİ sınıf zincirlenmiş) — dosyada DAHA SONRA
     tanımlanan ".tv-loop .wp-block-post-template{display:grid}" (bkz. "QUERY
     LOOP" bloğu) ile ÖZGÜLLÜK eşitliğinde kalıp sırayla ezilmesin diye kasıtlı
     olarak daha yüksek özgüllük (3 sınıf) kullanıldı — aynı .tv-site img
     tuzağında (bkz. hero düzeltmesi) olduğu gibi. */
  .tv-loop.tv-loop--preview .wp-block-post-template{display:flex;flex-wrap:nowrap;gap:1.25rem;overflow-x:auto;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:0.5rem;cursor:grab;}
  .tv-loop.tv-loop--preview .wp-block-post-template::-webkit-scrollbar{display:none;}
  .tv-loop.tv-loop--preview .wp-block-post-template li{flex:0 0 16.25rem;scroll-snap-align:start;}
  .tv-loop.tv-loop--preview .wp-block-post-template.tv-hscroll--grab{cursor:grabbing;user-select:none;}
}
/* Fare ile "tutup sürükleme" ipucu — dokunmatik zaten native kaydırıyor,
   masaüstünde de aynı şeritler fare ile sürüklenebilsin diye (bkz.
   assets/imaxis-carousel.js, enableDragScroll()). Bu ikisi HER genişlikte
   kaydırmalı olduğundan (mobil şartına bağlı değil) medya sorgusu DIŞINDA. */
.tv-carousel__track,.tv-orgtree__level--scroll{cursor:grab;}
.tv-carousel__track.tv-hscroll--grab,.tv-orgtree__level--scroll.tv-hscroll--grab{cursor:grabbing;user-select:none;}

/* =========================================================================
   ÜST BAR
   ========================================================================= */
.tv-topbar{background:var(--tv-navy);color:var(--tv-on-navy-2);height:2.375rem;display:flex;align-items:center;}
.tv-topbar__in{max-width:var(--tv-wrap);margin:0 auto;width:100%;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;font:500 0.8125rem var(--tv-font-body);}
.tv-topbar__left{display:flex;align-items:center;gap:1.5rem;}
.tv-topbar__left .ic{color:var(--tv-red);font-weight:700;}
.tv-topbar__social{display:flex;align-items:center;gap:1.125rem;letter-spacing:.04em;text-transform:uppercase;font:600 0.6875rem var(--tv-font-head);}
.tv-topbar__social .lbl{color:#8b96ad;}
.tv-topbar__social a{color:var(--tv-on-navy-2);text-decoration:none;}
.tv-topbar__social a:hover{color:#fff;}
@media(max-width:64.9375rem){.tv-topbar{display:none;}}

/* =========================================================================
   HEADER (sticky)
   ========================================================================= */
.tv-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(0.5rem);-webkit-backdrop-filter:saturate(180%) blur(0.5rem);
  border-bottom:0.0625rem solid var(--tv-line);box-shadow:0 0.25rem 1rem rgba(11,27,51,.05);}
.tv-header__in{max-width:var(--tv-wrap);margin:0 auto;padding:0 1.5rem;height:4.625rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;}
.tv-brand{display:flex;align-items:center;gap:0.8125rem;text-decoration:none;}
.tv-brand img{width:3.125rem;height:3.125rem;object-fit:contain;border-radius:0;}
.tv-brand__txt{display:flex;flex-direction:column;line-height:1;}
.tv-brand__big{font:700 1.25rem var(--tv-font-head);letter-spacing:.04em;color:var(--tv-navy);text-transform:uppercase;}
.tv-brand__small{font:500 0.6875rem var(--tv-font-body);letter-spacing:.06em;color:var(--tv-gray);text-transform:uppercase;margin-top:0.25rem;white-space:nowrap;}
.tv-nav{display:flex;align-items:center;gap:1.375rem;}
.tv-nav a{text-decoration:none;font:600 0.9375rem var(--tv-font-body);letter-spacing:.01em;color:var(--tv-navy);
  padding:0.375rem 0;border-bottom:0.125rem solid transparent;white-space:nowrap;transition:color .15s;}
.tv-nav a:hover{color:var(--tv-red);}
.tv-nav a.current-menu-item,.tv-nav a.tv-active{color:var(--tv-red);font-weight:700;border-bottom-color:var(--tv-red);}
/* Alt menü (dropdown) — "Hakkımızda"/"Gündem" gibi gruplayıcı üst öğeler */
.tv-nav__item{position:relative;display:flex;align-items:center;}
.tv-nav__toplink{display:inline-block;}
.tv-nav__caret{background:none;border:none;cursor:pointer;padding:0.375rem 0 0.375rem 0.25rem;margin:0;font-size:0.625rem;
  color:var(--tv-navy);line-height:1;}
.tv-nav__item--active>.tv-nav__toplink{color:var(--tv-red);font-weight:700;border-bottom-color:var(--tv-red);}
.tv-nav__dropdown{position:absolute;top:100%;left:0;min-width:11.25rem;background:#fff;border:0.0625rem solid var(--tv-line);
  border-radius:0.5rem;box-shadow:0 0.75rem 1.875rem rgba(11,27,51,.14);padding:0.5rem;display:none;flex-direction:column;
  gap:0.125rem;z-index:60;}
.tv-nav__dropdown a{padding:0.5625rem 0.75rem!important;border-bottom:none!important;border-radius:0.375rem;white-space:nowrap;}
.tv-nav__dropdown a:hover{background:var(--tv-bg-soft);}
/* Klavye/odak durumu :focus-within DEĞİL, --open sınıfıyla yönetilir (bkz.
   imaxis-nav.js) — erişilebilirlik denetiminde bulundu: :focus-within her zaman
   açık tutuyordu ve Escape'in kapatacak hiçbir şeyi kalmıyordu (odak öge
   içinde kaldığı sürece :focus-within true olmaya devam ediyordu), ayrıca
   aria-expanded hiçbir zaman Tab ile açılan durumu yansıtmıyordu. --open artık
   focusin/focusout ile senkron tutuluyor, Escape onu güvenle kaldırabiliyor. */
.tv-nav__item:hover>.tv-nav__dropdown,.tv-nav__item--open>.tv-nav__dropdown{display:flex;}
.tv-nav .tv-uye{background:var(--tv-red);color:#fff;font:700 0.8125rem var(--tv-font-head);letter-spacing:.07em;
  text-transform:uppercase;padding:0.8125rem 1.375rem;border-radius:0.5rem;border-bottom:none;}
.tv-nav .tv-uye:hover{background:var(--tv-red-dark);color:#fff;}
/* min-width/height 2.75rem = 44px — WCAG 2.5.5 asgari dokunma hedefi (erişilebilirlik
   denetiminde bulundu: önceki hâli ~46×39px idi, yükseklik asgarinin altındaydı). */
.tv-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:0.3125rem;
  background:none;border:none;cursor:pointer;padding:0.625rem;min-width:2.75rem;min-height:2.75rem;}
.tv-burger span{width:1.625rem;height:0.1875rem;background:var(--tv-navy);border-radius:0.125rem;}
.tv-burger span:last-child{background:var(--tv-red);}
@media(max-width:64.9375rem){
  .tv-nav{display:none;}
  .tv-burger{display:flex;}
  .tv-brand__big{font-size:1.0625rem;}
}

/* =========================================================================
   MOBİL MENÜ (overlay)
   ========================================================================= */
.tv-mobile{position:fixed;inset:0;z-index:100;background:var(--tv-navy);display:none;flex-direction:column;animation:tvFade .25s ease both;}
.tv-mobile.open{display:flex;}
.tv-mobile__top{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:0.0625rem solid rgba(255,255,255,.1);}
.tv-mobile__brand{display:flex;align-items:center;gap:0.75rem;}
.tv-mobile__brand img{width:2.625rem;height:2.625rem;object-fit:contain;border-radius:0;}
.tv-mobile__brand span{font:700 1.125rem var(--tv-font-head);letter-spacing:.04em;text-transform:uppercase;color:#fff;}
.tv-mobile__close{background:none;border:none;color:#fff;font-size:1.875rem;line-height:1;cursor:pointer;padding:0.375rem;}
.tv-mobile__nav-wrap{position:relative;flex:1;min-height:0;display:flex;}
.tv-mobile__nav{flex:1;min-height:0;display:flex;flex-direction:column;padding:1.25rem 1.5rem;gap:0.25rem;overflow-y:auto;}
.tv-mobile__nav a{text-decoration:none;font:600 1.625rem var(--tv-font-head);letter-spacing:.03em;text-transform:uppercase;
  color:#fff;padding:0.875rem 0;border-bottom:0.0625rem solid rgba(255,255,255,.08);}
.tv-mobile__nav a.current-menu-item{color:var(--tv-red);}
a.tv-mobile__sub{padding-left:1.375rem;opacity:.8;}
.tv-mobile__nav a.tv-mobile__sub{font-size:1.0625rem;}
/* Menü öğeleri kısa ekranlarda .tv-mobile__nav'ın kendi iç scroll'una taşabilir (bkz.
   gerçek telefonda test — "İletişim" görünürde yoktu, scroll ile ulaşılıyordu ama hiçbir
   görsel ipucu yoktu). Bu soluk geçiş + ok, İÇERİK TAŞTIĞINDA (JS ile .show eklenir,
   bkz. functions.php tvUpdateNavFade()) "aşağıda daha var" der; sonuna kaydırılınca kalkar. */
.tv-mobile__nav-fade{position:absolute;left:0;right:0;bottom:0;height:2.75rem;pointer-events:none;
  background:linear-gradient(to bottom, rgba(11,27,51,0), var(--tv-navy) 75%);
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:.25rem;
  color:rgba(255,255,255,.6);font-size:.9rem;opacity:0;transition:opacity .2s;}
.tv-mobile__nav-fade.show{opacity:1;}
.tv-mobile__foot{padding:1.5rem;border-top:0.0625rem solid rgba(255,255,255,.1);}
.tv-mobile__foot .tv-uye{display:block;text-align:center;background:var(--tv-red);color:#fff;font:700 1rem var(--tv-font-head);
  letter-spacing:.07em;text-transform:uppercase;padding:1rem;border-radius:0.5rem;text-decoration:none;}
.tv-mobile__social{display:flex;justify-content:center;gap:1.375rem;margin-top:1.375rem;}
.tv-mobile__social a{font:600 0.8125rem var(--tv-font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--tv-on-navy);text-decoration:none;}
body.tv-menu-open{overflow:hidden;}

/* =========================================================================
   HERO
   ========================================================================= */
.tv-hero{position:relative;min-height:clamp(33.75rem,82vh,47.5rem);display:flex;align-items:flex-end;overflow:hidden;background:var(--tv-navy);}
/* .tv-site altında scope'landı: özgüllüğü (specificity) sitewide ".tv-site img{height:auto}"
   sıfırlamasından kasıtlı olarak yüksek tutar (aksi halde height:auto kazanır — gerçek telefonda
   test edilince görsel hero'nun yalnız üst ~450px'ini dolduruyordu, altı düz lacivert kalıyordu). */
.tv-site .tv-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;}
/* Hafifletilmiş gradient: alt kısım (yazı için) koyu, üst açık → figürlerin yüzleri görünür */
.tv-hero__overlay{position:absolute;inset:0;background:
  linear-gradient(to top,rgba(11,27,51,.90) 0%,rgba(11,27,51,.66) 20%,rgba(11,27,51,.28) 44%,rgba(11,27,51,.05) 66%,rgba(11,27,51,0) 100%),
  linear-gradient(90deg,rgba(11,27,51,.55) 0%,rgba(11,27,51,.18) 34%,rgba(11,27,51,0) 60%);}
/* Yazı viewport'un SOL kenarına sabit — figürler sağda, asla üst üste gelmez */
.tv-hero__in{position:relative;max-width:none;margin:0;width:100%;padding:0 1.5rem clamp(2.5rem,4vw,4rem);padding-left:clamp(2rem,6vw,7rem);}
/* Kart ekranla orantılı dar (vw) → her boyutta figürsüz sol bölgede kalır; metne gölge */
.tv-hero__card{max-width:min(38rem,33vw);animation:tvUp .7s ease both;text-shadow:0 0.125rem 0.875rem rgba(11,27,51,.6);}
.tv-hero h1{font:700 clamp(2.25rem,5.2vw,4rem) var(--tv-font-head);line-height:1.14;letter-spacing:.01em;text-transform:uppercase;color:#fff;margin:0 0 1.25rem;}
.tv-hero p:not(.tv-eyebrow){font:400 clamp(1rem,1.6vw,1.125rem) var(--tv-font-body);line-height:1.6;color:#eaf0fb;margin:0 0 2.125rem;max-width:28rem;}
.tv-hero__btns{display:flex;flex-wrap:wrap;gap:0.875rem;}

/* =========================================================================
   KARTLAR
   ========================================================================= */
.tv-card{background:#fff;border:0.0625rem solid var(--tv-line);border-radius:0.75rem;overflow:hidden;display:flex;flex-direction:column;
  text-decoration:none;transition:transform .2s,box-shadow .2s;}
.tv-card:hover{transform:translateY(-0.375rem);box-shadow:0 1.125rem 2.5rem rgba(11,27,51,.13);}
.tv-card__media{position:relative;overflow:hidden;}
.tv-card__media img{width:100%;height:100%;object-fit:cover;}
.tv-card__badge{position:absolute;top:0.875rem;left:0.875rem;background:var(--tv-red);color:#fff;font:600 0.6875rem var(--tv-font-head);
  letter-spacing:.1em;text-transform:uppercase;padding:0.375rem 0.75rem;border-radius:0.375rem;}
.tv-card__body{padding:1.5rem 1.5rem 1.625rem;flex:1;display:flex;flex-direction:column;}
.tv-card__body h3{font:600 1.3125rem var(--tv-font-head);text-transform:uppercase;letter-spacing:.01em;color:var(--tv-navy);margin:0 0 0.625rem;}
.tv-card__body p{font:400 0.9375rem var(--tv-font-body);line-height:1.6;color:var(--tv-gray);margin:0 0 1.125rem;flex:1;}
.tv-card__more{font:600 0.875rem var(--tv-font-body);color:var(--tv-red);}
.tv-card .tv-date{font:600 0.75rem var(--tv-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--tv-gold);}

/* kart karuseli (ör. Vaatler & Projeler önizlemesi) — TÜM kartlar, ok butonlarıyla
   yatay kaydırma; ağır bir slider kütüphanesi değil, native scroll-snap + ~40
   satırlık vanilla JS (bkz. assets/imaxis-carousel.js). */
.tv-carousel{position:relative;}
/* scroll-snap-type "proximity" (mandatory DEĞİL) — gerçek fare sürüklemesi
   testinde mandatory'nin Chrome'da doğrudan .scrollLeft atamasını sessizce
   reddettiği bulundu (bkz. .tv-grid--scroll üstündeki not); ok butonu tıklaması
   zaten .scrollBy() kullandığından etkilenmiyordu ama fare sürüklemesi
   bozuluyordu. */
.tv-carousel__track{display:flex;gap:1.625rem;overflow-x:auto;scroll-snap-type:x proximity;
  scroll-behavior:smooth;padding:0.25rem 0.25rem 0.5rem;margin:0 -0.25rem;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;}
.tv-carousel__track::-webkit-scrollbar{display:none;}
.tv-carousel__track .tv-card{flex:0 0 18.125rem;scroll-snap-align:start;}
/* Ok butonları — ÖNCEDEN yarısı kartın üstüne binen, düz beyaz daire + metin
   karakteri (‹/›) idi ("çirkin" geri bildirimi, gerçek masaüstünde görülüp
   düzeltildi). Şimdi: kartlardan İYİCE uzakta (kesişme yok), ince SVG ok ikonu
   (yazı tipine göre değişen ‹/› yerine her tarayıcıda birebir aynı görünür).
   Tasarımın HİÇBİR yerinde tam daire (border-radius:50%) YOK — kartlar/butonlar/
   ikon kutuları hep köşeleri yumuşatılmış kare (bkz. .tv-valuecard__num aynı
   0.625rem yarıçapı) — bu yüzden daire yerine AYNI köşe yarıçapı kullanıldı.
   Tek bir paylaşılan sınıf olduğundan (.tv-carousel HERHANGİ bir karusel
   bölümünde kullanılabilir) bu düzeltme TÜM benzer tasarımlara otomatik yansır. */
/* 2.75rem = 44px — WCAG 2.5.5 asgari dokunma hedefi (erişilebilirlik denetiminde
   bulundu: önceki 2.625rem/42px bunun altındaydı). */
.tv-carousel__nav{position:absolute;top:40%;transform:translateY(-50%);width:2.75rem;height:2.75rem;
  border-radius:0.625rem;background:#fff;border:none;box-shadow:0 0.375rem 1.25rem rgba(11,27,51,.18);
  color:var(--tv-navy);display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;transition:background .2s,color .2s,box-shadow .2s,transform .2s;padding:0;}
.tv-carousel__nav svg{width:1.125rem;height:1.125rem;stroke:currentColor;stroke-width:2.25;fill:none;
  stroke-linecap:round;stroke-linejoin:round;}
.tv-carousel__nav:hover{background:var(--tv-red);color:#fff;box-shadow:0 0.5rem 1.5rem rgba(226,0,26,.32);
  transform:translateY(-50%) scale(1.08);}
.tv-carousel__nav[disabled]{opacity:.35;cursor:default;pointer-events:none;}
.tv-carousel__nav--prev{left:-4.5rem;}
.tv-carousel__nav--next{right:-4.5rem;}
@media(max-width:75rem){
  /* 1200px altında .tv-wrap kenara yaslanır, oklara -4.5rem'lik boşluk kalmaz
     — kartların hemen dışına, kesişmeden sığacak şekilde geri çekilir. */
  .tv-carousel__nav--prev{left:-1.25rem;}
  .tv-carousel__nav--next{right:-1.25rem;}
}
@media(max-width:48rem){.tv-carousel__nav{display:none;}}

/* basın kartı (linkli kutu) */
.tv-presscard{background:#fff;border:0.0625rem solid var(--tv-line);border-radius:0.625rem;padding:1.375rem 1.375rem 1.5rem;text-decoration:none;
  display:flex;flex-direction:column;gap:0.625rem;transition:border-color .2s,transform .2s,box-shadow .2s;}
.tv-presscard:hover{border-color:var(--tv-navy);}
.tv-presscard__top{display:flex;align-items:center;justify-content:space-between;}
.tv-presscard__outlet{font:700 0.75rem var(--tv-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--tv-red);}
.tv-presscard__date{font:500 0.75rem var(--tv-font-body);color:var(--tv-on-navy);}
.tv-presscard h3{font:500 1rem var(--tv-font-body);line-height:1.4;color:var(--tv-ink);margin:0;}

/* değer kartı */
.tv-valuecard{background:#fff;border:0.0625rem solid var(--tv-line);border-radius:0.75rem;padding:1.875rem 1.625rem;}
.tv-valuecard__num{width:3rem;height:3rem;border-radius:0.625rem;background:var(--tv-navy);color:var(--tv-gold);
  display:flex;align-items:center;justify-content:center;font:700 1.375rem var(--tv-font-head);margin-bottom:1.125rem;}
.tv-valuecard h3{font:600 1.25rem var(--tv-font-head);text-transform:uppercase;color:var(--tv-navy);margin:0 0 0.625rem;}
.tv-valuecard p{font:400 0.9375rem var(--tv-font-body);line-height:1.6;color:var(--tv-gray);margin:0;}

/* kadro kartı */
.tv-teamcard{position:relative;width:16.5rem;max-width:100%;background:#fff;border:0.0625rem solid var(--tv-line);border-radius:0.75rem;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.tv-teamcard:hover{transform:translateY(-0.3125rem);box-shadow:0 1rem 2.25rem rgba(11,27,51,.12);}
.tv-teamcard__link{position:absolute;inset:0;z-index:4;border-radius:inherit;cursor:pointer;}
.tv-teamcard__link:focus-visible{outline:0.1875rem solid var(--tv-red);outline-offset:-0.1875rem;}
.tv-teamcard__media,.tv-teamcard__body{z-index:2;pointer-events:none;}
.tv-teamcard .tv-promise__editlink,.tv-teamcard button,.tv-teamcard form{position:relative;z-index:5;pointer-events:auto;}
.tv-teamcard__media{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;padding:.5rem;box-sizing:border-box;}
.tv-teamcard__media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;}
.tv-teamcard__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,#eef0f4,#eef0f4 0.75rem,#e6e9ef 0.75rem,#e6e9ef 1.5rem);}
.tv-teamcard__ph span{font:600 0.75rem ui-monospace,monospace;color:#8b96ad;background:#fff;padding:0.4375rem 0.875rem;border-radius:0.375rem;border:0.0625rem solid var(--tv-line);}
.tv-teamcard__media::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:0.25rem;background:var(--tv-red);}
.tv-teamcard__body{padding:1.25rem 1.375rem 1.5rem;}
.tv-teamcard__body h3{font:600 1.1875rem var(--tv-font-head);text-transform:uppercase;letter-spacing:.01em;color:var(--tv-navy);margin:0 0 0.375rem;}
.tv-teamcard__body p{font:600 0.8125rem var(--tv-font-body);color:var(--tv-red);margin:0;letter-spacing:.01em;}
.tv-teamcard__body p.tv-teamcard__parent{font:500 0.75rem var(--tv-font-body);color:var(--tv-gray);margin-top:.4rem;letter-spacing:normal;}
@media(max-width:34rem){
  .tv-grid--team{grid-template-columns:minmax(0,16.5rem);}
  .tv-teamcard{width:100%;}
}

/* not kutusu */
.tv-note{display:inline-flex;align-items:center;gap:0.75rem;background:var(--tv-bg-soft);border-left:0.25rem solid var(--tv-red);
  border-radius:0 0.5rem 0.5rem 0;padding:0.875rem 1.25rem;}
.tv-note--gold{background:#fff;border:0.0625rem solid var(--tv-line);border-left:0.25rem solid var(--tv-gold);}
.tv-note span{font:600 0.875rem var(--tv-font-body);color:var(--tv-navy);}

/* =========================================================================
   İÇ SAYFA BAŞLIK BANDI (lacivert)
   ========================================================================= */
.tv-pagehead{background:var(--tv-navy);padding:clamp(3.125rem,6vw,4.75rem) 1.5rem;}
.tv-pagehead .tv-eyebrow span{color:var(--tv-gold);letter-spacing:.22em;}
.tv-pagehead .tv-eyebrow::before{height:0.25rem;}
.tv-pagehead h1{color:#fff;}
.tv-pagehead p:not(.tv-eyebrow){font:400 1.0625rem var(--tv-font-body);color:var(--tv-on-navy);max-width:40rem;margin:0.875rem 0 0;}

/* intro strip */
.tv-intro{text-align:center;}
.tv-intro .eb{font:600 0.8125rem var(--tv-font-head);letter-spacing:.18em;text-transform:uppercase;color:var(--tv-red);}
.tv-intro p{font:500 clamp(1.375rem,3.2vw,2rem) var(--tv-font-body);line-height:1.45;color:var(--tv-ink);margin:1.125rem 0 0;}
.tv-intro p b,.tv-intro p strong{color:var(--tv-red);font-weight:700;}

/* slogan band */
.tv-slogan{position:relative;z-index:0;overflow:hidden;}
.tv-site .tv-slogan__motif.tv-bg-decor{position:absolute;z-index:-1;left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:21.25rem;height:21.25rem;opacity:.06;object-fit:contain;}
.tv-slogan__in{position:relative;text-align:center;}
.tv-slogan .eb{font:600 0.8125rem var(--tv-font-head);letter-spacing:.24em;text-transform:uppercase;color:var(--tv-gold);}
.tv-slogan h2{font:700 clamp(1.875rem,5vw,3.5rem) var(--tv-font-head);text-transform:uppercase;letter-spacing:.02em;color:#fff;line-height:1.08;margin:1.125rem 0 0;}
.tv-slogan p{font:400 1.0625rem var(--tv-font-body);line-height:1.6;color:var(--tv-on-navy);margin:1.375rem auto 0;max-width:38.75rem;}

/* alıntı (about) */
.tv-quote{text-align:center;max-width:55rem;margin:0 auto;}
.tv-quote__mark{font:700 5.625rem var(--tv-font-head);color:var(--tv-red);line-height:.6;height:2.875rem;}
.tv-quote p.q{font:500 italic clamp(1.375rem,3.4vw,2.125rem) var(--tv-font-body);line-height:1.4;color:var(--tv-ink);margin:0;}
.tv-quote p.by{font:600 0.9375rem var(--tv-font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--tv-gray);margin:1.625rem 0 0;}

/* iki kolon medya+metin (about portresi, miras) */
.tv-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:clamp(2rem,5vw,4rem);align-items:start;}
.tv-split--center{align-items:center;}
.tv-figure{border-radius:0.875rem;overflow:hidden;border:0.0625rem solid var(--tv-line);box-shadow:0 1.125rem 2.75rem rgba(11,27,51,.12);}
.tv-prose p:not(.tv-heritage__eb){font:400 1rem var(--tv-font-body);line-height:1.7;color:var(--tv-gray);margin:0 0 1rem;}
.tv-prose p.lead{font:500 1.1875rem var(--tv-font-body);line-height:1.6;color:var(--tv-ink);margin:0 0 1.125rem;}

/* vaatler — alternatifli geniş satırlar */
.tv-promise{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.75rem,4vw,3.25rem);align-items:center;}
.tv-promise:nth-child(even){grid-template-columns:1fr 1.05fr;}
.tv-promise:nth-child(even) .tv-promise__media{order:2;}
.tv-promise__editlink{position:absolute;top:-0.75rem;right:0;z-index:2;font:700 0.75rem var(--tv-font-head);letter-spacing:.02em;
  color:#fff;background:var(--tv-navy);padding:0.375rem 0.75rem;border-radius:0.375rem;text-decoration:none;box-shadow:0 0.25rem 0.75rem rgba(11,27,51,.2);}
.tv-promise__editlink:hover{background:var(--tv-red);}
.tv-promise__media{border-radius:0.875rem;overflow:hidden;border:0.0625rem solid var(--tv-line);box-shadow:0 1rem 2.5rem rgba(11,27,51,.1);height:clamp(15rem,34vw,22.5rem);}
.tv-promise__media img{width:100%;height:100%;object-fit:cover;}
.tv-promise__tag{display:inline-block;font:700 0.75rem var(--tv-font-head);letter-spacing:.1em;text-transform:uppercase;
  color:var(--tv-red);background:var(--tv-badge-bg);padding:0.375rem 0.75rem;border-radius:0.375rem;margin-bottom:1rem;}
.tv-promise h2{font:700 clamp(1.5rem,3.4vw,2.375rem) var(--tv-font-head);text-transform:uppercase;color:var(--tv-navy);line-height:1.1;margin:0 0 1rem;}
.tv-promise p{font:400 1rem var(--tv-font-body);line-height:1.75;color:var(--tv-gray);margin:0 0 1.125rem;}
.tv-promise__status{display:inline-flex;align-items:center;gap:0.625rem;border-top:0.0625rem solid var(--tv-line);padding-top:1rem;}
.tv-promise__status::before{content:"";width:0.5625rem;height:0.5625rem;border-radius:50%;background:var(--tv-gold);}
.tv-promise__status span{font:600 0.875rem var(--tv-font-body);color:var(--tv-navy);}
.tv-promise__highlights{list-style:none;margin:0 0 1.125rem;padding:1.125rem 1.375rem;display:flex;flex-direction:column;gap:0.75rem;background:var(--tv-bg-soft);border-left:0.25rem solid var(--tv-red);border-radius:0 0.625rem 0.625rem 0;}
.tv-promise__highlights li{display:flex;align-items:flex-start;gap:0.75rem;font:700 0.9375rem var(--tv-font-body);color:var(--tv-navy);line-height:1.45;}
.tv-promise__highlights li::before{content:"";flex:none;width:1.375rem;height:1.375rem;margin-top:0.0625rem;border-radius:50%;background-color:var(--tv-red);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:0.75rem 0.75rem;}
@media(max-width:47.5rem){
  .tv-promise,.tv-promise:nth-child(even){grid-template-columns:1fr;}
  .tv-promise:nth-child(even) .tv-promise__media{order:0;}
}

/* miras (koyu) metin renkleri */
.tv-dark .tv-prose p:not(.tv-heritage__eb){color:var(--tv-on-navy);}
.tv-dark .tv-h2,.tv-dark h2{color:#fff;}
.tv-heritage__eb{font:600 0.8125rem var(--tv-font-head);letter-spacing:.2em;text-transform:uppercase;color:var(--tv-gold);}
.tv-heritage h2{font:700 clamp(1.625rem,4vw,2.5rem) var(--tv-font-head);text-transform:uppercase;color:#fff;margin:0.75rem 0 1.125rem;line-height:1.1;}
.tv-heritage__img{display:flex;justify-content:center;}
.tv-heritage__img img{max-width:100%;max-height:23.75rem;filter:drop-shadow(0 1.5rem 2.5rem rgba(0,0,0,.4));}

/* =========================================================================
   FORMLAR (İletişim / Üye Ol) — Fluent Forms & native uyumlu
   ========================================================================= */
.tv-formwrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:clamp(2rem,5vw,3.5rem);align-items:start;}
.tv-form label{display:block;font:600 0.8125rem var(--tv-font-body);color:var(--tv-navy);margin-bottom:0.4375rem;}
.tv-form input,.tv-form textarea{width:100%;padding:0.8125rem 0.9375rem;border:0.0625rem solid var(--tv-line);border-radius:0.5rem;
  font:400 0.9375rem var(--tv-font-body);background:var(--tv-bg-soft);}
.tv-form input:focus,.tv-form textarea:focus{border-color:var(--tv-red);outline:none;background:#fff;}
.tv-form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;}
.tv-form .field{margin-bottom:1rem;}
.tv-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.tv-form__msg{margin-top:1rem;padding:0.8125rem 0.9375rem;border-radius:0.5rem;font:500 0.9375rem var(--tv-font-body);}
.tv-form__msg--ok{background:#e6f6ea;color:#1e6b3a;}
.tv-form__msg--err{background:#fdeaea;color:#a3231f;}
.tv-infobox{background:var(--tv-navy);border-radius:0.75rem;padding:1.875rem;}
.tv-infobox h3{font:600 1.25rem var(--tv-font-head);text-transform:uppercase;color:#fff;margin:0 0 1.375rem;}
.tv-infobox .lbl{font:600 0.75rem var(--tv-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--tv-gold);margin-bottom:0.3125rem;}
.tv-infobox .val{font:400 0.9375rem var(--tv-font-body);color:var(--tv-on-navy-2);line-height:1.5;}
.tv-infobox .grp{margin-bottom:1.125rem;}
.tv-infobox .soc{display:flex;gap:0.875rem;margin-top:0.25rem;}
.tv-infobox .soc a{font:600 0.8125rem var(--tv-font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--tv-on-navy-2);text-decoration:none;}
.tv-infobox .bullet{display:flex;align-items:flex-start;gap:0.75rem;}
.tv-infobox .bullet::before{content:"";flex:none;width:0.5rem;height:0.5rem;border-radius:50%;background:var(--tv-red);margin-top:0.4375rem;}
.tv-infobox .bullet span{font:400 0.9375rem var(--tv-font-body);line-height:1.5;color:var(--tv-on-navy-2);}
.tv-map{position:relative;height:12.5rem;border-radius:0.75rem;overflow:hidden;border:0.0625rem solid var(--tv-line);
  background:repeating-linear-gradient(45deg,#eef0f4,#eef0f4 0.75rem,#e6e9ef 0.75rem,#e6e9ef 1.5rem);display:flex;align-items:center;justify-content:center;}
.tv-map span{font:600 0.8125rem ui-monospace,monospace;color:#8b96ad;letter-spacing:.05em;background:#fff;padding:0.5rem 1rem;border-radius:0.375rem;border:0.0625rem solid var(--tv-line);}

/* =========================================================================
   ARAMA (site içi arama formu + sonuç sayfası sayfalama)
   ========================================================================= */
.tv-search-form{display:flex;gap:0.625rem;}
.tv-search-form__input{flex:1;min-width:0;padding:0.8125rem 0.9375rem;border:0.0625rem solid var(--tv-line);border-radius:0.5rem;
  font:400 0.9375rem var(--tv-font-body);background:var(--tv-bg-soft);}
.tv-search-form__input:focus{border-color:var(--tv-red);outline:none;background:#fff;}
.tv-search-form__btn{flex:none;width:2.875rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.5rem;background:var(--tv-navy);color:#fff;font-size:1.0625rem;cursor:pointer;}
.tv-search-form__btn:hover{background:var(--tv-red);}
.tv-search-form__btn svg{display:block;}
/* Header'daki arama açılır kutusu — native <details>, JS gerekmez */
.tv-search-toggle{position:relative;display:flex;align-items:center;}
.tv-search-toggle summary{list-style:none;cursor:pointer;display:flex;align-items:center;font-size:1.125rem;color:var(--tv-navy);padding:0.375rem;}
.tv-search-toggle summary svg{display:block;}
.tv-search-toggle summary::-webkit-details-marker{display:none;}
.tv-search-toggle[open] summary{color:var(--tv-red);}
.tv-search-toggle .tv-search-form{position:absolute;top:100%;right:0;width:17.5rem;background:#fff;padding:0.75rem;
  border-radius:0.625rem;box-shadow:0 0.75rem 2rem rgba(11,27,51,.18);border:0.0625rem solid var(--tv-line);z-index:60;}
/* the_posts_pagination() varsayılan .page-numbers sınıfları — tv-loop'un query-pagination'ıyla aynı görünüm */
.tv-section .pagination,.tv-section .navigation.pagination{margin-top:2.625rem;}
.tv-section .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;margin:0 0.25rem;
  font:600 0.9375rem var(--tv-font-head);border-radius:0.5rem;border:0.0625rem solid var(--tv-line);color:var(--tv-gray);text-decoration:none;}
.tv-section .page-numbers.current{background:var(--tv-red);color:#fff;border-color:var(--tv-red);}
.tv-section .page-numbers:hover:not(.current){border-color:var(--tv-navy);color:var(--tv-navy);}

/* =========================================================================
   CTA BANDI
   ========================================================================= */
.tv-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--tv-red),var(--tv-red-dark));padding:clamp(3rem,6vw,5rem) 1.5rem;}
.tv-cta__in{position:relative;max-width:62.5rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.tv-cta h2{font:700 clamp(1.625rem,4vw,2.5rem) var(--tv-font-head);text-transform:uppercase;color:#fff;margin:0 0 0.5rem;line-height:1.1;}
.tv-cta p{font:400 1rem var(--tv-font-body);color:rgba(255,255,255,.88);margin:0;max-width:30rem;}

/* =========================================================================
   FOOTER
   ========================================================================= */
.tv-footer{position:relative;background:var(--tv-navy);color:var(--tv-on-navy);overflow:hidden;}
.tv-footer__motif{position:absolute;left:50%;top:-2.5rem;transform:translateX(-50%);width:18.75rem;height:18.75rem;opacity:.04;object-fit:contain;pointer-events:none;}
.tv-footer__in{position:relative;max-width:var(--tv-wrap);margin:0 auto;padding:clamp(3rem,6vw,4.5rem) 1.5rem 0;}
.tv-footer__brand{text-align:center;padding-bottom:2.625rem;border-bottom:0.0625rem solid rgba(255,255,255,.1);}
.tv-footer__brand img{width:4rem;height:4rem;margin:0 auto 1rem;object-fit:contain;border-radius:0;}
.tv-footer__brand .nm{font:700 1.5rem var(--tv-font-head);letter-spacing:.04em;text-transform:uppercase;color:#fff;}
.tv-footer__brand .sub{font:500 0.8125rem var(--tv-font-body);letter-spacing:.04em;color:var(--tv-gold);margin-top:0.375rem;text-transform:uppercase;}
.tv-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.875rem,1fr));gap:2.125rem;padding:2.75rem 0;}
.tv-footer__cols h4{font:600 0.875rem var(--tv-font-head);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 1rem;}
.tv-footer__cols .col-links{display:flex;flex-direction:column;gap:0.6875rem;}
.tv-footer__cols a,.tv-footer__cols span,.tv-footer__cols p{font:400 0.9062rem var(--tv-font-body);color:var(--tv-on-navy);text-decoration:none;line-height:1.5;margin:0;}
.tv-footer__cols a:hover{color:#fff;}
.tv-footer__bottom{border-top:0.0625rem solid rgba(255,255,255,.1);padding:1.375rem 0 1.75rem;display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:0.625rem;font:400 0.8125rem var(--tv-font-body);color:var(--tv-on-navy);}
.tv-footer__bottom a{color:var(--tv-on-navy);text-decoration:none;}
.tv-footer__bottom a:hover{color:#fff;}

/* =========================================================================
   QUERY LOOP (Basında Biz / Son Yazılarım) — kart stili
   ========================================================================= */
.tv-loop .wp-block-post-template{list-style:none;margin:0;padding:0;display:grid;gap:1.625rem;
  grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));}
.tv-loop .wp-block-post-template li{margin:0;border:0.0625rem solid var(--tv-line);border-radius:0.75rem;overflow:hidden;
  display:flex;flex-direction:column;background:#fff;transition:transform .2s,box-shadow .2s;}
.tv-loop .wp-block-post-template li:hover{transform:translateY(-0.375rem);box-shadow:0 1.125rem 2.5rem rgba(11,27,51,.12);}
.tv-loop .wp-block-post-featured-image{margin:0;height:11.75rem;overflow:hidden;}
.tv-loop .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;}
.tv-loop .wp-block-post-title{font:600 1.3125rem var(--tv-font-head);text-transform:uppercase;line-height:1.16;
  color:var(--tv-navy);margin:0;padding:1.375rem 1.5rem 0;}
.tv-loop .wp-block-post-title a{color:inherit;text-decoration:none;}
.tv-loop .wp-block-post-title a:hover{color:var(--tv-red);}
.tv-loop .wp-block-post-excerpt{font:400 0.9375rem var(--tv-font-body);line-height:1.65;color:var(--tv-gray);padding:0.625rem 1.5rem 1.5rem;margin:0;}
.tv-loop .wp-block-post-excerpt__more-link{color:var(--tv-red);font-weight:600;text-decoration:none;}
.tv-loop .wp-block-query-pagination{justify-content:center;gap:0.5rem;margin-top:2.625rem;}
.tv-loop .wp-block-query-pagination a,.tv-loop .wp-block-query-pagination .current{font:600 0.9375rem var(--tv-font-head);
  min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:0.5rem;border:0.0625rem solid var(--tv-line);
  color:var(--tv-gray);text-decoration:none;}
.tv-loop .wp-block-query-pagination .current{background:var(--tv-red);color:#fff;border-color:var(--tv-red);}

/* tekil yazı (single) */
.tv-single{max-width:47.5rem;margin:0 auto;padding:clamp(2.125rem,5vw,3.5rem) 1.5rem clamp(3.75rem,8vw,6rem);}
.tv-single .tv-back{display:inline-flex;align-items:center;gap:0.5rem;font:600 0.875rem var(--tv-font-body);color:var(--tv-gray);text-decoration:none;margin-bottom:1.625rem;}
.tv-single .tv-back:hover{color:var(--tv-red);}
.tv-single h1{font:700 clamp(1.75rem,4.6vw,2.875rem) var(--tv-font-head);text-transform:uppercase;line-height:1.08;color:var(--tv-navy);margin:0 0 1.625rem;}
.tv-single .tv-feat{border-radius:0.875rem;overflow:hidden;margin-bottom:1.875rem;border:0.0625rem solid var(--tv-line);}
.tv-single .tv-feat--empty{display:flex;align-items:center;justify-content:center;height:12rem;cursor:pointer;
  color:var(--tv-gray);font:600 0.9375rem var(--tv-font-body);background:var(--tv-badge-bg);border-style:dashed;}
.tv-single .tv-feat--empty:hover{color:var(--tv-red);border-color:var(--tv-red);}
.tv-single .entry-content{font:400 1.0625rem/1.8 var(--tv-font-body);color:#2c333f;}
.tv-single .entry-content p{margin:0 0 1.375rem;}
.tv-single .tv-single__bio{font:400 1.125rem/1.7 var(--tv-font-body);color:#2c333f;margin:0 0 1.875rem;padding-bottom:1.875rem;border-bottom:0.0625rem solid var(--tv-line);}
.tv-single--kadro{max-width:70rem;}
.tv-single__profile{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:start;gap:clamp(1.75rem,4vw,3.5rem);}
.tv-single__portrait{width:100%;justify-self:center;}
.tv-single--kadro .tv-feat{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/4;margin:0;background:#fff;}
.tv-single--kadro .tv-feat img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;}
.tv-single--kadro .tv-single__profile-content{min-width:0;}
.tv-single--kadro .tv-single__bio{margin:0 0 1.5rem;padding:0;border:0;}
@media(max-width:48rem){
  .tv-single__profile{grid-template-columns:minmax(0,1fr);}
  .tv-single__portrait{max-width:21rem;}
}
.tv-single .tv-cat{font:700 0.75rem var(--tv-font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--tv-red);background:var(--tv-badge-bg);padding:0.3125rem 0.6875rem;border-radius:0.3125rem;}
/* Etkinlik tarihi rozeti — yalnız "etkinlik" etiketli yazılarda (tv-single, single.php) */
.tv-event-date{display:inline-flex;align-items:center;gap:0.5rem;font:600 0.9375rem var(--tv-font-body);color:var(--tv-navy);
  background:var(--tv-bg-soft);border:0.0625rem solid var(--tv-line);border-radius:0.5rem;padding:0.5rem 0.875rem;margin-bottom:1.125rem;}
body.tvr-editing .tv-event-date[data-tvpm]{cursor:pointer;}
body.tvr-editing .tv-event-date[data-tvpm]:hover{border-color:var(--tv-red);}
.tv-event-date--past{opacity:.75;}
.tv-event-date__past{font:700 0.6875rem var(--tv-font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--tv-gray);
  background:#fff;padding:0.1875rem 0.5rem;border-radius:1rem;}

/* =========================================================================
   ETKİNLİKLER LİSTESİ — [refah_etkinlikler] shortcode (Etkinlikler sayfası)
   ========================================================================= */
.tv-events{display:flex;flex-direction:column;gap:1rem;}
.tv-events__empty{font:400 0.9375rem var(--tv-font-body);color:var(--tv-gray);}
/* Editör-yalnız "Sil" formu için eklenen sarmalayıcı — ziyaretçi/normal düzende
   .tv-events'in doğrudan flex-item'ı GÖRÜNMESİN diye şeffaf (bkz. aynı teknik
   .wp-block-group__inner-container'da, EDITING-GUIDE.md §2). */
.tv-event-wrap{display:contents;}
.tv-event{display:flex;gap:1.25rem;align-items:flex-start;background:#fff;border:0.0625rem solid var(--tv-line);
  border-radius:0.75rem;padding:1.25rem;text-decoration:none;transition:transform .2s,box-shadow .2s;}
.tv-event:hover{transform:translateY(-0.25rem);box-shadow:0 1.125rem 2.5rem rgba(11,27,51,.13);}
.tv-event__date{flex:none;width:4.375rem;height:4.375rem;border-radius:0.625rem;background:var(--tv-navy);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;}
.tv-event__day{font:700 1.5rem var(--tv-font-head);line-height:1;}
.tv-event__mon{font:600 0.6875rem var(--tv-font-head);letter-spacing:.08em;text-transform:uppercase;margin-top:0.1875rem;}
.tv-event__body{flex:1;min-width:0;}
.tv-event__top{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.375rem;flex-wrap:wrap;}
.tv-event__status{font:700 0.6875rem var(--tv-font-head);letter-spacing:.06em;text-transform:uppercase;padding:0.25rem 0.625rem;border-radius:1rem;}
.tv-event__status--upcoming{background:#e6f6ea;color:#1e6b3a;}
.tv-event__status--past{background:var(--tv-bg-soft);color:var(--tv-gray);}
.tv-event__status--province{background:var(--tv-red);color:#fff;box-shadow:0 .125rem .375rem rgba(226,0,26,.18);}
.tv-event__status--district{background:#fdecea;color:var(--tv-red-dark);border:.0625rem solid #f5c8ce;}
.tv-event__status--topic{background:#fff6df;color:#765a13;border:.0625rem solid #ead79c;}
.tv-event__time{font:500 0.8125rem var(--tv-font-body);color:var(--tv-gray);}
.tv-event__title{font:700 1.125rem var(--tv-font-head);color:var(--tv-navy);margin:0 0 0.375rem;}
.tv-event__address{font:500 0.8125rem var(--tv-font-body);color:var(--tv-gray);margin:0 0 0.375rem;}
.tv-event__excerpt{font:400 0.9375rem var(--tv-font-body);color:var(--tv-gray);line-height:1.5;margin:0;}
.tv-event--past{opacity:.72;}
.tv-event--past .tv-event__date{background:var(--tv-bg-soft);color:var(--tv-gray);}
@media(max-width:26.25rem){
  .tv-event{gap:0.875rem;padding:1rem;}
  .tv-event__date{width:3.5rem;height:3.5rem;}
}

/* İl + ilçe kurumsal yazı/basın akışı. Rozet dili etkinlik kartlarıyla ortaktır. */
.tv-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
.tv-editorial-card-wrap{position:relative;min-width:0;}
.tv-editorial-card{height:100%;display:flex;flex-direction:column;background:#fff;border:0.0625rem solid var(--tv-line);
  border-radius:0.75rem;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;}
.tv-editorial-card:hover{transform:translateY(-0.25rem);box-shadow:0 1.125rem 2.5rem rgba(11,27,51,.13);border-color:#cbd1db;}
.tv-editorial-card__media{aspect-ratio:16/9;background:var(--tv-bg-soft);overflow:hidden;}
.tv-editorial-card__img{width:100%;height:100%!important;object-fit:cover;}
.tv-editorial-card__body{display:flex;flex-direction:column;flex:1;padding:1.25rem;}
.tv-editorial-card h3{font:700 1.2rem/1.25 var(--tv-font-head);color:var(--tv-navy);margin:0 0 .625rem;}
.tv-editorial-card p{font:400 .9375rem/1.55 var(--tv-font-body);color:var(--tv-gray);margin:0 0 1rem;}
.tv-editorial-card .tv-card__more{margin-top:auto;}
.tv-signature{margin-top:2rem;padding:1.25rem 1.5rem;border-left:.25rem solid var(--tv-red);background:var(--tv-bg-soft);}
.tv-signature__name{font:700 1.05rem var(--tv-font-head);color:var(--tv-navy);}
.tv-signature__title{font:500 .875rem var(--tv-font-body);color:var(--tv-gray);margin-top:.25rem;}
@media(max-width:64rem){.tv-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:48rem){
  .tv-editorial-grid{grid-template-columns:1fr;}
  .tv-editorial-grid--preview{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:1rem;padding:.25rem .25rem .75rem;margin:0 -.25rem;scrollbar-width:none;}
  .tv-editorial-grid--preview::-webkit-scrollbar{display:none;}
  .tv-editorial-grid--preview .tv-editorial-card-wrap{flex:0 0 86%;scroll-snap-align:start;}
}

/* Koleksiyon ön yüz ekle/sil (Kadro/Vaat/Etkinlik) — YALNIZ giriş yapmış
   düzenleyiciye basılan sade form/buton HTML'i (bkz. functions.php
   imaxis_koleksiyon_add_form()/imaxis_koleksiyon_delete_button()). Ziyaretçi
   bu kuralları HİÇ tetiklemez (ilgili öğeler DOM'da bile yok). */
.tv-kol-del{display:inline-block;margin:0;}
.tv-kol-del__btn{cursor:pointer;border:none;background:var(--tv-navy);color:#fff;font:700 0.75rem var(--tv-font-head);
  letter-spacing:.02em;padding:0.375rem 0.75rem;border-radius:0.375rem;}
.tv-kol-del__btn:hover{background:var(--tv-red);}
/* Etkinlik kartı .tv-event-wrap {display:contents} olduğu için editlink/sil burada
   overlay DEĞİL, kartın ALTINDA sade bir satır olarak görünür (bkz. yukarıdaki not). */
.tv-event-wrap .tv-promise__editlink,.tv-event-wrap .tv-kol-del{position:static;display:inline-block;margin:0.5rem 0.5rem 0 0;}
.tv-kol-add{margin-top:1.25rem;border:0.0625rem dashed var(--tv-line);border-radius:0.625rem;padding:0.875rem 1.125rem;}
.tv-kol-add__btn{cursor:pointer;font:700 0.8125rem var(--tv-font-head);letter-spacing:.02em;color:var(--tv-navy);}
.tv-kol-add__form{display:flex;flex-direction:column;gap:0.75rem;margin-top:0.875rem;max-width:26rem;}
.tv-kol-add__form label{display:flex;flex-direction:column;gap:0.3rem;font:600 0.8125rem var(--tv-font-body);color:var(--tv-gray);}
.tv-kol-add__form input,.tv-kol-add__form select,.tv-kol-add__form textarea{font:400 0.9375rem var(--tv-font-body);
  padding:0.5rem 0.6875rem;border:0.0625rem solid var(--tv-line);border-radius:0.375rem;}
.tv-kol-add__save{align-self:flex-start;cursor:pointer;border:none;background:var(--tv-red);color:#fff;font:700 0.8125rem var(--tv-font-head);
  letter-spacing:.02em;padding:0.5rem 1.125rem;border-radius:0.375rem;}
.tv-kol-add__save:hover{background:var(--tv-red-dark);}

/* =========================================================================
   MOBİL HERO (portre poster — Mobil.jpeg)
   <1040px: dikey poster üstte, metin altta koyu zeminde
   ========================================================================= */
@media(max-width:64.9375rem){
  /* Açıklama gizlenip butonlar tek satıra alınınca (aşağısı) kart ÇOK kısaldı —
     hero artık TEK EKRANA sığacak şekilde küçültüldü (95vh yerine 80vh); ekstra
     alt boşluk kalmaz, kaydırmaya gerek yok. */
  .tv-hero{min-height:80vh;align-items:flex-end;}
  /* Gerçek telefonda test edilince (bkz. ROADMAP): tam-yükseklik "cover" görsel dikey
     kırpma PAYI BIRAKMIYOR (bu en-boy oranında height=width/oran zaten container'ı
     doldurmaya yetiyor) — yani object-position'ın dikey bileşeni (top/center/bottom)
     ETKİSİZ kalıyor VE butonlar/metin doğrudan figürlerin üstüne biniyordu. Çözüm:
     görseli sabit bir ÜST YÜZDEYE sınırla — kart (artık çok kısa: tek başlık + tek
     buton satırı) HER ZAMAN düz lacivert zeminde kalır, yalnız üst rozet satırı
     fotoğrafın ALT kısmına biner. */
  .tv-site .tv-hero__bg{height:68%;object-position:center top;}
  /* Mobil portre: alt yazı için yeterli koyuluk, üst belirgin şekilde açık → yüzler net */
  .tv-hero__overlay{
    height:68%;
    background:linear-gradient(to top,
      rgba(11,27,51,.90) 0%,
      rgba(11,27,51,.70) 22%,
      rgba(11,27,51,.26) 50%,
      rgba(11,27,51,.04) 74%,
      rgba(11,27,51,.14) 100%);
  }
  .tv-hero__in{padding-bottom:2rem;padding-left:2.25rem;padding-right:1.75rem;}
  .tv-hero__card{max-width:100%;}
  .tv-hero h1{font-size:clamp(2.25rem,9vw,3.25rem);margin-bottom:1.25rem;}
  /* Açıklama paragrafı mobilde GİZLENİR — kartı kısaltıp görsele daha fazla alan
     bırakır, gerçek telefonda test edilip talep edildi (bkz. ROADMAP). */
  .tv-hero p:not(.tv-eyebrow){display:none;}
  /* Butonlar mobilde de YAN YANA (sarmıyor) — dikey istiflenince kart çok uzuyor,
     görselin üstüne biniyordu. */
  .tv-hero__btns{flex-wrap:nowrap;gap:0.625rem;}
  .tv-hero__btns .tv-btn{flex:1 1 0;justify-content:center;padding-left:0.5rem;padding-right:0.5rem;
    font-size:0.8125rem;white-space:nowrap;}
  /* Gerçek telefonda test edilince (bkz. inline-editor.js) sağ-altta sabit duran düzenleyici
     çubuğun kısa mobil hero'larda ikinci CTA'nın üstüne bindiği görüldü — yalnız düzenleyici
     AÇIKKEN (body.tvr-editor-present) fazladan alt boşluk; ziyaretçiler etkilenmez. */
  body.tvr-editor-present .tv-hero__in{padding-bottom:5rem;}
}
@media(max-width:30rem){ /* <480px küçük telefon */
  .tv-hero{min-height:80vh;}
}

/* =========================================================================
   NATIVE BLOK UYUMLULUĞU (Gutenberg core blokları + tasarım sınıfları)
   Sayfa içerikleri group/heading/paragraph bloklarına dönüştürüldü;
   WP'nin eklediği sarmalayıcı stillerini nötrle.
   ========================================================================= */
.tv-site .entry-content{display:block;}
.tv-site .wp-block-group{margin-block:0;}
/* Section bölümleri zaten kendi padding'ini verir; blok boşluğu eklenmesin */
.tv-site .entry-content > .wp-block-group,
.tv-site .entry-content > .tv-section{margin-block:0;}
/* Başlık/paragraf bloklarının varsayılan üst boşluğunu tasarım yönetir */
.tv-site .wp-block-heading{margin-top:0;}
/* core/buttons → tasarım buton grubu */
.tv-site .wp-block-buttons{gap:0.875rem;margin:0;}
.tv-site .wp-block-button{margin:0;}
.tv-site .wp-block-button__link.tv-btn{padding:1rem 2rem;}
.tv-site .wp-block-button__link.tv-btn--ghost{padding:0.875rem 1.875rem;}
/* heading bloğu hizalama: tasarım sol hizalı */
.tv-site .wp-block-heading{text-align:inherit;}

/* native-blok düzeninde kullanılan yardımcı sınıflar */
.tv-promise-list{display:flex;flex-direction:column;gap:clamp(3rem,7vw,5.5rem);}
.tv-center{text-align:center;margin-bottom:2.625rem;}
.tv-center .tv-eyebrow{justify-content:center;}
.tv-center .tv-h2{margin-top:0.75rem;}
.tv-prose > .wp-block-heading{margin-top:0;}

/* core/group iç sarmalayıcısını şeffaf yap → tasarım flex/grid'i gerçek çocuklara uygulanır */
.tv-site .wp-block-group__inner-container{display:contents;}

/* =========================================================================
   BÖLÜM BOŞLUK YARDIMCILARI (ön yüz editörü "Boşluk" kontrolü)
   ========================================================================= */
.tv-pt-0{padding-top:0!important}.tv-pt-1{padding-top:1.5rem!important}.tv-pt-2{padding-top:3rem!important}.tv-pt-3{padding-top:5rem!important}.tv-pt-4{padding-top:7.5rem!important}
.tv-pb-0{padding-bottom:0!important}.tv-pb-1{padding-bottom:1.5rem!important}.tv-pb-2{padding-bottom:3rem!important}.tv-pb-3{padding-bottom:5rem!important}.tv-pb-4{padding-bottom:7.5rem!important}
.tv-mt-0{margin-top:0!important}.tv-mt-1{margin-top:1.5rem!important}.tv-mt-2{margin-top:3rem!important}.tv-mt-3{margin-top:5rem!important}
.tv-mb-0{margin-bottom:0!important}.tv-mb-1{margin-bottom:1.5rem!important}.tv-mb-2{margin-bottom:3rem!important}.tv-mb-3{margin-bottom:5rem!important}
/* yatay boşluk (sol/sağ) */
.tv-pl-0{padding-left:0!important}.tv-pl-1{padding-left:1.5rem!important}.tv-pl-2{padding-left:3rem!important}.tv-pl-3{padding-left:5rem!important}.tv-pl-4{padding-left:7.5rem!important}
.tv-pr-0{padding-right:0!important}.tv-pr-1{padding-right:1.5rem!important}.tv-pr-2{padding-right:3rem!important}.tv-pr-3{padding-right:5rem!important}.tv-pr-4{padding-right:7.5rem!important}
.tv-ml-0{margin-left:0!important}.tv-ml-1{margin-left:1.5rem!important}.tv-ml-2{margin-left:3rem!important}.tv-ml-3{margin-left:5rem!important}
.tv-mr-0{margin-right:0!important}.tv-mr-1{margin-right:1.5rem!important}.tv-mr-2{margin-right:3rem!important}.tv-mr-3{margin-right:5rem!important}

/* SSS akordeon (section paleti: faq) */
.tv-faq{border:1px solid var(--tv-line);border-radius:.6rem;background:var(--tv-bg);margin:.6rem 0;overflow:hidden;}
.tv-faq>summary{cursor:pointer;list-style:none;padding:1rem 1.15rem;font-family:var(--tv-font-head);font-size:1.05rem;color:var(--tv-navy);display:flex;justify-content:space-between;align-items:center;}
.tv-faq>summary::-webkit-details-marker{display:none;}
.tv-faq>summary::after{content:"+";font-size:1.4rem;color:var(--tv-red);margin-left:1rem;transition:transform .2s;}
.tv-faq[open]>summary::after{transform:rotate(45deg);}
.tv-faq>p{margin:0;padding:0 1.15rem 1.15rem;color:var(--tv-gray);line-height:1.6;}

/* CTA kutulu varyant (section paleti: cta:boxed) */
.tv-ctabox{background:var(--tv-navy);color:#fff;border-radius:1rem;padding:3rem 2rem;text-align:center;}
.tv-ctabox .tv-h2{color:#fff;}
.tv-ctabox p{color:var(--tv-on-navy-2);margin:.6rem 0 1.4rem;}

/* SSS iki kolon (faq:grid) */
.tv-qa h3{margin:0 0 .4rem;font-family:var(--tv-font-head);color:var(--tv-navy);font-size:1.1rem;}
.tv-qa p{margin:0;color:var(--tv-gray);line-height:1.6;}

/* Ekip kompakt liste (team:list) */
.tv-teamlist{display:flex;flex-direction:column;}
.tv-teamrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem .2rem;border-bottom:1px solid var(--tv-line);}
.tv-teamrow__n{font-family:var(--tv-font-head);color:var(--tv-navy);font-size:1.05rem;}
.tv-teamrow__r{color:var(--tv-gray);font-size:.9rem;text-align:right;}

/* Kadro ağacı — Genel Başkan → İl Başkanı → İlçe Başkanları (familytree:1),
 * [refah_kadro_agaci] shortcode'u — bkz. tema functions.php. */
.tv-orgtree{display:flex;flex-direction:column;align-items:center;text-align:center;}
.tv-orgtree__level{display:flex;justify-content:center;align-items:flex-start;}
.tv-orgtree__connector{width:.125rem;height:2rem;background:var(--tv-line);}
.tv-orgtree__node{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:#fff;border:.0625rem solid var(--tv-line);
  border-radius:.75rem;padding:1rem 1.5rem;box-shadow:0 .5rem 1.5rem rgba(11,27,51,.08);min-width:11rem;}
.tv-orgtree__node--top{border-color:var(--tv-navy);background:var(--tv-navy);}
.tv-orgtree__node--top .tv-orgtree__role{color:rgba(255,255,255,.65);}
.tv-orgtree__node--top .tv-orgtree__name{color:#fff;}
.tv-orgtree__photo{width:3.75rem;height:3.75rem;border-radius:50%;overflow:hidden;margin-bottom:.25rem;
  border:.125rem solid var(--tv-line);flex-shrink:0;}
.tv-orgtree__node--top .tv-orgtree__photo{border-color:rgba(255,255,255,.4);}
.tv-orgtree__node--here .tv-orgtree__photo{border-color:var(--tv-red);}
.tv-orgtree__photo img{width:100%;height:100%;object-fit:cover;}
.tv-orgtree__role{font:700 .6875rem var(--tv-font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--tv-gray);}
.tv-orgtree__name{font:700 1.0625rem var(--tv-font-head);color:var(--tv-navy);}
.tv-orgtree__level--branches{flex-wrap:wrap;gap:1.5rem 2rem;padding-top:2rem;position:relative;max-width:64rem;}
.tv-orgtree__level--branches::before{content:'';position:absolute;top:0;left:10%;right:10%;height:.125rem;background:var(--tv-line);}
.tv-orgtree__node--branch{position:relative;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.tv-orgtree__node--branch::before{content:'';position:absolute;top:-2rem;left:50%;width:.125rem;height:2rem;background:var(--tv-line);}
/* İl sayfasında TÜM ilçeler (onlarca olabilir) tek satırda yatay kaydırmalı bir
 * şeride sığar — .tv-carousel'daki native overflow-x deseniyle AYNI, JS/kütüphane
 * YOK. Sarmalı (wrap) düzendeki süslü üst-çizgi + düğüm-sapı burada anlamsız
 * kalırdı (yalnız ilk satır hizalanır), o yüzden bunlar kaydırmalı modda
 * bilinçli olarak gizlenir — yalnız yukarıdaki tek dikey bağlayıcı kalır. */
.tv-orgtree__level--scroll{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:100%;
  padding:.25rem .25rem 1rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;}
.tv-orgtree__level--scroll::before{display:none;}
.tv-orgtree__level--scroll .tv-orgtree__branch-group{flex-shrink:0;scroll-snap-align:start;}
.tv-orgtree__level--scroll .tv-orgtree__node--branch::before{display:none;}
.tv-orgtree__node--branch:hover{transform:translateY(-.25rem);box-shadow:0 .75rem 2rem rgba(11,27,51,.16);border-color:var(--tv-red);}
.tv-orgtree__node--branch:hover .tv-orgtree__name{color:var(--tv-red);}
.tv-orgtree__node--here{border-color:var(--tv-red);background:var(--tv-badge-bg);}
.tv-orgtree__node--here::after{content:'Buradasınız';position:absolute;top:-1.6rem;left:50%;transform:translateX(-50%);
  font:700 .625rem var(--tv-font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--tv-red);white-space:nowrap;}
/* İl Başkanı/İlçe Başkanı + kendi ekibi — dikey bir "dal" (branch-group) olarak
 * gruplanır; ekip satırı o dalın altına, biraz daha küçük kartlarla dizilir. */
.tv-orgtree__branch-group{display:flex;flex-direction:column;align-items:center;}
.tv-orgtree__connector--sm{height:1.25rem;}
.tv-orgtree__level--ekip{flex-wrap:wrap;justify-content:center;gap:1rem .75rem;padding-top:.25rem;max-width:34rem;}
.tv-orgtree__node--ekip{min-width:auto;padding:.6rem .9rem;box-shadow:0 .25rem .75rem rgba(11,27,51,.06);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.tv-orgtree__node--ekip:hover{transform:translateY(-.2rem);box-shadow:0 .5rem 1.25rem rgba(11,27,51,.12);border-color:var(--tv-red);}
.tv-orgtree__node--ekip:hover .tv-orgtree__name{color:var(--tv-red);}
.tv-orgtree__node--ekip .tv-orgtree__role{font-size:.625rem;}
.tv-orgtree__node--ekip .tv-orgtree__name{font-size:.8125rem;}
.tv-orgtree__photo--sm{width:2.5rem;height:2.5rem;}
/* Düzenleyiciye hiyerarşinin nasıl kurulduğunu anlatan üst bilgi notu. */
.tv-orgtree__hint{max-width:38rem;margin:0 0 1.5rem;padding:.75rem 1rem;background:var(--tv-badge-bg);
  border:.0625rem dashed var(--tv-red);border-radius:.5rem;font:500 .8125rem/1.5 var(--tv-font-body);color:var(--tv-navy);}
/* Ekip kartındaki "Bağlı: X" satırı — kadro ağacı hiyerarşisini (_tv_kadro_parent)
 * belirleyen alan; yalnız EDİTÖRE görünür (bkz. imaxis_kadro_agaci $ekip_node). */
.tv-orgtree__parenthint{display:block;margin-top:.3rem;font:600 .625rem var(--tv-font-body);color:var(--tv-gray);
  text-transform:none;letter-spacing:normal;border-top:.0625rem dashed var(--tv-line);padding-top:.3rem;}
@media(max-width:48rem){
  .tv-orgtree__level--branches{gap:1.25rem 1rem;}
  .tv-orgtree__node{min-width:9rem;padding:.8rem 1.1rem;}
  .tv-orgtree__level--ekip{gap:.75rem .5rem;max-width:100%;}
}

/* ===== Ön yüz editör: stil kontrolleri (arka plan/buton/hizalama) ===== */
/* Arka plan presetleri — mevcut tv-white/tv-soft/tv-dark'a ek (kırmızı/altın/özel) */
.tv-redbg{background:var(--tv-red);}
.tv-goldbg{background:var(--tv-gold);}
.tv-bg-custom{background:var(--tv-sec-bg);}
/* Koyu zeminlerde metni aç (navy/kırmızı/özel-koyu → tv-oncolor) */
.tv-oncolor,.tv-oncolor :is(h1,h2,h3,h4,h5,.tv-h1,.tv-h2,.tv-h3,p,li,span,a){color:#fff;}
.tv-redbg :is(h1,h2,h3,h4,.tv-h1,.tv-h2,.tv-h3,p){color:#fff;}
.tv-goldbg :is(h1,h2,h3,h4,.tv-h1,.tv-h2,.tv-h3){color:var(--tv-navy);}
/* Buton rengi — bölüm değişkeni; ghost/light varyantları etkilenmez */
.tv-btn:not(.tv-btn--ghost):not(.tv-btn--light){background:var(--tv-btn-bg,var(--tv-red));}
.tv-btn:not(.tv-btn--ghost):not(.tv-btn--light):hover{background:var(--tv-btn-bg,var(--tv-red-dark));filter:brightness(.95);}
/* Hizalama */
.tv-align-left{text-align:left;}
.tv-align-center{text-align:center;}
.tv-align-right{text-align:right;}

/* Genel "arka plan görseli" (ör. dekoratif logo/amblem) — HERHANGİ bölüme editörden
   eklenebilir. z-index:-1 içeriğin daima ARKASINDA kalmasını garanti eder (DOM sırasından
   bağımsız, .tv-slogan__motif gibi özel içerik-sarmalayıcı position hilesine gerek yok).
   Varsayılan konum/boyut mevcut tv-slogan__motif ile aynı (kanıtlanmış görünüm); konum
   editörden margin ile "itilebilir", opaklık editörden ayarlanabilir. */
/* .tv-site altında scope'landı: özgüllüğü (specificity) sitewide ".tv-site img{height:auto}"
   sıfırlamasından kasıtlı olarak yüksek tutar (aksi halde height:auto kazanır, görsel oranı bozulur). */
.tv-site .tv-bg-decor{position:absolute;z-index:-1;top:50%;right:-3.75rem;transform:translateY(-50%);
  width:21.25rem;height:21.25rem;opacity:.06;object-fit:contain;}
