/* VEDOS objednávka — vzhled podle šablony grafika (docs/podklady/grafika/, desktop a mobil)
   a schválených stavů (docs/podklady/grafika/stavy/stavy-objednavky.html), docs/decisions/0008.
   Vše je pod .vo, aby se to nebilo se šablonou WordPressu (Astra) ani s jiným webem kolem.

   Pravidla:
   - barvy a rozměry jen přes tokeny v .vo{…}; nový odstín = nový token,
   - třídy jen s prefixem vo-, stav přes modifikátor (--on, --sel) nebo aria-*,
   - mobil řeší media queries tady, ne JavaScript. */

/* DM Sans (OFL, fonts/OFL-DMSans.txt) pod vlastním jménem: nekoliduje s DM Sans šablony Astra,
   která si stahuje jen řezy 400 a 900. Variabilní soubor = všechny váhy 400–800. */
@font-face { font-family: 'VDS DM Sans'; font-style: normal; font-display: swap; font-weight: 400 800;
  src: url(../fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'VDS DM Sans'; font-style: normal; font-display: swap; font-weight: 400 800;
  src: url(../fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* Plus Jakarta Sans 700 (OFL, fonts/OFL-PlusJakartaSans.txt) pro nadpisy — dřív ji nadpisům dávala šablona
   Astra (h1–h6) z Google Fonts, která se na stránce s formulářem už nenačítají (docs/decisions/0020). */
@font-face { font-family: 'VDS Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 700;
  src: url(../fonts/plus-jakarta-sans-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'VDS Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 700;
  src: url(../fonts/plus-jakarta-sans-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
.vo :is(h1, h2, h3, h4, h5, h6) { font-family: 'VDS Plus Jakarta Sans', 'Plus Jakarta Sans', var(--font); }

body.vo-page { margin: 0; padding: 0; background: #f5f8fc; }
.vo-noscript { padding: 24px; font-family: system-ui, sans-serif; }

/* ── tokeny (hodnoty ze šablony) ───────────────────────────────────── */
.vo {
  --ink: #1c2a4a;
  --ink-2: #3a4a68;
  --muted: #5b6882;
  --muted-2: #4f5d78;
  --primary: #2962ff;
  --link: #1f4fe0;
  --link-hover: #1639a8;
  --primary-soft: #eaf1ff;
  --primary-bg: #f5f9ff;
  --primary-line: #c7d6ff;
  --primary-on: #eef3ff;
  --head-bg: #eaf3fd;
  --bg: #f5f8fc;
  --card: #ffffff;
  --line: #e1e8f2;
  --line-2: #e8edf5;
  --field: #9aa8bf;       /* šablona #cfd8e6 má kontrast 1,5:1 — potřeba 3:1 (stavy, úvod) */
  --chip: #eef2f8;
  --chip-2: #e3e9f3;
  --dash: #b9c8e3;
  --track: #8e9ab0;       /* vypnutý switch: šablona #c3ccdb nemá 3:1 */
  --ok: #11734b;
  --ok-ink: #0d5c3c;
  --ok-bg: #e7f6ee;
  --ok-line: #b7e0c9;
  --red: #c8102e;
  --red-ink: #a8001c;
  --red-bg: #fdebee;
  --err-field-bg: #fffafb;
  --warn-ink: #7a4b00;
  --warn-bg: #fff5e0;
  --warn-line: #f3d9a4;
  --warn-ico: #b36b00;
  --star: #f2a93b;

  --r-sm: 10px;
  --r-md: 12px;
  --r-lg: 14px;
  --r-xl: 16px;
  --r-2xl: 20px;
  --shadow: 0 8px 24px rgba(28,42,74,0.08);
  --shadow-head: 0 2px 10px rgba(28,42,74,0.06);
  --shadow-seg: 0 1px 3px rgba(28,42,74,0.15);
  --shadow-dlg: 0 24px 60px rgba(28,42,74,0.3);
  --pad-card: clamp(18px, 3vw, 28px);
  --pad-row: clamp(16px, 2.5vw, 24px);
  --sticky-top: var(--vo-sticky-top, 0px);
  --head-h-m: 60px;

  --font: 'VDS DM Sans', 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  font-family: var(--font);
  color: var(--ink);
  background: var(--bg);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.vo.vo--embedded { min-height: 0; background: transparent; }
/* Stránka WordPressu s vlastní hlavičkou (docs/decisions/0009, templates/stranka.php): lepí se pod lištu
   administrace, když je vidět (veřejnost ji nemá). Pod 600 px lišta WordPressu odjíždí se stránkou. */
body.vo-page { margin: 0; background: #f5f8fc; }
/* Astra dává body overflow-x:hidden — z body se tím stane posuvný kontejner a hlavička se nelepí. */
html body.vo-page { overflow: visible; }
.vo.vo--page { overflow-x: clip; }
body.vo-page #ast-scroll-top { display: none !important; }
body.admin-bar .vo.vo--page { --vo-sticky-top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { body.admin-bar .vo.vo--page { --vo-sticky-top: 0px; } }
.vo:not(.vo--embedded) .vo-main { flex: 1 0 auto; }

/* ── reset jen uvnitř .vo ───────────────────────────────────────────── */
.vo *, .vo *::before, .vo *::after { box-sizing: border-box; }
.vo h1, .vo h2, .vo h3, .vo h4, .vo p, .vo ul, .vo ol, .vo figure, .vo fieldset, .vo legend { margin: 0; padding: 0; }
.vo fieldset { border: 0; min-width: 0; }
.vo ul, .vo ol { list-style: none; }
.vo button, .vo input, .vo select, .vo textarea { font: inherit; color: inherit; letter-spacing: inherit; margin: 0; }
.vo button { cursor: pointer; background: none; border: 0; padding: 0; text-transform: none; box-shadow: none; line-height: inherit; }
.vo button:disabled { cursor: not-allowed; }
.vo a { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }
.vo a:hover { color: var(--link-hover); }
.vo img, .vo svg { display: block; max-width: 100%; }
.vo svg { flex-shrink: 0; }
.vo :focus { outline: none; }
.vo :focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.vo [hidden] { display: none !important; }
.vo .vo-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.vo .vo-num { font-variant-numeric: tabular-nums; }
.vo .vo-muted { color: var(--muted); }
.vo .vo-nowrap { white-space: nowrap; }
.vo .vo-small { font-size: 13px; line-height: 1.45; }

/* ── tlačítka ───────────────────────────────────────────────────────── */
.vo .vo-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 44px; padding: 0 16px;
  border: 2px solid var(--primary); border-radius: var(--r-sm); background: #fff; color: var(--link);
  font-size: 15px; font-weight: 600; line-height: 1; white-space: nowrap; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.vo .vo-btn:hover { background: var(--primary-bg); color: var(--link-hover); text-decoration: none; }
.vo .vo-btn--primary { background: var(--primary); color: #fff; }
.vo .vo-btn--primary:hover { background: #1f4fe0; border-color: #1f4fe0; color: #fff; }
.vo .vo-btn--on { border-color: var(--ok); background: var(--ok-bg); color: var(--ok-ink); }
.vo .vo-btn--on:hover { background: #d8f0e3; color: var(--ok-ink); }
.vo .vo-btn--ghost { border-color: transparent; background: transparent; }
.vo .vo-btn--ghost:hover { background: var(--primary-bg); }
.vo .vo-btn--off, .vo .vo-btn--off:hover { border-color: var(--line); background: #f7f9fc; color: #6b778d; }
.vo .vo-btn:disabled { opacity: .6; }
.vo .vo-btn--off:disabled { opacity: 1; }
.vo .vo-btn--lg { height: 56px; border-radius: var(--r-md); font-size: 17px; font-weight: 700; }
.vo .vo-btn--sm { height: 36px; padding: 0 12px; font-size: 14px; }
.vo .vo-btn--full { width: 100%; }
.vo .vo-btn--row { min-width: 128px; }
.vo .vo-btn--field { height: 48px; }

.vo .vo-shine { position: relative; overflow: hidden; isolation: isolate; }
.vo .vo-shine::after { content: ""; position: absolute; top: 0; left: -60%; width: 45%; height: 100%; pointer-events: none;
  background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.22) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-20deg); animation: vo-shine 8s ease-in-out infinite; }
@keyframes vo-shine { 0% { left: -60%; } 20% { left: 130%; } 100% { left: 130%; } }

.vo .vo-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--link); font-size: 15px; font-weight: 600; }
.vo .vo-link:hover { color: var(--link-hover); text-decoration: underline; }
.vo .vo-x { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: var(--r-sm); color: var(--muted); }
.vo .vo-x:hover { background: var(--chip); color: var(--ink); }

.vo .vo-spin { animation: vo-spin .8s linear infinite; }
@keyframes vo-spin { to { transform: rotate(360deg); } }

/* ── štítky, ikony, poznámky ────────────────────────────────────────── */
.vo .vo-badge { display: inline-flex; align-items: center; gap: 4px; flex: none; padding: 4px 10px; border-radius: 6px;
  font-size: 13px; font-weight: 600; line-height: 1.3; background: #e3ecff; color: var(--link); }
.vo .vo-badge--promo { background: var(--red-bg); color: var(--red-ink); }
.vo .vo-badge--ok { background: var(--ok-bg); color: var(--ok-ink); }
.vo .vo-badge--gray { background: var(--chip); color: var(--muted-2); }
.vo .vo-save { flex: none; padding: 3px 8px; border-radius: 6px; background: var(--ok-bg); color: var(--ok-ink); font-size: 13px; font-weight: 600; white-space: nowrap; }
.vo .vo-save--pill { padding: 6px 10px; border-radius: 999px; background: var(--ok-bg); color: var(--ok-ink); font-weight: 700; }
.vo .vo-tag { display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 999px; background: var(--chip); color: var(--muted-2); font-size: 12px; font-weight: 600; white-space: nowrap; }
.vo .vo-tag--ok { background: var(--ok-bg); color: var(--ok-ink); }
.vo .vo-tag--rec { background: var(--primary-soft); color: var(--link); }

.vo .vo-ico { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: var(--r-md);
  background: var(--primary-soft); color: var(--link); }
.vo .vo-ico--40 { width: 40px; height: 40px; border-radius: var(--r-sm); }
.vo .vo-ico--56 { width: 56px; height: 56px; }
.vo .vo-ico--plain { background: var(--chip); color: var(--ink); }
.vo .vo-ico--ok { background: var(--ok-bg); color: var(--ok); }
.vo .vo-ico--warn { background: var(--warn-bg); color: var(--warn-ico); }
.vo .vo-ico--red { background: var(--red-bg); color: var(--red); }

.vo .vo-note { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--r-md); font-size: 14px; line-height: 1.45;
  background: var(--primary-soft); color: var(--ink); }
.vo .vo-note > svg { margin-top: 1px; color: var(--link); }
.vo .vo-note > div { flex: 1; min-width: 0; }
.vo .vo-note--ok { background: var(--ok-bg); color: var(--ok-ink); }
.vo .vo-note--ok > svg { color: var(--ok); }
.vo .vo-note--warn { background: var(--warn-bg); color: var(--warn-ink); border: 1px solid var(--warn-line); }
.vo .vo-note--warn > svg { color: var(--warn-ico); }
.vo .vo-note--err { background: var(--red-bg); color: var(--red-ink); }
.vo .vo-note--err > svg { color: var(--red); }
.vo .vo-errlist { margin: 6px 0; padding-left: 20px; }
.vo .vo-errlist li { margin: 2px 0; overflow-wrap: anywhere; }
.vo .vo-note--soft { background: var(--bg); color: var(--ink-2); padding: 16px 18px; border-radius: var(--r-lg); font-size: 15px; line-height: 1.5; }
.vo .vo-note__act { flex: none; }

.vo .vo-skel { display: block; border-radius: 6px; background: linear-gradient(90deg, var(--chip) 0%, #f7f9fc 50%, var(--chip) 100%);
  background-size: 200% 100%; animation: vo-skel 1.4s ease-in-out infinite; }
@keyframes vo-skel { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ── pole formuláře ────────────────────────────────────────────────── */
.vo .vo-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vo .vo-field__label { font-size: 14px; font-weight: 600; color: var(--ink-2); }
.vo .vo-req { color: var(--red); }
.vo .vo-field__opt { margin-left: 4px; font-weight: 400; color: var(--muted); }
.vo .vo-field__box { position: relative; display: flex; align-items: center; }
.vo .vo-field__box > svg { position: absolute; left: 14px; color: var(--muted); pointer-events: none; }
.vo .vo-field input, .vo .vo-field select, .vo .vo-input {
  width: 100%; height: 48px; padding: 0 14px; border: 1.5px solid var(--field); border-radius: var(--r-sm);
  background: #fff; color: var(--ink); font-size: 16px; font-weight: 400; line-height: normal; box-shadow: none; }
.vo .vo-field__box > svg + input { padding-left: 42px; }
.vo .vo-field select, .vo select.vo-input { appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233a4a68' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center; }
.vo .vo-field input:focus, .vo .vo-field select:focus, .vo .vo-input:focus { border-color: var(--primary); outline: 3px solid rgba(41,98,255,.2); outline-offset: 0; }
.vo .vo-field input::placeholder, .vo .vo-input::placeholder { color: #6b778d; }
.vo .vo-field input[readonly] { background: var(--bg); }
.vo .vo-field--sm select, .vo .vo-field--sm input { height: 44px; font-size: 15px; }
.vo .vo-field--err input, .vo .vo-field--err select { border-color: var(--red); background-color: var(--err-field-bg); }
.vo .vo-field--ok input { border-color: var(--ok); }
.vo .vo-field .vo-input--err { border-color: var(--red); background-color: var(--err-field-bg); }
.vo .vo-msg { display: flex; gap: 6px; align-items: flex-start; font-size: 13px; font-weight: 400; color: var(--muted); }
.vo .vo-msg > svg { margin-top: 2px; }
.vo .vo-msg--err { font-weight: 600; color: var(--red-ink); }
.vo .vo-msg--ok { font-weight: 600; color: var(--ok); }

.vo .vo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.vo .vo-grid--3 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.vo .vo-grid--co { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.vo .vo-phone { display: flex; gap: 8px; }
.vo .vo-phone > select { width: 128px; flex: none; }
.vo .vo-phone > input { flex: 1; min-width: 0; }
.vo .vo-grid > .vo-field--phone { grid-column: span 2; }
.vo .vo-inline { display: flex; gap: 10px; align-items: flex-end; }
.vo .vo-inline > .vo-field { flex: 1; }
.vo .vo-inline--top { align-items: flex-start; }
.vo .vo-inline--top > .vo-btn { margin-top: 26px; }

.vo .vo-check { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.45; color: var(--ink); cursor: pointer; }
.vo .vo-check input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--primary); cursor: pointer; }
.vo .vo-check__sub { display: block; font-size: 14px; color: var(--muted); }
.vo .vo-check--err { color: var(--red-ink); }
.vo .vo-check-wrap > .vo-msg { margin: 4px 0 0 32px; }

/* segmentový přepínač (Registrovat / Už mám, FO / Firma) */
.vo .vo-seg { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--chip); }
.vo .vo-seg--narrow { max-width: 420px; }
.vo .vo-seg__opt { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 16px;
  border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--muted-2); white-space: nowrap; }
.vo .vo-seg__opt[aria-pressed="true"], .vo .vo-seg__opt[aria-checked="true"] { background: #fff; color: var(--ink); box-shadow: var(--shadow-seg); }
.vo .vo-seg--sm { padding: 3px; gap: 3px; background: var(--chip-2); }
.vo .vo-seg--sm .vo-seg__opt { height: 40px; font-size: 14px; }

/* switch (služby k doméně) */
.vo .vo-switch { display: flex; align-items: center; justify-content: center; width: 64px; height: 44px; flex: none; }
.vo .vo-switch__track { position: relative; display: block; width: 52px; height: 30px; border-radius: 999px; background: var(--track); transition: background .15s; }
.vo .vo-switch__knob { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 999px; background: #fff;
  box-shadow: 0 1px 3px rgba(28,42,74,.3); transition: left .15s; }
.vo .vo-switch[aria-checked="true"] .vo-switch__track { background: var(--primary); }
.vo .vo-switch[aria-checked="true"] .vo-switch__knob { left: 25px; }

/* ── záhlaví a krokovník ───────────────────────────────────────────── */
.vo .vo-head { position: sticky; top: var(--sticky-top); z-index: 40; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
  gap: 12px 24px; min-height: 76px; padding: 14px clamp(16px, 5vw, 64px); background: #fff; border-bottom: 1px solid var(--line-2); box-shadow: var(--shadow-head); }
.vo.vo--embedded .vo-head { min-height: 0; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--r-xl); }
.vo .vo-head__logo { display: flex; align-items: center; flex: none; }
.vo .vo-head__logo img { height: 30px; width: auto; }
/* Dev stránka (docs/decisions/0013): nepřehlédnutelné, ať se nezamění s ostrou objednávkou. */
.vo .vo-devbadge { flex: none; padding: 4px 10px; border-radius: 999px; background: #f59e0b; color: #1c1405; font-size: 12px; font-weight: 800; letter-spacing: .06em; }
/* Na vlastní hlavičce mimo tok pod logem — v řádku by zalomil krokovník a nástroje. */
.vo:not(.vo--embedded) .vo-devbadge { position: absolute; left: clamp(16px, 5vw, 64px); bottom: 4px; padding: 1px 8px; font-size: 10px; line-height: 1.3; }
.vo .vo-head__tools { display: flex; align-items: center; gap: 8px 16px; flex-wrap: wrap; margin-left: auto; }
.vo .vo-head__pickers { display: flex; gap: 6px; }
.vo .vo-steps { display: flex; gap: 8px; flex-wrap: wrap; }
.vo .vo-steps-nav--m { display: none; }
.vo .vo-pick__short { display: none; }
.vo .vo-step { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 6px; border-radius: 999px;
  font-size: 14px; font-weight: 600; text-decoration: none; background: var(--chip); color: var(--ink-2); transition: background .2s, color .2s; }
.vo .vo-step:hover { color: inherit; filter: brightness(.97); }
/* Šablona webu (Astra) podtrhává odkazy v obsahu silnějším selektorem — odkazy ve tvaru tlačítka ne. */
.vo a.vo-step, .vo a.vo-btn, .vo a.vo-account, .vo a.vo-head__logo { text-decoration: none !important; }
.vo .vo-step__n { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px;
  background: #fff; color: var(--ink); font-size: 13px; font-weight: 700; }
.vo .vo-step--done { background: var(--ok-bg); color: var(--ok-ink); }
.vo .vo-step[aria-current="step"] { background: var(--ink); color: #fff; }
.vo .vo-steps > li { display: flex; align-items: center; gap: 8px; }
.vo .vo-steps__sep { display: none; }
/* Vlastní hlavička (samostatná stránka): tmavé pozadí, bílé logo, kroky jako text se šipkami,
   aktuální krok modrá pilulka (grafik 2026-10-13, předloha LWS). Vložený formulář zůstává světlý. */
.vo:not(.vo--embedded) .vo-head { background: var(--ink); border-bottom: 0; box-shadow: 0 2px 12px rgba(10,20,40,.25); }
.vo:not(.vo--embedded) .vo-steps, .vo:not(.vo--embedded) .vo-steps > li { gap: 4px; }
/* Krokovník vedle loga s větší mezerou. Ikona a fajfka mají stejně široké místo,
   takže se krok po dokončení nerozšíří a kroky neposkočí (grafik 13. 10.). */
@media (min-width: 761px) { .vo:not(.vo--embedded) .vo-head .vo-steps-nav { margin-left: 8px; } }
/* Jméno přihlášeného je v nabídce účtu; v hlavičce by pod 1440 px zalomilo řádek → jen iniciály. */
@media (max-width: 1439px) {
  .vo:not(.vo--embedded) .vo-head .vo-account__t { display: none; }
  .vo:not(.vo--embedded) .vo-head .vo-account { padding: 0 10px 0 4px; gap: 6px; }
}
@media (min-width: 1440px) { .vo:not(.vo--embedded) .vo-head .vo-steps-nav { margin-left: 40px; } }
.vo:not(.vo--embedded) .vo-steps__sep { display: block; flex: none; color: rgba(255,255,255,.55); }
.vo:not(.vo--embedded) .vo-step { gap: 6px; padding: 0 12px; border-radius: var(--r-sm); background: transparent; color: #fff; font-size: 15px; }
.vo:not(.vo--embedded) .vo-step:hover { filter: none; background: rgba(255,255,255,.1); color: #fff; }
.vo:not(.vo--embedded) .vo-step[aria-current="step"] { background: var(--primary); color: #fff; }
.vo:not(.vo--embedded) .vo-step__n { width: 16px; height: auto; background: none; color: inherit; }
.vo:not(.vo--embedded) .vo-step--done .vo-step__n { color: #6ee7a8; }
/* Zamčený krok (docs/decisions/0022) — na obou hlavičkách. */
.vo .vo-step--locked, .vo:not(.vo--embedded) .vo-step--locked { opacity: .45; cursor: not-allowed; }
.vo .vo-step--locked:hover, .vo:not(.vo--embedded) .vo-step--locked:hover { filter: none; background: transparent; }
.vo:not(.vo--embedded) .vo-head .vo-pick__btn, .vo:not(.vo--embedded) .vo-head .vo-head__login, .vo:not(.vo--embedded) .vo-head .vo-account {
  border-color: rgba(255,255,255,.3); background: transparent; color: #fff; }
.vo:not(.vo--embedded) .vo-head .vo-pick__btn:hover, .vo:not(.vo--embedded) .vo-head .vo-head__login:hover, .vo:not(.vo--embedded) .vo-head .vo-account:hover {
  border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.1); color: #fff; }
.vo:not(.vo--embedded) .vo-head :focus-visible, .vo:not(.vo--embedded) .vo-steps-nav--m :focus-visible { outline-color: #fff; }
.vo:not(.vo--embedded) .vo-head .vo-account__av { background: #fff; color: var(--ink); }
.vo:not(.vo--embedded) .vo-head .vo-account__s { color: #6ee7a8; }
.vo:not(.vo--embedded) .vo-head .vo-account__s::before { background: #6ee7a8; }
.vo .vo-account { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px 0 4px; border: 1px solid var(--line); border-radius: 999px;
  background: #fff; color: var(--ink); text-decoration: none; }
.vo .vo-account:hover { text-decoration: none; background: var(--bg); color: var(--ink); }
.vo .vo-account__av { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 14px; font-weight: 700; }
.vo .vo-account__t { display: flex; flex-direction: column; line-height: 1.2; font-size: 14px; font-weight: 600; }
.vo .vo-account__s { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--ok); }
.vo .vo-account__s::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--ok); }
.vo .vo-account__chev { flex: none; opacity: .8; }
.vo .vo-account__menu { min-width: 240px; width: max-content; max-width: min(340px, calc(100vw - 32px)); }
.vo .vo-account__who { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px 10px; margin-bottom: 4px; border-bottom: 1px solid var(--line-2);
  font-size: 14px; color: var(--ink); overflow-wrap: anywhere; }
.vo .vo-account__who span { font-size: 13px; color: var(--muted); }
.vo .vo-account__menu .vo-pick__opt { align-items: center; text-decoration: none; }
.vo .vo-account__menu .vo-pick__opt svg { color: var(--muted); }

/* výběr jazyka a měny */
.vo .vo-pick { position: relative; }
.vo .vo-pick__btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 10px 0 12px; border: 1px solid var(--line); border-radius: var(--r-sm);
  background: #fff; color: var(--ink); font-size: 14px; font-weight: 600; }
.vo .vo-pick__btn:hover { border-color: var(--field); }
.vo .vo-pick__menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; display: flex; flex-direction: column; min-width: 200px; max-height: 360px; overflow: auto;
  padding: 6px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; box-shadow: var(--shadow); }
.vo .vo-pick__menu--grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px; width: min(640px, calc(100vw - 32px)); }
.vo .vo-pick__opt { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 8px; color: var(--ink); font-size: 15px; text-align: left; }
.vo .vo-pick__opt:hover { background: var(--chip); }
.vo .vo-pick__opt[aria-selected="true"] { background: var(--primary-soft); font-weight: 700; }
.vo .vo-pick__opt small { color: var(--muted); font-weight: 600; font-size: 13px; }
.vo.vo-lang-site .vo-pick--lang { display: none !important; }

.vo .vo-testbar { margin: 12px 0 0; padding: 10px 16px; border: 1px solid var(--warn-line); border-radius: var(--r-md); background: var(--warn-bg);
  color: var(--warn-ink); font-size: 14px; font-weight: 600; text-align: center; }

/* ── rozvržení ─────────────────────────────────────────────────────── */
.vo .vo-main { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; width: 100%; max-width: 1360px; margin: 0 auto;
  padding: clamp(24px, 4vw, 48px) clamp(12px, 5vw, 64px) 80px; }
.vo.vo--embedded .vo-main { padding: 32px 0 48px; }
.vo .vo-flow { display: flex; flex-direction: column; gap: 56px; min-width: 0; flex: 999 1 600px; }
.vo .vo-aside { flex: 1 1 340px; min-width: 0; }
.vo .vo-sec { display: flex; flex-direction: column; gap: 20px; scroll-margin-top: calc(var(--sticky-top) + 96px); }
.vo .vo-sec__head { display: flex; flex-direction: column; gap: 10px; }
.vo .vo-sec__tag { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--link); }
.vo .vo-sec__num { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 15px; letter-spacing: 0; }
.vo .vo-sec__title { font-size: clamp(24px, 2.6vw, 28px); line-height: 1.2; font-weight: 700; letter-spacing: -.02em; color: var(--ink); }
.vo .vo-sec__lead { font-size: 16px; line-height: 1.5; color: var(--muted-2); }
.vo .vo-sec--locked { gap: 12px; }
.vo .vo-sec--locked .vo-sec__num { background: var(--muted); }
.vo .vo-sec--locked .vo-sec__tag, .vo .vo-sec--locked .vo-sec__title { color: var(--muted); }
.vo .vo-locked { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border: 2px dashed var(--dash); border-radius: var(--r-lg); color: var(--muted-2); font-size: 15px; line-height: 1.4; }
.vo .vo-locked svg { flex: none; color: var(--muted); }
.vo .vo-card { display: flex; flex-direction: column; gap: 20px; padding: var(--pad-card); border: 1px solid var(--line); border-radius: var(--r-2xl); background: var(--card); }
.vo .vo-card--center { align-items: center; text-align: center; gap: 12px; }
.vo .vo-card__title { font-size: 18px; font-weight: 700; }
.vo .vo-h3 { font-size: 20px; font-weight: 700; color: var(--ink); }
.vo .vo-between { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.vo .vo-count { font-size: 14px; font-weight: 600; color: var(--muted); }

/* ── krok 1: hledání ───────────────────────────────────────────────── */
.vo .vo-search { display: flex; gap: 10px; flex-wrap: wrap; }
.vo .vo-search__box { flex: 999 1 320px; display: flex; align-items: center; gap: 10px; height: 56px; min-width: 0; padding: 0 16px;
  border: 2px solid var(--primary); border-radius: var(--r-md); background: #fff; color: var(--muted); }
.vo .vo-search__box:focus-within { outline: 3px solid rgba(41,98,255,.2); outline-offset: 0; }
/* Hledání je uvnitř form.vo-field — rámeček polí formuláře (a :focus-visible) nesmí na vnitřní input, focus kreslí box. */
.vo .vo-field .vo-search__box input:focus, .vo .vo-field .vo-search__box input:focus-visible { border: 0; outline: none; box-shadow: none; }
.vo .vo-search__box input { flex: 1; min-width: 0; height: 100%; border: 0; outline: none; background: transparent; box-shadow: none; padding: 0;
  color: var(--ink); font-size: 18px; font-weight: 600; }
.vo .vo-search__box input::placeholder { color: #6b778d; font-weight: 500; }
.vo .vo-search__box--err { border-color: var(--red); background: var(--err-field-bg); }
.vo .vo-search__btn { height: 56px; padding: 0 24px; border-radius: var(--r-md); font-size: 17px; flex: none; }
.vo .vo-ticks { display: flex; gap: 8px 20px; flex-wrap: wrap; font-size: 14px; font-weight: 600; }
.vo .vo-ticks > span { display: flex; align-items: center; gap: 6px; color: var(--ink-2); }
.vo .vo-ticks svg { color: var(--ok); }

/* Hlavní box hledání zvýrazněný (grafik 12. 10., varianta E = A + D): jemně modrý podklad,
   záře vpravo nahoře, stín; odrážky jako bílé štítky. Modrá linka nahoře pryč (15. 10.). */
.vo .vo-card--hero { position: relative; overflow: hidden; border: 1px solid var(--primary-line);
  background: radial-gradient(420px 220px at 100% 0%, rgba(41,98,255,.12), transparent 70%), linear-gradient(180deg, #f5f9ff, #eaf1ff);
  box-shadow: 0 14px 36px rgba(41,98,255,.12), 0 2px 6px rgba(28,42,74,.05); }
.vo .vo-card--hero .vo-seg { background: rgba(41,98,255,.1); }
.vo .vo-modehint { margin: -6px 0 0; font-size: 15px; color: var(--ink-2); }
.vo .vo-card--hero .vo-search__box { border-color: var(--primary); }
.vo .vo-card--hero .vo-ticks { gap: 8px 10px; margin-top: 6px; }
.vo .vo-card--hero .vo-ticks > span { padding: 6px 12px; border-radius: 999px; background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(28,42,74,.08); }
.vo .vo-card--hero .vo-ticks svg { color: var(--primary); }

.vo .vo-res { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r-2xl); overflow: hidden; background: #fff; }
.vo .vo-res__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px var(--pad-row); background: var(--head-bg);
  font-size: 14px; font-weight: 600; color: var(--ink-2); }
.vo .vo-res__head > span:last-child { color: var(--muted); }
.vo .vo-res > .vo-note { margin: 12px var(--pad-row); }
.vo .vo-row { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; padding: 16px var(--pad-row);
  border-top: 1px solid var(--line-2); background: #fff; }
.vo .vo-row--in { background: var(--primary-bg); }
/* Karta „Výhodný balíček“ nad tabulkou výsledků (docs/decisions/0021, návrh A1 19. 10.): lehce zelená */
.vo .vo-bcard { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
  padding: 22px var(--pad-row); margin-bottom: 16px; border: 1px solid var(--ok-line); border-radius: var(--r-2xl); background: #f1faf5; }
.vo .vo-bcard--in { background: var(--ok-bg); }
.vo .vo-bcard__id { display: flex; align-items: center; gap: 18px; flex: 1 1 240px; min-width: 0; }
.vo .vo-bcard .vo-ico { background: #d9f0e3; }
.vo .vo-bcard__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.vo .vo-bcard__eyebrow { color: var(--ok-ink); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.vo .vo-bcard__name { color: var(--ink); font-size: clamp(18px, 2vw, 22px); font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.vo .vo-bcard__sub { color: var(--muted); font-size: 15px; }
.vo .vo-bcard__side { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 20px; flex: 0 1 auto; }
@media (max-width: 760px) {
  .vo .vo-bcard { flex-direction: column; align-items: stretch; }
  .vo .vo-bcard__id, .vo .vo-bcard__side { flex: none; }
  .vo .vo-bcard__id .vo-ico { width: 44px; height: 44px; }
  .vo .vo-bcard__side { justify-content: space-between; }
  .vo .vo-bcard__side .vo-btn { flex: 1 1 100%; }
}
.vo .vo-row--dim { background: #fafbfd; }
.vo .vo-row__main { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 999 1 220px; }
.vo .vo-row__line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.vo .vo-row__name { font-size: 18px; font-weight: 700; color: var(--ink); overflow-wrap: anywhere; }
.vo .vo-st { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--muted); }
.vo .vo-st--ok { color: var(--ok); }
.vo .vo-st--ok::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: currentColor; flex: none; }
.vo .vo-st--trn { color: #8a5a00; }
.vo .vo-st--err { color: var(--red-ink); }
.vo .vo-row__side { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 20px; flex: 1 1 auto; }
.vo .vo-price { display: flex; flex-direction: column; gap: 2px; align-items: flex-end; }
.vo .vo-price__main { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.vo .vo-price__main s { font-size: 14px; color: var(--muted); }
.vo .vo-price__amt { font-size: 18px; font-weight: 700; color: var(--ink); }
.vo .vo-price__amt--promo { color: var(--red); }
.vo .vo-price__unit { font-size: 14px; font-weight: 500; color: var(--muted); }
.vo .vo-price__sub { font-size: 13px; color: var(--muted); white-space: nowrap; }
.vo .vo-more { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 52px; border: 2px dashed var(--dash); border-radius: var(--r-lg);
  background: transparent; color: var(--link); font-size: 16px; font-weight: 600; }
.vo .vo-more:hover { background: var(--primary-bg); }

/* ── krok 1: vaše domény ───────────────────────────────────────────── */
.vo .vo-doms { display: flex; flex-direction: column; gap: 14px; }
.vo .vo-dcard { gap: 20px; }
.vo .vo-dcard__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.vo .vo-dcard__id { display: flex; gap: 14px; align-items: center; min-width: 0; }
.vo .vo-dcard__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vo .vo-dcard__sub { font-size: 14px; color: var(--muted); }
.vo .vo-dcard__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 14px 20px; }
.vo .vo-dcard__row > .vo-field { flex: 1 1 220px; max-width: 280px; }
.vo .vo-dcard__price { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
.vo .vo-dcard__amt { display: flex; flex-direction: column; align-items: flex-end; }
.vo .vo-dcard__amt b { font-size: 20px; font-weight: 700; white-space: nowrap; }
.vo .vo-dcard__amt s { font-size: 14px; color: var(--muted); white-space: nowrap; }
.vo .vo-dcard__note { margin-top: -8px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.vo .vo-svcs { display: flex; flex-direction: column; gap: 10px; padding-top: 16px; border-top: 1px solid var(--line-2); }
.vo .vo-svcs__h { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.vo .vo-eyebrow { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--link); }
.vo .vo-eyebrow--ink { color: var(--ink-2); margin-top: 8px; }
.vo .vo-svc { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; }
.vo .vo-svc--on { border-color: var(--primary-line); background: var(--primary-on); }
.vo .vo-svc__id { display: flex; gap: 12px; align-items: center; min-width: 0; flex: 999 1 260px; }
.vo .vo-svc__t { font-size: 16px; font-weight: 700; color: var(--ink); }
.vo .vo-svc__d { font-size: 13px; line-height: 1.45; color: var(--muted); }
.vo .vo-svc__ctl { display: flex; align-items: center; justify-content: flex-end; gap: 14px; flex: 1 1 360px; }
.vo .vo-svc__ctl > .vo-field { flex: 1 1 200px; max-width: 240px; }
.vo .vo-svc__price { font-size: 15px; font-weight: 700; color: var(--ink); white-space: nowrap; }
.vo .vo-auth { display: flex; flex-direction: column; gap: 14px; padding-top: 16px; border-top: 1px solid var(--line-2); }
.vo .vo-auth__send { display: flex; gap: 10px 14px; align-items: center; flex-wrap: wrap; }

/* ── krok 2: hosting ───────────────────────────────────────────────── */
.vo .vo-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.vo .vo-chip { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 8px 0 14px; border: 2px solid var(--line); border-radius: 999px;
  background: #fff; color: var(--ink); font-size: 15px; font-weight: 600; }
.vo .vo-chip:hover { border-color: var(--field); }
.vo .vo-chip[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: #fff; }
.vo .vo-chip__tag { padding: 4px 8px; border-radius: 999px; background: var(--chip); color: var(--muted-2); font-size: 12px; font-weight: 600; }
.vo .vo-chip__tag--ok { background: var(--ok-bg); color: var(--ok-ink); }
.vo .vo-chip[aria-pressed="true"] .vo-chip__tag { background: rgba(255,255,255,.18); color: #fff; }
.vo .vo-card__h { display: flex; gap: 14px; align-items: center; min-width: 0; }
.vo .vo-card__h b { display: block; font-size: 17px; font-weight: 700; }
.vo .vo-card__h span span { display: block; font-size: 14px; line-height: 1.45; color: var(--muted); }
.vo .vo-types { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.vo .vo-type { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 2px solid var(--line); border-radius: var(--r-lg); background: #fff; cursor: pointer; }
.vo .vo-type:hover { border-color: var(--field); }
.vo .vo-type--sel, .vo .vo-type--sel:hover { border-color: var(--primary); background: var(--primary-bg); }
.vo .vo-type input, .vo .vo-tier input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--primary); cursor: pointer; }
.vo .vo-type__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.vo .vo-type__t { font-size: 16px; font-weight: 700; color: var(--ink); }
.vo .vo-type__d { font-size: 13px; line-height: 1.45; color: var(--muted); }
.vo .vo-type__p { font-size: 14px; font-weight: 700; color: var(--ink); }
.vo .vo-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; padding-top: 14px; align-items: stretch; }
.vo .vo-tier { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 22px 20px; border: 2px solid var(--line); border-radius: var(--r-xl);
  background: #fff; cursor: pointer; }
.vo .vo-tier:hover { border-color: var(--field); }
.vo .vo-tier--sel, .vo .vo-tier--sel:hover { border-color: var(--primary); background: var(--primary-bg); }
.vo .vo-tier input { width: 22px; height: 22px; }
.vo .vo-tier__rec { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 5px 10px; border-radius: 999px; background: var(--primary);
  color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.vo .vo-tier__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.vo .vo-tier__name { display: block; font-size: 20px; font-weight: 700; color: var(--ink); }
.vo .vo-tier__fit { display: block; font-size: 13px; font-weight: 600; color: var(--muted); }
.vo .vo-tier__amt { font-size: 26px; font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.vo .vo-tier__unit { font-size: 15px; font-weight: 500; color: var(--muted); }
.vo .vo-tier__billed { display: block; font-size: 13px; color: var(--muted); }
.vo .vo-feats { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.vo .vo-feats li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.4; color: var(--ink); }
.vo .vo-feats svg { margin-top: 1px; color: var(--ok); }
.vo .vo-period { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; }
.vo .vo-period__l { font-size: 14px; font-weight: 600; color: var(--ink-2); }

/* ── krok 3: údaje ─────────────────────────────────────────────────── */
.vo .vo-acct { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 16px 14px 20px;
  border: 1px solid var(--primary-line); border-radius: var(--r-xl); background: var(--primary-soft); }
.vo .vo-acct__t { display: flex; flex-direction: column; gap: 2px; }
.vo .vo-acct__t b { font-size: 16px; color: var(--ink); }
.vo .vo-acct__t span { font-size: 14px; color: var(--muted); }
.vo .vo-acct--in { border-color: transparent; background: var(--ok-bg); color: var(--ok-ink); }
.vo .vo-acct--in > span { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; }
.vo .vo-acct--in .vo-btn { border: 1px solid var(--ok-line); background: #fff; color: var(--ok-ink); }
.vo .vo-acct--gate { padding: 20px 20px 20px 24px; }
.vo .vo-acct--gate .vo-acct__t { flex: 1 1 320px; }
.vo .vo-autoacct { font-size: 14px; color: var(--muted); }
.vo .vo-ownerbox { display: flex; flex-direction: column; gap: 16px; padding-top: 18px; border-top: 1px solid var(--line-2); }
.vo .vo-owner { display: flex; flex-direction: column; gap: 16px; padding: 20px; border-radius: var(--r-xl); background: var(--bg); }
.vo .vo-owner__h { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.vo .vo-owner__h b { font-size: 17px; }
.vo .vo-reg { display: flex; flex-direction: column; gap: 18px; }
.vo .vo-reg__tld { font-size: 14px; font-weight: 700; color: var(--ink-2); }
.vo .vo-consents { display: flex; flex-direction: column; gap: 14px; padding: 0 4px; }
.vo .vo-consents .vo-check__data { font-size: 14px; color: var(--muted-2); }

/* ── souhrn ────────────────────────────────────────────────────────── */
.vo .vo-sum { display: flex; flex-direction: column; gap: 18px; padding: 24px; border: 1px solid var(--line); border-radius: var(--r-2xl); background: #fff; box-shadow: var(--shadow);
  scroll-margin-top: calc(var(--sticky-top) + 96px); }
.vo .vo-sum__title { font-size: 20px; font-weight: 700; }
.vo .vo-sum__empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 20px; border-radius: var(--r-md); background: var(--bg);
  font-size: 15px; line-height: 1.5; color: var(--muted); text-align: center; }
.vo .vo-sum__empty b { color: var(--ink); font-size: 16px; }
.vo .vo-items { display: flex; flex-direction: column; }
.vo .vo-item { display: flex; flex-direction: column; padding: 8px 0; border-bottom: 1px solid var(--line-2); }
.vo .vo-line { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; align-items: center; }
.vo .vo-line__t { display: block; font-size: 16px; font-weight: 700; color: var(--ink); overflow-wrap: anywhere; }
.vo .vo-line__s { display: block; font-size: 13px; color: var(--muted); }
.vo .vo-line__s--warn { color: var(--warn-ink); font-weight: 600; }
.vo .vo-line__a { font-size: 15px; font-weight: 600; color: var(--ink); white-space: nowrap; text-align: right; }
.vo .vo-line__a s { display: block; font-size: 12px; font-weight: 400; color: var(--muted); }
.vo .vo-subs { display: flex; flex-direction: column; margin: 4px 0 0 6px; padding-left: 12px; border-left: 2px solid var(--line); }
.vo .vo-subs .vo-line__t { font-size: 14px; font-weight: 600; }
.vo .vo-subs .vo-line__s { font-size: 12px; }
.vo .vo-subs .vo-line__a { font-size: 14px; }
.vo .vo-coupon-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vo .vo-cchip { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 6px 0 12px; border-radius: 999px; background: var(--ok-bg); color: var(--ok-ink); font-size: 14px; font-weight: 700; }
.vo .vo-cchip--err { background: var(--red-bg); color: var(--red-ink); }
.vo .vo-cchip--wait { background: var(--chip); color: var(--ink-2); }
/* Přepočet ceny po kuponu (summary.js recalculating) — místo částky, stejná výška řádku. */
.vo .vo-recalc { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.vo .vo-cchip button { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 999px; background: rgba(13,92,60,.12); color: inherit; }
.vo .vo-coupon { display: flex; flex-direction: column; gap: 10px; }
.vo .vo-coupon .vo-field input { text-transform: uppercase; }
.vo .vo-sumrow { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; color: var(--ink-2); }
.vo .vo-sumrow b { font-weight: 600; color: var(--ink); white-space: nowrap; }
.vo .vo-sumrow--disc, .vo .vo-sumrow--disc b { color: var(--ok); }
.vo .vo-sumrows { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid var(--line-2); }
.vo .vo-total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 4px 12px; padding-top: 14px; border-top: 1px solid var(--line-2); }
.vo .vo-total__l { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.vo .vo-total__l b { font-size: 16px; font-weight: 700; white-space: nowrap; }
.vo .vo-total__l span { font-size: 13px; color: var(--muted); }
.vo .vo-total__l .vo-save { color: var(--ok-ink); font-weight: 600; }
.vo .vo-total__v { margin-left: auto; font-size: 24px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.vo .vo-pay { display: flex; flex-direction: column; gap: 24px; }
.vo .vo-pay__group { display: flex; flex-direction: column; gap: 10px; }
.vo .vo-pay__gl { font-size: 15px; font-weight: 600; color: var(--muted); }
.vo .vo-pay__opt { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; min-height: 64px; padding: 12px 20px;
  border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; cursor: pointer; }
.vo .vo-pay__opt:hover { border-color: var(--primary-line); }
.vo .vo-pay__opt--sel, .vo .vo-pay__opt--sel:hover { border-color: var(--primary); background: var(--primary-bg); box-shadow: inset 0 0 0 1px var(--primary); }
.vo .vo-pay__opt input { width: 20px; height: 20px; margin: 0; accent-color: var(--primary); cursor: pointer; }
.vo .vo-pay__t { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; min-width: 0; font-size: 16px; line-height: 22px; }
.vo .vo-pay__t .vo-tag { padding: 2px 8px; }
.vo .vo-pay__d { grid-column: 2 / -1; font-size: 14px; color: var(--muted); }
.vo .vo-pay__logos { display: flex; align-items: center; gap: 6px; flex: none; color: var(--ink-2); }
.vo .vo-pay__logos img { width: 48px; height: 32px; border-radius: 4px; }
.vo .vo-pay__logo { display: flex; align-items: center; justify-content: center; width: 48px; height: 32px; padding: 4px 5px; border-radius: 4px; background: #fff; }
.vo .vo-pay__logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; border-radius: 0; }
.vo .vo-pay__more { display: none; font-size: 13px; font-weight: 700; color: var(--muted); }
.vo .vo-pay__tip { margin-bottom: 20px; }
.vo .vo-trust { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line-2); font-size: 14px; font-weight: 600; color: var(--ink-2); }
.vo .vo-trust > span { display: flex; align-items: center; gap: 10px; }
.vo .vo-trust svg { color: var(--ok); }
.vo .vo-rating { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: var(--r-lg); background: var(--bg); }
.vo .vo-rating__top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 15px; font-weight: 700; }
.vo .vo-stars { display: flex; gap: 1px; color: var(--star); }
.vo .vo-stars .vo-star--off { color: #d5dceb; }
.vo .vo-rating__note { font-size: 13px; line-height: 1.5; color: var(--muted-2); }
.vo .vo-rating__note b, .vo .vo-rating__note strong { color: var(--ink); }

/* mobilní lišta s cenou (šablona Mobile.dc.html) */
.vo .vo-mbar { position: sticky; bottom: 0; z-index: 35; display: none; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px;
  border-top: 1px solid var(--line); background: #fff; box-shadow: 0 -6px 18px rgba(28,42,74,.08); }
.vo .vo-mbar__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vo .vo-mbar__t span { font-size: 13px; color: var(--muted); }
.vo .vo-mbar__t b { font-size: 20px; font-weight: 700; white-space: nowrap; }
.vo .vo-mbar .vo-btn { height: 48px; border-radius: var(--r-md); font-size: 16px; font-weight: 700; }

/* ── dialogy a toasty ──────────────────────────────────────────────── */
.vo .vo-dialog { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 28px 16px; }
.vo .vo-dialog__bg { position: absolute; inset: 0; background: rgba(28,42,74,.55); }
.vo .vo-dialog__panel { position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 56px); overflow: auto; display: flex; flex-direction: column; gap: 18px;
  padding: 26px; border-radius: var(--r-2xl); background: #fff; box-shadow: var(--shadow-dlg); }
.vo .vo-dialog__panel--wide { max-width: 640px; }
.vo .vo-dialog__head { display: flex; gap: 14px; align-items: flex-start; }
.vo .vo-dialog__head h3 { margin: 0 0 4px; font-size: 20px; line-height: 1.3; }
.vo .vo-dialog__head p { font-size: 15px; color: var(--muted-2); }
.vo .vo-dialog__list { display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.vo .vo-dialog__list > div { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.vo .vo-dialog__list .vo-eyebrow { font-size: 12px; }
.vo .vo-dialog__price { display: flex; flex-direction: column; gap: 6px; padding-top: 10px; border-top: 1px dashed var(--line); }
.vo .vo-dialog__foot { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.vo .vo-bigtotal { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; padding-top: 12px; border-top: 1px dashed var(--line); }
.vo .vo-bigtotal > b { font-size: 26px; letter-spacing: -.02em; white-space: nowrap; }
.vo .vo-bigtotal__l b { display: block; font-size: 16px; }
.vo .vo-bigtotal__l span { font-size: 13px; color: var(--muted); }

.vo .vo-toast { position: fixed; right: 24px; bottom: 24px; z-index: 100001; display: flex; gap: 12px; align-items: flex-start; max-width: 440px;
  padding: 14px 16px; border-radius: var(--r-lg); border-left: 4px solid #45d18e; background: var(--ink); color: #fff;
  box-shadow: 0 12px 32px rgba(28,42,74,.3); font-size: 14px; line-height: 1.45; }
.vo .vo-toast--err { border-left-color: #ff6b81; }
.vo .vo-toast--warn { border-left-color: #ffc04d; }
.vo .vo-toast > svg { margin-top: 1px; }
.vo .vo-toast button { margin-left: auto; display: flex; padding: 2px; color: #c6cfdf; }

/* ── po objednávce ─────────────────────────────────────────────────── */
.vo .vo-done { display: flex; flex-direction: column; gap: 20px; width: 100%; max-width: 880px; margin: 0 auto; padding: 32px 0 48px; }
.vo:not(.vo--embedded) .vo-done { padding: 32px 16px 64px; }
.vo .vo-hero { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 12px 0; text-align: center; }
.vo .vo-hero h2 { font-size: clamp(26px, 3vw, 32px); line-height: 1.2; letter-spacing: -.02em; }
.vo .vo-hero p { max-width: 560px; color: var(--muted-2); }
.vo .vo-hero__badge { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; border-radius: 999px;
  background: linear-gradient(135deg, #2ecc8a, var(--ok)); color: #fff; box-shadow: 0 10px 30px rgba(17,115,75,.3); }
.vo .vo-hero__badge--warn { background: linear-gradient(135deg, #ffb84d, #e07b00); box-shadow: 0 10px 30px rgba(224,123,0,.3); }
.vo .vo-orderid { display: inline-flex; align-items: center; gap: 10px; padding: 8px 8px 8px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 15px; }
.vo .vo-copy { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-left: 6px; border-radius: 8px;
  background: var(--chip); color: var(--ink-2); vertical-align: middle; }
.vo .vo-qr { border: 1px solid var(--line); border-radius: var(--r-2xl); background: #fff; overflow: hidden; }
.vo .vo-qr__bar { display: flex; gap: 8px; align-items: center; padding: 12px 20px; background: var(--ok-bg); color: var(--ok-ink); font-size: 15px; font-weight: 700; }
.vo .vo-qr__in { display: grid; grid-template-columns: 220px 1fr; gap: 28px; padding: 24px; align-items: center; }
.vo .vo-qr__in--noqr { grid-template-columns: 1fr; }
.vo .vo-qr__code { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.vo .vo-qr__code small { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.vo .vo-qr__h { margin-bottom: 12px; font-size: 15px; font-weight: 700; }
.vo .vo-qr__grid { display: grid; grid-template-columns: auto 1fr; gap: 10px 18px; align-items: center; font-size: 15px; }
.vo .vo-qr__grid > span { color: var(--muted); }
.vo .vo-qr__amt { font-size: 24px; letter-spacing: -.02em; }
.vo .vo-review { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; font-size: 15px; }
.vo .vo-review .vo-eyebrow { margin-bottom: 8px; font-size: 12px; color: var(--muted); }
.vo .vo-review__sub { padding-left: 14px; color: var(--muted); }
.vo .vo-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }

/* ── start, patička (jen samostatná stránka) ───────────────────────── */
.vo .vo-boot { min-height: 50vh; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; padding: 24px;
  color: var(--muted); font-size: 15px; text-align: center; }
.vo.vo--embedded .vo-boot { min-height: 320px; }
.vo .vo-boot svg { color: var(--primary); }
.vo .vo-boot__spin { width: 32px; height: 32px; border: 3px solid var(--chip); border-top-color: var(--primary); border-radius: 999px; animation: vo-spin .8s linear infinite; }
.vo .vo-footer { background: var(--ink); color: #fff; }
.vo .vo-footer__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; max-width: 1360px; margin: 0 auto;
  padding: 24px clamp(16px, 5vw, 64px); font-size: 15px; }
.vo .vo-footer__nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.vo .vo-footer a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.vo .vo-footer__test { flex: 1 1 100%; margin: 0; font-size: 13px; color: rgba(255,255,255,.65); }
.vo .vo-footer a:hover { color: #d5dceb; }

/* Beta verze (docs/decisions/0016): decentní pruh nad patičkou — štítek, věta, odkaz; vpravo původní objednávka. */
.vo .vo-footer__beta:empty { display: none; }
.vo .vo-footer__beta { border-bottom: 1px solid rgba(255,255,255,.12); }
.vo .vo-beta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 48px; max-width: 1360px; margin: 0 auto;
  padding: 22px clamp(16px, 5vw, 64px); font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.75); }
.vo .vo-beta p { margin: 0; }
.vo .vo-beta b { color: #fff; font-weight: 700; }
.vo .vo-beta__main { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; flex: 1 1 420px; }
.vo .vo-beta__line { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.vo .vo-beta__h { font-size: 15px; }
.vo .vo-beta__main .vo-beta__report { margin-top: 10px; }
.vo .vo-beta__tag { flex: none; padding: 2px 9px; border-radius: 999px; background: rgba(110,231,168,.16); color: #6ee7a8;
  font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.vo .vo-beta a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; font-weight: 600; }
.vo .vo-beta a:hover { text-decoration-color: #fff; color: #fff; }
.vo .vo-beta a.vo-beta__report { flex: none; display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid rgba(255,255,255,.35);
  border-radius: var(--r-md); text-decoration: none; white-space: nowrap; font-size: 14px; }
.vo .vo-beta a.vo-beta__report:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.vo .vo-beta--light a.vo-beta__report { border-color: var(--primary); color: var(--link); }
.vo .vo-beta--light a.vo-beta__report:hover { background: var(--primary-bg); }
.vo .vo-beta__old { display: flex; flex-direction: column; gap: 2px; flex: 0 1 520px; }
.vo .vo-beta__old nav { margin-top: 6px; }
.vo .vo-beta__old nav { display: flex; flex-wrap: wrap; gap: 4px 18px; }
/* Vložený formulář: světlý box pod formulářem */
.vo .vo-beta--light { margin: 32px 0 0; padding: 18px 22px; border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--card); color: var(--muted); }
.vo .vo-beta--light b { color: var(--ink); }
.vo .vo-beta--light a { color: var(--link); text-decoration-color: currentColor; }
.vo .vo-beta--light a:hover { color: var(--link-hover); }
.vo .vo-beta--light .vo-beta__tag { background: var(--ok-bg); color: var(--ok-ink); }

/* ── šířky ─────────────────────────────────────────────────────────── */
@media (min-width: 1024px) {
  .vo .vo-aside { position: sticky; top: min(calc(var(--sticky-top) + 100px), calc(100vh - var(--vo-aside-h, 0px) - 16px)); }
}
@media (max-width: 1023px) {
  .vo .vo-mbar { display: flex; }
  .vo .vo-toast { left: 16px; right: 16px; bottom: 88px; max-width: none; }
}
@media (max-width: 760px) {
  /* Vložený formulář (pod hlavičkou webu): na mobilu se lepí jen spodní lišta s cenou, záhlaví ne —
     dva řádky by zabraly čtvrtinu výšky obrazovky. Vlastní hlavička (vo--page) viz níž. */
  .vo .vo-head { position: static; gap: 10px; padding: 10px 12px; }
  /* Vlastní hlavička (šablona Mobil): lepí se jen řádek s logem a nástroji, krokovník je pruh pod ní. */
  .vo:not(.vo--embedded) .vo-head { position: sticky; flex-wrap: nowrap; height: var(--head-h-m); min-height: 0; padding: 8px 16px; }
  .vo:not(.vo--embedded) .vo-head__logo img { height: 18px; }
  .vo:not(.vo--embedded) .vo-devbadge { left: 16px; bottom: 3px; padding: 1px 6px; font-size: 9px; }
  .vo:not(.vo--embedded) .vo-head__tools { flex-wrap: nowrap; gap: 6px; }
  .vo:not(.vo--embedded) .vo-pick__long, .vo:not(.vo--embedded) .vo-head__login > span { display: none; }
  .vo:not(.vo--embedded) .vo-pick__short { display: inline; }
  .vo:not(.vo--embedded) .vo-head__login { width: 44px; padding: 0; justify-content: center; }
  .vo:not(.vo--embedded) .vo-pick__btn { padding-left: 10px; padding-right: 8px; gap: 4px; }
  .vo:not(.vo--embedded) .vo-head .vo-steps-nav { display: none; }
  /* Krokovník se lepí pod řádek s logem (15. 10.: když odjel, ztrácel smysl). Pod hlavičkou (z-index 40),
     aby nabídky jazyka, měny a účtu šly přes něj. */
  .vo:not(.vo--embedded) .vo-steps-nav--m { display: block; position: sticky; top: calc(var(--sticky-top) + var(--head-h-m)); z-index: 39;
    padding: 4px 16px 10px; background: var(--ink); overflow-x: auto; }
  .vo:not(.vo--embedded) .vo-steps-nav--m .vo-step { padding: 0 10px; font-size: 15px; }
  .vo:not(.vo--embedded) .vo-steps-nav--m .vo-steps__sep { width: 16px; height: 16px; }
  .vo:not(.vo--embedded) .vo-steps-nav--m .vo-steps { flex-wrap: nowrap; }
  .vo:not(.vo--embedded) .vo-steps-nav--m .vo-step { white-space: nowrap; }
  .vo .vo-sec, .vo .vo-sum { scroll-margin-top: calc(var(--sticky-top) + 16px); }
  .vo:not(.vo--embedded) .vo-sec, .vo:not(.vo--embedded) .vo-sum { scroll-margin-top: calc(var(--sticky-top) + var(--head-h-m) + 70px); }
  .vo .vo-svc { position: relative; }
  .vo .vo-svc .vo-switch { position: absolute; top: 8px; right: 6px; }
  .vo .vo-svc__id { padding-right: 60px; }
  .vo .vo-svc__ctl { justify-content: space-between; }
  .vo .vo-steps { order: 3; width: 100%; }
  .vo .vo-step { padding-right: 12px; }
  /* Čtyři kroky se na šířku telefonu nevejdou: název jen u aktuálního, ostatní číslo (název pro čtečky zůstává). */
  .vo .vo-step:not([aria-current="step"]) { padding-right: 6px; }
  .vo .vo-step:not([aria-current="step"]) .vo-step__l { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .vo .vo-account__t { display: none; }
  .vo .vo-account { padding: 0 4px; }
  .vo .vo-account__chev { display: none; }
  .vo .vo-flow { gap: 40px; }
  .vo.vo--embedded .vo-main { padding-top: 24px; }
  .vo .vo-card, .vo .vo-sum { padding: 20px; }
  .vo .vo-sec__title { font-size: 24px; }
  .vo .vo-search__btn { flex: 1 1 100%; }
  .vo .vo-card--hero .vo-seg__opt { flex: 1 1 0; min-width: 0; height: auto; min-height: 44px; padding: 6px 8px; font-size: 14px; line-height: 1.2; white-space: normal; text-align: center; }
  .vo .vo-ticks { flex-direction: column; }
  .vo .vo-card--hero .vo-ticks { flex-direction: row; }
  .vo .vo-res__head, .vo .vo-row { padding-left: 16px; padding-right: 16px; }
  .vo .vo-row { flex-direction: column; align-items: stretch; gap: 12px; }
  /* Ve sloupci by základ 220px z flex platil pro výšku → prázdné místo pod názvem domény (15. 10.). */
  .vo .vo-row__main { flex: 0 0 auto; }
  .vo .vo-row__side { justify-content: space-between; }
  .vo .vo-price { align-items: flex-start; }
  .vo .vo-dcard__row > .vo-field { max-width: none; }
  .vo .vo-svc { flex-direction: column; align-items: stretch; }
  .vo .vo-svc__id { flex-basis: auto; align-items: flex-start; }
  .vo .vo-svc__ctl { flex-basis: auto; flex-wrap: wrap; }
  .vo .vo-svc__ctl > .vo-field { max-width: none; }
  .vo .vo-types, .vo .vo-grid, .vo .vo-grid--3, .vo .vo-grid--co { grid-template-columns: 1fr; }
  .vo .vo-grid > .vo-field--phone { grid-column: auto; }
  .vo .vo-tiers { grid-template-columns: 1fr; gap: 22px; }
  .vo .vo-inline { flex-direction: column; align-items: stretch; }
  .vo .vo-inline--top > .vo-btn { margin-top: 0; }
  .vo .vo-qr__in, .vo .vo-review { grid-template-columns: 1fr; }
  .vo .vo-dialog__foot .vo-btn { flex: 1; }
  .vo .vo-dialog__panel { padding: 20px; }
  .vo .vo-pay__opt { padding: 12px 14px; gap: 4px 12px; }
  .vo .vo-pay__logos img, .vo .vo-pay__logo { width: 39px; height: 26px; }
  .vo .vo-pay__logo { padding: 3px 4px; }
  .vo .vo-pay__logos { gap: 4px; }
  .vo .vo-pay__logos > :nth-child(n+3):not(.vo-pay__more) { display: none; }
  .vo .vo-pay__more { display: inline; }
}
/* Plovoucí tlačítko lišty cookies (plugin wedos-consent, vlevo dole) by na mobilu překrylo
   spodní lištu s cenou → zvednout nad ni. app.css se načítá jen na stránce formuláře (15. 10.). */
@media (max-width: 1023px) {
  body:has(.vo .vo-mbar) .wedos-consent-fab { bottom: calc(76px + 12px + env(safe-area-inset-bottom, 0px)); }
  /* Hláška (toast) by pak ležela pod tlačítkem (to má vyšší z-index) → nad něj. */
  body:has(.wedos-consent-fab) .vo .vo-toast { bottom: calc(76px + 12px + 48px + 12px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .vo *, .vo *::before, .vo *::after { animation: none !important; transition: none !important; }
  .vo .vo-shine::after { display: none; }
}
@media print {
  .vo .vo-head, .vo .vo-mbar, .vo .vo-footer, .vo .vo-toast { display: none !important; }
}
