/* 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))}
