/* === CivicTwin Theme — vzhled převzatý ze schváleného prototypu (původně Sulice — náš domov) === */
:root{
  --ink:#10151B;--ink-soft:#39414A;--muted:#6B7178;
  --paper:#F7F5F0;--sand:#EDE8DC;--line:#E4DFD4;--line2:#D7D1C4;--white:#FFFFFF;
  --forest:#2E6B53;--forest-d:#234F3D;--sage:#7CA793;--gold:#B8965A;--brick:#A6553F;--blue:#36617F;
  --r:16px;--r-lg:24px;--maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Fraunces','Georgia',serif;font-weight:600;line-height:1.06;letter-spacing:-.015em}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--forest)}
.lead{font-size:1.22rem;color:var(--ink-soft);max-width:64ch}
.muted{color:var(--muted)}
section{padding:104px 0}
.sec-head{max-width:66ch;margin-bottom:48px}
.sec-head h2{font-size:clamp(2.1rem,5vw,3.3rem);margin:14px 0 16px}
.note{font-size:.8rem;color:var(--muted);background:var(--sand);border-radius:8px;padding:9px 13px;display:inline-flex;gap:8px;align-items:center;margin-top:18px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:.18s;font-family:inherit}
.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:#000}
.btn-forest{background:var(--forest);color:#fff}.btn-forest:hover{background:var(--forest-d)}
.btn-light{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.5)}.btn-light:hover{background:rgba(255,255,255,.24)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line2)}.btn-ghost:hover{border-color:var(--ink)}

/* UTILITY */
.util{background:var(--ink);color:rgba(255,255,255,.8);font-size:.8rem}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:12px}
.util .right{display:flex;gap:20px;align-items:center}.util b{color:#fff}
.util .live{display:inline-flex;align-items:center;gap:7px}
.util .dot{width:7px;height:7px;border-radius:50%;background:var(--sage);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(124,167,147,.5)}70%{box-shadow:0 0 0 7px rgba(124,167,147,0)}100%{box-shadow:0 0 0 0 rgba(124,167,147,0)}}

/* NAV */
header.nav{position:sticky;top:0;z-index:100;background:rgba(247,245,240,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:14px}
.brand{display:flex;align-items:center;gap:11px;cursor:pointer;flex:none}
.brand .mark{width:38px;height:38px;border-radius:10px;background:var(--forest);display:grid;place-items:center}
.brand .mark svg{width:22px;height:22px}
.brand b{font-weight:800;font-size:1.02rem;display:block;line-height:1}
.brand small{font-weight:500;font-size:.62rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
nav.links{display:flex;gap:0;align-items:center;flex-wrap:wrap;justify-content:center}
nav.links a{padding:8px 11px;border-radius:8px;font-size:.88rem;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:.18s;white-space:nowrap}
nav.links a:hover{background:var(--sand);color:var(--ink)}
nav.links a.active{color:var(--forest);font-weight:700}
nav.links a.vote{color:var(--brick);font-weight:600}

.view{display:none;animation:fade .45s ease}
.view.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* HERO — film */
.hero{position:relative;height:92vh;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:#0c1410}
.filmframe{position:absolute;inset:0;overflow:hidden}
.filmframe .reel{position:absolute;inset:-2% -2%;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:50%;gap:0;filter:saturate(.92)}
.filmframe .reel div{background-size:cover;background-position:center;animation:kenburns 18s ease-in-out infinite alternate}
.filmframe .reel div:nth-child(2){animation-delay:-4s}.filmframe .reel div:nth-child(3){animation-delay:-8s}
.filmframe .reel div:nth-child(4){animation-delay:-12s}.filmframe .reel div:nth-child(5){animation-delay:-6s}
.filmframe .reel div:nth-child(6){animation-delay:-10s}.filmframe .reel div:nth-child(7){animation-delay:-2s}.filmframe .reel div:nth-child(8){animation-delay:-14s}
@keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.18)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,12,.45),rgba(10,16,12,.3) 45%,rgba(10,16,12,.72))}
.hero-in{position:relative;z-index:2;padding:0 24px}
.hero h1{font-size:clamp(3rem,9.5vw,7rem);font-weight:600;text-shadow:0 2px 40px rgba(0,0,0,.4)}
.hero .filmcue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.7);font-size:.78rem;display:flex;align-items:center;gap:8px}
.hero .skip{position:absolute;top:14px;right:20px;z-index:3;color:rgba(255,255,255,.65);font-size:.78rem;cursor:pointer;border:1px solid rgba(255,255,255,.3);padding:6px 13px;border-radius:999px}
.hero .skip:hover{background:rgba(255,255,255,.12)}

/* PORTAL SEARCH */
.searchband{background:var(--white);border-bottom:1px solid var(--line);padding:30px 0}
.bigsearch{display:flex;max-width:720px;margin:0 auto;background:var(--paper);border:1.5px solid var(--line2);border-radius:999px;padding:6px 6px 6px 22px;align-items:center}
.bigsearch input{flex:1;border:none;background:none;font-family:inherit;font-size:1.05rem;outline:none;color:var(--ink)}
.bigsearch button{background:var(--forest);color:#fff;border:none;border-radius:999px;padding:12px 24px;font-weight:600;cursor:pointer;font-family:inherit}
.searchhint{text-align:center;margin-top:12px;font-size:.84rem;color:var(--muted)}
.searchhint b{color:var(--forest);cursor:pointer;font-weight:600}

/* TILES */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--white)}
.tile{padding:30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;transition:.18s}
.tile:hover{background:var(--paper)}.tile .ic{font-size:1.6rem;margin-bottom:14px}
.tile h3{font-size:1.18rem;margin-bottom:6px}.tile p{font-size:.88rem;color:var(--muted)}

/* LIVE */
.livewrap{background:var(--forest-d);color:#fff}
.livegrid{display:grid;grid-template-columns:repeat(5,1fr)}
.livecell{padding:34px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}
.livecell:last-child{border-right:none}
.livecell .n{font-family:'Fraunces';font-size:2.4rem;font-weight:500}.livecell .l{font-size:.8rem;color:rgba(255,255,255,.75);margin-top:4px}

/* CARDS */
.cards3,.cards4{display:grid;gap:18px}.cards3{grid-template-columns:repeat(3,1fr)}.cards4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:.18s;cursor:pointer;display:flex;flex-direction:column}
.card:hover{border-color:var(--sage)}
.card .ic{font-size:1.6rem;width:52px;height:52px;border-radius:13px;background:var(--sand);display:grid;place-items:center;margin-bottom:16px}
.card h3{font-size:1.2rem;margin-bottom:7px}.card p{color:var(--ink-soft);font-size:.93rem}.card .go{margin-top:auto;padding-top:14px;color:var(--forest);font-weight:600;font-size:.85rem}

/* PHOTO BAND */
.photoband{height:48vh;min-height:340px;display:flex;align-items:flex-end;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,#3a5a4c,#1c2c26)}
.photoband .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,21,27,.1),rgba(16,21,27,.6))}
.photoband .pc{position:relative;z-index:1;padding:0 28px 44px;max-width:var(--maxw);margin:0 auto;width:100%}
.photoband h2{font-size:clamp(2rem,5vw,3.2rem);color:#fff}.photoband p{color:rgba(255,255,255,.85);max-width:52ch;margin-top:10px}

/* TÉMATA aggregator */
.topicpick{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.tpk{padding:11px 18px;border-radius:999px;border:1.5px solid var(--line2);background:var(--white);cursor:pointer;font-weight:600;font-size:.92rem;transition:.18s}
.tpk.on{background:var(--forest);color:#fff;border-color:var(--forest)}
.aggwrap{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.aggcard{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}
.aggcard h4{font-family:'Inter';font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--forest);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.aggcard .li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem;display:flex;justify-content:space-between;gap:12px;cursor:pointer}
.aggcard .li:hover{color:var(--forest)}
.aggcard .li:last-child{border:none}
.aggcard.full{grid-column:1/-1}
.osa{display:flex;gap:0;overflow-x:auto;padding-bottom:6px}
.osa .ev{flex:none;width:160px;padding:0 14px;border-top:3px solid var(--sage);margin-top:8px}
.osa .ev .y{font-family:'Fraunces';color:var(--forest);font-weight:600}
.osa .ev .x{font-size:.84rem;color:var(--ink-soft)}
.aggfoto{height:140px;border-radius:12px;background:linear-gradient(135deg,#6f7e6a,#4f5d4c);display:grid;place-items:center;color:rgba(255,255,255,.75);font-size:.82rem}

/* MAP */
.mapview{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:start}
.mapbox{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;position:sticky;top:120px}
.mapbox svg{width:100%;height:auto;display:block}
.region{cursor:pointer;transition:.2s;fill:rgba(255,255,255,0);stroke:rgba(5,72,47,0);stroke-width:2.5;stroke-linejoin:round}
.region:hover{fill:rgba(255,255,255,.28);stroke:rgba(5,72,47,.45)}
.region.sel{fill:rgba(5,72,47,.17);stroke:#05482F}
.rlabel{font-size:11px;font-weight:600;fill:var(--ink);pointer-events:none}
.mapbox svg{border-radius:14px}
.mp-labels{pointer-events:none}
.mp-vlabel{font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;fill:#26332A;paint-order:stroke;stroke:rgba(255,255,255,.75);stroke-width:3px}
.mp-road{font:600 10px/1 Inter,system-ui,sans-serif;letter-spacing:.1em;fill:#6E6650}
.tabbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.tab{padding:8px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--white);cursor:pointer;font-size:.82rem;font-weight:600}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tabpanel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;min-height:300px}
.tabpanel h3{font-size:1.6rem;margin-bottom:6px}.tabpanel .li{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;font-size:.94rem}

/* MONEY */
.moneybox{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:38px;min-height:440px}
.crumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.86rem;margin-bottom:26px;color:var(--muted)}
.crumb a{color:var(--forest);font-weight:600;cursor:pointer}.crumb .sep{color:var(--line2)}
.mrow{display:flex;align-items:center;gap:16px;margin-bottom:12px;cursor:pointer}
.mrow .bar{flex:1}.mrow .top{display:flex;justify-content:space-between;font-size:.94rem;font-weight:600;margin-bottom:6px}
.mrow .track{height:30px;background:var(--sand);border-radius:7px;overflow:hidden}
.mrow .fill{height:100%;border-radius:7px;transition:width .8s ease;display:flex;align-items:center;padding-left:13px;color:#fff;font-size:.8rem;font-weight:600}
.mrow .chev{color:var(--muted)}
.projwrap{display:grid;grid-template-columns:240px 1fr;gap:26px;margin-top:6px}
.projwrap .ph{background:linear-gradient(135deg,#6f7e6a,#4f5d4c);min-height:200px;border-radius:var(--r);display:grid;place-items:center;color:rgba(255,255,255,.75);font-size:.82rem;text-align:center;padding:12px}
.projwrap h4{font-family:'Inter';font-size:1.2rem;margin-bottom:14px}
.projwrap table{width:100%;font-size:.92rem;border-collapse:collapse}
.projwrap td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}.projwrap td:first-child{color:var(--muted);width:40%}
.paybar{height:12px;border-radius:6px;background:var(--sand);overflow:hidden;margin-top:4px}.paybar div{height:100%;background:var(--forest)}
.stages{display:flex;gap:0;margin:18px 0;flex-wrap:wrap}
.stage{flex:1;min-width:88px;text-align:center;font-size:.78rem;padding:10px 6px;border-top:3px solid var(--line)}
.stage.done{border-color:var(--forest);color:var(--forest);font-weight:600}.stage.now{border-color:var(--gold);color:var(--gold);font-weight:700}
.docchip{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:600;color:var(--forest);margin-top:14px;cursor:pointer}

/* CHANGE SLIDER */
.changewrap{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px}
.aerial{border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.aerial svg{display:block;width:100%;height:auto}
.changerow{display:flex;align-items:center;gap:18px;margin-top:22px}.changerow input{flex:1}
.yearbig{font-family:'Fraunces';font-size:2rem;color:var(--forest);width:90px;text-align:center}

/* TIMELINE */
.htl .row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.htl .yr{font-family:'Fraunces';font-size:1.8rem;color:var(--forest)}
.htl .ph{height:150px;border-radius:var(--r);background:linear-gradient(135deg,#8a8170,#5e564a);display:grid;place-items:center;color:rgba(255,255,255,.7);font-size:.8rem;margin-top:14px}
.htl h4{font-family:'Inter';font-size:1.1rem;margin-bottom:6px}.htl p{font-size:.94rem;color:var(--ink-soft)}

/* HOW + ARTICLES */
.howgrid,.artgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.how,.art{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px;cursor:pointer;transition:.18s;display:flex;flex-direction:column;gap:8px}
.how:hover,.art:hover{border-color:var(--sage)}
.how .q,.art h4{font-family:'Fraunces';font-size:1.2rem}.how p,.art p{font-size:.9rem;color:var(--ink-soft)}
.art .cat{font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--forest)}.art .rt{margin-top:auto;font-size:.78rem;color:var(--muted)}
.how .more{margin-top:auto;color:var(--forest);font-weight:600;font-size:.84rem}
.howbody,.artbody{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:46px;margin-top:24px;max-width:780px}
.howbody h2,.artbody h2{font-size:2rem;margin:6px 0 18px}.howbody p,.artbody p{margin-bottom:15px;color:var(--ink-soft)}

/* DOCS */
.docsearch{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.docsearch input{flex:1;min-width:260px;padding:16px 20px;border:1.5px solid var(--line2);border-radius:14px;font-family:inherit;font-size:1.05rem;background:var(--white)}
.docsearch input:focus{outline:none;border-color:var(--forest)}
.docfilter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.dfb{padding:8px 14px;border-radius:999px;border:1.5px solid var(--line2);background:var(--white);cursor:pointer;font-size:.84rem;font-weight:600}.dfb.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.doclist{display:flex;flex-direction:column;gap:10px}
.doc{display:flex;align-items:center;gap:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;transition:.18s;cursor:pointer}.doc:hover{border-color:var(--sage)}
.doc .di{width:46px;height:46px;border-radius:11px;background:var(--sand);display:grid;place-items:center;font-size:1.3rem;flex:none}
.doc .dmeta{flex:1}.doc .dmeta b{font-size:1rem}.doc .dmeta span{font-size:.82rem;color:var(--muted);display:block}.doc .dmeta em{font-style:normal;background:#FFF1C9;padding:0 2px}
.doc .dtype{font-size:.74rem;font-weight:700;color:var(--forest);background:#EEF4F0;padding:5px 11px;border-radius:999px;flex:none}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gcell{aspect-ratio:1;border-radius:14px;display:flex;align-items:flex-end;padding:12px;color:#fff;font-size:.8rem;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.5);text-decoration:none;overflow:hidden}.gcell:hover{color:#fff;text-decoration:none}.gcell span{display:block}

/* CALENDAR */
.callist{display:flex;flex-direction:column;gap:10px}
.cal{display:flex;gap:18px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px}
.cal .d{width:64px;text-align:center;flex:none}.cal .d .dd{font-family:'Fraunces';font-size:1.6rem;color:var(--forest);line-height:1}.cal .d .mm{font-size:.74rem;color:var(--muted);text-transform:uppercase}
.cal .ct b{font-size:1.02rem}.cal .ct span{font-size:.84rem;color:var(--muted);display:block}

/* PEOPLE */
.whyband{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 38px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:22px;row-gap:28px;margin-bottom:34px;align-items:start}
.why{text-align:center;padding:0;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;justify-self:stretch;border:0;border-radius:0;transition:none;min-width:0}
a.why:hover{background:transparent;border-color:transparent;transform:none;box-shadow:none}
.why__photo{width:136px;height:136px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:0 0 136px;margin:0 auto 18px;border:0;box-shadow:none;background:var(--sand)}
.why .av{width:100%;height:100%;aspect-ratio:1/1;border-radius:0;margin:0;display:grid;place-items:center;color:#fff;font-family:'Fraunces';font-size:2.4rem;transition:none;transform:none}
.why img.av--img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;display:block;border:0;box-shadow:none;margin:0;transform:none!important;transition:none!important}
a.why:hover .av{transform:none}
.why .s{font-family:'Fraunces';font-size:1.02rem;line-height:1.35;display:flex;align-items:flex-start;justify-content:center;min-height:9.5em;margin:0}.why .n{font-size:.84rem;font-weight:700;color:var(--ink);margin-top:10px;min-height:2.5em;display:flex;align-items:flex-start;justify-content:center}
.why .why__go{margin-top:auto;padding-top:12px;font-size:.8rem;font-weight:600;color:var(--forest);opacity:0;transition:.22s}
a.why:hover .why__go{opacity:0}
@media(max-width:1100px){.whyband{grid-template-columns:repeat(3,minmax(0,1fr));padding:28px 32px}.why__photo{width:120px;height:120px;flex-basis:120px}.why .s{min-height:8em}}
@media(max-width:640px){.whyband{grid-template-columns:1fr 1fr;padding:22px 16px;gap:24px 12px}.why{padding:0}.why__photo{width:104px;height:104px;flex-basis:104px}.why .s{font-size:.92rem;min-height:0}.why .n{min-height:0}.why .why__go{opacity:1}}
.candgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cand{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:.18s}.cand:hover{border-color:var(--sage)}
.cand .ph{height:260px;position:relative;display:grid;place-items:center}
.cand .ph .ini{font-family:'Fraunces';font-size:3rem;color:rgba(255,255,255,.9);z-index:1}
.cand .ph .pos{position:absolute;top:14px;left:14px;background:var(--ink);color:#fff;font-size:.74rem;font-weight:700;padding:5px 11px;border-radius:999px;z-index:1}
.cand .ph .vid{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,.92);color:var(--ink);font-size:.74rem;font-weight:600;padding:6px 12px;border-radius:999px;z-index:1;cursor:pointer;display:flex;gap:6px;align-items:center}
.cand .body{padding:24px}.cand h3{font-size:1.3rem}.cand .role{color:var(--forest);font-weight:600;font-size:.9rem;margin:2px 0 14px}
.cand .why2{font-size:.95rem;color:var(--ink-soft);font-style:italic;border-left:3px solid var(--sage);padding-left:14px;margin-bottom:14px}
.cand .meta{display:flex;gap:14px;font-size:.82rem;color:var(--muted);flex-wrap:wrap}

/* PROGRAM */
.topicgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.topic{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px;cursor:pointer;transition:.18s;display:flex;flex-direction:column;gap:8px}
.topic:hover{border-color:var(--sage)}.topic .ti{font-size:1.5rem}.topic h4{font-family:'Inter';font-size:1.05rem}.topic p{font-size:.86rem;color:var(--muted)}.topic .arrow{margin-top:auto;color:var(--forest);font-weight:600;font-size:.84rem}
.detail{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:42px;margin-top:28px}
.flow{display:flex;flex-direction:column;margin-top:22px}
.fstep{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.fstep .fl{font-family:'Inter';font-weight:700;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--forest);display:flex;gap:10px}
.fstep .fl .n{width:26px;height:26px;border-radius:50%;background:var(--sand);display:grid;place-items:center;color:var(--ink);flex:none;font-size:.85rem}
.fstep p{color:var(--ink-soft);font-size:.96rem}.fstep.risk .fl{color:var(--brick)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.pill{text-align:center;padding:26px 14px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);min-height:154px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pill .pic{width:64px;height:64px;margin:0 auto 14px;border-radius:18px;background:var(--sand);border:1px solid var(--line);display:grid;place-items:center;font-size:1.7rem;line-height:1;transition:.2s}
.pill:hover .pic{background:#EAF2EC;border-color:var(--sage);transform:scale(1.06)}
.pill .pic svg{width:26px;height:26px}.pill h4{font-family:'Inter';font-weight:700;font-size:.96rem}.pill .no{font-family:'Fraunces';color:var(--gold);font-size:.86rem;font-weight:600}

/* DATA */
.dashgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.dcard{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px}
.dcard h3{font-family:'Inter';font-size:1.05rem;font-weight:700;margin-bottom:4px}.dcard .dsub{font-size:.84rem;color:var(--muted);margin-bottom:20px}
.donut{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.legend{font-size:.86rem}.legend div{display:flex;align-items:center;gap:9px;margin-bottom:8px}.legend .sw{width:13px;height:13px;border-radius:3px}
.metrics{display:flex;gap:26px;flex-wrap:wrap}.metric .mn{font-family:'Fraunces';font-size:1.6rem}.metric .ml{font-size:.8rem;color:var(--muted)}

/* REPORT */
.reportwrap{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:start}
.phone{background:var(--ink);border-radius:34px;padding:14px;width:340px}
.phone .screen{background:var(--paper);border-radius:24px;padding:22px;min-height:520px}
.phone .ph-h{font-family:'Fraunces';font-size:1.3rem;margin-bottom:4px}
.rcat{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.rcat button{background:var(--white);border:1.5px solid var(--line);border-radius:14px;padding:16px 8px;cursor:pointer;font-family:inherit;font-weight:600;font-size:.86rem;display:flex;flex-direction:column;align-items:center;gap:8px}
.rcat button.on{border-color:var(--forest);background:#EEF4F0;color:var(--forest)}.rcat .e{font-size:1.6rem}
.uploadbox{border:2px dashed var(--line2);border-radius:14px;padding:26px;text-align:center;color:var(--muted);font-size:.88rem;cursor:pointer;background:var(--white)}
.rsent{background:#EEF4F0;border:1px solid var(--sage);border-radius:14px;padding:18px;font-size:.9rem;color:var(--forest-d);margin-top:14px;display:none}

/* FORM / BAND */
.band{background:var(--forest);color:#fff;border-radius:var(--r-lg);padding:56px;text-align:center}
.band h2{font-size:clamp(1.9rem,4vw,2.6rem);color:#fff;max-width:24ch;margin:0 auto 16px}.band p{color:rgba(255,255,255,.88);max-width:52ch;margin:0 auto 26px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:.85rem;font-weight:600}
.field input,.field textarea,.field select{padding:13px 15px;border:1.5px solid var(--line2);border-radius:12px;font-family:inherit;font-size:.95rem;background:var(--white)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--forest)}

/* FOOTER */
footer{background:var(--ink);color:rgba(255,255,255,.75);padding:60px 0 34px}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;margin-bottom:38px}
footer h5{font-family:'Inter';color:#fff;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
footer a{display:block;padding:5px 0;font-size:.92rem;cursor:pointer}footer a:hover{color:#fff}
.fbot{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.82rem;color:rgba(255,255,255,.5)}
.pagehead{background:var(--white);border-bottom:1px solid var(--line);padding:60px 0 52px}
.pagehead h1{font-size:clamp(2.3rem,5.5vw,3.8rem);max-width:18ch}.pagehead .lead{margin-top:16px}
.disc{background:#FBF6EE;border:1px solid var(--gold);border-radius:var(--r);padding:14px 18px;font-size:.84rem;color:#6e5526;display:flex;gap:10px;align-items:center;margin-bottom:24px}

/* AI CHAT */
#chatBtn{position:fixed;bottom:22px;right:22px;z-index:200;background:var(--forest);color:#fff;border:none;border-radius:999px;padding:15px 22px;font-weight:600;font-size:.94rem;cursor:pointer;display:flex;align-items:center;gap:9px;font-family:inherit}
#chatBtn:hover{background:var(--forest-d)}
#chatPanel{position:fixed;bottom:22px;right:22px;z-index:201;width:400px;max-width:calc(100vw - 28px);height:600px;max-height:calc(100vh - 44px);background:var(--white);border:1px solid var(--line2);border-radius:22px;display:none;flex-direction:column;overflow:hidden}
#chatPanel.open{display:flex}
.chatHead{background:var(--ink);color:#fff;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}
.chatHead b{font-size:1rem}.chatHead small{color:rgba(255,255,255,.6);font-size:.74rem;display:block}.chatHead .x{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer}
.chatBody{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--paper)}
.msg{max-width:86%;padding:12px 15px;border-radius:15px;font-size:.92rem;line-height:1.5}
.msg.bot{background:var(--white);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}
.msg.user{background:var(--forest);color:#fff;align-self:flex-end;border-bottom-right-radius:5px}
.msg .srcline{margin-top:9px;font-size:.76rem;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}
.msg .srchead{font-weight:700;margin-bottom:4px;color:var(--ink-soft)}
.msg .srcitem{margin:3px 0;line-height:1.45}
.msg .srcitem a{color:var(--forest);text-decoration:underline}
.msg .srctype{display:inline-block;margin-left:4px;padding:1px 7px;border:1px solid var(--line);border-radius:999px;font-size:.68rem;color:var(--muted);background:#fff}
.chatChips{display:flex;gap:7px;flex-wrap:wrap;padding:0 18px 10px;background:var(--paper)}
.chatChips button{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.8rem;cursor:pointer;font-family:inherit}
.chatChips button:hover{border-color:var(--forest);color:var(--forest)}
.chatInput{display:flex;gap:8px;padding:14px;border-top:1px solid var(--line);background:var(--white)}
.chatInput input{flex:1;padding:11px 14px;border:1.5px solid var(--line2);border-radius:12px;font-family:inherit;font-size:.92rem}
.chatInput input:focus{outline:none;border-color:var(--forest)}
.chatInput button{background:var(--forest);color:#fff;border:none;border-radius:12px;padding:0 16px;cursor:pointer;font-weight:600}

@media(max-width:920px){
  .util .right span:first-child{display:none}
  .livegrid{grid-template-columns:1fr 1fr 1fr}.livecell:nth-child(3){border-right:none}
  .tiles,.cards4,.gallery,.whyband{grid-template-columns:1fr 1fr}
  .cards3,.candgrid,.topicgrid,.howgrid,.artgrid{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr 1fr}.filmframe .reel{grid-template-columns:repeat(2,1fr);grid-auto-rows:25%}
  .dashgrid,.formgrid,.mapview,.reportwrap,.projwrap,.fstep,.howbody,.htl .row,.aggwrap{grid-template-columns:1fr}
  .mapbox{position:static}
  nav.links{display:none}
  .band,.detail,.moneybox,.changewrap{padding:26px}.phone{width:100%;max-width:340px;margin:0 auto}
  section{padding:64px 0}
}

/* === Doplňkové styly vnitřních stránek (ct- komponenty) === */
/* CivicTwin Theme — main.css · volební web (moderní, důvěryhodný) */
:root{
  --ct-ink:#11181F; --ct-soft:#3A434C; --ct-muted:#6B7178;
  --ct-paper:#F7F6F2; --ct-sand:#ECE7DC; --ct-line:#E6E1D6; --ct-line2:#D8D2C5; --ct-white:#fff;
  --ct-accent:#2E6B53; --ct-accent-d:#234F3D; --ct-sage:#7CA793; --ct-gold:#B8965A; --ct-brick:#A6553F;
  --ct-r:14px; --ct-r-lg:22px; --ct-r-xl:30px; --ct-maxw:1180px;
  --ct-sh:0 1px 2px rgba(17,24,31,.04),0 6px 18px rgba(17,24,31,.06);
  --ct-sh-lg:0 12px 40px rgba(17,24,31,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ct-ink);background:var(--ct-paper);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:'Fraunces','Georgia',serif;font-weight:600;line-height:1.07;letter-spacing:-.015em;margin:0 0 .4em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.ct-wrap{max-width:var(--ct-maxw);margin:0 auto;padding:0 26px}
.ct-section{padding:92px 0}
.ct-section--alt{background:var(--ct-white);border-top:1px solid var(--ct-line);border-bottom:1px solid var(--ct-line)}
.ct-narrow{max-width:820px}
.ct-center{text-align:center}
.ct-h2{font-size:clamp(2rem,4.6vw,3rem);margin-bottom:8px}
.ct-pagetitle{font-size:clamp(2.1rem,5vw,3.4rem);margin-bottom:18px}
.ct-muted{color:var(--ct-muted)}
.ct-eyebrow{display:block;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ct-accent);margin-bottom:10px}
.ct-note{font-size:.82rem;color:var(--ct-muted);background:var(--ct-sand);border-radius:10px;padding:10px 14px;display:inline-block;margin-top:18px}
.ct-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.ct-sechead .ct-h2{margin-bottom:0}
.ct-more{color:var(--ct-accent);font-weight:600;font-size:.92rem;white-space:nowrap}
.ct-skip{position:absolute;left:-9999px}.ct-skip:focus{left:16px;top:12px;z-index:999;background:#fff;padding:10px 16px;border-radius:8px}

/* Buttons */
.ct-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:600;font-size:.95rem;cursor:pointer;border:1.5px solid var(--ct-line2);background:var(--ct-white);font-family:inherit;transition:.2s;box-shadow:var(--ct-sh)}
.ct-btn:hover{transform:translateY(-2px);box-shadow:var(--ct-sh-lg)}
.ct-btn--primary{background:var(--ct-accent);color:#fff;border-color:var(--ct-accent)}
.ct-btn--primary:hover{background:var(--ct-accent-d)}
.ct-btn--light{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.55);box-shadow:none}
.ct-btn--light:hover{background:rgba(255,255,255,.28)}
.ct-btn--lg{padding:16px 30px;font-size:1.02rem}

/* Header */
.ct-header{position:sticky;top:0;z-index:60;background:rgba(247,246,242,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--ct-line)}
.ct-header__in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.ct-brand{display:flex;align-items:center;gap:12px}
.ct-brand__logo{width:42px;height:42px;object-fit:contain;border-radius:10px}
.ct-brand__text b{display:block;font-weight:800;font-size:1.08rem;line-height:1.05}
.ct-brand__text small{display:block;font-size:.66rem;letter-spacing:.04em;color:var(--ct-muted)}
.ct-nav{display:flex;align-items:center;gap:14px}
.ct-nav__list{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.ct-nav__list a{padding:9px 13px;border-radius:8px;font-size:.93rem;font-weight:500;color:var(--ct-soft)}
.ct-nav__list a:hover{background:var(--ct-sand);color:var(--ct-ink)}
.ct-nav__cta{background:var(--ct-accent);color:#fff;padding:9px 16px;border-radius:999px;font-size:.9rem;font-weight:600}
.ct-nav__cta:hover{background:var(--ct-accent-d)}
.ct-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.ct-burger span{width:24px;height:2px;background:var(--ct-ink);transition:.2s}

/* HERO 2 (volební) */
.ct-hero2{position:relative;min-height:90vh;display:flex;align-items:center;background:linear-gradient(160deg,#3a5a4c,#1c2c26) center/cover no-repeat;overflow:hidden}
.ct-hero2__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-hero2__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.45),rgba(12,18,14,.35) 40%,rgba(12,18,14,.78))}
.ct-hero2__in{position:relative;z-index:2;color:#fff;max-width:880px;padding-top:40px;padding-bottom:40px}
.ct-hero2__title{font-size:clamp(2.6rem,7vw,5.4rem);color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.35);margin-bottom:18px}
.ct-hero2__sub{font-size:clamp(1.1rem,2.4vw,1.6rem);color:rgba(255,255,255,.92);max-width:40ch;margin-bottom:34px;line-height:1.5}
.ct-hero2__cta{display:flex;gap:14px;flex-wrap:wrap}
.ct-hero2__cap{position:absolute;bottom:14px;right:18px;z-index:2;font-size:.7rem;color:rgba(255,255,255,.6)}

/* O nás */
.ct-about{max-width:860px}
.ct-about__text{font-size:1.18rem;color:var(--ct-soft);line-height:1.7}
.ct-about__text p{margin:0 0 1em}

/* Priority */
.ct-prio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ct-prio__card{display:flex;flex-direction:column;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r-lg);padding:30px;box-shadow:var(--ct-sh);transition:.2s}
.ct-prio__card:hover{transform:translateY(-4px);box-shadow:var(--ct-sh-lg);border-color:var(--ct-sage)}
.ct-prio__icon{font-size:2.2rem;width:64px;height:64px;border-radius:18px;background:var(--ct-sand);display:grid;place-items:center;margin-bottom:16px}
.ct-prio__title{font-size:1.4rem;margin-bottom:8px}
.ct-prio__sum{color:var(--ct-soft);font-size:.96rem;margin:0 0 14px}
.ct-prio__more{margin-top:auto;color:var(--ct-accent);font-weight:600;font-size:.88rem}

/* Cards (generic) */
.ct-grid{display:grid;gap:24px}
.ct-grid--3{grid-template-columns:repeat(3,1fr)}
.ct-card{display:flex;flex-direction:column;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r-lg);overflow:hidden;box-shadow:var(--ct-sh);transition:.2s}
.ct-card:hover{transform:translateY(-4px);box-shadow:var(--ct-sh-lg)}
.ct-card--static:hover{transform:none;box-shadow:var(--ct-sh)}
.ct-card__media{height:190px;background:var(--ct-sand) center/cover no-repeat}
.ct-card__body{padding:24px}
.ct-card__kind{font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ct-accent)}
.ct-card__title{font-size:1.28rem;margin:6px 0 8px}
.ct-card__excerpt{font-size:.94rem;color:var(--ct-soft);margin:0}

/* Candidates */
.ct-cands{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ct-cand{display:flex;flex-direction:column;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r-lg);overflow:hidden;box-shadow:var(--ct-sh);transition:.2s}
.ct-cand:hover{transform:translateY(-4px);box-shadow:var(--ct-sh-lg)}
.ct-cand__photo{aspect-ratio:3/4;background:linear-gradient(150deg,#7CA793,#2E6B53) center/cover no-repeat;position:relative;display:grid;place-items:center}
.ct-cand__ini{font-family:'Fraunces',serif;font-size:3rem;color:rgba(255,255,255,.9)}
.ct-cand__num{position:absolute;top:12px;left:12px;background:var(--ct-ink);color:#fff;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:700}
.ct-cand__body{padding:20px}
.ct-cand__name{font-size:1.2rem;margin:0 0 2px}
.ct-cand__role{color:var(--ct-accent);font-weight:600;font-size:.86rem;margin:0 0 10px}
.ct-cand__lead{font-family:'Fraunces',serif;font-style:italic;font-size:.96rem;color:var(--ct-soft);margin:0 0 10px}
.ct-cand__part{font-size:.82rem;color:var(--ct-muted)}
.ct-candidate-detail__grid{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start}
.ct-candidate-detail__photo{aspect-ratio:3/4;border-radius:var(--ct-r-lg);background:linear-gradient(150deg,#7CA793,#2E6B53) center/cover no-repeat;box-shadow:var(--ct-sh-lg)}
.ct-quote{font-family:'Fraunces',serif;font-size:1.3rem;font-style:italic;border-left:4px solid var(--ct-sage);padding-left:18px;margin:18px 0;color:var(--ct-ink)}

/* Lists / cols */
.ct-list{list-style:none;margin:0;padding:0}
.ct-list__item{display:flex;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--ct-line)}
.ct-list__item a{font-weight:600}

/* Calendar */
.ct-cal{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-cal__item{display:flex;gap:16px;align-items:center;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:16px 20px;box-shadow:var(--ct-sh);transition:.2s}
.ct-cal__item:hover{transform:translateY(-2px);box-shadow:var(--ct-sh-lg)}
.ct-cal__date{flex:none;width:58px;text-align:center;background:var(--ct-sand);border-radius:12px;padding:8px 0}
.ct-cal__date b{display:block;font-family:'Fraunces';font-size:1.5rem;line-height:1;color:var(--ct-accent)}
.ct-cal__date em{font-style:normal;font-size:.72rem;text-transform:uppercase;color:var(--ct-muted)}
.ct-cal__info b{display:block}
.ct-cal__info .ct-muted{font-size:.84rem}

/* Budget */
.ct-budget{display:flex;flex-direction:column;gap:11px;margin-bottom:22px}
.ct-budget__row{display:grid;grid-template-columns:220px 1fr 90px;gap:16px;align-items:center}
.ct-budget__label{font-size:.94rem;font-weight:600}
.ct-budget__track{height:28px;background:var(--ct-sand);border-radius:8px;overflow:hidden}
.ct-budget__fill{display:block;height:100%;background:var(--ct-accent);border-radius:8px}
.ct-budget__val{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.ct-table{width:100%;border-collapse:collapse;font-size:.94rem;margin-top:22px}
.ct-table th,.ct-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--ct-line)}
.ct-table th{font-family:'Inter';font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ct-muted)}

/* Docs / chips */
.ct-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.ct-chip{padding:8px 15px;border-radius:999px;border:1.5px solid var(--ct-line2);background:var(--ct-white);font-size:.85rem;font-weight:600}
.ct-chip.is-active{background:var(--ct-ink);color:#fff;border-color:var(--ct-ink)}
.ct-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ct-doc{display:flex;align-items:center;gap:16px;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:17px 22px;box-shadow:var(--ct-sh);transition:.2s}
.ct-doc:hover{transform:translateY(-2px);box-shadow:var(--ct-sh-lg)}
.ct-doc__icon{font-size:1.4rem}.ct-doc__meta{display:flex;flex-direction:column}

/* Single / prose */
.ct-single__media{border-radius:var(--ct-r-lg);overflow:hidden;margin:18px 0}
.ct-prose{font-size:1.08rem;color:var(--ct-soft);max-width:72ch}
.ct-prose p{margin:0 0 1em}
.ct-prose img{border-radius:var(--ct-r)}
.ct-back{display:inline-block;margin-bottom:16px;color:var(--ct-accent);font-weight:600}
.ct-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.ct-badge{background:var(--ct-sand);border-radius:999px;padding:7px 14px;font-size:.84rem;font-weight:600}
.ct-prog-head{display:flex;align-items:center;gap:16px;margin-bottom:8px}
.ct-prog-head__icon{font-size:2.4rem}

/* Part detail */
.ct-part-hero{min-height:42vh;display:flex;align-items:flex-end;background:linear-gradient(150deg,#3a5a4c,#1c2c26) center/cover no-repeat;position:relative;color:#fff}
.ct-part-hero__ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.55))}
.ct-part-hero .ct-wrap{position:relative;z-index:1;padding-bottom:32px}
.ct-part-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.2rem)}
.ct-part-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.ct-part-box{border:1px solid var(--ct-line);border-radius:var(--ct-r-lg);padding:26px;background:var(--ct-white);box-shadow:var(--ct-sh)}
.ct-part-box h3{font-family:'Inter';font-size:1.05rem}
.ct-part-box--problems h3{color:var(--ct-brick)}
.ct-part-box--solutions h3{color:var(--ct-accent)}
.ct-part-box ul{margin:8px 0 0;padding-left:18px}.ct-part-box li{margin:6px 0}

/* Band */
.ct-band{background:linear-gradient(135deg,var(--ct-accent),var(--ct-accent-d));color:#fff;border-radius:var(--ct-r-xl);padding:64px;text-align:center;box-shadow:var(--ct-sh-lg)}
.ct-band h2{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem);max-width:22ch;margin:0 auto 14px}
.ct-band p{color:rgba(255,255,255,.92);max-width:54ch;margin:0 auto 28px;font-size:1.05rem}

/* Forms (podněty) */
.ct-form{max-width:640px}
.ct-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.ct-field label{font-size:.9rem;font-weight:600}
.ct-field input,.ct-field select,.ct-field textarea{padding:14px 16px;border:1.5px solid var(--ct-line2);border-radius:12px;font-family:inherit;font-size:1rem;background:var(--ct-white)}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--ct-accent);box-shadow:0 0 0 3px rgba(46,107,83,.12)}
.ct-field--check label{font-weight:400;font-size:.92rem;display:flex;gap:9px;align-items:flex-start}
.ct-alert{border-radius:14px;padding:16px 20px;margin-bottom:22px;font-size:.98rem}
.ct-alert--ok{background:#EAF3EE;border:1px solid var(--ct-accent);color:var(--ct-accent-d)}

/* Contact */
.ct-contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:26px;align-items:start}
.ct-contact-card{background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r-lg);padding:30px;box-shadow:var(--ct-sh)}
.ct-contact-card p{margin:.5em 0}
.ct-contact-map iframe{width:100%;height:420px;border:0;border-radius:var(--ct-r-lg);box-shadow:var(--ct-sh)}
.ct-map-placeholder{height:420px;border-radius:var(--ct-r-lg);background:var(--ct-sand);display:grid;place-items:center;color:var(--ct-muted);font-size:.9rem}
.ct-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ct-social__link{padding:8px 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.3);font-size:.85rem;color:rgba(255,255,255,.85)}
.ct-social__link:hover{background:rgba(255,255,255,.12);color:#fff}
.ct-social--dark .ct-social__link{border-color:var(--ct-line2);color:var(--ct-soft)}
.ct-social--dark .ct-social__link:hover{border-color:var(--ct-accent);color:var(--ct-accent)}

/* Video */
.ct-video{position:relative;border-radius:var(--ct-r-lg);overflow:hidden;box-shadow:var(--ct-sh-lg);margin-top:20px}
.ct-video iframe{width:100%;aspect-ratio:16/9;display:block;border:0}

/* Breadcrumb */
.ct-breadcrumb{background:var(--ct-white);border-bottom:1px solid var(--ct-line);font-size:.84rem;color:var(--ct-muted)}
.ct-breadcrumb .ct-wrap{padding-top:12px;padding-bottom:12px}
.ct-breadcrumb a{color:var(--ct-accent)}
.ct-breadcrumb span{color:var(--ct-line2)}
.ct-breadcrumb__current{color:var(--ct-soft)}

/* Gallery (WP gallery + lightbox) */
.ct-gallery-wrap .wp-block-gallery img,.ct-gallery-wrap .gallery img,.ct-prose .wp-block-image img{cursor:zoom-in;border-radius:var(--ct-r)}
.ct-lightbox{position:fixed;inset:0;background:rgba(10,14,12,.92);display:none;align-items:center;justify-content:center;z-index:999;padding:24px}
.ct-lightbox.is-open{display:flex}
.ct-lightbox img{max-width:94vw;max-height:90vh;border-radius:10px;box-shadow:var(--ct-sh-lg)}
.ct-lightbox__close{position:absolute;top:18px;right:24px;color:#fff;font-size:2rem;cursor:pointer;background:none;border:none}

/* Footer */
.ct-footer{background:var(--ct-ink);color:rgba(255,255,255,.72);padding:64px 0 30px}
.ct-footer__in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
.ct-footer h5{color:#fff;font-family:'Inter';font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.ct-footer a{display:block;padding:4px 0;color:rgba(255,255,255,.72)}
.ct-footer a:hover{color:#fff}
.ct-footer__brand b{font-family:'Fraunces';font-size:1.3rem;color:#fff}
.ct-footer__slogan{font-size:.95rem;margin-top:8px;max-width:30ch}
.ct-footer__col p{margin:.3em 0;font-size:.93rem}
.ct-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:34px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.5)}

/* Pagination */
.ct-pagination{margin-top:34px}
.ct-pagination .page-numbers{padding:9px 14px;border:1px solid var(--ct-line2);border-radius:8px;margin-right:6px}
.ct-pagination .current{background:var(--ct-ink);color:#fff;border-color:var(--ct-ink)}

/* Reveal animace */
/* Obsah je VŽDY viditelný; animace je jen příjemné vylepšení (nezávisí na JS). */
.ct-reveal{opacity:1;transform:none;animation:ctReveal .6s ease both}
.ct-reveal.is-in{opacity:1;transform:none}
@keyframes ctReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ct-reveal{animation:none}}

/* MOBILE */
@media(max-width:980px){
  .ct-prio,.ct-cands{grid-template-columns:repeat(2,1fr)}
  .ct-candidate-detail__grid{grid-template-columns:1fr}
  .ct-candidate-detail__photo{max-width:320px}
}
@media(max-width:760px){
  .ct-section{padding:60px 0}
  .ct-burger{display:flex}
  .ct-nav{position:fixed;inset:72px 0 auto 0;background:var(--ct-white);flex-direction:column;align-items:stretch;gap:0;padding:10px 0 18px;border-bottom:1px solid var(--ct-line);box-shadow:var(--ct-sh-lg);transform:translateY(-130%);transition:transform .25s ease;max-height:calc(100vh - 72px);overflow:auto}
  .ct-nav.is-open{transform:none}
  .ct-nav__list{flex-direction:column;gap:0}
  .ct-nav__list a{display:block;padding:14px 26px;border-bottom:1px solid var(--ct-line)}
  .ct-nav__cta{margin:14px 26px 0;text-align:center}
  .ct-hero2{min-height:84vh}
  .ct-prio,.ct-grid--3,.ct-cands,.ct-cal,.ct-part-cols,.ct-contact-grid{grid-template-columns:1fr}
  .ct-budget__row{grid-template-columns:120px 1fr 70px}
  .ct-band{padding:40px 22px}
  .ct-footer__in{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){.ct-footer__in{grid-template-columns:1fr}}

/* FAQ */
.ct-faq{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.ct-faq__item{background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r);box-shadow:var(--ct-sh);overflow:hidden}
.ct-faq__item summary{cursor:pointer;padding:18px 22px;font-family:'Fraunces',serif;font-size:1.12rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.ct-faq__item summary::-webkit-details-marker{display:none}
.ct-faq__item summary::after{content:'+';color:var(--ct-accent);font-size:1.5rem;line-height:1}
.ct-faq__item[open] summary::after{content:'–'}
.ct-faq__a{padding:0 22px 20px;color:var(--ct-soft)}

/* Galerie teaser / Kontakt teaser */
.ct-galerie-teaser,.ct-contact-teaser{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r-xl);padding:40px;box-shadow:var(--ct-sh)}
.ct-galerie-teaser .ct-h2,.ct-contact-teaser .ct-h2{margin-bottom:6px}
.ct-contact-teaser p{margin:.3em 0}
@media(max-width:760px){.ct-galerie-teaser,.ct-contact-teaser{padding:28px}}

/* === Mobilní menu (burger) === */
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.nav-burger span{width:24px;height:2px;background:var(--ink);transition:.2s}
@media(max-width:900px){
  .nav-burger{display:flex}
  header.nav nav.links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--white);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 12px 40px rgba(17,24,31,.12);padding:8px 0;z-index:120}
  header.nav nav.links.is-open{display:flex}
  header.nav nav.links a{padding:13px 26px;border-bottom:1px solid var(--line)}
  header.nav .nav-in{position:relative}
}

/* === Stránka Program / page hero === */
.ct-pagehero{position:relative;background:linear-gradient(135deg,var(--ct-accent),var(--ct-accent-d));color:#fff;padding:84px 0 70px;overflow:hidden}
.ct-pagehero--sm{padding:64px 0 54px}
.ct-pagehero__ov{position:absolute;inset:0;background:radial-gradient(120% 90% at 80% 0,rgba(255,255,255,.10),transparent 60%)}
.ct-pagehero__in{position:relative;z-index:1}
.ct-pagehero__in h1{color:#fff;font-size:clamp(2.2rem,5.2vw,3.6rem);max-width:20ch;margin:6px 0 14px}
.ct-pagehero__in p{color:rgba(255,255,255,.9);max-width:60ch;font-size:1.1rem}
.ct-prog-ic{font-size:.9em}

.ct-proglist{display:flex;flex-direction:column;gap:14px}
.ct-progrow{display:grid;grid-template-columns:auto auto 1fr auto;gap:22px;align-items:center;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:var(--ct-r-lg);padding:26px 30px;box-shadow:var(--ct-sh);transition:.2s}
.ct-progrow:hover{transform:translateY(-3px);box-shadow:var(--ct-sh-lg);border-color:var(--ct-sage)}
.ct-progrow__num{font-family:'Fraunces',serif;font-size:1.6rem;color:var(--ct-gold);font-weight:600}
.ct-progrow__icon{font-size:2rem;width:60px;height:60px;border-radius:16px;background:var(--ct-sand);display:grid;place-items:center}
.ct-progrow__title{font-size:1.4rem;margin:0 0 4px}
.ct-progrow__sum{margin:0;color:var(--ct-soft);font-size:.96rem}
.ct-progrow__more{color:var(--ct-accent);font-weight:600;font-size:.9rem;white-space:nowrap}
@media(max-width:760px){
  .ct-progrow{grid-template-columns:auto 1fr;gap:14px}
  .ct-progrow__icon{grid-row:span 1}
  .ct-progrow__more{grid-column:1/-1}
}

/* Podněty — dlaždice typů jako labely + drobnosti */
.rcat .rcat-chip{background:var(--white);border:1.5px solid var(--line);border-radius:14px;padding:16px 8px;cursor:pointer;font-family:inherit;font-weight:600;font-size:.86rem;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;position:relative}
.rcat .rcat-chip.on{border-color:var(--forest);background:#EEF4F0;color:var(--forest)}
.rcat .rcat-chip .e{font-size:1.6rem}
.uploadbox:hover{border-color:var(--forest);color:var(--forest)}

/* Editovatelné menu z WordPressu (Vzhled → Menu) — podpora skupin/podmenu */
.links ul.menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.links ul.menu li{list-style:none;position:relative}
.links ul.menu li a{display:inline-flex;align-items:center;gap:5px}
.links .menu-item-has-children > a::after{content:"▾";font-size:.7em;opacity:.7}
.links .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:216px;background:var(--white,#fff);border:1px solid var(--line,#E7E2D6);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.12);display:none;flex-direction:column;gap:2px;z-index:120}
.links .sub-menu li{width:100%}
.links .sub-menu li a{display:block;width:100%;padding:9px 12px;border-radius:9px;white-space:nowrap;color:var(--ink,#11181F)}
.links .sub-menu li a:hover{background:#EEF4F0;color:var(--forest,#2E6B53)}
.links .menu-item-has-children:hover > .sub-menu,
.links .menu-item-has-children:focus-within > .sub-menu,
.links .menu-item-has-children.is-open > .sub-menu{display:flex}
@media(max-width:900px){
	.links ul.menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
	.links .sub-menu{position:static;display:none;box-shadow:none;border:none;border-left:2px solid var(--line,#E7E2D6);border-radius:0;margin:2px 0 6px 12px;padding:2px 0}
	.links .menu-item-has-children.is-open > .sub-menu{display:flex}
	.links .menu-item-has-children > a::after{margin-left:auto}
}

/* 1.16.0 — dlaždice „Jak se žije" jako odkazy na podstránky */
a.card{color:inherit;text-decoration:none}
a.card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(5,72,47,.08)}

/* 1.16.1 — kontaktní formulář na stránce Kontakt */
.ct-contact-formbox{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.ct-contact-form input[type=text],.ct-contact-form input[type=email],.ct-contact-form input[type=tel],.ct-contact-form textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--paper)}
.ct-contact-form input:focus,.ct-contact-form textarea:focus{outline:2px solid var(--forest);outline-offset:0}
.ct-contact-form label{font-weight:600;font-size:.9rem}
.ct-contact-form .ct-consent label{font-weight:400;font-size:.85rem;color:var(--ink-soft)}
.ct-contact-form p{margin-bottom:14px}
.rsent--err{background:#fdecea;color:#8a2016;border-color:#f2b8b0}

/* 1.16.2 — vizualizace „Zástavba v čase" (stránka Obec za 20 let) */
.aerial{border-radius:18px;overflow:hidden;line-height:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.aerial svg{display:block;width:100%;height:auto}
.aerial .h{opacity:0;transform:scale(.55);transform-origin:center;transform-box:fill-box;transition:opacity .38s ease,transform .38s ease}
.aerial .h.on{opacity:1;transform:scale(1)}
.aerial .vis{opacity:0;transition:opacity .55s ease}
.aerial .vis.on{opacity:1}
.aerial .vlabel{font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;fill:#26332A;paint-order:stroke;stroke:rgba(255,255,255,.75);stroke-width:3px}
.aerial .vislabel{font:600 10px/1 Inter,system-ui,sans-serif;fill:#7A2F12;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:3px}
.aerial .rlabel{font:600 10px/1 Inter,system-ui,sans-serif;letter-spacing:.1em;fill:#6E6650}
.aerial .leg{font:500 10px/1 Inter,system-ui,sans-serif;fill:#26332A;paint-order:stroke;stroke:rgba(255,255,255,.7);stroke-width:3px}
.aerial .ybig{font:700 26px/1 Fraunces,Georgia,serif;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.25);stroke-width:4px}
.changerow input[type=range]{accent-color:var(--forest)}
.aerial-cap{margin-top:10px;font-size:.95rem;color:var(--forest-d,#05482F);font-weight:600;min-height:1.4em}

/* 1.16.7 — odkaz na zásady ochrany osobních údajů v patičce */
.fbot a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fbot a:hover{color:#fff}

/* 1.18.6 — jednoduché, přesně centrované fotografie kandidátů bez rámečku a efektů. */
.why__photo{display:flex;align-items:center;justify-content:center;border:0!important;box-shadow:none!important}
.why img.av--img,.why:hover img.av--img{border:0!important;box-shadow:none!important;object-position:50% 50%;transform:none!important;transition:none!important}
a.why,a.why:hover{transform:none!important;box-shadow:none!important;background:transparent!important;border:0!important}

/* CivicTwin 1.19.1 — pevná SVG knihovna ikon a hlavní PDF programu */
.ct-icon-svg{width:30px;height:30px;display:block}.ic .ct-icon-svg{width:28px;height:28px}.ct-prog-ic{display:inline-grid;place-items:center;vertical-align:middle}.ct-prog-ic .ct-icon-svg{width:42px;height:42px}.ct-program-download{padding:22px 0 0;background:var(--ct-bg,#f8f6f1)}.ct-program-download__box{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 26px;border:1px solid var(--ct-line,#ded8cc);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(20,35,29,.06)}.ct-program-download__box>div{display:flex;flex-direction:column;gap:4px}.ct-program-download__box strong{font-size:1.15rem}.ct-program-download__box span{color:var(--ct-muted,#5f6a65)}.ct-program-download__box .ct-btn{flex:0 0 auto}.ct-prio__icon .ct-icon-svg,.ct-progrow__icon .ct-icon-svg{width:30px;height:30px}@media(max-width:680px){.ct-program-download__box{align-items:flex-start;flex-direction:column}.ct-program-download__box .ct-btn{width:100%;text-align:center}}
.ct-program-download__box .ct-btn{background:var(--ct-accent);color:#fff;border-color:var(--ct-accent)}.ct-program-download__box .ct-btn:hover{background:var(--ct-accent-d);color:#fff}

/* CivicTwin 1.19.6 — mobilní hlavička, odstranění vodorovného přetékání a responzivní patička. */
html,body{max-width:100%;overflow-x:clip}
img,svg,video,iframe{max-width:100%}
.nav-in{min-width:0}
header.nav .brand{min-width:0;max-width:calc(100% - 56px)}
header.nav .brand>span:last-child{min-width:0}
header.nav .brand b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.footer-menu{list-style:none;margin:0;padding:0}
.footer-menu li{list-style:none;margin:0;padding:0}

@media(max-width:900px){
  header.nav .nav-in{padding-left:18px;padding-right:18px;gap:10px}
  header.nav .nav-in>.btn{display:none}
  header.nav .brand{flex:1 1 auto;max-width:calc(100% - 48px)}
  header.nav .brand .mark{flex:0 0 auto}
  .nav-burger{flex:0 0 40px;align-items:center;justify-content:center;position:relative;z-index:122}
  header.nav nav.links{width:100%;max-width:100vw;overflow-x:hidden}
  .fcols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
  .fcols>div{min-width:0}
  footer a,footer p{overflow-wrap:anywhere;word-break:normal}
}

@media(max-width:560px){
  .wrap{padding-left:18px;padding-right:18px}
  .util .wrap{font-size:.74rem}
  .util .right{gap:10px}
  .fcols{grid-template-columns:1fr;gap:30px;margin-bottom:30px}
  .fbot{flex-direction:column;align-items:flex-start;gap:8px}
  footer{padding:44px 0 26px}
  footer .brand{max-width:100%;align-items:flex-start}
  footer .brand>span:last-child{min-width:0}
  footer .brand b{white-space:normal;overflow-wrap:anywhere}
}

@supports not (overflow:clip){
  html,body{overflow-x:hidden}
}


/* CivicTwin 1.19.7 — zapojení bez newsletteru, větší kontaktní formulář a přehlednější CTA. */
.ct-volunteer-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:760px;margin:0 auto}
.ct-volunteer-actions .ct-btn{width:100%;min-height:52px;padding-left:20px;padding-right:20px;white-space:normal;text-align:center}
.ct-contact-grid{grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:32px}
.ct-contact-formbox{padding:36px}
.ct-contact-form input[type=text],.ct-contact-form input[type=email],.ct-contact-form input[type=tel],.ct-contact-form textarea{padding:14px 16px;font-size:1rem}
.ct-contact-form textarea{min-height:170px;resize:vertical}
.ct-contact-form .ct-btn,.ct-contact-form button[type=submit]{min-height:50px;padding:13px 24px}
@media(max-width:900px){
  .ct-volunteer-actions{grid-template-columns:1fr;max-width:460px}
  .ct-contact-grid{grid-template-columns:1fr;gap:24px}
}
@media(max-width:560px){
  .ct-contact-formbox{padding:24px 18px}
}

/* CivicTwin 1.19.8 — mobilní centrování nadpisů, perexů a CTA; sjednocené odsazení. */
@media(max-width:760px){
  /* Jednotný bezpečný okraj obsahu na telefonech. */
  .ct-wrap,.wrap{padding-left:20px;padding-right:20px}

  /* Hlavní titulky a záhlaví sekcí. */
  .ct-hero2__in,
  .ct-pagehero__in,
  .ct-part-hero .ct-wrap,
  .ct-sechead,
  .ct-pagetitle,
  .ct-band,
  .ct-contact-teaser,
  .ct-galerie-teaser{text-align:center}

  .ct-hero2__title,
  .ct-pagehero__in h1,
  .ct-part-hero h1,
  .ct-pagetitle h1,
  .ct-sechead h2,
  .ct-sechead h3{margin-left:auto;margin-right:auto;text-align:center}

  /* Perexy a krátké úvodní texty. */
  .ct-hero2__sub,
  .ct-pagehero__in p,
  .ct-part-hero p,
  .ct-pagetitle p,
  .ct-sechead p,
  .ct-band p,
  .ct-contact-teaser p,
  .ct-galerie-teaser p{margin-left:auto;margin-right:auto;text-align:center}

  /* Skupiny CTA a samostatná tlačítka v úvodních blocích. */
  .ct-hero2__cta,
  .ct-volunteer-actions,
  .ct-contact-teaser,
  .ct-galerie-teaser,
  .ct-band__actions,
  .ct-actions{justify-content:center;align-items:center}

  .ct-hero2__cta .ct-btn,
  .ct-contact-teaser .ct-btn,
  .ct-galerie-teaser .ct-btn,
  .ct-band .ct-btn,
  .ct-volunteer-actions .ct-btn{margin-left:auto;margin-right:auto;text-align:center}
}
