/* EDU AI brand (Brand príručka v1.0 + web eduai.sk): Georgia nadpisy, Calibri/Arial text,
   EDU Green, Charcoal, Cream, Gold. Zelený hero ako na webe, lístky ako biele karty,
   poradové číslo v ručne kreslenom zelenom krúžku. Jeden svetlý vzhľad zámerne (ako web). */
:root{
  --green:#00BD9D; --green-dark:#00A98C; --green-tint:#E8F9F5;
  --charcoal:#39393A; --cream:#FFFBFA; --white:#FFFFFF; --gray:#6E6E70; --line:#E6E1DE;
  --gold:#F5B82E; --gold-dark:#CBA135;
  --f-head:Georgia,"Times New Roman",serif;
  --f-body:Calibri,Carlito,Arial,"Segoe UI",sans-serif;
  --f-ui:Arial,"Helvetica Neue",sans-serif;
  --measure:48rem;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--charcoal);font-family:var(--f-body);font-size:1.125rem;line-height:1.6}
.wrap{max-width:var(--measure);margin:0 auto;padding-inline:clamp(16px,4vw,28px)}
a{color:var(--charcoal);text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:.18em}
a:hover{color:var(--green-dark)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:3px}
h1,h2,h3{font-family:var(--f-head);font-weight:700;text-wrap:balance;margin:0}
.lbl,.level{font-family:var(--f-ui);font-weight:700;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gray)}

/* horná lišta s logom (ako na webe) */
.bar{background:var(--white);box-shadow:0 1px 8px rgba(57,57,58,.08)}
.bar-in{max-width:var(--measure);margin:0 auto;padding:12px clamp(16px,4vw,28px);display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-head);font-weight:700;font-size:24px;color:var(--charcoal);text-decoration:none;border:2px solid var(--green);padding:1px 11px 3px;border-radius:4px;letter-spacing:.5px}
.logo .bodka{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}
.logo span:last-child{color:var(--gold)}
.bar-link{font-family:var(--f-ui);font-weight:700;font-size:.85rem;text-decoration:none;background:var(--gold);color:var(--charcoal);padding:7px 16px;border-radius:24px;white-space:nowrap}
.bar-link:hover{background:var(--gold-dark);color:var(--white)}

/* hero */
.hero{background:var(--green);color:var(--white);position:relative;overflow:hidden}
.deco{position:absolute;inset:0;pointer-events:none;user-select:none}
.deco span{position:absolute;font-family:var(--f-head);font-weight:700;color:rgba(255,255,255,.12);line-height:1}
.deco span:nth-child(even){color:rgba(245,184,46,.26)}
.deco .d1{font-size:120px;top:6%;right:4%;transform:rotate(9deg)}
.deco .d2{font-size:76px;bottom:16%;right:20%;transform:rotate(-12deg)}
.deco .d3{font-size:92px;top:30%;right:30%;transform:rotate(6deg)}
.deco .d4{font-size:64px;bottom:6%;left:58%;transform:rotate(14deg)}
@media (max-width:640px){.deco{display:none}}
.hero-in{position:relative;max-width:var(--measure);margin:0 auto;padding:2.6rem clamp(16px,4vw,28px) 5.2rem;display:grid;gap:1rem}
.badge{justify-self:start;background:var(--gold);color:var(--charcoal);font-family:var(--f-ui);font-weight:700;font-size:.85rem;padding:6px 16px;border-radius:20px}
.hero h1{font-size:clamp(2.2rem,7vw,3.4rem);line-height:1.08;color:var(--white)}
.hero .lede{margin:0;font-size:1.3rem;font-weight:700;max-width:34rem;color:var(--white)}

/* informačná karta prekrývajúca hero */
.info{position:relative;margin-top:-3.6rem;background:var(--white);border-radius:18px;box-shadow:0 14px 34px rgba(57,57,58,.12);padding:1.4rem clamp(1rem,3vw,1.6rem);display:grid;gap:1.1rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.9rem 1.4rem;margin:0}
.facts div{min-width:0}
.facts dd{margin:.2rem 0 0;font-weight:700}
.howto{background:var(--green-tint);border-radius:12px;padding:1rem 1.1rem;display:grid;gap:.5rem}
.howto p{margin:0}

/* autor */
.author{display:grid;grid-template-columns:72px minmax(0,1fr);gap:1rem;align-items:start;margin-top:1.6rem}
.author img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--green);max-width:100%}
.author p{margin:0}
.author .who{font-family:var(--f-head);font-weight:700;font-size:1.1rem}
.author .small{color:var(--gray);font-size:1rem;margin-top:.3rem}

/* prehľad lístkov */
.overview{margin-top:2.4rem}
.overview h2{font-size:1.75rem;margin-bottom:.8rem}
.tbl{overflow-x:auto;background:var(--white);border-radius:14px;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;min-width:19rem;font-variant-numeric:tabular-nums}
th{font-family:var(--f-ui);font-weight:700;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gray);text-align:left;padding:.7rem .8rem;border-bottom:2px solid var(--green)}
th.n,td.n{text-align:right}
td.n{white-space:nowrap}
td{padding:.75rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
td a{font-family:var(--f-head);font-weight:700;text-decoration:none}
td a:hover{text-decoration:underline;text-decoration-color:var(--green)}
td .lvl{display:block;font-size:.88rem;color:var(--gray)}
.pill{display:inline-block;min-width:2rem;text-align:center;background:var(--gold);color:var(--charcoal);font-family:var(--f-ui);font-weight:700;border-radius:20px;padding:1px 10px}
.tbl-note{font-size:1rem;color:var(--gray);margin:.7rem 0 0}
.neutral{margin:1.2rem 0 0;padding:.9rem 1.1rem;border-left:4px solid var(--gold);background:var(--white);border-radius:0 10px 10px 0;font-size:1rem}
@media (max-width:520px){th{font-size:.6rem;letter-spacing:.03em;padding:.6rem .4rem}th.n{max-width:4.6rem}td{padding:.65rem .4rem}}

/* navigácia */
.jump{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--cream);border-bottom:1px solid var(--line);margin-top:2.2rem}
.jump-in{max-width:var(--measure);margin:0 auto;padding:.6rem clamp(16px,4vw,28px);display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none}
.jump a{flex:none;font-family:var(--f-ui);font-weight:700;font-size:.82rem;text-decoration:none;color:var(--charcoal);background:var(--white);border:2px solid var(--green);border-radius:999px;padding:.3rem .85rem}
.jump a:hover{background:var(--green);color:var(--white)}

/* lístky */
.ballot{margin-top:3rem;scroll-margin-top:4rem}
.ballot-head{background:var(--white);border-radius:16px;border-top:6px solid var(--green);box-shadow:0 6px 20px rgba(57,57,58,.07);padding:1.2rem clamp(1rem,3vw,1.5rem) 1.1rem;display:grid;gap:.4rem}
.level{margin:0;color:var(--charcoal)}
.ballot h2{font-size:clamp(1.5rem,4.4vw,2rem);line-height:1.15}
.rule{margin:.2rem 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;font-size:1rem;color:var(--gray)}
.rule b{color:var(--charcoal)}
.rule .circ{background:var(--gold);color:var(--charcoal);font-family:var(--f-ui);font-weight:700;font-size:.85rem;border-radius:20px;padding:3px 12px}
.context{margin-top:.6rem;padding-top:.8rem;border-top:1px solid var(--line);display:grid;gap:.6rem}
.context p{margin:0}
.search{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:1.2rem}
.search label{font-family:var(--f-head);font-weight:700}
.search input{flex:1 1 14rem;min-width:0;font:inherit;padding:.55rem .9rem;border:2px solid var(--green);border-radius:24px;background:var(--white);color:var(--charcoal)}
#ksk-count{font-size:.95rem;color:var(--gray);font-variant-numeric:tabular-nums}

.cands{list-style:none;margin:0;padding:0 clamp(0rem,1.5vw,.5rem)}
.cand{display:grid;grid-template-columns:2.9rem minmax(0,1fr);gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);scroll-margin-top:4rem}
.cand:last-child{border-bottom:0}
.num{position:relative;width:2.9rem;height:2.9rem;display:grid;place-items:center;font-family:var(--f-ui);font-weight:700;font-size:1.02rem;font-variant-numeric:tabular-nums;color:var(--charcoal)}
.num::before{content:"";position:absolute;inset:3px;border:2.2px solid var(--green);border-radius:54% 46% 52% 48% / 47% 55% 45% 53%;transform:rotate(-9deg)}
.c-body{min-width:0;display:grid;gap:.35rem}
.c-body h3{font-size:1.25rem;line-height:1.25;padding-top:.5rem}
.major .c-body h3{font-size:1.55rem}
.tit{font-family:var(--f-body);font-weight:400;font-size:.95rem;color:var(--gray)}
.meta{margin:0;color:var(--gray);font-size:1rem}
.party{margin:0;font-size:1rem}
.party .lbl{margin-right:.5rem}
.prof{display:grid;gap:.55rem}
.prof p{margin:0}
.also{margin:0;font-size:1rem;background:var(--green-tint);border-radius:8px;padding:.4rem .7rem}
.ref{margin:0;font-size:1rem}
.src{display:flex;flex-wrap:wrap;gap:.2rem .5rem;align-items:baseline;font-size:.86rem;line-height:1.45;margin-top:.15rem}
.src ol{list-style:none;margin:0;padding:0;display:contents}
.src li{display:inline}
.src li+li::before{content:"·";color:var(--gray);margin-right:.5rem}
.src a{color:var(--gray);text-decoration-color:rgba(0,189,157,.45);text-decoration-thickness:1px}
.src a:hover{color:var(--charcoal);text-decoration-color:var(--green)}

/* reklamný blok EDU AI */
.promo{margin-top:4rem;background:var(--green);color:var(--white);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.promo img{width:100%;height:100%;object-fit:cover;display:block;min-height:15rem;max-width:100%}
.promo-txt{padding:1.6rem clamp(1.1rem,3vw,1.8rem);display:grid;gap:.8rem;align-content:center}
.promo h2{font-size:clamp(1.6rem,4.6vw,2.1rem);line-height:1.12;color:var(--white)}
.promo p{margin:0;font-size:1.1rem;font-weight:700}
.btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}
.btn{display:inline-block;text-decoration:none;font-family:var(--f-ui);font-weight:700;font-size:.98rem;padding:12px 22px;border-radius:30px;transition:transform .15s ease}
.btn:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}
.btn-light{background:var(--white);color:var(--charcoal)}
.btn-gold{background:var(--gold);color:var(--charcoal)}
.btn-gold:hover{background:var(--gold-dark);color:var(--white)}
@media (max-width:680px){.promo{grid-template-columns:1fr}.promo img{min-height:0;aspect-ratio:3/2;height:auto}}

/* informácie na konci */
.foot-info{margin-top:3rem;display:grid;gap:1.6rem;font-size:1rem}
.foot-info h2{font-size:1.3rem;margin-bottom:.4rem}
.foot-info p{margin:0}
.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.35rem 1.5rem;margin:0}
.legend div{display:flex;gap:.6rem;min-width:0}
.legend dt{font-family:var(--f-ui);font-weight:700;flex:none;min-width:6rem}
.legend dd{margin:0;color:var(--gray)}
.off{margin:0;padding-left:1.2rem;display:grid;gap:.25rem}

/* päta (ako na webe) */
footer.site{margin-top:4rem;background:var(--charcoal);color:rgba(255,255,255,.85);font-size:1rem}
.foot-in{max-width:var(--measure);margin:0 auto;padding:2.4rem clamp(16px,4vw,28px) 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.4rem}
footer.site h3{color:var(--white);font-size:1.15rem;margin-bottom:.4rem}
footer.site p{margin:0}
footer.site a{color:var(--gold);text-decoration:none}
footer.site a:hover{text-decoration:underline}
.foot-bottom{max-width:var(--measure);margin:0 auto;padding:0 clamp(16px,4vw,28px) 1.6rem;font-size:.88rem;color:rgba(255,255,255,.6)}
[hidden]{display:none!important}
/* ===== doplnky pre sprievodcu Voľby 2026, kolo 2 (brand manuál, UX, marketing) ===== */
:root{--gold-tint:#FEF6E0;--gray-brand:#888888;--green-tint-2:#B8ECE2}
.nw{white-space:nowrap}
.lbl,.level{font-size:.78rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-300px;z-index:30;background:var(--charcoal);color:var(--white);font-family:var(--f-ui);font-weight:700;padding:.6rem 1rem;border-radius:8px;text-decoration:none}
.skip:focus{top:12px;color:var(--white)}
:focus-visible{outline:3px solid var(--charcoal);outline-offset:2px;box-shadow:0 0 0 5px var(--white)}
a:hover{color:var(--charcoal);text-decoration-thickness:3px}
/* horná lišta */
.bar-in{flex-wrap:wrap}
.bar-links{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}
.bar-link:hover{background:var(--gold-dark);color:var(--charcoal)}
.bar-link-2{background:var(--white);box-shadow:inset 0 0 0 2px var(--charcoal)}
.bar-link-2:hover{background:var(--green-tint);color:var(--charcoal)}
.bar-link .kr{display:none}
@media (max-width:599px){.bar-in{padding:10px 16px;gap:8px}.logo{font-size:20px;padding:1px 8px 2px}.bar-links{gap:.35rem}.bar-link{padding:7px 12px;font-size:.82rem}.bar-link .dl{display:none}.bar-link .kr{display:inline}}
/* cookie lišta z /assets/consent.js na mobile kompaktne, aby nezakryla hľadanie (selektor silnejší ako v consent.js) */
@media (max-width:599px){body>#eduai-cc{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));padding:10px 12px;font-size:13px;line-height:1.35;gap:6px 10px;flex-wrap:nowrap}body>#eduai-cc p{flex:1 1 auto;min-width:0}body>#eduai-cc .cc-btns{flex-direction:column;gap:6px}body>#eduai-cc button{padding:8px 12px;font-size:13px}
/* na vstupnej stránke je dole hľadanie (prvá obrazovka) a panel mapy: lišta ide hore, cez hlavičku */
body.vstup>#eduai-cc{top:calc(8px + env(safe-area-inset-top,0px));bottom:auto}}
/* hero: svetlý teal + charcoal (manuál 3.5, 10,6:1), EDU Green len ako pruh */
.hero{background:var(--green-tint);color:var(--charcoal);border-top:8px solid var(--green)}
.hero h1,.hero .lede{color:var(--charcoal)}
.hero .lede{font-weight:400;font-size:1.2rem}
.hero .deco span{color:rgba(0,189,157,.14)}
.hero .deco span:nth-child(even){color:rgba(245,184,46,.4)}
.hero .deco .d3{top:auto;bottom:10%;right:4%}
.lede .lede-kr{display:none}
.hero-autor{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;font-size:1rem}
.btn-zdielat{font-family:var(--f-ui);font-weight:700;font-size:.9rem;background:var(--white);color:var(--charcoal);border:2px solid var(--charcoal);border-radius:999px;padding:.35rem 1rem;min-height:40px;cursor:pointer}
.btn-zdielat:hover{background:var(--cream)}
.zdielat-stav{font-size:.95rem;font-weight:700}
.zdielat-stav:empty{display:none}
@media (max-width:559px){.hero-in{padding:1.1rem 16px 4.1rem;gap:.5rem}.hero h1{font-size:2rem}.hero .lede{font-size:1rem}.hero .lede .lede-dl{display:none}.hero .lede .lede-kr{display:inline}.hero-autor{font-size:.92rem;gap:.4rem .7rem}.btn-zdielat{min-height:36px;padding:.25rem .85rem}}
.info{border-top:6px solid var(--green)}
/* upozornenia: svetložltá z manuálu (7.1) so zlatým okrajom */
.ai-note{background:var(--gold-tint);border:2px solid var(--gold);border-radius:12px;padding:.8rem 1rem;display:grid;gap:.45rem;font-size:1rem}
.ai-note p{margin:0}
.oficialne{margin:0;font-size:.95rem;color:var(--gray)}
.ai-mini{margin:0;font-size:.88rem;color:var(--gray);border-left:3px solid var(--gold);padding-left:.6rem}
.warn{margin:0;font-size:1rem;background:var(--gold-tint);border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:.45rem .75rem}
.lead-txt{display:grid;gap:.6rem}
.lead-txt p,.lead-txt ul{margin:0}
.lead-txt ul{padding-left:1.2rem;display:grid;gap:.35rem}
.hint{margin:0;font-size:.95rem;color:var(--gray)}
.sec{margin-top:2.6rem}
/* skok na kotvu nesmie skončiť pod lepivou navigáciou */
.ballot,.cand,.sub,.sec,details.more,.zdielaj,#chyba,#ako-vznikol,#ako-citat{scroll-margin-top:4.5rem}
.sec>h2{font-size:1.75rem;margin-bottom:.8rem}
.card{background:var(--white);border-radius:14px;border:1px solid var(--line);padding:1.1rem clamp(1rem,3vw,1.4rem);display:grid;gap:.9rem}
.card p{margin:0}
.card h3{font-size:1.2rem}
.card>ul{margin:0;padding-left:1.2rem;display:grid;gap:.3rem}
/* rozbaľovacie bloky s podrobnosťami */
details.more{border-top:1px solid var(--line);padding-top:.8rem}
details.more summary{cursor:pointer;font-family:var(--f-ui);font-weight:700;font-size:.95rem;padding:.3rem 0;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;list-style:none}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:"";flex:none;width:.55rem;height:.55rem;margin-right:.3rem;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
details.more[open] summary::after{transform:translateY(2px) rotate(-135deg)}
details.more summary:hover{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:.18em}
.more-in{display:grid;gap:.6rem;margin-top:.7rem;font-size:1rem}
.more-in h3{font-size:1.1rem;margin-top:.5rem}
.more-in p,.more-in ul,.more-in ol{margin:0}
.more-in ul,.more-in ol{padding-left:1.2rem;display:grid;gap:.3rem}
/* fakty: dátum výrazne */
.facts .datum{display:block;font-size:1.2rem}
.facts .cas{display:block;font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}
.facts .pozn{display:block;font-weight:400;font-size:.95rem;color:var(--gray)}
.kroky{margin:0;padding-left:1.5rem;display:grid;gap:.35rem}
.kroky li::marker{font-family:var(--f-ui);font-weight:700}
/* vstup: výber mestskej časti */
.vyber h2{font-size:1.6rem}
.pick{position:relative;display:grid;gap:.45rem}
.pick input,.finder input,.search input{width:100%;min-width:0;font:inherit;padding:.6rem .95rem;border:2px solid var(--charcoal);border-radius:24px;background:var(--white);color:var(--charcoal)}
.pick input{padding-left:2.7rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339393A' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.9rem 50%;background-size:1.25rem}
.search input{flex:1 1 14rem;width:auto}
.pick input:focus,.finder input:focus,.search input:focus{border-color:var(--green)}
.pick ul{position:absolute;left:0;right:0;top:100%;z-index:6;list-style:none;margin:.25rem 0 0;padding:.3rem;background:var(--white);border:2px solid var(--green);border-radius:14px;box-shadow:0 14px 30px rgba(57,57,58,.16);max-height:19rem;overflow:auto}
.pick li{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.6rem .75rem;border-radius:9px;cursor:pointer}
.pick li .o{font-size:.9rem;color:var(--gray);white-space:nowrap}
.pick li[aria-selected="true"],.pick li:hover{background:var(--green-tint)}
.pick-nic{margin:0;font-size:.95rem;color:var(--charcoal);font-weight:700}
.mc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.mc-grid a{display:flex;align-items:center;min-height:46px;padding:.35rem .7rem;background:var(--white);border:1.5px solid var(--line);border-left:4px solid var(--green);border-radius:10px;font-family:var(--f-head);font-weight:700;font-size:.98rem;line-height:1.2;text-decoration:none;color:var(--charcoal)}
.mc-grid a:hover{background:var(--green-tint);border-color:var(--green);color:var(--charcoal)}
@media (min-width:600px){.mc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.zoznam-nadpis{margin:0}
.na-mapu{margin:0;font-size:1rem}
/* mapa (UX audit 3: bez farieb okresov, výber zelenou, výrez s rámom, panel) */
.mapa-sec h2{font-size:1.6rem;margin-bottom:.3rem}
.mapa-blok{display:grid;gap:1rem;margin-top:.8rem}
@media (min-width:900px){.mapa-blok{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.mapa-bok{display:grid;gap:.7rem;align-content:start}
.mapa-wrap{margin:0;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:.5rem}
.mapa{display:block;width:100%;height:auto}
.mapa .mc path{fill:var(--green-tint);stroke:var(--charcoal);stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .15s ease;cursor:pointer}
.mapa .mc:hover path{fill:var(--green-tint-2)}
.mapa .mc.vybrana path,.mapa .mc:focus-visible path{fill:var(--green)}
.mapa .mc.vybrana path{stroke-width:2.5px}
.mapa .mc:focus{outline:none}
.mapa .mc:focus-visible{outline:none;box-shadow:none}
.mapa .mc:focus-visible path{stroke-width:3.5px}
.mapa .popisky,.mapa .vyrez-ram,.mapa .ram-popis{pointer-events:none}
.mapa .vyrez-ram{fill:none;stroke:var(--charcoal);stroke-width:2.5px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}
.mapa text{font-family:var(--f-ui);font-weight:700;fill:var(--charcoal);paint-order:stroke;stroke:#FFFFFF;stroke-width:6px;stroke-linejoin:round}
.mapa-vyrez text{stroke-width:4px}
.mapa .ram-popis{font-weight:700}
.mapa .mc-popis line{stroke:var(--charcoal);stroke-width:1.5px;vector-effect:non-scaling-stroke}
.mapa .mc-popis circle{fill:var(--charcoal)}
.mapa .mc-popis rect{fill:transparent;pointer-events:all;cursor:pointer}
.mapa a.mc,.mapa a.mc text{text-decoration:none}
.mapa .mc-popis.vybrana text,.mapa .mc-popis:hover text{text-decoration:underline}
.mapa-hint-dotyk{display:none;margin:0;font-weight:700}
@media (hover:none),(pointer:coarse){.mapa-hint-dotyk{display:block}}
@media (prefers-reduced-motion:reduce){.mapa .mc path{transition:none}}
.vyrez-nadpis{justify-self:start;margin:0;background:var(--charcoal);color:var(--white);font-family:var(--f-ui);font-weight:700;font-size:.8rem;border-radius:999px;padding:.2rem .8rem}
.vyrez-wrap{border:2.5px dashed var(--charcoal);border-radius:12px}
.skratky-blok{display:grid;gap:.25rem}
.skratky{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:.15rem .6rem;margin:0;font-size:.95rem}
.skratky dt{font-family:var(--f-ui);font-weight:700}
.skratky dd{margin:0}
.atrib{margin:0;font-size:.8rem;color:var(--gray);line-height:1.45}
.atrib a{color:var(--gray)}
.mapa-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .8rem;align-items:center;background:var(--white);border:2px solid var(--green);border-radius:16px;padding:.7rem .9rem;position:relative;min-height:4.2rem}
.mapa-panel .pn{margin:0;font-family:var(--f-head);font-weight:700;font-size:1.15rem;line-height:1.25}
.mapa-panel.uvod .pn{font-family:var(--f-body);font-weight:400;font-size:1rem;color:var(--gray)}
.mapa-panel .pp{margin:0;grid-column:1;font-size:.9rem;color:var(--gray)}
.mapa-panel .pp:empty{display:none}
.mapa-panel .pb{grid-row:1/3;grid-column:2;background:var(--gold);color:var(--charcoal);font-family:var(--f-ui);font-weight:700;font-size:.92rem;border-radius:999px;padding:.6rem 1rem;text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.mapa-panel .pb:hover{background:var(--gold-dark);color:var(--charcoal)}
.mapa-panel .px{display:none;position:absolute;top:-14px;right:-8px;width:34px;height:34px;border-radius:50%;background:var(--charcoal);color:var(--white);border:0;font:700 18px/1 var(--f-ui);cursor:pointer}
.mapa-panel.uvod .px{display:none!important}
@media (max-width:599px){.skratky{grid-template-columns:auto minmax(0,1fr)}}
@media (max-width:899px){.mapa-panel.uvod{display:none}.mapa-panel{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:20;box-shadow:0 10px 30px rgba(57,57,58,.3)}.mapa-panel .px{display:block}.mapa-panel.mimo{display:none}}
/* štítok ponuky EDU AI (oddelí reklamu od informácií o voľbách) */
.stitok-edu{justify-self:start;display:inline-block;font-family:var(--f-ui);font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:var(--charcoal);color:var(--white);border-radius:6px;padding:2px 8px}
/* stránka MČ: prehľad lístkov ako karty */
.prehlad h2{font-size:1.6rem}
.obalka{margin:.3rem 0 0;font-family:var(--f-ui);font-weight:700;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--charcoal)}
.obalka span{display:block;text-transform:none;letter-spacing:0;font-weight:400;font-size:.9rem;color:var(--gray)}
.listky{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.lk{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .8rem;text-decoration:none;color:var(--charcoal);background:var(--white);border:1.5px solid var(--line);border-left:5px solid var(--green);border-radius:12px;padding:.6rem .85rem;min-height:56px}
a.lk:hover{background:var(--green-tint);color:var(--charcoal)}
.lk .t{font-family:var(--f-head);font-weight:700;font-size:1.08rem;line-height:1.25}
.lk .s{grid-column:1;font-size:.95rem;color:var(--gray)}
.lk .ch{grid-column:2;grid-row:1/3;font-family:var(--f-ui);font-weight:700;font-size:1.5rem;line-height:1}
.lk .pill{font-size:.85rem;color:var(--charcoal)}
.lk .kr{white-space:nowrap}
.lk-obvody{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem;grid-column:1/3}
.lk-obvody a,.subnav a{font-family:var(--f-ui);font-weight:700;font-size:.9rem;text-decoration:none;background:var(--white);border:2px solid var(--green);border-radius:999px;padding:.3rem .9rem;min-height:40px;display:inline-flex;align-items:center}
.lk-obvody a:hover,.subnav a:hover{background:var(--green-tint);color:var(--charcoal)}
.lk-kde{grid-column:1/3;margin-top:.25rem;font-size:.95rem}
.cipy{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.cipy li{background:var(--green-tint);border-radius:10px;padding:.35rem .75rem;font-size:1rem;line-height:1.35}
.cipy .lbl{display:block;font-size:.78rem}
.cipy strong{font-variant-numeric:tabular-nums}
.pas-promo{display:grid;grid-template-columns:88px minmax(0,1fr);gap:.9rem;align-items:start;background:var(--cream);border:1.5px dashed var(--gold-dark);border-radius:12px;padding:.8rem .9rem;font-size:.98rem}
.pas-promo p{margin:0}
.pas-promo .pas-mapa{margin:0}
.pas-promo .pas-mapa img{display:block;width:100%;height:auto}
.pas-promo .pas-mapa figcaption{font-size:.78rem;color:var(--gray);line-height:1.3;margin-top:.25rem}
.pas-txt{display:grid;gap:.5rem;align-content:start}
.pas-promo .pas-fakt{font-weight:700;font-size:.95rem}
.pas-promo .btn{justify-self:start;padding:9px 16px;font-size:.92rem;line-height:1.3;margin-top:.1rem}
@media (min-width:600px){.pas-promo{grid-template-columns:140px minmax(0,1fr)}}
/* lepivá navigácia */
.jump a:hover{background:var(--green-tint);color:var(--charcoal)}
.jump a[aria-current="true"]{background:var(--charcoal);color:var(--white);border-color:var(--charcoal)}
@media (max-width:560px){.jump-in{flex-wrap:nowrap;overflow-x:auto;gap:.35rem;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}.jump a{font-size:.8rem;padding:.25rem .7rem}}
/* lístky: hlavička vždy viditeľná, kandidáti v rozbaľovacom bloku (všetky lístky rovnako) */
.rule{gap:.4rem .9rem}
.rule span{color:var(--charcoal)}
details.listok{margin-top:.7rem}
details.listok>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-family:var(--f-ui);font-weight:700;font-size:1rem;background:var(--white);color:var(--charcoal);border:2px solid var(--charcoal);border-radius:999px;padding:.6rem 1.15rem;min-height:48px}
details.listok>summary::-webkit-details-marker{display:none}
details.listok>summary::after{content:"";flex:none;width:.6rem;height:.6rem;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
details.listok[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
details.listok>summary:hover{background:var(--green-tint)}
details.listok .skry{display:none}
details.listok[open] .skry{display:inline}
details.listok[open] .zobraz{display:none}
.listok-in{display:grid;gap:.4rem;margin-top:.6rem}
.listok-in>.ai-note{margin-top:.4rem}
.search{margin-top:.6rem}
.search .pocet{font-size:.95rem;color:var(--gray);font-variant-numeric:tabular-nums}
.search .pocet.nic{color:var(--charcoal);font-weight:700}
.sub{margin-top:1.6rem}
.sub-head{background:var(--white);border-radius:14px;border-left:5px solid var(--green);box-shadow:0 4px 14px rgba(57,57,58,.06);padding:1rem clamp(1rem,3vw,1.3rem);display:grid;gap:.4rem}
.sub-head h3{font-size:1.4rem}
.subnav{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.3rem}
.area{margin:0;font-size:1rem}
.area .lbl{margin-right:.5rem}
.c-body h4{font-family:var(--f-head);font-weight:700;margin:0;font-size:1.25rem;line-height:1.25;padding-top:.5rem;text-wrap:balance}
.also{background:none;padding:0;font-size:.95rem}
/* kandidát, ktorý sa vzdal alebo ho odvolali: ostáva na mieste, preškrtnutý (Petrovo rozhodnutie 5) */
.cand.vzdal .name{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--charcoal)}
.cand.vzdal .tit,.cand.vzdal .meta,.cand.vzdal .party{color:var(--gray);text-decoration:line-through;text-decoration-thickness:1px}
.cand.vzdal .num{color:var(--gray)}
.cand.vzdal .num::before{border-color:var(--gray-brand);border-style:dashed}
.cand.vzdal .party .lbl{display:inline-block}
.stav-stitok{justify-self:start;margin:.15rem 0 0;display:inline-block;background:var(--charcoal);color:var(--white);font-family:var(--f-ui);font-weight:700;font-size:.88rem;border-radius:999px;padding:.2rem .85rem}
.stav-info{margin:0;font-size:.98rem;background:var(--white);border-left:4px solid var(--charcoal);border-radius:0 8px 8px 0;padding:.45rem .75rem;display:grid;gap:.2rem}
.stav-info p{margin:0}
/* kde a ako voliť */
.finder{display:grid;gap:.5rem}
.finder label{font-family:var(--f-head);font-weight:700}
.u-res{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.u-res li{background:var(--green-tint);border-radius:10px;padding:.65rem .85rem;display:grid;gap:.2rem;font-size:1rem}
.u-res p{margin:0}
.u-res .pozn{font-size:.9rem;color:var(--gray)}
.btn-obvod{display:inline-block;margin-top:.3rem;font-family:var(--f-ui);font-weight:700;font-size:.92rem;text-decoration:none;background:var(--gold);color:var(--charcoal);border-radius:999px;padding:.45rem 1rem}
.btn-obvod:hover{background:var(--gold-dark);color:var(--charcoal)}
.nastroj-promo{font-size:.95rem;border-left:3px solid var(--gold);padding-left:.7rem}
.nastroj-promo p{margin:0}
.okr{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;font-size:1rem}
.okr li{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.6rem;padding:.35rem 0;border-bottom:1px solid var(--line)}
.okr li:last-child{border-bottom:0}
.okr b{font-family:var(--f-ui);font-size:.9rem}
.okr .ob{display:block;font-size:.9rem;color:var(--gray)}
/* zdieľanie, späť, autor */
.zdielaj{margin-top:2.6rem;background:var(--green-tint);border-radius:16px;padding:1.1rem clamp(1rem,3vw,1.4rem);display:grid;gap:.6rem}
.zdielaj h2{font-size:1.4rem}
.zdielaj p{margin:0}
.zdielaj .btns{margin-top:0;align-items:center}
.btn-dark{background:var(--charcoal);color:var(--white);border:0;cursor:pointer;font-family:var(--f-ui)}
.btn-dark:hover{background:var(--charcoal);color:var(--white);text-decoration:underline;text-underline-offset:.18em}
.btn-light{box-shadow:inset 0 0 0 2px var(--charcoal)}
.btn-light:hover{background:var(--cream);color:var(--charcoal)}
.back{margin:2.2rem 0 0;font-family:var(--f-ui);font-weight:700}
.back a{display:inline-block;text-decoration:none;background:var(--white);border:2px solid var(--green);border-radius:999px;padding:.55rem 1.1rem}
.back a:hover{background:var(--green-tint);color:var(--charcoal)}
/* informácie na konci, nahlásenie chyby, päta */
.foot-info ul{margin:0;padding-left:1.2rem;display:grid;gap:.3rem}
.foot-info .src{margin-top:.2rem}
.stav-tab{border-collapse:collapse;font-size:.95rem;width:100%;max-width:36rem}
.stav-tab caption{text-align:left;font-family:var(--f-head);font-weight:700;font-size:1.05rem;padding-bottom:.3rem}
.stav-tab th,.stav-tab td{text-align:left;padding:.3rem .5rem .3rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.stav-tab th{font-family:var(--f-body);font-weight:400;font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--charcoal)}
.stav-tab td{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.src-viac{flex-basis:100%}
.src-viac summary{cursor:pointer;color:var(--gray);font-family:var(--f-ui);font-weight:700;font-size:.82rem;min-height:32px;display:inline-flex;align-items:center;list-style:none}
.src-viac summary::-webkit-details-marker{display:none}
.src-viac summary::after{content:"\00a0+"}
.src-viac[open] summary::after{content:"\00a0-"}
.src-viac ol{display:flex!important;flex-wrap:wrap;gap:.2rem .5rem}
.prehlad details.more{margin-top:.2rem}
.chyba{margin-top:2.6rem;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:14px;padding:1.1rem clamp(1rem,3vw,1.4rem);display:grid;gap:.45rem}
.chyba h2{font-size:1.35rem}
.chyba p{margin:0}
.foot-in{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
@media print{.jump,.bar,.mapa-panel,.btn-zdielat,.zdielaj{display:none}}
@media (max-width:559px){.vyber h2,.prehlad h2{font-size:1.4rem;line-height:1.2}.mapa-sec h2{font-size:1.4rem}}

/* ===== kolo 3 (13. 10. 2026): širšie rozloženie na počítači a kurz EDU AI do práce (audit-kolo3/navrh.md) =====
   Do 959 px jeden stĺpec (48rem), od 960 px široké rozloženie, najviac 76rem (1216 px). Zlatá = ponuka EDU AI, svetlý teal = informácie sprievodcu. */
:root{--wide:76rem;--prose:44rem}
h2,h3{line-height:1.22}
@media (min-width:960px){
  .wrap,.bar-in,.hero-in,.jump-in,.foot-in,.foot-bottom{max-width:var(--wide)}
  .hero .lede{max-width:var(--prose)}
}
/* hlavička: text (a na vstupe karta kurzu) */
.hero-txt{display:grid;gap:1rem;align-content:center;min-width:0}
.hero-autor a{font-weight:700}
@media (max-width:559px){.hero-txt{gap:.5rem}}
@media (min-width:960px){
  .vstup .hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:3.5rem;align-items:center;padding-top:2.2rem;padding-bottom:5.4rem}
  .vstup .deco{display:none}
  .kurz-karta--pod{display:none!important}
}
@media (max-width:959px){.kurz-karta--hero{display:none!important}}
/* karta kurzu EDU AI do práce: zlatá + charcoal (6,47:1), jedno hlavné tlačidlo */
.kurz-karta{background:var(--gold);color:var(--charcoal);border-radius:20px;padding:1.3rem 1.5rem 1.25rem;display:grid;gap:.7rem;box-shadow:0 14px 34px rgba(57,57,58,.16);min-width:0}
.kurz-karta--pod{margin-top:1.6rem}
.k-hlava{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:0;font-family:var(--f-ui);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.k-hlava .stitok-edu{font-size:.74rem}
.kurz-karta h2{font-size:clamp(1.4rem,2.1vw,1.7rem);line-height:1.18;color:var(--charcoal)}
.kurz-karta p{margin:0}
.k-text p{font-size:1.02rem;line-height:1.5}
.k-terminy{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}
.k-terminy li{background:var(--white);border-radius:10px;padding:.35rem .2rem .4rem;text-align:center;display:grid;line-height:1.15}
.k-terminy .den{font-family:var(--f-ui);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}
.k-terminy .dat{font-family:var(--f-head);font-weight:700;font-size:1.3rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.k-fakty,.kb-fakty{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem .4rem;font-size:.95rem;line-height:1.4}
.k-fakty li,.kb-fakty li{background:rgba(255,255,255,.55);border-radius:8px;padding:.15rem .55rem;font-weight:700;white-space:nowrap}
.k-akcia{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;margin-top:.15rem}
.k-akcia .btn{padding:13px 24px;font-size:1.02rem}
.k-akcia .k-link{font-family:var(--f-ui);font-weight:700;font-size:.95rem;color:var(--charcoal);text-decoration-color:var(--charcoal)}
.k-mikro{font-size:.9rem;line-height:1.4}
@media (max-width:420px){.k-terminy .dat{font-size:1.1rem}.k-terminy .den{font-size:.65rem}.kurz-karta{padding:1.1rem 1rem}}
/* vstup: pásik pod mapou (namiesto boxu Ako vznikla táto mapa?) */
.mapa-hacik{display:flex;align-items:baseline;gap:.5rem;margin:0;background:var(--gold);color:var(--charcoal);border-radius:12px;padding:.6rem .9rem;font-size:.98rem;line-height:1.45}
.mapa-hacik p{margin:0}
.mapa-hacik .stitok-edu{flex:none;position:relative;top:-1px}
.mapa-hacik a{color:var(--charcoal);text-decoration-color:var(--charcoal);font-weight:700}
.mapa-sec .mapa-hacik{margin-top:.9rem}
/* vstup: výber mestskej časti a mapa v jednej karte (od 960 px) */
@media (min-width:960px){
  .vyber-grid{position:relative;margin-top:-3.6rem;display:grid;grid-template-columns:minmax(0,26rem) minmax(0,1fr);
    background:var(--white);border-radius:18px;border-top:6px solid var(--green);box-shadow:0 14px 34px rgba(57,57,58,.12);padding:1.5rem 1.7rem}
  .vyber-grid>.vyber{margin:0;box-shadow:none;border:0;border-radius:0;padding:0 1.9rem 0 0;background:none;display:flex;flex-direction:column;gap:.9rem}
  .vyber-grid>.vyber>nav{flex:1 1 auto;display:flex;flex-direction:column;gap:.45rem}
  .vyber-grid .mc-grid{flex:1 1 auto;grid-auto-rows:minmax(42px,1fr)}
  .vyber-grid>.mapa-sec{margin:0;padding:0 0 0 1.9rem;border-left:1px solid var(--line);display:grid;gap:.45rem;grid-template-rows:auto auto 1fr auto}
  .vyber-grid .mapa-sec h2{margin:0}
  .vyber-grid .mc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
  .vyber-grid .mc-grid a{min-height:42px;height:100%;font-size:.95rem;padding:.3rem .6rem}
  .vyber-grid .na-mapu{display:none}
  .vyber-grid .mapa-blok{grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:1rem;margin-top:.3rem}
  .vyber-grid .mapa-cela{align-self:stretch;display:grid;align-items:center}
  .vyber-grid .mapa-hacik{align-self:end;margin-top:.4rem}
}
/* vstup: informácie o voľbách v dvoch stĺpcoch */
@media (min-width:960px){
  .info-riadok{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-rows:auto 1fr;column-gap:2rem;row-gap:0;margin-top:2.6rem}
  .info-riadok>.sec{margin-top:0;grid-row:span 2;display:grid;grid-template-rows:subgrid}
  .info-riadok>.sec>h2{align-self:end}
  .info-riadok>.sec>.card{display:flex;flex-direction:column;gap:.9rem}
  .info-riadok .card>.ai-note{margin-top:auto}
}
/* spodný blok: autor + program kurzu (vstup aj 22 MČ) */
.kurz-blok{margin-top:3.5rem;background:var(--gold);color:var(--charcoal);border-radius:20px;overflow:hidden;display:grid;scroll-margin-top:4.5rem}
.kb-ja{margin:0;display:grid;align-content:start;background:var(--gold)}
.kb-ja img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.kb-ja figcaption{background:var(--white);margin:.9rem;border-radius:14px;padding:.85rem 1rem;display:grid;gap:.25rem;font-size:1rem;line-height:1.45}
.kb-ja .kb-meno{font-family:var(--f-head);font-weight:700;font-size:1.2rem;line-height:1.2}
.kb-ja .kb-rola{font-family:var(--f-ui);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}
.kb-ja p{margin:0}
.kb-txt{padding:1.5rem clamp(1.1rem,3vw,2rem) 1.6rem;display:grid;gap:.8rem;align-content:start;min-width:0}
.kb-txt p{margin:0}
.kb-txt h2{font-size:clamp(1.5rem,3.4vw,2rem);line-height:1.15;color:var(--charcoal)}
.kb-uvod p{font-size:1.05rem}
.kb-stretnutia{list-style:none;margin:.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.kb-stretnutia li{background:var(--white);border-radius:12px;padding:.65rem .75rem .75rem;display:grid;gap:.2rem;align-content:start}
.kb-stretnutia .den{font-family:var(--f-ui);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}
.kb-stretnutia .dat{font-family:var(--f-head);font-weight:700;font-size:1.3rem;line-height:1.1}
.kb-stretnutia .tema{font-weight:700;font-size:.98rem;line-height:1.3}
.kb-stretnutia .vysl{font-size:.9rem;line-height:1.4}
.kb-dalsie{display:grid;gap:.3rem;font-size:.95rem}
.kurz-blok a:not(.btn){color:var(--charcoal);text-decoration-color:var(--charcoal)}
@media (max-width:519px){.kb-stretnutia{grid-template-columns:1fr}}
@media (min-width:760px){
  .kurz-blok{grid-template-columns:minmax(0,19rem) minmax(0,1fr)}
  .kb-ja img{aspect-ratio:auto;height:22rem}
}
@media (min-width:1100px){
  .kurz-blok{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}
  .kb-stretnutia{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kb-ja img{height:24rem}
}
/* koniec stránky: Ako vznikol (text | stav údajov), skratky strán */
.ako-dva{display:grid;gap:1rem}
@media (min-width:960px){
  .ako-dva{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:3rem;align-items:start}
  .legend{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* stránka MČ: prehľad lístkov ako mriežka */
.ph-stlpec{display:grid;gap:.6rem;align-content:start;min-width:0}
.ph-hlava{display:grid;gap:.3rem}
@media (min-width:960px){
  .prehlad.mriezka{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2rem;align-items:start}
  .prehlad.mriezka>.ph-hlava,.prehlad.mriezka>.ph-cela{grid-column:1/-1}
  .prehlad .ai-note{margin-top:.2rem}
  .pas-promo{grid-template-columns:96px minmax(0,1fr);align-items:center;padding:.8rem 1.1rem}
  .pas-txt{grid-template-columns:minmax(0,1fr) auto;column-gap:1.8rem;align-items:center}
  .pas-txt>.stitok-edu{grid-column:1;grid-row:1}
  .pas-txt>p:not(.pas-fakt){grid-column:1;grid-row:2}
  .pas-txt>.pas-fakt{grid-column:2;grid-row:1}
  .pas-txt>.btn{grid-column:2;grid-row:2;justify-self:start}
}
/* lístky: kandidáti bez profilov v dvoch stĺpcoch (poradie po riadkoch), pri profiloch zdroje vpravo */
.bez-prof{margin:0;font-size:.95rem;color:var(--gray)}
.c-text{display:grid;gap:.35rem;min-width:0}
@media (min-width:960px){
  details.listok>summary{width:fit-content;min-width:24rem}
  .cands:not(.profily){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
  .cands:not(.profily) .cand{border-bottom:1px solid var(--line);align-content:start}
  .cands:not(.profily) .c-body{align-content:start}
  .cands:not(.profily) .cand:last-child,
  .cands:not(.profily) .cand:nth-last-child(2):nth-child(odd){border-bottom:0}
  .cands.profily .c-body{grid-template-columns:minmax(0,1.7fr) minmax(15rem,1fr);column-gap:2.6rem;align-items:start}
  .cands.profily .c-body>.src{margin:0;padding:.8rem 1rem;background:var(--white);border:1px solid var(--line);border-radius:12px;display:grid;gap:.3rem}
  .cands.profily .c-body>.src ol{display:grid;gap:.35rem}
  .cands.profily .c-body>.src .src-viac ol{display:grid!important}
  .cands.profily .c-body>.src li+li::before{content:none}
  .kde .card.dva{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:2.5rem;align-items:start}
}
.kd-stlpec{display:grid;gap:.9rem;align-content:start;min-width:0}
/* zdieľanie za lístkami: text vľavo, tlačidlá vpravo (od 960 px) */
@media (min-width:960px){
  .zdielaj{grid-template-columns:minmax(0,1fr) auto;column-gap:2rem;align-items:center}
  .zdielaj>h2,.zdielaj>p{grid-column:1}
  .zdielaj>.btns{grid-column:2;grid-row:1/span 2}
}
/* pás kurzu na mobile: najprv riadok s mapou polohy (informácia), pod ním reklama na celú šírku */
@media (max-width:599px){
  .pas-promo{grid-template-columns:minmax(0,1fr);gap:.6rem}
  .pas-promo .pas-mapa{display:grid;grid-template-columns:52px minmax(0,1fr);gap:.7rem;align-items:center}
  .pas-promo .pas-mapa figcaption{margin:0;font-size:.85rem}
  .pas-promo .pas-txt{border-top:1px dashed var(--gold-dark);padding-top:.6rem}
}
/* hlavička lístka: názov a pravidlo vľavo, kontext a zdroje vpravo (od 960 px), na mobile pod sebou */
.bh-hlavna{display:grid;gap:.4rem;min-width:0}
@media (min-width:960px){
  .ballot-head,.sub-head{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:2.4rem;align-items:start}
  .ballot-head>.context,.sub-head>.context{margin-top:0;padding:.1rem 0 .1rem 2rem;border-top:0;border-left:1px solid var(--line)}
}
/* 960 až 1099 px (napríklad notebook 1280 px so zväčšením 125 %): užší stĺpec výberu, menší nadpis */
@media (min-width:960px) and (max-width:1099px){
  .vstup .hero-in{column-gap:2rem}
  .vstup .hero h1{font-size:2.7rem}
  .vyber-grid{grid-template-columns:minmax(0,20.5rem) minmax(0,1fr);padding:1.3rem 1.35rem}
  .vyber-grid>.vyber{padding-right:1.4rem}
  .vyber-grid>.mapa-sec{padding-left:1.4rem}
  .vyber-grid .mapa-blok{gap:.7rem}
}

/* ===== kolo 3, opravy po audite (13. 10. 2026): kompaktná karta výberu, hlavička, lístky, mobil, reklama ===== */
/* nadpisy h2: dve úrovne (sekcia, karta); nadpisy lístkov a reklamy ostávajú */
:root{--h2-sek:1.75rem;--h2-karta:1.4rem}
.vyber h2,.mapa-sec h2,.prehlad h2,.sec>h2{font-size:var(--h2-sek)}
.zdielaj h2,.chyba h2,.foot-info h2{font-size:var(--h2-karta)}
@media (max-width:559px){.vyber h2,.prehlad h2,.mapa-sec h2{font-size:1.4rem;line-height:1.2}}
/* hlavička: dekoratívne písmená prekrývali nadpis (na vstupe od 960 px už neboli) */
.hero .deco{display:none}
/* stránka MČ: mapa polohy v hlavičke (informácia sprievodcu, mimo reklamy), od 600 px vpravo */
.hero-mapa{display:none;margin:0}
@media (min-width:600px){
  .hero-in.s-mapou{grid-template-columns:minmax(0,1fr) auto;column-gap:2rem;align-items:center}
  .hero-mapa{display:block;width:96px}
  .hero-mapa img{display:block;width:100%;height:auto}
}
@media (min-width:960px){.hero-in.s-mapou{column-gap:3.5rem}.hero-mapa{width:136px}}
/* vstup do 959 px: kurz hneď v hlavičke (karta kurzu je až za výberom mestskej časti) */
.hero-kurz{margin:0;justify-self:start}
.hero-kurz a{display:inline-flex;align-items:center;gap:.55rem;background:var(--gold);color:var(--charcoal);font-family:var(--f-ui);font-weight:700;font-size:.95rem;line-height:1.35;text-decoration:none;border-radius:12px;padding:.5rem .85rem;box-shadow:0 6px 16px rgba(57,57,58,.12)}
.hero-kurz a:hover{background:var(--gold-dark);color:var(--charcoal)}
.hero-kurz .sip{flex:none;font-size:1.3rem;line-height:1}
.kurz-karta--pod{scroll-margin-top:1rem}
@media (min-width:960px){.hero-kurz{display:none}}
.kurz-karta--hero .k-hlava{font-size:.85rem}
/* vstup: karta výberu kompaktne, mapa hore bez prázdnych plôch, skratky pod oboma mapami */
.skratky>div{display:contents}
.mapa-panel.uvod{border:0;background:var(--green-tint);min-height:0;padding:.55rem .8rem}
@media (min-width:960px){
  .vyber-grid .mapa-blok{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
  .vyber-grid .mapa-cela{align-self:start;display:block}
  .vyber-grid>.mapa-sec{grid-template-rows:auto auto auto auto auto 1fr}
  .vyber-grid .skratky-blok{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .9rem}
  .vyber-grid .skratky{display:flex;flex-wrap:wrap;gap:.1rem .9rem;font-size:.9rem}
  .vyber-grid .skratky>div{display:flex;gap:.35rem;white-space:nowrap}
  .vyber-grid .mapa-hacik{align-self:end}
  .vyber-grid .mc-grid{grid-auto-rows:minmax(40px,auto)}
  .vyber-grid .mc-grid a{min-height:40px}
}
/* lístky: tlačidlo Zobraziť kandidátov ako päta karty na celú šírku */
.ballot-head:has(+details.listok),.sub-head:has(+details.listok){border-bottom-left-radius:0;border-bottom-right-radius:0}
.ballot-head+details.listok,.sub-head+details.listok{margin-top:0}
.ballot-head+details.listok>summary,.sub-head+details.listok>summary{width:auto;min-width:0;border:0;border-top:1px solid var(--line);border-radius:0 0 16px 16px;background:var(--green-tint);box-shadow:0 6px 20px rgba(57,57,58,.07);padding:.75rem clamp(1rem,3vw,1.5rem);justify-content:flex-start;gap:.6rem}
.sub-head+details.listok>summary{border-radius:0 0 14px 14px;border-left:5px solid var(--green)}
.ballot-head+details.listok>summary:hover,.sub-head+details.listok>summary:hover{background:var(--green-tint-2)}
/* mobil: číslo vedľa mena, text profilu na celú šírku karty */
@media (max-width:599px){
  .cands.profily .cand{grid-template-columns:2.6rem minmax(0,1fr);column-gap:.7rem;row-gap:.35rem}
  .cands.profily .num{width:2.6rem;height:2.6rem;grid-row:1;align-self:start}
  .cands.profily .c-body,.cands.profily .c-text{display:contents}
  .cands.profily .c-text>h3{grid-column:2;grid-row:1;align-self:center;padding-top:0}
  .cands.profily .c-text>:not(h3),.cands.profily .c-body>.src{grid-column:1/-1}
}
/* kde a ako voliť pri jednom okrsku: okrsok a zdroje v riadku, postup v dvoch stĺpcoch */
@media (min-width:960px){
  .kde .card.dva:not(:has(.finder)){grid-template-columns:minmax(0,1fr)}
  .kde .card.dva:not(:has(.finder))>.kd-stlpec:first-child{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:2.5rem;align-items:start;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
  .kde .card.dva:not(:has(.finder))>.kd-stlpec:first-child>h3{grid-column:1/-1}
  .kde .card.dva:not(:has(.finder)) .kroky{display:block;columns:2;column-gap:3rem}
  .kde .card.dva:not(:has(.finder)) .kroky li{break-inside:avoid;margin-bottom:.35rem}
}
/* zdroje pod sebou (bez bodky na začiatku riadku) */
.src{display:grid;gap:.2rem}
.src ol{display:grid;gap:.25rem}
.src li{display:block}
.src li+li::before{content:none}
/* legenda skratiek strán: názvy zarovnané */
.legend div{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:.6rem}
.legend dt{min-width:0}
/* prehľad lístkov na mobile: počet kandidátov a krúžky pod sebou, bez bodky na konci riadku */
@media (max-width:599px){.lk .sep{display:none}.lk .kr{display:block}}
.stav-tab tr:last-child th{border-bottom:0}
/* pás kurzu na stránke MČ: zlatá = ponuka EDU AI, bez mapy */
.pas-promo{display:block;background:var(--gold);border:0;padding:.85rem 1rem}
.pas-promo .pas-txt{border-top:0;padding-top:0}
/* okrsky: poznámka o miestnom obvode raz nad zoznamom */
.okr-pozn{margin:0 0 .4rem}


/* Video "ako to vyzera naživo" v kurzovom bloku */
.kb-video{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;background:var(--white);border-radius:14px;padding:.8rem;margin-top:.2rem}
.kb-video video{display:block;width:150px;height:267px;object-fit:cover;border-radius:10px;background:#000}
.kb-video .kbv-txt{min-width:0}
.kb-video b{display:block;font-family:var(--f-head);font-size:1.08rem;line-height:1.25;margin-bottom:.25rem}
.kb-video p{margin:0;font-size:.95rem;line-height:1.45}
@media (max-width:420px){.kb-video{grid-template-columns:1fr;justify-items:center;text-align:center}.kb-video video{width:170px !important;height:302px !important}}
