/* Obchod BlahaSoft - novy vzhled 2026 (obchod.blahasoft.cz)
   Firemni vizual BlahaSoft jako money-s3.cz a ucetnictvi-online.biz: modra #3265CE, inkoust #1B2533,
   akcent #F5A623, stitek #FFD66B, svetle pozadi #F4F8FE, Segoe UI, tucne nadpisy, tlacitka do oblouku.
   Mobile-first, bez externich fontu. Soubor je jen ASCII (ceske znaky v content: jako \escape).
   Cast "Stary obsah" na konci stylizuje puvodni HTML produktovych stranek a objednavky. */

:root {
  --ink: #1B2533;
  --text: #26313F;
  --muted: #5A6678;
  --line: #D6E0F0;
  --bg: #FFFFFF;
  --tint: #F4F8FE;
  --soft: #EAF1FC;

  --blue: #3265CE;
  --blue-dark: #1E4A9E;
  --blue-light: #9DB8F0;
  --accent: #F5A623;
  --accent-hover: #E39512;
  --tag: #FFD66B;
  --tag-tint: #FFF7DE;
  --tag-line: #F3D98C;

  --ok: #1F8A57;
  --err: #B3261E;

  --radius: 22px;
  --radius-md: 16px;
  --radius-sm: 10px;
  --shadow: 0 8px 20px rgba(30, 60, 120, .10);
  --shadow-lg: 0 14px 34px rgba(30, 60, 120, .16);
  --wrap: 1180px;
  --gutter: clamp(16px, 4vw, 32px);
  --header-h: 64px;

  --font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  color-scheme: light;
}
@media (min-width: 1100px) { :root { --header-h: 76px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 12px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column;
  font: 400 1rem/1.65 var(--font); color: var(--text); background: var(--bg);
  text-rendering: optimizeLegibility; overflow-x: hidden;
}
@media (min-width: 768px) { body { font-size: 1.0625rem; } }
img, svg, video, iframe { max-width: 100%; }
img { height: auto; }
a { color: var(--blue); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--blue-dark); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
strong, b { font-weight: 700; color: var(--ink); }
hr { border: 0; border-top: 1px solid var(--line); margin: 2rem 0; }
h1, h2, h3, h4 { color: var(--ink); line-height: 1.15; margin: 1.4em 0 .55em; font-weight: 800; letter-spacing: -.02em; text-wrap: balance; }
h1 { font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3.1rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.07; margin-top: .2em; }
h2 { font-size: clamp(1.45rem, 1.15rem + 1.2vw, 2.05rem); }
h3 { font-size: 1.18rem; letter-spacing: -.01em; }
h4 { font-size: 1.03rem; letter-spacing: 0; }
p, ul, ol, dl, table, figure, blockquote { margin: 0 0 1em; }
ul, ol { padding-left: 1.3em; }
li + li { margin-top: .25em; }
address { font-style: normal; }
small { font-size: .85em; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: 1rem; top: -4rem; z-index: 200; background: var(--ink); color: #fff; padding: .6rem 1rem; border-radius: var(--radius-sm); }
.skip-link:focus { top: 1rem; color: #fff; }
.muted { color: var(--muted); }
[hidden] { display: none !important; }

/* ---------- Ikony (SVG obrysy) ---------- */
.ico { width: 1.15em; height: 1.15em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.18em; }

/* ---------- Stitky, nadpisky ---------- */
.tag {
  display: inline-flex; align-items: center; gap: .45rem; margin: 0 0 1.1rem;
  padding: .38rem .95rem; border-radius: 999px; background: var(--tag); color: var(--ink);
  font-weight: 800; font-size: .86rem; line-height: 1.25; box-shadow: 0 6px 14px rgba(120, 90, 0, .14);
}
.eyebrow { margin: 0 0 .5rem; color: var(--blue); font-weight: 800; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.lead { font-size: 1.08rem; color: var(--text); max-width: 38em; }
@media (min-width: 768px) { .lead { font-size: 1.2rem; } }
.hl { color: var(--blue); }

/* ---------- Tlacitka ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  min-height: 48px; padding: .65em 1.35em;
  font: inherit; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; white-space: nowrap;
  border: 2px solid transparent; border-radius: 999px; cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--accent); color: var(--ink); box-shadow: 0 6px 14px rgba(180, 110, 0, .22); }
.btn--primary:hover { background: var(--accent-hover); color: var(--ink); box-shadow: 0 10px 20px rgba(180, 110, 0, .26); }
.btn--blue { background: var(--blue); color: #fff; }
.btn--blue:hover { background: var(--blue-dark); color: #fff; }
.btn--secondary { background: #fff; color: var(--blue); border-color: var(--blue); }
.btn--secondary:hover { background: var(--soft); color: var(--blue-dark); border-color: var(--blue-dark); }
.btn--ghost { background: transparent; color: var(--blue); border-color: var(--line); }
.btn--ghost:hover { border-color: var(--blue); color: var(--blue-dark); }
.btn--ghost-light { color: #fff; border-color: rgba(255,255,255,.55); background: transparent; }
.btn--ghost-light:hover { color: #fff; border-color: #fff; background: rgba(255,255,255,.1); }
.btn--block { width: 100%; white-space: normal; }
.btn--lg { min-height: 56px; font-size: 1.04em; padding-inline: 1.5em; }
.btn--sm { min-height: 40px; padding: .45em 1em; font-size: .92em; }
.btn-row { display: flex; flex-wrap: wrap; gap: .75rem; }
.iconbtn {
  display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
  border: 0; border-radius: 999px; background: transparent; color: var(--ink); cursor: pointer;
}
.iconbtn:hover { background: var(--soft); color: var(--blue); }
.iconbtn .ico { width: 22px; height: 22px; }

/* ---------- Monogramy produktu ---------- */
.mono-badge {
  display: inline-grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 12px;
  font-weight: 900; font-size: .92rem; letter-spacing: -.02em; color: #fff; background: var(--blue);
}
.mono-badge .ico { width: 22px; height: 22px; }
.mono-badge--lg { width: 52px; height: 52px; border-radius: 16px; font-size: 1.15rem; }
.mono-badge--red { background: linear-gradient(135deg, #E04B3C, #B72A1F); }
.mono-badge--blue { background: linear-gradient(135deg, #3E7BE6, #1E4A9E); }
.mono-badge--green { background: linear-gradient(135deg, #2FA36B, #1B7A4D); }
.mono-badge--teal { background: linear-gradient(135deg, #1EA2A8, #0F7177); }
.mono-badge--violet { background: linear-gradient(135deg, #7B5CD6, #5435A8); }
.mono-badge--orange { background: linear-gradient(135deg, #F5A623, #D9800B); color: var(--ink); }
.mono-badge--ink { background: linear-gradient(135deg, #3A4A62, #1B2533); }
.mono-badge--sky { background: linear-gradient(135deg, #5AA9F5, #2F73D6); }

/* ---------- Seznamy s fajfkou ---------- */
.checklist { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: .5rem; }
.checklist li { display: flex; gap: .55rem; align-items: flex-start; margin: 0; }
.checklist .ico { width: 1.25em; height: 1.25em; padding: .18em; margin-top: .12em; border-radius: 999px; background: var(--blue); color: #fff; stroke-width: 3; }
.checklist--sm { font-size: .93rem; }
@media (min-width: 600px) { .checklist--cols { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; } }

/* ==========================================================================
   Hlavicka
   ========================================================================== */
.site-header {
  position: sticky; top: 0; z-index: 50; background: transparent;
  border-bottom: 1px solid var(--line); transition: box-shadow .2s ease;
}
/* Rozmazane pozadi je na ::before - backdrop-filter primo na hlavicce by z ni udelal kontejner
   pro position:fixed a vysouvaci menu by se smrsklo na vysku hlavicky. */
.site-header::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px);
}
.site-header.is-scrolled { box-shadow: 0 6px 24px rgba(30, 60, 120, .10); }
.site-header__in { display: flex; align-items: center; gap: .75rem; min-height: var(--header-h); }
.brand { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--ink); margin-right: auto; min-width: 0; flex: none; }
.brand:hover { color: var(--ink); text-decoration: none; }
.brand__logo { height: 28px; width: auto; display: block; }
.brand__divider { width: 3px; height: 28px; border-radius: 2px; background: var(--blue); opacity: .25; }
.brand__product { font-size: 1.12rem; font-weight: 900; letter-spacing: .02em; color: var(--blue-dark); }
@media (min-width: 1100px) {
  .brand__logo { height: 36px; }
  .brand__divider { height: 34px; }
  .brand__product { font-size: 1.4rem; }
}

.site-header__tools { display: flex; align-items: center; gap: .25rem; }
.header-phone { display: none; align-items: center; gap: .4rem; font-weight: 700; color: var(--ink); text-decoration: none; padding: .4rem .6rem; border-radius: 999px; }
.header-phone:hover { color: var(--blue); background: var(--soft); }
.header-cta { min-height: 42px; padding: .45em 1.1em; margin-left: .25rem; flex: none; }
@media (max-width: 479.98px) { .header-cta { display: none; } }
@media (min-width: 1440px) { .header-phone { display: inline-flex; } }

/* Mobilni menu (vysouvaci panel) */
.burger .burger__close { display: none; }
.burger[aria-expanded="true"] .burger__open { display: none; }
.burger[aria-expanded="true"] .burger__close { display: inline; }

/* Zavrene menu je display:none - kdyby stalo mimo obrazovku vpravo, mobil by stranku povazoval za sirsi a zmensil ji */
.mainnav {
  position: fixed; inset: var(--header-h) 0 0 auto; width: min(420px, 100%); display: none;
  background: #fff; overflow-y: auto; overscroll-behavior: contain;
  padding: 1rem var(--gutter) 2rem; box-shadow: var(--shadow-lg); z-index: 60;
}
.nav-open .mainnav { display: block; animation: slidein .26s cubic-bezier(.2,.8,.2,1); }
@keyframes slidein { from { transform: translateX(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .nav-open .mainnav { animation: none; } }
.nav-backdrop { position: fixed; inset: var(--header-h) 0 0 0; background: rgba(27,37,51,.45); z-index: 40; }
.nav-open { overflow: hidden; }
.mainnav__list { list-style: none; margin: 0; padding: 0; }
.mainnav__item { margin: 0; border-bottom: 1px solid var(--line); }
.mainnav__link {
  display: flex; align-items: center; justify-content: space-between; width: 100%; gap: .4rem;
  padding: .95rem .25rem; font: inherit; font-weight: 700; font-size: 1.05rem; color: var(--ink);
  text-decoration: none; background: none; border: 0; cursor: pointer; text-align: left;
}
.mainnav__link:hover, .mainnav__link.is-active { color: var(--blue); text-decoration: none; }
.mainnav__link .ico { transition: transform .2s ease; }
.mainnav__link[aria-expanded="true"] .ico { transform: rotate(180deg); }
.mainnav__contact { display: grid; gap: .6rem; margin-top: 1.5rem; }

.mega { display: none; padding: 0 0 1rem; }
.mega.is-open { display: block; }
.mega__grid { display: grid; gap: 1rem; }
.mega__h { margin: .4rem 0 .35rem; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.mega ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem; }
.mega li { margin: 0; }
.mega li a { display: flex; align-items: center; gap: .7rem; padding: .45rem .5rem; border-radius: 12px; text-decoration: none; color: var(--ink); }
.mega li a:hover, .mega li a[aria-current="page"] { background: var(--soft); color: var(--ink); }
.mega li a strong { display: block; font-size: .98rem; line-height: 1.2; }
.mega li a small { display: block; color: var(--muted); font-size: .8rem; line-height: 1.3; }
.mega__foot { display: grid; gap: .3rem; margin-top: .8rem; }
.mega__foot a { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; text-decoration: none; }

@media (min-width: 1100px) {
  .burger { display: none; }
  .nav-backdrop { display: none !important; }
  .mainnav, .nav-open .mainnav {
    display: block; position: static; width: auto; padding: 0; overflow: visible;
    box-shadow: none; background: transparent; animation: none;
  }
  .mainnav__list { display: flex; align-items: center; gap: .1rem; }
  .mainnav__item { border: 0; position: static; }
  .mainnav__link { padding: .5rem .7rem; font-size: .97rem; border-radius: 999px; width: auto; white-space: nowrap; }
  .mainnav__link:hover, .mainnav__link.is-active { background: var(--soft); }
  .mainnav__contact { display: none; }
  .mega {
    position: absolute; left: 50%; top: calc(100% - 6px); width: min(1080px, calc(100vw - 2 * var(--gutter)));
    transform: translateX(-50%); padding: 1.6rem 1.8rem 1.2rem; background: #fff; border: 1px solid var(--line);
    border-radius: var(--radius); box-shadow: var(--shadow-lg);
  }
  .mega.is-open { display: block; animation: drop .18s ease-out; }
  .mega__grid { grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
  .mega__foot { display: flex; gap: 2rem; padding-top: 1rem; margin-top: 1rem; border-top: 1px solid var(--line); }
}
@keyframes drop { from { opacity: 0; transform: translate(-50%, -6px); } to { opacity: 1; transform: translate(-50%, 0); } }

.searchbar { border-top: 1px solid var(--line); background: #fff; padding: .75rem 0; }
.searchbar__form { display: flex; gap: .5rem; }
.searchbar input {
  flex: 1; min-width: 0; min-height: 48px; padding: .6rem 1rem; font: inherit;
  border: 2px solid var(--line); border-radius: 999px; background: var(--tint);
}
.searchbar input:focus { outline: none; border-color: var(--blue); background: #fff; }
@media (max-width: 479.98px) { .searchbar .btn span { display: none; } }

/* ---------- Drobeckova navigace ---------- */
.crumbs { margin: 1rem 0 .4rem; font-size: .88rem; color: var(--muted); }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .15rem .45rem; }
.crumbs li { margin: 0; display: inline-flex; align-items: center; gap: .45rem; }
.crumbs li + li::before { content: ""; width: .42em; height: .42em; border: solid var(--blue-light); border-width: 2px 2px 0 0; transform: rotate(45deg); }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--blue); text-decoration: underline; }
.crumbs [aria-current="page"] { color: var(--ink); font-weight: 600; }

/* ==========================================================================
   Rozvrzeni
   ========================================================================== */
.site-main { flex: 1; }
.layout { padding-bottom: 3rem; }
.content { min-width: 0; }
.layout--uvod { max-width: none; padding: 0; }
.t-uvod .content > .section:first-child { padding-top: 0; }
.layout--stranka .content, .layout--produkt-dalsi .content { max-width: 920px; }
/* hlavni stranka produktu (.layout--produkt) i ceny, funkce, doplnky... (.layout--produkt-dalsi; od 9. 11. 2026) maji stejny pravy sloupec */
@media (min-width: 1024px) {
  .layout--produkt, .layout--produkt-dalsi { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 3rem; align-items: start; }
  .layout--produkt-dalsi .content { max-width: none; }
  /* pravy sloupec: box s cenou zustava pri rolovani nahore, podmenu pod nim odroluje (pod box) - vejde se i na notebook 768 px */
  .layout--produkt .sidebar, .layout--produkt-dalsi .sidebar { align-self: stretch; margin-top: 3.2rem; }
  .layout--produkt .buybox, .layout--produkt-dalsi .buybox { position: sticky; top: calc(var(--header-h) + 1.25rem); z-index: 2; margin-top: 0; }
  /* produktove menu (pilulky nad textem) je na PC v pravem sloupci */
  .layout--produkt nav#navsmall-nav, .layout--produkt-dalsi nav#navsmall-nav { display: none; }
}
/* "Souvisejici stranky" dole na strance produktu jsou ted v pravem sloupci (.sidenav) */
.layout--produkt .content .similar, .layout--produkt .content .similar + ul,
.layout--produkt-dalsi .content .similar, .layout--produkt-dalsi .content .similar + ul { display: none; }
.sidenav {
  margin-top: 1rem; padding: 1.1rem 1rem 1rem; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: 0 2px 6px rgba(30,60,120,.04);
}
.sidenav__h { margin: 0 .5rem .45rem; font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.sidenav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.sidenav li { margin: 0; }
.sidenav a {
  display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-height: 42px; padding: .45rem .75rem;
  border-radius: 12px; color: var(--ink); font-weight: 700; font-size: .95rem; text-decoration: none; transition: background-color .15s, color .15s;
}
.sidenav a::after {
  content: ""; flex: none; width: .42rem; height: .42rem; border-top: 2px solid currentColor; border-right: 2px solid currentColor;
  transform: rotate(45deg); opacity: .4;
}
.sidenav a:hover { background: var(--soft); color: var(--blue); }
.sidenav a.menuselected { background: var(--ink); color: #fff; }
.sidenav a.menuselected::after { opacity: .8; }

/* ==========================================================================
   Uvodni stranka
   ========================================================================== */
.hero {
  position: relative; overflow: hidden; padding: 2.2rem 0 3rem;
  background:
    radial-gradient(1000px 520px at 85% -10%, rgba(50,101,206,.14), transparent 60%),
    radial-gradient(700px 420px at -10% 110%, rgba(245,166,35,.12), transparent 60%),
    linear-gradient(180deg, #F7FAFF 0%, #EEF4FD 100%);
  border-bottom: 1px solid var(--line);
}
.hero__in { display: grid; gap: 2.2rem; align-items: center; }
.hero h1 { margin-bottom: .45em; }
.hero .lead { margin-bottom: 1.3rem; }
.hero .btn-row { margin-top: 1.4rem; }
.hero .checklist--cols { max-width: 46rem; } /* stejna sirka jako odstavec nad nim (box s ocenenimi vpravo zrusen 7. 11. 2026) */
@media (min-width: 1024px) {
  .hero { padding: 4.2rem 0 4.6rem; }
}
.giftnote {
  display: inline-flex; align-items: center; gap: .8rem; padding: .7rem 1.1rem .7rem .9rem;
  background: var(--tag); border-radius: var(--radius-md); box-shadow: 0 8px 18px rgba(120, 90, 0, .16); color: var(--ink);
}
.giftnote .ico { width: 30px; height: 30px; }
.giftnote strong { display: block; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.giftnote span { display: block; font-weight: 600; line-height: 1.3; }

.pricecard { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 1.4rem; }
@media (min-width: 600px) { .pricecard { padding: 1.9rem 2rem; } }
.pricecard__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.pricecard__title { margin: 0; font-weight: 900; font-size: 1.15rem; color: var(--ink); }
.pricecard__note { margin: 0; font-size: .82rem; color: var(--muted); }
.pricecard__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.pricecard__list li { margin: 0; }
.pricecard__list a {
  display: flex; align-items: center; gap: .8rem; padding: .7rem .85rem; border: 1px solid var(--line);
  border-radius: var(--radius-md); background: var(--tint); text-decoration: none; color: var(--ink);
  transition: border-color .18s, background-color .18s, transform .18s;
}
.pricecard__list a:hover { border-color: var(--blue); background: #fff; transform: translateX(3px); }
.pricecard__name { flex: 1; min-width: 0; }
.pricecard__name strong { display: block; line-height: 1.2; }
.pricecard__name small { display: block; color: var(--muted); font-size: .8rem; line-height: 1.3; }
.pricecard__price { font-weight: 900; color: var(--blue); white-space: nowrap; }
.pricecard__more { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1.1rem; font-weight: 800; text-decoration: none; }

.stats { background: #fff; border-bottom: 1px solid var(--line); }
.stats__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 1.5rem; padding-block: 1.6rem; }
@media (min-width: 900px) { .stats__grid { grid-template-columns: repeat(4, 1fr); padding-block: 2rem; } }
.stat p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.4; }
.stat .stat__big { color: var(--blue); font-weight: 900; font-size: clamp(1.45rem, 1rem + 1.6vw, 2.1rem); letter-spacing: -.03em; line-height: 1.1; margin-bottom: .2rem; }

.section { padding: 3.2rem 0; }
@media (min-width: 900px) { .section { padding: 5rem 0; } }
.section--tint { background: var(--tint); border-block: 1px solid var(--line); }
.section__head { max-width: 760px; margin-bottom: 1.8rem; }
.section__head h2 { margin-top: 0; }
.section__lead { color: var(--muted); font-size: 1.05rem; margin: 0; }
.section__foot { margin: 1.6rem 0 0; color: var(--muted); font-size: .92rem; }

.chips { display: flex; gap: .5rem; overflow-x: auto; padding: .2rem .1rem 1rem; margin: 0 calc(var(--gutter) * -1) .4rem; padding-inline: var(--gutter); scrollbar-width: none; }
.chips::-webkit-scrollbar { display: none; }
.chip {
  flex: none; padding: .55rem 1rem; font: inherit; font-weight: 700; font-size: .92rem; color: var(--ink);
  background: #fff; border: 2px solid var(--line); border-radius: 999px; cursor: pointer; white-space: nowrap;
  transition: background-color .18s, border-color .18s, color .18s;
}
.chip:hover { border-color: var(--blue); color: var(--blue); }
.chip.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }

.pgrid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .pgrid { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; } }
@media (min-width: 1024px) { .pgrid { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; } }
.pcard {
  position: relative; display: flex; flex-direction: column; padding: 1.4rem; background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 2px 6px rgba(30,60,120,.04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: #C3D3EE; }
.pcard.is-hidden { display: none; }
.pcard__top { display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; margin-bottom: .9rem; }
.pcard__tag { padding: .25rem .7rem; border-radius: 999px; background: var(--tag-tint); border: 1px solid var(--tag-line); color: #7A5600; font-weight: 800; font-size: .76rem; white-space: nowrap; }
.pcard__title { margin: 0; font-size: 1.28rem; font-weight: 900; letter-spacing: -.02em; color: var(--ink); }
.pcard__title a { color: inherit; text-decoration: none; }
.pcard__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.pcard__maker { margin: .1rem 0 .7rem; font-size: .82rem; font-weight: 700; color: var(--muted); letter-spacing: .04em; text-transform: uppercase; }
.pcard__desc { margin: 0 0 1rem; color: var(--text); font-size: .96rem; flex: 1; }
.pcard__price { margin: 0 0 1rem; font-weight: 900; font-size: 1.35rem; color: var(--blue); letter-spacing: -.02em; }
.pcard__price span { font-size: .8rem; font-weight: 700; color: var(--muted); letter-spacing: 0; }
.pcard__price small { font-size: .78rem; font-weight: 600; color: var(--muted); letter-spacing: 0; }
.pcard__price--calc { font-size: .95rem; color: var(--muted); font-weight: 700; letter-spacing: 0; }
.pcard__actions { display: flex; gap: .5rem; flex-wrap: wrap; position: relative; z-index: 1; }
.pcard--guide { background: linear-gradient(140deg, var(--blue) 0%, var(--blue-dark) 100%); border: 0; color: #fff; justify-content: center; }
.pcard--guide { grid-column: 1 / -1; }
@media (min-width: 900px) { .pcard--guide { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; padding: 1.6rem 2rem; } .pcard--guide .pcard__title, .pcard--guide .pcard__desc { margin: 0; } }
.pcard--guide .pcard__title { color: #fff; margin-bottom: .6rem; }
.pcard--guide .pcard__desc { color: rgba(255,255,255,.9); flex: none; }

.promo-grid { display: grid; gap: 1rem; }
@media (min-width: 700px) { .promo-grid { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; } }
.promo { padding: 1.5rem; border-radius: var(--radius); background: #fff; border: 1px solid var(--tag-line); box-shadow: var(--shadow); }
.promo h3 { margin: 0 0 .5rem; }
.promo p:last-child { margin: 0; }
.promo__big {
  display: inline-flex; align-items: center; min-height: 2.6rem; margin: 0 0 .7rem; padding: .1rem .9rem; border-radius: 999px;
  background: var(--tag); color: var(--ink); font-weight: 900; font-size: 1.25rem; letter-spacing: -.02em;
}
.promo__big .ico { width: 28px; height: 28px; }
.promo--blue { border-color: var(--line); }
.promo--blue .promo__big { background: var(--soft); color: var(--blue-dark); }

.reasons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
@media (min-width: 760px) { .reasons { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .reasons { grid-template-columns: repeat(5, 1fr); gap: 1rem; } }
.reasons li { margin: 0; display: flex; flex-direction: column; gap: .7rem; padding: 1.1rem; border-radius: var(--radius-md); background: var(--tint); border: 1px solid var(--line); line-height: 1.4; font-size: .95rem; }
.reasons .ico { width: 40px; height: 40px; padding: 9px; border-radius: 12px; background: #fff; color: var(--blue); box-shadow: 0 4px 10px rgba(30,60,120,.08); }

.steps { list-style: none; counter-reset: krok; margin: 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 760px) { .steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .steps { grid-template-columns: repeat(4, 1fr); } }
.steps li { counter-increment: krok; margin: 0; padding: 1.4rem; background: #fff; border-radius: var(--radius); border: 1px solid var(--line); }
.steps li::before {
  content: counter(krok); display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: .9rem;
  border-radius: 999px; background: var(--blue); color: #fff; font-weight: 900; font-size: 1.1rem;
}
.steps h3 { margin: 0 0 .4rem; }
.steps p { margin: 0; color: var(--text); font-size: .96rem; }

.faq-layout { display: grid; gap: 1rem; }
@media (min-width: 1024px) { .faq-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem; align-items: start; } }
.faq { display: grid; gap: .6rem; }
.faq__item { border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; transition: box-shadow .2s; }
.faq__item[open] { box-shadow: var(--shadow); border-color: #C3D3EE; }
.faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.2rem; cursor: pointer; font-weight: 700; color: var(--ink); list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary .ico { color: var(--blue); transition: transform .2s ease; }
.faq__item[open] summary .ico { transform: rotate(180deg); }
.faq__item p { margin: 0; padding: 0 1.2rem 1.1rem; color: var(--text); }

.duo { display: grid; gap: 2.5rem; }
@media (min-width: 900px) { .duo { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.duo h2 { margin-top: 0; }
.scores { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: 1.2rem 0 1.4rem; }
.scores div { padding: 1rem; border-radius: var(--radius-md); background: #fff; border: 1px solid var(--line); }
.scores dt { font-size: .85rem; color: var(--muted); line-height: 1.3; }
.scores dd { margin: .2rem 0 0; font-weight: 900; font-size: 1.5rem; color: var(--blue); letter-spacing: -.02em; }
.news__list { list-style: none; margin: 1.2rem 0 1.4rem; padding: 0; display: grid; gap: .7rem; }
.news__list li { margin: 0; padding: 1rem 1.1rem; border-radius: var(--radius-md); background: #fff; border: 1px solid var(--line); }
.news__list time { display: block; font-size: .8rem; font-weight: 700; color: var(--muted); }
.news__list p { margin: .15rem 0 0; font-size: .96rem; }

.about { display: grid; gap: 1.5rem; align-items: center; }
@media (min-width: 760px) { .about { grid-template-columns: 132px 1fr; gap: 2.5rem; } }
.about__photo { width: 112px; height: 112px; border-radius: 999px; object-fit: cover; box-shadow: var(--shadow-lg); border: 6px solid #fff; }
@media (min-width: 760px) { .about__photo { width: 132px; height: 132px; } }
.about h2 { margin-top: 0; }

/* Plynule objevovani (jen s JS a bez omezeni pohybu) */
@media (prefers-reduced-motion: no-preference) {
  .js-reveal .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
  .js-reveal .reveal.is-in { opacity: 1; transform: none; }
}

/* ==========================================================================
   Stranka produktu
   ========================================================================== */
.buybox {
  margin: 2rem 0 0; padding: 1.5rem; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow-lg); display: grid; gap: .7rem;
}
.buybox p { margin: 0; }
.buybox__eyebrow { font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.buybox__name { font-size: 1.5rem; font-weight: 900; color: var(--ink); letter-spacing: -.02em; line-height: 1.15; }
.buybox__price { font-size: 2rem; font-weight: 900; color: var(--blue); letter-spacing: -.03em; line-height: 1.1; margin-top: .3rem !important; }
.buybox__price span { font-size: .95rem; color: var(--muted); font-weight: 700; letter-spacing: 0; }
.buybox__price--calc { font-size: 1.2rem; }
.buybox__vat { font-size: .86rem; color: var(--muted); margin-bottom: .5rem !important; }
.buybox .checklist { margin: .4rem 0 .2rem; }
.buybox__help { margin-top: .4rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .93rem; display: grid; gap: .3rem; }
.buybox__help a { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; text-decoration: none; }

.stickybar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--line); box-shadow: 0 -8px 24px rgba(30,60,120,.12);
  transform: translateY(110%); transition: transform .25s ease;
}
.stickybar.is-visible { transform: none; }
.stickybar__price { font-weight: 900; color: var(--blue); font-size: 1.15rem; line-height: 1.1; }
.stickybar__price small { color: var(--muted); font-weight: 700; font-size: .75rem; }
.stickybar__price small:last-child { display: block; }
.stickybar__btns { display: flex; gap: .5rem; flex: none; }
@media (max-width: 374.98px) { .stickybar { gap: .5rem; } .stickybar__btns .btn { padding-left: .8rem; padding-right: .8rem; } .stickybar__btns .btn svg { display: none; } }
@media (min-width: 1024px) { .stickybar { display: none !important; } }
.t-produkt .site-footer { padding-bottom: 5rem; }
@media (min-width: 1024px) { .t-produkt .site-footer { padding-bottom: 0; } }

/* ==========================================================================
   Paticka
   ========================================================================== */
.site-footer { background: var(--ink); color: #C9D3E3; margin-top: auto; font-size: .95rem; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: var(--tag); text-decoration: underline; }
.site-footer__cta {
  display: grid; gap: 1.2rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid rgba(255,255,255,.12);
}
.site-footer__cta-h { margin: 0 0 .3rem; color: #fff; font-weight: 900; font-size: clamp(1.3rem, 1rem + 1vw, 1.7rem); letter-spacing: -.02em; }
.site-footer__cta p { margin: 0; }
@media (min-width: 900px) { .site-footer__cta { grid-template-columns: 1fr auto; padding: 2.6rem 0; } }
.site-footer__grid { display: grid; gap: 2rem; padding: 2.4rem 0; }
@media (min-width: 640px) { .site-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2.5rem; } }
.site-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.site-footer__col li { margin: 0; }
.site-footer__col--brand img { height: 34px; width: auto; margin-bottom: 1rem; }
.site-footer__col--brand address { margin-top: 1rem; line-height: 1.6; }
.site-footer__h { margin: 0 0 .8rem; color: #fff; font-weight: 800; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.site-footer strong { color: #fff; }
.muted-light { color: #93A1B8; font-size: .88em; }
.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; padding: 1.2rem 0 1.6rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .85rem; color: #93A1B8; }
.site-footer__bottom p { margin: 0; }
/* tlacitko "Odstoupit od smlouvy" z odstoupeni-widget.js */
.site-footer [data-withdrawal-widget] button, .site-footer [data-withdrawal-widget] a {
  font: inherit; color: #fff; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: none;
}
.site-footer [data-withdrawal-widget] button:hover { color: var(--tag); text-decoration: underline; }

/* ==========================================================================
   Stary obsah (produktove stranky, napoveda, objednavka) - puvodni HTML
   ========================================================================== */
.content--legacy > h1:first-of-type, .content--legacy h1#SWinfo, .content--legacy h1#SWorder { margin-top: .6rem; }
.box { margin: 0 0 1.5rem; }
.box-h { font-size: 1.25rem; margin: 0 0 .6rem; }
.box-in > :first-child { margin-top: 0; }
.auxbox, .toplink, .TopLink, a[name="top"] + br { display: none; }
p.toplink, p.TopLink { display: none; }
.content--legacy h2 { margin-top: 1.8em; }
.content--legacy h3 { margin-top: 1.5em; }
.content--legacy .box-in > h2:first-child, .content--legacy .box-in > h3:first-child { margin-top: .4em; }
.content--legacy img { border-radius: 6px; }
.content--legacy ul li::marker { color: var(--blue); }
.content--legacy blockquote { margin-left: 0; padding: 1rem 1.2rem; border-left: 4px solid var(--blue-light); background: var(--tint); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.content--legacy iframe { border: 0; border-radius: var(--radius-sm); }
.content--legacy font[color] { color: inherit; }

.ImportantBlock, div.ImportantBlock, p.ImportantBlock {
  display: flow-root; padding: 1.1rem 1.25rem; margin: 0 0 1.4rem; border-radius: var(--radius-md);
  background: var(--tag-tint); border: 1px solid var(--tag-line); color: var(--text);
}
.ImportantBlock > :last-child { margin-bottom: 0; }

/* Akcni nabidka na strance produktu (Jan 7. 11. 2026: "another design for special offer").
   Texty nabidek zustavaji v software/<produkt>/lib.inc.php - vzor je vzdy <h2> + <form> s <p class="ImportantBlock"> a tlacitkem.
   Nadpis a odstavec se tu skladaji do jedne karty: stitek "Specialni nabidka", teply prechod, oranzovy pruh vlevo. */
.content--legacy h2:has(+ form > .ImportantBlock) {
  position: relative; margin-bottom: 0; padding: 1.35rem 1.5rem .5rem 1.6rem;
  background: linear-gradient(180deg, #FFF1CC 0%, #FFF8E6 100%); /* konci stejnou barvou, jakou zacina odstavec pod nim */
  border: 1px solid var(--tag-line); border-bottom: 0; border-left: 6px solid var(--accent);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  font-size: clamp(1.25rem, 1.05rem + .9vw, 1.65rem); line-height: 1.2; letter-spacing: -.02em;
}
.content--legacy h2:has(+ form > .ImportantBlock)::before {
  content: "Speci\0000e1ln\0000ed  nab\0000eddka"; /* "Specialni nabidka" s diakritikou; za escape mezera navic (prvni se spolkne) */
  display: table; margin-bottom: .6rem; padding: .3rem .8rem; border-radius: 999px;
  background: var(--ink); color: #fff; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase;
}
.content--legacy h2 + form > p.ImportantBlock {
  margin: 0 0 1.8rem; padding: .5rem 1.5rem 1.4rem 1.6rem; line-height: 1.75;
  background: linear-gradient(180deg, #FFF8E6 0%, #FFFDF7 100%);
  border: 1px solid var(--tag-line); border-top: 0; border-left: 6px solid var(--accent);
  border-radius: 0 0 var(--radius-md) var(--radius-md); box-shadow: 0 14px 24px -18px rgba(180, 110, 0, .45);
}
.content--legacy h2 + form > p.ImportantBlock strong { color: var(--ink); }
.content--legacy h2 + form > p.ImportantBlock input[type="submit"] { margin-top: .9rem; min-height: 52px; padding: .7em 1.8em; font-size: 1.02rem; }
.ImportantText { color: var(--err); font-weight: 700; }
.wf-text-highlight { color: var(--ink); font-weight: 700; }
.wf-text-note, .helpText, .desc { color: var(--muted); font-size: .92em; }
.post-it { float: none; width: auto; margin: 0 0 1.2rem; padding: 1rem 1.2rem; background: var(--tag-tint); border: 1px dashed var(--tag-line); border-radius: var(--radius-md); font-family: inherit; font-style: normal; transform: none !important; }

.wf-float-right, .float-right { float: right; margin: .3rem 0 1rem 1.5rem; max-width: 45%; }
.wf-float-left, .float-left { float: left; margin: .3rem 1.5rem 1rem 0; max-width: 45%; }
.wf-no-float { clear: both; }
.wf-align-center { text-align: center; }
.wf-width-33-pct { width: 100%; }
@media (min-width: 760px) { .wf-width-33-pct { width: 32%; display: inline-block; vertical-align: top; } }
@media (max-width: 599.98px) {
  .mobilebig, .notmobile { display: none !important; }
  .wf-float-right, .float-right, .wf-float-left, .float-left { float: none; margin: 0 0 1rem; max-width: 100%; }
  .mobilewide { display: none; }
}
@media (min-width: 600px) { .mobilenarrow { display: none; } }
.videoWrapper, .youtube-container { position: relative; padding-bottom: 56.25%; height: 0; margin-bottom: 1.2rem; border-radius: var(--radius-sm); overflow: hidden; }
.videoWrapper iframe, .youtube-container iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Tlacitko Objednat a produktove menu z return_page_perex() */
.orderbox_front { margin: 1rem 0 0; }
.orderbox_front a.button, a.button, .button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 52px; padding: .7em 1.5em;
  border-radius: 999px; background: var(--accent); color: var(--ink); font-weight: 800; text-decoration: none;
  box-shadow: 0 6px 14px rgba(180, 110, 0, .22); transition: background-color .18s, transform .18s; border: 0;
}
a.button { margin: .3rem .5rem .3rem 0; }
.orderbox_front a.button:hover, a.button:hover { background: var(--accent-hover); color: var(--ink); transform: translateY(-1px); }
.carticon::before {
  content: ""; display: inline-block; width: 1.15em; height: 1.15em; margin-right: .5em; vertical-align: -.2em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6h7.6a2 2 0 0 0 2-1.5L20.5 8H6.2'/%3E%3Ccircle cx='10' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6h7.6a2 2 0 0 0 2-1.5L20.5 8H6.2'/%3E%3Ccircle cx='10' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (min-width: 1024px) { .t-produkt .orderbox_front { display: none; } }

nav#navsmall-nav { margin: 1.2rem 0 1.6rem; overflow: visible; }
ul#navsmall {
  list-style: none; margin: 0 calc(var(--gutter) * -1); padding: .25rem var(--gutter); display: flex; gap: .45rem;
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
@media (min-width: 1024px) { ul#navsmall { margin: 0; padding: .25rem 0; flex-wrap: wrap; overflow: visible; } }
ul#navsmall::-webkit-scrollbar { display: none; }
ul#navsmall li { margin: 0; flex: none; }
ul#navsmall li a, ul#navsmall li span {
  display: inline-flex; align-items: center; min-height: 42px; padding: .45rem 1rem; border-radius: 999px;
  font-weight: 700; font-size: .93rem; white-space: nowrap; text-decoration: none;
  color: var(--ink); background: #fff; border: 2px solid var(--line);
}
ul#navsmall li a:hover { border-color: var(--blue); color: var(--blue); }
ul#navsmall li span.menuselected, ul#navsmall li a.menuselected { background: var(--ink); border-color: var(--ink); color: #fff; }
ul#navsmall li a#contactlink, ul#navsmall li a#contactlink2 { background: var(--tag-tint); border-color: var(--tag-line); }
ul#navsmall li a.productmenunarrow { display: none; }
/* stare prepinace menu pro mobil (#navsmall / #navsmall-nav) uz nejsou potreba */
ul#navsmall a[href="#navsmall"], ul#navsmall a[href="#navsmall-nav"] { display: none !important; }
ul#navsmall li:has(> a[href="#navsmall"]), ul#navsmall li:has(> a[href="#navsmall-nav"]) { display: none; }
ul#navsmall li a.productmenuwide { display: inline-flex; }

/* Tabulky */
.content--legacy table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .95rem; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: #fff; }
.content--legacy th, .content--legacy td { padding: .65rem .8rem; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.content--legacy th { background: var(--soft); color: var(--ink); font-weight: 800; }
.content--legacy tr:last-child > td { border-bottom: 0; }
.content--legacy td[align="right"], .content--legacy th[align="right"] { text-align: right; white-space: nowrap; }
.content--legacy td[align="center"] { text-align: center; }
.content--legacy tr.TblRowOdd > td { background: #fff; }
.content--legacy tr.TblRowEven > td { background: #FAFCFF; }
.content--legacy td.leftalign h3 { margin: .4rem 0; font-size: 1.12rem; }
.content--legacy td.leftalign p { margin: .2rem 0; }
.content--legacy table[border] { border: 1px solid var(--line); }
.content--legacy .item-img img { border-radius: 8px; }
.content--legacy table.productlist td { vertical-align: middle; }
.content--legacy table.productlist .item-name a { font-weight: 800; font-size: 1.05rem; text-decoration: none; }
table.responsivecomparisontable .table-visible-xs { display: none; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 1.2rem; }
.table-scroll > table { margin-bottom: 0; }
@media (max-width: 699.98px) {
  /* objednavkova tabulka bez zaskrtavatek (PAMICA, mPohoda, Ucto): radky jako karty - puvodni pravidla.
     Tabulky se zaskrtavatky *_chk maji nove karty na vsech sirkach, viz cast "Objednavka" na konci. */
  .content--legacy table#tblobj1:not(:has(input[name$="_chk"])), .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) tbody,
  .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) tr, .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) td { display: block; width: 100%; }
  .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) thead { display: none; }
  .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) tr { border-bottom: 1px solid var(--line); padding: .6rem .2rem; }
  .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) td { border: 0; padding: .25rem .7rem; text-align: left !important; }
  .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) td[data-label]:not([data-label="N\00e1zev:"])::before { content: attr(data-label) " "; font-size: .82rem; color: var(--muted); font-weight: 700; }
  .content--legacy table#tblobj1:not(:has(input[name$="_chk"])) td[data-label]:not([data-label="N\00e1zev:"]) { display: inline-block; width: auto; vertical-align: middle; margin-right: .6rem; }
  table.responsivecomparisontable .table-visible-xs { display: table-row; }
}

/* Formulare */
.content--legacy input[type="text"], .content--legacy input[type="email"], .content--legacy input[type="tel"], .content--legacy input[type="number"],
.content--legacy input[type="password"], .content--legacy input:not([type]), .content--legacy select, .content--legacy textarea, .FormInput, .FormTextarea {
  max-width: 100%; min-height: 44px; padding: .5rem .75rem; font: inherit; font-size: 1rem; color: var(--ink);
  background: #fff; border: 2px solid var(--line); border-radius: var(--radius-sm); transition: border-color .15s, box-shadow .15s;
}
.content--legacy textarea, .FormTextarea { width: 100%; min-height: 120px; }
.content--legacy input:focus, .content--legacy select:focus, .content--legacy textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(50,101,206,.14); }
.content--legacy input[disabled] { background: var(--soft) !important; color: var(--muted); }
.content--legacy input[type="checkbox"], .content--legacy input[type="radio"] { width: 1.2em; height: 1.2em; accent-color: var(--blue); vertical-align: -.2em; margin-right: .3em; }
.content--legacy input[type="submit"], .content--legacy input[type="button"], .content--legacy button[type="submit"] {
  max-width: 100%; white-space: normal; height: auto;
  min-height: 48px; padding: .6rem 1.4rem; font: inherit; font-weight: 800; border-radius: 999px; cursor: pointer;
  background: var(--accent); color: var(--ink); border: 0; box-shadow: 0 6px 14px rgba(180, 110, 0, .2);
}
.content--legacy input[type="submit"]:hover, .content--legacy input[type="button"]:hover { background: var(--accent-hover); }
.content--legacy input[name^="BtnReturn"], .content--legacy input[name="BtnOrderCancel"], .content--legacy input[value^="Zp"] { background: #fff; color: var(--blue); border: 2px solid var(--blue); box-shadow: none; }
.content--legacy fieldset { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 1rem 1.2rem; margin: 0 0 1.2rem; min-width: 0; }
.content--legacy legend { padding: 0 .4rem; font-weight: 800; color: var(--ink); }
.content--legacy label { cursor: pointer; }

/* jquery-modal (chybove hlasky v objednavce) */
.blocker { position: fixed; inset: 0; z-index: 100; padding: 20px; overflow: auto; background: rgba(27,37,51,.6); text-align: center; }
.blocker::before { content: ""; display: inline-block; height: 100%; vertical-align: middle; margin-right: -.05em; }
.modal { display: inline-block; vertical-align: middle; position: relative; z-index: 2; width: 90%; max-width: 500px; padding: 1.5rem 1.6rem; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); text-align: left; }
.modal a.close-modal { position: absolute; top: .5rem; right: .7rem; width: 32px; height: 32px; text-indent: -9999px; overflow: hidden; }
.modal a.close-modal::after { content: "\00d7"; position: absolute; inset: 0; text-indent: 0; text-align: center; font-size: 1.6rem; line-height: 32px; color: var(--muted); }

/* Popup "Vas dotaz" */
#blahasoft-contactform-div { display: none; position: fixed; inset: 0; z-index: 120; background: rgba(27,37,51,.6); padding: 16px; overflow: auto; }
#blahasoft-contactform-div #blahasoft-contactform-contact { position: relative; width: 100%; max-width: 480px; margin: 6vh auto 0; padding: 1.6rem; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
#blahasoft-contactform-div h3 { margin: 0 0 .6rem; }
#blahasoft-contactform-div label { display: block; margin: .8rem 0 .25rem; font-weight: 700; color: var(--ink); }
#blahasoft-contactform-div input[type="text"], #blahasoft-contactform-div input[type="email"], #blahasoft-contactform-div textarea {
  width: 100%; min-height: 44px; padding: .5rem .75rem; font: inherit; border: 2px solid var(--line); border-radius: var(--radius-sm);
}
#blahasoft-contactform-div textarea { height: 140px; }
#blahasoft-contactform-div input[type="button"] { width: auto; margin: .6rem .4rem 0 0; font: inherit; font-weight: 800; }
#blahasoft-contactform-div #blahasoft-contactform-cancelimg { position: absolute; top: 1rem; right: 1rem; width: 28px; height: 28px; cursor: pointer; }
#blahasoft-contactform-div #blahasoft-contactform-error { color: var(--err); font-weight: 700; min-height: 1.5em; margin: .6rem 0 0; }
/* zaviraci krizek misto stareho PNG (obrazek zustava kvuli skriptu, jen je odsunuty a pod nim je SVG krizek) */
#blahasoft-contactform-div #blahasoft-contactform-cancelimg, .qdlg__close {
  width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px; cursor: pointer; object-fit: none; object-position: 200px 200px;
  background: var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2533' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 18px no-repeat;
  transition: background-color .15s;
}
#blahasoft-contactform-div #blahasoft-contactform-cancelimg { top: .9rem; right: .9rem; }
#blahasoft-contactform-div #blahasoft-contactform-cancelimg:hover, .qdlg__close:hover { background-color: #D9E5F7; }
#blahasoft-contactform-div input[type="text"], #blahasoft-contactform-div input[type="email"], #blahasoft-contactform-div textarea { font-size: 16px; } /* iPhone pri 16 px nezvetsuje stranku */
@media (max-width: 599.98px) {
  /* na mobilu vyjede okno zdola pres celou sirku */
  #blahasoft-contactform-div { padding: 0; display: none; }
  #blahasoft-contactform-div #blahasoft-contactform-contact { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; max-width: none; max-height: 94dvh; overflow: auto; border-radius: var(--radius) var(--radius) 0 0; padding: 1.4rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom)); }
  #blahasoft-contactform-div input[type="button"] { width: 100%; margin: .6rem 0 0; }
}

/* Dotaz k produktu - okno <dialog> (js/obchod-2026.js presune puvodni formular #dotazform do .qdlg; Jan 8. 11. 2026),
   otevira ho tlacitko "Ptejte se" v boxu s cenou (Jan 9. 11. 2026) */
.qdlg {
  width: min(560px, calc(100% - 32px)); max-width: none; max-height: min(90dvh, 820px); padding: 0; margin: auto;
  border: 0; border-radius: var(--radius); background: #fff; color: var(--text); box-shadow: var(--shadow-lg); overflow: hidden;
}
.qdlg::backdrop { background: rgba(27, 37, 51, .6); }
.qdlg[open] { display: flex; flex-direction: column; animation: qdlg-in .2s ease-out; }
@keyframes qdlg-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.qdlg__in { display: flex; flex-direction: column; min-height: 0; max-height: inherit; }
.qdlg__head { position: relative; padding: 1.3rem 4.2rem .9rem 1.5rem; border-bottom: 1px solid var(--line); }
.qdlg__eyebrow { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.qdlg__title { margin: .15rem 0 0; font-size: 1.45rem; line-height: 1.2; }
.qdlg__close { position: absolute; top: 1rem; right: 1rem; }
.qdlg__body { padding: 1rem 1.5rem 1.4rem; overflow: auto; overscroll-behavior: contain; }
.qdlg form, .qdlg fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.qdlg legend { display: none; }
.qdlg fieldset > p { margin: 0 0 .6rem; color: var(--muted); font-size: .95rem; }
.qdlg fieldset > p strong { color: var(--ink); }
.qdlg label { display: block; margin: .85rem 0 .3rem; font-weight: 700; font-size: .95rem; color: var(--ink); cursor: pointer; }
.qdlg label .ImportantText, .qdlg .required { color: var(--err); }
.qdlg input[type="text"], .qdlg input[type="email"], .qdlg textarea {
  display: block; width: 100%; min-height: 48px; padding: .6rem .8rem; font: inherit; font-size: 16px; color: var(--ink);
  background: #fff; border: 2px solid var(--line); border-radius: var(--radius-sm); transition: border-color .15s, box-shadow .15s;
}
.qdlg textarea { min-height: 150px; resize: vertical; }
.qdlg input:focus, .qdlg textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(50, 101, 206, .14); }
.qdlg input[type="submit"] {
  width: 100%; min-height: 52px; margin-top: 1.1rem; padding: .7rem 1.4rem; font: inherit; font-weight: 800; font-size: 1.05rem;
  color: var(--ink); background: var(--accent); border: 0; border-radius: 999px; cursor: pointer; box-shadow: 0 6px 14px rgba(180, 110, 0, .2);
}
.qdlg input[type="submit"]:hover { background: var(--accent-hover); }
.qdlg .ErrorBlock, .qdlg .InfoBlock { margin: 0 0 1rem; padding: .9rem 1.1rem; border-radius: var(--radius-sm); }
.qdlg .ErrorBlock { background: #FDECEA; border: 1px solid #F3B8B2; color: var(--err); }
.qdlg .InfoBlock { background: #E8F6EE; border: 1px solid #A9DCC0; color: var(--ok); }
.qdlg .ErrorBlock h3, .qdlg .InfoBlock h3 { margin: 0 0 .2rem; font-size: 1rem; color: inherit; }
.qdlg .ErrorBlock p, .qdlg .InfoBlock p { margin: 0; }
.qdlg .errormsg-close { display: none !important; }
html:has(.qdlg[open]) { overflow: hidden; } /* stranka pod oknem neroluje */
@media (max-width: 599.98px) {
  /* na mobilu vyjede okno zdola pres celou sirku, tlacitko Odeslat je vzdy na dosah palce */
  .qdlg { width: 100%; max-height: 94dvh; margin: auto 0 0; border-radius: var(--radius) var(--radius) 0 0; }
  .qdlg[open] { animation-name: qdlg-up; }
  @keyframes qdlg-up { from { transform: translateY(40px); opacity: .6; } to { transform: none; opacity: 1; } }
  .qdlg__head { padding: 1.1rem 4rem .8rem 1.1rem; }
  .qdlg__body { padding: .9rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .qdlg[open] { animation: none; } }

/* ==========================================================================
   Varianta B (puvodni texty): horni lista, podtitul u loga, puvodni loga produktu,
   oceneni v uvodu, novinky
   ========================================================================== */
.topbar { display: none; background: var(--ink); color: #C9D3E3; font-size: .86rem; }
@media (min-width: 1100px) { .topbar { display: block; } }
.topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 38px; }
.topbar a { color: #fff; text-decoration: none; }
.topbar a:hover { color: var(--tag); text-decoration: underline; }
.topbar__news { display: inline-flex; align-items: center; gap: .5rem; min-width: 0; }
.topbar__news span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar__news .ico { color: var(--tag); }
.topbar__links { display: flex; align-items: center; gap: 1.4rem; flex: none; }
.topbar__links a { display: inline-flex; align-items: center; gap: .35rem; }

.brand__tagline { display: none; font-size: .92rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-dark); white-space: nowrap; }
@media (min-width: 600px) and (max-width: 1099.98px) { .brand__tagline { display: inline; font-size: .8rem; } }
@media (min-width: 1440px) { .brand__tagline { display: inline; } }
@media (max-width: 599.98px) { .brand__divider { display: none; } }
@media (min-width: 1100px) and (max-width: 1439.98px) { .brand__divider { display: none; } }
@media (min-width: 1100px) { .mainnav__item--mobil { display: none; } }

/* puvodni loga produktu v rozbalovaci nabidce a na kartach */
.mtile, .ptile {
  display: inline-grid; place-items: center; flex: none; overflow: hidden;
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
}
.mtile { width: 40px; height: 40px; padding: 3px; }
.ptile { width: 72px; height: 72px; padding: 6px; border-radius: 16px; box-shadow: 0 4px 10px rgba(30,60,120,.06); }
.mtile img, .ptile img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.mtile--mono, .ptile--mono { color: #fff; font-weight: 900; border: 0; }
.mtile--mono { font-size: .85rem; }
.ptile--mono { font-size: 1.3rem; }
.mtile--mono .ico, .ptile--mono .ico { width: 24px; height: 24px; }
/* aktualni loga vyrobcu na kartach uvodni stranky (Money S3, ABRA Flexi) - siroka dlazdice */
.ptile--logo { width: auto; min-width: 72px; max-width: 100%; padding: 10px 16px; }
.ptile--logo img { width: 150px; max-width: 100%; height: auto; max-height: 100%; }
.pcard__title { margin-top: .2rem; }
.pcard__desc { margin-top: .5rem; }

/* oceneni v uvodu */
.promo h2 { margin: 0 0 .5rem; font-size: 1.15rem; letter-spacing: -.01em; }
.promo__big--img { padding: .25rem; background: #fff !important; border: 1px solid var(--line); }
.promo__big--img img { width: 36px; height: 36px; }
#akce .promo-grid { margin: 0 auto; }

.reviews__img { width: 100%; max-width: 450px; height: auto; border-radius: var(--radius-md); border: 1px solid var(--line); background: #fff; }
.news h2 a { color: inherit; text-decoration: none; }
.news h2 a:hover { color: var(--blue); }
.news__list { max-height: 34rem; overflow-y: auto; padding-right: .3rem; gap: .5rem; }
.news__list li { padding: .75rem 1rem; }
.news__list h3 { margin: .15rem 0 .1rem; font-size: 1rem; }
.news__list p { margin: 0; }

/* Cookie lista (cookieconsent) nad spodni listou */
#cc_div { z-index: 130 !important; }

/* ==========================================================================
   Objednavka (4 kroky) - vzhled jako ucetnictvi.org/objednavka/ (Jan 8. 11. 2026)
   Puvodni HTML a formulare zustavaji (nazvy poli, odesilani, prepocet ceny = puvodni PHP).
   Vedle formulare kroky + kontakt (ob_objednavka_panel), aktualni krok podle tlacitka ve formulari.
   ========================================================================== */
.layout--objednavka { display: flex; flex-direction: column; }
.layout--objednavka > .osteps { order: -1; }
@media (min-width: 1024px) {
  .layout--objednavka { display: grid; grid-template-columns: minmax(0, 1fr) 290px; grid-template-rows: auto auto 1fr; column-gap: 3rem; align-items: start; }
  .layout--objednavka > .content { grid-column: 1; grid-row: 1 / span 3; }
  .layout--objednavka > .osteps { grid-column: 2; grid-row: 1; margin-top: 4.4rem; }
  .layout--objednavka > .ohelp { grid-column: 2; grid-row: 2; }
}
/* kroky */
.osteps, .ohelp { padding: 1.1rem 1.2rem; background: var(--tint); border: 1px solid var(--line); border-radius: var(--radius-md); }
.ohelp { margin-top: 1rem; font-size: .95rem; }
.ohelp p { margin: 0 0 .4rem; } .ohelp p:last-child { margin: 0; }
.osteps__h, .ohelp__h { margin: 0 0 .6rem !important; font-weight: 800; color: var(--ink); }
.osteps ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.osteps__i { display: flex; align-items: center; gap: .6rem; margin: 0; color: var(--muted); font-weight: 600; }
.osteps__n {
  flex: none; display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 999px;
  background: #fff; border: 2px solid var(--line); font-size: .85rem; font-weight: 800; color: var(--muted);
}
.osteps__note { margin: .8rem 0 0; font-size: .85rem; color: var(--muted); }
/* aktualni krok (podle tlacitka ve formulari) a hotove kroky */
.layout--objednavka:has(#BtnOrderDopravaPlatba) .osteps__i--1,
.layout--objednavka:has(#BtnOrderAdresa) .osteps__i--2,
.layout--objednavka:has(#BtnOrder2) .osteps__i--3,
.layout--objednavka:has(#BtnOrderConfirm) .osteps__i--4 { color: var(--ink); font-weight: 800; }
.layout--objednavka:has(#BtnOrderDopravaPlatba) .osteps__i--1 .osteps__n,
.layout--objednavka:has(#BtnOrderAdresa) .osteps__i--2 .osteps__n,
.layout--objednavka:has(#BtnOrder2) .osteps__i--3 .osteps__n,
.layout--objednavka:has(#BtnOrderConfirm) .osteps__i--4 .osteps__n { background: var(--blue); border-color: var(--blue); color: #fff; }
.layout--objednavka:has(#BtnOrderAdresa) .osteps__i--1 .osteps__n,
.layout--objednavka:has(#BtnOrder2) :is(.osteps__i--1, .osteps__i--2) .osteps__n,
.layout--objednavka:has(#BtnOrderConfirm) :is(.osteps__i--1, .osteps__i--2, .osteps__i--3) .osteps__n {
  background: #E3F4EA; border-color: #A9DCC0; color: var(--ok);
}
.osteps--inline { display: none; }
@media (max-width: 1023.98px) {
  /* mobil a tablet: kroky jako vodorovny pruh, kontakt az pod formularem. JS vlozi kopii kroku pod nadpis
     (po kazdem kroku stranka skoci na nadpis - pruh nad nim by nebyl videt); bez JS zustane pruh nad drobeckovou navigaci */
  .layout--objednavka > .osteps, .osteps--inline { margin: 1rem 0 0; padding: .7rem .8rem; background: #fff; }
  .layout--objednavka:has(.osteps--inline) > .osteps { display: none; }
  .osteps--inline { display: block; margin: .3rem 0 1.1rem; }
  .osteps__h, .osteps__note { display: none; }
  .osteps ol { grid-template-columns: repeat(4, 1fr); gap: .3rem; }
  .osteps__i { flex-direction: column; gap: .25rem; font-size: .72rem; line-height: 1.15; text-align: center; }
  .layout--objednavka > .ohelp { margin: 0 0 2rem; }
}

/* sekce formulare jako karty */
.layout--objednavka .content--legacy h1 { margin-bottom: .6rem; }
.layout--objednavka .content--legacy > .box,
.layout--objednavka .content--legacy form > .box,
.layout--objednavka #FormConfirmation > .box {
  padding: 1.2rem 1.4rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 2px 6px rgba(30,60,120,.04);
}
.layout--objednavka .content--legacy > .box:first-of-type { background: var(--tint); }
.layout--objednavka .content--legacy form > h2, .layout--objednavka .content--legacy form > h3 { margin: 1.8rem 0 .7rem; }
@media (max-width: 599.98px) {
  .layout--objednavka .content--legacy > .box, .layout--objednavka .content--legacy form > .box, .layout--objednavka #FormConfirmation > .box { padding: 1rem; }
}

/* krok 1: tabulka zbozi -> karty k vyberu (jako varianty na ucetnictvi.org). Jen tabulky se zaskrtavatky *_chk
   (POHODA, POHODA SQL/E1, Money S3, terminal, QRCodeScanner); ostatni (PAMICA, mPohoda, Ucto) zatim puvodni tabulka. */
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) { display: block; border: 0; border-radius: 0; background: none; overflow: visible; margin: 0; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) > thead { display: none; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) > tbody { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; }
@media (min-width: 700px) { .layout--objednavka table#tblobj1:has(input[name$="_chk"]) > tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr { display: block; grid-column: 1 / -1; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) td { display: block; padding: 0; border: 0; background: none !important; text-align: left !important; }
/* nadpisy skupin (POHODA - zakladni varianty, Dalsi udaje k objednavce) */
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) td[colspan] h3 { margin: 1.1rem 0 .1rem; font-size: 1.1rem; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tbody > tr:first-child td[colspan] h3 { margin-top: 0; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) td[colspan] p { margin: .2rem 0; color: var(--muted); }
/* produkt */
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) {
  position: relative; grid-column: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n n" "p q" "v q";
  column-gap: 1rem; padding: .95rem 3.2rem .95rem 1.1rem; background: #fff; border: 2px solid var(--line); border-radius: var(--radius-md);
  cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]):hover { border-color: #B9CCEB; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]:checked) { border-color: var(--blue); background: var(--tint); box-shadow: 0 0 0 3px rgba(50, 101, 206, .12); }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(1) { grid-area: n; font-size: .9rem; color: var(--muted); line-height: 1.45; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(1) label { display: inline; cursor: pointer; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(1) label strong { display: inline-block; margin-bottom: .15rem; font-size: 1.05rem; color: var(--ink); }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) input[name$="_chk"] { position: absolute; top: 1rem; right: 1rem; width: 1.35rem; height: 1.35rem; margin: 0; accent-color: var(--blue); cursor: pointer; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(3) { grid-area: p; align-self: end; margin-top: .55rem; font-weight: 800; color: var(--blue); white-space: nowrap; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(3)::after { content: " K\00010d  bez DPH"; /* za escape 2 mezery - prvni spolkne CSS */ font-weight: 600; font-size: .85rem; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(4) { grid-area: v; font-size: .85rem; color: var(--muted); white-space: nowrap; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(4)::after { content: " K\00010d  s DPH"; }
/* pocet licenci: jen u vybraneho produktu */
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(2) { grid-area: q; align-self: end; display: flex; align-items: center; gap: .4rem; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(2)::before { content: "Po\00010det"; font-size: .82rem; font-weight: 700; color: var(--muted); }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]:not(:checked)) > td:nth-child(2) { visibility: hidden; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[name$="_chk"]) > td:nth-child(2) input[type="text"] { width: 4.2rem; min-height: 42px; text-align: center; font-weight: 800; background: #fff !important; }
/* prepinace skupin (Chci zobrazit sitove licence ...) */
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(td[colspan] input[type="checkbox"]) td {
  margin-top: .4rem; padding: .9rem 1.1rem; border: 2px dashed var(--line); border-radius: var(--radius-md);
}
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(td[colspan] input[type="checkbox"]) h3 { margin-top: 0; }
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) td[colspan] input[type="checkbox"] { width: 1.2rem; height: 1.2rem; accent-color: var(--blue); vertical-align: -.25em; margin-right: .4rem; }
/* volby slev: JS je rozdeli do karet .oopt (bez JS zustane puvodni text s radky) */
.layout--objednavka table#tblobj1:has(input[name$="_chk"]) tr:has(input[type="radio"]) td { color: var(--muted); font-size: .92rem; }
.oopts { display: grid; gap: .6rem; }
.oopt {
  display: block; position: relative; padding: .85rem 1rem .85rem 2.9rem; background: #fff; border: 2px solid var(--line); border-radius: var(--radius-md);
  color: var(--muted); font-size: .92rem; line-height: 1.45; cursor: pointer; transition: border-color .15s, background-color .15s;
}
.oopt:hover { border-color: #B9CCEB; }
.oopt:has(input:checked) { border-color: var(--blue); background: var(--tint); }
.oopt > input[type="radio"] { position: absolute; left: 1rem; top: 1.05rem; width: 1.2rem; height: 1.2rem; margin: 0; accent-color: var(--blue); }
.oopt label { cursor: pointer; } .oopt label strong { color: var(--ink); }
/* tlacitka */
.layout--objednavka input[name="BtnOnlySubmit"] { background: #fff !important; color: var(--blue) !important; border: 2px solid var(--blue) !important; box-shadow: none !important; }
.layout--objednavka p.wf-margin-2 { margin: 1.1rem 0 0; }
.layout--objednavka .orderbox { margin: 1rem 0 .4rem; }
.layout--objednavka .orderbox input.button { min-height: 56px; padding: .8rem 2rem; font-size: 1.08rem; }
.layout--objednavka .box-in:has(> p.orderbox):has(> p > .buttonback):not(:has(> div)) { display: flex; flex-wrap: wrap; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: .6rem 1rem; }
.layout--objednavka .box-in:has(> p.orderbox):has(> p > .buttonback):not(:has(> div)) > p { margin: 0; }
@media (max-width: 599.98px) {
  .layout--objednavka .orderbox input.button, .layout--objednavka input.buttonback, .layout--objednavka input[name="BtnOnlySubmit"] { width: 100%; }
  .layout--objednavka .box-in:has(> p.orderbox):has(> p > .buttonback):not(:has(> div)) > p { flex: 1 1 100%; }
}

/* krok 2: doprava a platba jako karty (dt + dd tvori jednu kartu) */
.layout--objednavka dl.wf-no-list { margin: 0 0 1rem; }
.layout--objednavka dl.wf-no-list > dt, .layout--objednavka dl.wf-no-list > div > dt {
  position: relative; margin: .6rem 0 0; padding: .85rem 1rem .25rem 2.9rem; font-weight: 700;
  background: #fff !important; border: 2px solid var(--line); border-bottom: 0; border-radius: var(--radius-md) var(--radius-md) 0 0;
}
.layout--objednavka dl.wf-no-list dt > input[type="radio"] { position: absolute; left: 1rem; top: 1.05rem; width: 1.2rem; height: 1.2rem; margin: 0; accent-color: var(--blue); }
.layout--objednavka dl.wf-no-list dt label { cursor: pointer; color: var(--ink); }
.layout--objednavka dl.wf-no-list > dd, .layout--objednavka dl.wf-no-list > div > dd {
  display: block !important; margin: 0; padding: 0 1rem .85rem 2.9rem; color: var(--muted); font-size: .9rem;
  background: #fff; border: 2px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius-md) var(--radius-md);
}
.layout--objednavka dl.wf-no-list dd > br:last-child, .layout--objednavka dl.wf-no-list dd > br:nth-last-child(2) { display: none; }
.layout--objednavka dl.wf-no-list dt:has(input:checked), .layout--objednavka dl.wf-no-list dt:has(input:checked) + dd { border-color: var(--blue); background: var(--tint) !important; }
.layout--objednavka dl.wf-no-list dt:has(input:disabled) { opacity: .55; }

/* krok 3: adresa ve dvou sloupcich (jako fakturacni udaje na ucetnictvi.org) */
.layout--objednavka #fact_address_div, .layout--objednavka #dod_address_div1, .layout--objednavka #telefon_div, .layout--objednavka #poznamka_div {
  float: none; width: auto; margin: 0 0 1rem; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff;
}
.layout--objednavka #fact_address_div, .layout--objednavka #dod-adr-table, .layout--objednavka #telefon_div { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 1rem; }
@media (min-width: 600px) { .layout--objednavka #fact_address_div, .layout--objednavka #dod-adr-table, .layout--objednavka #telefon_div { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.layout--objednavka #dod-adr-table[style*="none"] { display: none; }
.layout--objednavka :is(#fact_address_div, #dod-adr-table, #telefon_div) > :is(h3, p) { grid-column: 1 / -1; }
.layout--objednavka :is(#fact_address_div, #dod-adr-table, #dod_address_div1, #telefon_div, #poznamka_div) h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.layout--objednavka :is(#fact_address_div, #dod-adr-table) > div:has(:is(#adr_firma, #adr_jmeno, #adr_ulice, #dadr_firma, #dadr_jmeno, #dadr_ulice)) { grid-column: 1 / -1; }
.layout--objednavka :is(#fact_address_div, #dod-adr-table, #telefon_div) > div > label { display: block; margin: .7rem 0 .3rem; font-weight: 700; font-size: .92rem; color: var(--ink); }
.layout--objednavka :is(#fact_address_div, #dod-adr-table, #telefon_div) input[type="text"] { width: 100%; min-height: 48px; font-size: 16px; }
.layout--objednavka #adr_ico { width: calc(100% - 0px) !important; }
.layout--objednavka #poznamka_div textarea, .layout--objednavka #komentar_product, .layout--objednavka #komentar_doprava { width: 100%; min-height: 90px; font-size: 16px; }
.layout--objednavka #dod_address_div1 > p { margin: 0; color: var(--muted); font-size: .9rem; }
.layout--objednavka #dod_address_div1 > p label { color: var(--ink); }
.layout--objednavka #adr_dodaci { width: 1.2rem; height: 1.2rem; accent-color: var(--blue); vertical-align: -.25em; margin-right: .3rem; }
.layout--objednavka #selpresent { width: 100%; min-height: 48px; font-size: 16px; margin: .3rem 0 .2rem; }
.layout--objednavka .box-in:has(> #selpresent) { padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--tag-tint); }

/* krok 2: bez mezery nad "Doprava" */
.layout--objednavka #doprava_div > h3:first-child { margin-top: 0; }
/* krok 3: ICO a nacitani z ARES na jednom radku; adresy bez dvojiteho ramecku */
.layout--objednavka #fact_address_div > div:has(> div > #adr_ico) > div { display: flex; align-items: center; gap: .5rem; }
.layout--objednavka #adr_ico { flex: 1; min-width: 0; }
.layout--objednavka .content--legacy form > .box:has(#fact_address_div) { padding: 0; border: 0; background: none; box-shadow: none; }
.layout--objednavka .content--legacy form > .box:has(#fact_address_div) > .box-in > p.wf-text-note { margin: 0 0 .7rem; }
/* mobil: uvodni box s textem jen pro velke obrazovky (.mobilebig) by zustal prazdny */
@media (max-width: 599.98px) { .layout--objednavka .content--legacy > .box:not(:has(> .box-in:not(.mobilebig))) { display: none; } }

/* POHODA (Jan 8.-9. 11. 2026): karty voleb 1. kroku (.pv) - pouziva nova objednavka lib/objednavka2026.php */
.layout--objednavka .pv-puvodni { display: none !important; }
.pv { display: grid; gap: 1rem; margin: 0 0 1.4rem; }
.pv__sec { margin: 0; padding: 1.1rem 1.2rem 1.2rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); min-width: 0; }
.pv__sec > legend { padding: 0 .4rem; margin-left: -.4rem; font-weight: 800; font-size: 1.08rem; color: var(--ink); }
.pv__hint { margin: .5rem 0 0; font-size: .88rem; color: var(--muted); }
.pv__sec > .pv__hint:first-of-type { margin: 0 0 .8rem; }
.pv__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; }
@media (min-width: 640px) { .pv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pv__card {
  position: relative; display: flex; flex-direction: column; gap: .2rem; padding: .9rem 2.8rem .95rem 1rem; cursor: pointer;
  background: #fff; border: 2px solid var(--line); border-radius: var(--radius-md); transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.pv__card:hover { border-color: #B9CCEB; }
.pv__card:has(input:checked) { border-color: var(--blue); background: var(--tint); box-shadow: 0 0 0 3px rgba(50, 101, 206, .12); }
.pv__card > input { position: absolute; top: 1rem; right: 1rem; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--blue); }
.pv__name { font-weight: 800; font-size: 1.05rem; color: var(--ink); }
.pv__price { font-weight: 800; font-size: .9rem; color: var(--blue); }
.pv__desc { font-size: .86rem; color: var(--muted); line-height: 1.4; }
.pv__opts { display: grid; gap: .5rem; }
.pv__opt {
  position: relative; display: block; padding: .7rem .9rem .7rem 2.6rem; cursor: pointer; font-size: .92rem; color: var(--muted); line-height: 1.45;
  background: #fff; border: 2px solid var(--line); border-radius: var(--radius-sm); transition: border-color .15s, background-color .15s;
}
.pv__opt strong { color: var(--ink); }
.pv__opt:hover { border-color: #B9CCEB; }
.pv__opt:has(input:checked) { border-color: var(--blue); background: var(--tint); }
.pv__opt > input { position: absolute; left: .9rem; top: .85rem; width: 1.15rem; height: 1.15rem; margin: 0; accent-color: var(--blue); }
.pv__opt.is-off { opacity: .5; }
.pv__row { display: grid; gap: .8rem; align-items: end; }
@media (min-width: 640px) { .pv__row { grid-template-columns: 220px minmax(0, 1fr); } }
.pv__opts--inline { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.pv__field { display: grid; gap: .35rem; font-weight: 700; font-size: .92rem; color: var(--ink); }
.pv__field > span { font-weight: 700; }
.pv__field input[type="number"], .pv__field input[type="text"], .pv__field select {
  width: 100%; min-height: 48px; padding: .55rem .8rem; font: inherit; font-size: 16px; font-weight: 700; color: var(--ink);
  background: #fff; border: 2px solid var(--line); border-radius: var(--radius-sm);
}
.pv__field input[type="number"] { max-width: 9rem; }
.pv__field small { display: block; font-weight: 400; color: var(--muted); }
/* nova objednavka vsech programu (Jan 9. 11. 2026): moduly ve dvou sloupcich, vnorene casti podle voleb */
@media (min-width: 900px) { .pv__opts--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pv__opt small { color: var(--muted); font-size: .84rem; }
.pv .pv { margin: 0; }
.pv__sec > .pv__name, .pv__sec > .pv__price { display: block; margin: 0 0 .3rem; }
.pv__sec > .pv-darek { margin: .6rem 0 .9rem; }
.pv__sum .pv__err { margin: 0; }
.pv__sum > .pv__hint { margin: .5rem 0 0; }
.pv__field input:focus, .pv__field select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(50, 101, 206, .14); }
.pv__sum { padding: 1.1rem 1.2rem; background: var(--tag-tint); border: 1px solid var(--tag-line); border-radius: var(--radius); }
.pv__sum-h { margin: 0 0 .4rem; font-weight: 800; color: var(--ink); }
.pv__sum ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; font-size: .95rem; }
.pv__sum li, .pv__sum-total { display: flex; justify-content: space-between; gap: 1rem; margin: 0; }
.pv__sum li span:last-child { white-space: nowrap; font-weight: 700; }
.pv__sum em { color: var(--ok); font-style: normal; font-weight: 700; }
.pv__sum-total { margin: .7rem 0 0 !important; padding-top: .7rem; border-top: 1px solid var(--tag-line); align-items: baseline; }
.pv__sum-total > span:last-child { text-align: right; }
.pv__sum-total strong { font-size: 1.35rem; color: var(--blue); }
.pv__err { margin: 0; padding: .8rem 1rem; color: var(--err); font-weight: 700; background: #FDECEA; border: 1px solid #F3B8B2; border-radius: var(--radius-sm); }
/* krok 2 a 3 u POHODY: doprava jen informace, darek z 1. kroku */
.pv-doprava { margin: 0 0 1.2rem; padding: .9rem 1.1rem; background: var(--tint); border: 1px solid var(--line); border-radius: var(--radius-md); }
.pv-doprava h3 { margin: 0 0 .3rem; font-size: 1.05rem; }
.pv-doprava p { margin: 0; color: var(--muted); font-size: .92rem; }
.pv-doprava strong { color: var(--ink); }
.pv-darek { margin: 0; padding: .9rem 1.1rem; background: var(--tag-tint); border: 1px solid var(--tag-line); border-radius: var(--radius-md); }
/* Ucto: aktualizace zdarma ke koupi nove licence - zluty stitek jako na ucto-tichy.cz (Jan 10. 11. 2026) */
.promo-badge { display: flex; align-items: center; gap: .8rem; width: fit-content; max-width: 100%; margin: .8rem 0 1rem;
  padding: .75rem 1.15rem .75rem .9rem; border-radius: var(--radius-sm); background: var(--tag); color: var(--ink);
  line-height: 1.3; box-shadow: 0 6px 14px rgba(120, 90, 0, .16); }
.promo-badge .ico { width: 30px; height: 30px; }
.promo-badge strong { display: block; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.promo-badge span { font-size: 1.08rem; font-weight: 700; }
.layout--objednavka .box-in:has(> .pv-darek) { padding: 0; border: 0; background: none; }

/* krok 4: rekapitulace a potvrzeni */
.layout--objednavka #FormConfirmation h2 { margin-top: .2rem; }
.layout--objednavka #FormConfirmation .orderbox, .layout--objednavka #FormConfirmation p.NoPrint { text-align: left; }
@media (max-width: 599.98px) {
  /* objednane zbozi: radky pod sebou, DPH: posuvnik */
  .layout--objednavka #tblobj_rekap, .layout--objednavka #tblobj_rekap > tbody, .layout--objednavka #tblobj_rekap tr, .layout--objednavka #tblobj_rekap td { display: block; width: auto; }
  .layout--objednavka #tblobj_rekap > thead { display: none; }
  .layout--objednavka #tblobj_rekap tr { padding: .7rem .9rem; border-bottom: 1px solid var(--line); }
  .layout--objednavka #tblobj_rekap tr:last-child { border-bottom: 0; }
  .layout--objednavka #tblobj_rekap td { padding: .1rem 0; border: 0; text-align: left !important; background: none !important; }
  .layout--objednavka #tblobj_rekap td:not(:first-child) { display: inline-block; margin-right: 1rem; font-weight: 700; }
  .layout--objednavka #tblobj_rekap td:nth-child(2)::after { content: "\00d7"; }
  .layout--objednavka #tblobj_rekap td[data-label]:not(:first-child)::before { content: attr(data-label) " "; font-weight: 600; color: var(--muted); font-size: .85rem; }
  /* DPH: kazda sazba jako radky 'Sazba DPH: 21 %' ... posledni (cena s DPH) tucne */
  .layout--objednavka #tblobj_dph, .layout--objednavka #tblobj_dph > tbody, .layout--objednavka #tblobj_dph tr, .layout--objednavka #tblobj_dph td { display: block; width: auto; }
  .layout--objednavka #tblobj_dph > thead { display: none; }
  .layout--objednavka #tblobj_dph tr { padding: .7rem .9rem; }
  .layout--objednavka #tblobj_dph td { display: flex; justify-content: space-between; gap: 1rem; padding: .15rem 0; border: 0; background: none !important; }
  .layout--objednavka #tblobj_dph td::before { content: attr(data-label); color: var(--muted); }
  .layout--objednavka #tblobj_dph td:last-child { margin-top: .2rem; padding-top: .4rem; border-top: 1px solid var(--line); font-weight: 800; color: var(--ink); }
}
.layout--objednavka #FormConfirmation h3 { margin: 1.3rem 0 .4rem; font-size: 1.08rem; }
.layout--objednavka #FormConfirmation div[style*="border"] {
  margin: 1rem 0 0; padding: .9rem 1.1rem !important; text-align: left !important; font-size: .92rem;
  border: 1px solid var(--line) !important; border-radius: var(--radius-md); background: var(--tint);
}
.layout--objednavka #chkSouhlasHeureka { width: 1.15rem; height: 1.15rem; accent-color: var(--blue); vertical-align: -.2em; }
.layout--objednavka #BtnOrderConfirm { min-height: 60px; padding: .9rem 2.4rem; font-size: 1.15rem; }
@media (max-width: 599.98px) { .layout--objednavka #BtnOrderConfirm { width: 100%; } }

/* Nova objednavka bez databaze (Jan 9. 11. 2026, lib/objednavka2026.php; POHODA a POHODA SQL/E1).
   Aktualni krok podle form[data-krok]; 5 = podekovani (vsechny kroky hotove). */
.layout--objednavka:has(form[data-krok="1"]) .osteps__i--1,
.layout--objednavka:has(form[data-krok="2"]) .osteps__i--2,
.layout--objednavka:has(form[data-krok="3"]) .osteps__i--3,
.layout--objednavka:has(form[data-krok="4"]) .osteps__i--4 { color: var(--ink); font-weight: 800; }
.layout--objednavka:has(form[data-krok="1"]) .osteps__i--1 .osteps__n,
.layout--objednavka:has(form[data-krok="2"]) .osteps__i--2 .osteps__n,
.layout--objednavka:has(form[data-krok="3"]) .osteps__i--3 .osteps__n,
.layout--objednavka:has(form[data-krok="4"]) .osteps__i--4 .osteps__n { background: var(--blue); border-color: var(--blue); color: #fff; }
.layout--objednavka:has(form[data-krok="2"]) .osteps__i--1 .osteps__n,
.layout--objednavka:has(form[data-krok="3"]) :is(.osteps__i--1, .osteps__i--2) .osteps__n,
.layout--objednavka:has(form[data-krok="4"]) :is(.osteps__i--1, .osteps__i--2, .osteps__i--3) .osteps__n,
.layout--objednavka:has(form[data-krok="5"]) .osteps__n { background: #E3F4EA; border-color: #A9DCC0; color: var(--ok); }
.o26 [hidden], .o26-dekujeme [hidden] { display: none !important; }
.o26-chyby { margin: 0 0 1rem; padding: .9rem 1.1rem; color: var(--err); background: #FDECEA; border: 1px solid #F3B8B2; border-radius: var(--radius-sm); }
.o26-chyby p { margin: 0 0 .3rem; }
.o26-chyby ul { margin: 0; padding-left: 1.2rem; }
.o26-mrizka { display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem 1rem; }
@media (min-width: 640px) { .o26-mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); } .o26-cela { grid-column: 1 / -1; } }
.o26-dodaci { margin-top: .9rem; }
.o26-pole { display: grid; gap: .3rem; font-weight: 700; font-size: .92rem; color: var(--ink); }
.o26-pole input, .o26-textarea {
  box-sizing: border-box; width: 100%; min-height: 46px; padding: .6rem .8rem; font: inherit; font-weight: 400; color: var(--ink);
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm);
}
.o26-textarea { min-height: 5.5rem; resize: vertical; }
.o26-pole input:focus, .o26-textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(50, 101, 206, .14); }
.o26-pole--chyba input { border-color: var(--err); background: #FFF8F7; }
.o26-chyba { color: var(--err); font-weight: 600; font-size: .85rem; }
.o26-povinne { color: var(--err); }
.o26-tlacitka { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; margin: 1.2rem 0 0; }
.o26-tlacitka .btn--primary { margin-left: auto; }
@media (max-width: 599.98px) { .o26-tlacitka { flex-direction: column-reverse; align-items: stretch; } .o26-tlacitka .btn { width: 100%; margin: 0; } }
.o26-odeslat { min-height: 60px; padding: .9rem 2.4rem; font-size: 1.15rem; }
/* 4. krok: celkova cena a potvrzovaci tlacitko i nad souhrnem (Jan 10. 11. 2026) */
.o26-nahore { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.2rem; margin: 0 0 1rem; padding: 1rem 1.2rem;
  background: var(--soft); border: 1px solid var(--line); border-radius: var(--radius-md); }
.o26-nahore__cena { margin: 0; font-size: 1.1rem; }
.o26-nahore__cena strong { font-size: 1.35rem; white-space: nowrap; }
.o26-nahore .o26-odeslat { margin-left: auto; }
.o26-nahore .o26-souhlas { flex-basis: 100%; }
@media (max-width: 599.98px) { .o26-nahore .o26-odeslat { width: 100%; margin: 0; } .o26-odeslat { white-space: normal; padding-inline: 1.2rem; } }
.o26-souhlas { margin: 0; font-size: .9rem; color: var(--muted); }
.o26-souhrn h2, .o26-dekujeme h2, .o26-platba h2 { margin: 0 0 .7rem; font-size: 1.2rem; }
.o26-dekujeme .pv__sec > h2 + p, .o26-dekujeme .pv__sec p { margin: 0 0 .7rem; }
.o26-tab { font-size: .95rem; }
.o26-tab em { color: var(--ok); font-style: normal; font-weight: 700; }
.o26-ucet { border-collapse: collapse; margin: .3rem 0 0; }
.o26-ucet th { padding: .35rem 1.2rem .35rem 0; text-align: left; vertical-align: top; font-weight: 600; color: var(--muted); }
.o26-ucet td { padding: .35rem 0; font-size: 1.05rem; overflow-wrap: anywhere; }
.o26-qr { margin: 1.1rem 0 0; }
.o26-qr img { display: block; width: 220px; max-width: 100%; height: auto; image-rendering: pixelated; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.o26-qr p { margin: .4rem 0 0; font-size: .88rem; color: var(--muted); }
.o26-ok { padding: .8rem 1rem; color: var(--ok); background: #E3F4EA; border: 1px solid #A9DCC0; border-radius: var(--radius-sm); }
#tp-div { margin: .8rem 0 0; }

@media print {
  .osteps, .ohelp { display: none !important; }
  .site-header, .site-footer, .buybox, .stickybar, .crumbs, nav#navsmall-nav { display: none !important; }
  body { font-size: 11pt; }
}

/* Pruvodce vyberem ucetniho programu (/pruvodce/, lib/pruvodce2026.php; Jan 9. 11. 2026) */
.pg__lead { max-width: 46rem; margin: 0 0 1.2rem; font-size: 1.05rem; color: var(--muted); }
.pg { display: grid; gap: 1.2rem; margin: 0 0 1.4rem; }
@media (min-width: 960px) {
  .pg { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: start; }
  .pg__vysledek { position: sticky; top: 96px; }
}
.pg [hidden] { display: none !important; }
.pg__otazky { display: grid; gap: 1rem; min-width: 0; }
.pg__odeslat { margin: 0; }
.pg__vysledek { min-width: 0; padding: 1.1rem 1.2rem 1.2rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.pg__vysledek h2, .pg__tip h2 { margin: 0 0 .6rem; font-size: 1.2rem; }
.pg__vysledek > .pv__hint { margin: 0 0 .8rem; }
.pg__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .7rem; }
.pg__item { margin: 0; padding: .8rem 1rem; border: 2px solid var(--line); border-radius: var(--radius-sm); background: #fff; transition: opacity .15s, border-color .15s; }
.pg__item--ano { order: -1; border-color: var(--ok); background: #F2FAF5; }
.pg__item--ne { opacity: .55; }
.pg__nazev { display: flex; flex-wrap: wrap; gap: .2rem .8rem; align-items: baseline; justify-content: space-between; margin: 0; font-weight: 800; font-size: 1.05rem; }
.pg__cena { font-size: .88rem; font-weight: 700; color: var(--blue); white-space: nowrap; }
.pg__stav { margin: .2rem 0 0; font-size: .85rem; font-weight: 700; }
.pg__stav:empty { display: none; }
.pg__item--ano .pg__stav { color: var(--ok); }
.pg__item--ne .pg__stav { color: var(--muted); }
.pg__popis { margin: .4rem 0 0; font-size: .9rem; color: var(--muted); }
.pg__odkazy { margin: .4rem 0 0; font-size: .88rem; }
.pg__nic { margin: .8rem 0 0; padding: .8rem 1rem; background: var(--tag-tint); border: 1px solid var(--tag-line); border-radius: var(--radius-sm); }
.pg__tip { margin: 0 0 1.4rem; padding: 1.1rem 1.2rem; background: var(--tint); border: 1px solid var(--line); border-radius: var(--radius); }
.pg__tip p { margin: .3rem 0; }

/* kontaktni stranka: aktualni fotka Jana (img/2026/jan-blaha.webp) se zaoblenymi rohy jako na ostatnich webech */
.BlahaImg { border-radius: 8px; }
