/* Stran »Kdo kandidira?« (kandidati.php): lepljiva glava, zavihki, grafi in zemljevid.
 * Barve (naročnik 31. 10. 2026, različica D, namesto vijolične in bež obrazca za vprašanja in brez
 * črne): po festivalu Zmaj 'ma mlade (Mladinski center Postojna): glava v zeleni Zmaja (#406B42),
 * oranžen rob in podčrtaji (#E07C00), rumene oznake (#FFCB08), podatki v modri iz #002E45 in oranžni,
 * svetla zelenkasto siva podlaga.
 * Kontrasti so izmerjeni (WCAG), par barv podatkov je preverjen za barvno slepoto. Vse liste imajo
 * isto barvo: stran nobene ne poudari. */

body.kandidati {
  --crnilo: #1b211c;           /* besedilo: 15,2 : 1 na podlagi */
  --ozadje: #f5f7f2;           /* svetla zelenkasto siva podlaga */
  --papir: #ffffff;
  --pridusen: #535b55;         /* 6,5 : 1 na podlagi */
  --rob: #e1e6dc;
  --rob-polje: #858c87;        /* rob vnosnih polj: 3,4 : 1 na beli */
  --polje-tekst: #1b211c;
  --poudarek: #1b211c;         /* povezave: temne … */
  --podcrtaj: #e07c00;         /* … z oranžnim podčrtajem */
  --gumb: #2e5831;             /* gumbi: zeleni z belim napisom, 8,2 : 1 */
  --gumb-tekst: #ffffff;
  --sonce: #ffcb08;            /* rumena Zmaja: oznake (temen napis 11,4 : 1) */
  --sonce-tekst: #1b211c;
  --fokus: #c25e00;            /* 4,0 : 1 na podlagi */
  --glava: #406b42;            /* zelena Zmaja */
  --glava-tekst: #ffffff;      /* 6,2 : 1 */
  --glava-pridusen: #e3ecdf;
  --glava-poudarek: #ffe9a8;   /* nadnaslov in povezave v glavi: 5,1 : 1 */
  --obzorje: #e07c00;          /* oranžen rob pod glavo */
  --podatki: #00628e;          /* stolpci in pike: 6,7 : 1 na beli */
  --podatki-temna: #0a5072;
  --primerjava: #e07c00;       /* v drugih naseljih (oranžna Zmaja; temen napis, 5,8 : 1) */
  --mreza: #e1e6dc;            /* osi in mreža: tanke, tihe */
  --naslov: #2e5831;           /* naslovi razdelkov in poudarki: temno zelena, 7,6 : 1 na podlagi */
  --zelena-svetla: #e6efe2;    /* značke in ozadja ob zeleni */
  --rob-mocnejsi: #c9d4c3;     /* rob kartice ob prehodu z miško */
  --pika: #8ab8da;             /* pike na grafu starosti: svetlejše, da se mediana vidi (namig in tabela imata vrednosti) */
  --oznaka: 9.5rem;            /* stolpec z imenom liste ob grafu */
  background: var(--ozadje);
  color: var(--crnilo);
  /* Pisava je izbrana v pregledu (zavihek »Kdo kandidira«); CSS izbrane pisave v pisave/ določi spremenljivki. */
  font-family: var(--pisava-besedilo, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "DejaVu Sans", sans-serif);
}
body.kandidati h1, body.kandidati h2, body.kandidati h3, body.kandidati .ploscice .vrednost, body.kandidati .nadnaslov,
body.kandidati .zavihki-strani a, body.kandidati .cela-lista .ime-liste { font-family: var(--pisava-naslov, inherit); }
/* Tipografija: manj krepkega, več stopenj. Naslovi razdelkov polkrepki (600) in zeleni, podnaslovi 600,
 * imena in oznake srednje (500), besedilo navadno (400), opombe drobne in pridušene. */
body.kandidati { line-height: 1.6; }
body.kandidati h2 { font-size: 1.7rem; font-weight: 600; letter-spacing: -.012em; color: var(--naslov); }
body.kandidati .plosca h3 { font-size: 1.22rem; font-weight: 600; letter-spacing: -.005em; }
body.kandidati strong, body.kandidati b { font-weight: 600; }
body.kandidati label, body.kandidati legend { font-weight: 500; }
body.kandidati dt { font-weight: 600; }
body.kandidati .drobno { font-size: .88rem; }
body.kandidati .gumb.drugotni { color: var(--crnilo); border-color: var(--crnilo); }
body.kandidati input { accent-color: var(--gumb); }
body.kandidati .okvir { max-width: 54rem; }


/* ------------------------------------------- zavihki strani pod lepljivo glavo */
/* Lepljiva glava je skupna (stil.css, skripta.js); vrstica zavihkov se prilepi pod njen pas. */
html { scroll-padding-top: calc(var(--glava-mala, 0px) + 3.6rem); }   /* fokus in sidra pod pasom in zavihki */

/* Iskanje v glavi (kandidati.js): polje pod uvodom, zadetki pod njim; ob drsenju zbledi kot uvod (skripta.js). */
.iskanje { position: relative; max-width: 34rem; margin-top: 1.1rem; }
.iskanje input { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: .7rem .9rem; border: 2px solid transparent; border-radius: 10px;
  background: #ffffff; color: var(--crnilo); }
.iskanje input:focus-visible { outline: 3px solid var(--sonce); outline-offset: 2px; }
.iskanje input:placeholder-shown::-webkit-search-cancel-button { display: none; }
@media (max-width: 400px) { .iskanje input::placeholder { font-size: .9rem; } }
@media (max-width: 340px) { .iskanje input { padding-left: .6rem; padding-right: .6rem; } .iskanje input::placeholder { font-size: .82rem; } }
.iskanje-zadetki { position: absolute; left: 0; right: 0; top: calc(100% + .35rem); z-index: 40; list-style: none; margin: 0; padding: .3rem;
  max-height: min(60vh, 26rem); overflow-y: auto; background: #ffffff; color: var(--crnilo); border-radius: 10px;
  box-shadow: 0 10px 28px rgba(20, 40, 20, .25); }
.iskanje-zadetki li { padding: .5rem .65rem; border-radius: 7px; cursor: pointer; }
.iskanje-zadetki li[aria-selected="true"], .iskanje-zadetki li:hover { background: var(--zelena-svetla); }
.iskanje-zadetki .zadetek-ime { display: block; font-weight: 600; }
.iskanje-zadetki .zadetek-opis { display: block; font-size: .85rem; color: var(--pridusen); }
.iskanje-zadetki .zadetek-nic { cursor: default; color: var(--pridusen); }
/* Oseba, na katero skoči iskanje: kratek poudarek. */
@keyframes najdeno { from { background: #ffe17a; } to { background: transparent; } }
.kandidati-liste li.najdeno { animation: najdeno 2.6s ease-out; border-radius: 6px; }
@media (prefers-reduced-motion: reduce) { .kandidati-liste li.najdeno { animation: none; background: #fff3c4; } }
/* Stolpec te strani je širši (54rem), zato je logotip zunaj stolpca šele od 76rem; vmes je v stolpcu levo. */
@media (min-width: 66rem) and (max-width: 75.99rem) {
  body.kandidati .glava-mcp .okvir { display: flex; position: static; }
  body.kandidati .glava-mcp .znak-mcp { position: static; transform: none; margin-right: 0; width: 6.5rem; }
}

.zavihki-strani { position: sticky; top: var(--glava-mala, 0px); z-index: 25; background: var(--ozadje); border-bottom: 1px solid var(--rob); }
.zavihki-strani ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .1rem; overflow-x: auto; scrollbar-width: none; }
.zavihki-strani ul::-webkit-scrollbar { display: none; }
.zavihki-strani a { display: block; padding: .8rem .7rem .6rem; border-bottom: 3px solid transparent; white-space: nowrap; color: var(--pridusen); font-weight: 500; text-decoration: none; }
.zavihki-strani a:hover { color: var(--crnilo); border-bottom-color: var(--rob-polje); }
.zavihki-strani a[aria-current="true"] { color: var(--crnilo); border-bottom-color: var(--gumb); font-weight: 600; }   /* zelena črta */
.zavihki-strani a:focus-visible { outline-offset: -3px; }
/* Meni s skupinami (naročnik 2. 11. 2026): skupina z več razdelki ima puščico navzdol, pod glavno vrstico je vrstica
   podzavihkov izbrane skupine, kot na strani za ekipo. */
.zavihki-strani .vec { display: inline-block; width: .42em; height: .42em; margin: 0 .1em .22em .4em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .7; }
.zavihki-strani a[aria-current="true"] .vec { opacity: 1; }
.zavihki-strani .podmeni { background: var(--papir); border-top: 1px solid var(--rob); }
.zavihki-strani .podmeni ul { gap: 1.3rem; padding-left: .7rem; }   /* poravnano z napisom prve skupine */
.zavihki-strani .podmeni a { padding: .5rem 0 .4rem; font-size: .95rem; color: var(--naslov); font-weight: 500; }
.zavihki-strani .podmeni a:hover { color: var(--crnilo); }
.zavihki-strani .podmeni a[aria-current="true"] { color: var(--crnilo); font-weight: 600; }

/* Brez JavaScripta so plošče ena pod drugo; z njim je vidna le izbrana. */
.plosca + .plosca { margin-top: 2.5rem; border-top: 1px solid var(--rob); }
body.zavihki-js .plosca + .plosca { margin-top: 0; border-top: 0; }
.plosca > h2:first-child { margin-top: 1.6rem; }
.plosca h3 { font-size: 1.15rem; line-height: 1.25; margin: 2.2rem 0 .6rem; }
.plosca:focus { outline: none; }
body.kandidati main [id] { scroll-margin-top: calc(var(--glava-mala, 0px) + var(--meni, 3.2rem) + .4rem); }   /* --meni: višina menija (kandidati.js) */
.plosca h4 { font-size: 1rem; line-height: 1.3; margin: 1.4rem 0 .4rem; color: var(--naslov); }
.gumbi-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.liste-2022 { margin: .5rem 0 1rem; }
.liste-2022 tr.skupaj th, .liste-2022 tr.skupaj td { font-weight: 600; border-bottom: 0; }

.skrito-besedilo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ------------------------------------------------------------ na kratko */

.ploscice { list-style: none; padding: 0; margin: 1rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr)); gap: .75rem; }
.ploscice li { background: var(--papir); border: 1px solid var(--rob); border-radius: 16px; padding: 1rem 1.1rem 1.1rem; }
.ploscice .vrednost { display: block; font-size: 2.4rem; font-weight: 600; line-height: 1.05; letter-spacing: -.025em; color: var(--naslov); }
.ploscice .opis { display: block; margin-top: .4rem; color: var(--pridusen); font-size: .92rem; line-height: 1.4; }
/* Devet ploščic: na zaslonu 3 × 3; ko sta stolpca le dva (ožje od 47rem), je prva o krajevnih skupnostih čez vso širino. */
@media (max-width: 46.99rem) { .ploscice li.ks-prva { grid-column: 1 / -1; } }

/* --------------------------------------------------------------- tabele */

.drsna { overflow-x: auto; }
.tabela .st { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tabela thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; line-height: 1.3; color: var(--pridusen); font-weight: 600; vertical-align: bottom; }
.tabela tbody th { font-weight: 500; }
.tabela td.st:first-child { color: var(--pridusen); }
.tabela.zupan { margin: 1rem 0 .4rem; border: 1px solid var(--rob); border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.tabela.zupan tr:last-child > * { border-bottom: 0; }
.tabela-grafa { margin: .75rem 0 0; }
.tabela-grafa summary { font-weight: 500; font-size: .92rem; color: var(--poudarek); }
.tabela-grafa .tabela { margin: .6rem 0; }

/* ---------------------------------------------------------------- grafi */

.graf { margin: 1.25rem 0; background: var(--papir); border: 1px solid var(--rob); border-radius: 16px; padding: 1.1rem 1.2rem 1rem; }
.graf figcaption { margin: 0 0 .7rem; }
.graf figcaption strong { font-size: 1.05rem; font-weight: 600; }
.graf figcaption .drobno { display: block; margin-top: .1rem; }
.graf svg { display: block; overflow: visible; }
.graf svg text { font-size: 13px; fill: var(--crnilo); font-variant-numeric: tabular-nums; }
.opomba-grafa { margin: .6rem 0 0; }

.legenda { list-style: none; padding: 0; margin: 0 0 .7rem; display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; font-size: .86rem; color: var(--pridusen); }
.legenda li { display: inline-flex; align-items: center; gap: .4rem; }
.kljuc { display: inline-block; flex: none; }
.kljuc.stolpec { width: 14px; height: 10px; border-radius: 0 3px 3px 0; background: var(--podatki); }
.kljuc.prej { width: 2px; height: 16px; background: var(--crnilo); }
.kljuc.pika { width: 10px; height: 10px; border-radius: 50%; background: var(--pika); }
.kljuc.mediana { width: 3px; height: 16px; border-radius: 2px; background: var(--crnilo); }
.kljuc.prvih-pet { width: 0; height: 16px; border-left: 3px dashed var(--fokus); }
.kljuc.mladi { width: 16px; height: 12px; border-radius: 3px; background: #fff3c4; box-shadow: inset 0 0 0 1px #efd77c; }
.kljuc.v-mestu { width: 14px; height: 14px; border-radius: 3px; background: var(--podatki); }
.kljuc.drugje { width: 14px; height: 14px; border-radius: 3px; background: var(--primerjava); }
.kljuc.novi { width: 14px; height: 14px; border-radius: 3px; background: var(--podatki); }
.kljuc.znani { width: 14px; height: 14px; border-radius: 3px; background: var(--primerjava); }
.kljuc.kandidatke { width: 14px; height: 14px; border-radius: 3px; background: var(--glava); }
.kljuc.kandidati { width: 14px; height: 14px; border-radius: 3px; background: var(--primerjava); }
.kljuc.meja-deleza { width: 0; height: 16px; border-left: 2px dashed var(--crnilo); }

/* Vrstice: oznaka v HTML, oznake na stolpcih v SVG (položaji v odstotkih, besedilo v pikslih). */
ol.vrstice { list-style: none; padding: 0; margin: 0; }
ol.vrstice li { display: grid; grid-template-columns: var(--oznaka) minmax(0, 1fr); align-items: center; gap: .6rem; }
.graf.starost ol.vrstice li, .os-vrstica { grid-template-columns: var(--oznaka) minmax(0, 1fr) 2.6rem; }
.oznaka-vrstice { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); font-size: .92rem; line-height: 1.2; overflow-wrap: anywhere; }
.stg { color: var(--pridusen); font-variant-numeric: tabular-nums; }
.desno { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.os-vrstica { display: grid; gap: .6rem; align-items: center; margin-top: .2rem; }
.graf > .os-spodaj { margin: .2rem 0 0 calc(var(--oznaka) + .6rem); width: calc(100% - var(--oznaka) - .6rem); }
.os-spodaj text { text-anchor: middle; fill: var(--pridusen) !important; font-size: 12px !important; }
.os-spodaj text.levo { text-anchor: start; }

.stolpec { fill: var(--podatki); }
.prej { stroke: var(--crnilo); stroke-width: 2; stroke-linecap: round; }
.mreza-x, .os { stroke: var(--mreza); stroke-width: 1; }
.vrednost { font-weight: 600; }
.mediana { stroke: var(--crnilo); stroke-width: 3; stroke-linecap: round; }
.mediana-rob { stroke: var(--papir); stroke-width: 7; stroke-linecap: round; }
/* Mediana prvih petih mest: črtkana in oranžna, da se loči od mediane liste tudi brez barv. */
.prvih-pet { stroke: var(--fokus); stroke-width: 3; stroke-dasharray: 5 3; }
.prvih-pet-rob { stroke: var(--papir); stroke-width: 6; stroke-dasharray: 5 3; stroke-dashoffset: 0; opacity: .9; }
.pika { fill: var(--pika); stroke: var(--papir); stroke-width: 1.5; }
.pika:hover { fill: var(--podatki); stroke: var(--crnilo); }
.mladi { fill: #fff3c4; }   /* pas »do 29 let« */
ol.vrstice li.zupan { padding-bottom: .35rem; margin-bottom: .35rem; border-bottom: 1px solid var(--mreza); }
.starost ol.vrstice li:hover, .vrstice ol.vrstice li[data-namig]:hover { background: var(--ozadje); border-radius: 8px; }

/* Stolpci po letih in starostne skupine */
.stolpci text { text-anchor: middle; }
.stolpci text.leto { fill: var(--pridusen); font-size: 12px; }
.stolpci .letos text { font-weight: 700; }
.stolpci .letos text.leto { fill: var(--crnilo); }
.stolpci .ni text.vrednost { fill: var(--pridusen); font-weight: 400; }
.cilj { fill: transparent; }
.stolpci g:hover .stolpec { fill: var(--podatki-temna); }
@media (min-width: 52rem) {
  .graf-par { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .graf-par .graf { margin: 0; }
}

/* V mestu ali drugod */
/* V mestu ali drugod; novi in znani obrazi (ista barva za del in ostanek) */
.v-mestu, .novi { fill: var(--podatki); }
.drugje, .znani { fill: var(--primerjava); }
/* Kandidatke in kandidati: zelena glave in oranžna, brez barv, vezanih na spol; črti pri 40 in 60 %. */
.kandidatke { fill: var(--glava); }
.kandidati { fill: var(--primerjava); }
.meja-deleza { stroke: var(--crnilo); stroke-width: 1.5; stroke-dasharray: 3 3; }
.rez { fill: var(--papir); }
.v-stolpcu { font-weight: 600; font-size: 12.5px !important; }
.v-stolpcu.svetlo { fill: #fff !important; }
.v-stolpcu.desno { text-anchor: end; }
ol.vrstice li.primerjava .oznaka-vrstice { font-style: italic; }
ol.vrstice li.primerjava, ol.vrstice li.vse { margin-bottom: .2rem; }
ol.vrstice li.vse, ol.vrstice li.locilo { padding-bottom: .45rem; margin-bottom: .45rem; border-bottom: 1px solid var(--mreza); }

/* -------------------------------------------------------- liste in kandidati */
/* Vsaka lista je kartica: številka v zeleni znački, ime večje in srednje debelo, pod njim število in vrsta
 * predlagatelja drobno; odprta ima rahlo senco. Imena kandidatk in kandidatov srednje, kraj drobno. */

.cele-liste { display: grid; gap: .75rem; margin: 1.1rem 0; }
.cela-lista { background: var(--papir); border: 1px solid var(--rob); border-radius: 16px; transition: border-color .15s, box-shadow .15s; }
.cela-lista:hover { border-color: var(--rob-mocnejsi); }
.cela-lista[open] { border-color: var(--rob-mocnejsi); box-shadow: 0 3px 14px rgba(46, 88, 49, .08); }
.cela-lista > summary { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) 1.4rem; gap: .9rem; align-items: center; padding: .95rem 1.1rem; list-style: none; cursor: pointer; border-radius: 16px; }
.cela-lista > summary::-webkit-details-marker { display: none; }
.cela-lista[open] > summary { border-bottom: 1px solid var(--rob); border-radius: 16px 16px 0 0; }
.znacka-liste { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--zelena-svetla); color: var(--naslov); font-size: 1.1rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.glava-liste { min-width: 0; }
.ime-liste { display: block; font-size: 1.25rem; font-weight: 500; line-height: 1.25; letter-spacing: -.008em; overflow-wrap: anywhere; }
.podatki-liste { display: block; margin-top: .15rem; font-size: .86rem; color: var(--pridusen); }
.puscica { justify-self: center; width: .6rem; height: .6rem; border-right: 2px solid var(--pridusen); border-bottom: 2px solid var(--pridusen); transform: translateY(-.15rem) rotate(45deg); transition: transform .2s; }
.cela-lista[open] .puscica { transform: translateY(.15rem) rotate(-135deg); }
.vsebina-liste { padding: .95rem 1.1rem 1.1rem; }
.predlagatelj { margin: 0 0 .8rem; font-size: .95rem; }
.oznaka-polja { display: block; margin-bottom: .1rem; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pridusen); }

.povezave-liste { list-style: none; padding: 0; margin: 0 0 .4rem; display: flex; flex-wrap: wrap; gap: .45rem; }
.povezave-liste a { display: inline-flex; align-items: center; gap: .45rem; padding: .32rem .85rem .32rem .6rem; border: 1px solid var(--rob); border-radius: 999px; background: var(--ozadje); color: var(--crnilo); font-size: .9rem; font-weight: 500; text-decoration: none; }
.povezave-liste a:hover { background: var(--zelena-svetla); border-color: var(--rob-mocnejsi); }
.povezave-liste .ikona { flex: none; color: var(--naslov); }
/* Naslov kot povezava na začetek strani: videti je kot naslov, brez barve povezave in podčrtaja. */
.glava h1 a.naslov-domov { color: inherit; text-decoration: none; }
.glava h1 a.naslov-domov:focus-visible { outline: 3px solid var(--glava-poudarek); outline-offset: 4px; border-radius: 4px; }
/* Osebne povezave v tabeli kandidatur za župana: okrogle ikone, ime povezave je v aria-label in title (cilj 2 rem). */
.povezave-osebe { list-style: none; padding: 0; margin: 0; display: inline-flex; flex-wrap: wrap; gap: .35rem; vertical-align: middle; }
.povezave-osebe a { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: 1px solid var(--rob); border-radius: 999px; background: var(--ozadje); color: var(--naslov); }
.povezave-osebe a:hover { background: var(--zelena-svetla); border-color: var(--rob-mocnejsi); }

ol.kandidati-liste { list-style: none; padding: .3rem 0 0; margin: 1rem 0 0; border-top: 1px solid var(--rob); columns: 2 17rem; column-gap: 2.2rem; }
ol.kandidati-liste li { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); padding: .5rem 0; border-bottom: 1px solid var(--mreza); break-inside: avoid; }
.st-kandidata { grid-row: 1 / span 2; padding-top: .1rem; color: var(--pridusen); font-size: .88rem; font-variant-numeric: tabular-nums; }
.ime-kandidata { font-weight: 500; line-height: 1.35; }
.kraj { font-size: .84rem; color: var(--pridusen); }
.oznaka-zupan { display: inline-block; margin-left: .2rem; padding: .05rem .5rem; border-radius: 999px; background: #fff1c2; color: #5f4600; box-shadow: inset 0 0 0 1px #efd77c; font-size: .7rem; font-weight: 600; letter-spacing: .02em; vertical-align: .12em; white-space: nowrap; }

/* -------------------------------------------------------------- zemljevid */

.izbira-zemljevida { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: flex-end; margin: 1rem 0 .5rem; }
.izbira-zemljevida .polje { margin: 0; flex: 1 1 16rem; }
.izbira-zemljevida fieldset.prikaz { margin: 0; padding: .35rem .9rem .1rem; flex: 0 1 auto; }
.izbira-zemljevida .kljukica { margin: .2rem 0; }
/* Starost: gumba nad grafom (mediana, povprečje), oglata, drug ob drugem; prikazana je le izbrana mera
 * (brez JavaScripta mediana). */
.izbira-mere { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .9rem; margin: 1.5rem 0 .6rem; }
.oznaka-mere { font-weight: 600; font-size: .95rem; color: var(--pridusen); }
.gumbi-mere { display: inline-flex; }
.gumb-mere { font: inherit; font-size: .95rem; font-weight: 600; min-height: 2.5rem; padding: .4rem 1.1rem; margin: 0;
  border: 1.5px solid var(--naslov); background: var(--papir); color: var(--naslov); border-radius: 0; cursor: pointer; }
.gumb-mere:first-child { border-radius: 6px 0 0 6px; }
.gumb-mere:last-child { border-radius: 0 6px 6px 0; border-left-width: 0; }
.gumb-mere:hover { background: var(--zelena-svetla); }
.gumb-mere[aria-pressed="true"] { background: var(--naslov); color: #ffffff; cursor: default; }
.gumb-mere:focus-visible { outline: 3px solid var(--fokus); outline-offset: 2px; position: relative; }
#starost:not([data-mera="povprecje"]) .mera-povprecje, #starost[data-mera="povprecje"] .mera-mediana { display: none; }
.povzetek-zemljevida { margin: .5rem 0; }

.zemljevida { display: grid; gap: 1rem; }
@media (min-width: 52rem) {
  /* Enako široka zemljevida z enakim razmerjem stranic: povečano središče je visoko kot občina. */
  .zemljevida { grid-template-columns: 1fr 1fr; align-items: stretch; }
}
.zemljevida figure { margin: 0; background: var(--papir); border: 1px solid var(--rob); border-radius: 14px; padding: .6rem; }
.zemljevida figcaption { margin: .3rem .2rem 0; }
svg.zemljevid { display: block; width: 100%; height: auto; }
.zemljevid .vol { stroke: none; cursor: pointer; }
/* Rob poudarka je v pikslih zaslona na obeh zemljevidih: poti imajo atribut vector-effect, ki ga dobijo tudi kopije
 * v povečanem mestu (<use>); stroke in stroke-width kopija podeduje od <use>. */
.zemljevid .vol:hover, .zemljevid .vol:focus { stroke: var(--crnilo); stroke-width: 2; vector-effect: non-scaling-stroke; outline: none; }
.zemljevid .mreza, .zemljevid .meja, .zemljevid use.meje { pointer-events: none; }
.zemljevid .okvir-mesta { fill: none; stroke: var(--crnilo); stroke-width: 1.2; vector-effect: non-scaling-stroke; pointer-events: none; }
.zemljevid .napis { font-size: 30px; font-weight: 600; fill: var(--crnilo); text-anchor: middle; dominant-baseline: central; pointer-events: none; font-variant-numeric: tabular-nums; }
.zemljevid .napis.svetlo { fill: #fff; }
.zemljevid .napis.le-povecano { display: none; }
/* Številke v izseku so v enotah izseka (širok je okoli 149 enot, glej zemljevid.mesto v kandidati-2026.json). */
.zemljevid.mesto .napis { font-size: 4.8px; }
@media (max-width: 40rem) {
  .zemljevid .napis { font-size: 38px; }
  .zemljevid .napis.le-siroko { display: none; }
  .zemljevid.mesto .napis { font-size: 5.9px; }
}
.zemljevid-legenda { margin: .75rem 0 0; }
.zemljevid-legenda li { color: var(--crnilo); }
.zemljevid-legenda svg { display: block; }
.zemljevid-legenda .nic, .zemljevid-legenda rect { stroke: var(--rob); stroke-width: 1; }

/* ---------------------------------------------------- krajevne skupnosti */
/* Zemljevid krajevnih skupnosti (vsa območja v isti svetli zeleni, imena nad mejami z belim robom) in seznami.
 * Na širokem zaslonu je zemljevid levo in ostane viden ob drsenju, seznami so desno. Odprta je le ena krajevna
 * skupnost, na zemljevidu je rumena (kandidati.js, razred »odprta«); napisi imajo na vseh barvah območij kontrast
 * najmanj 11 : 1. */
body.kandidati {
  --ks-polje: #e3eedd;
  --ks-prehod: #c9dfbf;
  --ks-odprta: #ffe17a;
}
.ks-postavitev { display: grid; gap: 1rem; margin: 1.1rem 0; }
@media (min-width: 52rem) {
  .ks-postavitev { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: start; }
  .ks-postavitev .zemljevid-ks { position: sticky; top: calc(var(--glava-mala, 0px) + 3.8rem); }
}
.zemljevid-ks { margin: 0; background: var(--papir); border: 1px solid var(--rob); border-radius: 14px; padding: .6rem; }
.zemljevid-ks figcaption { margin: .3rem .2rem 0; }
.zemljevid.ks .ks path { fill: var(--ks-polje); cursor: pointer; transition: fill .15s; }
.zemljevid.ks .ks:hover path, .zemljevid.ks .ks:focus path { fill: var(--ks-prehod); }
.zemljevid.ks .ks.odprta path { fill: var(--ks-odprta); }
.zemljevid.ks .ks:focus { outline: none; }
.zemljevid.ks .ks:focus-visible path { stroke: var(--crnilo); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.zemljevid.ks .mreza, .zemljevid.ks .meja { pointer-events: none; }
.zemljevid.ks .imena text { font-size: 28px; font-weight: 500; fill: var(--crnilo); text-anchor: middle; pointer-events: none; paint-order: stroke; stroke: var(--papir); stroke-width: 5px; stroke-linejoin: round; }
.zemljevid.ks .imena text.odprta { font-weight: 700; }
.seznam-ks { margin: 0; }
.cela-lista.ks > summary { grid-template-columns: minmax(0, 1fr) 1.4rem; }
.cela-lista.ks .ime-liste { font-size: 1.15rem; }
.clani-ks { margin: 0 0 1rem; font-size: .95rem; }
.predlagatelj-ks + .predlagatelj-ks { margin-top: 1.2rem; }
.predlagatelj-ks .predlagatelj { margin-bottom: 0; }
.predlagatelj-ks ol.kandidati-liste { margin-top: .5rem; columns: auto; }
@media (max-width: 40rem) {
  .zemljevid.ks .imena text { font-size: 30px; }
}

/* ---------------------------------------------------------------- namig */

.namig-grafa {
  position: fixed; z-index: 10; pointer-events: none;
  max-width: 19rem; padding: .45rem .65rem; border-radius: 8px;
  background: var(--glava); color: var(--glava-tekst); font-size: .88rem; line-height: 1.35;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}
.namig-grafa strong { display: block; color: #fff; }

/* ------------------------------------------------------------------ noga */
/* Logotip MCP za svetlo podlago (skripte/soocenje/logotip_mcp.php, izvirne sive) levo od stavka »Za vas se trudimo …«. */
body.kandidati .noga .okvir > p:first-child { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.1rem; margin-bottom: .9rem; font-size: 1rem; color: var(--crnilo); }
.logotip-mcp { display: block; flex: none; width: auto; height: 80px; }

@media (max-width: 40rem) {
  body.kandidati { --oznaka: 6.6rem; }
  /* Zavihki se drsijo vodoravno; desni rob zbledi, da se vidi, da jih je še. */
  .zavihki-strani .okvir { position: relative; }
  .zavihki-strani .okvir::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 2rem; background: linear-gradient(to right, rgba(245, 247, 242, 0), var(--ozadje)); pointer-events: none; }
  .zavihki-strani a { padding: .75rem .65rem .55rem; }
  .ploscice { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .ploscice li { padding: .7rem .75rem .8rem; }
  .ploscice .vrednost { font-size: 1.6rem; }
  .ploscice .opis { font-size: .85rem; }
  /* Tabela kandidatur za župana kot kartice: številka in ime, pod njima podatki z oznakami. */
  .tabela.zupan thead { display: none; }
  .tabela.zupan, .tabela.zupan tbody, .tabela.zupan tr { display: block; }
  .tabela.zupan tr { padding: .7rem .9rem; border-bottom: 1px solid var(--rob); }
  .tabela.zupan tr:last-child { border-bottom: 0; }
  .tabela.zupan td, .tabela.zupan th { display: block; padding: .1rem 0; border: 0; text-align: left; }
  .tabela.zupan td:first-child, .tabela.zupan th { display: inline; font-size: 1.08rem; font-weight: 750; }
  .tabela.zupan td:first-child::after { content: ". "; }
  .tabela.zupan td[data-oznaka]::before { content: attr(data-oznaka) ": "; color: var(--pridusen); }
  .graf { padding: .85rem .75rem .75rem; }
  .oznaka-vrstice { font-size: .85rem; }
}

@media print {
  .iskanje, .izbira-zemljevida, .izbira-mere, .namig-grafa, .tabela-grafa summary, .zavihki-strani, .gumbi-list, .izbira-kraja { display: none !important; }
  body.zavihki-js .plosca, body.zavihki-js .kraj-izbor { display: block !important; }
  .graf, .zemljevida figure { break-inside: avoid; }
}

/* ------------------------------------------------- dodatki (2. 11. 2026) */

/* Starost v primerjavi s prebivalstvom: kandidatke in kandidati modro, prebivalstvo oranžno (isti par kot drugje). */
.prebivalci { fill: var(--primerjava); }
.kljuc.prebivalci { width: 14px; height: 14px; border-radius: 3px; background: var(--primerjava); }
.graf.prebivalstvo ol.vrstice li { padding: .15rem 0; }

/* V mojem kraju: izbira naselja; brez JavaScripta kazalo in vsa naselja. */
.izbira-kraja { max-width: 24rem; margin: 1rem 0; }
.izbira-kraja select { width: 100%; }
.kazalo-krajev { font-size: .92rem; line-height: 1.8; }
.kraj-izbor { margin: 1rem 0; background: var(--papir); border: 1px solid var(--rob); border-radius: 16px; padding: .2rem 1.2rem 1.1rem; }
.kraj-izbor > h3 { margin-top: 1rem; }
.skupina-v-kraju + .skupina-v-kraju { margin-top: .9rem; }
.skupina-v-kraju .predlagatelj { margin-bottom: 0; }
.skupina-v-kraju .predlagatelj a { font-weight: 500; }
.skupina-v-kraju .stg { margin-right: .25rem; }
.skupina-v-kraju ol.kandidati-liste { margin-top: .4rem; columns: 2 15rem; }
ul.v-kraju { list-style: none; padding: 0; margin: 0; }
ul.v-kraju li { padding: .3rem 0; border-bottom: 1px solid var(--mreza); }
ul.v-kraju .kraj { display: block; }

/* Kako volim: datumi, ponazoritev glasovnice in primer delitve sedežev. */
ul.roki { list-style: none; padding: 0; margin: .6rem 0; }
ul.roki li { margin: .45rem 0; padding: .55rem .9rem; background: var(--papir); border-left: 3px solid var(--obzorje); border-radius: 0 10px 10px 0; }
ul.roki li.minilo { border-left-color: var(--rob-mocnejsi); color: var(--pridusen); }
.ponazoritev { margin: 1rem 0; }
.ponazoritev figcaption { margin-top: .4rem; }
table.glasovnica { border-collapse: collapse; background: var(--papir); font-size: .95rem; }
table.glasovnica caption { text-align: left; font-weight: 600; padding-bottom: .45rem; }
table.glasovnica th, table.glasovnica td { border: 1px solid var(--rob-polje); padding: .45rem .75rem; text-align: left; font-weight: 400; }
table.glasovnica thead th { font-size: .8rem; color: var(--pridusen); }
table.glasovnica td:nth-child(2) { min-width: 9rem; color: var(--pridusen); font-style: italic; }
table.glasovnica td:last-child { min-width: 8rem; text-align: center; }
.obkrozeno { display: inline-block; min-width: 1.9em; padding: .05em .3em; border: 2px solid var(--fokus); border-radius: 50%; text-align: center; font-weight: 600; }
.vpisano { color: var(--fokus); font-size: 1.2rem; font-weight: 600; font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive; }
table.dhondt { margin: .8rem 0 .3rem; }
table.dhondt caption { text-align: left; font-weight: 600; padding-bottom: .4rem; }
table.dhondt td.sedez { font-weight: 700; background: var(--zelena-svetla); }
details.volisca-seznam .tabela td:nth-child(2) { white-space: nowrap; }
