@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url(pismo/work-sans-400.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;src:url(pismo/work-sans-700.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(pismo/source-sans-3-400.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url(pismo/source-sans-3-700.woff2) format('woff2')}

:root {
  --podklad: #F3EFE8;
  --podklad-2: #E8E0D2;
  --karta: #FFFFFF;
  --text: #1F2A33;
  --text-tlumeny: #4E5964;
  --akcent: #9F5523;
  --med: #B5652B;
  --mosaz: #C9A44C;
  --na-akcentu: #FFFFFF;
  --tmavy: #1F2A33;
  --inkoust: #1F2A33;
  --na-tmavem: #F3EFE8;
  --linka: #1F2A33;
  --fokus: #B5652B;
  --pismo-nadpis: 'Work Sans', 'Arial Narrow', system-ui, sans-serif;
  --pismo: 'Source Sans 3', system-ui, sans-serif;
  --kontejner: 1200px;
  --okraj: 24px;
  --vyska-hlavicky: 72px;
  --x: calc(50% + min(var(--kontejner) / 2, 50% - var(--okraj)) - 48px);
}
@media (max-width: 899px) { :root { --okraj: 16px; --vyska-hlavicky: 64px; } }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--vyska-hlavicky) + 16px); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; padding-top: var(--vyska-hlavicky); background: var(--podklad); color: var(--text);
  font: 400 18px/1.6 var(--pismo); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--akcent); text-underline-offset: 3px; text-decoration-thickness: 2px; }
a:hover { color: var(--text); }
:focus-visible { outline: 3px solid var(--fokus); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--pismo-nadpis); font-weight: 700; line-height: 1.15; margin: 0; letter-spacing: -.01em; }
h2 { font-size: clamp(26px, 1.4rem + .6vw, 34px); }
h3 { font-size: 21px; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
.kontejner { width: min(100% - 2 * var(--okraj), var(--kontejner)); margin-inline: auto; }
.kontejner--uzky { width: min(100% - 2 * var(--okraj), 820px); }
.preskocit { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--tmavy); color: #fff; padding: 10px 14px; }
.preskocit:focus { top: 8px; }

.ik { width: 22px; height: 22px; flex: none; }
.ik--velka { width: 34px; height: 34px; color: var(--med); }

/* Tlačítka: rovné hrany, plná plocha */
.tl { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px;
  padding: 10px 22px; border: 2px solid transparent; border-radius: 3px; font: 700 17px/1.2 var(--pismo-nadpis);
  text-decoration: none; white-space: nowrap; transition: background-color .2s, color .2s, transform .2s; }
.tl--hlavni { background: var(--akcent); color: var(--na-akcentu); border-color: var(--akcent); }
.tl--hlavni:hover { background: var(--tmavy); border-color: var(--tmavy); color: #fff; }
.tl--druhe { background: rgb(243 239 232 / .08); color: #fff; border-color: #fff; }
.tl--druhe:hover { background: #fff; color: var(--tmavy); }
.tl--velke { min-height: 56px; padding: 12px 28px; font-size: 19px; }

.nadpisek { font: 700 14px/1.3 var(--pismo-nadpis); text-transform: uppercase; letter-spacing: .12em; color: var(--akcent);
  display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.nadpisek::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.nadpisek--svetly { color: var(--mosaz); }

.odkaz-dal { font: 700 17px/1.3 var(--pismo-nadpis); color: var(--akcent); text-decoration: underline; text-decoration-color: var(--mosaz);
  display: inline-flex; align-items: center; min-height: 44px; gap: 8px; }
.odkaz-dal::after { content: "→"; transition: transform .2s; }
.odkaz-dal:hover { color: var(--text); text-decoration-color: var(--text); }
.odkaz-dal:hover::after { transform: translateX(3px); }

/* Kovová plaketa ceny: mosaz, malé zaoblení, dva nýtky */
.plaketa { display: inline-block; padding: 5px 20px; border-radius: 3px; color: var(--tmavy);
  font: 700 15px/1.3 var(--pismo-nadpis); white-space: nowrap;
  background:
    radial-gradient(circle at 8px 50%, rgb(31 42 51 / .45) 0 2px, transparent 2.5px),
    radial-gradient(circle at calc(100% - 8px) 50%, rgb(31 42 51 / .45) 0 2px, transparent 2.5px),
    linear-gradient(180deg, #E6CD8A 0%, #C9A44C 55%, #B8923C 100%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .55), inset 0 -1px 0 rgb(0 0 0 / .18); }
.plaketa--velka { font-size: 19px; padding: 8px 26px; }

/* Hlavička a panel menu */
.hlavicka { position: fixed; inset: 0 0 auto; z-index: 50; background: var(--podklad); border-bottom: 2px solid var(--linka); }
.hlavicka__radek { display: flex; align-items: center; gap: 16px; height: calc(var(--vyska-hlavicky) - 2px); }
.znacka { display: inline-flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none;
  font: 400 20px/1.1 var(--pismo-nadpis); margin-right: auto; min-height: 44px; transition: color .2s; }
.znacka b { font-weight: 700; }
.znacka__ik { width: 32px; height: 32px; color: var(--med); }
.hlavicka__logo, .prepinac { position: relative; z-index: 2; }
.hlavicka__vyzva { min-height: 44px; padding: 8px 18px; font-size: 16px; }
.prepinac { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 96px; min-height: 44px;
  border: 2px solid var(--linka); background: transparent; color: var(--text); border-radius: 3px;
  font: 700 16px/1 var(--pismo-nadpis); cursor: pointer; text-decoration: none; transition: color .2s, border-color .2s; }
.prepinac__linky { display: grid; gap: 5px; width: 18px; }
.prepinac__linky i { display: block; height: 2px; background: currentColor; transition: transform .25s; }
[aria-expanded="true"] .prepinac__linky i:first-child { transform: translateY(3.5px) rotate(45deg); }
[aria-expanded="true"] .prepinac__linky i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.prepinac__text--zavrit, [aria-expanded="true"] .prepinac__text--menu { display: none; }
[aria-expanded="true"] .prepinac__text--zavrit { display: inline; }
html[data-menu-otevreno] .znacka, html[data-menu-otevreno] .prepinac { color: var(--na-tmavem); border-color: var(--na-tmavem); }
html[data-menu-otevreno] .znacka__ik { color: var(--mosaz); }

.panel { position: fixed; inset: 0; z-index: 1; overflow-y: auto; padding: calc(var(--vyska-hlavicky) + 32px) 0 48px;
  background: var(--inkoust); color: var(--na-tmavem); }
.menu-wr .panel { display: none; }
.menu-wr .panel[data-otevreno] { display: block; }
html:not(.menu-wr) .panel:not(:target) { display: none; }
.menu-wr .prepinac--bezjs, html:not(.menu-wr) [data-menu-prepinac] { display: none; }
.prepinac--zavrit { position: absolute; top: 14px; right: var(--okraj); color: var(--na-tmavem); border-color: var(--na-tmavem); }
.panel__mrizka { display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: start; }
.panel__seznam { list-style: none; display: grid; gap: 4px; }
.panel__seznam > li { display: grid; grid-template-columns: 44px 1fr; align-items: baseline; padding: 10px 0; border-bottom: 2px solid rgb(243 239 232 / .14); }
.panel__seznam > li > span { font: 700 15px/1 var(--pismo-nadpis); color: var(--mosaz); }
.panel__seznam > li > a { font: 700 clamp(24px, 1rem + 1.2vw, 32px)/1.2 var(--pismo-nadpis); color: var(--na-tmavem); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; justify-self: start; }
.panel__seznam > li > a:hover { color: var(--mosaz); }
.panel__pod { grid-column: 2; list-style: none; display: flex; flex-wrap: wrap; gap: 0 20px; }
.panel__pod a { color: #D8D1C5; font-size: 16px; display: inline-flex; min-height: 44px; align-items: center; text-decoration: none; }
.panel__pod a:hover { color: #fff; text-decoration: underline; }
.panel__bok { display: grid; gap: 18px; position: sticky; top: 0; }
.panel__bok img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; border: 2px solid var(--med); }
.panel__bok p { font-size: 19px; }
.panel__bok .tl { justify-self: start; }
@media (prefers-reduced-motion: no-preference) {
  .menu-wr .panel { clip-path: circle(0 at var(--x) 36px); transition: clip-path .3s, display .3s allow-discrete; }
  .menu-wr .panel[data-otevreno] { clip-path: circle(150vmax at var(--x) 36px); transition: clip-path .45s, display .45s allow-discrete; }
  @starting-style { .menu-wr .panel[data-otevreno] { clip-path: circle(0 at var(--x) 36px); } }
  .panel[data-otevreno] .naskok { animation: naskok .4s both; animation-delay: calc(var(--i) * 45ms + 120ms); }
  @keyframes naskok { from { opacity: 0; transform: translateY(10px); } }
}
@media (max-width: 899px) {
  .panel__mrizka { grid-template-columns: 1fr; gap: 32px; }
  .panel__bok img { display: none; }
}
@media (max-width: 559px) { .hlavicka__vyzva { display: none; } .znacka { font-size: 18px; } .znacka__ik { width: 28px; height: 28px; } }

/* Úvod U9 */
.u9 { position: relative; display: grid; align-items: center; justify-items: center; text-align: center;
  min-height: min(760px, 100svh - var(--vyska-hlavicky) - 120px); color: #fff; isolation: isolate;
  padding: 72px max(16px, (100vw - var(--kontejner)) / 2); background: #14181c; }
.u9__foto { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.u9::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(ellipse 60% 70% at 50% 52%, rgb(16 20 24 / .72), rgb(16 20 24 / .5) 70%, rgb(16 20 24 / .35)); }
.u9__text { max-width: 680px; display: grid; justify-items: center; gap: 0; }
.u9 .nadpisek { justify-content: center; }
.u9 .nadpisek::after { content: ""; width: 28px; height: 2px; background: currentColor; }
.u9 h1 { font-size: clamp(30px, 1.2rem + 2.2vw, 48px); line-height: 1.1; text-wrap: balance; }
.u9__perex { margin-top: 18px; font-size: 20px; color: #F1ECE3; max-width: 34em; }
.u9__akce { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
@media (max-width: 899px) {
  .u9 { min-height: min(600px, calc(100svh - var(--vyska-hlavicky))); padding: 36px 16px; align-items: end; }
  .u9::before { background: linear-gradient(to top, rgb(16 20 24 / .82), rgb(16 20 24 / .6) 60%, rgb(16 20 24 / .45)); }
  .u9__perex { font-size: 18px; }
  .u9__akce .tl { width: 100%; }
}

/* Pás údajů */
.udaje { background: var(--tmavy); color: var(--na-tmavem); border-top: 4px solid var(--med); }
.udaje__rada { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); }
.udaje__rada li { display: grid; gap: 4px; align-content: start; padding: 26px 24px; border-left: 2px solid rgb(243 239 232 / .16); }
.udaje__rada li:first-child { border-left: 0; padding-left: 0; }
.udaje strong { font: 700 clamp(32px, 1.2rem + 1.4vw, 42px)/1.05 var(--pismo-nadpis); color: var(--mosaz); }
.udaje span { font-size: 16px; color: #D8D1C5; }
@media (max-width: 899px) {
  .udaje__rada { grid-template-columns: repeat(2, 1fr); }
  .udaje__rada li { padding: 18px 12px; border-left: 0; border-top: 2px solid rgb(243 239 232 / .16); }
  .udaje__rada li:nth-child(-n+2) { border-top: 0; }
  .udaje__rada li:nth-child(odd) { padding-left: 0; }
}

/* Páteř: fotka v čele oddílu */
.celo { padding-bottom: clamp(56px, 6vw, 96px); }
.celo__fotka { margin: 0 0 clamp(28px, 3vw, 44px); border-bottom: 4px solid var(--med); }
.celo__fotka img { width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; display: block; }
@media (max-width: 899px) { .celo__fotka img { aspect-ratio: 16 / 9; } }
.oddil { padding-block: clamp(56px, 6vw, 96px); }
.oddil--papir { background: var(--podklad-2); }
.hlava { max-width: 760px; margin-bottom: 36px; }
.hlava__perex { margin-top: 14px; font-size: 20px; color: var(--text-tlumeny); }
.hlava--radek { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; }

/* První pomoc */
.porucha-mrizka { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.porucha { background: var(--karta); border: 2px solid var(--linka); border-radius: 3px; padding: 28px; display: grid; gap: 18px; align-content: start;
  transition: transform .2s, box-shadow .2s; }
.porucha:hover { transform: translateY(-3px); box-shadow: 6px 6px 0 var(--med); }
.porucha__hlava { display: flex; align-items: center; gap: 14px; padding-bottom: 14px; border-bottom: 2px solid var(--podklad-2); }
.porucha__hlava h3 { font-size: 24px; }
.kroky { list-style: none; counter-reset: krok; display: grid; gap: 12px; }
.kroky li { counter-increment: krok; display: grid; grid-template-columns: 32px 1fr; gap: 12px; }
.kroky li::before { content: counter(krok); display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid var(--linka);
  font: 700 15px/1 var(--pismo-nadpis); border-radius: 3px; }
.porucha__dojezd { margin-top: auto; padding: 14px 16px; background: var(--podklad); border-left: 4px solid var(--med); font-size: 17px; }
.porucha__dojezd .plaketa { margin: 0 8px 6px 0; }
@media (max-width: 899px) { .porucha-mrizka { grid-template-columns: 1fr; } .porucha { padding: 22px 18px; } }

/* Kalkulačka: volby a jedna cenová karta */
.kalk { display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px; align-items: start; }
.volba { border: 0; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.volba legend { font: 700 15px/1 var(--pismo-nadpis); text-transform: uppercase; letter-spacing: .12em; margin-bottom: 12px; padding: 0; }
.volba label { position: relative; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 14px;
  background: var(--karta); border: 2px solid var(--linka); border-radius: 3px; cursor: pointer; transition: background-color .15s, color .15s; }
.volba label span { font: 700 17px/1.25 var(--pismo-nadpis); }
.volba small { display: block; font: 400 16px/1.3 var(--pismo); color: var(--text-tlumeny); }
.volba input { appearance: none; flex: none; width: 22px; height: 22px; margin: 0; border: 2px solid var(--linka); border-radius: 50%; background: #fff; display: grid; place-items: center; }
.volba input::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--med); transform: scale(0); transition: transform .15s; }
.volba input:checked::after { transform: scale(1); }
.volba label:has(input:checked) { background: var(--tmavy); color: #fff; }
.volba label:has(input:checked) small { color: #D8D1C5; }
.volba label:has(input:focus-visible) { outline: 3px solid var(--fokus); outline-offset: 3px; }
.volba input:focus-visible { outline: none; }
.karta-cena { background: var(--karta); border: 2px solid var(--linka); border-top: 8px solid var(--med); border-radius: 3px; padding: 32px; display: grid; gap: 14px;
  position: sticky; top: calc(var(--vyska-hlavicky) + 24px); }
.karta-cena__stitek { font: 700 15px/1 var(--pismo-nadpis); text-transform: uppercase; letter-spacing: .12em; color: var(--text-tlumeny); }
.karta-cena__castka { font: 700 clamp(36px, 1.4rem + 1.8vw, 48px)/1.05 var(--pismo-nadpis); color: var(--akcent); }
.karta-cena__pozn { color: var(--text-tlumeny); font-size: 17px; padding-bottom: 14px; border-bottom: 2px solid var(--podklad-2); }
.karta-cena__seznam { list-style: none; display: grid; gap: 8px; }
.karta-cena__seznam li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; }
.karta-cena__seznam li::before { content: ""; width: 12px; height: 12px; margin-top: 7px; background: var(--mosaz); border: 2px solid var(--linka); }
.karta-cena .tl { margin-top: 8px; }
.cena { display: none; }
.kalk:not(:has(input:checked)) .cena[data-v="havarie-den"] { display: inline; }
.kalk:has(#p-havarie:checked):has(#c-den:checked) [data-v="havarie-den"],
.kalk:has(#p-havarie:checked):has(#c-vecer:checked) [data-v="havarie-vecer"],
.kalk:has(#p-oprava:checked):has(#c-den:checked) [data-v="oprava-den"],
.kalk:has(#p-oprava:checked):has(#c-vecer:checked) [data-v="oprava-vecer"],
.kalk:has(#p-odpad:checked):has(#c-den:checked) [data-v="odpad-den"],
.kalk:has(#p-odpad:checked):has(#c-vecer:checked) [data-v="odpad-vecer"],
.kalk:has(#p-kotel:checked):has(#c-den:checked) [data-v="kotel-den"],
.kalk:has(#p-kotel:checked):has(#c-vecer:checked) [data-v="kotel-vecer"],
.kalk:has(#p-koupelna:checked):has(#c-den:checked) [data-v="koupelna-den"],
.kalk:has(#p-koupelna:checked):has(#c-vecer:checked) [data-v="koupelna-vecer"],
.kalk:has(#p-revize:checked):has(#c-den:checked) [data-v="revize-den"],
.kalk:has(#p-revize:checked):has(#c-vecer:checked) [data-v="revize-vecer"] { display: inline; }
@media (max-width: 899px) {
  .kalk { grid-template-columns: 1fr; gap: 32px; }
  .karta-cena { position: static; padding: 24px 18px; }
}
@media (max-width: 559px) { .volba { grid-template-columns: 1fr; } }

/* Postup: vodorovná osa */
.osa { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; position: relative; }
.osa li { position: relative; display: grid; gap: 10px; align-content: start; }
.osa__cislo { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; background: var(--tmavy); color: var(--mosaz);
  font: 700 26px/1 var(--pismo-nadpis); border-radius: 3px; margin-bottom: 8px; }
.osa li:not(:last-child)::after { content: ""; position: absolute; top: 27px; left: 56px; right: -28px; height: 2px; background: var(--linka); }
.osa li:not(:last-child)::before { content: ""; position: absolute; top: 22px; right: -28px; width: 12px; height: 12px; border-top: 2px solid var(--linka); border-right: 2px solid var(--linka); transform: rotate(45deg) translate(-2px, 2px); }
.osa p { color: var(--text-tlumeny); }
.osa__sam { margin-top: 40px; display: inline-flex; align-items: center; gap: 14px; padding: 16px 22px; background: var(--karta); border: 2px solid var(--linka); border-radius: 3px;
  font: 700 19px/1.35 var(--pismo-nadpis); }
.osa__sam .ik { width: 30px; height: 30px; color: var(--med); }
@media (max-width: 899px) {
  .osa { grid-template-columns: 1fr; gap: 0; }
  .osa li { grid-template-columns: 56px 1fr; column-gap: 18px; padding-bottom: 28px; }
  .osa__cislo { grid-row: span 2; margin: 0; }
  .osa li:not(:last-child)::after { top: 56px; bottom: 0; left: 27px; right: auto; width: 2px; height: auto; }
  .osa li:not(:last-child)::before { display: none; }
  .osa__sam { margin-top: 12px; display: flex; }
}

/* Služby: jedna hlavní a seznam */
.hlavni-sluzba { display: grid; grid-template-columns: 7fr 5fr; background: var(--tmavy); color: var(--na-tmavem); border-radius: 3px; overflow: hidden; }
.hlavni-sluzba img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; object-position: 47% 50%; }
.hlavni-sluzba__text { padding: 40px; display: grid; gap: 16px; align-content: center; }
.hlavni-sluzba__text h3 { font-size: clamp(26px, 1.2rem + 1vw, 34px); }
.hlavni-sluzba__text p { color: #E2DBCF; }
.hlavni-sluzba__stitek { display: flex; align-items: center; gap: 10px; font: 700 15px/1.2 var(--pismo-nadpis); text-transform: uppercase; letter-spacing: .1em; color: var(--mosaz) !important; }
.hlavni-sluzba__akce { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; margin-top: 6px; }
.hlavni-sluzba .odkaz-dal { color: #fff; }
.sluzby-seznam { list-style: none; margin-top: 28px; border-top: 2px solid var(--linka); }
.sluzby-seznam li { display: grid; grid-template-columns: 40px 1fr auto; gap: 22px; align-items: start; padding: 22px 0; border-bottom: 2px solid var(--linka); }
.sluzby-seznam h3 { font-size: 21px; margin-bottom: 4px; }
.sluzby-seznam h3 a { color: var(--text); text-decoration: none; }
.sluzby-seznam h3 a:hover { color: var(--akcent); text-decoration: underline; text-decoration-color: var(--mosaz); }
.sluzby-seznam p { color: var(--text-tlumeny); max-width: 62ch; }
.sluzby-seznam .plaketa { margin-top: 2px; }
.vse-odkaz { margin-top: 18px; }
@media (max-width: 899px) {
  .hlavni-sluzba { grid-template-columns: 1fr; }
  .hlavni-sluzba img { min-height: 0; aspect-ratio: 4 / 3; height: auto; }
  .hlavni-sluzba__text { padding: 24px 18px; }
  .sluzby-seznam li { grid-template-columns: 34px 1fr; gap: 14px; }
  .sluzby-seznam .plaketa { grid-column: 2; justify-self: start; }
}

/* Pruh havárie */
.pruh { background-color: var(--tmavy); color: var(--na-tmavem);
  background-image: repeating-linear-gradient(135deg, rgb(181 101 43 / .12) 0 2px, transparent 2px 22px);
  border-block: 6px solid var(--med); padding-block: 40px; }
.pruh__radek { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; }
.pruh__ik { width: 56px; height: 56px; color: var(--med); }
.pruh h2 { font-size: clamp(26px, 1.4rem + .6vw, 34px); }
.pruh p { margin-top: 6px; font-size: 19px; color: #D8D1C5; }
.pruh__tel { font: 700 clamp(30px, 1.2rem + 2vw, 46px)/1 var(--pismo-nadpis); color: var(--tmavy); text-decoration: none; white-space: nowrap;
  padding: 16px 28px; border-radius: 3px; min-height: 44px;
  background: linear-gradient(180deg, #E6CD8A 0%, #C9A44C 55%, #B8923C 100%); box-shadow: inset 0 1px 0 rgb(255 255 255 / .55), inset 0 -2px 0 rgb(0 0 0 / .2); transition: transform .2s; }
.pruh__tel:hover { color: var(--tmavy); transform: translateY(-2px); }
@media (max-width: 899px) {
  .pruh__radek { grid-template-columns: 1fr; gap: 18px; }
  .pruh__ik { width: 40px; height: 40px; }
  .pruh__tel { justify-self: start; padding: 14px 20px; }
}

/* Zakázky: pás pro tah prstem */
.pas { list-style: none; display: grid; grid-auto-flow: column; grid-auto-columns: max(260px, calc((min(100vw - 2 * var(--okraj), var(--kontejner)) - 48px) / 3.25));
  gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
  padding: 0 max(var(--okraj), (100% - var(--kontejner)) / 2) 18px; scroll-padding-inline: max(var(--okraj), (100% - var(--kontejner)) / 2);
  scrollbar-color: var(--med) var(--podklad-2); }
.pas__polozka { scroll-snap-align: start; background: var(--karta); border: 2px solid var(--linka); border-radius: 3px; overflow: hidden; display: grid; align-content: start; }
.pas__polozka img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .35s; }
.pas__polozka:hover img { transform: scale(1.03); }
.pas__polozka h3 { padding: 18px 20px 4px; border-top: 4px solid var(--med); position: relative; z-index: 1; background: var(--karta); }
.pas__misto { padding: 0 20px 20px; color: var(--text-tlumeny); background: var(--karta); position: relative; z-index: 1; }
.pas__polozka--pozn { background: var(--tmavy); color: var(--na-tmavem); padding: 28px; gap: 16px; align-content: center; border-color: var(--tmavy); }
.pas__polozka--pozn p { font-size: 20px; }
.pas__polozka--pozn .odkaz-dal { color: var(--mosaz); }
.pas__polozka--pozn .ik { color: var(--mosaz); }

/* Otázky */
.otazky { border-top: 2px solid var(--linka); }
.otazky details { border-bottom: 2px solid var(--linka); }
.otazky summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 18px; align-items: center; min-height: 64px; padding: 14px 0;
  font: 700 20px/1.3 var(--pismo-nadpis); }
.otazky summary::-webkit-details-marker { display: none; }
.otazky summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--linka); border-radius: 3px; font-size: 22px; transition: transform .2s, background-color .2s; }
.otazky details[open] summary::after { content: "−"; background: var(--tmavy); color: var(--mosaz); }
.otazky summary:hover { color: var(--akcent); }
.otazky details p { padding: 0 52px 20px 0; color: var(--text-tlumeny); }
.otazky__dal { margin-top: 24px; font-size: 19px; display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: center; }
.otazky__dal a[href^="tel"] { white-space: nowrap; font-weight: 700; }

/* Kontakt s mapou */
.kontakt { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: center; }
.kontakt__tel { display: inline-flex; align-items: center; gap: 14px; margin-top: 18px; font: 700 clamp(30px, 1.2rem + 1.6vw, 42px)/1.1 var(--pismo-nadpis);
  color: var(--text); text-decoration: none; white-space: nowrap; min-height: 44px; }
.kontakt__tel .ik { width: 34px; height: 34px; color: var(--med); }
.kontakt__tel:hover { color: var(--akcent); }
.kontakt__dl { margin: 24px 0 0; display: grid; gap: 0; border-top: 2px solid var(--linka); }
.kontakt__dl div { padding: 14px 0; border-bottom: 2px solid var(--linka); }
.kontakt__dl dt { font: 700 14px/1.3 var(--pismo-nadpis); text-transform: uppercase; letter-spacing: .12em; color: var(--akcent); }
.kontakt__dl dd { margin: 4px 0 0; }
.kontakt__dl a { white-space: nowrap; }
.kontakt__mapa { margin: 0; }
.kontakt__mapa img { width: 100%; border: 2px solid var(--linka); border-radius: 3px; }
.kontakt__mapa figcaption { margin-top: 8px; font-size: 16px; color: var(--text-tlumeny); }
@media (max-width: 899px) { .kontakt { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 400px) { .kontakt__dl a { white-space: normal; } .kontakt__dl dd { font-size: 17px; } }

/* Patička s velkou výzvou */
.paticka { background: var(--tmavy); color: #D8D1C5; }
.vyzva { background: var(--akcent); color: #fff; padding-block: clamp(44px, 5vw, 72px);
  background-image: repeating-linear-gradient(135deg, rgb(255 255 255 / .06) 0 2px, transparent 2px 22px); }
.vyzva__radek { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.vyzva h2 { font-size: clamp(28px, 1.2rem + 1.6vw, 44px); max-width: 20ch; color: #fff; }
.vyzva .tl--hlavni { background: var(--tmavy); border-color: var(--tmavy); }
.vyzva .tl--hlavni:hover { background: #fff; color: var(--tmavy); border-color: #fff; }
.paticka__mapa { display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px; padding-block: 56px 40px; }
.paticka__sloupec h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .12em; color: var(--mosaz); margin-bottom: 12px; }
.paticka__sloupec ul { list-style: none; display: grid; }
.paticka__sloupec a { color: #F3EFE8; text-decoration: none; display: inline-flex; min-height: 36px; align-items: center; font-size: 16px; }
.paticka__sloupec a:hover { color: var(--mosaz); text-decoration: underline; }
.paticka__kontakt p { font-size: 16px; margin-bottom: 10px; }
.paticka__kontakt a { white-space: nowrap; }
.paticka__spodek { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 20px 28px; border-top: 2px solid rgb(243 239 232 / .14); font-size: 16px; }
.paticka__spodek a { color: #F3EFE8; }
@media (max-width: 999px) { .paticka__mapa { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 559px) { .paticka__mapa { grid-template-columns: 1fr; gap: 24px; } .paticka__sloupec a { min-height: 44px; } .vyzva .tl { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
