/* Pokládka podlahovin Pařenica – styly. Hodnoty z DESIGN.md (tokeny podle světa klienta). */
[hidden] { display: none !important; }
/* Lenis 1.3.26 – lenis.css */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

@font-face {
  font-family: "Kumbh Sans";
  src: url("../fonts/kumbh-sans-cs.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}

:root {
  /* barvy – z polepu auta a ze světa podlahy */
  --limetka: #84C92A;
  --limetka-svetla: #CFEBA6;
  --limetka-tmava: #5C9418;
  --limetka-hover: #74B521;
  --grafit: #23272B;
  --pruh: #5E6469;
  --sterka: #ECECE8;
  --sterka-tmava: #C9CBC5;
  --bila: #FFFFFF;
  --spara: rgba(35, 39, 43, .14);
  --spara-svetla: rgba(255, 255, 255, .16);

  /* písmo */
  --pismo: "Kumbh Sans", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --h1: clamp(2.5rem, 1.55rem + 4.2vw, 5.25rem);
  --h2: clamp(2rem, 1.45rem + 2.4vw, 3.5rem);
  --h3: clamp(1.25rem, 1.12rem + .55vw, 1.55rem);
  --text: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);
  --maly: .875rem;

  /* mezery */
  --m1: .5rem; --m2: 1rem; --m3: 1.5rem; --m4: 2rem; --m5: 3rem; --m6: 4.5rem; --m7: 7rem;
  --sekce: clamp(4.5rem, 2.8rem + 6vw, 8.5rem);
  --okraj: clamp(20px, 5vw, 64px);
  --obal-max: 1360px;
  --mezera: clamp(16px, 2vw, 28px);

  /* tvary */
  --r-prkno: 4px;
  --r-tlacitko: 8px;
  --stin-vzorek: 0 1px 0 rgba(35, 39, 43, .06), 0 18px 30px -18px rgba(35, 39, 43, .45);

  /* pohyb */
  --rychle: 200ms;
  --krivka: cubic-bezier(.2, .8, .2, 1);

  --hlavicka: 64px;
  --lista: 0px;
}
@media (min-width: 1000px) { :root { --hlavicka: 76px; } }
@media (max-width: 999.98px) { :root { --lista: 72px; } }

*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: calc(var(--hlavicka) + 12px);
  background: var(--bila);
}
body {
  margin: 0;
  font-family: var(--pismo);
  font-size: var(--text);
  line-height: 1.6;
  color: var(--grafit);
  background: var(--bila);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  padding-bottom: calc(var(--lista) + env(safe-area-inset-bottom, 0px));
  overflow-x: clip;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration-thickness: 1.5px; text-underline-offset: .18em; }
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
address { font-style: normal; }
h1, h2, h3 { font-weight: 800; text-wrap: balance; }
h2 { font-size: var(--h2); line-height: 1.05; letter-spacing: -.025em; }
h3 { font-size: var(--h3); line-height: 1.2; letter-spacing: -.01em; font-weight: 700; }
p { text-wrap: pretty; }
small { font-size: .8em; }
:focus-visible { outline: 3px solid var(--limetka); outline-offset: 3px; border-radius: 2px; }
.schody :focus-visible, .kde :focus-visible, .paticka :focus-visible, .menu :focus-visible { outline-color: var(--limetka); }
.postup :focus-visible { outline-color: var(--grafit); }
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.ikony { position: absolute; width: 0; height: 0; overflow: hidden; }
.ikona {
  width: 1.25em; height: 1.25em; flex: none;
  fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round;
}
.doplnit {
  display: inline-block;
  font-size: var(--maly);
  font-weight: 600;
  color: #7A2E00;
  background: #FFE9A8;
  padding: .15em .5em;
  border-radius: 3px;
}
.preskocit {
  position: absolute; left: var(--okraj); top: -100px; z-index: 100;
  background: var(--grafit); color: var(--bila); padding: .75rem 1rem; border-radius: var(--r-tlacitko);
}
.preskocit:focus { top: 12px; }

.obal { width: min(100% - 2 * var(--okraj), var(--obal-max)); margin-inline: auto; }

/* ---------- tlačítka ---------- */
.tlacitko {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 52px; padding: 0 24px;
  border-radius: var(--r-tlacitko);
  font-weight: 600; font-size: 1rem; line-height: 1.1;
  text-decoration: none; white-space: nowrap;
  border: 2px solid transparent;
  transition: background-color var(--rychle) ease-out, color var(--rychle) ease-out, border-color var(--rychle) ease-out, transform 120ms ease-out;
}
.tlacitko:active { transform: scale(.97); }
.tlacitko--velke { min-height: 56px; padding: 0 28px; font-size: 1.0625rem; }
.tlacitko--hlavni { background: var(--limetka); color: var(--grafit); }
.tlacitko--hlavni:hover { background: var(--limetka-hover); color: var(--grafit); }
.tlacitko--obrys { border-color: var(--grafit); color: var(--grafit); background: transparent; }
.tlacitko--obrys:hover { background: var(--grafit); color: var(--bila); }
.tlacitko--obrys-svetle { border-color: var(--bila); color: var(--bila); background: transparent; }
.tlacitko--obrys-svetle:hover { background: var(--bila); color: var(--grafit); }
.tlacitko--tmave { background: var(--grafit); color: var(--bila); }
.tlacitko--tmave:hover { background: #3A4046; color: var(--bila); }

/* ---------- hlavička ---------- */
.hlavicka {
  position: sticky; top: 0; z-index: 50;
  height: var(--hlavicka);
  background: var(--bila);
  border-bottom: 1px solid transparent;
  transition: border-color var(--rychle) ease-out;
}
.hlavicka--odjeto { border-bottom-color: var(--spara); }
.hlavicka__obal {
  height: 100%;
  width: min(100% - 2 * var(--okraj), var(--obal-max)); margin-inline: auto;
  display: flex; align-items: center; gap: var(--m3);
}
.znacka { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--grafit); flex: none; }
.znacka__kostka { width: 26px; height: 30px; flex: none; }
.kostka__vrch { fill: var(--limetka-svetla); }
.kostka__levo { fill: var(--limetka); }
.kostka__pravo { fill: var(--grafit); }
.znacka__text { display: flex; flex-direction: column; text-transform: uppercase; font-weight: 800; line-height: 1.12; letter-spacing: .01em; font-size: .86rem; }
.znacka__text span:last-child { font-size: 1.32em; letter-spacing: .02em; margin-top: .2em; line-height: .92; }
.menu { margin-left: auto; }
.menu__odkazy { display: flex; gap: clamp(1rem, 2vw, 2rem); }
.menu__odkazy a {
  position: relative; display: inline-block; padding: .5rem 0;
  font-weight: 600; font-size: 1rem; text-decoration: none; color: var(--grafit);
}
.menu__odkazy a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: .2rem; height: 3px;
  background: var(--limetka); transform: scaleX(0); transform-origin: left; transition: transform var(--rychle) ease-out;
}
.menu__odkazy a:hover::after, .menu__odkazy a[aria-current="true"]::after { transform: scaleX(1); }
.menu__mobil { display: none; }
.hlavicka__tel { flex: none; }
.hamburger {
  display: none; align-items: center; gap: .6rem;
  min-height: 48px; padding: 0 .9rem 0 .75rem; margin-right: -.5rem;
  background: transparent; border: 0; border-radius: var(--r-tlacitko);
  font-weight: 600; font-size: 1rem; color: var(--grafit);
}
.hamburger__cary, .hamburger__cary::before, .hamburger__cary::after {
  display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px;
  transition: transform var(--rychle) ease-out, opacity var(--rychle) ease-out;
}
.hamburger__cary { position: relative; }
.hamburger__cary::before, .hamburger__cary::after { content: ""; position: absolute; left: 0; }
.hamburger__cary::before { top: -7px; }
.hamburger__cary::after { top: 7px; }
.hamburger[aria-expanded="true"] .hamburger__cary { background: transparent; }
.hamburger[aria-expanded="true"] .hamburger__cary::before { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] .hamburger__cary::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 999.98px) {
  .hamburger { display: inline-flex; margin-left: auto; }
  .hlavicka__tel { display: none; }
  .menu {
    position: fixed; inset: var(--hlavicka) 0 0 0; z-index: 49;
    margin: 0; padding: var(--m5) var(--okraj) calc(var(--m5) + env(safe-area-inset-bottom, 0px));
    background: var(--grafit); color: var(--bila);
    display: none; flex-direction: column; gap: var(--m5);
    overflow-y: auto; overscroll-behavior: contain;
  }
  .menu.menu--otevrene { display: flex; }
  .menu__odkazy { flex-direction: column; gap: 0; }
  .menu__odkazy a { color: var(--bila); font-size: clamp(1.75rem, 1.2rem + 3vw, 2.5rem); font-weight: 800; letter-spacing: -.02em; padding: .45rem 0; }
  .menu__odkazy a::after { bottom: .3rem; }
  .menu__mobil { display: flex; flex-direction: column; align-items: flex-start; gap: var(--m2); }
  .menu__mobil .tlacitko { width: 100%; }
  .menu__dalsi { display: inline-flex; align-items: center; gap: .6rem; color: var(--bila); text-decoration: none; font-weight: 500; min-height: 44px; }
  .menu__dalsi:hover { text-decoration: underline; }
  .hlavicka--menu { border-bottom-color: var(--spara); }
}
@media (max-width: 380px) {
  .znacka__text { font-size: .8rem; }
  .hamburger__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- úvod „Přijedeme“: grafit, pruhy z polepu, dodávka přijede ---------- */
.tmavy-uvod .hlavicka { position: fixed; left: 0; right: 0; top: 0; background: transparent; transition: background-color 250ms ease-out, border-color 250ms ease-out; }
.tmavy-uvod .hlavicka.hlavicka--odjeto { background: var(--bila); }
.tmavy-uvod .hlavicka:not(.hlavicka--odjeto) .znacka,
.tmavy-uvod .hlavicka:not(.hlavicka--odjeto) .hamburger { color: var(--bila); }
.tmavy-uvod .hlavicka:not(.hlavicka--odjeto) .kostka__pravo { fill: #8A8F94; }
@media (min-width: 1000px) {
  .tmavy-uvod .hlavicka:not(.hlavicka--odjeto) .menu__odkazy a { color: var(--bila); }
}
.tmavy-uvod .hlavicka--menu { background: var(--grafit) !important; border-bottom-color: var(--spara-svetla); }
.tmavy-uvod .hlavicka--menu .znacka, .tmavy-uvod .hlavicka--menu .hamburger { color: var(--bila) !important; }

.uvod-a {
  position: relative; overflow: hidden; isolation: isolate;
  background: var(--grafit); color: var(--bila);
  min-height: min(100svh, 960px);
  padding-top: var(--hlavicka);
  display: flex; flex-direction: column;
}
.uvod-a__pruhy { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.uvod-a__pruhy svg { width: 100%; height: 100%; display: block; }
.uvod-a .pruh { transform-box: fill-box; animation: pruh-vjezd 1.1s var(--krivka) both; animation-delay: calc(var(--i) * 60ms + 80ms); }
@keyframes pruh-vjezd { from { opacity: 0; transform: translate(-70px, 34px); } to { opacity: 1; transform: none; } }
.uvod-a__obal { position: relative; z-index: 2; padding-top: clamp(1.5rem, 5vh, 4.5rem); }
.uvod-a__text { max-width: 38rem; }
.uvod-a__kdo { color: var(--limetka); font-weight: 600; font-size: .95rem; margin-bottom: var(--m2); }
.uvod-a__nadpis {
  font-size: clamp(2.35rem, 1.2rem + 4.1vw, 5rem); line-height: 1.06; letter-spacing: -.01em;
  text-transform: uppercase; font-weight: 800;
}
.uvod-a__nadpis span { display: block; margin-top: .4em; font-size: .46em; line-height: 1.1; text-transform: none; letter-spacing: -.02em; color: var(--limetka); }
.uvod-a__perex { margin-top: var(--m3); color: rgba(255, 255, 255, .84); max-width: 32em; }
.uvod-a__akce { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: var(--m4); }
.uvod-a__auto { position: relative; z-index: 1; margin-top: auto; padding: var(--m4) 0 clamp(1.5rem, 5vh, 3.5rem); }
.uvod-a__jizda {
  position: relative; width: min(100% - 2 * var(--okraj), 980px); margin-inline: auto;
  animation: prijezd 1.9s cubic-bezier(.12, .72, .24, 1) .2s both;
}
.uvod-a__jizda img { position: relative; z-index: 1; width: 100%; height: auto; transform-origin: 72% 100%; animation: brzda .8s ease-out 1.95s both; }
.uvod-a__stin {
  position: absolute; z-index: 0; left: 4%; right: 3%; bottom: -3%; height: 16%;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
}
@keyframes prijezd { from { transform: translateX(-120vw); } to { transform: none; } }
@keyframes brzda { 0% { transform: none; } 30% { transform: rotate(.9deg); } 100% { transform: none; } }
@media (max-width: 599.98px) {
  .uvod-a__akce .tlacitko { flex: 1 1 100%; }
  /* „Poptávka“ je na telefonu ve spodní liště – v úvodu jen Zavolat, ať je vidět celá dodávka */
  .uvod-a__akce .tlacitko--obrys-svetle { display: none; }
}
@media (max-width: 999.98px) {
  .uvod-a { min-height: 0; }
  .uvod-a__obal { padding-top: var(--m4); }
  .uvod-a__pruhy { top: auto; height: clamp(230px, 52vw, 460px); }
  .uvod-a__auto { margin-top: var(--m4); padding-bottom: clamp(1.5rem, 6vw, 3rem); }
}
@media (min-width: 1000px) {
  .uvod-a__obal { padding-top: clamp(2.5rem, 8vh, 6rem); }
  .uvod-a__text { max-width: min(38rem, calc(54vw - var(--okraj))); }
  .uvod-a__auto { position: absolute; right: 2.5vw; bottom: clamp(1.5rem, 6vh, 4rem); width: min(42vw, 860px); padding: 0; }
  .uvod-a__jizda { width: 100%; }
}

/* tlačítka v úvodu jinde (404) */
.uvod__akce { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: var(--m4); }

/* ---------- společné prvky sekcí ---------- */
.hlava-sekce { max-width: 46rem; }
.hlava-sekce > p { margin-top: var(--m3); color: var(--pruh); max-width: 40em; }
.hlava-sekce--radek { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--m4); }
.hlava-sekce--radek > div:first-child { max-width: 40rem; }
.hlava-sekce--radek p { margin-top: var(--m3); color: var(--pruh); }
.foto { position: relative; overflow: hidden; border-radius: var(--r-prkno); background: var(--sterka-tmava); }
.foto img { width: 100%; height: 100%; object-fit: cover; }
.foto--siroka { aspect-ratio: 4 / 3; }
figcaption { font-size: var(--maly); color: var(--pruh); margin-top: .75rem; }
.stitek-ai {
  position: absolute; right: 8px; bottom: 8px; z-index: 1;
  font-size: .6875rem; font-weight: 600; line-height: 1; letter-spacing: .01em;
  background: rgba(255, 255, 255, .92); color: var(--grafit);
  padding: .35rem .5rem; border-radius: 3px;
}

/* ---------- kus po kusu ---------- */
.kus { padding: var(--sekce) 0; border-top: 1px solid var(--spara); }
.kus__obal { display: grid; gap: var(--m5); }
.kus__text h2 { max-width: 12em; }
.kus__text p { margin-top: var(--m3); max-width: 32em; }
.kus__text p + p { color: var(--pruh); }
@media (min-width: 1000px) {
  .kus__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: end; }
  .kus__text { grid-column: 1 / span 4; padding-bottom: 3.2rem; }
  .kus__foto { grid-column: 6 / span 7; }
}

/* ---------- služby – vzorník ---------- */
.sluzby { padding: var(--sekce) 0; background: var(--sterka); }
.sluzby__hlava { display: grid; gap: var(--m5); }
.sluzby__vzorky-foto .foto { aspect-ratio: 4 / 3; }
.vzornik { display: grid; gap: var(--m4) var(--mezera); margin-top: var(--m6); }
.vzorek {
  position: relative; background: var(--bila); border-radius: var(--r-prkno);
  box-shadow: var(--stin-vzorek);
  display: flex; flex-direction: column;
  transition: transform 260ms var(--krivka), box-shadow 260ms var(--krivka);
}
.vzorek__textura { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-prkno) var(--r-prkno) 0 0; background: var(--sterka-tmava); }
.vzorek__textura img { width: 100%; height: 100%; object-fit: cover; }
.vzorek__textura::before {
  /* dírka pro kroužek vzorníku */
  content: ""; position: absolute; z-index: 1; left: 14px; top: 14px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--sterka); box-shadow: inset 0 2px 3px rgba(35, 39, 43, .55), 0 0 0 1px rgba(255, 255, 255, .5);
}
.vzorek__textura--kostky {
  background-color: var(--sterka);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='90' viewBox='0 0 52 90'%3E%3Cg stroke='%2323272B' stroke-opacity='.15' stroke-width='.8'%3E%3Cpath fill='%23fff' d='M0 15 26 0 52 15 26 30Z'/%3E%3Cpath fill='%23C9CBC5' d='M0 15 26 30V60L0 45Z'/%3E%3Cpath fill='%2323272B' d='M52 15 26 30V60L52 45Z'/%3E%3Cpath fill='%23fff' d='M26 60 52 45 78 60 52 75Z'/%3E%3Cpath fill='%23fff' d='M-26 60 0 45 26 60 0 75Z'/%3E%3Cpath fill='%23C9CBC5' d='M-26 60 0 75V105L-26 90Z'/%3E%3Cpath fill='%2323272B' d='M26 60 0 75V105L26 90Z'/%3E%3Cpath fill='%23C9CBC5' d='M26 60 52 75V105L26 90Z'/%3E%3Cpath fill='%2323272B' d='M78 60 52 75V105L78 90Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 52px 90px;
}
.vzorek__popis { padding: var(--m3) var(--m3) var(--m4); display: flex; flex-direction: column; gap: .6rem; }
.vzorek__popis p { font-size: 1rem; line-height: 1.55; color: var(--pruh); }
.vzorek__popis a { color: var(--grafit); font-weight: 600; }
@media (hover: hover) {
  .vzorek.hover-zapnuty:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: 0 1px 0 rgba(35, 39, 43, .06), 0 26px 36px -20px rgba(35, 39, 43, .5); }
}
@media (max-width: 639.98px) {
  /* na mobilu se vzorníkem listuje do strany jako vzorky na kroužku */
  .vzornik {
    display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-inline: var(--okraj);
    margin-inline: calc(-1 * var(--okraj)); padding: 4px var(--okraj) 28px;
    scrollbar-width: none;
  }
  .vzornik::-webkit-scrollbar { display: none; }
  .vzorek { flex: 0 0 min(80%, 320px); scroll-snap-align: start; }
  .vzornik__napoveda { display: flex; }
}
.vzornik__napoveda { display: none; align-items: center; gap: .5rem; margin-top: var(--m2); font-size: var(--maly); color: var(--pruh); }
.vzornik__napoveda::after { content: ""; flex: 0 0 28px; height: 2px; background: var(--grafit); border-radius: 2px; }
@media (min-width: 640px) { .vzornik { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
  .sluzby__hlava { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: center; }
  .sluzby__hlava .hlava-sekce { grid-column: 1 / span 5; }
  .sluzby__vzorky-foto { grid-column: 7 / span 6; }
  .vzornik { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  /* vazba: každý druhý vzorek o kus níž, jako posunutá prkna */
  .vzornik > .vzorek:nth-child(even) { margin-top: 2.5rem; margin-bottom: -2.5rem; }
  .vzornik { margin-bottom: 2.5rem; }
}

/* ---------- schody ---------- */
.schody { padding: var(--sekce) 0; background: var(--grafit); color: var(--bila); overflow: hidden; }
.schody__obal { display: grid; gap: var(--m6); }
.schody__text p { margin-top: var(--m3); color: rgba(255, 255, 255, .86); max-width: 32em; }
.schody__text .schody__pozn { font-size: var(--maly); color: rgba(255, 255, 255, .7); }
.schody__text .tlacitko { margin-top: var(--m4); }
.schodiste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--m2) var(--mezera); align-items: end; }
.schod { position: relative; padding-bottom: 14px; }
.schod .foto { aspect-ratio: 3 / 4; }
/* zelená hrana pod každou fotkou – dohromady profil schodiště (nášlap + podstupnice) */
.schod::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--limetka); border-radius: 2px; }
.schod:nth-child(even) { margin-bottom: 2.5rem; }
@media (min-width: 1000px) {
  .schody__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: center; }
  .schody__text { grid-column: 1 / span 4; }
  .schodiste { --krok: 4.5rem; grid-column: 5 / span 8; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: calc(var(--krok) * 1); }
  .schod:nth-child(even) { margin-bottom: 0; }
  .schod--2 { margin-bottom: var(--krok) !important; }
  .schod--3 { margin-bottom: calc(var(--krok) * 2) !important; }
  .schod--4 { margin-bottom: calc(var(--krok) * 3) !important; }
  .schod::after { right: calc(-1 * var(--mezera)); }
  .schod:last-child::after { right: 0; }
  /* podstupnice: svislá linka na konci nášlapu nahoru k dalšímu schodu */
  .schod::before { content: ""; position: absolute; right: calc(-1 * var(--mezera)); bottom: 0; width: 4px; height: calc(var(--krok) + 4px); background: var(--limetka); border-radius: 2px; }
  .schod:last-child::before { display: none; }
}

/* ---------- podklad ---------- */
.podklad { padding: var(--sekce) 0; }
.podklad__obal { display: grid; gap: var(--m6); }
.podklad__text p { margin-top: var(--m3); max-width: 32em; }
.podklad__duraz {
  font-weight: 700; font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem); line-height: 1.35;
  padding-left: 1rem; border-left: 4px solid var(--limetka);
}
.vrstvy__seznam { display: flex; flex-direction: column; gap: 6px; }
.vrstva { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--m3); }
.vrstva__pruh { display: block; border-radius: 2px; }
.vrstva__nazev { font-weight: 700; font-size: 1rem; line-height: 1.3; display: flex; flex-direction: column; }
.vrstva__nazev small { font-weight: 500; color: var(--pruh); font-size: .8125rem; }
.vrstva--lista .vrstva__pruh { height: 26px; width: 34%; background: var(--grafit); border-radius: 2px 2px 0 0; }
.vrstva--krytina .vrstva__pruh {
  height: 22px;
  background: repeating-linear-gradient(90deg, #C9A67C 0 23%, #B58E62 23% 23.4%, #D2B08A 23.4% 51%, #B58E62 51% 51.4%, #C59F73 51.4% 77%, #B58E62 77% 77.4%, #CDA981 77.4% 100%);
}
.vrstva--podlozka .vrstva__pruh { height: 10px; background: var(--limetka-svetla); }
.vrstva--sterka .vrstva__pruh { height: 26px; background: var(--sterka-tmava); }
.vrstva--podklad .vrstva__pruh {
  height: 64px;
  background-color: #9B9E99;
  background-image: radial-gradient(circle at 20% 30%, rgba(255,255,255,.25) 0 2px, transparent 3px), radial-gradient(circle at 70% 60%, rgba(0,0,0,.18) 0 2px, transparent 3px), radial-gradient(circle at 45% 80%, rgba(255,255,255,.2) 0 1.5px, transparent 2.5px);
  background-size: 34px 30px, 46px 38px, 28px 26px;
}
.vrstvy figcaption { margin-top: var(--m3); }
.podklad__foto .foto { aspect-ratio: 21 / 9; }
.podklad__foto .foto img { object-position: 50% 62%; }
.podklad__foto figcaption { max-width: 40em; }
@media (min-width: 1000px) {
  .podklad__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); row-gap: var(--m6); align-items: center; }
  .podklad__text { grid-column: 1 / span 5; }
  .vrstvy { grid-column: 7 / span 6; }
  .podklad__foto { grid-column: 5 / span 8; }
}

/* ---------- dveře ---------- */
.dvere { padding: var(--sekce) 0; background: var(--sterka); }
.dvere__obal { display: grid; gap: var(--m5); }
.dvere__text p { margin-top: var(--m3); max-width: 32em; }
.dvere__fotky { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--mezera); }
.dvere__fotky .foto { aspect-ratio: 3 / 4; }
@media (min-width: 1000px) {
  .dvere__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: center; }
  .dvere__text { grid-column: 1 / span 4; }
  .dvere__fotky { grid-column: 5 / span 8; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dvere__fotky li:nth-child(even) { translate: 0 2.5rem; }
  .dvere__fotky { margin-bottom: 2.5rem; }
}

/* ---------- postup – limetková plocha ---------- */
.postup { padding: var(--sekce) 0; background: var(--limetka); color: var(--grafit); }
.postup .hlava-sekce > p { color: var(--grafit); }
.prkna { display: grid; gap: 8px; margin-top: var(--m6); }
.prkno {
  position: relative; background: var(--bila); border-radius: var(--r-prkno);
  padding: var(--m3) var(--m3) var(--m3) calc(var(--m3) + 40px);
  box-shadow: 0 1px 0 rgba(35, 39, 43, .12);
}
.prkno__kostka { position: absolute; left: var(--m3); top: calc(var(--m3) + 2px); width: 24px; height: 28px; }
.prkno h3 { font-size: 1.2rem; }
.prkno p { margin-top: .35rem; font-size: 1rem; line-height: 1.5; color: var(--pruh); }
@media (max-width: 999.98px) {
  .prkno:nth-child(even) { margin-left: clamp(1rem, 6vw, 3rem); }
  .prkno:nth-child(odd) { margin-right: clamp(1rem, 6vw, 3rem); }
}
@media (min-width: 1000px) {
  /* pokládka na vazbu: druhá řada posunutá o půl prkna */
  .prkna { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
  .prkno { grid-column: span 2; padding: var(--m4) var(--m4) var(--m4) calc(var(--m4) + 40px); min-height: 11rem; }
  .prkno__kostka { left: var(--m4); top: calc(var(--m4) + 2px); }
  .prkno:nth-child(1) { grid-column: 1 / span 2; }
  .prkno:nth-child(2) { grid-column: 3 / span 2; }
  .prkno:nth-child(3) { grid-column: 5 / span 2; }
  .prkno:nth-child(4) { grid-column: 2 / span 2; }
  .prkno:nth-child(5) { grid-column: 4 / span 2; }
  .prkno:nth-child(6) { grid-column: 6 / span 2; }
}

/* ---------- o nás ---------- */
.onas { padding: var(--sekce) 0; }
.onas__obal { display: grid; gap: var(--m5); }
.onas__foto .foto { aspect-ratio: 4 / 5; max-width: 26rem; }
.onas__foto figcaption { max-width: 26rem; }
.onas__text h2 { max-width: 14em; }
.onas__text > p { margin-top: var(--m3); max-width: 34em; }
.onas__perex { font-size: clamp(1.15rem, 1.05rem + .45vw, 1.35rem); line-height: 1.5; }
.onas__text > p:not(.onas__perex) { color: var(--pruh); }
.proc { margin-top: var(--m5); display: grid; gap: 0; border-top: 1px solid var(--spara); }
.proc li { display: flex; gap: .9rem; padding: 1rem 0; border-bottom: 1px solid var(--spara); align-items: flex-start; line-height: 1.5; }
.proc .ikona { margin-top: .15em; color: var(--grafit); background: var(--limetka); border-radius: 4px; padding: 3px; width: 1.5em; height: 1.5em; stroke-width: 2.25; }
@media (min-width: 1000px) {
  .onas__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: start; }
  .onas__foto { grid-column: 1 / span 4; position: sticky; top: calc(var(--hlavicka) + 2rem); }
  .onas__text { grid-column: 6 / span 7; }
}

/* ---------- realizace – galerie ---------- */
.realizace { padding: var(--sekce) 0; background: var(--sterka); }
.filtry { display: flex; flex-wrap: wrap; gap: .5rem; }
.filtr, .stitek {
  min-height: 44px; padding: 0 1rem; border-radius: var(--r-tlacitko);
  border: 1.5px solid var(--sterka-tmava); background: var(--bila); color: var(--grafit);
  font-weight: 600; font-size: .95rem;
  transition: background-color var(--rychle) ease-out, border-color var(--rychle) ease-out, color var(--rychle) ease-out;
}
.filtr:hover, .stitek:hover { border-color: var(--grafit); }
.filtr[aria-pressed="true"], .stitek[aria-pressed="true"] { background: var(--grafit); border-color: var(--grafit); color: var(--bila); }
.galerie {
  --vyska: 150px;
  display: flex; flex-wrap: wrap; gap: 6px;
  margin-top: var(--m5);
}
.galerie::after { content: ""; flex-grow: 1000000; }
.galerie__polozka { flex: var(--r) 1 calc(var(--r) * var(--vyska)); height: var(--vyska); min-width: 0; }
.galerie__tlacitko {
  display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 3px; overflow: hidden;
  background: var(--sterka-tmava); position: relative;
}
.galerie__tlacitko img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--krivka), opacity 300ms ease-out; }
@media (hover: hover) {
  .galerie__tlacitko:hover img { transform: scale(1.04); }
}
.realizace__pocet { margin-top: var(--m3); font-size: var(--maly); color: var(--pruh); }
@media (min-width: 600px) { .galerie { --vyska: 190px; } }
@media (min-width: 900px) { .galerie { --vyska: 250px; } }

/* ---------- kde působíme + dodávka ---------- */
.kde { position: relative; background: var(--grafit); color: var(--bila); padding: calc(var(--sekce) + 40px) 0 var(--sekce); overflow: hidden; }
.kde__pruhy, .paticka__pruhy {
  /* šikmé pruhy jako na polepu auta */
  height: 40px;
  background: repeating-linear-gradient(118deg,
    var(--limetka) 0 34px, var(--grafit) 34px 46px, #8A8F94 46px 70px, var(--bila) 70px 82px, #5E6469 82px 120px, var(--limetka-svetla) 120px 128px, var(--grafit) 128px 150px);
}
.kde__pruhy { position: absolute; left: 0; right: 0; top: 0; }
.kde__obal { display: grid; gap: var(--m5); }
.kde__text p { margin-top: var(--m3); color: rgba(255, 255, 255, .86); max-width: 32em; }
.kde__text .doplnit { color: #7A2E00; }
.kde__adresa { margin-top: var(--m4); display: flex; gap: .75rem; align-items: flex-start; font-weight: 600; line-height: 1.5; }
.kde__adresa .ikona { color: var(--limetka); margin-top: .15em; }
.kde__mapa { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-prkno); overflow: hidden; background: #3A4046; }
.kde__mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dodavka { position: relative; margin-top: var(--m6); }
.dodavka::before {
  /* silnice – šedý pás pod koly */
  content: ""; position: absolute; left: 0; right: 0; bottom: 1px; height: 2px; background: rgba(255, 255, 255, .2);
}
.dodavka__jizda { width: min(100% - 2 * var(--okraj), 980px); margin-inline: auto; position: relative; }
.dodavka__jizda img { width: 100%; height: auto; filter: drop-shadow(0 24px 22px rgba(0, 0, 0, .45)); }
.dodavka__dalsi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--mezera); margin-top: var(--m5); }
.dodavka__nahled { display: block; width: 100%; padding: 0; border: 0; border-radius: var(--r-prkno); overflow: hidden; aspect-ratio: 4 / 3; background: #3A4046; }
.dodavka__nahled img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--krivka); }
@media (hover: hover) { .dodavka__nahled:hover img { transform: scale(1.04); } }
@media (min-width: 1000px) {
  .kde__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: center; }
  .kde__text { grid-column: 1 / span 5; }
  .kde__mapa { grid-column: 7 / span 6; }
  .dodavka__dalsi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- časté otázky ---------- */
.otazky { padding: var(--sekce) 0; }
.otazky__obal { display: grid; gap: var(--m5); }
.otazky__seznam { border-top: 1px solid var(--spara); }
.otazka { border-bottom: 1px solid var(--spara); }
.otazka summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: var(--m3);
  padding: 1.25rem 0; min-height: 56px;
  font-weight: 700; font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem); line-height: 1.35;
}
.otazka summary::-webkit-details-marker { display: none; }
.otazka__znak { position: relative; width: 28px; height: 28px; flex: none; border-radius: 6px; background: var(--sterka); transition: background-color var(--rychle) ease-out; }
.otazka__znak::before, .otazka__znak::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--grafit); border-radius: 2px;
  transition: transform var(--rychle) ease-out;
}
.otazka__znak::after { transform: rotate(90deg); }
.otazka[open] .otazka__znak { background: var(--limetka); }
.otazka[open] .otazka__znak::after { transform: rotate(0deg); }
.otazka summary:hover .otazka__znak { background: var(--limetka); }
.otazka__odpoved { padding: 0 3rem 1.5rem 0; color: var(--pruh); }
.otazka__odpoved p + p { margin-top: .6rem; }
@media (min-width: 1000px) {
  .otazky__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: start; }
  .otazky__obal .hlava-sekce { grid-column: 1 / span 4; position: sticky; top: calc(var(--hlavicka) + 2rem); }
  .otazky__seznam { grid-column: 6 / span 7; }
}

/* ---------- poptávka a formulář ---------- */
.poptavka { padding: var(--sekce) 0; background: var(--sterka); }
.poptavka__obal { display: grid; gap: var(--m5); }
.poptavka__uvod > p { margin-top: var(--m3); max-width: 30em; color: var(--pruh); }
.kontakt { margin-top: var(--m4); display: grid; gap: .5rem; justify-items: start; }
.kontakt__tel {
  display: inline-flex; align-items: center; gap: .65rem; text-decoration: none;
  font-weight: 800; font-size: clamp(1.75rem, 1.3rem + 2vw, 2.6rem); letter-spacing: -.02em; line-height: 1.1;
  padding: .35rem 0;
}
.kontakt__tel .ikona { width: .8em; height: .8em; color: var(--grafit); background: var(--limetka); border-radius: 8px; padding: .14em; box-sizing: content-box; }
.kontakt__tel:hover { text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--limetka); }
.kontakt__radek { display: inline-flex; align-items: flex-start; gap: .65rem; text-decoration: none; min-height: 44px; padding: .55rem 0; line-height: 1.45; }
a.kontakt__radek:hover { text-decoration: underline; }
.kontakt__radek .ikona { margin-top: .1em; }
.kontakt .doplnit { margin-top: .5rem; }
.formular {
  background: var(--bila); border-radius: var(--r-prkno); padding: clamp(1.25rem, 1rem + 2vw, 2.5rem);
  box-shadow: var(--stin-vzorek);
  display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--m3);
}
.pole { display: grid; gap: .45rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.pole label, .pole legend, .pole__popisek { font-weight: 600; font-size: 1rem; padding: 0; }
.pole legend { margin-bottom: .6rem; }
.povinne { color: var(--limetka-tmava); }
.pole input[type="text"], .pole input[type="tel"], .pole input[type="email"], .pole textarea {
  width: 100%; min-width: 0; min-height: 56px; padding: .85rem 1rem;
  font-size: 1rem; line-height: 1.4;
  background: var(--bila); border: 1.5px solid var(--sterka-tmava); border-radius: var(--r-tlacitko);
  transition: border-color var(--rychle) ease-out, box-shadow var(--rychle) ease-out;
  -webkit-appearance: none; appearance: none;
}
.pole textarea { min-height: 128px; resize: vertical; }
.pole input:hover, .pole textarea:hover { border-color: #A4A7A1; }
.pole input:focus, .pole textarea:focus { outline: none; border-color: var(--grafit); box-shadow: 0 0 0 3px var(--limetka); }
.pole input::placeholder, .pole textarea::placeholder { color: #8A8F94; }
.pole--chyba input, .pole--chyba textarea { border-color: #B3261E; }
.pole__chyba { font-size: var(--maly); font-weight: 600; color: #B3261E; }
.stitky { display: flex; flex-wrap: wrap; gap: .5rem; }
.stitek { display: inline-flex; align-items: center; gap: .4rem; }
.stitek[aria-pressed="true"]::before {
  content: ""; width: 8px; height: 8px; background: var(--limetka); transform: rotate(45deg); flex: none;
}
.pocitadlo { display: inline-flex; align-items: stretch; width: fit-content; border: 1.5px solid var(--sterka-tmava); border-radius: var(--r-tlacitko); overflow: hidden; background: var(--bila); }
.pocitadlo:focus-within { border-color: var(--grafit); box-shadow: 0 0 0 3px var(--limetka); }
.pocitadlo__tlacitko { width: 56px; min-height: 56px; border: 0; background: var(--sterka); display: grid; place-items: center; color: var(--grafit); transition: background-color var(--rychle) ease-out; }
.pocitadlo__tlacitko:hover { background: var(--limetka); }
.pocitadlo__tlacitko .ikona { width: 20px; height: 20px; stroke-width: 2.25; }
.pocitadlo__hodnota { display: flex; align-items: center; gap: .35rem; padding: 0 .9rem; font-weight: 700; }
.pole .pocitadlo__hodnota input {
  width: 3.6ch; min-height: 0; padding: 0; border: 0; text-align: right; font-weight: 700; font-size: 1.125rem; box-shadow: none;
}
.pole .pocitadlo__hodnota input:focus { box-shadow: none; }
.zaskrtnuti { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: start; font-weight: 500 !important; font-size: .95rem !important; line-height: 1.5; cursor: pointer; }
.zaskrtnuti input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.zaskrtnuti__ctverec {
  width: 26px; height: 26px; border-radius: 6px; border: 1.5px solid var(--sterka-tmava); background: var(--bila);
  display: grid; place-items: center; margin-top: -.05em; transition: background-color var(--rychle) ease-out, border-color var(--rychle) ease-out;
}
.zaskrtnuti__ctverec .ikona { width: 18px; height: 18px; stroke-width: 2.5; opacity: 0; transform: scale(.8); transition: opacity var(--rychle) ease-out, transform var(--rychle) ease-out; }
.zaskrtnuti:hover .zaskrtnuti__ctverec { border-color: var(--grafit); }
.zaskrtnuti input:checked + .zaskrtnuti__ctverec { background: var(--limetka); border-color: var(--limetka); }
.zaskrtnuti input:checked + .zaskrtnuti__ctverec .ikona { opacity: 1; transform: none; }
.zaskrtnuti input:focus-visible + .zaskrtnuti__ctverec { outline: 3px solid var(--limetka); outline-offset: 2px; }
.formular__odeslat { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.formular__pozn { font-size: var(--maly); color: var(--pruh); }
.formular__hlaska {
  grid-column: 1 / -1; padding: 1rem 1.25rem; border-radius: var(--r-tlacitko);
  background: var(--limetka-svetla); border-left: 4px solid var(--limetka-tmava); line-height: 1.5;
}
.formular__hlaska a { font-weight: 700; }
.formular__hlaska--chyba { background: #FBE3D6; border-left-color: #7A2E00; }
.formular__past { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; opacity: 0; }
.formular .tlacitko:disabled { opacity: .65; cursor: progress; }
.zaskrtnuti a { font-weight: 600; text-decoration-color: var(--limetka-tmava); }
.paticka__spodek a { color: inherit; }
@media (max-width: 599.98px) { .formular__odeslat .tlacitko { width: 100%; } }
@media (min-width: 700px) {
  .formular { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pole--stitky, .pole--cele { grid-column: 1 / -1; }
}
@media (min-width: 1000px) {
  .poptavka__obal { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--mezera); align-items: start; }
  .poptavka__uvod { grid-column: 1 / span 4; position: sticky; top: calc(var(--hlavicka) + 2rem); }
  .formular { grid-column: 6 / span 7; }
}

/* ---------- patička ---------- */
.paticka { background: var(--grafit); color: rgba(255, 255, 255, .86); }
.paticka__obal { display: grid; gap: var(--m5); padding: var(--m6) 0 var(--m5); }
.paticka .znacka__text { color: var(--bila); font-size: 1.05rem; margin-top: .9rem; }
.paticka .znacka__kostka { width: 34px; height: 40px; }
.paticka .kostka__pravo { fill: #8A8F94; }
.paticka__veta { margin-top: var(--m3); max-width: 22em; font-size: 1rem; }
.paticka__nadpis { font-size: 1rem; font-weight: 700; color: var(--limetka); margin-bottom: .6rem; letter-spacing: 0; }
.paticka__sloupec { display: flex; flex-direction: column; align-items: flex-start; }
.paticka__sloupec a { text-decoration: none; min-height: 40px; display: inline-flex; align-items: center; color: var(--bila); }
.paticka__sloupec a:hover { text-decoration: underline; }
.paticka__udaje p { font-size: .95rem; line-height: 1.6; }
.paticka__spodek { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: var(--m3) 0 var(--m4); border-top: 1px solid var(--spara-svetla); font-size: var(--maly); color: rgba(255, 255, 255, .7); }
@media (min-width: 700px) { .paticka__obal { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .paticka__obal { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; } }

/* ---------- lišta na mobilu ---------- */
.lista-mobil {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 8px;
  padding: 8px var(--okraj) calc(8px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, .97); border-top: 1px solid var(--spara);
}
.lista-mobil .tlacitko { min-height: 54px; width: 100%; padding: 0 12px; }
@media (min-width: 1000px) { .lista-mobil { display: none; } }

/* ---------- prohlížeč fotek ---------- */
.prohlizec {
  width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0;
  background: #111416; color: var(--bila);
}
.prohlizec::backdrop { background: rgba(17, 20, 22, .6); }
.prohlizec[open] { display: block; }
.prohlizec__obal { position: relative; width: 100%; height: 100%; display: grid; place-items: center; padding: 64px 12px 76px; }
.prohlizec__figura { display: flex; flex-direction: column; align-items: center; max-width: 100%; max-height: 100%; }
.prohlizec__foto { max-width: min(100%, 1600px); max-height: calc(100dvh - 180px); width: auto; height: auto; object-fit: contain; border-radius: 3px; touch-action: pan-y; }
.prohlizec__popisek { color: rgba(255, 255, 255, .85); text-align: center; max-width: 46em; margin-top: .9rem; }
.prohlizec__tlacitko {
  position: absolute; width: 52px; height: 52px; border-radius: 50%; border: 0;
  background: rgba(255, 255, 255, .12); color: var(--bila); display: grid; place-items: center;
  transition: background-color var(--rychle) ease-out, color var(--rychle) ease-out;
}
.prohlizec__tlacitko:hover { background: var(--limetka); color: var(--grafit); }
.prohlizec__tlacitko .ikona { width: 26px; height: 26px; stroke-width: 2; }
.prohlizec__tlacitko--zpet { left: 12px; top: 50%; transform: translateY(-50%); }
.prohlizec__tlacitko--dal { right: 12px; top: 50%; transform: translateY(-50%); }
.prohlizec__tlacitko--zavrit { right: 12px; top: 10px; }
.prohlizec__pocet { position: absolute; left: 16px; top: 22px; font-size: var(--maly); color: rgba(255, 255, 255, .75); }
@media (max-width: 699.98px) {
  .prohlizec__tlacitko--zpet, .prohlizec__tlacitko--dal { top: auto; bottom: 12px; transform: none; }
  .prohlizec__tlacitko--zpet { left: calc(50% - 64px); }
  .prohlizec__tlacitko--dal { right: calc(50% - 64px); }
}

/* ---------- textová stránka (zásady zpracování osobních údajů) ---------- */
body.stranka-text { --lista: 0px; }
.stranka-text__zpet { min-height: 44px; padding-block: .5rem; }
.text-clanek { max-width: 46rem; padding: var(--m6) 0 var(--sekce); }
.text-clanek h1 { font-size: clamp(2rem, 1.5rem + 2.2vw, 3.25rem); line-height: 1.08; letter-spacing: -.025em; }
.text-clanek h2 { font-size: var(--h3); line-height: 1.25; letter-spacing: -.01em; margin-top: var(--m5); }
.text-clanek p, .text-clanek ul { margin-top: var(--m2); }
.text-clanek ul { display: grid; gap: .6rem; }
.text-clanek li { position: relative; padding-left: 1.4rem; }
.text-clanek li::before { content: ""; position: absolute; left: 0; top: .62em; width: .55rem; height: .55rem; background: var(--limetka); transform: rotate(45deg); }
.text-clanek a:not(.tlacitko) { font-weight: 600; text-decoration-color: var(--limetka-tmava); }
.text-clanek__datum { color: var(--pruh); font-size: var(--maly); }
.text-clanek__akce { display: flex; flex-wrap: wrap; gap: var(--m2); margin-top: var(--m5); }
.paticka--kratka .paticka__spodek { border-top: 0; }
.paticka--kratka a { color: inherit; }

/* ---------- omezený pohyb ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-delay: 0ms !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
  .uvod-a .pruh, .uvod-a__jizda, .uvod-a__jizda img { animation: none !important; }
}
