/* Yazılıma özel ek stiller: harfli / resimli logo, form tuzak alanı, hata mesajı, parti / aday bileşenleri (üst bilgi çubuğu, duyuru listesi, seçim sayacı, portre) */
.logo--harf .logo-isaret{font-family:var(--f1);font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.logo--resim .logo-isaret{background:transparent;overflow:hidden;padding:0}
.logo--resim .logo-isaret img{width:100%;height:100%;object-fit:contain}
.bal{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.d-sonuc.hata{background:#fde8e8;color:#b42318}
.koyu .d-sonuc.hata{background:#3d1414;color:#fca5a5}
.ur-g h3 a:hover{color:var(--ana)}

/* Mobil alt hızlı erişim bandı: tüm temalarda (masaüstünde gizli) */
.sekme--hizli button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:inherit;font-size:.66rem;font-weight:600;color:var(--soluk);background:none;border:0;padding:0;cursor:pointer}
.sekme--hizli button i{font-size:1.1rem}
.sekme--hizli .sekme-wa i{color:#25d366}
.sekme--hizli a:active,.sekme--hizli button:active{transform:scale(.94)}

/* Üst bilgi çubuğu: seçim sayacı / parti adı, telefon, e-posta, YSK */
.ub{background:var(--yazi);color:var(--zemin);font-size:.8rem}
.koyu .ub{background:var(--yuzey2);color:var(--yazi)}
.ub-ic{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:36px}
.ub-yil{display:inline-flex;gap:.45rem;align-items:center;opacity:.9}
.ub-sag{display:flex;gap:1.2rem;align-items:center}
.ub a{display:inline-flex;gap:.4rem;align-items:center;opacity:.85}
.ub a:hover{opacity:1}
@media (max-width:760px){.ub-sag a:not(:first-child){display:none}.ub-yil{display:none}.ub-ic{justify-content:center}}

/* Duyuru listesi: tarih kutusu + başlık satırları */
.dy-liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--cizgi)}
.dy-liste li{border-bottom:1px solid var(--cizgi)}
.dy-liste a{display:grid;grid-template-columns:64px minmax(0,1fr) 18px;gap:1rem;align-items:center;padding:.9rem .2rem;transition:background .2s}
.dy-liste a:hover{background:var(--yuzey2)}
.dy-liste time{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:var(--ana);color:var(--anaYazi);padding:.45rem 0;line-height:1.1}
.dy-liste time b{font-family:var(--f1);font-size:1.35rem}
.dy-liste time small{font-size:.68rem;opacity:.85}
.dy-liste span b{display:block;font-size:1rem;line-height:1.35}
.dy-liste span small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:var(--soluk);font-size:.86rem}
.dy-liste a>i{color:var(--soluk)}


/* Seçim geri sayımı */
.sc-sayac{display:inline-flex;align-items:center;gap:1rem;padding:.8rem 1.1rem;border-radius:var(--r,14px);background:var(--yuzey);border:1px solid var(--cizgi);box-shadow:0 18px 40px -30px rgba(0,0,0,.35)}
.sc-gun{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;padding:.5rem .7rem;border-radius:calc(var(--r,14px) - 4px);background:var(--ana);color:var(--anaYazi);line-height:1}
.sc-gun b{font-family:var(--f1);font-size:2rem;font-variant-numeric:tabular-nums}
.sc-gun small{font-size:.72rem;opacity:.85;margin-top:.2rem;text-transform:uppercase;letter-spacing:.08em}
.sc-bilgi{display:flex;flex-direction:column}
.sc-bilgi small{color:var(--soluk);font-size:.8rem}
.sc-bilgi b{font-size:1.05rem}
.sc-sayac--sayfa{margin-bottom:1.6rem}

/* Aday portresi: yüklenmemişse parti renginde siluet */
.pt{position:relative;margin:0;overflow:hidden;border-radius:var(--r,16px);aspect-ratio:4/5;background:var(--yuzey2)}
.pt img{width:100%;height:100%;object-fit:cover;object-position:top}
.pt--yok{color:var(--ana);background:linear-gradient(160deg,color-mix(in srgb,var(--ana) 14%,var(--yuzey)),color-mix(in srgb,var(--ana2) 18%,var(--yuzey2)))}
.pt--yok svg{position:absolute;inset:0;width:100%;height:100%}
.pt-harf{position:absolute;left:50%;top:37%;transform:translate(-50%,-50%);font-family:var(--f1);font-weight:700;font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:.04em;color:var(--ana);opacity:.85}
.pt--yok figcaption{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);display:inline-flex;gap:.4rem;align-items:center;white-space:nowrap;padding:.35rem .75rem;border-radius:99px;background:color-mix(in srgb,var(--yuzey) 85%,transparent);color:var(--soluk);font-size:.74rem;font-weight:600}

/* Demo çubuğu notu */
.demo-cubuk .dc-not{font-size:.72rem;opacity:.75;padding:0 .6rem;white-space:nowrap}
@media (max-width:900px){.demo-cubuk .dc-not{display:none}}

/* Kişisel tanıtım ortak yardımcıları (konseptler üzerine yazabilir) */
.ks-et{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ana2);margin-bottom:.45rem}
.ks-bas{margin-bottom:1.2rem}
.ks-bas h2{margin:0 0 .6rem;font-size:clamp(1.5rem,3vw,2.2rem);font-family:var(--f1);line-height:1.15}
.ks-bas h2 em{font-style:normal;color:var(--ana)}
.ks-bas p{color:var(--soluk);margin:0;max-width:60ch}
.ks-sos{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}
.ks-sos a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--yuzey2);color:var(--yazi);transition:.2s}
.ks-sos a:hover{background:var(--ana);color:var(--anaYazi)}
.ks-kanal{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.55rem}
.ks-kanal a,.ks-kanal>li>span{display:flex;gap:.9rem;align-items:center;padding:.75rem 1rem;border-radius:14px;background:var(--yuzey);border:1px solid var(--cizgi);color:var(--yazi)}
.ks-kanal i{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ana) 12%,transparent);color:var(--ana)}
.ks-kanal span span{display:flex;flex-direction:column;font-weight:600;word-break:break-word}
.ks-kanal small{font-weight:500;color:var(--soluk);font-size:.75rem}
.ks-av{width:46px;height:46px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;background:var(--ana);color:var(--anaYazi);flex:0 0 auto}
.ks-av img{width:100%;height:100%;object-fit:cover}
.ks-av b{font-family:var(--f1);font-size:1rem}
.kisisel .km{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}

/* ic-baslik: iç sayfa başlığı tek satır; iletişim kartlarında etiket üstte, değer altta; mobil menünün altındaki boşlukta soluk logo (referans: sivasbirlikmermer.com) */
.sb .sb-ic h1{font-size:clamp(1.75rem,3.2vw,2.7rem);max-width:none;text-wrap:balance}
.il-kanallar a>span,.il-kanallar li>span>span{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.il-kanallar b{overflow-wrap:anywhere}
.ck-filigran{position:absolute;left:50%;bottom:clamp(14px,5vh,46px);translate:-50% 0;width:min(56%,210px);opacity:.1;pointer-events:none;z-index:0}
.ck-filigran img{display:block;width:100%;height:auto;border-radius:22%}
.ck-liste{position:relative;z-index:1}
@media (max-height:720px){.ck-filigran{width:min(38%,140px)}}
@media (max-height:600px){.ck-filigran{display:none}}
/* ic-baslik-ikon: fotoğraf yoksa başlığın sağında sayfaya uygun büyük, soluk ikon */
.sb-ic:has(>.sb-ikon){grid-template-columns:minmax(0,1fr) auto}
.sb-ikon{display:grid;place-items:center;padding-right:clamp(0px,3vw,48px);pointer-events:none}
.sb-ikon i{font-size:clamp(7rem,13vw,12.5rem);line-height:1;color:var(--ana);opacity:.09}
@media (max-width:760px){
  .sb-ic:has(>.sb-ikon){grid-template-columns:minmax(0,1fr);position:relative}
  .sb-ikon{position:absolute;right:4px;top:50%;translate:0 -50%;padding:0;z-index:0}
  .sb-ikon i{font-size:6.5rem;opacity:.06}
  .sb-metin{position:relative;z-index:1}
}
