/* ==========================================================================
   rhost CMS – vzhled „Azure“ (azure) 1.0.0
   Podle vzhledu Azure (Parking System): světle modrošedé pozadí s jemnou září, bílé karty s modře tónovaným
   stínem, hlavní tlačítko a ikony v přechodu modrá → indigo, dlaždice čísel s 4px barevným pruhem, štítky
   jako „pilulky“, systémové písmo (žádná webová písma). Tokeny výchozí palety (azure) jsou v :root.
   Vlastní tokeny vzhledu: --az-start / --az-konec (přechod pod bílým textem), --az-svetla (akcent na tmavém).
   ========================================================================== */

:root {
  /* povrchy a text */
  --c-bg: #f3f7ff; --c-bg-alt: #ffffff; --c-surface: #ffffff;
  --c-ink: #1b2640; --c-ink-2: #34405c; --c-muted: #55627e;
  --c-line: #dfe7f5; --c-line-2: #c3d1ea;
  /* značka – paleta „azure“ */
  --c-primary: #1d4ed8; --c-primary-2: #1a3a9c; --c-primary-ink: #ffffff; --c-primary-soft: #e3edff; --c-link: #1d4ed8;
  --c-accent: #4f46e5; --c-accent-ink: #ffffff;
  --c-dark: #0c1a45; --c-dark-2: #13286b; --c-dark-ink: #ffffff; --c-dark-muted: #b9c8ee;
  --c-ok: #15803d; --c-err: #c62d3b; --c-warn: #9a5c00;
  --az-start: #2563eb; --az-konec: #4f46e5; --az-svetla: #93c5fd;
  --az-head: color-mix(in oklab, var(--c-primary-2) 30%, #0a1230);
  --az-grad: linear-gradient(135deg, var(--az-start) 0%, var(--c-primary) 50%, var(--az-konec) 100%);
  --az-grad-hero: radial-gradient(60% 50% at 15% 10%, rgb(56 189 248 / .32), transparent 70%), radial-gradient(55% 55% at 90% 90%, rgb(167 139 250 / .28), transparent 70%),
    linear-gradient(135deg, var(--c-dark-2) 0%, var(--c-primary) 55%, var(--az-konec) 100%);
  --az-glow: radial-gradient(900px 420px at 100% -8%, rgb(56 189 248 / .16), transparent 62%), radial-gradient(800px 380px at -6% -4%, rgb(99 102 241 / .10), transparent 60%);
  --az-shadow-btn: 0 4px 14px color-mix(in srgb, var(--az-start) 32%, transparent);
  /* písmo */
  --f-body: system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-head: system-ui, -apple-system, "Segoe UI Variable Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --fw-head: 700; --fw-strong: 700; --ls-head: -0.02em; --lh-head: 1.15; --lh: 1.6;
  --fs-base: 1.03rem;
  --fs-h1: clamp(2.1rem, 1.5rem + 2.6vw, 3.5rem);
  --fs-h2: clamp(1.6rem, 1.25rem + 1.45vw, 2.3rem);
  --fs-h3: clamp(1.06rem, 1.02rem + .2vw, 1.16rem);
  --eyebrow-fs: .75rem; --eyebrow-ls: .06em; --eyebrow-tt: uppercase; --eyebrow-c: var(--c-primary-2);
  /* tvary a stíny: modře tónované */
  --r-s: 10px; --r: 16px; --r-l: 16px; --r-xl: 22px; --r-btn: 10px; --r-foto: var(--r-xl);
  --shadow-s: 0 1px 2px rgb(29 78 216 / .06), 0 6px 20px rgb(29 78 216 / .07);
  --shadow: 0 2px 4px rgb(29 78 216 / .06), 0 12px 32px rgb(29 78 216 / .12);
  --shadow-l: 0 12px 32px rgb(29 78 216 / .16), 0 30px 60px -20px rgb(12 26 69 / .22);
  /* rozvržení */
  --wrap: 1200px; --hdr-h: 64px; --hdr-bg: rgb(255 255 255 / .82);
  --sec: clamp(3.25rem, 6.5vw, 6rem); --gap: clamp(.9rem, 2vw, 1.25rem);
  /* komponenty */
  --card-bd: 1px solid var(--c-line); --card-shadow: var(--shadow-s);
  --ic-bg: var(--c-primary-soft); --ic-c: var(--c-primary); --ic-r: 12px;
  --btn-pad: .7rem 1.25rem; --btn-fw: 700;
  --foot-bg: var(--c-dark); --foot-ink: #ffffff; --foot-muted: var(--c-dark-muted); --foot-head: color-mix(in srgb, var(--c-dark-ink) 80%, var(--az-svetla));
}

/* ---------- základ ---------- */
body { background: var(--az-glow), var(--c-bg); font-variant-numeric: tabular-nums; }
h1, h2, h3, h4 { color: var(--az-head); }
.pozadi-tmave, .pozadi-akcent, .paticka, .sekce--hero.v-pozadi, .sekce--hlavicka.v-fotka, .ikarta--akcent { --az-head: var(--c-ink); }
h2 { letter-spacing: -.025em; }
.hero__nadpis, .phero__nadpis { font-weight: 800; letter-spacing: -.03em; }
:focus-visible { outline: 2px solid var(--c-link); outline-offset: 2px; border-radius: 6px; }
.pozadi-tmave :focus-visible, .pozadi-akcent :focus-visible, .paticka :focus-visible, .lista :focus-visible, .sekce--hero.v-pozadi :focus-visible { outline-color: #fff; }
::selection { background: #dbeafe; color: #0c1a45; }
.pozadi-tmave { --c-link: var(--az-svetla); --ic-c: var(--az-svetla); --eyebrow-c: var(--az-svetla); }
/* jádro počítá --card-bg už v :root (= bílá); v tmavé a akcentní sekci ho nastavíme znovu z místního --c-surface */
.pozadi-tmave, .pozadi-akcent { --card-bg: var(--c-surface); }
.pozadi-alt { border-block: 1px solid var(--c-line); }
.pozadi-alt + .pozadi-alt { border-top: 0; }

/* štítek jako „pilulka“ s tečkou v přechodu */
.eyebrow { padding: .32rem .8rem .32rem .6rem; border-radius: 999px; background: var(--c-primary-soft); font-weight: 800; gap: .5rem; }
.eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--az-grad); box-shadow: 0 0 0 3px color-mix(in srgb, var(--az-start) 18%, transparent); flex: none; }
.pozadi-tmave .eyebrow { background: rgb(255 255 255 / .09); }
.pozadi-tmave .eyebrow::before { background: var(--az-svetla); box-shadow: none; }
.pozadi-akcent .eyebrow, .sekce--hero.v-pozadi .eyebrow, .sekce--hlavicka.v-fotka .eyebrow { background: rgb(255 255 255 / .15); color: #fff; }
.pozadi-akcent .eyebrow::before, .sekce--hero.v-pozadi .eyebrow::before, .sekce--hlavicka.v-fotka .eyebrow::before { background: #fff; box-shadow: none; }
.sekce--hero.v-fotka .eyebrow { color: var(--eyebrow-c); } /* jádro barví .v-fotka .eyebrow akcentem i v úvodu s jednou fotkou */

/* ---------- tlačítka ---------- */
.btn { min-height: 44px; font-size: .95rem; transition: background var(--anim), color var(--anim), border-color var(--anim), transform .15s ease, box-shadow var(--anim), filter var(--anim); }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--az-grad); border-color: transparent; box-shadow: var(--az-shadow-btn); }
.btn--primary:hover { background: var(--az-grad); filter: brightness(1.08) saturate(1.05); box-shadow: 0 6px 18px color-mix(in srgb, var(--az-start) 42%, transparent); }
.btn--secondary { border-width: 1px; border-color: var(--c-line-2); color: var(--c-primary-2); background: var(--c-surface); }
.btn--secondary:hover { background: var(--c-primary-soft); border-color: color-mix(in srgb, var(--c-primary) 55%, #fff); color: var(--c-primary-2); }
.pozadi-tmave .btn--secondary:hover, .pozadi-akcent .btn--secondary:hover { background: rgb(255 255 255 / .1); color: var(--c-ink); border-color: rgb(255 255 255 / .6); }
.pozadi-akcent .btn--primary { background: #fff; color: var(--c-primary-2); }
.btn--light { color: var(--c-primary-2); border-color: #fff; }
.btn--light:hover { background: #fff; filter: brightness(.97); color: var(--c-primary-2); box-shadow: 0 6px 18px rgb(6 20 60 / .25); }
.btn--outline-light { border-width: 1px; }
.btn--ghost:hover { background: var(--c-primary-soft); }

/* ---------- lišta, hlavička, menu ---------- */
.lista { font-size: .88rem; }
.lista a { color: var(--az-svetla); }
.lista__tecka { background: var(--az-svetla); }
.hlavicka { border-bottom-color: var(--c-line); }
.hlavicka.je-odscrollovana { box-shadow: 0 6px 20px rgb(29 78 216 / .08); }
.logo__text { display: inline-flex; align-items: center; gap: .6rem; font-weight: 800; font-size: 1.12rem; letter-spacing: -.01em; color: var(--az-head); }
.logo__text::before { content: ""; width: 34px; height: 34px; flex: none; border-radius: 10px; background: url("img/znak.svg") center / 20px no-repeat, var(--az-grad); box-shadow: var(--az-shadow-btn); }
.logo--paticka .logo__text { color: #fff; }
.menu__odkaz { border-radius: 10px; font-weight: 600; font-size: .94rem; padding: .5rem .8rem; color: var(--c-ink-2); }
.menu__odkaz:hover { background: var(--c-primary-soft); color: var(--c-primary-2); }
.menu__odkaz.je-aktivni { background: var(--c-primary-soft); color: var(--c-primary-2); font-weight: 700; box-shadow: inset 0 -2px 0 var(--c-primary); border-radius: 10px 10px 4px 4px; }
@media (max-width: 1040px) { .menu__odkaz.je-aktivni { border-radius: 10px; box-shadow: none; padding-inline: .75rem; } .menu__polozka { border-bottom: 0; } .menu__seznam { gap: .2rem; } }
.podmenu { border-radius: var(--r); box-shadow: var(--shadow-l); }
.podmenu a { border-radius: 10px; }
.menu-tlacitko { border: 0; border-radius: 12px; width: 44px; height: 44px; }
.menu-tlacitko:hover { background: var(--c-primary-soft); color: var(--c-primary); }

/* ---------- úvod (hero) ---------- */
.sekce--hero { isolation: isolate; }
.hero__nadpis { font-size: var(--fs-h1); }
.hero__popis { color: var(--c-muted); }
/* fakta jako dlaždice čísel (KPI) s barevným pruhem nahoře */
.hero__fakta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: .75rem; margin-top: 2rem; }
.hero__fakta li { --kpi-a: var(--az-start); --kpi-b: var(--az-konec); --kpi-ink: var(--c-primary);
  position: relative; overflow: hidden; flex-direction: column; align-items: flex-start; gap: .55rem; padding: 1rem 1rem .9rem; border: 1px solid var(--c-line); border-radius: var(--r); box-shadow: var(--shadow-s);
  background: linear-gradient(160deg, color-mix(in srgb, var(--kpi-a) 7%, var(--c-surface)) 0%, var(--c-surface) 55%); font-size: .86rem; line-height: 1.35; color: var(--c-muted); }
.hero__fakta li::before, .cislo::before, .hero__odznak::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--kpi-a), var(--kpi-b)); }
.hero__fakta li:nth-child(4n + 2), .cislo:nth-child(4n + 2) { --kpi-a: #0ea5e9; --kpi-b: var(--az-start); --kpi-ink: #0369a1; }
.hero__fakta li:nth-child(4n + 3), .cislo:nth-child(4n + 3) { --kpi-a: #7c3aed; --kpi-b: var(--az-konec); --kpi-ink: #6d28d9; }
.hero__fakta li:nth-child(4n + 4), .cislo:nth-child(4n + 4) { --kpi-a: #0d9488; --kpi-b: #0ea5e9; --kpi-ink: #0f766e; }
.hero__fakt-ic { width: auto; height: auto; background: none; border-radius: 0; color: var(--kpi-ink); }
.hero__fakt-ic .ic { width: 22px; height: 22px; }
.hero__fakta strong { display: block; font-size: 1.02rem; font-weight: 800; color: var(--az-head); }
.sekce--hero.v-pozadi .hero__fakta li { background: rgb(255 255 255 / .1); border-color: rgb(255 255 255 / .18); box-shadow: none; color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sekce--hero.v-pozadi .hero__fakt-ic { background: none; color: #fff; }
.hero__grid--text .hero__fakta { max-width: 720px; margin-inline: auto; }

/* fotky úvodu jako vrstvené karty nad tónovaným panelem */
.hero__media { isolation: isolate; }
.hero__media::before { content: ""; position: absolute; z-index: -1; inset: 7% -3% -5% 9%; border-radius: 28px; background: var(--az-grad); opacity: .13; pointer-events: none; }
.hero__media::after { content: ""; position: absolute; z-index: -1; width: 140px; height: 140px; left: -4%; top: -5%; pointer-events: none;
  background: radial-gradient(circle, color-mix(in srgb, var(--c-primary) 35%, transparent) 0 1.6px, transparent 2.2px) 0 0 / 14px 14px; }
.hero__f { border: 1px solid rgb(255 255 255 / .7); box-shadow: var(--shadow-l); background: var(--c-primary-soft); }
.hero__kolaz { gap: 12px; }
.hero__kolaz .hero__f1 { border-radius: var(--r-xl); }
.hero__kolaz .hero__f2 { border-radius: var(--r); }
.hero__kolaz .hero__f3 { border-radius: var(--r); width: 100%; aspect-ratio: 4 / 3; align-self: start; }
.hero__odznak { --kpi-a: var(--az-start); --kpi-b: var(--az-konec); overflow: hidden; border-left: 0; border: 1px solid var(--c-line); border-radius: var(--r); padding: 1.05rem 1.15rem .9rem; box-shadow: var(--shadow-l); }
.hero__odznak strong { font-family: var(--f-body); font-weight: 800; font-size: 1.35rem; letter-spacing: -.02em; color: var(--az-head); }
.sekce--hero.v-pozadi .hero__bg::after, .phero__bg::after {
  background: linear-gradient(100deg, color-mix(in srgb, var(--c-dark) 90%, transparent) 0%, color-mix(in srgb, var(--c-dark) 64%, transparent) 55%, color-mix(in srgb, var(--c-dark-2) 25%, transparent) 100%);
}
@media (max-width: 960px) { .hero__media::before { inset: 6% -2% -4% 6%; } }

/* ---------- hlavička podstránky: ikona v čtverečku s přechodem ---------- */
.sekce--hlavicka.v-zakladni { border-bottom: 1px solid var(--c-line); background: linear-gradient(180deg, rgb(255 255 255 / .55), rgb(255 255 255 / 0)); }
.sekce--hlavicka.v-zakladni .phero__nadpis { display: flex; align-items: center; gap: clamp(.7rem, 1.5vw, 1rem); }
.sekce--hlavicka.v-zakladni .phero__nadpis::before { content: ""; flex: none; width: clamp(42px, 4vw, 54px); aspect-ratio: 1; border-radius: 14px; background: url("img/znak.svg") center / 56% no-repeat, var(--az-grad); box-shadow: var(--az-shadow-btn); }
.drobecky { font-weight: 500; }
.drobecky a { color: var(--c-link); text-decoration: none; }
.drobecky a:hover { text-decoration: underline; }

/* ---------- karty s „hlavičkou“ (info pruh, otevírací doba) ---------- */
.ikarta, .hodiny-karta { --p: clamp(1.15rem, 2.2vw, 1.5rem); padding: var(--p); border-radius: var(--r); box-shadow: var(--shadow-s); }
.ikarta__nadpis, .hodiny-karta__nadpis { margin: calc(var(--p) * -1) calc(var(--p) * -1) 1rem; padding: .85rem var(--p); font-size: 1rem; border-bottom: 1px solid var(--c-line); border-radius: var(--r) var(--r) 0 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--c-primary-soft) 45%, var(--c-surface)), var(--c-surface)); }
.ikarta__nadpis .ic, .hodiny-karta__nadpis .ic { color: var(--c-primary); }
.pozadi-tmave :is(.ikarta__nadpis, .hodiny-karta__nadpis) { background: rgb(255 255 255 / .04); }
.pozadi-tmave :is(.ikarta__nadpis, .hodiny-karta__nadpis) .ic { color: var(--az-svetla); }
.ikarta__tel { font-family: var(--f-body); font-weight: 800; }
.ikarta--akcent { background: var(--az-grad-hero); --c-ink: #fff; --c-ink-2: #fff; --ic-c: #fff; color: #fff; }
.ikarta--akcent .ikarta__nadpis { color: #fff; }
.ikarta--akcent .ikarta__nadpis { background: rgb(255 255 255 / .1); border-bottom-color: rgb(255 255 255 / .18); }
.ikarta--akcent .ikarta__nadpis .ic { color: #fff; }
.ikarta--akcent .btn--light { color: var(--c-primary-2); }
.stav { font-size: .8rem; font-weight: 800; }
.hodiny th { font-weight: 500; }
.hodiny td { font-weight: 700; }

/* ---------- služby a výhody: ikony v čtverečku s přechodem ---------- */
.sluzba, .vyhody__grid--karty .vyhoda, .polozka, .novinka__odkaz, .clen, .reference, .balicek, .cenik--karty .cenik__skupina, .osa--karty .osa__bod, .kontakt__formular, .split__media--formular, .cta--karta { border-radius: var(--r); }
:is(.pozadi-zakladni, .pozadi-alt) :is(.sluzba, .vyhody__grid--karty .vyhoda) { background: linear-gradient(180deg, color-mix(in srgb, var(--c-primary-soft) 35%, var(--c-surface)) 0, var(--c-surface) 90px); }
.sluzba.je-odkaz:hover, .vyhody__grid--karty .vyhoda:hover, .novinka__odkaz:hover { transform: translateY(-2px); box-shadow: var(--shadow-l); border-color: color-mix(in srgb, var(--c-primary) 45%, #fff); }
.pozadi-tmave :is(.sluzba.je-odkaz, .vyhody__grid--karty .vyhoda, .novinka__odkaz):hover { border-color: rgb(255 255 255 / .3); }
.sluzba__ic, .vyhody__grid--karty .vyhoda__ic { --kpi-a: var(--az-start); --kpi-b: var(--az-konec); width: 46px; height: 46px; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--kpi-a), var(--kpi-b)); box-shadow: 0 4px 14px color-mix(in srgb, var(--kpi-a) 30%, transparent); }
:is(.sluzba, .vyhoda):nth-child(4n + 2) :is(.sluzba__ic, .vyhoda__ic) { --kpi-a: #0ea5e9; --kpi-b: var(--az-start); }
:is(.sluzba, .vyhoda):nth-child(4n + 3) :is(.sluzba__ic, .vyhoda__ic) { --kpi-a: #7c3aed; --kpi-b: var(--az-konec); }
:is(.sluzba, .vyhoda):nth-child(4n + 4) :is(.sluzba__ic, .vyhoda__ic) { --kpi-a: #0d9488; --kpi-b: #0ea5e9; }
.sluzba__ic .ic, .vyhoda__ic .ic { width: 23px; height: 23px; }
.sluzba__nadpis, .vyhoda__nadpis { font-size: 1.08rem; letter-spacing: -.01em; }
.sluzba p, .vyhoda p { color: var(--c-muted); font-size: .95rem; }
.sluzba__sipka { color: var(--c-primary); }
.pozadi-tmave .sluzba__sipka { color: var(--az-svetla); }
.sluzba__cena { font-weight: 800; }
.sluzby__grid.pocet-4:not(.sluzby__grid--seznam) { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.sluzby__grid--seznam { background: var(--card-bg); border: var(--card-bd); border-radius: var(--r); box-shadow: var(--card-shadow); padding-inline: clamp(1rem, 2.5vw, 1.6rem); }
.sekce .sluzby__grid--seznam .sluzba { background: none; }
.sluzby__grid--seznam .sluzba.je-odkaz:hover { transform: none; box-shadow: none; border-color: var(--c-line); }
.sluzby__grid--seznam .sluzba:last-child { border-bottom: 0; }
.sluzby__grid--fotky .sluzba__foto { overflow: hidden; }
.vyhoda__ic { border-radius: 12px; width: 46px; height: 46px; }
.split .vyhoda { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .9rem; align-content: start; }
.split .vyhoda__ic { grid-row: span 2; margin: 0; width: 42px; height: 42px; }
.split .vyhody__grid { gap: 1.4rem 1.6rem; }
.split .vyhoda__nadpis { margin-bottom: .25rem; }

/* fotky v textu */
.split__media img { box-shadow: var(--shadow-l); border: 1px solid rgb(255 255 255 / .7); }
.split__media:not(.split__media--formular) { isolation: isolate; }
.split__media:not(.split__media--formular)::before { content: ""; position: absolute; z-index: -1; inset: 6% -3% -4% 6%; border-radius: 26px; background: var(--az-grad); opacity: .12; pointer-events: none; }
.split--obracene .split__media:not(.split__media--formular)::before { inset: 6% 6% -4% -3%; }
.checks .ic { color: #fff; background: var(--az-grad); border-radius: 50%; padding: 3px; width: 1.25em; height: 1.25em; margin-top: .15em; }
.pozadi-tmave .checks .ic, .pozadi-akcent .checks .ic { background: rgb(255 255 255 / .16); }

/* ---------- čísla jako dlaždice KPI ---------- */
.cislo { --kpi-a: var(--az-start); --kpi-b: var(--az-konec); --kpi-ink: var(--c-primary); position: relative; overflow: hidden; border-radius: var(--r);
  background: linear-gradient(160deg, color-mix(in srgb, var(--kpi-a) 7%, var(--c-surface)) 0%, var(--c-surface) 55%); }
.cislo__hodnota { font-family: var(--f-body); font-weight: 800; color: var(--az-head); letter-spacing: -.02em; font-size: clamp(1.9rem, 1.6rem + 1.2vw, 2.5rem); }
.cislo__popis { color: var(--c-muted); font-size: .9rem; }
.cisla--pruh .cislo { padding: 1.1rem 0 0; border-left: 0; background: none; }
.cisla--pruh .cislo::before { right: auto; width: 48px; border-radius: 4px; }
.pozadi-tmave .cislo, .pozadi-akcent .cislo { background: var(--c-surface); }
.pozadi-tmave .cislo__hodnota, .pozadi-akcent .cislo__hodnota { color: var(--c-ink); }

/* ---------- kroky a časová osa ---------- */
.krok__cislo { border-radius: 13px; background: var(--az-grad); box-shadow: var(--az-shadow-btn); font-family: var(--f-body); font-weight: 800; font-size: 1.05rem; }
.pozadi-akcent .krok__cislo { background: #fff; color: var(--c-primary-2); box-shadow: none; }
.krok__nadpis { font-size: 1.06rem; }
.krok p { color: var(--c-muted); font-size: .95rem; }
.osa:not(.osa--karty)::before { background: var(--c-line-2); }
.osa:not(.osa--karty) .osa__bod::before { border: 0; background: var(--az-grad); box-shadow: 0 0 0 4px color-mix(in srgb, var(--az-start) 18%, transparent); }
.osa__rok { color: var(--c-primary); font-family: var(--f-body); font-weight: 800; }

/* ---------- dotazy (rozbalovací box) ---------- */
.faq { gap: .6rem; }
.faq__polozka { border-radius: 12px; box-shadow: var(--shadow-s); transition: border-color var(--anim), box-shadow var(--anim); }
.faq__polozka[open] { border-color: color-mix(in srgb, var(--c-primary) 40%, #fff); box-shadow: var(--shadow); }
.faq__polozka summary { font-weight: 700; padding: 1rem 1.2rem; }
.faq__polozka summary:hover { color: var(--c-link); }
.faq__ic { width: 28px; height: 28px; padding: 5px; border-radius: 8px; background: var(--c-primary-soft); color: var(--c-primary); }
.pozadi-tmave .faq__ic, .pozadi-akcent .faq__ic { background: rgb(255 255 255 / .1); color: var(--c-ink); }
.pozadi-tmave .faq__polozka[open], .pozadi-akcent .faq__polozka[open] { border-color: rgb(255 255 255 / .3); }
.faq__odpoved { padding: 0 1.2rem 1.1rem; }

/* ---------- reference, tým, ocenění ---------- */
.reference__text { font-size: 1rem; }
.reference__text::before { content: ""; display: block; width: 34px; height: 34px; margin-bottom: .2rem; border-radius: 10px; background: url("img/znak.svg") center / 18px no-repeat, var(--az-grad); box-shadow: var(--az-shadow-btn); }
.reference__hvezdy { color: #f59e0b; }
.reference__grid--citat .reference__text { font-weight: 800; letter-spacing: -.02em; }
.reference__grid--citat .reference__text::before { margin-inline: auto; margin-bottom: 1rem; }
.clen__role { color: var(--c-primary); font-weight: 700; }
.clen__foto--prazdne { background: linear-gradient(160deg, var(--c-primary-soft), var(--c-surface)); color: var(--c-primary); }
.oceneni__cislo { background: var(--az-grad); color: #fff; border-radius: 12px; font-family: var(--f-body); font-weight: 800; }
.oceneni__foto img { box-shadow: var(--shadow-l); }

/* ---------- aktuality, katalog, galerie, soubory ---------- */
.novinka__datum { color: var(--c-primary); letter-spacing: .05em; font-size: .76rem; font-weight: 800; }
.pozadi-tmave .novinka__datum { color: var(--az-svetla); }
.novinka__nadpis { font-family: var(--f-body); font-weight: 800; letter-spacing: -.01em; font-size: 1.08rem; }
.novinka__perex { color: var(--c-muted); }
.novinka--bez-fotky .novinka__odkaz { background: linear-gradient(160deg, var(--c-primary-soft), var(--c-surface) 60%); }
.novinka--bez-fotky .novinka__telo::before { content: ""; width: 40px; height: 40px; border-radius: 12px; margin-bottom: .4rem; background: url("img/znak.svg") center / 20px no-repeat, var(--az-grad); box-shadow: var(--az-shadow-btn); }
.polozka__kat { color: var(--c-primary); letter-spacing: .06em; font-weight: 800; }
.polozka__nazev { font-family: var(--f-body); font-weight: 800; }
.chip { border-radius: 999px; font-weight: 700; font-size: .85rem; }
.chip.je-aktivni, .chip[aria-pressed="true"] { background: var(--az-grad); border-color: transparent; }
.galerie__foto { border-radius: 12px; }
.album__foto { border-radius: var(--r); box-shadow: var(--shadow-s); }
.album__nazev { font-family: var(--f-body); font-weight: 800; }
.soubor { border-radius: 12px; box-shadow: var(--shadow-s); }
.soubor:hover { border-color: color-mix(in srgb, var(--c-primary) 45%, #fff); }
.strankovani a, .strankovani span { border-radius: 10px; }
.strankovani span { background: var(--az-grad); border-color: transparent; }

/* ---------- ceník ---------- */
.cenik__nazev { border-bottom: 1px solid var(--c-line); font-size: 1.05rem; margin: calc(clamp(1.25rem, 2.5vw, 1.75rem) * -1) calc(clamp(1.25rem, 2.5vw, 1.75rem) * -1) .6rem; padding: .9rem clamp(1.25rem, 2.5vw, 1.75rem); border-radius: var(--r) var(--r) 0 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--c-primary-soft) 45%, var(--c-surface)), var(--c-surface)); }
.cenik:not(.cenik--karty) .cenik__nazev { margin: 0 0 .6rem; padding: 0 0 .6rem; background: none; border-bottom: 2px solid var(--c-primary); border-radius: 0; }
.cenik__tabulka .cenik__cena { color: var(--az-head); }
.pozadi-tmave .cenik__nazev { background: rgb(255 255 255 / .04); }
.balicek--hlavni { border: 2px solid transparent; background: linear-gradient(var(--c-surface), var(--c-surface)) padding-box, var(--az-grad) border-box; }
.balicek__cena { font-family: var(--f-body); font-weight: 800; color: var(--c-primary); }

/* ---------- kontakt a formulář ---------- */
.kontakty__ic { border-radius: 12px; }
.kontakty__tel { font-family: var(--f-body); font-weight: 800; }
.pole input, .pole select, .pole textarea { min-height: 44px; border-radius: 10px; border-color: var(--c-okraj-pole); }
.pole input:hover, .pole select:hover, .pole textarea:hover { border-color: color-mix(in srgb, var(--c-primary) 55%, #fff); }
.pole > span { font-weight: 700; font-size: .86rem; color: var(--az-head); }
.mapa { border-radius: var(--r); }

/* ---------- tmavé a akcentní sekce: přechod s měkkými světly ---------- */
.pozadi-tmave { background: radial-gradient(60% 55% at 0% 0%, color-mix(in srgb, var(--az-start) 26%, transparent), transparent 65%), radial-gradient(50% 50% at 100% 100%, color-mix(in srgb, var(--az-konec) 26%, transparent), transparent 70%), var(--c-dark); }
.pozadi-akcent { background: var(--az-grad-hero); --c-okraj-pole: color-mix(in srgb, var(--c-primary-ink) 75%, transparent); }   /* rámeček pole na přechodu (i do indigové) */
.sekce--cta.pozadi-akcent, .sekce--cta.pozadi-tmave { overflow: hidden; isolation: isolate; }
.sekce--cta.pozadi-akcent::after, .sekce--cta.pozadi-tmave::after { content: ""; position: absolute; z-index: -1; right: 4%; top: 50%; width: 280px; height: 280px; margin-top: -140px; pointer-events: none; opacity: .5;
  background: radial-gradient(circle, rgb(255 255 255 / .35) 0 1.6px, transparent 2.2px) 0 0 / 16px 16px; -webkit-mask: radial-gradient(circle, #000 30%, transparent 70%); mask: radial-gradient(circle, #000 30%, transparent 70%); }
.cta__nadpis { letter-spacing: -.025em; }
.cta__tel { font-family: var(--f-body); font-weight: 800; }
.cta--karta { box-shadow: var(--shadow-l); }
.pozadi-zakladni .cta--karta, .pozadi-alt .cta--karta { position: relative; overflow: hidden; }
.pozadi-zakladni .cta--karta::before, .pozadi-alt .cta--karta::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--az-grad); }

/* ---------- patička: přechod jako boční menu aplikace ---------- */
.paticka { background: radial-gradient(70% 40% at 0% 0%, rgb(56 189 248 / .16), transparent 60%), radial-gradient(60% 50% at 100% 100%, rgb(129 140 248 / .2), transparent 65%),
  linear-gradient(180deg, var(--c-dark) 0%, color-mix(in srgb, var(--c-primary-2) 70%, var(--c-dark)) 100%); }
.paticka__nadpis { font-size: .75rem; font-weight: 800; letter-spacing: .09em; }
.paticka__odkazy a { display: inline-block; padding: .1rem 0; }
.paticka__site .site__odkaz, .paticka__site__odkaz { border: 0; border-radius: 12px; background: rgb(255 255 255 / .1); color: #fff; }
.paticka__spodek { border-top-color: rgb(255 255 255 / .14); }

@media print { body { background: #fff; } .hero__media::before, .hero__media::after, .split__media::before, .sekce::after { display: none !important; } }

/* ---------- návaznost úvod → pruh s otevírací dobou → další sekce (jádro ruší horní odsazení mezi stejnými pozadími) ---------- */
.sekce--hero.v-pozadi + .sekce--info-pruh { padding-top: 0; margin-top: calc(clamp(1.75rem, 3.5vw, 2.75rem) * -1); }
.sekce--info-pruh.pozadi-zakladni + .pozadi-zakladni { padding-top: calc(var(--sec) * .7); }
