
:root{--green:#0b4d28;--green2:#78b82a;--yellow:#ffc516;--navy:#183247;--ink:#24313c;--muted:#64717c;--soft:#f7f8f4;--line:#e4e8e2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}
.site-header{height:86px;display:flex;align-items:center;padding:10px 3.5vw;gap:34px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #edf0ec}.brand{width:250px}.brand img{display:block;width:100%;height:auto}.main-nav{margin-left:auto;display:flex;gap:30px;font-size:14px;font-weight:700}.main-nav a:hover{color:var(--green2)}.menu-toggle{display:none;margin-left:auto;border:0;background:none;font-size:28px}
.hero{position:relative;min-height:620px;overflow:hidden;background:#234}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease}.hero-slide.active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(2,21,17,.72) 0%,rgba(3,31,24,.34) 34%,rgba(3,26,22,.12) 58%,rgba(0,0,0,.08) 100%)}.hero-content{position:relative;z-index:3;min-height:620px;display:flex;align-items:center;padding:76px 5.5vw}.hero-copy{max-width:620px;color:#fff}.election-label{display:inline-block;background:var(--yellow);color:#12351f;padding:10px 16px;border-radius:5px;font-size:20px;font-weight:900;letter-spacing:.02em;margin-bottom:22px}.hero h1{font-size:clamp(46px,5.4vw,78px);line-height:1.02;letter-spacing:-.035em;margin:0 0 18px}.hero-lead{font-size:26px;font-weight:800;margin:0 0 16px}.hero-text{font-size:20px;line-height:1.45;max-width:560px;margin:0 0 26px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:6px;font-weight:800;font-size:14px;border:0;cursor:pointer}.btn-green{background:var(--green2);color:#fff}.btn-outline{border:1px solid rgba(255,255,255,.8);color:#fff;background:rgba(0,0,0,.08)}.btn-yellow{background:var(--yellow);color:#1f2b22}.hero-dots{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:9px}.hero-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:rgba(255,255,255,.35);padding:0}.hero-dot.active{background:var(--green2);border-color:var(--green2)}
.section{padding:76px 5.5vw}.eyebrow{font-size:13px;font-weight:900;letter-spacing:.12em;color:var(--green2)}.light{color:#d8efc5}.section h2,.join h2{font-size:clamp(34px,3.4vw,50px);line-height:1.08;letter-spacing:-.025em;margin:10px 0 18px}.about{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.about-copy>p{font-size:19px;line-height:1.6;max-width:700px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.values article{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.values h3{font-size:16px;margin:0 0 4px}.values p{font-size:13px;line-height:1.45;margin:0;color:var(--muted)}.value-icon{grid-row:1/3;width:38px;height:38px;border:2px solid var(--green2);color:var(--green2);border-radius:50%;display:grid;place-items:center;font-size:20px}.about-photo-wrap{min-height:420px;border-radius:22px;overflow:hidden}.about-photo-wrap img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center;display:block}
.priorities{background:#fafbf8}.section-heading{max-width:850px;margin-bottom:38px}.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.priority-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;display:grid;grid-template-columns:auto 1fr;gap:16px}.priority-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:24px}.priority-card h3{font-size:25px;margin:2px 0 4px;color:var(--green)}.priority-subtitle{font-weight:700;font-size:14px;margin:0 0 14px}.priority-card ul{margin:0;padding-left:18px;line-height:1.55}.priority-card li{margin:8px 0}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.quick-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;text-align:center}.quick-grid span{font-size:30px;color:var(--green2)}.quick-grid h3{font-size:15px}.quick-grid p{font-size:13px;line-height:1.5;color:var(--muted)}
.candidates{background:#fff}.candidate-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;max-width:none}.candidate-window{overflow:hidden}.candidate-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;max-height:390px;overflow:hidden;transition:max-height .5s ease}.candidate-window.expanded .candidate-grid{max-height:5000px}.candidate-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.candidate-photo{position:relative;aspect-ratio:4/4.3;background:#f4f6f3;overflow:hidden}.candidate-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}.candidate-placeholder{width:100%;height:100%;background:#f5f6f4}.candidate-number{position:absolute;top:9px;left:9px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:12px;font-weight:900}.candidate-body{padding:13px}.candidate-body h3{font-size:13px;line-height:1.3;margin:0 0 5px}.candidate-body p{font-size:12px;color:var(--muted);margin:0}
.updates{background:#f7f8f4}.updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.updates-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.updates-grid span{font-size:11px;color:var(--green2);font-weight:900}.updates-grid h3{font-size:21px;margin:9px 0}.updates-grid p{color:var(--muted);line-height:1.55}
.join{padding:48px 5.5vw;background:linear-gradient(100deg,var(--green),#06351f);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.join h2{margin-bottom:0}
footer{background:#06351f;color:#fff;padding:40px 5.5vw;display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:50px;font-size:13px}footer img{width:220px;filter:none}footer h3{font-size:12px;color:var(--yellow)}footer a{display:block;margin:10px 0}.footer-email{font-size:15px;font-weight:800}
@media(max-width:1050px){.main-nav{display:none}.menu-toggle{display:block}.site-header.open .main-nav{display:flex;position:absolute;top:86px;left:0;right:0;flex-direction:column;background:#fff;padding:24px 5vw;border-bottom:1px solid var(--line)}.about{grid-template-columns:1fr}.priority-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.candidate-grid{grid-template-columns:repeat(4,1fr)}.updates-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.brand{width:210px}.hero-content{padding:55px 22px}.hero h1{font-size:46px}.hero-lead{font-size:22px}.hero-text{font-size:17px}.hero-shade{background:rgba(1,24,17,.56)}.values{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.candidate-heading{display:block}.candidate-heading .btn{margin-top:16px}.candidate-grid{grid-template-columns:repeat(2,1fr)}.updates-grid{grid-template-columns:1fr}.join{display:block}.join .btn{margin-top:18px}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.candidate-grid{transition:none}}

/* Kandidáti – kompaktní náhled při prvním zobrazení, plná mřížka po rozbalení */
.candidate-window{
  overflow:hidden;
}
.candidate-grid{
  display:flex;
  gap:16px;
  max-height:none;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:10px;
  scroll-snap-type:x proximity;
}
.candidate-card{
  flex:0 0 165px;
  scroll-snap-align:start;
}
.candidate-window.expanded .candidate-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
  overflow:visible;
  padding-bottom:0;
}
.candidate-window.expanded .candidate-card{
  width:auto;
  min-width:0;
}
@media(max-width:1050px){
  .candidate-window.expanded .candidate-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:720px){
  .candidate-card{flex-basis:150px}
  .candidate-window.expanded .candidate-grid{grid-template-columns:repeat(2,1fr)}
}

/* Nové bílé zápatí + stručný návod Jak volit */
.site-footer{
  background:#fff;
  color:var(--ink);
  padding:0;
  display:block;
  font-size:14px;
  border-top:1px solid var(--line);
}
.footer-top{
  display:grid;
  grid-template-columns:290px 1fr;
  gap:56px;
  padding:54px 5.5vw 42px;
  align-items:start;
}
.site-footer .footer-brand img{
  width:245px;
  max-width:100%;
  filter:none;
  margin-bottom:18px;
}
.site-footer .footer-brand p{
  color:var(--muted);
  line-height:1.6;
  margin:0 0 16px;
}
.site-footer .footer-email{
  display:inline-block;
  color:var(--green);
  font-size:15px;
  font-weight:900;
  margin:0;
}
.how-to-vote{
  border-left:1px solid var(--line);
  padding-left:44px;
}
.vote-heading{
  display:flex;
  align-items:baseline;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.vote-kicker{
  color:var(--green2);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
.vote-heading h2{
  margin:0;
  color:var(--green);
  font-size:32px;
  letter-spacing:-.02em;
}
.vote-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.vote-option{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.vote-option.recommended{
  background:#f6faf4;
  border-color:#cfe1c7;
}
.vote-mark{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:21px;
  font-weight:900;
}
.vote-mark.light{
  background:#edf5e8;
  color:var(--green);
}
.vote-option h3{
  margin:0 0 7px;
  color:var(--green);
  font-size:15px;
  line-height:1.3;
}
.vote-option p{
  margin:0;
  color:#596771;
  font-size:13px;
  line-height:1.5;
}
.vote-note{
  margin:18px 0 0;
  padding:12px 15px;
  border-left:4px solid var(--yellow);
  background:#fffaf0;
  color:#38454d;
  line-height:1.5;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:17px 5.5vw;
  border-top:1px solid var(--line);
  color:#68757d;
  font-size:12px;
}
@media(max-width:1050px){
  .footer-top{grid-template-columns:1fr;gap:32px}
  .how-to-vote{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}
  .vote-options{grid-template-columns:1fr}
}
@media(max-width:720px){
  .footer-top{padding:40px 22px 32px}
  .vote-heading h2{font-size:28px}
  .footer-bottom{padding:16px 22px;display:block}
  .footer-bottom span{display:block;margin:5px 0}
}

/* Vyváženější nadpis sekce Jak volit */
.vote-heading{
  display:block;
  margin-bottom:22px;
}
.vote-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--green2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  line-height:1.2;
}
.vote-heading h2{
  margin:0;
  color:var(--green);
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.02em;
}

/* Náhled kandidátů: vždy celé karty, žádná poslední uříznutá */
.candidate-window{
  overflow:hidden;
}
.candidate-grid{
  display:grid !important;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0, 1fr);
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:16px;
  overflow:hidden !important;
  padding-bottom:0 !important;
}
.candidate-grid .candidate-card:nth-child(n+7){
  display:none;
}
.candidate-window.expanded .candidate-grid{
  display:grid !important;
  grid-auto-flow:row;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:16px;
  overflow:visible !important;
}
.candidate-window.expanded .candidate-grid .candidate-card{
  display:block;
}
@media(max-width:1050px){
  .candidate-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  .candidate-grid .candidate-card:nth-child(n+5){
    display:none;
  }
  .candidate-window.expanded .candidate-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  .candidate-window.expanded .candidate-grid .candidate-card{
    display:block;
  }
}
@media(max-width:720px){
  .candidate-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .candidate-grid .candidate-card:nth-child(n+3){
    display:none;
  }
  .candidate-window.expanded .candidate-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .candidate-window.expanded .candidate-grid .candidate-card{
    display:block;
  }
}

section[id],footer[id]{scroll-margin-top:96px}
}

/* Přesné ukotvení sekcí těsně pod sticky hlavičkou */
html{
  scroll-padding-top:86px;
}
section[id],
footer[id]{
  scroll-margin-top:86px;
}
@media(max-width:1050px){
  html{scroll-padding-top:86px}
  section[id],footer[id]{scroll-margin-top:86px}
}


/* Úvodní fotografie – zobrazit vždy celou fotografii bez ořezu */
.hero{
  background:#102b21;
}
.hero-slide{
  background-size:contain !important;
  background-repeat:no-repeat;
  background-position:center center !important;
}

/* #program řídí přesnou pozici přes JavaScript */
#program{scroll-margin-top:86px !important}

/* Zápatí – čtvercový motiv místo původního loga a sloganu */
.site-footer .footer-stamp-block{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.site-footer .footer-stamp{
  width:220px;
  max-width:100%;
  aspect-ratio:1 / 1;
  object-fit:contain;
  display:block;
  margin:0 0 12px 0;
  filter:none;
}
.site-footer .footer-stamp-email{
  display:inline-block;
  margin:0;
  color:var(--green);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}
@media(max-width:720px){
  .site-footer .footer-stamp{
    width:190px;
  }
}


/* Oprava úvodní sekce: celý hero v dostupné výšce obrazovky + vždy viditelná CTA */
.hero{
  height:calc(100svh - 86px);
  min-height:560px;
  max-height:820px;
}
.hero-content{
  height:100%;
  min-height:0;
  box-sizing:border-box;
  padding-top:34px;
  padding-bottom:54px;
}
.hero-slide{
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}
.hero-copy{
  max-width:620px;
}
@media (max-height:820px) and (min-width:721px){
  .hero h1{
    font-size:clamp(40px,6.4vh,62px);
    margin-bottom:12px;
  }
  .election-label{
    margin-bottom:14px;
    padding:8px 14px;
    font-size:17px;
  }
  .hero-lead{
    font-size:22px;
    margin-bottom:10px;
  }
  .hero-text{
    font-size:17px;
    line-height:1.35;
    margin-bottom:18px;
  }
  .hero-actions .btn{
    padding:12px 18px;
  }
}
@media(max-width:720px){
  .hero{
    height:auto;
    min-height:calc(100svh - 86px);
    max-height:none;
  }
  .hero-content{
    min-height:calc(100svh - 86px);
    padding-top:38px;
    padding-bottom:62px;
  }
}


/* Úvodní letecké snímky: vyplnit hero a případný ořez vést odspodu */
.hero-slide{
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
}

/* Vracíme hero k přirozenému plnému vizuálu; CTA zůstávají uvnitř obrazu. */
.hero{
  height:calc(100svh - 86px);
  min-height:620px;
  max-height:none;
}
.hero-content{
  height:100%;
  box-sizing:border-box;
  padding-top:42px;
  padding-bottom:42px;
}
@media (max-height:760px) and (min-width:721px){
  .hero{
    min-height:560px;
  }
  .hero-content{
    padding-top:28px;
    padding-bottom:30px;
  }
}


/* Hero – mírně větší a výraznější typografie */
.hero h1{
  font-size:clamp(50px,5.8vw,84px);
  line-height:1.01;
}
.election-label{
  font-size:21px;
  padding:10px 16px;
}
.hero-lead{
  font-size:28px;
}
.hero-text{
  font-size:20px;
  line-height:1.42;
}
@media (max-height:760px) and (min-width:721px){
  .hero h1{
    font-size:clamp(44px,6.1vh,66px);
  }
  .election-label{
    font-size:18px;
  }
  .hero-lead{
    font-size:23px;
  }
  .hero-text{
    font-size:18px;
    line-height:1.35;
  }
}
@media(max-width:720px){
  .hero h1{font-size:48px}
  .hero-lead{font-size:23px}
  .hero-text{font-size:17px}
}


/* Hero – maximální využití plochy při zachování viditelných CTA */
.hero-content{
  align-items:center;
  padding-top:24px;
  padding-bottom:28px;
}
.hero-copy{
  max-width:760px;
}
.hero h1{
  font-size:clamp(58px,6.4vw,94px);
  line-height:.98;
  margin:0 0 14px;
  letter-spacing:-.04em;
}
.election-label{
  font-size:22px;
  padding:10px 17px;
  margin-bottom:15px;
}
.hero-lead{
  font-size:30px;
  line-height:1.15;
  margin:0 0 10px;
}
.hero-text{
  max-width:690px;
  font-size:21px;
  line-height:1.34;
  margin:0 0 18px;
}
.hero-actions{
  gap:12px;
}
.hero-actions .btn{
  padding:13px 20px;
  font-size:14px;
}

/* Nižší notebookové displeje: využít maximum výšky, ale CTA nesmí zmizet */
@media (max-height:850px) and (min-width:721px){
  .hero-content{
    padding-top:18px;
    padding-bottom:22px;
  }
  .hero h1{
    font-size:clamp(52px,7.2vh,74px);
    margin-bottom:10px;
  }
  .election-label{
    font-size:19px;
    padding:8px 14px;
    margin-bottom:10px;
  }
  .hero-lead{
    font-size:25px;
    margin-bottom:7px;
  }
  .hero-text{
    font-size:18px;
    line-height:1.28;
    margin-bottom:14px;
  }
  .hero-actions .btn{
    padding:11px 17px;
  }
}
@media (max-height:700px) and (min-width:721px){
  .hero h1{
    font-size:clamp(46px,7vh,62px);
  }
  .hero-lead{font-size:22px}
  .hero-text{font-size:16px}
  .election-label{font-size:17px}
}
@media(max-width:720px){
  .hero-copy{max-width:100%}
  .hero h1{
    font-size:clamp(46px,12vw,62px);
    line-height:1;
  }
}

/* Hero CTA – větší optický odstup od textu */
.hero-actions{
  margin-top:26px;
}
@media (max-height:850px) and (min-width:721px){
  .hero-actions{
    margin-top:22px;
  }
}
@media(max-width:720px){
  .hero-actions{
    margin-top:18px;
  }
}

/* Kandidáti – desktop: 7 karet na řádek (úprava masteru) */
@media (min-width:1051px){
  .candidate-grid,
  .candidate-window.expanded .candidate-grid{
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .candidate-grid .candidate-card{
    display:block !important;
  }
  .candidate-body{
    padding:11px !important;
  }
  .candidate-body h3{
    font-size:12px !important;
  }
  .candidate-body p{
    font-size:11px !important;
  }
}

/* Kandidáti – náhled: pouze 7 čitelných karet před rozbalením */
@media (min-width:1051px){
  .candidate-window:not(.expanded) .candidate-grid{
    display:grid !important;
    grid-auto-flow:row !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:14px !important;
    overflow:hidden !important;
  }
  .candidate-window:not(.expanded) .candidate-grid .candidate-card{
    display:none !important;
  }
  .candidate-window:not(.expanded) .candidate-grid .candidate-card:nth-child(-n+7){
    display:block !important;
  }
}

/* ===== ÚPRAVA HLAVIČKY 2026-08: větší menu + podpora KDU-ČSL ===== */
.site-header{
  height:92px;
  gap:26px;
}
.brand-group{
  display:flex;
  align-items:center;
  gap:20px;
  flex:0 0 auto;
}
.brand-group .brand{
  width:250px;
  flex:0 0 250px;
}
.brand-support{
  display:flex;
  align-items:center;
  min-height:38px;
  padding-left:20px;
  border-left:1px solid #d9dfdb;
  color:var(--navy);
  font-size:15px;
  line-height:1.2;
  white-space:nowrap;
  font-weight:500;
}
.brand-support strong{
  margin-left:5px;
  font-weight:900;
}
.main-nav{
  margin-left:auto;
  gap:27px;
  font-size:17px;
  font-weight:800;
  letter-spacing:-.01em;
}
.main-nav a{
  padding:8px 0;
}
.main-nav a:hover{
  color:var(--green2);
}

@media(max-width:1180px){
  .site-header{gap:20px}
  .brand-group{gap:14px}
  .brand-group .brand{width:225px;flex-basis:225px}
  .brand-support{padding-left:14px;font-size:13px}
  .main-nav{gap:20px;font-size:16px}
}
@media(max-width:1050px){
  .site-header.open .main-nav{top:92px}
}
@media(max-width:720px){
  .site-header{height:82px;padding-left:22px;padding-right:22px}
  .brand-group{gap:10px;min-width:0}
  .brand-group .brand{width:190px;flex-basis:190px}
  .brand-support{padding-left:10px;font-size:11px}
  .site-header.open .main-nav{top:82px}
}
@media(max-width:520px){
  .brand-group .brand{width:205px;flex-basis:205px}
  .brand-support{display:none}
}

/* ===== ÚPRAVA HLAVIČKY: KDU modře + výraznější hlavní menu ===== */
.brand-support{
  color:#183247 !important;
}
.brand-support strong{
  color:#183247 !important;
}

@media (min-width:1051px){
  .site-header{
    min-height:104px;
    height:104px;
    align-items:center;
  }
  .main-nav{
    font-size:21px !important;
    font-weight:850 !important;
    gap:34px !important;
    line-height:1.1;
  }
  .main-nav a{
    padding:14px 0 !important;
  }
  html{
    scroll-padding-top:104px;
  }
  section[id],
  footer[id]{
    scroll-margin-top:104px;
  }
  #program{
    scroll-margin-top:104px !important;
  }
}

@media (min-width:1180px){
  .main-nav{
    font-size:22px !important;
    gap:38px !important;
  }
}

/* ===== RESPONZIVNÍ HLAVIČKA: „s podporou KDU-ČSL“ viditelné i na mobilu ===== */
@media (max-width:720px){
  .site-header{
    min-height:82px;
    height:82px;
    padding-left:14px;
    padding-right:14px;
    gap:10px;
  }

  .brand-group{
    display:flex !important;
    align-items:center;
    gap:8px;
    min-width:0;
    flex:1 1 auto;
  }

  .brand-group .brand{
    width:150px !important;
    flex:0 0 150px !important;
    min-width:150px;
  }

  .brand-support{
    display:block !important;
    color:#183247 !important;
    border-left:1px solid #d9dfdb;
    padding-left:8px;
    font-size:10.5px !important;
    line-height:1.15;
    white-space:normal !important;
    max-width:112px;
    font-weight:500;
  }

  .brand-support strong{
    color:#183247 !important;
    display:block;
    margin-left:0 !important;
    font-weight:900;
  }

  .menu-toggle{
    flex:0 0 auto;
    margin-left:auto;
  }
}

@media (max-width:480px){
  .site-header{
    padding-left:10px;
    padding-right:10px;
    gap:7px;
  }

  .brand-group{
    gap:6px;
  }

  .brand-group .brand{
    width:132px !important;
    flex-basis:132px !important;
    min-width:132px;
  }

  .brand-support{
    display:block !important;
    padding-left:6px;
    font-size:9.5px !important;
    max-width:94px;
  }
}

@media (max-width:380px){
  .brand-group .brand{
    width:120px !important;
    flex-basis:120px !important;
    min-width:120px;
  }

  .brand-support{
    font-size:8.8px !important;
    max-width:84px;
  }
}



/* SEO / identifikační věta v zápatí */
.footer-seo{
  margin:18px auto 10px;
  max-width:1050px;
  padding:0 24px;
  text-align:center;
  font-size:14px;
  line-height:1.55;
  opacity:.88;
}
@media(max-width:720px){
  .footer-seo{
    margin-top:14px;
    padding:0 18px;
    font-size:12px;
    line-height:1.5;
  }
}

/* ===== VOLEBNÍ ČÍSLO 3 ===== */
.hero{
  position:relative;
}
.ballot-number{
  position:absolute;
  z-index:8;
  top:30px;
  right:3.5vw;
  width:112px;
  height:112px;
  border-radius:50%;
  background:var(--yellow);
  color:#183247;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  border:5px solid rgba(255,255,255,.95);
  transform:rotate(3deg);
}
.ballot-number-label{
  display:block;
  margin-bottom:-5px;
  font-size:14px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}
.ballot-number strong{
  display:block;
  font-size:62px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-.06em;
}

@media(max-width:1050px){
  .ballot-number{
    top:20px;
    right:22px;
    width:92px;
    height:92px;
    border-width:4px;
  }
  .ballot-number-label{
    font-size:11px;
  }
  .ballot-number strong{
    font-size:51px;
  }
}

@media(max-width:720px){
  .ballot-number{
    top:14px;
    right:14px;
    width:74px;
    height:74px;
    border-width:3px;
    box-shadow:0 7px 20px rgba(0,0,0,.18);
  }
  .ballot-number-label{
    font-size:9px;
    margin-bottom:-3px;
  }
  .ballot-number strong{
    font-size:41px;
  }
}

@media(max-width:480px){
  .ballot-number{
    width:66px;
    height:66px;
    top:10px;
    right:10px;
  }
  .ballot-number-label{
    font-size:8px;
  }
  .ballot-number strong{
    font-size:37px;
  }
}



/* ===== DOLADĚNÍ VOLEBNÍHO ČÍSLA: text VOLTE vodorovně ===== */
.ballot-number{
  transform:none !important;
}
.ballot-number-label{
  transform:none !important;
  writing-mode:horizontal-tb !important;
}

/* ===== FINÁLNÍ SPODNÍ ŘÁDEK ZÁPATÍ ===== */
.footer-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  flex-wrap:nowrap !important;
}
.footer-bottom-left,
.footer-bottom-right{
  font:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  color:inherit !important;
}
.footer-bottom-left{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
}
.footer-bottom-right{
  flex:0 0 auto;
  white-space:nowrap;
  text-align:right;
}

/* Na užších displejích je zalomení nutné kvůli čitelnosti. */
@media(max-width:1050px){
  .footer-bottom{
    flex-wrap:wrap !important;
    gap:8px 18px !important;
  }
  .footer-bottom-left{
    white-space:normal;
  }
}
@media(max-width:720px){
  .footer-bottom{
    display:block !important;
  }
  .footer-bottom-left,
  .footer-bottom-right{
    display:block;
    white-space:normal;
    text-align:left;
  }
  .footer-bottom-right{
    margin-top:6px;
  }
}

/* ===== DOLADĚNÍ KOLEČKA VOLTE 3 ===== */
@media (min-width:1051px){
  .ballot-number{
    width:122px !important;
    height:122px !important;
  }
  .ballot-number-label{
    margin-bottom:4px !important;
  }
  .ballot-number strong{
    margin-top:3px !important;
  }
}

@media (min-width:721px) and (max-width:1050px){
  .ballot-number{
    width:100px !important;
    height:100px !important;
  }
  .ballot-number-label{
    margin-bottom:3px !important;
  }
  .ballot-number strong{
    margin-top:2px !important;
  }
}

@media (max-width:720px){
  .ballot-number{
    width:80px !important;
    height:80px !important;
  }
  .ballot-number-label{
    margin-bottom:2px !important;
  }
  .ballot-number strong{
    margin-top:2px !important;
  }
}

@media (max-width:480px){
  .ballot-number{
    width:72px !important;
    height:72px !important;
  }
}



/* ===== SEO / výkon / přesun sekce Jak volit do hlavního obsahu ===== */
.hero-seo-context{
  margin:0 0 20px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.84);
}
.how-to-vote-section{
  background:#fff;
  padding:58px 5.5vw;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.how-to-vote-section .how-to-vote{
  max-width:1320px;
  margin:0 auto;
  border-left:0;
  padding-left:0;
}
.site-footer .footer-top{
  grid-template-columns:1fr;
}
@media(max-width:720px){
  .how-to-vote-section{padding:42px 22px}
}

/* ===== RAZÍTKO V SEKCI JAK VOLIT ===== */
.how-to-vote-section{
  padding:58px 5.5vw;
}
.how-to-vote-layout{
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(230px, 320px) minmax(0, 1fr);
  gap:58px;
  align-items:center;
}
.vote-stamp-panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  min-height:100%;
}
.vote-stamp-image{
  display:block;
  width:min(100%, 290px);
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:contain;
}
.vote-stamp-email{
  display:inline-block;
  margin-top:14px;
  color:var(--green);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
}
.vote-stamp-email:hover{
  text-decoration:underline;
}
.how-to-vote-layout .how-to-vote{
  max-width:none;
  margin:0;
  padding:0;
  border:0;
}

/* Footer po přesunu razítka obsahuje už jen spodní informační řádek. */
.site-footer .footer-bottom{
  margin-top:0;
}

@media(max-width:900px){
  .how-to-vote-layout{
    grid-template-columns:210px minmax(0,1fr);
    gap:34px;
  }
  .vote-stamp-image{
    width:min(100%, 210px);
  }
}

@media(max-width:720px){
  .how-to-vote-section{
    padding:42px 22px;
  }
  .how-to-vote-layout{
    grid-template-columns:1fr;
    gap:30px;
  }
  .vote-stamp-panel{
    order:2;
  }
  .how-to-vote-layout .how-to-vote{
    order:1;
  }
  .vote-stamp-image{
    width:min(72vw, 240px);
  }
}

/* ===== E-MAIL POD TLAČÍTKEM NAPIŠTE NÁM ===== */
.join{
  align-items:center;
}
.join .join-email{
  display:block;
  margin-top:14px;
  color:#fff !important;
  font-size:19px;
  line-height:1.25;
  font-weight:800;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
}
.join .join-email:hover{
  color:#fff !important;
  text-decoration:underline;
}
.join .btn.btn-yellow + .join-email{
  justify-self:center;
}

@media(max-width:720px){
  .join .join-email{
    margin-top:12px;
    font-size:17px;
    white-space:normal;
  }
}



/* ===== MOBIL: O NÁS – posun výřezu doleva, aby zůstal vidět muž vlevo ===== */
@media (max-width:720px){
  #onas img{
    object-position:30% center !important;
  }
}
@media (max-width:480px){
  #onas img{
    object-position:24% center !important;
  }
}

/* ===== HERO CLAIM – jemné zmenšení písma ===== */
.hero-copy h1{
  font-size:clamp(43px, 4.65vw, 70px) !important;
}
@media(max-width:720px){
  .hero-copy h1{
    font-size:clamp(34px, 9.5vw, 48px) !important;
  }
}
@media(max-width:480px){
  .hero-copy h1{
    font-size:clamp(31px, 9vw, 40px) !important;
  }
}

/* ===== MOBIL: VOLTE 3 – zabránění překryvu s tlačítkem KOMUNÁLNÍ VOLBY 2026 ===== */
@media (max-width:720px){
  .ballot-number{
    top:96px !important;
    right:14px !important;
    width:80px !important;
    height:80px !important;
    z-index:6 !important;
  }
}

@media (max-width:480px){
  .ballot-number{
    top:90px !important;
    right:10px !important;
    width:72px !important;
    height:72px !important;
  }
}

@media (max-width:380px){
  .ballot-number{
    top:88px !important;
    right:8px !important;
    width:68px !important;
    height:68px !important;
  }
}

/* ===== MOBIL: tlačítko KOMUNÁLNÍ VOLBY 2026 lehce výš ===== */
@media (max-width:720px){
  .header-election{
    transform:translateY(-7px) !important;
  }
}
@media (max-width:480px){
  .header-election{
    transform:translateY(-6px) !important;
  }
}

/* ===== DESKTOP: tlačítko KOMUNÁLNÍ VOLBY 2026 lehce výš ===== */
@media (min-width:721px){
  .header-election{
    transform:translateY(-7px) !important;
  }
}



/* ===== DESKTOP: výraznější mezera pod tlačítkem KOMUNÁLNÍ VOLBY 2026 ===== */
@media (min-width:1051px){
  .header-election{
    transform:translateY(-15px) !important;
  }
}


/* ===== OPRAVA: skutečný prvek KOMUNÁLNÍ VOLBY 2026 je .election-label ===== */
@media (min-width:1051px){
  .hero-copy .election-label{
    transform:translateY(-12px) !important;
    margin-bottom:22px !important;
  }
}

/* ===== MOBIL: O NÁS – zobrazit všechny 3 osoby bez ořezu ===== */
@media (max-width:720px){
  #onas .about-photo-wrap{
    min-height:0 !important;
    height:auto !important;
    overflow:hidden;
  }

  #onas .about-photo-wrap img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block;
  }
}

/* ===== MOBIL: O NÁS – jemný asymetrický ořez zeleně (vpravo 2 : vlevo 1) ===== */
@media (max-width:720px){
  #onas .about-photo-wrap{
    position:relative;
    overflow:hidden !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:1.70 / 1;
  }

  #onas .about-photo-wrap img{
    position:absolute;
    width:106% !important;
    max-width:none !important;
    height:100% !important;
    min-height:0 !important;
    left:-2% !important;
    top:0;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

@media (max-width:480px){
  #onas .about-photo-wrap{
    aspect-ratio:1.62 / 1;
  }

  #onas .about-photo-wrap img{
    width:108% !important;
    left:-2.5% !important;
  }
}



/* ===== MOBIL: O NÁS – přesný samostatný výřez 1 díl vlevo / 2 díly vpravo ===== */
#onas .about-photo-wrap picture{
  display:block;
  width:100%;
}
@media (max-width:720px){
  #onas .about-photo-wrap{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }

  #onas .about-photo-wrap picture{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  #onas .about-photo-wrap picture img{
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }
}
