/*
 * PUJCOVNA VOZIDEL (pujcovna-vozidel, verze 1.0.0) - "Pujcovna Kolovez", styl webu vzoru pro nativni Builder PublicMC (S-007).
 *
 * Patri do korene webu jako /style.css (builder_verejna.php ho linkuje pred styly rendereru), proto pravidla zacinaji "body".
 * Vzhled se veze na tridy sekci (customClass), ktere editor pri ulozeni zachovava:
 *   pu-hlavicka pu-paticka pu-paticka-vyzva pu-hero pu-lista pu-karty pu-seznam pu-kroky pu-dvojice pu-zahlavi pu-cenik pu-otazky
 *   pu-pozadi-oranzove pu-pozadi-tmave pu-pozadi-jemne (pozadi sekce; atribut background editor prepisuje)
 * Barvy = tokenPreset pujcovna/oranzova: oranzova, tyrkysova a teple bila; tucne zaoblene pismo, karty se stinem,
 * tlacitka jako pilulky. Plna sirka okna, na sirokych monitorech (>= 1600 px) vetsi pismo (clamp).
 */
:root {
  --pu-oranzova: #ff6b2c;
  --pu-oranzova-tmava: #e2541a;
  --pu-tyrkys: #0f6e6e;
  --pu-tyrkys-tmavy: #0a5252;
  --pu-text: #1f1a17;
  --pu-text-jemny: #5f554e;
  --pu-jemne: #fff4ec;
  --pu-okraj: #f0dccd;
  --pu-tma: #1b1714;
  --pu-bok: clamp(18px, 4vw, 112px);
  --pu-pismo: clamp(17px, 0.55vw + 9.5px, 23px);
  --pu-stin: 0 10px 30px rgba(31, 26, 23, .1);
  --pu-pismo-rodina: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --cmc-b-primary: var(--pu-oranzova);
  --cmc-b-ink: var(--pu-oranzova);
  --cmc-b-on-ink: #fff;
  --cmc-b-surface: #fff;
  --cmc-b-page: #fff;
  --cmc-b-surface-muted: var(--pu-jemne);
  --cmc-b-text: var(--pu-text);
  --cmc-b-text-soft: var(--pu-text-jemny);
  --cmc-b-text-muted: #85796f;
  --cmc-b-border: var(--pu-okraj);
  --cmc-b-border-strong: var(--pu-okraj);
}

body { margin: 0; background: #fff; color: var(--pu-text); font-family: var(--pu-pismo-rodina); font-size: var(--pu-pismo); line-height: 1.6; -webkit-font-smoothing: antialiased; }
body a { color: var(--pu-tyrkys); }
body img { max-width: 100%; }
body .cmc-b-document *, body .pmc-hlavicka *, body .pmc-paticka * { box-sizing: border-box; }

/* ---------- plna sirka ---------- */
body .cmc-b-document { max-width: none; margin: 0; padding: 0; }
body section.cmc-b-section { max-width: none; margin: 0; padding-left: var(--pu-bok); padding-right: var(--pu-bok); background: #fff; }
body .cmc-b-container { max-width: none; margin: 0; }
body .cmc-b-padY-none { padding-top: 0; padding-bottom: 0; }
body .cmc-b-padY-sm { padding-top: clamp(10px, 0.9vw, 20px); padding-bottom: clamp(10px, 0.9vw, 20px); }
body .cmc-b-padY-md { padding-top: clamp(30px, 2.8vw, 60px); padding-bottom: clamp(30px, 2.8vw, 60px); }
body .cmc-b-padY-lg { padding-top: clamp(48px, 4.6vw, 104px); padding-bottom: clamp(48px, 4.6vw, 104px); }
body .cmc-b-padY-xl { padding-top: clamp(64px, 6.6vw, 150px); padding-bottom: clamp(64px, 6.6vw, 150px); }

/* ---------- pismo ---------- */
body .cmc-b-heading { font-family: var(--pu-pismo-rodina); font-weight: 800; letter-spacing: -0.025em; line-height: 1.08; color: var(--pu-text); margin: 0 0 0.5em; text-wrap: balance; }
body h1.cmc-b-heading { font-size: clamp(38px, 4.6vw, 104px); }
body h2.cmc-b-heading { font-size: clamp(28px, 2.7vw, 62px); }
body h3.cmc-b-heading { font-size: clamp(19px, 1.25vw, 28px); letter-spacing: -0.01em; line-height: 1.25; }
body .cmc-b-paragraph { font-size: var(--pu-pismo); line-height: 1.6; color: var(--pu-text-jemny); margin: 0 0 1em; }
body .cmc-b-paragraph strong { color: var(--pu-text); }
body figcaption, body .cmc-b-caption { font-size: 0.8em; color: #85796f; margin-top: 0.6em; }

/* ---------- tlacitka: pilulky ---------- */
body :where(p).cmc-b-button { margin: 1.2em 0.6em 0 0; display: inline-block; max-width: 100%; }
body a.cmc-b-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5em; min-height: 52px; padding: 0.75em 1.7em; border-radius: 999px;
  font-family: var(--pu-pismo-rodina); font-size: 0.95em; font-weight: 700; text-decoration: none; border: 2px solid var(--pu-oranzova);
  background: var(--pu-oranzova); color: #fff; box-sizing: border-box; max-width: 100%; white-space: normal; text-align: center; overflow-wrap: anywhere;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease, color .15s ease;
}
body a.cmc-b-button:hover { background: var(--pu-oranzova-tmava); border-color: var(--pu-oranzova-tmava); transform: translateY(-1px); }
body a.cmc-b-button:focus-visible { outline: 3px solid var(--pu-tyrkys); outline-offset: 3px; }
body a.cmc-b-button-secondary { background: var(--pu-tma); border-color: var(--pu-tma); color: #fff; }
body a.cmc-b-button-secondary:hover { background: #000; border-color: #000; }
body a.cmc-b-button-outline { background: transparent; border-color: var(--pu-tyrkys); color: var(--pu-tyrkys); }
body a.cmc-b-button-outline:hover { background: var(--pu-tyrkys); border-color: var(--pu-tyrkys); color: #fff; }
body a.cmc-b-button-link { background: none; border-color: transparent; color: var(--pu-tyrkys); padding-left: 0; padding-right: 0; min-height: 44px; }
body a.cmc-b-button-link::after { content: "\2192"; transition: transform .15s ease; }
body a.cmc-b-button-link:hover { background: none; border-color: transparent; color: var(--pu-tyrkys-tmavy); transform: none; }
body a.cmc-b-button-link:hover::after { transform: translateX(4px); }

/* ---------- sloupce, obrazky ---------- */
body .cmc-b-columns { gap: clamp(18px, 1.8vw, 40px); margin: clamp(24px, 2.4vw, 52px) 0 0; }
body .cmc-b-columns.cmc-b-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .cmc-b-columns.cmc-b-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .cmc-b-columns.cmc-b-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .cmc-b-column { background: none; border: 0; padding: 0; min-width: 0; }
body .cmc-b-column > :last-child { margin-bottom: 0; }
body .cmc-b-image { margin: 0; }
body .cmc-b-image img { width: 100%; height: auto; border-radius: 24px; display: block; }

/* ---------- pozadi ---------- */
body section.pu-pozadi-oranzove { background: var(--pu-oranzova); }
body section.pu-pozadi-tmave { background: var(--pu-tma); }
body section.pu-pozadi-jemne { background: var(--pu-jemne); }
body .pu-pozadi-oranzove .cmc-b-heading { color: #1a0f08; }
body .pu-pozadi-oranzove .cmc-b-paragraph { color: #2a1a10; }
body .pu-pozadi-oranzove .cmc-b-paragraph em { color: #3a2416; }
body .pu-pozadi-oranzove a.cmc-b-button-primary { background: var(--pu-tma); border-color: var(--pu-tma); }

/* ---------- hlavicka: bila lepkava lista ---------- */
body .pmc-hlavicka { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 1px 0 var(--pu-okraj), 0 6px 20px rgba(31, 26, 23, .06); }
body .pu-hlavicka > .cmc-b-container { display: flex; flex-wrap: wrap; align-items: center; gap: 4px clamp(14px, 2vw, 40px); }
body .pu-hlavicka :where(p).cmc-b-button { margin: 0; }
body .pu-hlavicka > .cmc-b-container > p:first-child { margin-right: auto; }
body .pu-hlavicka > .cmc-b-container > p:first-child a.cmc-b-button-link { font-size: clamp(22px, 1.5vw, 32px); font-weight: 800; letter-spacing: -0.03em; color: var(--pu-text); gap: 0.4em; }
body .pu-hlavicka > .cmc-b-container > p:first-child a.cmc-b-button-link::before { content: ""; width: 0.95em; height: 0.95em; border-radius: 0.28em; background: var(--pu-oranzova); box-shadow: 0.32em 0.32em 0 -0.12em var(--pu-tyrkys); flex: none; }
body .pu-hlavicka > .cmc-b-container > p:first-child a.cmc-b-button-link::after { content: none; }
body .pu-hlavicka a.cmc-b-button-link { font-size: 0.92em; font-weight: 600; color: var(--pu-text); }
body .pu-hlavicka a.cmc-b-button-link::after { content: none; }
body .pu-hlavicka a.cmc-b-button-link:hover { color: var(--pu-oranzova-tmava); }
body .pu-hlavicka > .cmc-b-container > p:first-child { margin-right: 0; }
body .pu-hlavicka > .cmc-b-container > p.cmc-b-paragraph { margin: 0 auto 0 0; padding: 0.3em 0.9em; border-radius: 999px; background: var(--pu-jemne); font-size: 0.85em; font-weight: 700; color: var(--pu-tyrkys); white-space: nowrap; font-variant-numeric: tabular-nums; }
body .pu-hlavicka > .cmc-b-container > p:last-child { margin-left: auto; }
body .pu-hlavicka a.cmc-b-button-primary { min-height: 46px; padding: 0.5em 1.4em; font-size: 0.9em; }

/* ---------- hero: oranzova plocha, text na stred, obrazek dole ---------- */
body section.pu-hero { padding-bottom: 0; text-align: center; overflow: hidden; }
body .pu-hero > .cmc-b-container > p.cmc-b-paragraph:first-child { display: inline-block; margin-bottom: 1.4em; padding: 0.35em 1.1em; border-radius: 999px; background: rgba(255, 255, 255, .9); color: var(--pu-text); font-size: 0.82em; font-weight: 700; }
body .pu-hero h1.cmc-b-heading { max-width: 17ch; margin-left: auto; margin-right: auto; font-size: clamp(40px, 5vw, 116px); line-height: 1.02; }
body .pu-hero > .cmc-b-container > p.cmc-b-paragraph:nth-child(3) { max-width: 52ch; margin-left: auto; margin-right: auto; font-size: clamp(18px, 1.1vw, 25px); }
body .pu-hero > .cmc-b-container > figure { margin: clamp(28px, 3vw, 64px) auto 0; max-width: 1600px; }
body .pu-hero > .cmc-b-container > figure img { aspect-ratio: 16 / 6; object-fit: cover; border-radius: 28px 28px 0 0; }

/* ---------- rezervacni lista pres okraj obrazku ---------- */
body section.pu-lista { position: relative; z-index: 2; background: #fff; }
body .pu-lista .cmc-b-columns { margin: clamp(-64px, -3.4vw, -36px) auto 0; max-width: 1400px; gap: 0; padding: clamp(14px, 1.2vw, 24px); background: #fff; border-radius: 24px; box-shadow: 0 20px 50px rgba(31, 26, 23, .16); align-items: center; }
body .pu-lista .cmc-b-column { padding: 0.4em clamp(12px, 1.4vw, 28px); }
body .pu-lista .cmc-b-column + .cmc-b-column { border-left: 1px solid var(--pu-okraj); }
body .pu-lista .cmc-b-column > p.cmc-b-paragraph { margin: 0; }
body .pu-lista .cmc-b-column > p.cmc-b-paragraph:first-child { font-size: 0.72em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--pu-oranzova-tmava); }
body .pu-lista .cmc-b-column > p.cmc-b-paragraph:nth-child(2) { font-size: 0.95em; }
body .pu-lista :where(p).cmc-b-button { margin: 0; display: block; }
body .pu-lista a.cmc-b-button { width: 100%; }

/* ---------- karty kategorii ---------- */
body .pu-karty > .cmc-b-container > p.cmc-b-paragraph { max-width: 60ch; margin-left: auto; margin-right: auto; }
body .pu-karty .cmc-b-columns { align-items: stretch; }
body .pu-karty .cmc-b-column { display: flex; flex-direction: column; padding: clamp(12px, 0.9vw, 18px) clamp(12px, 0.9vw, 18px) clamp(18px, 1.4vw, 28px); background: #fff; border-radius: 28px; box-shadow: var(--pu-stin); border: 1px solid #f6e9df; transition: transform .15s ease, box-shadow .15s ease; }
body .pu-karty .cmc-b-column:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(31, 26, 23, .14); }
body .pu-karty .cmc-b-column > :not(figure) { margin-left: clamp(6px, 0.6vw, 12px); margin-right: clamp(6px, 0.6vw, 12px); }
body .pu-karty .cmc-b-column > figure { margin-bottom: 1.1em; }
body .pu-karty .cmc-b-column > figure img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; background: var(--pu-jemne); }
body .pu-karty .cmc-b-column > h3.cmc-b-heading { margin-bottom: 0.3em; }
body .pu-karty .cmc-b-column > p.cmc-b-paragraph:nth-of-type(1) { flex: 1 0 auto; }
body .pu-karty .cmc-b-column > p.cmc-b-paragraph:nth-of-type(2) { margin-top: 0.4em; margin-bottom: 0; font-size: 0.88em; }
body .pu-karty .cmc-b-column > p.cmc-b-paragraph:nth-of-type(2) strong { font-size: 1.6em; font-weight: 800; color: var(--pu-oranzova-tmava); letter-spacing: -0.02em; }
body .pu-karty :where(p).cmc-b-button { margin-top: 0.4em; }

/* ---------- seznam: kontrolni seznam / zakladni podminky ---------- */
body .pu-seznam .cmc-b-columns { margin: 0; align-items: start; }
body .pu-seznam .cmc-b-column > p.cmc-b-paragraph:first-child,
body .pu-seznam .cmc-b-column > p.cmc-b-paragraph:first-child ~ p.cmc-b-paragraph {
  display: flex; align-items: center; gap: 0.8em; margin: 0 0 0.6em; padding: 0.8em 1em; border-radius: 16px; background: #fff; color: var(--pu-text); font-weight: 600; box-shadow: 0 2px 10px rgba(31, 26, 23, .05);
}
body .pu-seznam .cmc-b-column > p.cmc-b-paragraph:first-child::before,
body .pu-seznam .cmc-b-column > p.cmc-b-paragraph:first-child ~ p.cmc-b-paragraph::before {
  content: "\2713"; flex: none; display: grid; place-items: center; width: 1.7em; height: 1.7em; border-radius: 50%; background: var(--pu-tyrkys); color: #fff; font-size: 0.85em; font-weight: 800;
}
body section.pu-seznam:not(.pu-pozadi-jemne) .cmc-b-column { padding: clamp(22px, 2vw, 40px); border-radius: 28px; background: var(--pu-jemne); }
body section.pu-seznam:not(.pu-pozadi-jemne) .cmc-b-column > h3.cmc-b-heading { color: var(--pu-oranzova-tmava); }

/* ---------- kroky: cisla v kruzich ---------- */
body .pu-kroky > .cmc-b-container > h2.cmc-b-heading { text-align: center; }
body .pu-kroky .cmc-b-column > p.cmc-b-paragraph:first-child {
  display: grid; place-items: center; width: clamp(64px, 4.6vw, 96px); height: clamp(64px, 4.6vw, 96px); margin: 0 auto 0.6em; border-radius: 50%;
  background: var(--pu-oranzova); color: #fff; font-size: clamp(28px, 2vw, 44px); font-weight: 800; line-height: 1; box-shadow: 0 0 0 10px var(--pu-jemne);
}
body .pu-kroky .cmc-b-column { position: relative; }
body .pu-kroky .cmc-b-column:not(:last-child)::after { content: ""; position: absolute; top: clamp(32px, 2.3vw, 48px); left: calc(50% + clamp(48px, 3.4vw, 72px)); right: calc(-50% + clamp(48px, 3.4vw, 72px) - clamp(18px, 1.8vw, 40px)); border-top: 3px dotted var(--pu-okraj); }

/* ---------- dvojice: obrazek + slevy / kontakt ---------- */
body .pu-dvojice .cmc-b-columns { margin: 0; align-items: center; gap: clamp(28px, 4vw, 96px); }
body .pu-dvojice .cmc-b-column > p.cmc-b-paragraph:has(> strong:first-child) { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; margin: 0; padding: 0.85em 0; border-bottom: 2px dashed var(--pu-okraj); color: var(--pu-tyrkys); font-weight: 800; font-size: 1.05em; }
body .pu-dvojice .cmc-b-column > p.cmc-b-paragraph:has(> strong:first-child) strong { font-weight: 600; }
body .pu-dvojice .cmc-b-column > p.cmc-b-paragraph:has(> em:only-child) { margin-top: 1em; font-size: 0.85em; }
body .pu-pozadi-jemne.pu-dvojice .cmc-b-column > p.cmc-b-paragraph:has(> strong:first-child) { display: block; border: 0; padding: 0; margin: 0 0 0.6em; color: var(--pu-text-jemny); font-weight: 400; font-size: 1em; }
body .pu-pozadi-jemne.pu-dvojice .cmc-b-column > p.cmc-b-paragraph:has(> strong:first-child) > strong:first-child { font-size: 1.25em; color: var(--pu-tyrkys); font-weight: 800; overflow-wrap: anywhere; }

/* ---------- zahlavi podstranek ---------- */
body .pu-zahlavi h1.cmc-b-heading { max-width: 18ch; }
body .pu-zahlavi > .cmc-b-container > p.cmc-b-paragraph { max-width: 64ch; font-size: clamp(18px, 1.1vw, 24px); }

/* ---------- cenik jako tabulka ---------- */
body .pu-cenik .cmc-b-columns { gap: 0; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); background: #fff; border-radius: 24px; box-shadow: var(--pu-stin); overflow: hidden; }
body .pu-cenik .cmc-b-column > p.cmc-b-paragraph { margin: 0; padding: 0.85em clamp(12px, 1.4vw, 32px); border-bottom: 1px solid #f6e9df; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--pu-text); font-variant-numeric: tabular-nums; }
body .pu-cenik .cmc-b-column > p.cmc-b-paragraph:last-child { border-bottom: 0; }
body .pu-cenik .cmc-b-column > p.cmc-b-paragraph:first-child { background: var(--pu-tyrkys); color: #fff; font-weight: 700; font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.06em; padding-top: 1.05em; padding-bottom: 1.05em; }
body .pu-cenik .cmc-b-column:first-child > p.cmc-b-paragraph:not(:first-child) { font-weight: 700; }
body .pu-cenik .cmc-b-column:not(:first-child) > p.cmc-b-paragraph { text-align: right; }
body .pu-cenik .cmc-b-column:nth-child(2) > p.cmc-b-paragraph:not(:first-child) { color: var(--pu-oranzova-tmava); font-weight: 800; }

/* ---------- otazky: otazka vlevo, odpoved vpravo ---------- */
body .pu-otazky > .cmc-b-container { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); column-gap: clamp(24px, 4vw, 96px); }
body .pu-otazky > .cmc-b-container > h2.cmc-b-heading { grid-column: 1 / -1; }
body .pu-otazky > .cmc-b-container > h3.cmc-b-heading,
body .pu-otazky > .cmc-b-container > p.cmc-b-paragraph { margin: 0; padding: 1.1em 0; border-top: 2px solid var(--pu-okraj); }
body .pu-otazky > .cmc-b-container > h3.cmc-b-heading { color: var(--pu-text); }

/* ---------- paticka: oranzovy pas s vyzvou + tmave menu ---------- */
body .pu-paticka-vyzva .cmc-b-columns { margin: 0; align-items: center; }
body .pu-paticka-vyzva h2.cmc-b-heading { margin-bottom: 0.25em; }
body .pu-paticka-vyzva .cmc-b-column > p.cmc-b-paragraph { margin: 0; }
body .pu-paticka-vyzva .cmc-b-column:last-child { text-align: right; }
body .pu-paticka-vyzva :where(p).cmc-b-button { margin: 0; }
body .pu-paticka-vyzva a.cmc-b-button { min-height: 60px; padding: 0.9em 2.2em; font-size: 1.05em; }
body .pu-paticka > .cmc-b-container { display: flex; flex-wrap: wrap; align-items: center; gap: 8px clamp(16px, 2vw, 40px); }
body .pu-paticka :where(p).cmc-b-button { margin: 0; }
body .pu-paticka > .cmc-b-container > p:first-child { margin-right: auto; }
body .pu-paticka > .cmc-b-container > p:first-child a.cmc-b-button-link { font-size: clamp(22px, 1.5vw, 32px); font-weight: 800; color: #fff; }
body .pu-paticka a.cmc-b-button-link { color: #f3e7de; font-weight: 600; }
body .pu-paticka a.cmc-b-button-link::after { content: none; }
body .pu-paticka a.cmc-b-button-link:hover { color: var(--pu-oranzova); }
body .pu-paticka > .cmc-b-container > p.cmc-b-paragraph { flex: 0 0 100%; margin: 0; color: #cdbfb4; }
body .pu-paticka > .cmc-b-container > p.cmc-b-paragraph:nth-last-child(2) { margin-top: 1.2em; padding-top: 1.2em; border-top: 1px solid #3a322c; }
body .pu-paticka > .cmc-b-container > p.cmc-b-paragraph em { color: #e9d8cb; }
body .pu-paticka > .cmc-b-container > p.cmc-b-paragraph:last-child { font-size: 0.74em; color: #a8998d; }

/* ---------- tablet ---------- */
@media (max-width: 1100px) {
  body .pu-hlavicka > .cmc-b-container > p.cmc-b-paragraph { display: none; }
  body .pu-hlavicka > .cmc-b-container > p.cmc-b-paragraph + p { margin-left: auto; }
  body .pu-lista .cmc-b-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 8px; }
  body .pu-lista .cmc-b-column:nth-child(3) { border-left: 0; }
  body .pu-kroky .cmc-b-columns.cmc-b-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  body .pu-kroky .cmc-b-column::after { display: none; }
}

/* ---------- mobil ---------- */
@media (max-width: 760px) {
  body .cmc-b-columns.cmc-b-cols-2, body .cmc-b-columns.cmc-b-cols-3, body .cmc-b-columns.cmc-b-cols-4,
  body .pu-kroky .cmc-b-columns.cmc-b-cols-4 { grid-template-columns: 1fr; }
  body .pu-hlavicka > .cmc-b-container { gap: 2px 16px; }
  body .pu-hlavicka > .cmc-b-container > p:first-child a.cmc-b-button-link { font-size: 22px; }
  body .pu-hlavicka > .cmc-b-container > p:last-child { order: -1; margin-left: auto; }
  body .pu-hlavicka > .cmc-b-container > p.cmc-b-paragraph + p { margin-left: 0; }
  body .pu-hlavicka > .cmc-b-container > p:first-child { order: -2; margin-right: 0; flex: 1 0 calc(100% - 160px); }
  body .pu-hlavicka a.cmc-b-button-primary { min-height: 44px; padding: 0.4em 1.1em; font-size: 15px; }
  body .pu-hlavicka a.cmc-b-button-link { font-size: 15px; }
  body .pu-hero > .cmc-b-container > p.cmc-b-paragraph:first-child { font-size: 13px; }
  body .pu-hero h1.cmc-b-heading { font-size: clamp(34px, 9.6vw, 44px); }
  body .pu-hero > .cmc-b-container > figure img { aspect-ratio: 4 / 3; border-radius: 20px 20px 0 0; }
  body .pu-lista .cmc-b-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: -28px; padding: 10px; }
  body .pu-lista .cmc-b-column { padding: 0.5em 0.6em; }
  body .pu-lista .cmc-b-column:nth-child(4) { grid-column: 1 / -1; border-left: 0; }
  body .pu-lista .cmc-b-column > p.cmc-b-paragraph:nth-child(2) { font-size: 0.85em; }
  body .pu-karty .cmc-b-columns + .cmc-b-columns { margin-top: 18px; }
  body .pu-seznam .cmc-b-columns { row-gap: 12px; }
  body .pu-kroky .cmc-b-columns { row-gap: 36px; }
  body .pu-kroky .cmc-b-column::after { display: none; }
  body .pu-dvojice .cmc-b-columns { row-gap: 28px; }
  body .pu-cenik .cmc-b-columns { grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr)); }
  body .pu-cenik .cmc-b-column > p.cmc-b-paragraph { padding: 0.8em 6px; font-size: 13px; }
  body .pu-cenik .cmc-b-column > p.cmc-b-paragraph:first-child { font-size: 11px; letter-spacing: 0.02em; }
  body .pu-cenik .cmc-b-column:first-child > p.cmc-b-paragraph { padding-left: 12px; }
  body .pu-cenik .cmc-b-column:last-child > p.cmc-b-paragraph { padding-right: 12px; }
  body .pu-otazky > .cmc-b-container { grid-template-columns: 1fr; }
  body .pu-otazky > .cmc-b-container > p.cmc-b-paragraph { border-top: 0; padding-top: 0; }
  body .pu-paticka-vyzva .cmc-b-column:last-child { text-align: left; }
  body .pu-paticka-vyzva .cmc-b-columns { row-gap: 20px; }
  body .pu-paticka > .cmc-b-container > p:first-child { flex: 0 0 100%; }
}

/* ---------- uzky mobil (360 px): cenik bez orezani nazvu kategorii ---------- */
@media (max-width: 400px) {
  body .pu-cenik .cmc-b-columns { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); }
  body .pu-cenik .cmc-b-column > p.cmc-b-paragraph { font-size: 12px; }
  body .pu-cenik .cmc-b-column > p.cmc-b-paragraph:first-child { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  body a.cmc-b-button, body .pu-karty .cmc-b-column, body a.cmc-b-button-link::after { transition: none; }
  body a.cmc-b-button:hover, body .pu-karty .cmc-b-column:hover { transform: none; }
}
