@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 800;font-display:swap;src:url(/static/fonts/schibsted-grotesk-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 800;font-display:swap;src:url(/static/fonts/schibsted-grotesk-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}

/* ==========================================================================
   DESIGN SYSTÉM (fáze 2, audit 2026-10-20): jediný zdroj tokenů je paleta (web/palety.py).
   VARIANTA H „Mapa“ (2026-10-22): list mapy (vrstevnice, tečky). Barvy NEJSOU v tomto souboru ručně: tokeny se do něj při buildu
   vkládají z palety (web/palety.py, build.py --paleta), na místě značek PALETA-SVETLA a PALETA-TMAVA níže.
   --ter = JEN tečky měst a lokační značky, amber JEN pro cenové rozdíly („rozdíl až …“, třída .rozdil).
   Stav vždy i slovem, ne jen barvou. Hranaté štítky (--r-pill 3px), karty jako legenda mapy (--r-card 6px).
   Barevné tokeny mají světlou a tmavou hodnotu (stejný seznam ve všech třech blocích níže, hlídá K13);
   tokeny, které se mezi režimy neliší (poloměry, mezery, velikosti písma), jsou jednou v druhém bloku :root.
   ========================================================================== */
/* paleta: modra-klasik */
:root{
  color-scheme:light;
  --bg:#ffffff; --surf:#ffffff; --ink:#0b2a3d; --ink2:#41596a; --line:#cfe0ea; --acc:#0a67b0; --acc-ink:#0a67b0; --acc-soft:#dcf0f8; --on-acc:#ffffff; --dot:#5a7889; --band:#eef1f3; --focus:#0b2a3d; --warn-soft:#f6e9e1; --line-strong:#6a8696; --amb:#b45309; --amb-soft:#fdf3e7; --shadow:0 1px 0 rgba(11,42,61,.06); --shadow-lg:rgba(11,42,61,.12); --topo:#ffffff; --topo2:#e8ecef; --ter:#007c91; --btn:#0a67b0; --on-btn:#ffffff; --btn-h:#0b2a3d; --on-btn-h:#ffffff;
}
:root{
  --r-card:6px; --r-ctl:4px; --r-pill:3px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:40px; --sp-7:56px;
  --fs-sm:.875rem; --fs-base:1rem; --fs-lg:1.125rem; --fs-price:clamp(1.35rem,4.6vw,1.75rem);
  --fs-h1:clamp(1.875rem,6vw,3.25rem); --fs-h2:clamp(1.35rem,3vw,1.85rem); --fs-hero:clamp(1.65rem,5vw,3.4rem);
  --tap:44px; --obal:1120px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0a1a25; --surf:#10242f; --ink:#e8f3f9; --ink2:#a4bccb; --line:#26414f; --acc:#4aa8e0; --acc-ink:#7cc1ec; --acc-soft:#12384d; --on-acc:#04202f; --dot:#8aa7b8; --band:#14303f; --focus:#e8f3f9; --warn-soft:#3a2a14; --line-strong:#60808f; --amb:#f0a35a; --amb-soft:#3a2a14; --shadow:0 1px 0 rgba(0,0,0,.35); --shadow-lg:rgba(0,0,0,.35); --topo:#0f2a38; --topo2:#1a4156; --ter:#3cc5d6; --btn:#4aa8e0; --on-btn:#04202f; --btn-h:#7cc1ec; --on-btn-h:#04202f;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0a1a25; --surf:#10242f; --ink:#e8f3f9; --ink2:#a4bccb; --line:#26414f; --acc:#4aa8e0; --acc-ink:#7cc1ec; --acc-soft:#12384d; --on-acc:#04202f; --dot:#8aa7b8; --band:#14303f; --focus:#e8f3f9; --warn-soft:#3a2a14; --line-strong:#60808f; --amb:#f0a35a; --amb-soft:#3a2a14; --shadow:0 1px 0 rgba(0,0,0,.35); --shadow-lg:rgba(0,0,0,.35); --topo:#0f2a38; --topo2:#1a4156; --ter:#3cc5d6; --btn:#4aa8e0; --on-btn:#04202f; --btn-h:#7cc1ec; --on-btn-h:#04202f;
}

/* ---------- základ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"tnum" 0}
img,svg{max-width:100%}
a{color:var(--acc-ink);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skok{position:absolute;left:-9999px;top:8px;background:var(--surf);color:var(--ink);padding:8px 12px;border-radius:6px;z-index:30}
.skok:focus{left:16px}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.nz{white-space:nowrap}   /* částka nebo rozpětí z textu (build ho obalí, viz i18n.nezlom_html); nikdy se nezalomí */
.obal{max-width:var(--obal);margin:0 auto;padding-inline:var(--sp-4)}

/* ---------- typografie: výrazný kontrast velikostí, ceny tučně tabulkovými číslicemi */
main{display:block;padding-block:var(--sp-5) 72px}
.drobky{font-size:var(--fs-sm);color:var(--ink2);margin:0 0 var(--sp-3)}
.drobky a{color:var(--ink2)}
h1,h2,h3{letter-spacing:-.02em;line-height:1.1;text-wrap:balance}
h1{font-size:var(--fs-h1);font-weight:800;letter-spacing:-.03em;margin:0 0 var(--sp-3);max-width:22ch}
h2{font-size:var(--fs-h2);font-weight:800;margin:var(--sp-7) 0 var(--sp-3)}
h3{font-size:1.15rem;font-weight:700;margin:0 0 6px}
p{margin:0 0 var(--sp-3);max-width:68ch}
.perex{color:var(--ink2);font-size:var(--fs-lg);max-width:62ch}
.pozn{font-size:.9rem;color:var(--ink2);max-width:72ch}
.pozn a{color:var(--ink2)}

/* ---------- komponenta: tlačítko (.tl = akce; .hl = hlavní akce v barvě akcentu) */
.tl{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--r-ctl);text-decoration:none;font:inherit;font-weight:700;border:1px solid var(--line-strong);color:var(--acc-ink);background:var(--surf);cursor:pointer;min-height:var(--tap)}
.tl:hover{border-color:var(--acc-ink)}
.tl.hl{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.tl.hl:hover{filter:brightness(1.06)}
.tl.mala{padding:7px 14px;min-height:40px;font-size:.95rem}

/* ---------- komponenta: chip / filtr (odkaz i přepínač) */
.chip,.oblasti a,.oblasti span,.volba{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:8px 14px;background:var(--surf);color:var(--ink);text-decoration:none;font:inherit;font-size:.95rem;font-weight:500;min-height:40px}
button.chip,.volba{cursor:pointer}
.chip small,.oblasti small{color:var(--ink2);font-variant-numeric:tabular-nums}
a.chip:hover,.oblasti a:hover,.volba:hover{border-color:var(--ink)}
.chip[aria-pressed="true"],.volba[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip[aria-pressed="true"] small{color:var(--bg)}
.oblasti span{color:var(--ink2);border-color:var(--line)}
.oblasti{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-3) 0 0;padding:0;list-style:none}
.oblasti li{margin:0}

/* ---------- komponenta: štítek (stav vždy se slovem) */
.stitek,.omez,.stitek-rec,.stav{display:inline-block;padding:2px 10px;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:.8rem;font-weight:700;color:var(--ink2);white-space:nowrap;line-height:1.5}
.omez{margin-left:6px}
.prijima{display:inline-block;margin-top:6px;font-weight:700;font-size:.9rem;color:var(--ink);background:var(--band);border-radius:var(--r-pill);padding:3px 12px}
.prijima::before{content:"\2713\00a0"}
.prijima .zn{font-weight:400;color:var(--ink2)}
.tag{display:inline-block;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;background:var(--ink);color:var(--bg);border-radius:var(--r-pill);padding:2px 12px}

/* ---------- komponenta: rozdíl ceny (JEDINÉ místo, kde se používá amber) */
.rozdil{display:inline-block;background:var(--amb-soft);color:var(--amb);border:1px solid var(--amb);font-weight:700;border-radius:var(--r-pill);padding:3px 12px;font-size:.95rem;line-height:1.4}

/* ---------- komponenta: karta (bílá, 16 px, jemný rámeček) */
.card,.vykon,.vysledek,.vyber,.prinos li,.srovnani-mesto,.rozpeti,.pacienti,.od-ordinace,details.box,details.rozlozeni{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}

/* ---------- komponenta: lišta rozpětí (svg bez inline stylu, CSP) */
.rozpeti{padding:var(--sp-4) var(--sp-4) var(--sp-3);margin:var(--sp-4) 0}
.rz-radek{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 var(--sp-3);max-width:none}
.rz-svg{display:block;width:100%;height:18px;overflow:visible}
.rz-pozadi{fill:var(--band)}
.rz-bezne{fill:var(--ink)}
.rz-med{stroke:var(--surf);stroke-width:2;vector-effect:non-scaling-stroke}
.rz-popisky{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--ink2);margin:6px 0 0;max-width:none}
.rz-popisky b{color:var(--ink);font-variant-numeric:tabular-nums}
.rz-vice{margin-top:var(--sp-2)}
.rz-vice summary{cursor:pointer;font-size:var(--fs-sm);font-weight:700;color:var(--acc-ink);min-height:32px}
.rz-legenda{font-size:var(--fs-sm);color:var(--ink2);margin:var(--sp-2) 0 0;max-width:none}
.rz-legenda i{display:inline-block;width:18px;height:8px;background:var(--ink);border-radius:2px;margin-right:6px;vertical-align:0}

/* ---------- hlavička a menu (mobil: tlačítko Menu, funguje i bez JS přes <details>) */
.hlava{border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:20}
.hlava .obal{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-block:12px;position:relative}
.znacka{font-weight:800;letter-spacing:-.01em;font-size:1.1rem;color:var(--ink);text-decoration:none}
.znacka span{color:var(--ink2)}
.menu{display:none;flex-wrap:wrap;gap:4px 18px;font-weight:500;margin-left:auto}
.menu a{color:var(--ink2);text-decoration:none;padding:4px 0}
.menu a:hover,.menu a[aria-current="page"]{color:var(--ink)}
.menu a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}
.menu-box{display:block;margin-left:auto;margin-right:92px}
.menu-box summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-weight:700;background:var(--surf)}
.menu-box summary::-webkit-details-marker{display:none}
.menu-box summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translateY(-2px)}
.menu-box[open] summary::after{transform:rotate(-135deg)}
.menu-box nav{position:absolute;left:0;right:0;top:100%;background:var(--surf);border-bottom:1px solid var(--line);box-shadow:0 12px 24px var(--shadow-lg);padding:var(--sp-2) var(--sp-4) var(--sp-3);display:grid}
.menu-box nav a{display:flex;align-items:center;min-height:var(--tap);color:var(--ink);text-decoration:none;font-weight:600;border-top:1px solid var(--line)}
.menu-box nav a:first-child{border-top:0}
.menu-box nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px}
@media (min-width:761px){
  .menu{display:flex}
  .menu-box{display:none}
}

/* ---------- úvod: hero, výběr výkon × místo, okamžitý výsledek */
h1.hero{font-size:var(--fs-hero);max-width:20ch;margin-bottom:14px;letter-spacing:-.035em;line-height:1.05}
.hero-perex{font-size:clamp(1.02rem,1.6vw,1.2rem);margin-bottom:var(--sp-5)}
.titul{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.3;letter-spacing:-.01em;font-weight:700;margin:0;color:var(--ink2);max-width:none}
.vyber{display:grid;grid-template-columns:1fr;gap:var(--sp-3);max-width:760px;padding:var(--sp-3) var(--sp-4) var(--sp-4)}
.vyber label{display:block;font-weight:700;font-size:var(--fs-sm);color:var(--ink2);margin:0 0 6px 2px}
.vyber select{width:100%;min-height:48px;border:1px solid var(--line-strong);background:var(--surf);color:var(--ink);border-radius:var(--r-ctl);padding:10px 12px;font:inherit;font-weight:600}
@media (min-width:561px){.vyber{grid-template-columns:1fr 1fr}}
.vysledek{margin:var(--sp-3) 0 0;max-width:760px;padding:var(--sp-4) var(--sp-4) var(--sp-4)}
.vysledek p{margin:0 0 6px}
.v-hlava{font-weight:700;color:var(--ink2)}
.v-bezne{font-size:clamp(1.7rem,6vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.v-bezne small{font-size:.5em;font-weight:700;color:var(--ink2);letter-spacing:0}
.v-pozn{font-size:.9rem;color:var(--ink2)}
.v-rozdil{margin:6px 0 var(--sp-2) !important}
.v-top-nadpis{font-weight:700;margin-top:var(--sp-3) !important}
.v-top{margin:0 0 14px;padding-left:22px}
.v-top li{margin:4px 0}
.v-top .zn{color:var(--ink2);font-size:.9rem}
.v-top b{white-space:nowrap}
.duvera{display:flex;flex-wrap:wrap;gap:4px 18px;margin:var(--sp-4) 0 0;font-size:.92rem;color:var(--ink2);max-width:none}
.duvera b{color:var(--ink)}
.teze{font-size:var(--fs-hero);line-height:1.05;letter-spacing:-.03em;font-weight:800;margin:18px 0 6px;max-width:21ch;text-wrap:balance}
.teze em{font-style:normal;color:var(--ink);white-space:nowrap}
.volby{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-4) 0 4px}
@media (max-width:640px){
  .volby{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--sp-4) * -1);padding:2px var(--sp-4) 6px;scroll-padding-inline:var(--sp-4);scroll-snap-type:x proximity}
  .volby::-webkit-scrollbar{display:none}
  .volba{flex:0 0 auto;scroll-snap-align:start}
}
.panel[hidden]{display:none}
.panel .pod{margin:var(--sp-4) 0 0;color:var(--ink2);max-width:62ch;font-size:1.05rem}
.cisla{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--sp-4) var(--sp-5);margin:26px 0 8px;border-top:1px solid var(--line);padding-top:var(--sp-4)}
.cisla div{min-width:0}
.cisla b{display:block;font-size:clamp(1.3rem,5.2vw,1.65rem);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.15}
.cisla span{color:var(--ink2);font-size:.9rem}

/* ---------- graf (na stránkách výkonu v rozbalovacím bloku) */
.graf{position:relative;margin:14px 0 4px}
.graf svg{display:block;width:100%;height:auto;overflow:visible}
.graf .siroky{display:none}
.graf .uzky{display:block}
@media (min-width:641px){.graf .siroky{display:block}.graf .uzky{display:none}}
.graf svg:focus{outline:none}
.graf svg:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:6px}
.graf .tecka{fill:var(--dot);stroke:var(--surf);stroke-width:2;cursor:pointer}
.graf .tecka.moje{fill:var(--ink);stroke-width:2.5}
.graf .tecka.od{fill:var(--surf);stroke:var(--dot);stroke-width:2}
.graf .tecka.od.akt{fill:var(--ink);stroke:var(--ink)}
.graf .tecka.moje.od{fill:var(--surf);stroke:var(--ink);stroke-width:2.5}
.graf .tecka.akt{fill:var(--ink)}
.graf .tecka.moje.akt{fill:var(--ink)}
.graf .tecka.doplatek{opacity:.4}
.graf .pas{fill:var(--band)}
.graf .median{stroke:var(--ink);stroke-width:2}
.graf .osa{stroke:var(--line);stroke-width:1}
.graf .tick{fill:var(--ink2);font-size:12px}
.graf .popis{fill:var(--ink);font-size:13px;font-weight:700}
.graf .popis2{fill:var(--ink2);font-size:12px}
.mini .tick{font-size:11px}
.graf.mini{max-width:500px}
.bublina{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:8px;padding:8px 11px;font-size:.86rem;line-height:1.35;max-width:260px;transform:translate(-50%,calc(-100% - 12px));z-index:5;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.bublina[hidden]{display:none}
.bublina b{display:block;font-size:1rem;font-variant-numeric:tabular-nums}
.klic{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.84rem;color:var(--ink2);margin:6px 0 0;padding:0;list-style:none}
.klic i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--dot);margin-right:6px;vertical-align:-1px}
.klic i.pas{border-radius:2px;width:18px;background:var(--band);outline:1px solid var(--line)}
.klic i.med{border-radius:0;width:2px;height:13px;background:var(--ink)}
.klic i.moje{background:var(--ink)}
.klic i.od{background:transparent;box-shadow:inset 0 0 0 2px var(--dot)}
.klic i.doplatek{opacity:.4}
details.rozlozeni{margin:var(--sp-4) 0;padding:10px 14px}
details.rozlozeni summary{cursor:pointer;font-weight:700;min-height:28px}
details.rozlozeni[open] summary{margin-bottom:10px}

/* ---------- hledání */
.hledat{margin-top:34px;max-width:640px;position:relative}
.hledat label{display:block;font-weight:600;margin-bottom:6px}
.hledat .radka{display:flex;gap:var(--sp-2)}
.hledat input{flex:1 1 auto;min-width:0;border:1px solid var(--line-strong);background:var(--surf);color:var(--ink);border-radius:var(--r-ctl);padding:11px 14px;font:inherit}
.hledat input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.vysledky{list-style:none;margin:var(--sp-2) 0 0;padding:0;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surf);overflow:hidden}
.vysledky[hidden]{display:none}
.vysledky li+li{border-top:1px solid var(--line)}
.vysledky a{display:flex;justify-content:space-between;gap:var(--sp-3);padding:11px 14px;color:var(--ink);text-decoration:none}
.vysledky a:hover,.vysledky a:focus-visible{background:var(--acc-soft)}
.vysledky small{color:var(--ink2);white-space:nowrap}
.vysledky .nic{padding:11px 14px;color:var(--ink2)}

/* ---------- karty výkonů (dlaždice; na rozcestníku města i na úvodu) */
.vykony{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--sp-3);margin-top:var(--sp-3)}
.skupina-nadpis{margin:26px 0 0;font-size:1.05rem;letter-spacing:-.01em}
.skupina-nadpis a{color:var(--ink)}
.vykon{display:block;padding:var(--sp-4) 18px;color:var(--ink);text-decoration:none}
a.vykon:hover{border-color:var(--ink2)}
.vykon .sk{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--ink2)}
.vykon .jm{display:block;font-weight:700;font-size:1.05rem;margin:0 0 10px;letter-spacing:-.01em}
.vykon b{font-size:1.45rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.vykon .mez{display:block;color:var(--ink2);font-size:.9rem;margin-top:2px}
.vykon b.bezne{display:block;font-size:1.3rem;line-height:1.2}
.vykon b.bezne small{font-size:.7em;font-weight:700;color:var(--ink2)}
.bezne-radek{font-size:1.05rem;color:var(--ink2);margin:0 0 8px;max-width:none}
.bezne-radek b{color:var(--ink);font-size:1.2em}

/* ---------- seznamy a tabulky */
.tab-obal{overflow-x:auto;margin-top:10px}
table{border-collapse:collapse;width:100%}
.seznam td,.seznam th{padding:13px 20px 13px 0;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.seznam th{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);font-weight:700;border-top:0;padding-top:0}
.seznam .jm{font-weight:700}
.seznam .jm a{color:var(--ink);text-decoration:none}
.seznam .jm a:hover{text-decoration:underline}
.seznam .zn{color:var(--ink2);font-size:.88rem;margin-top:2px}
.seznam .c{text-align:right;font-weight:700;font-size:1.05rem;padding-right:20px}
.seznam th.c{font-size:.8rem;text-align:right}
.seznam .zdroj{font-size:.84rem;color:var(--ink2);white-space:nowrap}
.seznam .zdroj a{color:var(--ink2)}
@media (max-width:640px){
  .tab-obal{overflow-x:visible}
  .seznam thead{display:none}
  .seznam tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding:13px 0;border-top:1px solid var(--line)}
  .seznam td{border-top:0;padding:0}
  .seznam .c{align-self:start}
  .seznam .zdroj{grid-column:1/-1;margin-top:4px}
  .seznam.prehled tr{grid-template-columns:minmax(0,1fr)}
  .seznam.prehled td:first-child{font-weight:700}
}
.od{font-weight:500;color:var(--ink2);font-size:.86rem;margin-right:2px}

/* seznam ordinací jako karty (výkon, výkon × oblast): tabulka zůstává tabulkou, řádek se kreslí jako karta */
.filtry{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-3)}
.filtry .skupina-chipu{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}
.filtry .stitek-skupiny{font-size:var(--fs-sm);color:var(--ink2);font-weight:700;margin-right:2px}
.filtr-pocet{flex:1 1 100%;margin:var(--sp-2) 0 0;font-size:.95rem;color:var(--ink2);max-width:none}
.filtr-pocet b{color:var(--ink)}
.filtr-pozn{flex:1 1 100%;margin:0;font-size:.86rem;color:var(--ink2);max-width:none}
.filtr-nic{margin:var(--sp-3) 0;padding:var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-card);color:var(--ink2)}
.filtr-obvody{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}
@media (max-width:640px){
  .filtr-obvody{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--sp-4) * -1);padding:2px var(--sp-4) 6px}
  .filtr-obvody::-webkit-scrollbar{display:none}
  .filtr-obvody .chip{flex:0 0 auto}
}
/* seznam ordinací = kompaktní řádky (ne karty): název a cena v jednom řádku, pod názvem jeden drobný řádek metadat oddělených „·“,
   ceník, web a datum jako malé textové odkazy. Na šířce 641 px a víc je řádek jednořádkový (název a metadata | odkazy | cena). */
.seznam.karty{display:block;max-width:1040px}
.seznam.karty thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.seznam.karty tbody{display:block}
.seznam.karty tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding:9px 0;border-top:1px solid var(--line);align-items:start}
.seznam.karty tr:first-child{border-top:0}
.seznam.karty tr:focus-within{outline:2px solid var(--focus);outline-offset:-1px}
.seznam.karty td{display:block;padding:0;border:0;text-align:left}
.seznam.karty .jm{font-size:1rem;line-height:1.3}
.seznam.karty td:first-child{font-size:.84rem;line-height:1.45;color:var(--ink2)}
.seznam.karty td:first-child > .jm{display:block}
.seznam.karty .meta{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}   /* jeden drobný řádek metadat; plné znění je v HTML */
.seznam.karty .meta > div{display:inline;margin:0;font-size:.84rem;color:var(--ink2)}
.seznam.karty .meta > div + div::before{content:"\00b7";margin:0 .4em}
.seznam.karty .zn q{font-size:.84rem;color:var(--ink2)}
.seznam.karty .kat-stitek{font-weight:600;color:var(--ink)}
.seznam.karty td:first-child > div.prijima{display:block;width:fit-content;max-width:100%;margin:2px 0 0;padding:1px 7px;font-size:.8rem;line-height:1.6}
.seznam.karty .prijima .zn{display:inline;font-size:.8rem}
.seznam.karty .hodnoceni{font-size:.84rem}
.seznam.karty td.c{font-size:1.1rem;font-weight:800;padding:0;line-height:1.3;text-align:right;white-space:nowrap}
.seznam.karty td.c .od{font-size:.8rem;margin-right:4px}
.seznam.karty td.c .zn{font-size:.74rem;font-weight:400;margin:2px 0 0;line-height:1.35;white-space:normal;max-width:13rem;margin-left:auto}
.seznam.karty td.zdroj{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;white-space:normal;font-size:.78rem;color:var(--ink2)}
.seznam.karty td.zdroj a.tl{min-height:0;padding:2px 0;border:0;background:none;border-radius:0;font-size:.8rem;font-weight:600;color:var(--acc-ink);text-decoration:underline;text-underline-offset:2px}
.seznam.karty td.zdroj .datum{order:9;font-size:.74rem}
.seznam.karty .porovnat{min-height:28px;padding:0;font-size:.8rem;gap:5px;order:10;margin-left:auto}
.seznam.karty .porovnat input{width:16px;height:16px}
.porovnat{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 6px;font-weight:600;font-size:.95rem;color:var(--ink);cursor:pointer}
.porovnat input{width:20px;height:20px;margin:0;accent-color:var(--acc)}
@media (min-width:641px){
  .seznam.karty tr{grid-template-columns:minmax(0,1fr) 24.5rem 10.5rem;grid-template-areas:"jm akce cena";gap:0 var(--sp-4);align-items:center;padding:7px 0}
  .seznam.karty td:first-child{grid-area:jm}
  .seznam.karty td.zdroj{grid-area:akce;grid-column:auto;justify-content:flex-start}
  .seznam.karty td.c{grid-area:cena;align-self:center}
}
/* „Zobrazit další“: skrývá výhradně JS (třída se bez JS nikdy nenastaví), tlačítko je bez JS s atributem hidden */
.dalsi-skryto{display:none!important}
.dalsi{margin:var(--sp-3) 0 var(--sp-4)}
.dalsi-tl{justify-content:center}

/* placené umístění: vždy označené štítkem, nikdy bez něj */
.plac,.plac-vzor{background:var(--band);border:1px solid var(--line-strong);border-radius:var(--r-card);padding:var(--sp-4);margin:var(--sp-4) 0 6px;display:grid;grid-template-columns:1fr;gap:4px 16px;align-items:start;max-width:880px}
.plac .tag,.plac-vzor .tag{justify-self:start}
.plac .jm,.plac-vzor .jm{font-weight:800;font-size:1.1rem}
.plac .jm a,.plac-vzor .jm a{color:var(--ink)}
.plac .zn,.plac-vzor .zn{color:var(--ink2);font-size:.88rem}
.plac .c,.plac-vzor .c{font-weight:800;font-size:var(--fs-price)}
@media (min-width:641px){.plac,.plac-vzor{grid-template-columns:1fr auto}.plac .tag,.plac-vzor .tag{grid-column:1/-1}.plac .c,.plac-vzor .c{text-align:right}}
.plac-obal{margin:0}

/* výběr k porovnání: lišta dole (jen s JS) */
.porovnat-lista{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--surf);border-top:1px solid var(--line-strong);box-shadow:0 -6px 20px var(--shadow-lg);padding:10px var(--sp-4);display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:center;justify-content:center}
.porovnat-lista p{margin:0;font-weight:700;max-width:none}

/* ---------- adresář */
.adresar h3{margin-top:28px}
.adresar ul{list-style:none;margin:var(--sp-2) 0 0;padding:0;columns:2 280px;column-gap:28px}
.adresar li{break-inside:avoid;padding:4px 0;border-top:1px solid var(--line);line-height:1.4}
.adresar li a{color:var(--ink);font-weight:600;text-decoration:none}
.adresar li a:hover{text-decoration:underline}
.adresar li small{color:var(--ink2);font-size:.84rem;margin-left:.4em}
.adresar li .porovnat{min-height:28px;padding:0;font-size:.84rem;margin-left:.6em}

/* ---------- profil */
.profil-hlava{display:grid;gap:6px}
.mista{list-style:none;margin:4px 0 0;padding:0;color:var(--ink2)}
.profil-hlava .prijima{font-size:1rem;margin:2px 0 var(--sp-3);justify-self:start}
.akce{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.akce .tl{flex:1 1 200px}
@media (min-width:641px){.akce .tl{flex:0 0 auto}}
.skupina{margin-top:var(--sp-6)}
.polozka{display:grid;grid-template-columns:1fr;gap:10px 28px;padding:18px 0;border-top:1px solid var(--line);align-items:start}
@media (min-width:761px){.polozka{grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr)}}
.polozka .kat{font-size:1rem;font-weight:700;margin-bottom:4px}
.polozka .kat a{color:var(--ink)}
.polozka ul{list-style:none;margin:0;padding:0}
.polozka li{padding:4px 0}
.polozka .zn{color:var(--ink)}
.polozka .cena{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:6px}
.polozka .poloha{margin:2px 0 0;color:var(--ink2);font-size:.92rem}
.zdroj-radek{font-size:.86rem;color:var(--ink2);margin-top:6px}
.zdroj-radek a{color:var(--ink2)}
details.box{margin-top:14px}
details.box>summary{cursor:pointer;padding:14px 18px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:var(--sp-3);min-height:var(--tap);align-items:center}
details.box>summary::-webkit-details-marker{display:none}
details.box>summary::after{content:"+";font-weight:500;color:var(--ink2);font-size:1.3rem;line-height:1}
details.box[open]>summary::after{content:"\2212"}
details.box .vnitrek{padding:0 18px 18px}
.srovnani-mesto{margin:18px 0 8px;padding:var(--sp-4) 18px}
.srovnani-mesto h2{margin:0 0 8px;font-size:1.2rem}
.srovnani-mesto ul{list-style:none;margin:0 0 8px;padding:0}
.srovnani-mesto li{padding:var(--sp-2) 0;border-top:1px solid var(--line)}
.srovnani-mesto li:first-child{border-top:0}
.srovnani-mesto .cena{font-weight:800;margin:0 4px}
.srovnani-mesto .zn{display:block;color:var(--ink2);font-size:.88rem}
.stav-pod,.stav-v,.stav-nad{color:var(--ink);border-color:var(--ink)}

/* ---------- formuláře */
.form{display:grid;gap:14px;max-width:560px}
.form label{display:block;font-weight:600;font-size:.95rem;margin-bottom:4px}
.form .napoveda{display:block;font-weight:400;color:var(--ink2);font-size:.86rem;margin:-2px 0 6px}
.form input[type=text],.form input[type=email],.form input[type=month],.form input[type=tel],.form select,.form textarea{width:100%;border:1px solid var(--line-strong);background:var(--surf);color:var(--ink);border-radius:var(--r-ctl);padding:10px 12px;font:inherit}
.form textarea{min-height:120px;resize:vertical}
.form .zaskrt{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .zaskrt input{margin-top:4px;width:18px;height:18px;flex:0 0 auto}
.form .past{position:absolute;left:-9999px}
.form button{justify-self:start}

/* ---------- náhled, nabídka pro kliniky */
.banner{background:var(--ink);color:var(--bg);border-radius:10px;padding:12px 16px;font-size:.95rem;margin-bottom:26px}
.vyhody{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.vyhody li{border-top:2px solid var(--ink);padding-top:10px}
.vyhody b{display:block;margin-bottom:3px}
.vyhody span{color:var(--ink2);font-size:.95rem}
.faq dt{font-weight:700;margin-top:var(--sp-4)}
.faq dd{margin:4px 0 0;color:var(--ink2);max-width:68ch}
.cena-nabidky{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em}
.prinos{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--sp-3)}
.prinos li{padding:14px var(--sp-4)}
.prinos b{display:block;margin-bottom:4px}
.prinos span{color:var(--ink2);font-size:.95rem}
.cta-nahled{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-4) 18px;margin:8px 0 24px}
.cta-nahled p{margin:0 0 10px}
.vyhody+.pozn{margin-top:var(--sp-4)}

/* ---------- patička */
.pata{border-top:1px solid var(--line);color:var(--ink2);font-size:.9rem}
.pata .obal{padding-block:26px 40px;display:grid;gap:10px}
.pata a{color:var(--ink2)}
.pata nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.pata p{margin:0}

/* ---------- noví pacienti a příspěvky pojišťoven */
.pac-seznam{list-style:none;margin:var(--sp-4) 0 0;padding:0}
.pac{padding:14px 0;border-top:1px solid var(--line)}
.pac .jm{font-weight:600}
.pac .jm a{color:var(--ink)}
.pac .zn,.pac .zdroj{font-size:.86rem;color:var(--ink2)}
.pac .zdroj a{color:var(--ink2)}
.pac p{margin:6px 0;max-width:72ch}
.pacienti{margin-top:28px;padding:var(--sp-4) 18px}
.pacienti[data-stav="prijima"]{border-color:var(--ink)}
.pacienti h2{margin-top:0}
.poj{padding:18px 0;border-top:1px solid var(--line)}
.poj h2{margin:0 0 2px}
.poj ul{margin:var(--sp-2) 0;padding-left:18px}
.poj li{margin:6px 0;max-width:72ch}
.poj .podm{margin:4px 0 8px;padding-left:18px;font-size:.93rem;color:var(--ink2)}
.blok-pacienti{margin:var(--sp-5) 0 0;padding:var(--sp-4) 18px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}
.blok-pacienti h2{margin:0 0 var(--sp-2);font-size:1.25rem}
.blok-pacienti p{max-width:62ch}

/* ---------- recenze pacientů a hodnocení: hvězdičky jen u recenzí pacientů */
.hvezdy{color:#b7791f;letter-spacing:.06em;white-space:nowrap}
.hodnoceni{margin:6px 0 0;font-size:.95rem;color:var(--ink2)}
.hodnoceni b{color:var(--ink)}
.hodnoceni a{color:var(--ink2)}
.seznam .hodnoceni,.plac .hodnoceni,.plac-vzor .hodnoceni{margin:2px 0 0;font-size:.86rem}
.seznam-recenzi{list-style:none;padding:0;margin:14px 0 0}
.recenze{border-top:1px solid var(--line);padding:14px 0}
.recenze p{margin:4px 0;max-width:72ch}
.recenze-hlava{font-size:.95rem}
.odpoved{margin:10px 0 0 14px;padding:10px 14px;border-left:3px solid var(--line-strong);background:var(--bg);border-radius:0 8px 8px 0}
.volba-hvezd{border:0;padding:0;margin:0}
.volba-hvezd legend{font-weight:600;font-size:.95rem;padding:0;margin-bottom:2px}
.volba-hvezd .napoveda-h{margin:0 0 8px;color:var(--ink2);font-size:.86rem}
.hvezdy-volby{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hvezdy-volby label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:6px 12px;font-weight:600;cursor:pointer;min-height:40px}
.hvezdy-volby label span{color:#b7791f}
.hvezdy-volby input{margin:0;width:16px;height:16px}
.od-ordinace{padding:18px 20px}
.od-ordinace h2{margin-top:4px}
.fotky{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:14px 0}
.fotky img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:var(--band);display:block}
.hodiny{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:6px 0 14px}
.hodiny dt{font-weight:600}
.hodiny dd{margin:0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hvezdy,:root:not([data-theme="light"]) .hvezdy-volby label span{color:#e0a84a}}
:root[data-theme="dark"] .hvezdy,:root[data-theme="dark"] .hvezdy-volby label span{color:#e0a84a}

/* ---------- porovnání ordinací (/porovnani/, /en/compare/) */
.cmp-zadani{display:grid;gap:var(--sp-3);margin:var(--sp-4) 0}
.cmp-vybrane{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--sp-3);list-style:none;margin:0;padding:0}
.cmp-vybrane li{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-4);box-shadow:var(--shadow);display:grid;gap:4px;align-content:start}
.cmp-vybrane .jm{font-weight:800;font-size:1.1rem;line-height:1.25}
.cmp-vybrane .jm a{color:var(--ink)}
.cmp-vybrane .zn{color:var(--ink2);font-size:.9rem}
.cmp-pridat{max-width:520px}
.cmp-pridat label{display:block;font-weight:700;margin-bottom:6px}
.cmp-pridat input{width:100%;border:1px solid var(--line-strong);background:var(--surf);color:var(--ink);border-radius:var(--r-ctl);padding:11px 14px;font:inherit}
.cmp-pridat ul{list-style:none;margin:var(--sp-2) 0 0;padding:0;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surf);overflow:hidden}
.cmp-pridat li+li{border-top:1px solid var(--line)}
.cmp-pridat button{display:flex;justify-content:space-between;gap:var(--sp-3);width:100%;padding:11px 14px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.cmp-pridat button:hover,.cmp-pridat button:focus-visible{background:var(--acc-soft)}
.cmp-pridat small{color:var(--ink2)}
.cmp{width:100%}
.cmp th,.cmp td{padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.cmp thead th{border-top:0;font-size:.95rem;font-weight:800}
.cmp tbody th{font-weight:700;width:22%}
.cmp .cena{font-size:var(--fs-price);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}
.cmp .cena .od{font-size:.85rem}
.cmp .zn{color:var(--ink2);font-size:.86rem;margin-top:4px}
.cmp .chybi{color:var(--ink2)}
.cmp-rozdil-radek{margin:6px 0 0}
.cmp-bez-js{margin:var(--sp-4) 0;padding:var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--surf)}
@media (max-width:760px){
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block}
  .cmp tr{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);box-shadow:var(--shadow)}
  .cmp th,.cmp td{border:0;padding:6px 0;width:auto}
  .cmp td::before{content:attr(data-ordinace);display:block;font-size:.8rem;font-weight:700;color:var(--ink2)}
}

/* ---------- úvod: karty rozdílu a „Co se u nás dozvíte“ */
.rk-mrizka,.tri{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--sp-3);margin-top:var(--sp-3)}
.rk,.tri .card{display:grid;gap:6px;align-content:start;padding:var(--sp-4);color:var(--ink);text-decoration:none}
a.rk:hover,.tri a.card:hover{border-color:var(--ink2)}
.rk-nazev{font-size:var(--fs-sm);color:var(--ink2);font-weight:700}
.rk-bezne{font-size:1.35rem;line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rk-bezne small{font-size:.7em;font-weight:700;color:var(--ink2)}
.rk .rozdil{justify-self:start}
.rk-pod{font-size:.86rem;color:var(--ink2)}
.tri .card b{font-size:1.1rem}
.tri .card span{color:var(--ink2);font-size:.95rem}

/* ---------- časté otázky na stránce výkonu */
.faq-sekce{margin-top:var(--sp-6)}
.faq-pol{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);margin-top:var(--sp-2);padding:0 var(--sp-4)}
.faq-pol summary{cursor:pointer;font-weight:700;min-height:var(--tap);display:flex;align-items:center}
.faq-pol p{margin:0 0 var(--sp-3);color:var(--ink2);max-width:68ch}

/* ---------- ostatní */
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.hlava nav,.hledat,.volby,details.box,.akce,.filtry,.porovnat-lista,.menu-box{display:none}}
.expat{max-width:62ch;margin:0 0 20px;padding:12px 16px;border-left:3px solid var(--ink);background:var(--surf);border-radius:0 8px 8px 0}
.expat p{margin:0;font-size:.95rem}

/* ==========================================================================
   VARIANTA H „Mapa“: vzhled nad sdílenými komponentami (poslední pravidlo vyhrává; tokeny jsou nahoře)
   ========================================================================== */
body{background:var(--bg)}
h1,h2,h3{font-family:"Schibsted Grotesk",ui-sans-serif,system-ui,sans-serif}
h1{font-weight:700;letter-spacing:-.025em;max-width:24ch}
h2{font-weight:700;letter-spacing:-.02em;margin:var(--sp-7) 0 var(--sp-3)}
.obal>h2,.hub-vykon>h2,.adresar>h2,.skupina>h2{padding-top:var(--sp-3);border-top:2px solid var(--ink)}
h3{font-weight:700}
.drobky{text-transform:none;letter-spacing:0}

/* hlavička: pruh mapy se značkou města */
.hlava{background:var(--topo);border-bottom:1px solid var(--line-strong)}
.znacka{display:inline-flex;align-items:center;font-weight:700;letter-spacing:-.02em}
.znacka::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ter);box-shadow:0 0 0 2px var(--topo),0 0 0 3.5px var(--ter);flex:0 0 auto;margin-right:10px}
.menu a{font-weight:600;font-size:.95rem}
.menu-box summary{background:var(--surf)}
.menu-box nav{background:var(--surf)}

/* tlačítka a štítky: hranaté, inkoustové */
.tl{font-weight:700;border-color:var(--ink);color:var(--ink);background:transparent}
.tl:hover{background:var(--surf)}
.tl.hl{background:var(--btn);border-color:var(--btn);color:var(--on-btn)}
.tl.hl:hover{filter:none;background:var(--btn-h);border-color:var(--btn-h);color:var(--on-btn-h)}
.chip,.oblasti a,.oblasti span,.volba{background:var(--surf);border-color:var(--line-strong);font-weight:600}
.oblasti a::before,.mh-mesta a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ter);flex:0 0 auto}
.oblasti a small,.chip small{margin-left:auto}
.tag{background:var(--ink);color:var(--bg);letter-spacing:.08em}
.prijima{background:var(--topo);color:var(--ink);font-weight:700}
.stitek,.omez,.stitek-rec,.stav{font-weight:700;border-color:var(--line-strong)}

/* karty = legenda mapy: hranatý list s inkoustovým okrajem nahoře */
.card,.vykon,.vysledek,.vyber,.prinos li,.srovnani-mesto,.rozpeti,.pacienti,.od-ordinace,details.box,details.rozlozeni,.blok-pacienti,.cta-nahled,.cmp-vybrane li,.faq-pol,.rk,.tri .card{border-radius:var(--r-card);box-shadow:var(--shadow)}
.vykon,.rk,.tri .card,.blok-pacienti,.srovnani-mesto,.pacienti,.od-ordinace{border-top:3px solid var(--ink)}
a.vykon:hover,a.rk:hover,.tri a.card:hover{border-color:var(--line-strong);border-top-color:var(--ter)}
.vykon .jm{font-weight:700;letter-spacing:-.015em}
.vykon .sk{color:var(--ink2)}

/* úvod: hero s mapou */
.mh{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4) var(--sp-6);align-items:center;background:var(--topo);border:1px solid var(--line-strong);border-radius:var(--r-card);padding:var(--sp-5) var(--sp-4);overflow:hidden;
  background-image:repeating-radial-gradient(ellipse 120% 90% at 88% 30%,transparent 0 30px,var(--topo2) 30px 31px)}
.mh>*{position:relative}
.mh-text h1.hero{font-size:clamp(1.9rem,3.7vw,3.05rem);font-weight:700;max-width:19ch;margin:0 0 var(--sp-3);letter-spacing:-.03em;line-height:1.04}
.mh-text .hero-perex{margin:0;color:var(--ink2)}
.mh-mapa{margin:0}
.mh-mapa figcaption{font-size:.8rem;color:var(--ink2);margin-top:var(--sp-2);max-width:48ch}
.mapa-svg{display:block;width:100%;height:auto;overflow:visible}
.md{fill:var(--ink2);fill-opacity:.62;stroke:var(--topo);stroke-width:.5}
.mc{fill:var(--ter);fill-opacity:.88;stroke:var(--topo);stroke-width:.5}
.mk{fill:none;stroke:var(--ink);stroke-width:1.1}
.mapa-svg a{cursor:pointer}
.mapa-mesto{font:700 11.5px "Schibsted Grotesk",ui-sans-serif,system-ui,sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--topo);stroke-width:3.2px;stroke-linejoin:round;letter-spacing:.01em}
.mapa-svg a:hover .mapa-mesto{text-decoration:underline}
.mapa-svg a:hover .mk{stroke:var(--ter);stroke-width:1.8}
.mh-mesta{grid-column:1/-1}
.mh-nadpis{margin:0 0 var(--sp-2);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink2)}
.mh-mesta .oblasti{margin:0}
.mh-mesta .oblasti{gap:6px}
.mh-mesta .oblasti a{display:inline-flex;gap:7px;min-height:34px;padding:4px 10px;font-size:.88rem}
@media (max-width:640px){.mapa-mesto{display:none}.mh-mesta .oblasti{display:grid;grid-template-columns:1fr 1fr}.mh-mesta .oblasti a{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;min-height:48px;height:100%}.mh-mesta .oblasti a::before{grid-row:1/3}.mh-mesta .oblasti a small{margin-left:0;grid-column:2}}
@media (min-width:900px){
  .mh{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:var(--sp-6) var(--sp-6) var(--sp-5)}
  .mh-mesta{grid-column:1;grid-row:2;align-self:end}
  .mh-text{grid-column:1;grid-row:1;align-self:start}
  .mh-mapa{grid-column:2;grid-row:1/3}
}
.najdi{margin-top:var(--sp-5);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-3) var(--sp-5);align-items:start}
.najdi .vyber,.najdi .vysledek{max-width:none;margin:0}
@media (min-width:900px){.najdi{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}.najdi .vyber{grid-template-columns:1fr}}
.vyber{background:var(--surf);border:1px solid var(--line-strong);border-top:3px solid var(--ink)}
.vyber label{text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:800}
.vyber select{border-color:var(--ink);border-radius:var(--r-ctl);background:var(--bg)}
.vysledek{border-top:3px solid var(--ter)}
.v-hlava{text-transform:none;font-weight:700}
.v-bezne{font-weight:700}
.v-top{padding-left:20px}
.duvera{padding:var(--sp-3) 0;border-top:1px dashed var(--line-strong);border-bottom:1px dashed var(--line-strong);margin-top:var(--sp-5)}
.teze{font-weight:700}

/* rozcestník města: lokální hlavička s mini výřezem */
.lokal{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-3) var(--sp-5);align-items:center;background:var(--topo);border:1px solid var(--line-strong);border-radius:var(--r-card);padding:var(--sp-4);margin:0 0 var(--sp-4);overflow:hidden;
  background-image:repeating-radial-gradient(ellipse 120% 90% at 92% 20%,transparent 0 30px,var(--topo2) 30px 31px)}
.lokal>*{position:relative}
.lokal h1{margin:0 0 var(--sp-2);font-size:clamp(1.7rem,3.6vw,2.6rem);max-width:20ch}
.lokal .perex{margin:0 0 var(--sp-3)}
.lokal-mapa{margin:0}
.lokal-mapa .mapa-svg{max-height:260px}
.lokal-casti{margin:0}
.lokal-casti span{min-height:32px;padding:3px 10px;font-size:.88rem;color:var(--ink)}
@media (min-width:900px){.lokal{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:var(--sp-5) var(--sp-6)}.lokal-bez-mapy{grid-template-columns:minmax(0,1fr)}}

/* seznam ordinací: kompaktní řádek (základ výš); tečkovaná dělicí čára jako v cenových tabulkách, název inkoustem */
.seznam.karty tr{border-top:1px dotted var(--line-strong)}
.seznam.karty tr:first-child{border-top:0}
.seznam.karty tr:hover{background:var(--topo)}
.seznam.karty .jm{font-weight:700;letter-spacing:-.015em}
.seznam.karty td.c{font-weight:700;letter-spacing:-.02em}
.plac,.plac-vzor{background:var(--topo);border:1px solid var(--line-strong);border-left:5px solid var(--ink);border-radius:var(--r-card)}

/* cenové tabulky: legenda, tečkované řádky, záhlaví inkoustem */
.seznam td,.seznam th{border-top:1px dotted var(--line-strong)}
.seznam th{border-bottom:2px solid var(--ink);color:var(--ink);font-weight:800}
.seznam .c{font-weight:700}
.polozka{border-top:1px dotted var(--line-strong)}
.polozka .kat{font-weight:700}
.polozka .cena{font-weight:700}
.cisla{border-top:2px solid var(--ink)}
.cisla b{font-weight:700}
.cmp th,.cmp td{border-top:1px dotted var(--line-strong)}
.vysledky,.cmp-pridat ul{border-radius:var(--r-ctl)}

/* profil: lokační štítek místa a hlavička jako list mapy */
.profil-hlava{background:var(--topo);border:1px solid var(--line-strong);border-radius:var(--r-card);padding:var(--sp-4) var(--sp-4) var(--sp-3);
  background-image:repeating-radial-gradient(ellipse 120% 90% at 96% 10%,transparent 0 30px,var(--topo2) 30px 31px)}
.profil-hlava>*{position:relative}
.profil-hlava h1{margin:0}
.mista{margin:var(--sp-2) 0 0}
.mista li{display:flex;align-items:flex-start;gap:8px;color:var(--ink)}
.mista li::before{content:"";flex:0 0 auto;width:8px;height:8px;margin-top:.5em;border-radius:50%;background:var(--ter)}
.polozka .poloha{color:var(--ink2)}

.mh+.expat{margin-top:var(--sp-4)}
.pata{background:var(--topo);border-top:1px solid var(--line-strong)}
.rz-pozadi{fill:var(--topo2)}
.rz-bezne{fill:var(--ink)}

/* přepínač tmavého režimu (jen paleta bez_auto_dark): na širokém displeji pill vedle přepínače jazyka v hlavičce, na úzkém řádek v rozbaleném Menu
   (hlavička se na 375 px s Menu a jazykem nevejde; zůstává beze změny) */
.hlava-nastroje{display:flex;align-items:center;gap:8px}
.rezim{font:inherit;font-weight:600;font-size:.92rem;color:var(--ink2);background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:3px 12px;white-space:nowrap;cursor:pointer}
.rezim:hover{color:var(--ink);border-color:var(--ink2)}
.menu-box nav .rezim{display:flex;align-items:center;width:100%;min-height:var(--tap);padding:0;border:0;border-top:1px solid var(--line);border-radius:0;font-size:1rem;color:var(--ink);text-align:left}
@media (max-width:760px){
  .hlava-nastroje .rezim{display:none}
}
/* přepínač jazyka cs/en: na úzkém displeji mimo tok (nepřekrývá značku ani tlačítko Menu); musí zůstat jako poslední pravidlo .jazyk */
.jazyk{font-weight:600;font-size:.92rem;color:var(--ink2);text-decoration:none;border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:3px 12px;white-space:nowrap}
.jazyk:hover{color:var(--ink);border-color:var(--ink2)}
@media (max-width:760px){
  .jazyk{position:absolute;top:50%;right:16px;transform:translateY(-50%)}
}
.adresar li small a{font-weight:400;text-decoration:underline}
.hero-odkazy{margin:var(--sp-3) 0 0;font-size:.95rem}
.seznam .kat-stitek{font-weight:600;color:var(--ink)}
.odpoved-seznam{margin:var(--sp-2) 0 var(--sp-3);padding-left:1.2em}
.odpoved-seznam li{margin:4px 0}
/* hygiena × město: druh hygieny nese nadpis sekce, štítek v řádku (zůstává v HTML) se zbytečně neopakuje */
.hyg-druh .seznam.karty .kat-stitek{display:none}
.hyg-druh h3{margin:var(--sp-5) 0 var(--sp-2)}
