/* ============================================================
   RychláHypo konfigurátor — MOSTNÍ DESIGN VRSTVA (design-only)
   Načíst PO inline <style> a PO hypo.css. Přemapuje staré tokeny
   na nový paper/ink systém, přebije klíčové třídy, zabije AI-look.
   Nulový zásah do logiky (jen vzhled).
   ============================================================ */

/* ---------- TOKEN REMAP (kvalifikovaný selektor kvůli specificitě inline [data-theme]) ---------- */
:root[data-theme="light"], :root[data-theme="dark"], :root{
  --bg:#FBF4E9; --bg-alt:#F6ECDC; --card:#FFFCF6; --card-border:#E7DAC6; --line:#E7DAC6;
  --input-border:#D8C6AC;
  --text:#241A12; --text-muted:#5A4228; --text-dim:#8A7154;
  --accent:#4E7D1B; --accent-hover:#3C6114; --accent-rgb:78,125,27;      /* data: dobré/levné/výsledek */
  --accent2:#E0561A; --accent2-hover:#C4470F; --accent2-rgb:224,86,26;   /* akce: CTA/interakce */
  --green:#4E7D1B; --red:#C0341A; --yellow:#C9A21E;
  --grad:none; --grad-soft:#EEF3E2;
  --glow-o:transparent; --glow-g:transparent; --halo:none;
  --shadow:0 1px 2px rgba(36,26,18,.05), 0 4px 14px rgba(36,26,18,.06);
}

/* papírové pozadí bez radiálních glow prasátek */
body{ background:var(--paper) !important;
  background-image:linear-gradient(180deg,#FFF8EE 0%, var(--paper) 24%) !important; color:var(--ink); }

/* data = mono tabulkové číslice napříč appkou */
.rbig,.slider-val,.numinput,.group-num,.group-live,.cs-val,.afford-big,.mini-val,.lp-v,
.crumb-step,.rrow,.afc-v,.res-disc,.rdet .drow,.sumtab td,.sumtab th{
  font-family:var(--font-mono); font-variant-numeric:tabular-nums;
}

/* ---------- CHROME ---------- */
.header{ position:sticky; top:0; background:rgba(251,244,233,.85); backdrop-filter:blur(12px) saturate(1.1);
  -webkit-backdrop-filter:blur(12px) saturate(1.1); border-bottom:1px solid var(--hairline);
  box-shadow:0 6px 24px -16px rgba(36,26,18,.3); }
.logo{ font-family:var(--font-display); font-weight:600; font-size:1.5rem; letter-spacing:-.02em; }
.logo-hypo{ color:var(--ink); } .logo-agent{ color:var(--green); }
.header-subtitle{ color:var(--ink-dim); }
.header-nav a{ font-family:var(--font-body); font-weight:500; color:var(--ink-muted); }
.header-nav a:hover{ color:var(--ink); }
.nav-cta{ background:var(--orange) !important; color:#fff !important; }
.hamburger span{ background:var(--ink); }

/* flowbar / progress → hairline editorial */
.flowbar{ background:rgba(251,244,233,.7); backdrop-filter:blur(8px); border-bottom:1px solid var(--hairline); }
.progress{ height:2px; background:var(--hairline); }
.progress-fill,#progressFill{ background:var(--green); }
.section-crumb{ background:transparent !important; border-bottom:1px solid var(--hairline) !important; }
.section-crumb,.crumb,.crumb-step,.crumb-name{ font-family:var(--font-mono);
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-dim); }
.section-crumb .crumb-step{ color:var(--green-deep); }
.section-crumb .crumb-sep{ color:var(--ink-dim); }
.section-crumb .crumb-name{ color:var(--ink-muted); }
.advisor-fab:hover,#advisorFab:hover{ background:var(--paper-2); }

/* back button → ghost */
.btn-back,#backBtn{ background:var(--card, #FFFCF6); color:var(--ink); border:1px solid var(--hairline-strong);
  box-shadow:0 2px 10px rgba(36,26,18,.08);   /* fixní tlačítko pluje nad textem patičky — nesmí být průhledné */
  border-radius:var(--r-sm); }
.btn-back:hover,#backBtn:hover{ border-color:var(--ink); }

/* advisor FAB + panel → hairline, mono, bez maskota */
.advisor-fab,#advisorFab{ border-radius:var(--r-sm); background:var(--surface);
  border:1px solid var(--hairline-strong); color:var(--ink); box-shadow:var(--shadow-1); }
.advisor-fab img[src*="maskot"]{ display:none; }
.advisor-panel{ background:var(--surface); border-left:1px solid var(--hairline); border-radius:0; }
.amsg.bot{ background:var(--green-soft); color:var(--ink); }
.amsg.user{ background:var(--paper-2); color:var(--ink); }
.advisor-input input{ border:1px solid var(--hairline-strong); background:var(--surface); color:var(--ink); }
.advisor-input input:focus{ border-color:var(--orange); outline:none; }
.adot{ background:var(--ink-dim); }

/* footer → homepage band */
.footer-wrap .footer{ border-top:1px solid var(--hairline); background:var(--paper-2);
  color:var(--ink-dim); }
.footer a{ color:var(--ink-muted); } .footer a:hover{ color:var(--green-deep); }
.footer strong{ color:var(--ink-muted); }

/* ---------- AI-LOOK KILL-LIST ---------- */
#fxCanvas{ display:none !important; }                                  /* konfety */
.scene-hero::before{ display:none !important; }                        /* halo */
.scene-hero.celebrate{ animation:none !important; }
.cheer{ display:none !important; }                                     /* cheer emoji pill */
.scene-hero img[src*="maskot"], .sec-lead img[src*="maskot"],
.ai-note img[src*="maskot"], .lead-cta img[src*="maskot"]{ display:none !important; }  /* maskot */
/* ztlumit clay 3D PNG ikony než dorazí linkové (fáze 2) */
.scene-hero img, .card img, .grl-ico img, .chip-ico img{ filter:saturate(.5) contrast(1.02); }
/* duhové gradient texty → plná barva */
.scene-q strong, .reveal-title.celebrate, .afford-big{
  background:none !important; -webkit-background-clip:border-box !important;
  -webkit-text-fill-color:currentColor !important; }

/* ---------- SDÍLENÉ WIDGETY ---------- */
.scene-q{ font-family:var(--font-display); font-weight:500; letter-spacing:-.02em; color:var(--ink); }
.scene-q strong{ color:var(--green); font-style:italic; font-weight:500; }
.scene-sub{ color:var(--ink-muted); }

.card{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md);
  box-shadow:none; transition:border-color .18s, box-shadow .2s, transform .18s var(--ease); }
.card:hover{ border-color:var(--hairline-strong); box-shadow:var(--shadow-1); transform:translateY(-1px); }
.card.sel{ border-color:var(--orange); box-shadow:0 0 0 1px var(--orange), var(--shadow-1); }
.card-label{ font-family:var(--font-display); font-weight:600; color:var(--ink); }
.card-desc{ color:var(--ink-dim); font-size:.82em; }  /* v22: decentnější — ikona + label vedou */

.chip{ background:var(--surface); border:1px solid var(--hairline-strong); border-radius:999px; color:var(--ink-muted); }
.chip:hover{ border-color:var(--orange); color:var(--ink); }
.chip.sel-chip, .chip.on{ background:var(--orange-soft); border-color:var(--orange); color:var(--orange-deep); }

.slider-val{ color:var(--ink); } .slider-val .u{ color:var(--ink-dim); }
.range{ accent-color:var(--green); }
.range::-webkit-slider-thumb{ background:var(--green); border:2px solid var(--surface); box-shadow:var(--shadow-1); }
.range::-moz-range-thumb{ background:var(--green); border:2px solid var(--surface); }
.slider-hint{ font-family:var(--font-mono); font-size:var(--fs-micro); color:var(--ink-dim); }

.numinput{ background:var(--surface); border:1px solid var(--hairline-strong); color:var(--ink); }
.numinput:focus{ border-color:var(--orange); outline:none; }
.btn-skip{ color:var(--ink-dim); background:none; border:0; }

.group-row{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); }
.grl-main{ color:var(--ink); font-weight:600; } .grl-sub{ color:var(--ink-muted); }
.group-toggle{ border:1px solid var(--hairline-strong); background:var(--paper); color:var(--ink-muted); }
.group-toggle.on{ background:var(--green); color:#fff; border-color:var(--green); }
.group-live{ color:var(--green-deep); }

.describe-link{ color:var(--ink-dim); font-size:.85em; opacity:.8; }  /* v22: ztlumené — je pod každým krokem, nemá krást pozornost */
.freetext-panel, .freetext{ background:var(--surface); border:1px solid var(--hairline-strong); color:var(--ink); }
.freetext:focus{ border-color:var(--orange); outline:none; }
.freetext-status.ok{ color:var(--green-deep); } .freetext-status.err{ color:var(--red); }

.msel-opt{ background:var(--surface); border:1px solid var(--hairline); }
.msel-opt.on{ border-color:var(--green); background:var(--green-soft); }
.msel-box{ border:1px solid var(--hairline-strong); }
.msel-opt.on .msel-box{ background:var(--green); border-color:var(--green); }
.msel-l{ color:var(--ink); } .msel-detail{ color:var(--ink-muted); }

/* .btn — nejčastější prvek → homepage .btn-primary (oranžová akce) */
.btn{ background:var(--orange); color:#fff; border:1px solid transparent; border-radius:var(--r-sm);
  box-shadow:0 8px 20px -10px rgba(224,86,26,.7); }
.btn:hover{ background:var(--orange-deep); color:#fff; transform:translateY(-1px); }
@media (prefers-reduced-motion:reduce){ .btn:hover, .card:hover{ transform:none; } }

/* ---------- INTRO — rozbít 3 stejné kartičky asymetrií ---------- */
/* otázky vertikálně vycentrované ve viewportu (fokus, ne přilepené nahoře);
   „safe" → dlouhý obsah (výsledky) se nezařízne, spadne na top-align */
.game{ justify-content:safe center; }
/* dominantní 1. karta JEN na úvodní obrazovce (.cards-intro), ne u každé otázky */
.cards-intro{ grid-template-columns:1.35fr 1fr; align-items:stretch; }
.cards-intro > .card:first-child{ grid-row:span 2; }
.cards-intro > .card:first-child .card-label{ font-size:1.5rem; }
.intent-hint{ font-family:var(--font-mono); font-size:var(--fs-micro); color:var(--ink-dim); letter-spacing:.06em; }

/* ---------- LIVE-PREVIEW / KAPITOLY / VERDIKT ---------- */
.sec-lead{ font-family:var(--font-display); color:var(--ink); font-weight:400; }
.live-preview, .lp-i{ font-family:var(--font-mono); color:var(--ink-muted); }
.lp-v{ color:var(--ink); } .lp-v.bad{ color:var(--red); } .lp-v.warn{ color:var(--amber); }
.mini-results, .verdict{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); }
.mini-row.top, .mini-val{ color:var(--green-deep); }
.mini-ok{ color:var(--green); } .mini-no{ color:var(--orange-deep); }
.verdict-row.warn .vi{ color:var(--amber); } .verdict-row.bad .vi{ color:var(--red); }

/* ---------- CALC — odškrtávací pásek ---------- */
.calc-ring{ border:2px solid var(--hairline); border-top-color:var(--green); }
.calc-txt, .cs-txt{ font-family:var(--font-mono); color:var(--ink-muted); letter-spacing:.02em; }
.cstep{ border-bottom:1px solid var(--hairline); }
.cs-ico{ color:var(--ink-dim); }
.cstep.done .cs-ico{ color:var(--green); }
.cs-val{ color:var(--green-deep); font-weight:500; }
.calc-dots span{ background:var(--ink-dim); }

/* ---------- VÝSLEDKY — žebříček (the wow) ---------- */
.reveal-title{ font-family:var(--font-display); color:var(--ink); }
.reveal-title.celebrate{ color:var(--green-deep); }
.reveal-sub{ color:var(--ink-muted); }
.ai-note{ background:var(--green-soft); border:1px solid var(--hairline); border-radius:var(--r-md); color:var(--ink-muted); }

.sumbox{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-lg); box-shadow:var(--shadow-1); }
.sum-best{ background:var(--green-soft); }
.sum-best td{ color:var(--green-deep); font-weight:600; }
.sum-off{ opacity:.55; }
.sb.ok{ color:var(--green); } .sb.no{ color:var(--orange-deep); }
.sum-spread strong, .fx-best{ color:var(--green-deep); }
.fx-best{ background:var(--green-soft); }

/* bar stropů → plná zelená místo duhy */
.lbar-fill{ background:var(--green); }
.lbar.bind .lbar-fill{ background:var(--green-deep); }
.lbar-track{ background:rgba(36,26,18,.06); }
.lbar-tag{ background:var(--green); color:#fff; }

/* karty bank */
.rcard{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); box-shadow:var(--shadow-1); }
.rcard.best{ border-color:var(--green); box-shadow:0 0 0 1px var(--green), var(--shadow-1); }
.rbank{ color:var(--ink); }                          /* BUG FIX (byl #fff) */
.tag{ background:var(--green); color:#fff; }
.badge.ok{ background:var(--green-soft); color:var(--green-deep); }
.badge.no{ background:var(--orange-soft); color:var(--orange-deep); }
/* číslo v kartě: zelené jen u vítěze (jinak ink) — jinak i nejhorší/zamítnutá banka svítila zeleně jako výherce */
.rbig{ color:var(--ink); } .rcard.best .rbig{ color:var(--green-deep); } .rbig .u{ color:var(--ink-dim); } .rbig-l{ color:var(--ink-muted); }
.rrow{ color:var(--ink-muted); } .rwhy{ color:var(--ink-muted); } .rwarn{ color:var(--amber); }
.rdet summary{ font-family:var(--font-mono); color:var(--ink-muted); }
.rdet-body, .rdet-sec{ border-color:var(--hairline); }
.drow.dsum{ color:var(--ink); }
.tpass{ color:var(--green-deep); } .tfail{ color:var(--red); }

/* mód A (kolik půjčí) */
.afford{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-lg); }
.afford-big{ color:var(--green-deep); font-family:var(--font-display); }
.afltv{ border:1px solid var(--hairline-strong); color:var(--ink-muted); }
.afltv.on{ background:var(--green); color:#fff; border-color:var(--green); }

/* mód C (prověření nemovitosti) */
.prop-ltv{ background:var(--green-soft); }
.nearfix{ background:var(--orange-soft); }
/* CTA hierarchie: JEDNO primární (lead-btn dole, plná oranžová). Sekundární akce (nearfix, upsell) = ztlumené outline. */
.nearfix-btn, .upsell .btn{ background:transparent; color:var(--orange-deep); border:1px solid var(--orange); box-shadow:none; }
.nearfix-btn:hover, .upsell .btn:hover{ background:var(--orange-soft); }
/* property žebříček: orientační sazba + způsob sjednání (odliší banky se shodným LTV) */
.lrow-sub{ font-family:var(--font-mono); font-size:.72rem; color:var(--ink-dim); margin:-2px 0 6px; letter-spacing:.01em; }
.lrow-sub strong{ color:var(--ink-muted); font-weight:600; }

/* what-if / tipy */
.whatif, .wtile, .mtips, .mtip{ background:var(--surface); border:1px solid var(--hairline); }
.wtile-b strong, .mtip strong{ color:var(--green-deep); }

/* lead / CTA / kontakt */
.lead-cta{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-lg); }
.lead-cta strong{ color:var(--green-deep); }         /* BUG FIX (byl #fff) */
.lead-head{ font-family:var(--font-display); color:var(--ink); }
.perks li::before{ color:var(--green); }
.lead-btn{ background:var(--orange); color:#fff; }
.restart{ color:var(--ink-dim); background:none; border:0; }
.res-disc{ font-size:var(--fs-micro); color:var(--ink-dim); }

.cf-input{ background:var(--surface); border:1px solid var(--hairline-strong); color:var(--ink); }
.cf-input:focus{ border-color:var(--orange); outline:none; }
.cf-label{ color:var(--ink-muted); }
.cf-section{ border-top:1px solid var(--hairline); }

/* ---------- MOTION ---------- */
.rcard-reveal{ animation:none; opacity:1; }          /* tichý reveal místo pop-bounce */
@media (prefers-reduced-motion:reduce){ *{ animation-duration:.001ms !important; } }

/* ============================================================
   POLISH pass (review → 10/10): dorazit AI-look, entrance, a11y
   ============================================================ */
/* maskot dorazit (chat hlavička + success reveal) — clay pryč, JEN Jan zůstává */
.advisor-panel .advisor-top img[src*="maskot"], #advisorFab img[src*="maskot"]{ display:none !important; }
.reveal-head img{ display:none !important; }                 /* headline nese Fraunces, ne clay */

/* ---------- REÁLNÝ PORADCE JAN (místo clay maskota) ---------- */
.advisor-fab, #advisorFab{ display:inline-flex; align-items:center; gap:9px; padding-left:7px; }
.advisor-fab-ava{ width:30px; height:30px; border-radius:50%; object-fit:cover; flex:0 0 auto;
  filter:none !important; }
.advisor-top{ display:flex; align-items:center; gap:11px; }
.advisor-close{ margin-left:auto; }
.advisor-ava{ width:42px; height:42px; border-radius:50%; object-fit:cover; flex:0 0 auto;
  border:1px solid var(--hairline-strong); filter:none !important; }
.advisor-ava.sm{ width:34px; height:34px; }
.advisor-id{ display:flex; flex-direction:column; line-height:1.18; }
.advisor-id b{ font-family:var(--font-display); font-weight:500; font-size:1rem; color:var(--ink); }
.advisor-id span{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--ink-dim); }
/* Jan avatar v lead-CTA a AI-poznámce (přebíjí clay-silueta filtr) */
.lead-head img.advisor-ava, .ai-note img.advisor-ava{ display:block !important;
  filter:none !important; align-self:start; margin-top:2px; }
/* nástroje poradce: tenké ikony místo emoji 📄/🔗 */
.atool{ display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.atool svg{ width:16px; height:16px; flex:0 0 auto; }

/* ============================================================
   LINE IKONY (Lucide sprite) — nahrazují clay 3D PNG (v11)
   ============================================================ */
.ic{ display:inline-block; flex:0 0 auto; vertical-align:middle; overflow:visible;
  fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
/* chapter hero — velká, klidná, tenký tah, bez clay stínu/floatu */
.scene-hero{ animation:none !important; filter:none !important; }
.scene-hero .ic{ width:46px; height:46px; stroke-width:1.4; color:var(--green-deep); }
/* v22: barevný kroužek kapitoly za hero ikonou (tón kapitoly = jemné oživení) */
.scene-hero{ width:116px; height:116px; margin:0 auto 6px; border-radius:50%;
  background:var(--chap-soft, #EEF3E2); display:flex; align-items:center; justify-content:center; transition:background .35s ease; }
/* crumb „Kapitola X/N" v tónu kapitoly (dřív vždy zelený) */
.section-crumb, #sectionCrumb{ color:var(--chap-hue, var(--green-deep)) !important; }
/* intro / volba (karta) — fokální brand zelená */
.card .ic.card-ic{ width:34px; height:34px; stroke-width:1.5; color:var(--green-deep); margin-bottom:2px; }
/* malé inline ikony (chip / řádek / multiselect) — decentní inkoust, text vede */
.chip .ic.chip-ico{ width:17px; height:17px; margin-right:8px; vertical-align:-3px; color:var(--ink-muted); }
.chip.sel-chip .ic.chip-ico{ color:var(--green-deep); }
.ic.grl-ico{ width:21px; height:21px; color:var(--ink-muted); }
.ic.msel-ico{ width:21px; height:21px; color:var(--ink-muted); }
.msel-clean .ic.msel-ico{ color:var(--green-deep); }

/* ---- VÝSLEDKY: vizuální bar-race žebříček (reuse .lrow z hypo.css, „signature" jako hero) ---- */
.reslad{ display:flex; flex-direction:column; gap:15px; }
.reslad-h{ font-family:var(--font-mono); font-size:var(--fs-micro); letter-spacing:.09em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:3px; }
.reslad .lrow-rate{ font-weight:600; white-space:nowrap; }
.reslad .lrow:nth-child(2) .lrow-bar{ animation-delay:.08s }
.reslad .lrow:nth-child(3) .lrow-bar{ animation-delay:.16s }
.reslad .lrow:nth-child(4) .lrow-bar{ animation-delay:.24s }
.reslad .lrow:nth-child(5) .lrow-bar{ animation-delay:.32s }
.reslad .lrow:nth-child(6) .lrow-bar{ animation-delay:.40s }

/* ============================================================
   v16 — DESIGN-KRITIKA FIXY (multi-lens review)
   ============================================================ */
/* footer: prostor pro fixní „Zpět" (nepřekrývat odkazy) + boční padding na mobilu */
.footer-wrap .footer{ padding-bottom:74px; }
@media (max-width:560px){ .footer-wrap .footer{ padding-left:20px; padding-right:20px; } }
/* chipy: pohodlnější dotykový cíl (≥48px) */
.chip{ min-height:48px; display:inline-flex; align-items:center; }
/* loading: procesní věty běžným písmem (mono jen na data vpravo) */
.cs-txt{ font-family:var(--font-body) !important; letter-spacing:0 !important; }
/* karty otázek: obsah svisle vycentrovaný → nestejně dlouhé titulky zůstanou vyvážené (ne u úvodní dominantní) */
.cards:not(.cards-intro) .card{ justify-content:center; }

/* v44 (2026-08-12, Jeňa: „dolaď vizuální detaily"): jednotný rytmus karet odpovědí.
   Ikona sedí na krémovém kolečku (stejná optika pro všechny — některé v8 obrázky mají
   vlastní kroužek, jiné ne), karty v jedné mřížce mají stejnou minimální výšku, takže
   řada s popiskem neroztahuje sousedy do prázdna. */
.cards:not(.cards-intro) .card{ min-height:150px; padding-top:16px; }
.cards:not(.cards-intro) .card img{
  width:56px; height:56px; padding:11px; box-sizing:content-box;
  background:var(--bg-alt); border:1px solid var(--hairline); border-radius:50%;
}
.cards:not(.cards-intro) .card-label{ line-height:1.25; }
.cards:not(.cards-intro) .card-desc{ max-width:17ch; margin:0 auto; }
@media (max-width:640px){
  .cards:not(.cards-intro) .card{ min-height:128px; }
  .cards:not(.cards-intro) .card img{ width:44px; height:44px; padding:9px; }
}
/* výsledky/loading headline → editorialní vzorec (tmavý ink + zelené kurzívní klíčové slovo) */
.reveal-title.celebrate{ color:var(--ink) !important; background:none !important; -webkit-text-fill-color:currentColor !important; }
.reveal-title strong, .calc-txt strong{ color:var(--green-deep); font-style:italic; font-weight:inherit; }
/* range slider: vybarvená „vyplněná" část (zelená) vs zbytek (přebíjí tmavý track z dark-theme) */
.range{ background:linear-gradient(to right, var(--green) 0 var(--fill,50%), var(--hairline-strong) var(--fill,50%) 100%) !important; }
/* KONFIGURÁTOR: primární tlačítka na STŘED (hypo.css .btn=inline-flex jinak zarovná doleva) */
.scene-body .btn, .lead-cta .btn, .lead-cta .lead-btn, .upsell .btn, .nearfix .btn, .cf-form .btn{
  display:flex !important; width:100%; max-width:440px; margin-left:auto !important; margin-right:auto !important; justify-content:center; }
/* dlouhé CTA (upsell „Doplnit podrobnosti…", nearfix) MUSÍ zalomit uvnitř tlačítka — hypo.css .btn má white-space:nowrap, jinak text přeteče ven */
.upsell .btn, .nearfix .btn{ white-space:normal !important; height:auto; min-height:52px; line-height:1.3; padding-top:13px; padding-bottom:13px; text-align:center; }
/* numWidget: vstup + tlačítko stacknout svisle na střed (ne tlačítko vpravo od inputu) */
.numrow{ display:flex !important; flex-direction:column !important; align-items:center; gap:14px; }
.numrow .numinput{ width:100%; max-width:440px; flex:none; }
/* „Spočítat znovu" a podobné ghost akce na střed */
.restart, .btn-skip{ display:block; margin-left:auto; margin-right:auto; }
/* clay 3D → ploché ink siluety (zabije lesk i objem) */
.scene-hero img, .card img, .grl-ico img, .chip-ico img, .msel-ico img{
  filter:grayscale(1) brightness(0) opacity(.46) !important; }
/* v22: barevné ploché ilustrace (img.ic) — plná barva (žádný grayscale/saturate filtr), výraznější než line ikony */
.scene-hero img.ic, .card img.ic, .chip img.ic, img.ic.grl-ico, img.ic.msel-ico{ filter:none !important; opacity:1 !important; object-fit:contain; }
.scene-hero img.ic{ width:72px !important; height:72px !important; }
.card img.ic.card-ic{ width:54px !important; height:54px !important; margin-bottom:6px; }
.chip img.ic.chip-ico{ width:26px !important; height:26px !important; vertical-align:-7px; }
img.ic.grl-ico, img.ic.msel-ico{ width:30px !important; height:30px !important; }
/* intro: index číslo místo ikony */
.card-idx{ display:block; font-family:var(--font-display); font-weight:500; font-size:2.2rem; line-height:1;
  color:var(--hairline-strong); margin-bottom:6px; letter-spacing:-.02em; }
/* mobil: intro na 1 sloupec */
@media (max-width:560px){
  .cards-intro{ grid-template-columns:1fr !important; }
  .cards-intro > .card:first-child{ grid-row:auto !important; }
}
/* loading „Porovnávám 6 bank" vertikálně vycentrovat */
.calc{ min-height:54vh; display:grid; place-content:center; }
/* checklist: víc místa, ať se dlouhá hodnota (výčet bank) neláme do levého textu */
.calc-steps{ max-width:520px !important; }
.cstep{ gap:18px !important; }
.cstep .cs-val{ max-width:48% !important; }
/* výsledky — entrance (staggered fade-up + bary rostou) */
.rcard{ opacity:0; transform:translateY(14px); animation:rcardIn .5s var(--ease) both; }
.results .rcard:nth-child(1){ animation-delay:.05s } .results .rcard:nth-child(2){ animation-delay:.12s }
.results .rcard:nth-child(3){ animation-delay:.19s } .results .rcard:nth-child(4){ animation-delay:.26s }
.results .rcard:nth-child(5){ animation-delay:.33s } .results .rcard:nth-child(6){ animation-delay:.40s }
@keyframes rcardIn{ to{ opacity:1; transform:none; } }
.lbar-fill{ transform-origin:left; animation:lbarGrow .8s var(--ease) both; }
@keyframes lbarGrow{ from{ transform:scaleX(0) } to{ transform:scaleX(1) } }
/* hint/preview = body font (mono jen na data, ne na prózu) */
.intent-hint{ font-family:var(--font-body) !important; text-transform:none; letter-spacing:0; }
/* progress: skrýt „pahýl" dokud nezačne (0 %) */
.progress-fill[style*="width: 0"], #progressFill[style*="width: 0"]{ opacity:0; }
/* focus-visible ring (a11y + polish) */
.btn:focus-visible, .card:focus-visible, .chip:focus-visible, .cf-input:focus-visible,
.numinput:focus-visible, .freetext:focus-visible{ outline:2px solid var(--orange); outline-offset:2px; }
/* POZOR (v33): dřívější `border-bottom-style:solid !important` tady kreslilo tlustou tmavou linku —
   .rrow/.drow žádný dolní rámeček nemají, takže se použily výchozí hodnoty (medium = 3 px, currentColor).
   Oddělovač řádků karty řeší hairline border-top níže v sekci v33. */
.rrow, .drow{ border-bottom:0; }
@media (prefers-reduced-motion:reduce){ .rcard,.lbar-fill{ animation:none; opacity:1; transform:none; } }
.advisor-fab svg{ color:var(--ink); }
.advisor-mono-badge{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px;
  border-radius:50%; border:1px solid var(--hairline-strong); background:var(--green-soft);
  font-family:var(--font-display); font-weight:600; font-size:.85rem; color:var(--green-deep); }

/* ============================================================
   VÝSLEDKY v2 — jistina/přeplatek bar + stress slider + barevná disciplína (v20)
   ============================================================ */
.afford-cost{ margin-top:16px; padding-top:16px; border-top:1px solid var(--hairline); }
.ac-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:9px; }
.ac-lab{ font-family:var(--font-mono); font-size:var(--fs-micro); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.ac-over{ color:var(--ink-muted); font-size:.86rem; }
.ac-over strong{ color:var(--orange-deep); font-family:var(--font-mono); font-weight:600; }
.ac-bar{ display:flex; height:14px; border-radius:7px; overflow:hidden; border:1px solid var(--hairline); }
.ac-prin{ background:var(--green-soft); transition:width .4s var(--ease); }
.ac-int{ background:var(--orange); transition:width .4s var(--ease); }
.ac-key{ display:flex; gap:8px 20px; flex-wrap:wrap; margin-top:9px; font-size:.82rem; color:var(--ink-muted); }
.ac-key span{ display:inline-flex; align-items:center; }
.ac-key i{ width:10px; height:10px; border-radius:3px; margin-right:7px; flex:none; }
.ac-key .k-prin{ background:var(--green-soft); border:1px solid var(--hairline-strong); }
.ac-key .k-int{ background:var(--orange); }
.ac-key b{ color:var(--ink); font-weight:600; }

.afford-stress{ margin-top:16px; padding-top:16px; border-top:1px solid var(--hairline); }
.as-head{ display:flex; justify-content:space-between; align-items:baseline; gap:10px 14px; flex-wrap:wrap; margin-bottom:11px; }
.as-lab{ font-family:var(--font-mono); font-size:var(--fs-micro); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.as-val{ font-size:.92rem; color:var(--ink); }
.as-val strong{ font-family:var(--font-mono); }
.as-delta{ color:var(--orange-deep); font-family:var(--font-mono); font-size:.85em; margin-left:2px; }
.as-slider{ -webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:999px; cursor:pointer; margin:2px 0;
  background:linear-gradient(90deg, var(--orange) 0 var(--fill,0%), var(--hairline) var(--fill,0%) 100%); }
.as-slider::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:20px; height:20px; border-radius:50%; background:var(--surface); border:2px solid var(--orange-deep); box-shadow:0 2px 8px rgba(36,26,18,.22); cursor:grab; }
.as-slider::-webkit-slider-thumb:active{ cursor:grabbing; }
.as-slider::-moz-range-thumb{ width:18px; height:18px; border-radius:50%; background:var(--surface); border:2px solid var(--orange-deep); }
.as-slider:focus-visible{ outline:2px solid var(--orange); outline-offset:4px; }
.as-scale{ display:flex; justify-content:space-between; margin-top:8px; font-family:var(--font-mono); font-size:var(--fs-micro); color:var(--ink-dim); }
/* amortizační křivka (jistina vs úroky v čase) */
.amort{ margin-top:16px; padding-top:16px; border-top:1px solid var(--hairline); }
.am-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.am-lab{ font-family:var(--font-mono); font-size:var(--fs-micro); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.am-over{ color:var(--ink-muted); font-size:.86rem; }
.am-over strong{ color:var(--orange-deep); font-family:var(--font-mono); font-weight:600; }
.am-plot{ height:104px; border-radius:8px; overflow:hidden; border:1px solid var(--hairline); background:var(--paper-2); }
.amort-svg{ display:block; width:100%; height:100%; }
.am-int{ fill:var(--orange); }
.am-prin{ fill:var(--green-soft); }
.am-axis{ display:flex; justify-content:space-between; margin-top:6px; font-family:var(--font-mono); font-size:var(--fs-micro); color:var(--ink-dim); }
.am-key{ display:flex; gap:8px 20px; flex-wrap:wrap; margin-top:10px; font-size:.82rem; color:var(--ink-muted); }
.am-key span{ display:inline-flex; align-items:center; }
.am-key i{ width:10px; height:10px; border-radius:3px; margin-right:7px; flex:none; }
.am-key .k-int{ background:var(--orange); }
.am-key .k-prin{ background:var(--green-soft); border:1px solid var(--hairline-strong); }

/* barevná disciplína žebříčku výsledků: prostřední ztlumené, krajní = argument (best/worst) */
.reslad .lrow:not(.is-best):not(.is-worst) .lrow-bar{ opacity:.48; }
.reslad .lrow:not(.is-best):not(.is-worst) .lrow-bank{ color:var(--ink-muted); }
.reslad .lrow.is-best .lrow-rate{ color:var(--green-deep); font-weight:600; }
.reslad .lrow.is-worst .lrow-rate{ color:var(--orange-deep); }
@media (prefers-reduced-motion:reduce){ .ac-prin,.ac-int{ transition:none; } }

/* rank "01".."06" se v úzkém sloupci lámal na dva řádky → nowrap + širší sloupec */
.reslad .lrow{ grid-template-columns:24px 1fr auto; }
.reslad .lrow-rank{ white-space:nowrap; font-variant-numeric:tabular-nums; }

/* INLINE AKORDEON karet výsledků: sbalené non-best banky (banka+číslo skenovatelné), klik rozbalí detail */
.rcard.rc-acc > .rcard-head{ cursor:pointer; }
.rcard-body{ display:grid; grid-template-rows:1fr; transition:grid-template-rows .34s var(--ease); }
.rcard.rc-collapsed .rcard-body{ grid-template-rows:0fr; }
.rcard-body-inner{ overflow:hidden; min-height:0; }
.rcard-toggle{ display:none; }
.rcard.rc-acc .rcard-toggle{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; margin-left:auto; flex:none;
  border:1px solid var(--hairline-strong); border-radius:8px; color:var(--ink-dim); background:var(--surface); transition:transform .3s var(--ease), color .2s; }
.rcard.rc-acc .rcard-toggle svg{ width:15px; height:15px; }
.rcard.rc-collapsed .rcard-toggle{ transform:rotate(0deg); }
.rcard.rc-acc:not(.rc-collapsed) .rcard-toggle{ transform:rotate(180deg); color:var(--green-deep); }
.rcard.rc-acc .rcard-head{ display:flex; align-items:center; gap:10px; }
@media (prefers-reduced-motion:reduce){ .rcard-body{ transition:none; } }

/* ============================================================
   FIX v21 — hover nemizí, intro nadpis na střed, patička jako homepage band
   ============================================================ */
/* 1) HOVER: zabít krycí ::after overlay (bridge přemapoval --grad-soft na plnou #EEF3E2 →
      překrýval obsah karty = „mizení"). Místo toho jemné podbarvení + zelený okraj u VŠECH voleb. */
.card::after{ display:none !important; }
.card:hover{ border-color:var(--green); background:var(--green-soft); box-shadow:var(--shadow-1); transform:translateY(-1px); }
.card.sel{ border-color:var(--orange); background:var(--orange-soft); box-shadow:0 0 0 1px var(--orange), var(--shadow-1); }
.card:hover img{ transform:none; }                     /* žádné otáčení ikony na hover */
.chip:hover{ background:var(--green-soft); border-color:var(--green); transform:translateY(-1px); }
.afltv:hover{ background:var(--green-soft); border-color:var(--green); transform:none; }

/* 2) ÚVODNÍ karty: obsah svisle na střed (velká „Kolik mi banka půjčí" karta netáhne nadpis nahoru) */
.cards-intro .card{ justify-content:center; }

/* 3) PATIČKA jako homepage band: pozadí na FULL-WIDTH .footer-wrap, ne na vnitřní 1100px obdélník */
.footer-wrap{ background:var(--paper-2); border-top:1px solid var(--hairline); }
.footer-wrap .footer{ background:none; border-top:0; }
@media (prefers-reduced-motion:reduce){ .card:hover,.chip:hover{ transform:none; } }

/* =========================================================================
   v24 — RŮZNORODOST LAYOUTŮ (rozbití „centrovaného sendviče" dle typu otázky)
   ========================================================================= */
/* A) SLIDER = velký typografický moment (velké Fraunces číslo, ne mono karta) */
.slider-box{ text-align:center; padding:8px 0 4px; }
.slider-box .slider-val{ font-family:var(--font-display) !important; font-weight:600;
  font-size:clamp(3.2rem, 11vw, 5.2rem) !important; line-height:1; letter-spacing:-.02em; color:var(--ink) !important; margin-bottom:20px; }
.slider-box .slider-val .u{ font-family:var(--font-mono) !important; font-size:1.05rem !important; font-weight:400; letter-spacing:0; color:var(--ink-dim); margin-left:6px; }
.slider-box .range{ max-width:560px; margin:0 auto; height:8px; }
.slider-box .slider-hint{ margin-top:14px; }

/* B) BINÁRNÍ VOLBA (2 karty) = dramatický barevný split, ne dvě malé kartičky */
.cards.two{ display:grid !important; grid-template-columns:1fr 1fr; gap:18px; max-width:720px; margin:0 auto; }
.cards.two .card.two-up{ min-height:210px; padding:34px 22px !important; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:12px; border-radius:var(--r-md); transition:transform .18s var(--ease), box-shadow .25s var(--ease); }
.cards.two .card.two-up:first-child{ background:var(--sage-soft, #EAEEDD); border-color:transparent; }
.cards.two .card.two-up:last-child{ background:var(--clay-soft, #F7E6D6); border-color:transparent; }
.cards.two .card.two-up:hover{ transform:translateY(-3px); box-shadow:0 14px 30px -16px rgba(36,26,18,.4); }
.cards.two .card.two-up img.ic.card-ic{ width:76px !important; height:76px !important; margin-bottom:2px; }
.cards.two .card.two-up .card-label{ font-size:1.2rem; }
@media (max-width:560px){ .cards.two{ grid-template-columns:1fr; } .cards.two .card.two-up{ min-height:150px; } }

/* C) VÝBĚR Z VÍCE KARET = postupný nástup (stagger), ať to „naskočí" živě */
.cards:not(.cards-intro):not(.two) .card{ animation:cardStagger .42s var(--ease) both; }
.cards:not(.cards-intro):not(.two) .card:nth-child(1){ animation-delay:.02s }
.cards:not(.cards-intro):not(.two) .card:nth-child(2){ animation-delay:.07s }
.cards:not(.cards-intro):not(.two) .card:nth-child(3){ animation-delay:.12s }
.cards:not(.cards-intro):not(.two) .card:nth-child(4){ animation-delay:.17s }
.cards:not(.cards-intro):not(.two) .card:nth-child(5){ animation-delay:.22s }
.cards:not(.cards-intro):not(.two) .card:nth-child(6){ animation-delay:.27s }
.cards:not(.cards-intro):not(.two) .card:nth-child(7){ animation-delay:.32s }
.cards:not(.cards-intro):not(.two) .card:nth-child(8){ animation-delay:.37s }
@keyframes cardStagger{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .cards .card{ animation:none !important; } }

/* =========================================================================
   v24 — FÁZE 3+4: mapa cesty, kapitolní brána (ceremonie), finální reveal
   ========================================================================= */
/* A) MAPA CESTY (crumb → uzly kapitol) */
.section-crumb{ padding:9px 16px !important; }
.jmap{ display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:nowrap; max-width:100%; }
.jnode{ display:flex; align-items:center; gap:7px; }
.jnode .jdot{ width:9px; height:9px; border-radius:50%; background:var(--hairline-strong); flex:0 0 auto; transition:background .3s ease, box-shadow .3s ease; }
.jnode .jlabel{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim); white-space:nowrap; transition:color .3s ease; }
.jnode.done .jdot{ background:var(--green); }
.jnode.done .jlabel{ color:var(--ink-muted); }
.jnode.active .jdot{ background:var(--jn, var(--green)); box-shadow:0 0 0 4px color-mix(in srgb, var(--jn, var(--green)) 22%, transparent); }
.jnode.active .jlabel{ color:var(--jn, var(--green-deep)); font-weight:600; }
.jline{ width:clamp(18px,5vw,54px); height:2px; background:var(--hairline-strong); margin:0 9px; flex:0 1 auto; }
.jline.done{ background:var(--green); }
@media (max-width:560px){ .jnode:not(.active) .jlabel{ display:none; } .jline{ margin:0 6px; } }

/* B) KAPITOLNÍ BRÁNA = ceremonie (barevný nádech + velké ghost číslo za ikonou) */
.scene--gate{ position:relative; }
.scene--gate::before{ content:attr(data-chnum); position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  font-family:var(--font-display); font-weight:600; font-size:clamp(9rem,26vw,17rem); line-height:1;
  color:var(--chap-hue, var(--green)); opacity:.07; z-index:0; pointer-events:none; letter-spacing:-.03em; }
.scene--gate > *{ position:relative; z-index:1; }
.scene--gate .scene-hero{ width:150px; height:150px; margin-bottom:10px;
  background:radial-gradient(circle at 50% 42%, var(--chap-soft, #EEF3E2) 0%, transparent 72%) !important; }
.scene--gate .scene-hero img.ic{ width:96px !important; height:96px !important; }
.scene--gate .sec-lead{ max-width:52ch; margin-inline:auto; }

/* C) FINÁLNÍ REVEAL (počítadlo + razítko) */
.reveal-count{ text-align:center; padding:40px 16px 30px; display:flex; flex-direction:column; align-items:center; gap:6px; }
.rc-eyebrow{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--green-deep);
  opacity:0; animation:rcFade .5s ease .1s forwards; }
.rc-num{ font-family:var(--font-display); font-weight:600; font-size:clamp(3.4rem,13vw,7rem); line-height:1; letter-spacing:-.02em;
  color:var(--green-deep); font-variant-numeric:tabular-nums; }
.rc-num .rc-cur{ font-family:var(--font-mono); font-size:.24em; font-weight:400; color:var(--ink-dim); letter-spacing:0; margin-left:8px; }
.rc-label{ font-size:1.1rem; color:var(--ink-muted); opacity:0; animation:rcFade .5s ease .8s forwards; }
.rc-stamp{ margin-top:22px; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--orange-deep); border:2px solid var(--orange-deep); border-radius:8px; padding:8px 16px;
  opacity:0; transform:rotate(-6deg) scale(1.5); animation:rcStamp .4s cubic-bezier(.2,1.4,.4,1) 1.35s forwards; }
@keyframes rcFade{ to{ opacity:1; } }
@keyframes rcStamp{ to{ opacity:.9; transform:rotate(-6deg) scale(1); } }
@media (prefers-reduced-motion:reduce){ .rc-eyebrow,.rc-label,.rc-stamp{ opacity:1 !important; animation:none !important; transform:rotate(-6deg) !important; } }

/* =========================================================================
   v26 — VÝSLEDKOVKY: property bar-race + hero LTV, full „neprojde" žebříček
   ========================================================================= */
/* PROPERTY hero: velký LTV moment (místo prostého řádku textu) */
.prop-hero{ text-align:center; padding:10px 0 22px; }
.prop-hero .ph-lab{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:6px; }
.prop-hero .ph-num{ font-family:var(--font-display); font-weight:600; font-size:clamp(3rem,10vw,5.4rem); line-height:1; color:var(--green-deep); font-variant-numeric:tabular-nums; }
.prop-hero .ph-num .ph-cur{ font-family:var(--font-mono); font-size:.2em; font-weight:400; color:var(--ink-dim); letter-spacing:0; margin-left:8px; }

/* PROPERTY žebříček: banky co „nevezmou" ztlumené + volitelná poznámka pod barem */
.reslad--prop .lrow.is-off{ opacity:.62; }
.reslad--prop .lrow.is-off .lrow-rate{ color:var(--orange-deep); }
.reslad .lrow-note{ font-size:.82rem; color:var(--ink-muted); margin-top:5px; line-height:1.35; }

/* FULL „neprojde" žebříček: tlumit zelenou na jantar/oranžovou (není to oslava, jen orientace) */
.reslad--pending .lrow.is-best .lrow-rate{ color:var(--amber) !important; }
.reslad--pending .lrow-tag.best{ background:var(--orange-soft); color:var(--orange-deep); }

/* =========================================================================
   v32 — VÝSLEDKOVÁ KARTA: SJEDNOCENÍ TYPOGRAFIE S WEBEM
   -------------------------------------------------------------------------
   Rozpiska bank (Kompletní analýza / Kolik půjčí / Prověřit nemovitost) byla
   celá v Geist Mono → působila jako výpis z terminálu, „nesedělo to k webu".
   Nově: prose = Figtree (--font-body), velké číslo = Fraunces (--font-display,
   stejně jako všechna velká čísla na webu), hodnoty = Figtree s tabulkovými
   číslicemi (zarovnané). Uvnitř karty ŽÁDNÝ monospace. Žebříček (.lrow) si
   svůj mono accent nechává (samostatná komponenta).
   Layout řádků převeden na grid „1fr auto" → dlouhý popisek se láme vlevo,
   hodnota drží vpravo (nowrap) → konec přetékání/křížení na mobilu.
   Vše scoped na .rcard, aby to nikam neuniklo.
   ========================================================================= */

/* velké číslo karty (max úvěr / splátka) → displejové jako hero na webu, ne mono */
.rcard .rbig{ font-family:var(--font-display); font-weight:500; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.rcard .rbig .u{ font-family:var(--font-body); }
.rcard .rbig-l{ font-family:var(--font-body); }

/* řádky karty (Sazba/DSTI/LTV/Splátka/Limituje i celá rozpiska v .rdet) */
.rcard .rrow,
.rcard .rdet .drow{
  display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:3px 16px;
  font-family:var(--font-body); font-variant-numeric:normal;
}
.rcard .rrow > span,
.rcard .rdet .drow > span{ font-family:var(--font-body); min-width:0; line-height:1.35; }
.rcard .rrow > strong,
.rcard .rdet .drow > strong{
  font-family:var(--font-body); font-weight:600; text-align:right; white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
/* poznámky, prose a muted vsuvky uvnitř karty → taky Figtree */
.rcard .rdet .drow .dnote,
.rcard .rdet-note,
.rcard .rwhy,
.rcard .muted{ font-family:var(--font-body); }

/* rozbalovací nadpisy sekcí („Jak banka došla…", „Celkové náklady a fixace") → Figtree, ne mono */
.rcard .rdet summary,
.rdet summary{ font-family:var(--font-body); font-weight:600; letter-spacing:0; }

/* mikro-eyebrow uvnitř detailu → Figtree, jemnější (ne mono) */
.rcard .rdet-sec{ font-family:var(--font-body); font-weight:700; letter-spacing:.045em; }

/* mini-graf „tři stropy úvěru" → stejný grid + Figtree, ať ladí s řádky nad ním */
.rcard .lbar-top{ display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:2px 14px; font-family:var(--font-body); }
.rcard .lbar-top > span{ min-width:0; line-height:1.3; }
.rcard .lbar-top > strong{ font-family:var(--font-body); font-weight:600; white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; }

/* srovnání fixací: hodnota „5,09 % · 55 915 Kč/měs" se na úzkém mobilu smí zalomit */
@media (max-width:430px){
  .rcard .rdet .drow{ gap:2px 10px; }
  .rcard .rrow > strong,
  .rcard .rdet .drow > strong{ white-space:normal; }
}

/* =========================================================================
   v33 — VÝSLEDKY: JEDNA MŘÍŽKA, JEDEN VZDUCH, KLIDNÁ BARVA
   -------------------------------------------------------------------------
   Co se opravovalo (nález z Playwrightu, desktop 1440 + mobil 390):
   1) bloky výsledků měly RŮZNÉ šířky (žebříček 920 px, amortizace 560 px,
      disclaimer 520 px) → stránka vypadala rozsypaně;
   2) .sumbox (karta žebříčku) neměl ŽÁDNÝ padding → hlavička i bary se
      lepily na okraj karty (na mobilu to vypadalo, že text přečuhuje);
   3) CTA poradce mělo celý odstavec v Fraunces (serif) → jiné písmo než
      zbytek webu; disclaimer a podřádky žebříčku byly v Geist Mono;
   4) sbalené karty bank byly prázdné řádky (jméno + fajfka + šipka);
   5) žebříček maloval 1,4% rozdíl ve splátce zeleno-oranžovou rampou
      (falešný poplach); bary jsou poctivé, klid řeší jen barva;
   6) sekundární CTA („Probrat s poradcem" v oranžovém boxu) mělo oranžový
      text na oranžovém podkladu = skoro neviditelné.
   Vše je jen vzhled/uspořádání. Engine bonita-engine.js ani sazby netknuté.
   ========================================================================= */

/* --- 1. jedna šířka sloupce: každý blok výsledků sedí do stejné mřížky --- */
.scene .afford,
.scene .res-disc,
.scene .upsell,
.scene .prop-ltv,
.scene .prop-opts,
.scene .nearfix{ max-width:none; width:100%; margin-left:0; margin-right:0; }
.scene .afford{ margin:0 0 16px; }
.scene .upsell{ margin:22px 0 0; }
.scene .prop-ltv{ margin:0 0 14px; }
.scene .prop-opts{ margin:18px 0 0; }

/* --- 2. stejný vnitřní vzduch v každé kartě --- */
.sumbox{ padding:20px 22px 22px; }
.afford{ padding:22px 24px; }
.afford--amort{ text-align:left; }
.nearfix, .upsell{ padding:18px 22px; }
.upsell{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-lg); }
.nearfix{ border:1px solid rgba(224,86,26,.28); border-radius:var(--r-lg); }

/* --- 3. typografie: nadpis = Fraunces, text = Figtree, data = mono --- */
.reveal-title{ font-weight:600; }                    /* Fraunces končí na 600, 800 = falešný tuk */
.lead-head{ font-family:var(--font-body); }
.lead-head > div > strong{ font-family:var(--font-display); font-weight:600; font-size:1.16rem;
  display:block; line-height:1.25; margin-bottom:7px; color:var(--ink); }
.lead-p, .lead-personal, .perk-note, .afford-note, .whatif-note{ font-family:var(--font-body); }
.lead-p{ color:var(--ink-muted); }
.res-disc{ font-family:var(--font-body); font-size:.8rem; line-height:1.55; letter-spacing:0;
  text-align:left; text-transform:none; margin:14px 0 0; opacity:1; color:var(--ink-dim); }
.lrow-sub{ font-family:var(--font-body); font-size:.8rem; letter-spacing:0; margin:0 0 7px; }
.rbank{ font-family:var(--font-body); font-weight:600; font-size:1rem; }
.prop-opts-h{ font-family:var(--font-display); font-weight:600; font-size:1.1rem; }

/* --- 4. sbalená karta banky nese informaci (o kolik jinde než nejlepší) --- */
/* sloupce: [banka] [stav] [rozdíl] [šipka] → čísla se srovnají pod sebe, ne za různě dlouhými názvy */
.rcard.rc-acc .rcard-head{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(96px,auto) auto;
  align-items:center; gap:10px 14px; justify-content:stretch; }
.rcard-delta{ font-family:var(--font-mono); font-size:.84rem; color:var(--ink-muted);
  white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; }
.rcard.best .rcard-delta{ display:none; }
.rcard .rcard-toggle{ color:var(--ink-dim); }

/* --- 5. žebříček: hlavička s rozptylem, klid když je rozdíl malý --- */
.reslad-h{ display:flex; align-items:baseline; justify-content:space-between; gap:6px 16px;
  flex-wrap:wrap; margin-bottom:14px; }
.reslad-spread{ font-family:var(--font-mono); font-size:var(--fs-micro); letter-spacing:.04em;
  text-transform:none; color:var(--ink-muted); font-variant-numeric:tabular-nums; }
.reslad--tight .lrow.is-worst .lrow-rate{ color:var(--ink); }
.reslad--tight .lrow-tag.worst{ display:none; }      /* „nejvyšší splátka" u rozdílu 200 Kč = zbytečné strašení */

/* --- 6. amortizace + stress: čitelnější hlavičky a plocha --- */
.am-val{ font-family:var(--font-mono); font-weight:500; font-size:1.02em; letter-spacing:0;
  text-transform:none; color:var(--ink); margin-left:7px; font-variant-numeric:tabular-nums; }
.am-plot{ height:118px; }
.am-int{ fill:color-mix(in srgb, var(--orange) 82%, #fff); }
.am-key, .ac-key{ font-family:var(--font-body); }
.afford-lead{ font-family:var(--font-body); color:var(--ink-muted); }
.afford--amort .afford-lead{ margin-bottom:14px; }

/* --- 7. sekundární CTA: čitelný text (byl oranžový na oranžové) --- */
.nearfix-btn, .upsell .btn{ background:var(--surface); color:var(--orange-deep); border:1px solid var(--orange); }
.nearfix-btn:hover, .upsell .btn:hover{ background:var(--orange-soft); color:var(--orange-deep); }

/* --- 8. hero číslo „kolik půjčí": jednotka na účaří, bez gradient-clipu --- */
.afford-big{ background:none; -webkit-text-fill-color:var(--green-deep); color:var(--green-deep);
  display:flex; align-items:baseline; justify-content:center; gap:10px; font-weight:600; }
.afford-big .u{ font-family:var(--font-mono); font-size:.28em; font-weight:400; letter-spacing:.04em;
  -webkit-text-fill-color:var(--ink-dim); color:var(--ink-dim); }
.afc-v{ font-family:var(--font-body); font-weight:600; font-variant-numeric:tabular-nums; }
.afc-l{ font-family:var(--font-body); color:var(--ink-muted); }

/* --- 9. žádné boxy v boxech: „Co by se stalo" / „Z metodik bank" --- */
.whatif, .mtips{ background:none; border:0; padding:0; }
.whatif-h, .mtips-h{ font-family:var(--font-mono); font-weight:400; font-size:var(--fs-micro);
  letter-spacing:.09em; text-transform:uppercase; color:var(--ink-dim); margin:0 0 10px; }
.wtile, .mtip{ padding:14px 16px; border-radius:var(--r-md); }
.wtile{ border-left:3px solid var(--green); }

/* --- 10. žebříček zástavy: dvouřádkové řádky zarovnat nahoru --- */
.reslad--prop .lrow{ align-items:start; }
.reslad--prop .lrow-rank{ padding-top:2px; }

/* --- 11. mobil --- */
@media (max-width:560px){
  .sumbox{ padding:15px 15px 17px; }
  .afford{ padding:18px 16px; }
  .nearfix, .upsell{ padding:15px 16px; }
  /* na mobil dva řádky: [banka … rozdíl | šipka] / [stav] — nic se needeformuje ani nepřekrývá */
  .rcard.rc-acc .rcard-head{
    grid-template-columns:minmax(0,1fr) auto 22px;
    grid-template-areas:"name delta chev" "badge badge chev";
    row-gap:7px; column-gap:10px;
  }
  .rcard.rc-acc .rcard-head .rbank{ grid-area:name; }
  .rcard.rc-acc .rcard-head .rcard-delta{ grid-area:delta; font-size:.8rem; }
  .rcard.rc-acc .rcard-head .rcard-toggle{ grid-area:chev; align-self:center; }
  .rcard.rc-acc .rcard-head .badge{ grid-area:badge; justify-self:start; font-size:.76rem; padding:2px 8px; }
  .afford-big{ gap:7px; }
}

/* v33b — dolaďovačky po měření */
.rcard .rrow{ border-top:1px solid var(--hairline); padding:7px 0; }
.rcard.rc-acc .rcard-head .rbank{ min-width:0; }
@media (max-width:560px){
  .rcard.rc-acc .rcard-head{ grid-template-columns:minmax(0,1fr) auto auto; }
}

/* sekundární CTA: přebít inline pravidlo `:root[data-theme="light"] .btn{color:#fff}` (bílý text na bílém tlačítku) */
:root[data-theme] .nearfix .nearfix-btn,
:root[data-theme] .upsell .btn{ background:var(--surface); color:var(--orange-deep);
  border:1px solid var(--orange); box-shadow:none; }
:root[data-theme] .nearfix .nearfix-btn:hover,
:root[data-theme] .upsell .btn:hover{ background:var(--orange-soft); color:var(--orange-deep); }

/* ============================================================
   v34 — ČÍSLA SERIFEM (mono pryč) + LOGA BANK VE VÝSLEDCÍCH
   ============================================================ */
/* datové hodnoty → serifové číslice Fraunces (stejná rodina jako nadpisy) */
.slider-val, .group-live, .cs-val, .mini-val, .lp-v, .crumb-step, .afc-v,
.rrow strong, .rdet .drow strong, .sumtab td, .sumtab th,
.rcard-delta, .am-val, .as-val strong, .as-delta, .ac-over strong, .am-over strong,
.reslad-spread, .as-scale, .am-axis, .amv-axis, .amv-val, .amv-tipv{
  font-family:var(--font-num); font-optical-sizing:auto; letter-spacing:0;
  font-variant-numeric:normal;
}
/* popisky u hodnot zůstávají v Figtree (kontrast serif číslo / bezpatkový popisek) */
.rrow span, .rdet .drow span, .res-disc, .rbig-l{ font-family:var(--font-body); }
/* vstupní pole se píšou, ne čtou jako sazba → bezpatkové s tabulkovými číslicemi */
.numinput, .group-num{ font-family:var(--font-body); font-variant-numeric:tabular-nums; }
/* mikroštítky (dřív mono) — Figtree potřebuje silnější tah, aby verzálky nezplihly */
.reslad-h, .ac-lab, .as-lab, .am-lab, .amv-lab, .rc-eyebrow, .rc-stamp, .prop-hero .ph-lab,
.whatif-h, .mtips-h, .jnode .jlabel, .slider-hint, .intent-hint,
.section-crumb, .crumb, .crumb-name, .advisor-id span, .rdet summary{ font-weight:600; }
.reslad-h{ letter-spacing:.07em; }

/* ---- logo banky v kartě výsledku ---- */
.rbank{ display:flex; align-items:center; gap:10px; min-width:0; }
.rbank .blogo{ margin:0; }
.rcard:hover .blogo{ transform:scale(1.07) rotate(-1.5deg); box-shadow:0 0 0 1px var(--hairline-strong) inset, 0 4px 12px rgba(36,26,18,.14); }
.rcard.best .blogo{ box-shadow:0 0 0 1px rgba(78,125,27,.5) inset, 0 2px 8px rgba(78,125,27,.16); }
.rbank .bname{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ============================================================
   v34 — AMORTIZAČNÍ GRAF (.amv)
   Zelená jistina roste zespodu, oranžové úroky se ztenčují.
   Pár #4E7D1B / #EDA179 prošel validací i pro protanopii (ΔE 18,5),
   světlá terakota je pod 3:1 vůči papíru → povinná „úleva" = přímé
   popisky v ploše + rozbalovací tabulka (obojí je níž).
   ============================================================ */
.amv{ --amv-prin:#4E7D1B; --amv-int:#EDA179; margin-top:18px; }
.amv-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:10px 24px; padding-bottom:12px; border-bottom:1px solid var(--hairline); margin-bottom:16px; }
.amv-cell{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.amv-cell--int{ text-align:right; align-items:flex-end; }
.amv-lab{ font-family:var(--font-body); font-weight:600; font-size:.7rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-dim); }
.amv-val{ font-family:var(--font-num); font-optical-sizing:auto; font-weight:600;
  font-size:clamp(1.35rem,3.3vw,1.85rem); line-height:1.05; color:var(--ink); letter-spacing:-.01em; }
.amv-val i{ font-style:normal; font-size:.52em; font-weight:500; color:var(--ink-dim); margin-left:3px; }
.amv-val--int{ color:var(--orange-deep); }

.amv-plot{ position:relative; touch-action:pan-y; cursor:crosshair; }
.amv-svg{ display:block; width:100%; overflow:visible; }
.amv-area{ stroke:none; }
.amv-area--prin{ fill:var(--amv-prin); }
.amv-area--int{ fill:var(--amv-int); }
/* 2px papírová mezera mezi plochami (ne linka „navíc", ale odsazení, jak má stack mít) */
.amv-sep{ fill:none; stroke:var(--surface); stroke-width:2.5; }
.amv-cap{ fill:none; stroke:color-mix(in srgb, var(--amv-int) 74%, #7a3a12); stroke-width:1.5; opacity:.55; }
.amv-break line{ stroke:var(--ink); stroke-width:1; stroke-dasharray:3 4; opacity:.34; }
.amv-brk-t{ font-family:var(--font-body); font-weight:600; font-size:10.5px; letter-spacing:.04em;
  fill:var(--ink-muted); }
.amv-inband{ font-family:var(--font-body); font-weight:700; font-size:11.5px; letter-spacing:.13em;
  text-transform:uppercase; }
.amv-inband--int{ fill:#8A4416; }
.amv-inband--prin{ fill:#F3F7EA; opacity:.92; }
.amv-ticks text{ font-family:var(--font-num); font-optical-sizing:auto; font-size:11px; fill:var(--ink-dim); }
.amv-cross line{ stroke:var(--ink); stroke-width:1; opacity:.4; }
.amv-cross circle{ fill:var(--surface); stroke:var(--ink); stroke-width:2; }
.amv-cross{ transition:opacity .18s ease; }

.amv-tip{ position:absolute; top:2px; pointer-events:none; opacity:0; transform:translateY(-4px);
  transition:opacity .16s ease, transform .16s ease; background:var(--surface);
  border:1px solid var(--hairline-strong); border-radius:12px; padding:9px 12px;
  box-shadow:0 10px 28px -12px rgba(36,26,18,.4); display:flex; flex-direction:column; gap:3px;
  font-size:.78rem; color:var(--ink-muted); white-space:nowrap; z-index:3; }
.amv-tip.on{ opacity:1; transform:translateY(0); }
.amv-tip-y{ font-family:var(--font-body); font-weight:700; font-size:.72rem; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink); }
.amv-tip-r{ display:flex; align-items:center; gap:7px; }
.amv-tip-r b, .amv-tip-b b{ margin-left:auto; padding-left:14px; color:var(--ink); font-weight:600; }
.amv-tip-b{ display:flex; border-top:1px solid var(--hairline); margin-top:3px; padding-top:5px; font-size:.74rem; }

.amv-key{ display:flex; flex-wrap:wrap; gap:6px 20px; margin-top:12px; font-size:.82rem; color:var(--ink-muted); }
.amv-k{ display:inline-flex; align-items:center; gap:8px; }
.amv-sw{ width:11px; height:11px; border-radius:3px; flex:none; display:inline-block; }
.amv-sw--prin{ background:#4E7D1B; }
.amv-sw--int{ background:#EDA179; box-shadow:0 0 0 1px rgba(122,58,18,.28) inset; }
.amv-note{ margin-top:10px; font-size:.86rem; line-height:1.55; color:var(--ink-muted); }
.amv-note strong{ color:var(--ink); font-weight:600; }

.amv-tbl{ margin-top:12px; }
.amv-tbl > summary{ font-family:var(--font-body); font-weight:600; font-size:.78rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-dim); cursor:pointer; list-style:none; display:inline-flex;
  align-items:center; gap:7px; padding:4px 0; }
.amv-tbl > summary::-webkit-details-marker{ display:none; }
.amv-tbl > summary::before{ content:"+"; font-size:1rem; line-height:1; color:var(--green-deep); }
.amv-tbl[open] > summary::before{ content:"−"; }
.amv-tbl table{ width:100%; border-collapse:collapse; margin-top:8px; font-size:.82rem; }
.amv-tbl th{ font-family:var(--font-body); font-weight:600; font-size:.7rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-dim); text-align:right; padding:5px 0; border-bottom:1px solid var(--hairline); }
.amv-tbl th:first-child, .amv-tbl td:first-child{ text-align:left; }
.amv-tbl td{ font-family:var(--font-num); font-optical-sizing:auto; text-align:right; padding:5px 0;
  border-bottom:1px solid var(--hairline); color:var(--ink-muted); }
@media (max-width:560px){
  .amv-head{ gap:12px; }
  .amv-cell--int{ text-align:left; align-items:flex-start; }
  .amv-tip{ font-size:.74rem; padding:8px 10px; }
}
@media (prefers-reduced-motion:reduce){ .amv-tip, .amv-cross{ transition:none } }

/* ============================================================
   v34 — SBALENÉ KARTY: viditelná afordance + živější obsah
   ============================================================ */
/* „Detail ▾" místo holé šipky na kraji karty */
.rcard.rc-acc .rcard-toggle{ display:inline-flex; align-items:center; gap:8px; width:auto; height:auto;
  border:0; background:none; color:var(--ink-dim); transform:none !important; }
.rc-open-lab{ font-family:var(--font-body); font-weight:600; font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; }
.rc-chev{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; border:1px solid var(--hairline-strong); background:var(--surface);
  transition:transform .3s var(--ease), border-color .25s ease, background .25s ease, color .25s ease; }
.rc-chev svg{ width:15px; height:15px; }
.rcard.rc-acc:not(.rc-collapsed) .rc-chev{ transform:rotate(180deg); border-color:var(--green);
  background:var(--green-soft); color:var(--green-deep); }
.rcard.rc-acc:not(.rc-collapsed) .rc-open-lab{ color:var(--green-deep); }
/* celá sbalená karta se chová jako klikací řádek */
.rcard.rc-acc{ transition:border-color .25s ease, box-shadow .3s var(--ease), transform .25s var(--ease), background .25s ease; }
.rcard.rc-acc:hover{ border-color:var(--hairline-strong); box-shadow:var(--shadow-1); transform:translateY(-1px); }
.rcard.rc-acc:hover .rc-chev{ border-color:var(--green); color:var(--green-deep); background:var(--green-soft); }
.rcard.rc-acc:hover .rc-open-lab{ color:var(--ink-muted); }
.rcard.rc-acc > .rcard-head:focus-visible{ outline:2px solid var(--green); outline-offset:3px; border-radius:10px; }
@media (prefers-reduced-motion:reduce){ .rcard.rc-acc:hover{ transform:none } }
@media (max-width:560px){ .rc-open-lab{ display:none } }

/* --- metry v rozbalené kartě (DSTI / LTV / tři stropy) --- */
.mtrs{ display:flex; flex-direction:column; gap:13px; margin:4px 0 16px; }
.mtrs-h{ font-family:var(--font-body); font-weight:600; font-size:.7rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-dim); }
.mtr-top{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:5px; }
.mtr-l{ font-size:.85rem; color:var(--ink-muted); }
.mtr-v{ font-family:var(--font-num); font-optical-sizing:auto; font-weight:600; font-size:.98rem;
  color:var(--ink); white-space:nowrap; }
.mtr-track{ height:7px; border-radius:5px; background:rgba(36,26,18,.07); overflow:hidden; }
.mtr-fill{ display:block; height:100%; border-radius:5px; background:var(--green);
  transform-origin:left; animation:barGrow .8s var(--ease) both; }
.mtr--warn .mtr-fill{ background:var(--amber); }
.mtr--bad .mtr-fill{ background:var(--orange); }
.mtr--bad .mtr-v{ color:var(--orange-deep); }
.mtr--bind .mtr-fill{ background:var(--green-deep); }
.mtr--ok:not(.mtr--bind) .mtr-fill{ background:color-mix(in srgb, var(--green) 62%, #fff); }
.mtr-sub{ margin-top:5px; font-size:.76rem; color:var(--ink-dim); }
.mtr-tag{ font-family:var(--font-body); font-weight:600; font-size:.6rem; letter-spacing:.09em;
  text-transform:uppercase; background:var(--green-soft); color:var(--green-deep);
  padding:2px 7px; border-radius:999px; margin-left:7px; }
@media (prefers-reduced-motion:reduce){ .mtr-fill{ animation:none } }
/* společná poznámka nad žebříčkem zástavy (místo 6× stejné věty v řádcích) */
.reslad-common{ margin:-4px 0 14px; padding:10px 13px; border-radius:12px;
  background:var(--paper-2); border:1px solid var(--hairline);
  font-size:.83rem; line-height:1.5; color:var(--ink-muted); }
.reslad-common span{ font-family:var(--font-body); font-weight:600; color:var(--ink); }

/* ============================================================
   v34.1 — opravy z auditu (mobil, poctivost, čitelnost)
   ============================================================ */
/* 1. plovoucí chat na mobilu ležel NAD šipkou karet a nad CTA → tap otevřel chat.
      Vpravo dole je teď natrvalo bezpečná zóna. */
@media (max-width:560px){
  .rcard.rc-acc .rcard-head{ padding-right:58px; }
  .upsell .btn, .nearfix-btn{ margin-right:58px; }
  .afford-stress{ padding-right:78px; }
  .afford-stress .as-scale{ padding-right:0; }
}
/* 2. na mobilu není hover, takže „Detail" nesmí zmizet úplně, jen se zkrátí */
@media (max-width:560px){
  .rc-open-lab{ display:inline; font-size:.62rem; letter-spacing:.08em; }
  .rc-chev{ width:24px; height:24px; }
}
/* 3. větší úchyt posuvníků na dotyku */
@media (max-width:560px){
  .as-slider::-webkit-slider-thumb, .range::-webkit-slider-thumb{ width:27px; height:27px; }
  .as-slider::-moz-range-thumb, .range::-moz-range-thumb{ width:27px; height:27px; }
}
/* 4. „neprojde": jméno banky nesmí zůstat zelené, když nic neschválila */
.reslad--pending .lrow.is-best .lrow-bank{ color:var(--amber); }
/* 5. pilulky 70/80/90 % byly jediná bezpatková číslice mezi dvěma serifovými čísly */
.afltv{ font-family:var(--font-num) !important; font-optical-sizing:auto; }
/* 6. metr: značka stropu při překročení (bar sám se drží v tracku) */
.mtr-track{ position:relative; }
.mtr-cap{ position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ink);
  opacity:.45; border-radius:1px; z-index:2; }
/* 7. rozdíl proti nejlepší nabídce v řádku žebříčku */
.lrow-delta{ display:block; font-family:var(--font-body); font-weight:500; font-size:.72rem;
  color:var(--ink-dim); letter-spacing:.01em; margin-top:1px; text-align:right; }
.lrow.is-best .lrow-delta{ display:none; }
/* 8. zástava: když mají všechny banky stejné LTV, pruh je plochý (nepředstírá srovnání) */
.reslad--prop .lrow.is-flat .lrow-bar{ opacity:.5; }
.reslad--prop .lrow.is-flat.is-best .lrow-bar{ opacity:.85; }
/* 9. drobný popisek zlomu na mobilu */
.amv-brk-t--sm{ font-size:9.5px; letter-spacing:0; }
/* referenční hladina „kam vyskočí splátka při +2 %" (dává smysl prázdnu nad plochou) */
.amv-stress line{ stroke:var(--orange-deep); stroke-width:1; stroke-dasharray:2 5; opacity:.5; }
.amv-stress-t{ font-family:var(--font-body); font-weight:600; font-size:10.5px; letter-spacing:.03em;
  fill:var(--orange-deep); opacity:.85; }
@media (max-width:560px){ .amv-stress-t{ font-size:9.5px; } }

/* ---- návrat k rozdělané práci (úvodní obrazovka) ---- */
.resume-box{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 22px;
  padding:16px 18px; border:1px solid color-mix(in srgb, var(--green) 34%, var(--line));
  border-radius:14px; background:color-mix(in srgb, var(--green) 6%, transparent); text-align:left; }
.resume-txt{ flex:1 1 260px; font-size:.98rem; line-height:1.5; color:var(--ink-muted); }
.resume-txt strong{ color:var(--ink); }
.resume-box .btn{ height:44px; min-height:44px; padding:0 18px; font-size:.95rem; margin:0; max-width:none; }
/* pozor: .btn-ghost je stylovaný pro tmavý hero (bílý text) → na papíru by byl neviditelný */
:root[data-theme] .resume-box .resume-new,
.resume-box .resume-new{ background:transparent; color:var(--ink); border:1px solid var(--line); }
:root[data-theme] .resume-box .resume-new:hover{ background:color-mix(in srgb, var(--ink) 5%, transparent); border-color:var(--ink-dim); }
@media(max-width:560px){ .resume-box .btn{ flex:1 1 100%; } }

/* ================= ÚČET, DOKLADY, JISTOTA VÝSLEDKU ================= */
.konto-bar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; max-width:920px; margin:0 auto 10px;
  padding:8px 14px; font-size:.86rem; color:var(--ink-muted); border-bottom:1px solid var(--line); }
.konto-dot{ width:7px; height:7px; border-radius:50%; background:var(--green); }
.konto-mail{ color:var(--ink); font-weight:600; }
.konto-sep{ opacity:.4; }
.konto-link{ margin-left:auto; background:none; border:none; padding:6px 2px; color:var(--green-deep, #4E7D1B);
  font:inherit; font-weight:600; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.konto-link:hover{ color:var(--ink); }

.konto-modal{ position:fixed; inset:0; z-index:120; background:rgba(22,15,9,.55); display:flex; align-items:center;
  justify-content:center; padding:20px; }
.konto-card{ position:relative; width:min(460px,100%); background:var(--paper,#FBF7F0); border-radius:16px;
  padding:26px 26px 22px; box-shadow:0 24px 60px rgba(22,15,9,.28); text-align:left; }
.konto-card h3{ margin:0 0 8px; font-size:1.3rem; }
.konto-p{ margin:0 0 16px; font-size:.95rem; line-height:1.55; color:var(--ink-muted); }
.konto-x{ position:absolute; right:12px; top:8px; background:none; border:none; font-size:1.6rem; line-height:1;
  color:var(--ink-dim); cursor:pointer; }
.konto-input{ width:100%; height:48px; padding:0 14px; font:inherit; border:1px solid var(--line); border-radius:10px;
  background:#fff; color:var(--ink); }
.konto-check{ display:flex; gap:9px; align-items:flex-start; margin:14px 0 16px; font-size:.88rem; line-height:1.5; color:var(--ink-muted); }
.konto-check input{ margin-top:3px; }
:root[data-theme] .konto-send{ display:flex; width:100%; max-width:none; justify-content:center; }
.konto-status{ margin:12px 0 0; font-size:.9rem; color:var(--ink-muted); min-height:1.2em; }
.konto-toast{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%); z-index:130; background:var(--ink);
  color:var(--paper,#FBF7F0); padding:12px 18px; border-radius:999px; font-size:.9rem; box-shadow:0 12px 30px rgba(0,0,0,.25); }

.zpresnit{ max-width:920px; margin:34px auto 0; padding:24px 22px; border:1px solid var(--line); border-radius:16px;
  background:color-mix(in srgb, var(--green) 4%, transparent); text-align:left; }
.zpresnit-head h3{ margin:6px 0 18px; font-size:1.25rem; line-height:1.3; }
.conf{ margin:0 0 20px; }
.conf-head{ display:flex; justify-content:space-between; align-items:baseline; font-size:.9rem; color:var(--ink-muted); }
.conf-head strong{ font-family:var(--font-num, inherit); font-size:1.5rem; color:var(--ink); }
.conf-track{ height:10px; border-radius:99px; background:color-mix(in srgb, var(--ink) 8%, transparent); overflow:hidden; margin:6px 0 8px; }
.conf-fill{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#4E7D1B,#9AD154); transition:width .6s ease; }
.conf-note{ margin:0; font-size:.84rem; color:var(--ink-dim); }
.dok-row{ display:flex; gap:14px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;
  padding:14px 0; border-top:1px solid var(--line); }
.dok-main strong{ display:block; font-size:.98rem; }
.dok-hint{ font-size:.84rem; color:var(--ink-dim); }
.dok-right{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-left:auto; }
.dok-chip{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; font-size:.82rem;
  background:color-mix(in srgb, var(--ink) 6%, transparent); color:var(--ink-muted); }
.dok-chip.done{ background:color-mix(in srgb, var(--green) 16%, transparent); color:var(--ink); }
.dok-chip.failed{ background:color-mix(in srgb, #E0561A 14%, transparent); }
.dok-x{ background:none; border:none; cursor:pointer; font-size:1rem; line-height:1; color:inherit; opacity:.6; }
.dok-x:hover{ opacity:1; }
.dok-read{ flex:1 1 100%; font-size:.84rem; color:var(--ink-muted); }
.dok-add{ display:inline-flex; align-items:center; height:38px; padding:0 16px; border:1px solid var(--line);
  border-radius:10px; font-size:.9rem; font-weight:600; cursor:pointer; background:#fff; color:var(--ink); }
.dok-add input{ display:none; }
:root[data-theme] .zpresnit-run{ display:flex; margin:20px auto 0; max-width:420px; justify-content:center; }
.zpresnit-login{ padding:14px 0 4px; }
.zpresnit-login p{ margin:0 0 12px; font-size:.95rem; color:var(--ink-muted); }
.zpresnit-out{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); font-size:.92rem; }
.zo-head{ font-size:1rem; margin-bottom:10px; }
.zo-lab{ display:block; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); margin:10px 0 4px; }
.zo-diff, .zo-miss{ padding:3px 0; color:var(--ink-muted); }
@media(max-width:640px){ .dok-right{ width:100%; } .dok-add{ flex:1 1 auto; justify-content:center; } }
:root[data-theme] .zpresnit-give{ display:flex; margin:10px auto 0; max-width:420px; justify-content:center;
  color:var(--ink); border:1px solid var(--line); background:transparent; }

/* --- konec cesty: „Chcete něco doplnit?" ---------------------------------
   Zadání Jeni: každá cesta končí otázkou, jestli chce klient něco doplnit nebo
   se na něco zeptat. Vizuálně stejná řeč jako „Co by se stalo, kdyby…" —
   žádný box v boxu, jen mono nadpis a dlaždice s levým pruhem. */
.addon{ margin:26px 0 4px; }
.addon-h{ font-family:var(--font-mono); font-weight:400; font-size:var(--fs-micro);
  letter-spacing:.09em; text-transform:uppercase; color:var(--ink-dim); margin:0 0 8px; }
.addon-sub{ font-family:var(--font-body); color:var(--ink-muted); line-height:1.55; margin:0 0 14px; }
.addon-grid{ display:grid; gap:10px; }
.addon-tile{ display:block; width:100%; text-align:left; cursor:pointer;
  background:var(--surface); border:1px solid var(--hairline); border-left:3px solid var(--green);
  border-radius:var(--r-md); padding:14px 16px; transition:border-color .16s ease, transform .16s ease; }
.addon-tile:hover{ border-color:var(--green); transform:translateY(-1px); }
.addon-tile-h{ display:block; font-family:var(--font-body); font-weight:600; color:var(--ink); margin-bottom:3px; }
.addon-tile-b{ display:block; font-family:var(--font-body); font-size:.92rem; line-height:1.5; color:var(--ink-muted); }
.addon-ask{ margin-top:18px; }
.addon-ask-h{ font-family:var(--font-body); font-weight:600; color:var(--ink); margin-bottom:8px; }
.addon-ask-row{ display:flex; gap:10px; align-items:flex-start; }
.addon-ta{ flex:1 1 auto; min-height:52px; resize:vertical; font:inherit; font-family:var(--font-body);
  color:var(--ink); background:var(--surface); border:1px solid var(--hairline);
  border-radius:var(--r-md); padding:13px 14px; }
.addon-ta:focus{ outline:none; border-color:var(--green); }
.addon-ask-row .btn{ flex:0 0 auto; white-space:nowrap; }
.addon-answer{ margin-top:12px; padding:14px 16px; border-radius:var(--r-md);
  background:var(--surface); border:1px solid var(--hairline); border-left:3px solid var(--green);
  font-family:var(--font-body); line-height:1.6; color:var(--ink); }
.addon-answer-src{ font-family:var(--font-mono); font-size:var(--fs-micro); letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-dim); margin-bottom:7px; }
.addon-answer-off{ border-left-color:var(--orange); color:var(--ink-muted); }
@media (max-width:560px){
  .addon-ask-row{ flex-direction:column; }
  .addon-ask-row .btn{ width:100%; }
}
/* prohloubení na podrobnou analýzu = nejsilnější doplnění → oranžový pruh a tón */
.addon-tile--up{ border-left-color:var(--orange); }
.addon-tile--up:hover{ border-color:var(--orange); }
.addon-tile--up .addon-tile-h{ color:var(--orange-deep, var(--orange)); }

/* --- kontrolní obrazovka před výpočtem („chcete něco doplnit?") --------- */
.addon--pred{ margin:4px 0 0; text-align:left; }
.addon--pred .addon-grid{ margin-bottom:14px; }
.addon-hint{ font-family:var(--font-body); font-size:.94rem; color:var(--ink-muted);
  margin:2px 0 12px; line-height:1.5; }
/* co doporučil poradce podle konkrétních odpovědí — odlišené, ne křiklavé */
.addon-tile--ai{ border-left-color:var(--orange); background:linear-gradient(0deg, rgba(224,86,26,.045), rgba(224,86,26,.045)), var(--surface); }
.addon-tile--ai .addon-tile-h::after{ content:" · doporučeno"; font-weight:400; color:var(--ink-dim);
  font-size:.82em; letter-spacing:.02em; }
.addon--pred .addon-ask{ margin-top:16px; }
.addon--pred .addon-ta{ width:100%; }
.addon-akce{ margin-top:18px; display:flex; justify-content:center; }
.addon-akce .btn{ min-width:min(420px, 100%); }
/* doporučené dlaždice ať drží oranžovou i při najetí myší */
.addon-tile--ai:hover{ border-color:var(--orange); }

/* === audit 13. 8. 2026 ================================================== */
/* křížek zavření poradce měl dotykovou plochu 15×24 px */
.advisor-close{ margin-left:auto; min-width:40px; min-height:40px; display:inline-flex;
  align-items:center; justify-content:center; font-size:1.35rem; line-height:1; }
/* plovoucí tlačítko poradce sedí v pravém dolním rohu — na mobilu ať pod ním
   nekončí poslední tlačítko ani text obrazovky */
@media (max-width:700px){
  .stage{ padding-bottom:84px; }
}
@media (pointer: coarse){
  .konto-link{ min-height:40px; display:inline-flex; align-items:center; }
}
/* stejný důvod jako u .btn-primary v hypo.css — kontrast bílého textu 4,93:1 */
.btn, .lead-btn, .nav-cta{ background:var(--orange-deep) !important; }
.btn:hover, .lead-btn:hover{ background:#A83A0A !important; }
