/*
 * fve-EMS portál — vzhled veřejné prezentace a přihlášení.
 * Tokeny (barvy, písmo, zaoblení) jsou převzaté beze změny z webu EMS (fve-ems, public/fve/assets/styles.css,
 * redesign 24. 10. 2026), aby prezentace i portál vypadaly jako jeden celek. Hex kódy jen v tokenech.
 * Hover: text → akcent, klikací plocha → slabý rámeček. Bez stínů a gradientů.
 */
body{margin:0}
/* Písmo Inter 400/500/600/700 (Google Fonts v index.html), tabulkové číslice */
.ems{
  --bg:#F6F7F9;--sf:#FFFFFF;--sf2:#F1F3F6;--ln:#E3E6EB;--ln2:#CBD1DA;
  --ink:#0E1726;--ink2:#465062;--ink3:#667085;
  --ac:#1D3F8F;--acs:#EAF0FB;--on-ac:#FFFFFF;
  --pv:#D99A06;--ld:#5B6576;--gr:#2F6FDE;--bt:#12946B;
  --ok:#12946B;--warn:#B45309;--err:#C2410C;--warn-s:#FDF3E7;--err-s:#FDECE6;
  --font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs:14.5px;--fs-sm:13px;--fs-xs:11.5px;--fs-kpi:26px;--fs-h1:24px;
  --r-card:14px;--r-pill:999px;--gap:16px;--pad:20px;--tap:44px;
  /* doplňkové datové barvy mimo čtyři hlavní: nabíječky (--ev Solinteg, --ev2 go-e, --ev3 go-e 2), cena OTE (jen stránka Ceny) */
  --ev:#7C3AED;--ev2:#0E7490;--ev3:#4D7C0F;--cena:#B4237A;
  background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs);line-height:1.45;
  font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;color-scheme:light
}
.ems.dark{
  --bg:#0B111C;--sf:#121A28;--sf2:#182235;--ln:#223047;--ln2:#33435E;
  --ink:#EAF0F8;--ink2:#B3BECD;--ink3:#8E9AAD;
  --ac:#8CB0FF;--acs:#1A2742;--on-ac:#0B111C;
  --pv:#F2B530;--ld:#9AA6B8;--gr:#5B9BFF;--bt:#3CCB93;
  --ok:#3CCB93;--warn:#F0A54A;--err:#FF8A65;--warn-s:#2A2113;--err-s:#2C1A15;
  --ev:#B79CFF;--ev2:#5CC8DB;--ev3:#A3D65C;--cena:#F28DC4;
  color-scheme:dark
}
@media (max-width:699px){.ems{--fs-kpi:22px;--fs-h1:20px;--gap:12px;--pad:14px}}
/* Přezdívky starších proměnných → tokeny (jedno místo; hodnoty se dopočítají na <html> pro světlý i tmavý režim).
   Data: Výroba --pv, Spotřeba --ld (--load), Síť --gr (--gridc), Baterie --bt (--soc, --bat). */
.ems{--card:var(--sf);--cardline:var(--ln);--panel2:var(--sf2);--line:var(--ln);--fg:var(--ink);--muted:var(--ink3);--hl:var(--ac);
  --tint:var(--acs);--act:var(--ac);--actfg:var(--on-ac);--focus:var(--ac);--onpv:var(--ink);--onsoc:var(--on-ac);
  --load:var(--ld);--gridc:var(--gr);--soc:var(--bt);--bat:var(--bt);
  --glow:transparent;--glowsoft:transparent;--sunglow:transparent;--dot:transparent;--shadow:none}
.ems{--ramec:var(--ln2)}
.ems *{box-sizing:border-box}
html.ems{min-height:100%}
a{color:var(--ac)}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}

/* hlavička — stále viditelná */
.hlav{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--ln)}
.hlav .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.znacka{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:17px;transition:color .15s}
.znacka:hover{color:var(--ac)}
.znacka img{width:32px;height:32px;border-radius:8px}
.menu{display:flex;gap:18px;margin-left:auto;align-items:center}
.menu a{color:var(--ink2);text-decoration:none;font-weight:500;transition:color .15s}
.menu a:hover{color:var(--ac)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:var(--r-pill);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:color .15s,border-color .15s}
.btn-p{background:var(--ac);color:var(--on-ac)}
.btn-p:hover{outline:1px solid var(--ramec);outline-offset:2px}
.btn-s{background:var(--sf);color:var(--ink);border-color:var(--ln)}
.btn-s:hover{border-color:var(--ramec);color:var(--ac)}
.btn:disabled{opacity:.45;cursor:not-allowed;outline:0}
.rezim{font:inherit;background:var(--sf);color:var(--ink2);border:1px solid var(--ln);border-radius:var(--r-pill);min-height:36px;padding:0 12px;cursor:pointer;transition:color .15s,border-color .15s}
.rezim:hover{color:var(--ac);border-color:var(--ramec)}
.pruh{background:var(--warn-s);color:var(--ink);border-bottom:1px solid var(--ln);font-size:var(--fs-sm)}
.pruh .wrap{padding-top:8px;padding-bottom:8px}

/* oddíly */
section{padding:56px 0;border-bottom:1px solid var(--ln)}
section:last-of-type{border-bottom:0}
h1{font-size:clamp(28px,4vw,44px);line-height:1.12;letter-spacing:-.02em;margin:0 0 16px}
h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.01em;margin:0 0 8px}
.uvod{color:var(--ink2);font-size:17px;max-width:62ch;margin:0 0 24px}
.nad{color:var(--ink3);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.akce{display:flex;flex-wrap:wrap;gap:12px}
.fakta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;color:var(--ink3);font-size:var(--fs-sm)}
.fakta span::before{content:'✓ ';color:var(--ok);font-weight:700}

/* karty — stejná výška řádků v mřížce */
.mriz{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;margin-top:24px}
.karta{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r-card);padding:var(--pad);display:flex;flex-direction:column;gap:8px}
.karta h3{font-size:16.5px;margin:0}
.karta p{color:var(--ink2);margin:0}
.ikona{width:40px;height:40px;border-radius:10px;background:var(--acs);color:var(--ac);display:flex;align-items:center;justify-content:center}
.ikona svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* balíčky */
.balicky{display:grid;gap:var(--gap);grid-template-columns:repeat(3,1fr);margin-top:24px;align-items:stretch}
.balicek{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r-card);padding:var(--pad);display:grid;grid-template-rows:auto auto auto 1fr auto;gap:12px}
.balicek.hlavni{border-color:var(--ac)}
.balicek h3{margin:0;font-size:20px}
.balicek .pro{color:var(--ink3);font-size:var(--fs-sm);min-height:2.9em}
.cena{font-size:var(--fs-kpi);font-weight:700}
.cena small{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--ink3)}
.seznam{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.seznam li{display:flex;gap:8px;align-items:flex-start;color:var(--ink2)}
.seznam li::before{content:'✓';color:var(--ok);font-weight:700}
.seznam li.navic::before{content:'+';color:var(--ac)}

/* tabulka srovnání */
.tab-obal{overflow-x:auto;margin-top:24px;border:1px solid var(--ln);border-radius:var(--r-card)}
table{border-collapse:collapse;width:100%;min-width:620px;background:var(--sf)}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--ln);vertical-align:top}
th{font-size:var(--fs-sm);color:var(--ink3);font-weight:600;background:var(--sf2)}
td.ano{color:var(--ok);font-weight:700}
td.ne{color:var(--ink3)}
tr:last-child td{border-bottom:0}

/* průběh */
.kroky{counter-reset:k;list-style:none;padding:0;margin:24px 0 0;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.kroky li{counter-increment:k;background:var(--sf);border:1px solid var(--ln);border-radius:var(--r-card);padding:var(--pad)}
.kroky li::before{content:counter(k);display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--acs);color:var(--ac);font-weight:700;align-items:center;justify-content:center;margin-bottom:10px}
.kroky b{display:block;margin-bottom:4px}
.kroky span{color:var(--ink2);font-size:var(--fs-sm)}

/* bublina „i“ */
.info{position:relative;display:inline-flex}
.info button{font:inherit;font-size:11px;font-weight:700;width:18px;height:18px;border-radius:50%;border:1px solid var(--ln2);background:var(--sf);color:var(--ink3);cursor:pointer;padding:0;transition:color .15s,border-color .15s}
.info button:hover,.info button[aria-expanded=true]{color:var(--ac);border-color:var(--ac)}
.info .bub{display:none;position:absolute;z-index:20;top:calc(100% + 6px);left:-8px;width:min(300px,80vw);padding:10px 12px;border-radius:12px;background:var(--sf);border:1px solid var(--ln2);color:var(--ink2);font-size:var(--fs-sm);font-weight:400;line-height:1.45}
.info button[aria-expanded=true]+.bub{display:block}

/* značky */
.znacky{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.stitek{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-pill);background:var(--sf);border:1px solid var(--ln);font-weight:600}
.stitek i{font-style:normal;font-size:var(--fs-xs);font-weight:600;color:var(--ink3)}
.stitek.pripravujeme{color:var(--ink2)}

/* otázky */
details{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r-card);padding:14px var(--pad);margin-top:10px;transition:border-color .15s}
details:hover{border-color:var(--ramec)}
summary{cursor:pointer;font-weight:600;transition:color .15s}
summary:hover{color:var(--ac)}
details p{color:var(--ink2);margin:10px 0 0}

/* schéma v úvodu */
.schema{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r-card);padding:12px}
.schema svg{width:100%;height:auto;display:block}
.schema .uzel{fill:var(--sf2);stroke:var(--ln2);stroke-width:1.5}
.schema .uzel-ems{fill:var(--acs);stroke:var(--ac);stroke-width:1.5}
.schema text{font-family:var(--font);fill:var(--ink);font-size:14px;font-weight:600}
.schema .pod{fill:var(--ink3);font-size:12px;font-weight:500}
.schema .cara{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:1 10;animation:tok 1.2s linear infinite}
.schema .c-pv{stroke:var(--pv)}.schema .c-bt{stroke:var(--bt)}.schema .c-ld{stroke:var(--ld)}.schema .c-gr{stroke:var(--gr)}.schema .c-ems{stroke:var(--ac);stroke-dasharray:4 6}
@keyframes tok{to{stroke-dashoffset:-22}}

/* přihlášení */
.prihl{display:grid;place-items:start center;padding:48px 0 80px}
.formular{width:min(440px,100%);background:var(--sf);border:1px solid var(--ln);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:16px}
.prepinac{display:flex;gap:2px;padding:3px;border-radius:var(--r-pill);background:var(--sf2);border:1px solid var(--ln)}
.prepinac button{flex:1;font:inherit;font-weight:600;font-size:var(--fs-sm);min-height:36px;border:0;border-radius:var(--r-pill);background:none;color:var(--ink2);cursor:pointer;transition:color .15s}
.prepinac button:hover{color:var(--ac)}
.prepinac button[aria-selected=true]{background:var(--ac);color:var(--on-ac)}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:var(--fs-sm)}
input[type=email],input[type=password],input[type=text]{font:inherit;color:var(--ink);background:var(--sf2);border:1px solid var(--ln);border-radius:12px;padding:10px 12px;min-height:44px}
input:disabled{opacity:.6}
.pozn{color:var(--ink3);font-size:var(--fs-sm)}
.upoz{background:var(--warn-s);border:1px solid var(--ln);border-radius:12px;padding:12px 14px;font-size:var(--fs-sm)}
.zpet{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);text-decoration:none;font-weight:600;transition:color .15s}
.zpet:hover{color:var(--ac)}

.pata{padding:28px 0 40px;color:var(--ink3);font-size:var(--fs-sm)}
.pata .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

:focus-visible{outline:2px solid var(--ac);outline-offset:3px}
@media (max-width:900px){.hero{grid-template-columns:1fr}.balicky{grid-template-columns:1fr}.balicek .pro{min-height:0}}
@media (max-width:760px){.menu a.skryt{display:none}}
@media (prefers-reduced-motion:reduce){.ems *{transition:none!important}.schema .cara{animation:none}}
.odsaz{margin-top:16px}
.formular-telo{display:flex;flex-direction:column;gap:16px}.formular-telo[hidden]{display:none}
/* oprava po náhledu 10. 11. 2026: barva tlačítka v nabídce, zalamování na mobilu, rovnoměrné mřížky */
.menu a.btn-p{color:var(--on-ac)}
.menu a.btn-p:hover{color:var(--on-ac)}
.znacka{white-space:nowrap}
.rezim{white-space:nowrap}
.mriz{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.kroky{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
@media (max-width:760px){.rezim .pre{display:none}.hlav .wrap{gap:12px}.menu{gap:10px}.btn{padding:0 16px}}
/* oddíl Přetoky: dvě karty vedle sebe, na mobilu pod sebou */
.mriz.dve{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.karta .seznam{margin-top:4px}
.karta .pozn{margin-top:auto;padding-top:8px;font-weight:600}
