/* BKM Kominictví — nový jednostránkový web (říjen 2026)
   Barvy značky: tmavě modrá, oranžová, černá, bílá. */
:root{
  --modra:#1E3D59;
  --modra-t:#16304A;
  --oranz:#EBA02E;
  --oranz-t:#CC7E08;
  --cerna:#171717;
  --text:#2B3138;
  --sedy:#5A636E;
  --linka:#E3E6EA;
  --papir:#F5F6F8;
  --bila:#fff;
  --r:16px;
  --stin:0 1px 2px rgba(23,23,23,.05),0 8px 24px rgba(30,61,89,.08);
  --hl:72px;
  --pismo:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --nadpis:Montserrat,Inter,system-ui,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hl) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--pismo);font-size:17px;line-height:1.6;color:var(--text);background:var(--bila);overflow-x:hidden}
img,svg{max-width:100%}
img{display:block;height:auto}
h1,h2,h3{font-family:var(--nadpis);color:var(--cerna);margin:0;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700}
h3{font-size:1.25rem;font-weight:700;line-height:1.25}
p{margin:0 0 1em}
a{color:var(--modra);text-underline-offset:3px}
a:hover{color:var(--modra-t)}
ul,ol{margin:0;padding:0;list-style:none}
address{font-style:normal}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--modra);outline-offset:3px;border-radius:6px}
.zakon :focus-visible,.paticka :focus-visible,.pas :focus-visible,.lista :focus-visible{outline-color:var(--oranz)}

.obal{width:100%;max-width:1200px;margin:0 auto;padding-inline:20px}
.obal-uzky{max-width:920px}
.sekce{padding-block:clamp(56px,8vw,104px)}
.sekce-seda{background:var(--papir)}
.hlava{margin-bottom:clamp(28px,4vw,48px);max-width:720px}
.hlava.na-stred{margin-inline:auto}
.na-stred{text-align:center}
.nadtitul{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--modra)}
.nadtitul::before{content:"";width:28px;height:3px;border-radius:2px;background:var(--oranz);flex:none}
.na-stred .nadtitul{justify-content:center}
.uvodni{margin:14px 0 0;font-size:1.12rem;color:var(--sedy)}

.preskocit{position:absolute;left:12px;top:-60px;z-index:200;background:var(--modra);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none}
.preskocit:focus{top:12px;color:#fff}

/* ---------- tlačítka ---------- */
.tl{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:12px;border:2px solid var(--modra);background:var(--modra);color:#fff;font:600 1rem/1.2 var(--pismo);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.tl:hover{background:var(--modra-t);border-color:var(--modra-t);color:#fff}
.tl:active{transform:translateY(1px)}
.tl svg{width:20px;height:20px;flex:none}
.tl-obrys{background:transparent;color:var(--modra)}
.tl-obrys:hover{background:var(--modra);color:#fff}
.tl-oranz{background:var(--oranz);border-color:var(--oranz);color:var(--cerna)}
.tl-oranz:hover{background:#F2B24D;border-color:#F2B24D;color:var(--cerna)}
.tl-maly{min-height:44px;padding:10px 18px;border-radius:10px}
.tl-siroky{width:100%}
.tlacitka{display:flex;flex-wrap:wrap;gap:12px}
.na-stred-flex{justify-content:center}
.odkaz{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--modra);text-decoration:none;padding-block:6px}
.odkaz svg{width:18px;height:18px;color:var(--oranz-t);transition:transform .15s}
.odkaz:hover svg{transform:translateX(4px)}
.odkaz:hover{text-decoration:underline}

/* ---------- hlavička ---------- */
.hlavicka{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linka)}
.hlavicka-in{display:flex;align-items:center;gap:20px;height:var(--hl)}
.logo{display:block;flex:none;margin-right:auto;border-radius:6px}
.logo img{height:46px;width:auto}
.menu{display:flex;align-items:center;gap:4px}
.menu a{padding:10px 12px;border-radius:8px;font-size:.97rem;font-weight:500;color:var(--cerna);text-decoration:none;white-space:nowrap}
.menu a:hover{background:var(--papir);color:var(--modra)}
.menu .menu-mail{display:none}
.hl-tel{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:1.05rem;color:var(--modra);text-decoration:none;white-space:nowrap;padding:8px 6px;border-radius:8px}
.hl-tel svg{width:20px;height:20px;color:var(--oranz-t)}
.hl-tel:hover span{text-decoration:underline}
.hamburger{display:none;flex:none;width:48px;height:48px;padding:0;border:0;border-radius:10px;background:var(--papir);cursor:pointer;position:relative}
.hamburger span{position:absolute;left:13px;right:13px;height:2.5px;border-radius:2px;background:var(--cerna);transition:transform .2s,opacity .2s}
.hamburger span:nth-child(1){top:16px}
.hamburger span:nth-child(2){top:23px}
.hamburger span:nth-child(3){top:30px}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1099px){
  :root{--hl:64px}
  .hlavicka-in{gap:10px}
  .logo img{height:40px}
  .hamburger{display:block}
  .hl-objednat{display:none}
  .hl-tel{background:var(--modra);color:#fff;padding:11px 14px;border-radius:10px;font-size:1rem;min-height:46px}
  .hl-tel svg{color:var(--oranz);width:18px;height:18px}
  .hl-tel:hover{color:#fff}
  .menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;background:#fff;border-bottom:1px solid var(--linka);box-shadow:0 18px 30px rgba(23,23,23,.12);max-height:calc(100vh - var(--hl));overflow:auto}
  .js .menu{display:none}
  .js .menu.otevrene{display:flex}
  .menu a{padding:15px 4px;font-size:1.1rem;border-bottom:1px solid var(--linka);border-radius:0}
  .menu .menu-mail{display:block;border-bottom:0;color:var(--modra);font-weight:600}
  /* bez JavaScriptu zůstane menu jako obyčejný pruh odkazů pod hlavičkou */
  .no-js .menu{position:static;flex-direction:row;flex-wrap:wrap;box-shadow:none;border:0;padding:0}
  .no-js .hamburger{display:none}
}
@media (max-width:379px){
  .logo img{height:34px}
  .hl-tel{padding:11px 11px;font-size:.95rem}
  .hamburger{width:44px;height:46px}
  .hamburger span{left:11px;right:11px}
}

/* ---------- úvod ---------- */
.uvod{background:linear-gradient(180deg,#F5F6F8 0%,#fff 100%);padding-block:clamp(36px,6vw,84px) clamp(48px,7vw,96px)}
.uvod-in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.uvod h1 em{font-style:normal;color:var(--modra);background:linear-gradient(transparent 68%,rgba(235,160,46,.55) 68%,rgba(235,160,46,.55) 94%,transparent 94%)}
.perex{margin:22px 0 30px;font-size:clamp(1.08rem,1.6vw,1.25rem);color:var(--text);max-width:34em}
.uvod-pozn{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:22px 0 0;font-size:.97rem;color:var(--sedy)}
.uvod-pozn svg{width:19px;height:19px;color:var(--oranz-t)}
.uvod-foto{position:relative}
.uvod-foto::before{content:"";position:absolute;inset:18px -14px -14px 18px;border-radius:24px;background:var(--oranz);z-index:0}
.uvod-foto img{position:relative;z-index:1;width:100%;aspect-ratio:5/4.4;object-fit:cover;object-position:62% 40%;border-radius:24px;box-shadow:var(--stin)}
@media (max-width:899px){
  .uvod-in{grid-template-columns:1fr}
  .uvod-foto{margin-right:14px}
  .uvod-foto img{aspect-ratio:16/11}
  .uvod .tl{flex:1 1 220px}
}

/* ---------- pás důvěry ---------- */
.pas{background:var(--modra);color:#fff}
.pas-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-block:30px}
.pas li{display:flex;gap:14px;align-items:flex-start}
.pas svg{width:30px;height:30px;flex:none;color:var(--oranz);margin-top:2px}
.pas strong{display:block;font-family:var(--nadpis);font-size:1.02rem;font-weight:700;line-height:1.3}
.pas span{display:block;margin-top:3px;font-size:.93rem;color:#D3DCE5;line-height:1.45}
.pas a{color:#fff}
@media (max-width:1023px){.pas-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}}
@media (max-width:519px){.pas-in{grid-template-columns:1fr;gap:18px;padding-block:26px}}

/* ---------- služby ---------- */
.karty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.karta{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linka);border-radius:var(--r);overflow:hidden;box-shadow:var(--stin)}
.karta img{width:100%;aspect-ratio:16/10;object-fit:cover}
.karta-in{display:flex;flex-direction:column;gap:10px;padding:24px;flex:1}
.karta p{margin:0;color:var(--sedy)}
.karta .odkaz{margin-top:auto;padding-top:12px}
@media (max-width:899px){.karty{grid-template-columns:1fr;max-width:560px}}

/* ---------- jak to probíhá ---------- */
.kroky{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:krok}
.kroky li{counter-increment:krok;position:relative;background:#fff;border:1px solid var(--linka);border-radius:var(--r);padding:26px 22px 22px}
.kroky li::before{content:counter(krok);display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:50%;background:var(--oranz);color:var(--cerna);font:800 1.15rem var(--nadpis)}
.kroky h3{font-size:1.1rem;margin-bottom:8px}
.kroky p{margin:0;color:var(--sedy);font-size:.98rem}
@media (max-width:1023px){.kroky{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:519px){
  .kroky{grid-template-columns:1fr;gap:12px}
  .kroky li{padding:18px 18px 18px 76px;min-height:80px}
  .kroky li::before{position:absolute;left:18px;top:18px;margin:0}
}

/* ---------- ceník ---------- */
#cenik h3{margin:34px 0 12px}
#cenik .hlava + h3{margin-top:0}
.cenik{width:100%;border-collapse:collapse;table-layout:fixed;font-size:1rem;border:1px solid var(--linka);border-radius:var(--r);overflow:hidden;border-spacing:0}
.cenik thead th{background:var(--modra);color:#fff;font-weight:600;font-size:.9rem;text-align:right;padding:12px 18px}
.cenik thead th:first-child{text-align:left;width:52%}
.cenik tbody th{text-align:left;font-weight:500;color:var(--cerna);padding:16px 18px}
.cenik td{text-align:right;padding:16px 18px;font-weight:700;font-size:1.08rem;color:var(--cerna);white-space:nowrap;font-variant-numeric:tabular-nums}
.cenik tbody tr + tr > *{border-top:1px solid var(--linka)}
.cenik tbody tr:nth-child(even){background:var(--papir)}
.cenik-pozn{margin:24px 0 32px;padding:18px 22px;border-left:4px solid var(--oranz);background:#FDF6E8;border-radius:0 12px 12px 0;font-size:.97rem;color:var(--text)}
.cenik-pozn li{position:relative;padding-left:18px}
.cenik-pozn li + li{margin-top:6px}
.cenik-pozn li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--oranz-t)}
@media (max-width:639px){
  .cenik,.cenik tbody,.cenik tr,.cenik th,.cenik td{display:block}
  .cenik{border:0;border-radius:0;overflow:visible}
  .cenik thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .cenik tbody tr{border:1px solid var(--linka);border-radius:14px;padding:16px 16px 12px;background:#fff!important}
  .cenik tbody tr + tr{margin-top:10px}
  .cenik tbody tr + tr > *{border-top:0}
  .cenik tbody th{padding:0 0 10px;font-weight:600}
  .cenik td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:1px solid var(--linka)!important;white-space:normal}
  .cenik td::before{content:attr(data-popis);font-weight:400;font-size:.93rem;color:var(--sedy)}
}

/* ---------- zákon a pojišťovna ---------- */
.zakon{background:var(--modra);color:#E4EAF0}
.zakon-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.zakon h2{color:#fff}
.zakon .nadtitul{color:var(--oranz)}
.zakon h2 + p{margin:20px 0 0;font-size:1.08rem}
.zakon-box{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:clamp(22px,3vw,32px)}
.zakon-box h3{color:#fff;margin-bottom:12px}
.zakon-box .tl{margin-top:10px}
@media (max-width:899px){.zakon-in{grid-template-columns:1fr}.zakon-box .tl{width:100%}}

/* ---------- recenze ---------- */
.kolotoc{max-width:820px;margin-inline:auto}
.kolotoc-plocha{display:grid;gap:16px}
.recenze{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:clamp(26px,4vw,44px) clamp(20px,5vw,56px);background:#fff;border:1px solid var(--linka);border-top:4px solid var(--oranz);border-radius:var(--r);box-shadow:var(--stin)}
.recenze .hvezdy{width:120px;height:24px;color:var(--oranz);flex:none}
.recenze blockquote{margin:0}
.recenze blockquote p{margin:0;font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.55;color:var(--cerna)}
.recenze figcaption strong{display:block;font-family:var(--nadpis);font-weight:700;color:var(--modra)}
.recenze figcaption span{display:block;font-size:.88rem;color:var(--sedy)}
.js .kolotoc-plocha{gap:0}
.js .recenze{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.js .recenze.aktivni{opacity:1;visibility:visible}
.kolotoc-ovl{display:none}
.js .kolotoc-ovl{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin-top:22px}
.kol-tl{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--modra);background:#fff;color:var(--modra);cursor:pointer;padding:0;flex:none}
.kol-tl:hover{background:var(--modra);color:#fff}
.kol-tl svg{width:22px;height:22px}
.kol-tecky{display:flex;align-items:center}
.kol-tecky button{width:24px;height:32px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.kol-tecky button::before{content:"";width:10px;height:10px;border-radius:5px;background:#A9B2BC;transition:width .2s,background .2s}
.kol-tecky button[aria-current="true"]::before{width:22px;background:var(--oranz-t)}
.kol-pauza-obal{display:none}
.js .kol-pauza-obal{display:block;text-align:center;margin:8px 0 0}
.kol-pauza{border:0;background:none;color:var(--sedy);font:500 .9rem var(--pismo);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 10px}
.kol-pauza:hover{color:var(--modra)}
#recenze .tlacitka{margin-top:22px}
@media (max-width:519px){
  .kol-tecky{order:3;flex-basis:100%;justify-content:center}
  .kol-tecky button{width:22px}
  #recenze .tlacitka .tl{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .recenze,.tl,.odkaz svg,.hamburger span{transition:none}
  .kol-pauza-obal{display:none!important}
}

/* ---------- o nás + galerie (fotky přijdou později) ---------- */
.onas{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.onas-text h2{margin-bottom:18px}
.onas-text p:last-child{margin-bottom:0}
.normy{background:#fff;border:1px solid var(--linka);border-radius:var(--r);padding:clamp(22px,3vw,30px);box-shadow:var(--stin)}
.normy h3{margin-bottom:6px}
.normy dl{margin:0}
.normy dl div{padding:14px 0 14px 18px;border-left:3px solid var(--oranz);margin-top:14px}
.normy dt{font-family:var(--nadpis);font-weight:700;color:var(--modra)}
.normy dd{margin:2px 0 0;color:var(--sedy);font-size:.97rem}
/* galerie je schovaná, dokud v ní není fotka (viz komentář v index.html) */
.galerie{grid-column:1/-1;display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.galerie figure{margin:0}
.galerie img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:var(--stin)}
.galerie figcaption{margin-top:8px;font-size:.92rem;color:var(--sedy)}
.galerie .pred-po{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.galerie .pred-po figcaption{grid-column:1/-1;margin-top:0}
@media (max-width:899px){.onas{grid-template-columns:1fr}}

/* ---------- kde působíme ---------- */
.oblast{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(28px,5vw,64px);align-items:center}
.kraje{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:26px 0 24px}
.kraje li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--cerna)}
.kraje li::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--oranz);flex:none}
.oblast-pozn{margin:0;color:var(--sedy)}
.oblast-pozn a,.faq-pozn a{font-weight:600;white-space:nowrap}
.mapa{display:block;width:100%;height:auto}
.mapa path{fill:#DCE0E5;stroke:#fff;stroke-width:3;stroke-linejoin:round}
.mapa path.on{fill:var(--oranz)}
.mapa text{font:600 21px var(--pismo);fill:#5A636E;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.mapa text.on{fill:#171717}
.mapa text.m{font-size:15px}
.legenda{display:flex;gap:20px;margin:14px 0 0;font-size:.9rem;color:var(--sedy)}
.legenda span{display:flex;gap:8px;align-items:center}
.legenda i{width:14px;height:14px;border-radius:4px;background:#DCE0E5;display:block}
.legenda i.on{background:var(--modra)}
@media (max-width:899px){
  .oblast{grid-template-columns:1fr}
  .mapa text{font-size:25px}
  .mapa text.m{font-size:18px}
}
@media (max-width:379px){.kraje{grid-template-columns:1fr}}

/* ---------- časté otázky ---------- */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--linka);border-radius:14px}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none;font-family:var(--nadpis);font-weight:700;font-size:1.05rem;color:var(--cerna);border-radius:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2.5px solid var(--oranz-t);border-bottom:2.5px solid var(--oranz-t);transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(3px) rotate(225deg)}
.faq details p{margin:0;padding:0 20px 20px;color:var(--text);max-width:65ch}
.faq-pozn{margin:26px 0 0;color:var(--sedy)}

/* ---------- objednávka ---------- */
.objednavka-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:start}
.kontakty{display:grid;gap:18px;margin-top:30px}
.kontakty li{display:flex;align-items:center;gap:14px}
.kontakty svg{width:46px;height:46px;padding:11px;border-radius:12px;background:var(--papir);color:var(--modra);flex:none}
.kontakty span{display:block;font-size:.88rem;color:var(--sedy)}
.kontakty a,.kontakty strong{font-family:var(--nadpis);font-weight:700;font-size:1.15rem;color:var(--cerna);text-decoration:none;overflow-wrap:anywhere}
.kontakty a:hover{color:var(--modra);text-decoration:underline}
.formular{background:var(--papir);border:1px solid var(--linka);border-radius:20px;padding:clamp(20px,3.4vw,36px)}
.pole-rada{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.pole{margin-bottom:16px;min-width:0}
.pole label{display:block;margin-bottom:6px;font-weight:600;font-size:.95rem;color:var(--cerna)}
.nepovinne{font-weight:400;color:var(--sedy)}
.pole input,.pole select,.pole textarea{display:block;width:100%;min-height:52px;padding:13px 14px;border:1.5px solid #B9C1CA;border-radius:10px;background:#fff;color:var(--cerna);font:400 1rem/1.4 var(--pismo);-webkit-appearance:none;appearance:none}
.pole select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3D59' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px}
.pole textarea{min-height:110px;resize:vertical}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:3px solid rgba(30,61,89,.28);outline-offset:0;border-color:var(--modra)}
.pole [aria-invalid="true"]{border-color:#B3261E;background:#FFF8F7}
.chyba{margin:6px 0 0;font-size:.9rem;font-weight:500;color:#B3261E}
.past{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-pozn{margin:12px 0 0;font-size:.88rem;color:var(--sedy);text-align:center}
.stav{margin-top:16px;padding:16px 18px;border-radius:12px;font-size:.98rem}
.stav strong{display:block;font-family:var(--nadpis);margin-bottom:2px}
.stav-ok{background:#E8F4EC;border:1px solid #9CCBAA;color:#14532D}
.stav-chyba{background:#FDECEA;border:1px solid #F0A8A2;color:#7A1A14}
.stav a{color:inherit;font-weight:700;white-space:nowrap}
.formular.odesila .tl{opacity:.7;pointer-events:none}
@media (max-width:899px){.objednavka-in{grid-template-columns:1fr}}
@media (max-width:519px){.pole-rada{grid-template-columns:1fr}}

/* ---------- patička ---------- */
.paticka{background:var(--cerna);color:#C9CED4;font-size:.97rem;padding-top:clamp(44px,6vw,72px)}
.paticka-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.pat-o img{height:58px;width:auto;margin-bottom:16px}
.pat-o p{max-width:30em;margin:0}
.paticka h2{font:700 .82rem var(--pismo);letter-spacing:.09em;text-transform:uppercase;color:var(--oranz);margin-bottom:14px}
.paticka li + li{margin-top:8px}
.paticka a{color:#fff;text-decoration:none}
.paticka a:hover{text-decoration:underline;color:#fff}
.paticka address{line-height:1.7}
.pat-dole{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-block:20px;border-top:1px solid #33373C;font-size:.9rem;color:#A3AAB2}
.pat-dole p{margin:0}
@media (max-width:899px){.paticka-in{grid-template-columns:1fr 1fr}.pat-o{grid-column:1/-1}}
@media (max-width:519px){.paticka-in{grid-template-columns:1fr;gap:28px}}

/* ---------- mobilní lišta Zavolat · Objednat ---------- */
.lista{display:none}
@media (max-width:899px){
  .lista{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--linka);box-shadow:0 -6px 20px rgba(23,23,23,.1);transition:transform .25s}
  .lista a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:12px;font-weight:700;font-size:1.05rem;text-decoration:none}
  .lista svg{width:19px;height:19px}
  .lista-tel{background:var(--modra);color:#fff}
  .lista-obj{background:var(--oranz);color:var(--cerna)}
  .lista.schovana{transform:translateY(110%)}
  body{padding-bottom:calc(71px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.lista{transition:none}}

@media print{
  .hlavicka,.lista,.kolotoc-ovl,.formular,.preskocit{display:none!important}
  .js .recenze{opacity:1;visibility:visible;grid-area:auto}
  body{padding:0}
}

/* ---------- podstránky (ceník, ochrana osobních údajů) — přidáno 11. 10. 2026 ---------- */
.podstranka{padding-top:clamp(28px,5vw,56px)}
.podstranka h1{font-family:Montserrat,Inter,Arial,sans-serif;font-weight:800;font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.12;letter-spacing:-.02em;color:var(--cerna);margin:0 0 10px}
.drobecky{font-size:.92rem;color:var(--text);margin:0 0 22px}
.drobecky a{color:var(--modra);font-weight:600}
.cenik-tel{margin-top:18px;color:var(--text)}
.cenik-tel a{color:var(--modra);font-weight:700}
.k-ceniku{margin:28px 0 0;text-align:center;color:var(--text);font-size:1.02rem}
.k-ceniku a{color:var(--modra);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.form-pozn a,.pat-dole p a{text-decoration:underline;text-underline-offset:3px}
.pravni{max-width:760px}
.pravni .platnost{color:var(--text);font-size:.95rem;margin:0 0 22px}
.pravni h2{font-family:Montserrat,Inter,Arial,sans-serif;font-weight:700;font-size:1.35rem;line-height:1.25;color:var(--modra);margin:38px 0 10px}
.pravni p,.pravni li{font-size:1.02rem;line-height:1.65;color:#2B2F36}
.pravni p{margin:0 0 14px}
.pravni ul{margin:0 0 14px;padding-left:22px;list-style:disc}
.pravni li + li{margin-top:5px}
.pravni a{color:var(--modra);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pravni .tl{text-decoration:none}
.tabulka-obal{overflow-x:auto;margin:0 0 14px}
.pravni-tab{width:100%;border-collapse:collapse;font-size:.98rem;min-width:460px}
.pravni-tab th,.pravni-tab td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linka);vertical-align:top}
.pravni-tab thead th{background:var(--papir);font-weight:700;color:var(--cerna)}
.pravni-tab tbody th{font-weight:600;color:var(--cerna);width:42%}
.pravni .na-stred{margin-top:36px}
.podstranka .cenik + h3,.podstranka .hlava + h3{margin-top:34px}
.podstranka h3{margin-bottom:12px}
@media (max-width:560px){.pravni-tab{min-width:0;font-size:.93rem}.pravni-tab th,.pravni-tab td{padding:10px 8px}.pravni-tab tbody th{width:44%}}

/* ---------- okno s objednávkou — přidáno 11. 10. 2026 ---------- */
html.okno-otevrene{overflow:hidden}
.okno{border:0;padding:0;margin:auto;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:22px;background:#fff;color:var(--text);box-shadow:0 30px 80px rgba(10,20,35,.45);overflow:auto;overscroll-behavior:contain}
.okno::backdrop{background:rgba(16,28,42,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.okno[open]{animation:okno-in .22s ease-out}
.okno[open]::backdrop{animation:okno-pozadi .22s ease-out}
@keyframes okno-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes okno-pozadi{from{opacity:0}to{opacity:1}}
.okno-in{position:relative;padding:clamp(22px,4vw,38px);border-top:6px solid var(--oranz)}
.okno-zavrit{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:var(--papir);color:var(--cerna);display:grid;place-items:center;cursor:pointer}
.okno-zavrit:hover{background:#E4E8ED}
.okno-zavrit:focus-visible{outline:3px solid var(--modra);outline-offset:2px}
.okno-zavrit svg{width:20px;height:20px}
.okno-hlava{margin-bottom:22px;padding-right:44px}
.okno-hlava img{display:block;height:52px;width:auto;margin-bottom:18px}
.okno-hlava h2{font-size:clamp(1.55rem,3.6vw,2rem);margin:4px 0 8px}
.okno-uvod{margin:0;color:var(--text)}
.okno .formular{background:none;border:0;border-radius:0;padding:0}
.okno-tel{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--linka);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:.98rem;color:var(--text)}
.okno-tel svg{width:18px;height:18px;color:var(--oranz)}
.okno-tel a{font-family:var(--nadpis);font-weight:700;font-size:1.1rem;color:var(--modra);text-decoration:none}
.okno-tel a:hover{text-decoration:underline}
.okno-tel span{color:var(--sedy);font-size:.9rem}
@media (max-width:519px){.okno{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}}
@media (prefers-reduced-motion:reduce){.okno[open],.okno[open]::backdrop{animation:none}}
@media print{.okno{display:none!important}}

/* ---------- hlavička 11. 10. 2026: větší logo vlevo, menu uprostřed, telefon a Objednat oddělené vpravo ---------- */
@media (min-width:1100px){
  :root{--hl:84px}
  .logo{margin-right:0}
  .logo img{height:58px}
  .menu{margin:0 auto;gap:10px}
  .menu a{font-size:1rem;padding:10px 14px}
  .hl-tel{margin-right:6px}
}

/* ---------- závěrečná výzva před patičkou — přidáno 12. 10. 2026 ---------- */
.zaver{background:var(--modra);color:#fff;text-align:center}
.zaver h2{color:#fff;margin:0 0 10px}
.zaver p{margin:0 auto 26px;max-width:46ch;color:#D5DEE7;font-size:1.08rem}
.zaver .tlacitka{justify-content:center}
.tl-svetly{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.tl-svetly:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.tl-svetly svg{color:var(--oranz)}

/* ====================== 12. 10. 2026: nový úvod, fotky v „O nás“, efekty ====================== */
/* ---------- úvod: dlouhá oranžová čára + velký nadpis ---------- */
.uvod-cara{display:block;width:clamp(110px,15vw,200px);height:6px;border-radius:3px;background:var(--oranz);margin:0 0 clamp(20px,2.6vw,30px);transform-origin:left center}
.uvod h1{font-size:clamp(2.55rem,6.4vw,4.9rem);line-height:1.02;letter-spacing:-.035em}
.uvod h1 em{background-repeat:no-repeat;background-size:100% 100%;padding:0 .06em;margin:0 -.06em}
.js .uvod-cara{animation:cara-rust .9s cubic-bezier(.2,.7,.2,1) both}
.js .uvod h1 em{animation:podtrh 1s .35s cubic-bezier(.2,.7,.2,1) both}
.js .uvod-foto img{animation:foto-in .9s .1s cubic-bezier(.2,.7,.2,1) both}
.js .uvod-foto::before{animation:blok-in 1s .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes cara-rust{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes podtrh{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes foto-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes blok-in{from{opacity:0;transform:translate(-14px,-14px)}to{opacity:1;transform:none}}

/* ---------- recenze: „Zastavit střídání“ není vidět, zůstává jen pro klávesnici a čtečky ---------- */
.js .kol-pauza-obal{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.js .kol-pauza-obal:focus-within{position:static;width:auto;height:auto;margin:8px 0 0;overflow:visible;clip-path:none}

/* ---------- O nás: body + posuvník fotek ---------- */
.onas{align-items:start}
.onas-body{margin:20px 0 0;display:grid;gap:10px}
.onas-body li{position:relative;padding-left:32px;font-weight:600;color:var(--cerna)}
.onas-body li::before{content:"";position:absolute;left:0;top:.2em;width:22px;height:22px;border-radius:50%;background:var(--oranz) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.fotky{grid-column:1/-1;margin-top:clamp(8px,2vw,20px);min-width:0}
.fotky-pas{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:var(--r)}
.fotky-pas::-webkit-scrollbar{display:none}
.fotky-pas:focus-visible{outline:3px solid var(--modra);outline-offset:4px}
.fotky-pas figure{flex:0 0 clamp(250px,38%,440px);margin:0;scroll-snap-align:start;position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--stin);background:var(--modra)}
.fotky-pas img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s ease}
.fotky-pas figure:hover img{transform:scale(1.04)}
.fotky-pas figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-family:var(--nadpis);font-weight:700;font-size:1rem;background:linear-gradient(transparent,rgba(16,28,42,.86))}
.fotky-ovl{display:flex;align-items:center;gap:10px;margin-top:4px}
.fotky-pozn{margin:0 auto 0 2px;font-size:.88rem;color:var(--sedy)}
.fotky-sip{width:46px;height:46px;border-radius:50%;border:2px solid var(--modra);background:#fff;color:var(--modra);display:none;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.js .fotky-sip{display:grid}
.fotky-sip:hover{background:var(--modra);color:#fff}
.fotky-sip:focus-visible{outline:3px solid var(--oranz);outline-offset:2px}
.fotky-sip svg{width:20px;height:20px}
@media (max-width:599px){.fotky-pas figure{flex-basis:82%}}

/* ---------- efekty při posouvání ---------- */
.postup{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--oranz);transform:scaleX(0);transform-origin:left center;z-index:200;pointer-events:none}
.hlavicka{transition:box-shadow .25s ease}
.hlavicka.posunuto{box-shadow:0 8px 24px rgba(23,23,23,.09)}
.zjev{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--zp,0ms)}
.zjev.videt{opacity:1;transform:none}
.mapa path,.mapa text{transition:fill .55s ease}
.mapa.ceka path.on{fill:#DCE0E5}
.mapa.ceka text.on{fill:#5A636E}
.tl svg:last-child,.odkaz svg{transition:transform .2s ease}
.tl:hover svg:last-child,.odkaz:hover svg{transform:translateX(4px)}
.karta,.kroky li{transition:transform .25s ease,box-shadow .25s ease}
@media (hover:hover){.karta:hover{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){
  .js .uvod-cara,.js .uvod h1 em,.js .uvod-foto img,.js .uvod-foto::before{animation:none}
  .zjev{opacity:1;transform:none;transition:none}
  .fotky-pas{scroll-behavior:auto}
  .fotky-pas img,.tl svg,.odkaz svg,.karta{transition:none}
  .postup{display:none}
}
@media print{.zjev{opacity:1!important;transform:none!important}.postup,.fotky-ovl{display:none!important}}
.js .uvod h1 em + br + em{animation-delay:.6s}

/* ---------- úvod 12. 10. večer: bez podtržení, nadpis na dva řádky, větší text pod ním ---------- */
.uvod h1{font-size:clamp(2.15rem,4.5vw,3.5rem);line-height:1.1;letter-spacing:-.025em;text-wrap:initial}
.uvod h1 em{background:none;padding:0;margin:0;color:var(--modra);white-space:nowrap}
.js .uvod h1 em{animation:none}
.perex{font-size:clamp(1.15rem,1.9vw,1.42rem);line-height:1.5;margin:24px 0 32px;max-width:26em;color:var(--cerna)}
@media (max-width:420px){.uvod h1{font-size:2rem}}

/* ---------- posuvník fotek 12. 10.: plynulý pohyb, šipky po stranách, tečky uprostřed ---------- */
.js .fotky-pas{scroll-snap-type:none;scroll-behavior:auto}
.fotky-ovl{justify-content:center;gap:14px;margin-top:10px}
.fotky-tecky{display:none}
.js .fotky-tecky{display:flex}
@media (max-width:519px){.fotky-tecky{order:0;flex-basis:auto}.fotky-tecky button{width:20px}}
.zaver p{max-width:none}

/* ---------- nástup úvodu 12. 10.: čára → řádky nadpisu vyjedou → text → tlačítka → fotka se odkryje ---------- */
.uvod h1 .radek{display:block;overflow:hidden;padding-block:.09em;margin-block:-.09em}
.uvod h1 .radek > *{display:inline-block}
@keyframes radek-nahoru{from{transform:translateY(112%)}to{transform:none}}
@keyframes zdola{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes vyskoc{0%{opacity:0;transform:translateY(14px) scale(.94)}70%{opacity:1;transform:translateY(-2px) scale(1.015)}100%{opacity:1;transform:none}}
@keyframes odkryj{from{clip-path:inset(0 100% 0 0 round 24px);transform:scale(1.06)}to{clip-path:inset(0 0 0 0 round 24px);transform:none}}
.js .uvod-cara{animation:cara-rust .8s cubic-bezier(.2,.7,.2,1) both}
.js .uvod h1 .radek > *{animation:radek-nahoru .85s cubic-bezier(.16,.8,.2,1) both}
.js .uvod h1 .radek:nth-child(1) > *{animation-delay:.18s}
.js .uvod h1 .radek:nth-child(2) > *{animation-delay:.36s}
.js .uvod .perex{animation:zdola .7s .7s ease-out both}
.js .uvod .tlacitka .tl{animation:vyskoc .6s ease-out both}
.js .uvod .tlacitka .tl:nth-child(1){animation-delay:.95s}
.js .uvod .tlacitka .tl:nth-child(2){animation-delay:1.07s}
.js .uvod-pozn{animation:zdola .6s 1.25s ease-out both}
.js .uvod-foto img{animation:odkryj 1.15s .25s cubic-bezier(.2,.7,.2,1) both}
.js .uvod-foto::before{animation:blok-in .9s .95s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){
  .js .uvod h1 .radek > *,.js .uvod .perex,.js .uvod .tlacitka .tl,.js .uvod-pozn,.js .uvod-foto img,.js .uvod-foto::before,.js .uvod-cara{animation:none}
}
/* text pod nadpisem zpět na původní velikost (Honza 12. 10.) */
.perex{font-size:clamp(1.08rem,1.6vw,1.25rem);line-height:1.6;margin:22px 0 30px;max-width:34em;color:var(--text)}
/* patička: odkaz na autora webu */
.pat-autor{color:#B9BEC5;text-decoration:none;font-size:.92rem;white-space:nowrap;transition:color .2s}
.pat-autor strong{color:#fff;font-weight:700}
.pat-autor:hover{color:#fff}
.pat-autor:hover strong{color:var(--oranz)}
/* nadpis varianta 5 (delší druhá věta se smí zalomit) */
.uvod h1 em{white-space:normal}

/* ---------- úvod na mobilu 12. 10.: tlačítka vedle sebe a menší, fotka nižší, ať se vejde na první obrazovku ---------- */
@media (max-width:599px){
  .uvod{padding-block:22px 34px}
  .uvod-in{gap:20px}
  .uvod-cara{margin-bottom:16px;height:5px}
  .uvod .perex{margin:14px 0 18px;font-size:1.02rem;line-height:1.5}
  .uvod .tlacitka{display:grid;grid-template-columns:1.25fr 1fr;gap:10px}
  .uvod .tlacitka .tl{width:auto;min-height:48px;padding:11px 10px;font-size:.95rem;white-space:nowrap;justify-content:center}
  .uvod .tlacitka .tl svg{width:17px;height:17px}
  .uvod-pozn{margin-top:12px;font-size:.9rem}
  .uvod-foto img{aspect-ratio:16/9;object-position:50% 30%;border-radius:18px}
  .uvod-foto::before{inset:10px -8px -8px 10px;border-radius:18px}
  @keyframes odkryj{from{clip-path:inset(0 100% 0 0 round 18px);transform:scale(1.06)}to{clip-path:inset(0 0 0 0 round 18px);transform:none}}
}
@media (max-width:359px){.uvod .tlacitka{grid-template-columns:1fr}}

/* ---------- mobil 12. 10.: bez spodní lišty, fotka v úvodu na střed ---------- */
.lista{display:none!important}
@media (max-width:1099px){body{padding-bottom:0!important}.paticka{padding-bottom:0}}
@media (max-width:899px){
  .uvod-foto{margin-right:0}
  .uvod-foto::before{inset:14px 0 -9px 0}
}

/* ---------- mobil 12. 10.: klidnější rozložení, stejný rytmus jako na počítači ---------- */
@media (max-width:599px){
  .hlava.na-stred{text-align:left}
  .hlava.na-stred .nadtitul{justify-content:flex-start}
  .kraje{gap:9px 14px;margin:20px 0 18px}
  .kraje li{font-size:.95rem;white-space:nowrap;gap:8px}
  .zaver p{font-size:1rem;margin-bottom:22px}
  .zaver .tlacitka{display:grid;grid-template-columns:1fr;gap:10px;max-width:300px;margin-inline:auto}
  .zaver .tlacitka .tl{width:100%;justify-content:center}
  .pat-dole{flex-direction:column;align-items:flex-start;gap:8px;margin-top:30px}
}

@media (max-width:599px){.pat-dole a{white-space:nowrap}}

/* ---- Úvod: fotka komína + razítko jako pečeť (varianta C, vybraná 29. 10. 2026) ---- */
.uvod-foto > img{object-position:40% 50%}
.pecet{position:absolute;z-index:2;left:-34px;bottom:-30px;width:clamp(130px,40%,236px);aspect-ratio:1;border-radius:50%;background:#fff;
  display:grid;place-items:center;box-shadow:0 10px 28px rgba(23,23,23,.22);transform:rotate(-9deg)}
.uvod-foto .pecet img{width:90%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none;z-index:1}
.js .pecet{animation:otisk-c .7s 1.2s cubic-bezier(.3,1.4,.5,1) both}
@keyframes otisk-c{from{opacity:0;transform:rotate(-20deg) scale(1.4)}to{opacity:1;transform:rotate(-9deg) scale(1)}}
@media (max-width:899px){.pecet{left:-6px;bottom:-22px;width:clamp(96px,26%,150px)}}
@media (prefers-reduced-motion:reduce){.js .pecet{animation:none}}
