/* =========================================================================
   Národní energetická aliance — vizuální styl v2 (čitelnost)
   Barvy: národní modrá a červená + světlé modré tóny (princip značky MPO)
   Zásady: text min. 16 px, popisky min. 15 px, kontrast WCAG AA,
   žádné černé linky, tmavé plochy jen v patičce, klidné světlé sekce.
   ========================================================================= */
:root{
  /* národní barvy */
  --cz-blue:#11457E; --cz-red:#D7141A;
  /* odvozené modré tóny */
  --blue:#11457E;          /* nadpisy, primární tlačítka */
  --blue-link:#1A5BA6;     /* odkazy (kontrast 6,6:1) */
  --blue-deep:#0C315A;     /* patička */
  --blue-50:#F2F6FB;       /* střídavé sekce */
  --blue-100:#E4EDF8;      /* zvýraznění, aktivní prvky */
  --blue-200:#C9DBF0;      /* rámečky zvýraznění */
  /* text a linky */
  --ink:#16304F; --body:#2C3B4D; --muted:#55657A;
  --line:#D9E1EB; --line-2:#E8EDF3;
  /* stavové */
  --red:#B3141A; --red-bg:#FDF0F0; --green:#1F6B45; --green-bg:#EDF6F0; --amber:#8A5A00; --amber-bg:#FCF5E6;
  /* data (zdroje) */
  --c-jadro:#2F5D9E; --c-uhli:#6B7480; --c-plyn:#C27E1A; --c-voda:#1F8797; --c-fve:#D9A400; --c-vitr:#2E8B57; --c-bio:#7D8F4E; --c-akum:#6B4FA0;
  --r:8px; --r-sm:6px;
  --shadow:0 1px 2px rgba(16,48,79,.06), 0 2px 8px rgba(16,48,79,.05);
  /* aliasy pro starší komponenty a inline styly */
  --gov-blue:var(--blue); --gov-blue-dark:var(--blue); --gov-blue-darker:var(--blue-deep); --gov-blue-light:var(--blue-100); --gov-blue-tint:var(--blue-50);
  --red-2:var(--red); --purple:var(--c-akum); --teal:var(--c-voda); --bg-soft:var(--blue-50); --paper:var(--blue-50);
  --radius:var(--r); --radius-lg:var(--r); --shadow-sm:var(--shadow); --shadow-lg:var(--shadow);
  --sans:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --cond:"IBM Plex Sans Condensed","IBM Plex Sans","Segoe UI",system-ui,sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ margin:0; font-family:var(--sans); font-size:1.125rem; line-height:1.65; color:var(--body); background:#fff; }
img,svg{ max-width:100%; }
h1,h2,h3,h4,h5{ color:var(--ink); font-weight:600; line-height:1.25; margin:0 0 .5em; }
h1{ font-size:clamp(2rem,1.4rem + 2vw,2.875rem); line-height:1.15; color:var(--blue); letter-spacing:-.01em; }
h2{ font-size:clamp(1.5rem,1.25rem + .9vw,2rem); color:var(--blue); }
h3{ font-size:1.25rem; }
h4{ font-size:1.125rem; }
h5{ font-size:1rem; }
p{ margin:0 0 1em; }
a{ color:var(--blue-link); text-underline-offset:.2em; text-decoration-thickness:1px; }
a:hover{ color:var(--blue); text-decoration-thickness:2px; }
:focus-visible{ outline:3px solid #F2B705; outline-offset:2px; border-radius:2px; }
strong,b{ color:var(--ink); font-weight:600; }
.small{ font-size:1rem; } .muted{ color:var(--muted); }
.lead{ font-size:1.25rem; line-height:1.6; color:var(--body); max-width:62ch; }
.container{ width:100%; max-width:1160px; margin:0 auto; padding:0 28px; }
.num,.cond{ font-family:var(--cond); }

/* ---------- Hlavička ---------- */
.mixstripe{ display:none; }
.natband{ height:5px; background:linear-gradient(90deg,var(--cz-blue) 0 50%,var(--cz-red) 50% 100%); }
.utilbar{ background:var(--blue-50); color:var(--muted); font-size:.9375rem; border-bottom:1px solid var(--line-2); }
.utilbar .container{ display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:40px; flex-wrap:wrap; }
.utilbar a{ color:var(--blue); text-decoration:none; margin-left:22px; white-space:nowrap; }
.utilbar a:hover{ text-decoration:underline; }
.site-header{ background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40; }
.site-header .bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0 12px; }
.brand{ display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--ink); }
.brand .mark{ flex:0 0 auto; }
.brand .wordmark{ display:flex; flex-direction:column; line-height:1.2; }
.brand .wordmark b{ font-size:1.25rem; font-weight:600; color:var(--blue); }
.brand .wordmark span{ font-size:.9375rem; color:var(--muted); }
.main-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:2px; }
.main-nav a{ display:block; padding:12px 14px 12px; color:var(--ink); text-decoration:none; font-size:1.0625rem; font-weight:500; border-bottom:3px solid transparent; }
.main-nav li:first-child a{ padding-left:0; }
.main-nav a:hover{ color:var(--blue-link); border-bottom-color:var(--blue-200); }
.main-nav a.active{ border-bottom-color:var(--cz-red); color:var(--blue); font-weight:600; }
.nav-toggle{ display:none; background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:10px 16px; font:inherit; font-size:1rem; font-weight:600; color:var(--blue); cursor:pointer; }
.breadcrumb{ font-size:.9375rem; color:var(--muted); padding:14px 0; background:var(--blue-50); }
.breadcrumb a{ color:var(--blue-link); }
.breadcrumb .sep{ margin:0 8px; color:#8C9AAC; }

/* ---------- Úvodní části ---------- */
.hero{ padding:48px 0 44px; background:var(--blue-50); }
.hero h1{ max-width:24ch; }
.hero .lead{ margin-top:12px; margin-bottom:0; }
.eyebrow,.kicker{ display:none; }
.home-hero{ background:linear-gradient(180deg,var(--blue-50) 0,var(--blue-50) 100%); border-bottom:1px solid var(--line-2); }
.hero-home{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:56px; align-items:center; padding-top:56px; padding-bottom:56px; }
.hero-home h1{ max-width:17ch; }
.cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }

/* Mixový graf */
.mixpanel{ border:1px solid var(--line); border-radius:var(--r); padding:26px 26px 20px; background:#fff; box-shadow:var(--shadow); }
.mixpanel h2{ font-size:1.25rem; margin-bottom:4px; }
.mixpanel .sub{ font-size:.9375rem; color:var(--muted); margin-bottom:18px; }
.mixrow{ margin-bottom:18px; }
.mixrow .yr{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:1rem; color:var(--muted); margin-bottom:8px; }
.mixrow .yr b{ font-size:1rem; color:var(--ink); }
.mixbar{ display:flex; height:44px; border-radius:var(--r-sm); overflow:hidden; gap:2px; background:#fff; }
.mixbar span{ display:flex; align-items:center; justify-content:center; color:#fff; font-size:.9375rem; font-weight:600; white-space:nowrap; overflow:hidden; }
.mixkey{ display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.9375rem; color:var(--body); margin-top:6px; }
.mixkey i{ display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:7px; vertical-align:-1px; }

/* Rozcestník */
.entry{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:-28px; position:relative; }
.entry a{ display:block; padding:22px 24px; text-decoration:none; color:var(--body); background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); }
.entry a:hover{ border-color:var(--blue-200); }
.entry a b{ display:block; color:var(--blue); font-size:1.1875rem; margin-bottom:6px; }
.entry a:hover b{ text-decoration:underline; }
.entry a span{ font-size:1rem; }

/* ---------- Tlačítka ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font:inherit; font-size:1.0625rem; font-weight:600; padding:13px 24px; border-radius:var(--r-sm); text-decoration:none; border:2px solid transparent; cursor:pointer; line-height:1.2; min-height:50px; }
.btn-primary{ background:var(--blue); color:#fff; }
.btn-primary:hover{ background:var(--blue-deep); color:#fff; text-decoration:none; }
.btn-outline,.btn-ghost{ background:#fff; color:var(--blue); border-color:var(--blue); }
.btn-outline:hover,.btn-ghost:hover{ background:var(--blue-100); text-decoration:none; color:var(--blue); }
.btn-green{ background:var(--green); color:#fff; }

/* ---------- Sekce a mřížky ---------- */
.section{ padding:72px 0; }
.section.alt,.section.green,.section.blue{ background:var(--blue-50); }
.section.dark{ background:var(--blue-100); }
.section-head{ max-width:70ch; margin-bottom:32px; }
.section-head h2{ margin-bottom:.35em; }
.section-head p{ margin:0; font-size:1.125rem; }
.section-head.center{ text-align:left !important; }
.grid{ display:grid; gap:24px; }
.grid.tight{ gap:18px; }
.grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }

/* ---------- Karty a boxy ---------- */
.card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow); }
.card h3{ margin-bottom:.4em; color:var(--blue); }
a.card{ display:block; text-decoration:none; color:var(--body); }
a.card:hover{ border-color:var(--blue-200); }
a.card:hover h3{ text-decoration:underline; }
.box{ background:#fff; border:1px solid var(--line); border-left:5px solid var(--blue); border-radius:var(--r-sm); padding:22px 24px; }
.box h4{ margin-bottom:.35em; color:var(--blue); }
.box.green{ border-left-color:var(--green); } .box.green h4{ color:var(--green); }
.box.amber{ border-left-color:var(--c-plyn); } .box.amber h4{ color:var(--amber); }
.box.red{ border-left-color:var(--cz-red); } .box.red h4{ color:var(--red); }
.note-src{ font-size:.9375rem; color:var(--muted); padding-top:14px; margin-top:24px; max-width:90ch; border-top:1px solid var(--line-2); }
.prose{ max-width:68ch; }
.prose h2{ margin-top:1.4em; } .prose h3{ margin-top:1.2em; }
.prose ul,.prose ol{ padding-left:1.2em; } .prose li{ margin-bottom:.4em; }

/* Klíčová čísla */
.stat-cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.stat-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px 22px 20px; box-shadow:var(--shadow); }
.stat-card .n{ font-family:var(--cond); font-size:2.25rem; font-weight:600; color:var(--blue); line-height:1.1; }
.stat-card.green .n{ color:var(--green); } .stat-card.red .n{ color:var(--red); } .stat-card.amber .n{ color:var(--amber); }
.stat-card .l{ font-size:1rem; margin-top:8px; color:var(--body); line-height:1.45; }
.stat-card .src{ font-size:.875rem; color:var(--muted); margin-top:8px; }

/* Seznamy */
.ticks{ list-style:none; margin:0; padding:0; }
.ticks li{ position:relative; padding:10px 0 10px 32px; border-bottom:1px solid var(--line-2); }
.ticks li:last-child{ border-bottom:0; }
.ticks li::before{ content:""; position:absolute; left:3px; top:19px; width:12px; height:7px; border-left:3px solid var(--green); border-bottom:3px solid var(--green); transform:rotate(-45deg); }
.ticks.cross li::before{ border:0; width:14px; height:3px; background:var(--red); transform:none; top:23px; }

/* ---------- Filtry a štítky ---------- */
.filter-bar{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:24px; }
.chip,.preset{ border:1px solid var(--blue-200); background:#fff; color:var(--blue); border-radius:999px; padding:9px 16px; font:inherit; font-size:1rem; cursor:pointer; min-height:42px; }
.chip:hover,.preset:hover{ background:var(--blue-100); }
.chip.active,.preset.active{ background:var(--blue); border-color:var(--blue); color:#fff; }
.chip-dot{ width:10px; height:10px; border-radius:50%; display:inline-block; margin-right:8px; vertical-align:0; background:var(--tag,#999); }
.chip.active .chip-dot{ box-shadow:0 0 0 2px #fff; }
.search-wrap{ margin-left:auto; position:relative; }
.search-wrap input{ border:1px solid #AFC0D4; border-radius:var(--r-sm); padding:11px 14px 11px 40px; font:inherit; font-size:1rem; min-width:280px; }
.search-wrap input:focus{ border-color:var(--blue); outline:3px solid var(--blue-100); }
.search-wrap svg{ position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--muted); }
.art-tag{ display:inline-flex; align-items:center; gap:8px; font-size:.9375rem; font-weight:600; color:var(--ink); line-height:1.3; }
.art-tag::before{ content:""; width:10px; height:10px; border-radius:50%; background:var(--tag,var(--blue)); flex:0 0 auto; }
.art-date{ font-size:.9375rem; color:var(--muted); }

/* ---------- Články ---------- */
.art-featured{ display:grid; gap:12px; text-decoration:none; color:var(--body); border:1px solid var(--line); border-left:6px solid var(--cz-red); border-radius:var(--r); padding:32px 34px; background:#fff; box-shadow:var(--shadow); }
.art-featured:hover{ border-color:var(--blue-200); border-left-color:var(--cz-red); }
.art-featured h2{ font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem); max-width:32ch; margin:2px 0 0; }
.art-featured:hover h2{ text-decoration:underline; }
.art-featured p{ max-width:68ch; margin:0; font-size:1.125rem; }
.af-flag{ display:flex; gap:12px; align-items:center; }
.af-more{ font-size:.9375rem; color:var(--muted); }
.art-tiles{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.art-tile{ display:flex; flex-direction:column; gap:10px; text-decoration:none; color:var(--body); background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px; box-shadow:var(--shadow); }
.art-tile:hover{ border-color:var(--blue-200); }
.art-tile h3{ font-size:1.125rem; line-height:1.35; margin:0; color:var(--blue); }
.art-tile:hover h3{ text-decoration:underline; }
.art-tile p{ font-size:1rem; color:var(--body); margin:0; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.art-tile .art-date{ margin-top:auto; padding-top:4px; }
.pg-wrap{ display:flex; justify-content:center; gap:8px; margin-top:36px; flex-wrap:wrap; }
.pg-btn{ min-width:46px; height:46px; padding:0 12px; border:1px solid var(--blue-200); background:#fff; color:var(--blue); font:inherit; font-size:1.0625rem; font-weight:600; border-radius:var(--r-sm); cursor:pointer; }
.pg-btn:hover:not(:disabled){ background:var(--blue-100); }
.pg-btn.active{ background:var(--blue); border-color:var(--blue); color:#fff; }
.pg-btn:disabled{ opacity:.35; cursor:default; }

/* Detail článku */
.article-wrap{ padding:44px 0 72px; }
.art-head{ max-width:70ch; margin-bottom:32px; }
.art-head h1{ margin:14px 0 10px; font-size:clamp(1.875rem,1.4rem + 1.6vw,2.625rem); }
.art-meta{ font-size:1rem; color:var(--muted); margin-bottom:16px; }
.art-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:56px; align-items:start; }
.art-body{ font-size:1.1875rem; line-height:1.75; max-width:68ch; }
.art-body p{ margin-bottom:1.15em; }
.art-sources{ margin-top:32px; padding:20px 22px; background:var(--blue-50); border-radius:var(--r); font-size:1rem; }
.art-sources h2{ font-size:1.125rem; margin:0 0 10px; }
.art-sources ol{ margin:0; padding-left:1.3em; } .art-sources li{ margin-bottom:6px; }
.art-disclaimer{ font-size:.9375rem; color:var(--muted); margin-top:24px; }
.art-side{ position:sticky; top:150px; display:flex; flex-direction:column; gap:24px; }
.side-box{ background:var(--blue-50); border-radius:var(--r); padding:22px; }
.side-box h4{ font-size:1.0625rem; margin:0 0 10px; color:var(--blue); }
.side-links{ list-style:none; margin:0; padding:0; }
.side-links li{ border-bottom:1px solid var(--line); }
.side-links li:last-child{ border-bottom:0; }
.side-links a{ display:block; padding:10px 0; text-decoration:none; color:var(--blue-link); font-size:1rem; }
.side-links a:hover{ text-decoration:underline; }
.art-teasers{ display:flex; flex-direction:column; gap:16px; }
.art-teaser{ display:flex; flex-direction:column; gap:6px; text-decoration:none; color:var(--body); background:#fff; border-radius:var(--r-sm); padding:14px; }
.art-teaser b{ font-size:1rem; line-height:1.35; color:var(--blue); }
.art-teaser:hover b{ text-decoration:underline; }

/* ---------- Mýty a fakta ---------- */
.myth{ border:1px solid var(--line); border-radius:var(--r); background:#fff; margin-bottom:14px; box-shadow:var(--shadow); }
.myth > summary{ list-style:none; cursor:pointer; padding:20px 24px; display:flex; gap:18px; align-items:flex-start; }
.myth > summary::-webkit-details-marker{ display:none; }
.myth .tag{ flex:0 0 auto; font-size:.875rem; font-weight:600; padding:4px 10px; border-radius:999px; margin-top:2px; }
.tag-myth{ color:var(--red); background:var(--red-bg); } .tag-polo{ color:var(--amber); background:var(--amber-bg); } .tag-obava{ color:var(--blue); background:var(--blue-100); }
.myth .q{ flex:1; }
.myth .q b{ display:block; font-size:1.1875rem; line-height:1.4; color:var(--ink); }
.myth .q .cat{ font-size:.9375rem; display:inline-block; margin-top:6px; }
.myth .chev{ flex:0 0 auto; color:var(--blue); transition:transform .2s; margin-top:4px; }
.myth[open] .chev{ transform:rotate(180deg); }
.myth[open] > summary{ border-bottom:1px solid var(--line-2); }
.myth .body{ padding:22px 24px 24px; display:grid; gap:16px; }
.myth .claim{ padding:14px 18px; background:var(--blue-50); border-radius:var(--r-sm); }
.myth .truth{ padding:14px 18px; background:var(--green-bg); border-radius:var(--r-sm); }
.myth .claim .lbl,.myth .truth .lbl{ display:block; font-size:.9375rem; font-weight:600; color:var(--muted); margin-bottom:4px; }
.myth .truth .lbl{ color:var(--green); }
.myth .deep h5{ font-size:1rem; margin:0 0 6px; color:var(--blue); }
.myth .deep p{ margin:0; }
.myth .refs{ padding-top:14px; border-top:1px solid var(--line-2); }
.myth .refs .rh{ font-size:.9375rem; font-weight:600; color:var(--muted); margin-bottom:8px; }
.myth .refs ol{ margin:0; padding-left:1.3em; font-size:1rem; }
.myth .refs li{ margin-bottom:6px; }
.myth.no-match{ display:none; }

/* ---------- Odborníci a citace ---------- */
.expert{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px; height:100%; display:flex; flex-direction:column; gap:8px; box-shadow:var(--shadow); }
.expert .avatar,.qc-ico,.obava-ico,.theme-card .ico{ width:48px; height:48px; border-radius:50%; background:var(--blue-100); color:var(--blue); display:grid; place-items:center; flex:0 0 auto; }
.expert .avatar svg{ width:26px; height:26px; }
.expert .field{ font-size:.9375rem; color:var(--blue-link); font-weight:600; margin-top:6px; }
.expert .who{ font-weight:600; color:var(--blue); font-size:1.1875rem; }
.expert .vouch{ font-size:1rem; }
.expert .ph{ margin-top:auto; font-size:.9375rem; color:var(--muted); border-top:1px solid var(--line-2); padding-top:12px; }
.quote-card{ margin:0; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; display:flex; flex-direction:column; height:100%; box-shadow:var(--shadow); }
.qc-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.qc-obor{ font-size:1rem; font-weight:600; color:var(--blue); }
.quote-card blockquote{ margin:0 0 18px; font-size:1.1875rem; line-height:1.55; color:var(--ink); }
.quote-card figcaption{ margin-top:auto; border-top:1px solid var(--line-2); padding-top:12px; font-size:1rem; }
.quote-card figcaption b{ display:block; }
.quote-card figcaption span{ color:var(--muted); font-size:.9375rem; }

/* ---------- Signatáři ---------- */
.sig-founder{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.sig-founder .logo-slot{ min-width:340px; }
.sig-founder p{ margin:0; }
.sig-group{ margin-bottom:28px; }
.sig-group h3{ font-size:1.125rem; margin-bottom:12px; color:var(--blue); }
.logo-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.logo-slot{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; display:flex; align-items:center; gap:14px; min-height:86px; }
.logo-slot .crest{ flex:0 0 auto; width:56px; height:56px; border:2px dashed var(--blue-200); border-radius:var(--r-sm); display:grid; place-items:center; font-weight:600; font-size:.9375rem; color:var(--blue); text-align:center; line-height:1.1; }
.logo-slot .ls-txt b{ display:block; font-size:1rem; line-height:1.3; }
.logo-slot .ls-txt .ph{ font-size:.875rem; color:var(--muted); }

/* ---------- Kalkulačky ---------- */
.calc{ display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.calc .panel{ padding:30px; }
.calc .panel.controls{ background:var(--blue-50); border-right:1px solid var(--line); }
.preset-row{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-weight:600; color:var(--ink); font-size:1.0625rem; margin-bottom:8px; }
.hint,.field .hint{ font-weight:400; color:var(--muted); font-size:.9375rem; }
.field input[type=number],.field input[type=text],.field input[type=email],.field select,.field textarea{ width:100%; padding:12px 14px; border:1px solid #AFC0D4; border-radius:var(--r-sm); font:inherit; font-size:1.0625rem; background:#fff; color:var(--ink); min-height:50px; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--blue); outline:3px solid var(--blue-100); }
.seg{ display:flex; gap:8px; }
.seg button{ flex:1; border:1px solid var(--blue-200); background:#fff; border-radius:var(--r-sm); padding:10px 8px; cursor:pointer; font:inherit; font-weight:600; font-size:1rem; color:var(--blue); line-height:1.25; min-height:52px; }
.seg button small{ display:block; font-weight:400; color:var(--muted); font-size:.875rem; }
.seg button.active{ background:var(--blue); border-color:var(--blue); color:#fff; }
.seg button.active small{ color:#D5E3F3; }
.slider{ margin-bottom:16px; }
.slider .top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
.slider .top .name{ font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; }
.slider .top .val{ font-family:var(--cond); font-weight:600; color:var(--blue); font-size:1.125rem; }
.slider .dot{ width:12px; height:12px; border-radius:3px; }
input[type=range]{ width:100%; accent-color:var(--blue); height:28px; }
.range-row{ display:flex; align-items:center; gap:14px; }
.range-row input[type=range]{ flex:1; }
.range-row .rv{ font-family:var(--cond); font-weight:600; color:var(--blue); min-width:76px; text-align:right; font-size:1.25rem; }
.sum-line{ font-size:1rem; color:var(--muted); margin-top:6px; }
.sum-line.over{ color:var(--red); font-weight:600; }
.result-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.result{ border:1px solid var(--line); border-radius:var(--r-sm); padding:16px 18px; background:#fff; }
.result .rl{ font-size:.9375rem; color:var(--muted); }
.result .rn{ font-family:var(--cond); font-size:1.875rem; font-weight:600; color:var(--blue); line-height:1.15; margin-top:2px; }
.result .ru{ font-size:.9375rem; color:var(--muted); }
.result.span,.result.hero-result{ grid-column:1 / -1; }
.result.hero-result{ background:var(--blue); border-color:var(--blue); color:#fff; }
.result.hero-result .rl,.result.hero-result .ru{ color:#D5E3F3; }
.result.hero-result .rn{ color:#fff; font-size:2.5rem; }
.result.hero-green{ background:var(--green); border-color:var(--green); }
.delta{ font-size:.9375rem; font-weight:600; margin-top:4px; }
.delta.up{ color:#FFE0DB; } .delta.down{ color:#D3F2DF; }
.result:not(.hero-result) .delta.up{ color:var(--red); } .result:not(.hero-result) .delta.down{ color:var(--green); }

/* ---------- Grafy ---------- */
.bar-row{ display:grid; grid-template-columns:170px 1fr 100px; align-items:center; gap:14px; padding:8px 0; }
.bar-row .bl{ font-size:1rem; color:var(--ink); display:flex; align-items:center; gap:10px; }
.bar-row .bt{ height:24px; background:var(--blue-50); border-radius:4px; overflow:hidden; }
.bar-row .bt > i{ display:block; height:100%; border-radius:4px; }
.bar-row .bv{ text-align:right; font-family:var(--cond); font-weight:600; color:var(--ink); font-size:1.0625rem; }
.flag-sq{ width:22px; height:15px; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.12); flex:0 0 auto; display:inline-block; }
.legend{ display:flex; flex-wrap:wrap; gap:10px 20px; font-size:.9375rem; color:var(--body); margin-top:14px; }
.legend i{ width:12px; height:12px; border-radius:3px; display:inline-block; margin-right:7px; vertical-align:-1px; }
.mix-wrap{ display:flex; gap:32px; align-items:center; flex-wrap:wrap; }
.mix-legend{ flex:1; min-width:250px; }
.mix-legend .row{ display:grid; grid-template-columns:14px 1fr auto auto; gap:12px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line-2); font-size:1rem; }
.mix-legend .row:last-child{ border-bottom:0; }
.mix-legend .sw{ width:14px; height:14px; border-radius:3px; }
.mix-legend .pv{ font-family:var(--cond); font-weight:600; color:var(--ink); font-size:1.0625rem; }
.mix-legend .tw{ font-size:.9375rem; color:var(--muted); }
.mo-svg svg,#cfd-graf svg{ width:100%; height:auto; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-sm); }
.mo-controls{ margin-top:18px; }
.mo-controls label{ display:block; font-weight:600; color:var(--ink); font-size:1.0625rem; margin-bottom:6px; }
.mo-presets,.mo-scen{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:14px; }
.mo-presets > span,.mo-scen > span{ font-size:1rem; font-weight:600; color:var(--ink); margin-right:4px; min-width:70px; }
.mo-price{ font-size:1.25rem !important; }
.mo-coal,.mo-note{ font-size:1rem !important; }

/* Průzkum */
.poll{ border:1px solid var(--line); border-radius:var(--r); padding:24px; background:#fff; box-shadow:var(--shadow); }
.poll h4{ margin-bottom:16px; color:var(--blue); }
.pbar{ margin-bottom:14px; }
.pbar .pt{ display:flex; justify-content:space-between; font-size:1rem; margin-bottom:6px; gap:12px; }
.pbar .pt b{ font-family:var(--cond); color:var(--blue); font-size:1.0625rem; }
.track{ height:10px; background:var(--blue-50); border-radius:5px; overflow:hidden; }
.track > i{ display:block; height:100%; background:var(--blue); border-radius:5px; }

/* Tabulky */
.ctable,.vc-table,.ntable{ width:100%; border-collapse:separate; border-spacing:0; background:#fff; font-size:1rem; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.ctable th,.ctable td,.ntable th,.ntable td{ padding:14px 16px; text-align:left; border-bottom:1px solid var(--line-2); vertical-align:top; line-height:1.5; }
.ctable tbody tr:last-child td,.ntable tbody tr:last-child td,.vc-table tbody:last-child tr:last-child td{ border-bottom:0; }
.ctable thead th,.ntable thead th{ background:var(--blue-100); color:var(--blue); font-weight:600; font-size:1rem; }
.ctable tbody tr:nth-child(even),.ntable tbody tr:nth-child(even){ background:#FAFCFE; }
.ctable .pos{ color:var(--green); font-weight:600; } .ctable .neg{ color:var(--red); font-weight:600; }
.vc-table th{ text-align:left; font-size:.9375rem; font-weight:600; color:var(--blue); background:var(--blue-100); padding:12px 14px; }
.vc-table td{ padding:12px 14px; border-bottom:1px solid var(--line-2); vertical-align:middle; }
.vc-table td:first-child{ font-weight:600; color:var(--ink); white-space:nowrap; }
.vc-table .vc-num{ font-family:var(--cond); font-size:1.0625rem; white-space:nowrap; }
.vc-dot{ display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:9px; vertical-align:-1px; }
.vc-bar{ display:block; height:6px; background:var(--blue-50); margin-top:6px; max-width:170px; border-radius:3px; overflow:hidden; }
.vc-bar > i{ display:block; height:100%; }
.vc-sep td{ background:var(--blue-50); font-size:.9375rem; color:var(--blue); font-weight:600; padding:10px 14px; }
#vykon-cr.card{ padding:0; overflow:hidden; } #vykon-cr .vc-table{ border:0; border-radius:0; } #vykon-cr .note-src{ margin:0; padding:16px 18px; }

/* Obavy, kroky */
.fear,.obava-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px 24px; height:100%; box-shadow:var(--shadow); }
.fear .name{ font-weight:600; color:var(--blue); font-size:1.125rem; margin-bottom:6px; }
.fear .stat-mini{ font-size:.9375rem; color:var(--muted); margin-bottom:8px; }
.fear .answer{ font-size:1rem; }
.obava-card{ display:flex; flex-direction:column; gap:12px; }
.obava-head{ display:flex; align-items:center; gap:14px; }
.obava-head h3{ margin:0; font-size:1.125rem; color:var(--blue); }
.obava-card p{ margin:0; font-size:1rem; }
.obava-link{ margin-top:auto; font-size:1rem; font-weight:600; }
.steps{ counter-reset:step; display:grid; gap:12px; }
.step{ display:grid; grid-template-columns:44px 1fr; gap:16px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:var(--r); align-items:start; }
.step::before{ counter-increment:step; content:counter(step); width:40px; height:40px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font-weight:600; font-size:1.0625rem; }
.step .st{ font-size:1rem; } .step .st b{ display:block; color:var(--blue); font-size:1.0625rem; margin-bottom:2px; }

/* Výzva */
.cta-band{ background:var(--blue-100); color:var(--body); border-radius:var(--r); padding:34px 36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; border-left:6px solid var(--cz-red); }
.cta-band h2{ margin:0; font-size:1.5rem; }
.cta-band p{ margin:6px 0 0; }

/* Komunita, očekávání obcí */
.komm{ display:flex; flex-direction:column; gap:10px; }
.komm-head{ display:flex; align-items:center; gap:10px; font-size:1rem; color:var(--muted); }
.komm-head b{ color:var(--ink); }
.komm h3{ margin:0; font-size:1.125rem; }
.komm p{ font-size:1rem; color:var(--body) !important; }
.komm-jak{ margin-top:auto; background:var(--green-bg); border-radius:var(--r-sm); padding:12px 14px; font-size:1rem; }
.komm-jak span{ display:block; font-weight:600; color:var(--green); margin-bottom:2px; }
.etika-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.etika-item{ padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:var(--r); }
.etika-item b{ display:block; margin-bottom:4px; color:var(--blue); font-size:1.0625rem; }
.etika-item p{ margin:0; font-size:1rem; }

/* Mix vs cena, aukce */
.mcz-row{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:16px 20px; margin-bottom:12px; }
.mcz-name{ font-weight:600; color:var(--ink); display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:1.0625rem; }
.mcz-bar{ display:grid; grid-template-columns:260px 1fr 100px; align-items:center; gap:12px; margin-bottom:6px; }
.mcz-lbl{ font-size:.9375rem; color:var(--muted); }
.mcz-track{ height:14px; background:var(--blue-50); border-radius:4px; overflow:hidden; }
.mcz-track > i{ display:block; height:100%; border-radius:4px; }
.mcz-v{ text-align:right; font-family:var(--cond); font-weight:600; color:var(--ink); font-size:1.0625rem; }
.mcz-pozn{ font-size:.9375rem; color:var(--muted); margin-top:8px; }
.aukce-srovnani{ display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:stretch; }
.aukce-card{ border:1px solid var(--line); border-top:5px solid var(--c-uhli); border-radius:var(--r); padding:24px; background:#fff; box-shadow:var(--shadow); }
.aukce-card.cz{ border-top-color:var(--cz-red); } .aukce-card.de{ border-top-color:var(--green); }
.aukce-card .ac-flag{ margin-bottom:10px; }
.aukce-card .ac-n{ font-family:var(--cond); font-size:2.25rem; font-weight:600; color:var(--blue); line-height:1.05; }
.aukce-card .ac-sub{ font-size:1rem; color:var(--muted); margin-top:6px; }
.aukce-card .ac-pozn{ font-size:1rem; margin:12px 0 0; }
.aukce-vs{ display:grid; place-items:center; color:var(--muted); font-size:1.0625rem; }

/* OTE */
.ote-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ote-card{ border:1px solid var(--line); border-radius:var(--r); padding:22px; background:#fff; box-shadow:var(--shadow); }
.ote-card.pending{ background:var(--amber-bg); display:flex; flex-direction:column; justify-content:center; }
.ote-den{ font-size:1.0625rem; font-weight:600; color:var(--blue); margin-bottom:14px; }
.ote-pair{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ote-cell{ padding:14px 16px; border-radius:var(--r-sm); }
.ote-cell.low{ background:var(--green-bg); } .ote-cell.high{ background:var(--red-bg); }
.ote-lbl{ display:block; font-size:.9375rem; font-weight:600; }
.ote-cell.low .ote-lbl{ color:var(--green); } .ote-cell.high .ote-lbl{ color:var(--red); }
.ote-val{ display:block; font-family:var(--cond); font-size:1.875rem; font-weight:600; color:var(--ink); line-height:1.15; margin-top:2px; }
.ote-sub{ display:block; font-size:.9375rem; color:var(--muted); margin-top:4px; }
.ote-base{ margin-top:14px; font-size:1rem; }
.ote-msg{ font-weight:600; color:var(--amber); }
.ote-msg span{ display:block; font-weight:400; color:var(--body); font-size:1rem; margin-top:4px; }
.ote-note{ font-size:.9375rem; color:var(--muted); margin:14px 0 0; }

/* NKEP */
.nkep-box{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; }
.nkep-box .nk-item{ padding:24px; background:#fff; border:1px solid var(--line); border-top:5px solid var(--blue); border-radius:var(--r); box-shadow:var(--shadow); }
.nkep-box .nk-n{ display:block; font-family:var(--cond); font-size:2.5rem; font-weight:600; color:var(--blue); line-height:1; }
.nkep-box .nk-l{ display:block; margin-top:8px; color:var(--ink); font-weight:600; }
.nkep-box .nk-from{ display:block; font-size:1rem; color:var(--muted); margin-top:4px; }
.nkep-box .nk-full{ grid-column:1 / -1; padding:20px 24px; margin:0; font-size:1.0625rem; background:#fff; border-radius:var(--r); border-left:5px solid var(--cz-red); }

/* Kompetenční centrum SMS ČR, kontakt */
.kc{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); border:1px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden; box-shadow:var(--shadow); }
.kc > div{ padding:30px; }
.kc > div + div{ border-left:1px solid var(--line); background:var(--blue-50); }
.kc h3{ color:var(--blue); }
.kc ul{ margin:8px 0 0; padding-left:1.2em; } .kc li{ margin-bottom:6px; }
.kc dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:10px 18px; font-size:1.0625rem; }
.kc dt{ color:var(--muted); } .kc dd{ margin:0; color:var(--ink); font-weight:500; }

/* Výstupy */
.ntable td.q{ font-family:var(--cond); font-weight:600; white-space:nowrap; color:var(--blue); font-size:1.0625rem; }
.ntable .st{ font-size:.9375rem; color:var(--muted); white-space:nowrap; }
.timeline{ width:100%; border-collapse:separate; border-spacing:3px; font-size:.9375rem; }
.timeline th,.timeline td{ padding:10px 12px; text-align:left; border-radius:4px; }
.timeline thead th{ background:var(--blue-100); font-weight:600; color:var(--blue); }
.timeline tbody td:first-child{ background:#fff; color:var(--ink); font-weight:500; white-space:nowrap; }
.timeline td{ background:#fff; }
.timeline td.prep{ background:#E8EEF6; color:var(--body); }
.timeline td.work{ background:#C9DBF0; color:var(--ink); }
.timeline td.out{ background:var(--blue); color:#fff; font-weight:600; }
.timeline td.cont{ background:repeating-linear-gradient(135deg,#E8EEF6 0 8px,#F5F8FC 8px 16px); color:var(--body); }

/* Struktura NEA */
.org{ display:grid; gap:14px; }
.org .lvl{ display:grid; gap:14px; }
.org .node{ border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; background:#fff; }
.org .node b{ display:block; color:var(--blue); font-size:1.0625rem; }
.org .node span{ font-size:1rem; color:var(--muted); }
.org .node.main{ border-top:5px solid var(--blue); }
.org .lvl-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.principles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.principles div{ padding:22px; background:#fff; border:1px solid var(--line); border-radius:var(--r); }
.principles b{ display:block; margin-bottom:4px; color:var(--blue); font-size:1.0625rem; }
.principles p{ margin:0; font-size:1rem; }
.rv-top{ display:grid; grid-template-columns:2fr 1fr; gap:14px; margin-bottom:14px; }
.rv-groups{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
#nea-org .node{ border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; background:#fff; display:flex; flex-direction:column; gap:4px; }
#nea-org .node.main{ border-top:5px solid var(--blue); }
#nea-org .rv-role{ font-size:1rem; font-weight:600; color:var(--blue); }
#nea-org .node > span:last-child{ font-size:.9375rem; color:var(--muted); margin-top:auto; padding-top:6px; }
.rv-member{ padding:8px 0; border-bottom:1px solid var(--line-2); }
.rv-member b,.rv-member span{ display:block; }
.rv-member span{ font-size:.9375rem; color:var(--muted); }
.rv-empty{ color:var(--muted) !important; font-weight:500; font-style:italic; }

/* Role zdrojů (úvod) */
.roles{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.roles > div{ background:#fff; border:1px solid var(--line); border-top:6px solid var(--c); border-radius:var(--r); padding:22px; box-shadow:var(--shadow); }
.roles h3{ margin:0; color:var(--blue); }
.roles .role{ font-size:1rem; color:var(--muted); margin:2px 0 10px; font-weight:500; }
.roles p:last-child{ font-size:1rem; margin:0; }

/* PPA */
.doc-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.doc-list li{ display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:var(--r); }
.doc-list b{ display:block; color:var(--blue); }
.doc-list span{ font-size:.9375rem; color:var(--muted); }
.doc-list .stav{ font-size:.9375rem; color:var(--muted); background:var(--blue-50); border-radius:999px; padding:5px 12px; white-space:nowrap; text-decoration:none; }
.ppa-table{ width:100%; border-collapse:separate; border-spacing:0; font-size:1rem; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.ppa-table th,.ppa-table td{ padding:13px 14px; border-bottom:1px solid var(--line-2); text-align:left; vertical-align:top; }
.ppa-table thead th{ font-size:.9375rem; font-weight:600; color:var(--blue); background:var(--blue-100); }
.ppa-table td:nth-child(6){ white-space:nowrap; }
.ppa-typ{ font-weight:600; } .ppa-typ.nab{ color:var(--green); } .ppa-typ.pop{ color:var(--blue-link); }
.ppa-ilu{ display:block; font-size:.875rem; color:var(--amber); }
.ppa-form{ display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.ppa-form .full{ grid-column:1 / -1; }
.ppa-ok{ border-left:5px solid var(--green); padding:16px 18px; background:var(--green-bg); border-radius:var(--r-sm); margin-top:14px; }
.ppa-err{ color:var(--red); font-size:1rem; margin-top:10px; font-weight:500; }

/* ---------- Patička ---------- */
.site-footer{ background:var(--blue-deep); color:#DCE7F4; font-size:1rem; }
.footer-top{ padding:48px 0 34px; }
.footer-brand{ display:flex; gap:14px; align-items:center; margin-bottom:24px; }
.footer-brand b{ font-size:1.25rem; font-weight:600; color:#fff; }
.footer-sig{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding:24px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.site-footer h4{ color:#fff; font-size:1.0625rem; margin-bottom:10px; }
.site-footer ul{ list-style:none; margin:0; padding:0; }
.site-footer li{ margin-bottom:8px; }
.site-footer a{ color:#fff; text-decoration:underline; text-decoration-color:rgba(255,255,255,.35); }
.site-footer a:hover{ text-decoration-color:#fff; }
.site-footer .small{ color:#DCE7F4; }
.footer-links{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:26px; padding-top:24px; }
.footer-bottom{ padding:18px 0; font-size:.9375rem; color:#C3D3E6; border-top:1px solid rgba(255,255,255,.12); }
.footer-bottom .container{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* ---------- Responzivita ---------- */
@media (max-width:1100px){
  .art-tiles,.roles{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid-4,.logo-grid,.rv-groups,.org .lvl-4,.stat-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-home{ grid-template-columns:1fr; gap:36px; }
  .art-layout{ grid-template-columns:1fr; }
  .art-side{ position:static; }
}
@media (max-width:880px){
  body{ font-size:1.0625rem; }
  .container{ padding:0 20px; }
  .site-header{ position:static; }
  .main-nav{ display:none; border-top:1px solid var(--line-2); padding-bottom:8px; }
  .main-nav.open{ display:block; }
  .main-nav ul{ flex-direction:column; gap:0; }
  .main-nav a,.main-nav li:first-child a{ padding:14px 4px; border-bottom:1px solid var(--line-2); border-left:4px solid transparent; font-size:1.125rem; }
  .main-nav a.active{ border-bottom-color:var(--line-2); border-left-color:var(--cz-red); padding-left:12px; }
  .nav-toggle{ display:inline-block; }
  .utilbar .lbl{ display:none; }
  .utilbar .container{ justify-content:flex-start; }
  .utilbar nav{ display:flex; flex-wrap:wrap; gap:4px 18px; padding:6px 0; }
  .utilbar a{ margin-left:0; }
  .grid-2,.grid-3,.calc,.kc,.principles,.etika-grid,.footer-sig,.footer-links,.ote-grid,.nkep-box,.ppa-form,.rv-top,.entry{ grid-template-columns:1fr; }
  .entry{ margin-top:24px; }
  .kc > div + div{ border-left:0; border-top:1px solid var(--line); }
  .calc .panel{ padding:22px; }
  .calc .panel.controls{ border-right:0; border-bottom:1px solid var(--line); }
  .aukce-srovnani{ grid-template-columns:1fr; }
  .bar-row{ grid-template-columns:110px 1fr 76px; gap:10px; }
  .mcz-bar{ grid-template-columns:1fr 70px; } .mcz-lbl{ grid-column:1 / -1; }
  .search-wrap{ margin-left:0; width:100%; } .search-wrap input{ min-width:0; width:100%; }
  .section{ padding:52px 0; }
  .hero{ padding:36px 0 32px; }
  .hero-home{ padding-top:36px; padding-bottom:40px; }
  .art-featured{ padding:24px; }
  .cta-band{ padding:26px; }
  .sig-founder .logo-slot{ min-width:0; width:100%; }
}
@media (max-width:600px){
  .art-tiles,.roles,.grid-4,.logo-grid,.rv-groups,.org .lvl-4,.stat-cards,.result-grid,.ote-pair{ grid-template-columns:1fr; }
  h1{ font-size:1.875rem; }
  .lead{ font-size:1.125rem; }
  .mixbar{ height:38px; } .mixbar span{ font-size:.8125rem; }
  .myth > summary{ flex-wrap:wrap; gap:10px; padding:18px; }
  .myth .q{ flex-basis:calc(100% - 40px); }
  .brand .wordmark span{ display:none; }
  .brand .wordmark b{ font-size:1.0625rem; }
  .btn{ width:100%; }
  .cta-row{ flex-direction:column; }
  .doc-list li{ grid-template-columns:1fr; }
  .result.hero-result .rn{ font-size:2rem; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; scroll-behavior:auto !important; } }
@media print{ .utilbar,.site-header,.site-footer,.nav-toggle,.natband{ display:none; } }

@media (max-width:600px){ .mixbar span{ font-size:0; } .mixkey{ flex-direction:column; gap:6px; } }
@media (max-width:700px){
  .mo-svg,#cfd-graf{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .mo-svg svg,#cfd-graf svg{ min-width:640px; }
  .mo-svg::after{ content:"Graf lze posunout do strany"; display:block; font-size:.875rem; color:var(--muted); margin-top:6px; }
  .mo-presets > span,.mo-scen > span{ width:100%; }
}

/* Slovo garantů */
.gs-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gs-card{ margin:0; background:#fff; border:1px solid var(--line); border-top:5px solid var(--blue); border-radius:var(--r); padding:22px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow); }
.gs-card.gs-wait{ border-top-color:var(--blue-200); }
.gs-head{ display:flex; gap:14px; align-items:center; }
.gs-head .crest{ flex:0 0 auto; width:56px; height:56px; border:2px dashed var(--blue-200); border-radius:var(--r-sm); display:grid; place-items:center; font-weight:600; font-size:.9375rem; color:var(--blue); text-align:center; line-height:1.1; }
.gs-head b{ display:block; color:var(--blue); line-height:1.3; }
.gs-head span{ font-size:.9375rem; color:var(--muted); }
.gs-card blockquote{ margin:0; font-size:1.125rem; line-height:1.55; color:var(--ink); }
.gs-pending{ margin:0; color:var(--muted); font-style:italic; }
.gs-card figcaption{ margin-top:auto; border-top:1px solid var(--line-2); padding-top:10px; font-size:1rem; }
.gs-card figcaption b{ display:block; } .gs-card figcaption span{ color:var(--muted); font-size:.9375rem; }
.why{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.why > div{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px; }
.why h3{ color:var(--blue); font-size:1.125rem; }
.why p{ margin:0; font-size:1rem; }
@media (max-width:1100px){ .gs-grid,.why{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .gs-grid,.why{ grid-template-columns:1fr; } }

/* Rada garantů, kraje, materiály, akce */
.rada{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.rada-row{ display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px 16px; }
.rada-row .crest{ flex:0 0 auto; width:48px; height:48px; border:2px dashed var(--blue-200); border-radius:var(--r-sm); display:grid; place-items:center; font-weight:600; font-size:.875rem; color:var(--blue); text-align:center; line-height:1.1; }
.rada-row b{ display:block; color:var(--ink); } .rada-row span{ font-size:.9375rem; color:var(--muted); }
.kraje{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.kraj{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 22px; }
.kraj h3{ color:var(--blue); margin-bottom:8px; }
.kraj dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:1rem; }
.kraj dt{ color:var(--muted); } .kraj dd{ margin:0; }
.event{ display:grid; grid-template-columns:150px 1fr; gap:24px; background:#fff; border:1px solid var(--line); border-left:6px solid var(--cz-red); border-radius:var(--r); padding:26px; box-shadow:var(--shadow); }
.event .date{ font-family:var(--cond); color:var(--blue); line-height:1.1; }
.event .date b{ display:block; font-size:2.75rem; color:var(--blue); }
.event .date span{ font-size:1.125rem; }
.event h3{ color:var(--blue); font-size:1.375rem; }
.dl-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.dl-list li{ display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:var(--r); }
.dl-list b{ display:block; color:var(--blue); } .dl-list span{ font-size:.9375rem; color:var(--muted); }
.tagline{ display:inline-block; font-size:.875rem; font-weight:600; padding:4px 10px; border-radius:999px; background:var(--blue-100); color:var(--blue); }
.tagline.plan{ background:var(--amber-bg); color:var(--amber); }
.tagline.done{ background:var(--green-bg); color:var(--green); }
@media (max-width:880px){ .rada,.kraje{ grid-template-columns:1fr; } .event{ grid-template-columns:1fr; gap:10px; } .dl-list li{ grid-template-columns:1fr; } }

/* ===== v3: ilustrace, loga, srozumitelný úvod ===== */
.what{ display:inline-block; font-size:1rem; font-weight:600; color:var(--blue); background:#fff; border:1px solid var(--blue-200); border-radius:999px; padding:6px 14px; margin:0 0 14px; }
.hero-scene{ margin:0; }
.hero-scene img{ width:100%; height:auto; display:block; border-radius:18px; box-shadow:var(--shadow); }
.mission{ font-size:1.1875rem !important; color:var(--ink); background:var(--blue-50); border-left:5px solid var(--cz-red); border-radius:var(--r-sm); padding:14px 18px; margin-top:6px !important; }
.explain{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.explain a{ display:flex; flex-direction:column; gap:8px; text-decoration:none; color:var(--body); background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow); }
.explain a:hover{ border-color:var(--blue-200); }
.explain img{ width:84px; height:84px; }
.explain h3{ color:var(--blue); font-size:1.375rem; margin:6px 0 0; }
.explain p{ margin:0; font-size:1.0625rem; }
.explain span{ margin-top:auto; padding-top:8px; color:var(--blue-link); font-weight:600; }
.explain a:hover span{ text-decoration:underline; }
.section-tight{ padding:40px 0; }
.h-small{ font-size:1.25rem; margin-bottom:16px; }
.loga-pruh{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.lp{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:14px 10px; }
.lp:hover{ border-color:var(--blue-200); }
.lp span{ font-size:.8125rem; color:var(--body); line-height:1.3; }
.lg{ flex:0 0 auto; width:56px; height:56px; display:grid; place-items:center; background:#fff; border-radius:var(--r-sm); overflow:hidden; }
.lg.lg-w{ width:110px; height:56px; }
.lg img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
.lg b{ display:none; font-weight:600; font-size:.9375rem; color:var(--blue); text-align:center; line-height:1.1; }
.lg.lg-fail{ border:2px dashed var(--blue-200); }
.lg.lg-fail img{ display:none; } .lg.lg-fail b{ display:block; }
.logo-slot .lg{ border:0; } .logo-slot .lg.lg-fail{ border:2px dashed var(--blue-200); }
.facts{ list-style:none; margin:16px 0 0; padding:0; display:grid; gap:14px; }
.facts li{ display:grid; grid-template-columns:64px 1fr; gap:16px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:14px 18px; }
.facts img{ width:64px; height:64px; }
.facts p{ margin:0; font-size:1.0625rem; }
.roles img{ width:60px; height:60px; margin-bottom:10px; }
.art-ill{ display:grid; place-items:center; height:96px; margin:-22px -22px 4px; border-radius:var(--r) var(--r) 0 0; background:linear-gradient(135deg,var(--blue-50),#fff); border-bottom:3px solid var(--tag,var(--blue)); }
.art-ill img{ width:70px; height:70px; }
.art-featured.has-ill{ grid-template-columns:150px 1fr; column-gap:28px; align-items:start; }
.art-featured.has-ill .art-ill{ grid-row:span 4; margin:0; height:150px; border-radius:var(--r); border-bottom:0; border-left:4px solid var(--tag,var(--blue)); }
.art-featured.has-ill .art-ill img{ width:100px; height:100px; }
.art-head-ill{ width:72px; height:72px; display:block; margin-bottom:12px; }
.hero{ background-repeat:no-repeat; background-position:right 10% center; background-size:170px; }
@media (max-width:1100px){ .hero{ background-size:130px; background-position:right 4% center; } }
@media (max-width:880px){ .explain{ grid-template-columns:1fr; } .hero{ background-image:none !important; } .art-featured.has-ill{ grid-template-columns:1fr; } .art-featured.has-ill .art-ill{ grid-row:auto; height:110px; } .hero-scene{ order:-1; } }
@media (max-width:600px){ .facts li{ grid-template-columns:52px 1fr; } .facts img{ width:52px; height:52px; } .loga-pruh{ grid-template-columns:repeat(2,minmax(0,1fr)); } .what{ font-size:.9375rem; } }
.p-energeticky-mix .hero{ background-image:url(../img/il/cena.svg); }
.p-bezpecnost .hero{ background-image:url(../img/il/bezpecnost.svg); }
.p-myty-a-fakta .hero{ background-image:url(../img/il/myty.svg); }
.p-obavy .hero{ background-image:url(../img/il/obavy.svg); }
.p-pro-obce .hero{ background-image:url(../img/il/obce.svg); }
.p-prumysl .hero{ background-image:url(../img/il/prumysl.svg); }
.p-odbornici .hero{ background-image:url(../img/il/lide.svg); }
.p-o-nea .hero{ background-image:url(../img/il/propojeni.svg); }
.p-jak-funguje .hero{ background-image:url(../img/il/propojeni.svg); }
.p-vystupy .hero{ background-image:url(../img/il/smlouva.svg); }
.p-transparentnost .hero{ background-image:url(../img/il/fakta.svg); }
.p-pripady .hero{ background-image:url(../img/il/obce.svg); }
.p-vyzkum .hero{ background-image:url(../img/il/fakta.svg); }
.p-media .hero{ background-image:url(../img/il/svet.svg); }
.p-podnety .hero{ background-image:url(../img/il/obavy.svg); }
.p-akce .hero{ background-image:url(../img/il/lide.svg); }
.p-ke-stazeni .hero{ background-image:url(../img/il/smlouva.svg); }
.p-kraje .hero{ background-image:url(../img/il/obce.svg); }

/* ===== v4: rozcestník podle návštěvníka, sdílení odpovědí ===== */
.rozcestnik{ padding-top:56px; }
.audience{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.aud{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px 26px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:12px; }
.aud.main{ border-top:6px solid var(--blue); }
.aud-head{ display:flex; gap:16px; align-items:center; }
.aud-head img{ width:72px; height:72px; flex:0 0 auto; }
.aud.main .aud-head img{ width:84px; height:84px; }
.aud-who{ display:block; font-size:.9375rem; font-weight:600; color:var(--cz-red); }
.aud h3{ margin:2px 0 0; color:var(--blue); font-size:1.375rem; }
.aud-q{ margin:0; font-size:1.0625rem; color:var(--ink); background:var(--blue-50); border-radius:var(--r-sm); padding:10px 14px; }
.aud-links{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.aud-links a{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border:1px solid var(--blue-200); border-radius:var(--r-sm); text-decoration:none; color:var(--blue); font-weight:600; font-size:1.0625rem; min-height:50px; }
.aud-links a::after{ content:""; width:9px; height:9px; border-right:2.5px solid var(--blue); border-bottom:2.5px solid var(--blue); transform:rotate(-45deg); flex:0 0 auto; }
.aud-links a:hover{ background:var(--blue-100); }
.benefit img{ width:64px; height:64px; margin-bottom:8px; }
.section.dark .btn-outline{ background:#fff; }
.share{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-top:4px; }
.share .btn{ min-height:42px; padding:8px 16px; font-size:1rem; }
.copied{ font-size:.9375rem; color:var(--green); font-weight:600; word-break:break-all; }
.share-tip{ margin-bottom:22px; }
@media (max-width:880px){ .audience{ grid-template-columns:1fr; } .aud-head img,.aud.main .aud-head img{ width:60px; height:60px; } }

/* rozcestník přímo v úvodu */
.hero-home{ padding-top:44px; padding-bottom:44px; }
.hero-home .lead{ margin-bottom:0; }
.pick{ margin:22px 0 10px; font-weight:600; color:var(--ink); font-size:1.125rem; }
.aud-quick{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.aud-quick a{ display:flex; align-items:center; gap:12px; padding:12px 14px; background:#fff; border:2px solid var(--blue-200); border-radius:var(--r); text-decoration:none; color:var(--blue); font-weight:600; font-size:1.0625rem; line-height:1.3; min-height:64px; }
.aud-quick a:nth-child(-n+2){ border-color:var(--blue); }
.aud-quick a:hover{ background:var(--blue-100); }
.aud-quick img{ width:40px; height:40px; flex:0 0 auto; }
.aud:target{ outline:3px solid #F2B705; outline-offset:4px; }
.rozcestnik .aud{ scroll-margin-top:24px; }
@media (max-width:600px){ .aud-quick{ grid-template-columns:1fr; } }

/* ke stažení: fakta */
.dl-cat{ margin:34px 0 12px; color:var(--blue); font-size:1.25rem; display:flex; align-items:center; gap:10px; scroll-margin-top:20px; }
.dl-cat span{ font-size:.875rem; font-weight:600; background:var(--blue-100); color:var(--blue); border-radius:999px; padding:2px 10px; }
.dl-list.fakta li{ align-items:start; }
.dl-list.fakta .tag{ display:inline-block; font-size:.8125rem; font-weight:600; padding:3px 10px; border-radius:999px; margin-bottom:6px; }
.dl-list.fakta b{ color:var(--ink); font-size:1.0625rem; line-height:1.4; margin-bottom:4px; }
.dl-btns{ display:flex; flex-direction:column; gap:8px; }
.dl-btns .btn{ min-height:42px; padding:8px 16px; font-size:1rem; white-space:nowrap; }
.dl-all{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; background:#fff; border:1px solid var(--line); border-left:6px solid var(--blue); border-radius:var(--r); padding:18px 22px; }
.dl-all b{ display:block; color:var(--blue); font-size:1.125rem; } .dl-all span{ font-size:.9375rem; color:var(--muted); }
@media (max-width:880px){ .dl-btns{ flex-direction:row; flex-wrap:wrap; } }

/* ===== v5: zdroje energie, modely ===== */
.main-nav a{ padding-left:9px; padding-right:9px; font-size:1rem; }
.main-nav li:first-child a{ padding-left:0; }
.hero-own{ background-image:none !important; }
.hero-flex{ display:flex; justify-content:space-between; align-items:center; gap:32px; }
.hero-ico{ width:150px; height:150px; flex:0 0 auto; }
.zdroje-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.zdroj-card{ display:flex; flex-direction:column; gap:8px; text-decoration:none; color:var(--body); background:#fff; border:1px solid var(--line); border-top:6px solid var(--c); border-radius:var(--r); padding:22px; box-shadow:var(--shadow); }
.zdroj-card:hover{ border-color:var(--blue-200); border-top-color:var(--c); }
.zdroj-card img{ width:64px; height:64px; }
.zdroj-card h3{ margin:4px 0 0; color:var(--blue); }
.zdroj-card p{ margin:0; font-size:1rem; }
.zdroj-card span{ margin-top:auto; padding-top:6px; color:var(--blue-link); font-weight:600; }
.zdroj-card:hover span{ text-decoration:underline; }
.ntable.cmp td.q{ font-family:var(--cond); font-weight:600; color:var(--ink); }
.flow{ list-style:none; margin:16px 0 20px; padding:0; display:grid; gap:10px; counter-reset:none; }
.flow li{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-left:5px solid var(--c,var(--blue)); border-radius:var(--r-sm); padding:12px 16px; font-weight:500; color:var(--ink); }
.flow li span{ flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font-weight:600; }
.kz{ display:grid; gap:16px; }
.kz > div{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 22px; }
.kz-plus{ border-top:5px solid var(--green) !important; } .kz-minus{ border-top:5px solid var(--red) !important; }
.kz h3{ margin-bottom:6px; }
.ntable.kv th{ width:42%; background:var(--blue-50); color:var(--ink); font-weight:600; }
.rel-myty{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.rel-myty li{ display:flex; justify-content:space-between; align-items:start; gap:12px; background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:10px 14px; }
.rel-myty .tag{ flex:0 0 auto; font-size:.8125rem; font-weight:600; padding:3px 10px; border-radius:999px; }
.src-list{ margin:0; padding-left:1.2em; font-size:.9375rem; } .src-list li{ margin-bottom:6px; }
.ts-row{ margin-bottom:16px; }
.ts-name{ display:flex; align-items:center; gap:8px; font-weight:600; color:var(--ink); margin-bottom:4px; }
.ts-dot{ width:12px; height:12px; border-radius:3px; flex:0 0 auto; }
.ts-bar{ display:flex; align-items:center; gap:10px; }
.ts-bar i{ display:block; height:22px; border-radius:4px; min-width:4px; }
.ts-bar b{ font-family:var(--cond); font-size:1.25rem; color:var(--ink); white-space:nowrap; }
.ts-meta{ font-size:.875rem; color:var(--muted); margin-top:3px; }
.calc.akum{ grid-template-columns:minmax(280px,1fr) 2fr; }
.calc.akum .seg{ flex-wrap:wrap; }
.calc.akum .seg button{ min-width:90px; }
#ak-chart svg{ width:100%; height:auto; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-sm); }
@media (max-width:1100px){ .zdroje-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .calc.akum{ grid-template-columns:1fr; } }
@media (max-width:880px){ .hero-ico{ display:none; } }
@media (max-width:600px){ .zdroje-grid{ grid-template-columns:1fr; } #ak-chart{ overflow-x:auto; } #ak-chart svg{ min-width:620px; } .rel-myty li{ flex-direction:column; } }

/* ===== v6: dnes v energetice, nepravdy, mapa, slovníček ===== */
.dnes-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:18px; }
.dnes-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 22px; box-shadow:var(--shadow); }
.dnes-lbl{ display:block; font-size:.9375rem; font-weight:600; color:var(--muted); }
.dnes-big{ font-family:var(--cond); font-size:2.25rem; font-weight:600; color:var(--blue); line-height:1.15; margin:4px 0 6px; }
.dnes-big small{ font-family:var(--sans); font-size:.9375rem; font-weight:500; color:var(--muted); }
.dnes-mm{ display:flex; gap:20px; font-size:1rem; margin-bottom:8px; }
.dnes-mm .lo{ color:var(--green); font-weight:600; } .dnes-mm .hi{ color:var(--red); font-weight:600; }
.dnes-mm small{ font-weight:400; color:var(--muted); }
.dnes-spark{ width:100%; height:auto; display:block; }
.nep-teaser{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; background:#fff; border:1px solid var(--line); border-left:6px solid var(--c-plyn); border-radius:var(--r); padding:24px 26px; box-shadow:var(--shadow); }
.nep-teaser h3{ color:var(--blue); margin:6px 0 6px; max-width:52ch; }
.nep-teaser .what{ margin:0; }
.reakce-list{ display:grid; gap:18px; }
.reakce-card{ display:block; text-decoration:none; color:var(--body); background:#fff; border:1px solid var(--line); border-left:6px solid var(--c-plyn); border-radius:var(--r); padding:24px 26px; box-shadow:var(--shadow); }
.reakce-card:hover{ border-color:var(--blue-200); border-left-color:var(--c-plyn); }
.reakce-card h3{ color:var(--blue); margin:8px 0 6px; font-size:1.375rem; }
.reakce-card:hover h3{ text-decoration:underline; }
.reakce-card p{ margin:0 0 12px; }
.rc-top{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.rc-tema{ font-size:.9375rem; color:var(--muted); }
.rc-verd{ display:flex; gap:8px; flex-wrap:wrap; }
.rc-more{ display:inline-block; margin-top:12px; color:var(--blue-link); font-weight:600; }
.verdikt{ display:inline-block; font-size:.875rem; font-weight:600; padding:4px 12px; border-radius:999px; white-space:nowrap; }
.v-false{ background:var(--red-bg); color:var(--red); } .v-mis{ background:var(--amber-bg); color:var(--amber); }
.v-unf{ background:#EEF0F3; color:#3E4A59; } .v-ctx{ background:var(--blue-100); color:var(--blue); }
.tvrzeni{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; margin:12px 0; }
.tv-head{ display:flex; gap:12px; align-items:flex-start; margin-bottom:8px; }
.tv-head b{ color:var(--ink); font-size:1.125rem; line-height:1.4; }
.tvrzeni p{ margin:0; font-size:1.0625rem; }
.rel-pdf li{ display:flex; justify-content:space-between; gap:10px; align-items:center; }
.dl-mini{ flex:0 0 auto; font-size:.8125rem; font-weight:600; color:var(--blue); border:1px solid var(--blue-200); border-radius:999px; padding:2px 10px; text-decoration:none; }
.mapa-search{ position:relative; max-width:560px; margin-bottom:18px; }
.mapa-search label{ display:block; font-weight:600; color:var(--ink); font-size:1.125rem; margin-bottom:8px; }
.mapa-search input{ width:100%; padding:14px 16px; font:inherit; font-size:1.125rem; border:2px solid var(--blue-200); border-radius:var(--r-sm); }
.mapa-search input:focus{ border-color:var(--blue); outline:3px solid var(--blue-100); }
.mapa-sug{ list-style:none; margin:4px 0 0; padding:0; position:absolute; left:0; right:0; z-index:1000; background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); box-shadow:var(--shadow); }
.mapa-sug:empty{ display:none; }
.mapa-sug li{ padding:10px 14px; cursor:pointer; border-bottom:1px solid var(--line-2); }
.mapa-sug li span{ color:var(--muted); font-size:.9375rem; margin-left:6px; }
.mapa-sug li:hover,.mapa-sug li.on{ background:var(--blue-100); }
.mapa-layout{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:22px; align-items:start; }
.mapa-map{ height:520px; border:1px solid var(--line); border-radius:var(--r); background:var(--blue-50); }
.mapa-off{ height:100%; display:grid; place-items:center; text-align:center; padding:24px; color:var(--muted); }
.slovnik{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; }
.slovnik > div{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:16px 20px; scroll-margin-top:20px; }
.slovnik > div:target{ outline:3px solid #F2B705; outline-offset:2px; }
.slovnik dt{ font-weight:600; color:var(--blue); font-size:1.125rem; margin-bottom:4px; }
.slovnik dd{ margin:0; }
a.gl{ color:inherit; text-decoration:underline dotted var(--blue-link); text-decoration-thickness:2px; text-underline-offset:.22em; cursor:help; }
a.gl:hover{ color:var(--blue-link); }
@media (max-width:1100px){ .dnes-grid{ grid-template-columns:1fr 1fr; } .dnes-grid .dnes-card:first-child{ grid-column:1 / -1; } }
@media (max-width:880px){ .mapa-layout,.slovnik{ grid-template-columns:minmax(0,1fr); } .mapa-map{ height:340px; } }
.slovnik > div,.slovnik dd,.slovnik dt{ min-width:0; overflow-wrap:anywhere; }
@media (max-width:600px){ .dnes-grid{ grid-template-columns:1fr; } }

.utilbar .container{ flex-wrap:nowrap; }
.utilbar nav{ display:flex; flex-wrap:wrap; justify-content:flex-end; }
.utilbar a[href="nepravdy.html"]{ color:var(--red); font-weight:600; }
@media (max-width:1100px){ .utilbar .lbl{ display:none; } .utilbar .container{ justify-content:flex-end; } }
@media (max-width:880px){ .utilbar .container{ justify-content:flex-start; } .utilbar nav{ justify-content:flex-start; } }
@media (max-width:1180px) and (min-width:881px){ .main-nav a{ font-size:.9375rem; padding-left:7px; padding-right:7px; } }
@media (max-width:1000px) and (min-width:881px){ .main-nav a{ font-size:.875rem; padding-left:5px; padding-right:5px; } }
@media (max-width:920px) and (min-width:881px){ .main-nav a{ font-size:.8125rem; padding-left:4px; padding-right:4px; } }

/* ===== v7: model větru a slunce na mapě ===== */
.vs-ctrl{ display:flex; flex-wrap:wrap; gap:10px 16px; margin-bottom:12px; }
.vs-ctrl label{ font-size:.9375rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:6px; }
.vs-ctrl select{ font:inherit; font-size:.9375rem; padding:6px 8px; border:1px solid #AFC0D4; border-radius:var(--r-sm); background:#fff; }
.vs-h{ margin:18px 0 8px; color:var(--blue); font-size:1.0625rem; }
.vs-tab td,.vs-tab th{ font-size:.9375rem; padding:8px 10px; white-space:nowrap; }
.vs-tab .vs-avg td{ font-weight:600; background:var(--blue-50); }
.vs-tab .vs-lt td{ white-space:normal; background:var(--green-bg); }
.vs-bar{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto; gap:10px; align-items:center; padding:5px 0; font-size:.9375rem; }
.vs-bar .vs-t{ height:14px; background:var(--blue-50); border-radius:4px; overflow:hidden; }
.vs-bar .vs-t i{ display:block; height:100%; background:#8AA6C8; border-radius:4px; }
.vs-bar.ja .vs-t i{ background:var(--cz-blue); }
.vs-bar.ja .vs-n{ font-weight:600; color:var(--ink); }
.vs-bar b{ font-family:var(--cond); white-space:nowrap; }
.vs-ratio{ margin:8px 0 0; font-size:1rem; }
@media (max-width:600px){ .vs-bar{ grid-template-columns:1fr auto; } .vs-bar .vs-t{ grid-column:1 / -1; grid-row:2; } }
#mapa-model{ margin-top:22px; }
.vs-card #vs-out{ display:grid; grid-template-columns:minmax(0,1fr); }
@media (min-width:1000px){ .vs-two{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; } }
.vs-tab td,.vs-tab th{ white-space:normal; }
.vs-tab{ width:100%; }

/* filtr mýtů: zdroj × téma */
#myty-filter{ display:grid; gap:10px; }
.fl-row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.fl-lbl{ font-weight:600; color:var(--ink); min-width:62px; font-size:.9375rem; }
#myty-filter .search-wrap{ margin-left:0; }

/* ===== v8: graf výroby a mapa větrnosti ===== */
.vg-ctrl{ display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin-bottom:8px; }
.vg-rng button,.vg-nav button{ font:inherit; font-size:.9375rem; border:1px solid var(--blue-200); background:#fff; color:var(--blue); border-radius:var(--r-sm); padding:6px 12px; cursor:pointer; }
.vg-rng{ display:flex; gap:6px; }
.vg-rng button.active{ background:var(--blue); color:#fff; border-color:var(--blue); }
.vg-nav{ display:flex; gap:8px; align-items:center; }
.vg-lbl{ font-size:.9375rem; color:var(--ink); min-width:190px; text-align:center; }
.vg-ser{ display:flex; gap:14px; flex-wrap:wrap; font-size:.9375rem; }
.vg-ser label{ display:flex; align-items:center; gap:6px; cursor:pointer; }
.vg-ser i,.vg-tip i{ display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:4px; vertical-align:-1px; }
.vg-wrap{ position:relative; }
.vg-wrap canvas{ width:100%; height:320px; display:block; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-sm); }
.vg-tip{ position:absolute; background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:8px 10px; font-size:.875rem; box-shadow:var(--shadow); pointer-events:none; min-width:170px; }
.vg-note{ font-size:.875rem; color:var(--muted); margin:6px 0 0; }
.vs-heat-lg{ align-items:center; margin:10px 0 0; }
.vs-scale{ display:inline-block; width:140px; height:12px; border-radius:3px; background:linear-gradient(90deg,rgb(232,240,250),rgb(32,70,130)); }
.leaflet-image-layer{ image-rendering:pixelated; }
.vs-head{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:6px; }
.vs-head > div{ background:var(--blue-50); border-radius:var(--r-sm); padding:10px 14px; display:flex; flex-direction:column; gap:4px; }
.vs-head span{ font-size:.875rem; color:var(--muted); }
.vs-head b{ font-family:var(--cond); font-size:1.375rem; color:var(--blue); }
.vs-head select{ font:inherit; font-size:.9375rem; padding:6px 8px; border:1px solid #AFC0D4; border-radius:var(--r-sm); background:#fff; }
.vs-tab tr.vs-old td{ background:#F7F7F2; color:var(--muted); }
@media (max-width:880px){ .vs-head{ grid-template-columns:1fr 1fr; } }

/* ===== v9: akumulace na skutečných datech ===== */
.ak-ctrl{ display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin-bottom:10px; }
.ak-ctrl label{ font-weight:600; color:var(--ink); font-size:.9375rem; display:flex; gap:6px; align-items:center; }
.ak-ctrl select,.ak-ctrl input{ font:inherit; font-size:.9375rem; padding:6px 8px; border:1px solid #AFC0D4; border-radius:var(--r-sm); background:#fff; }
.ak-pres{ display:flex; flex-wrap:wrap; gap:6px; }
.ak-pres button{ font:inherit; font-size:.9375rem; border:1px solid var(--blue-200); background:#fff; color:var(--blue); border-radius:999px; padding:6px 14px; cursor:pointer; }
.ak-pres button.active{ background:var(--blue); color:#fff; border-color:var(--blue); }
#ak-graf svg{ width:100%; height:auto; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-sm); }
.ak-lg{ margin-top:8px; }
.legend i.ln{ height:3px; width:18px; border-radius:0; background:#16304F; vertical-align:3px; }
.legend i.ln.red{ background:#B3141A; } .legend i.ln.dash{ background:repeating-linear-gradient(90deg,currentColor 0 5px,transparent 5px 9px); color:#55657A; height:2px; }
.legend i.ln.red.dash{ color:#B3141A; }
.ak-kpi{ margin-top:14px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.ak-kpi .result.hero-result{ grid-column:auto; }
.ak-kpi .result.hero-result .rn{ font-size:1.5rem; }
.ak-prof{ width:100%; height:auto; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-sm); margin-top:8px; }
@media (max-width:880px){ .ak-kpi{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ #ak-graf{ overflow-x:auto; } #ak-graf svg{ min-width:640px; } .ak-kpi{ grid-template-columns:1fr; } }
.vg-cal{ font:inherit; font-size:.9375rem; padding:5px 8px; border:1px solid #AFC0D4; border-radius:var(--r-sm); background:#fff; }
.vg-nav{ flex-wrap:wrap; }
.vs-head > div.vs-res{ background:var(--blue); } .vs-head > div.vs-res span{ color:#D5E3F3; } .vs-head > div.vs-res b{ color:#fff; }
@media (max-width:1100px){ .vs-head{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* ===== v10: vodík ===== */
:root{ --c-vodik:#2A9D8F; }
.chk{ display:flex; gap:8px; align-items:flex-start; font-size:.9375rem; color:var(--ink); margin-top:10px; }
.calc .ak-pres{ margin:-4px 0 12px; }
.calc .ak-pres button{ font-size:.8125rem; padding:4px 10px; }

/* ===== v11: kalkulačka CfD ===== */
.calc.cfd{ grid-template-columns:minmax(280px,1fr) 1.6fr; }
.calc.cfd .result-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.calc.cfd select{ width:100%; font:inherit; font-size:.9375rem; padding:7px 8px; border:1px solid #AFC0D4; border-radius:var(--r-sm); background:#fff; }
.calc.cfd .seg{ flex-wrap:wrap; }
.calc.cfd .seg button{ min-width:64px; }
.cf-graf{ width:100%; height:auto; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-sm); }
@media (max-width:1000px){ .calc.cfd{ grid-template-columns:1fr; } }
@media (max-width:600px){ .calc.cfd .result-grid{ grid-template-columns:1fr; } }

/* ===== v12: hlavní menu s podmenu ===== */
.main-nav li.has-sub{ position:relative; }
.main-nav li.has-sub > a::after{ content:""; display:inline-block; width:6px; height:6px; margin-left:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-3px); opacity:.6; }
.main-nav .sub{ display:none; position:absolute; top:100%; left:-8px; min-width:250px; list-style:none; margin:0; padding:6px 0; background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); box-shadow:0 10px 28px rgba(17,69,126,.14); z-index:60; flex-direction:column; }
.main-nav li.has-sub:hover > .sub, .main-nav li.has-sub:focus-within > .sub{ display:flex; }
.main-nav .sub li a{ padding:10px 16px !important; font-size:.9375rem !important; font-weight:500; border-bottom:none; white-space:nowrap; }
.main-nav .sub li a:hover{ background:var(--blue-50); border-bottom:none; }
@media (max-width:880px){
  .main-nav li.has-sub > a::after{ display:none; }
  .main-nav .sub{ display:flex; position:static; box-shadow:none; border:none; padding:0 0 6px 14px; min-width:0; background:transparent; }
  .main-nav .sub li a{ padding:10px 4px !important; font-size:1rem !important; border-bottom:1px solid var(--line-2); color:var(--muted); }
}
.cile-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.card.cil{ display:flex; flex-direction:column; gap:6px; text-decoration:none; color:var(--body); }
.card.cil img{ width:52px; height:52px; }
.card.cil h3{ color:var(--blue); margin:4px 0 0; font-size:1.125rem; }
.card.cil p{ margin:0; }
.card.cil span{ margin-top:auto; padding-top:6px; color:var(--blue-link); font-weight:600; font-size:.9375rem; }
.card.cil:hover h3{ text-decoration:underline; }
@media (max-width:1100px){ .cile-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .cile-grid{ grid-template-columns:1fr; } }
.main-nav li.has-sub:last-child .sub{ left:auto; right:0; }
/* ===== v13: obce ===== */
.cesty{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.card.cesta{ display:flex; flex-direction:column; gap:6px; text-decoration:none; color:var(--body); border-top:5px solid var(--blue); }
.card.cesta img{ width:56px; height:56px; }
.card.cesta h3{ color:var(--blue); margin:4px 0 0; }
.card.cesta p{ margin:0; }
.card.cesta span{ margin-top:auto; padding-top:8px; color:var(--blue-link); font-weight:600; }
.card.cesta:hover h3{ text-decoration:underline; }
.ntable.modely td.v{ color:var(--green); font-weight:600; } .ntable.modely td.h{ color:var(--red); font-weight:600; } .ntable.modely td.s{ color:var(--amber); font-weight:600; }
@media (max-width:880px){ .cesty{ grid-template-columns:1fr; } }
/* ===== v14: návrh úvodu ===== */
.hero-uvod h1{ font-size:clamp(2rem,4.2vw,3.1rem); max-width:22ch; }
.cesty-6{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.card.cesta .kdo{ font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--cz-red); }
.kalk-pas{ display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
.kalk-pas a{ background:#fff; border:1px solid var(--blue-200); border-radius:999px; padding:7px 14px; text-decoration:none; color:var(--blue); font-weight:600; font-size:.9375rem; }
.kalk-pas a:hover{ background:var(--blue-50); }
@media (max-width:1000px){ .cesty-6{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .cesty-6{ grid-template-columns:1fr; } }
.loga-pruh .lp-sep{ flex-basis:100%; font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-top:10px; }
/* ===== v15: nový úvod ===== */
.tri-vety{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:22px 0 26px; max-width:1080px; }
.tri-vety div{ background:rgba(255,255,255,.7); border:1px solid var(--line); border-radius:var(--r); padding:14px 16px; font-size:1rem; line-height:1.5; }
.tri-vety b{ color:var(--blue); }
.vystupy6{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.v6{ display:flex; gap:18px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; }
.v6 > span{ font-family:var(--mono,ui-monospace,monospace); font-weight:700; color:var(--blue-link); padding-top:2px; }
.v6 h3{ margin:0 0 4px; font-size:1.0625rem; } .v6 p{ margin:0; }
@media (max-width:880px){ .tri-vety,.vystupy6{ grid-template-columns:1fr; } }
