/* Kemp Tůňka – ukázkový web FORMA (smyšlený podnik). Motiv: kreslená mapa kempu, na které běží den. Bez knihoven, bez inline stylů (přísná CSP). */
@font-face{font-family:'Crete';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/crete-round-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Crete';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/crete-round-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cabin';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/cabin-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cabin';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/cabin-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --papir:#F1EFDF; --papir2:#FBFAF2; --zelen:#1F3D2B; --ink2:#3A5243; --tun:#17688A; --nebe:#8CD0EC;
  --hlina:#8A4B2A; --slunce:#F2B705; --trava:#E1E8C8; --tr1:#D6E1B3; --cara:#8DA08F; --chyba:#9B2C1F; --noc:#0C1730;
  --sans:'Cabin',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --nadpis:'Crete','Crete Round',Georgia,'Times New Roman',serif;
  --okraj:clamp(16px,3.9vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--papir);color:var(--zelen);font:400 1.125rem/1.55 var(--sans);overflow-wrap:break-word}
img,svg,canvas{display:block}
a{color:var(--tun);text-underline-offset:.18em}
a:hover{color:var(--zelen)}
h1,h2,h3,h4{font-family:var(--nadpis);font-weight:400;line-height:1.05;margin:0;text-wrap:balance}
h2{font-size:clamp(2.7rem,6.4vw,6rem)}
h3{font-size:clamp(1.5rem,2.2vw,2rem)}
h4{font-size:1.25rem;line-height:1.15}
p{margin:0 0 .9rem}
:focus-visible{outline:3px solid var(--tun);outline-offset:3px;border-radius:3px}
.top :focus-visible,.cedule :focus-visible,.chatky :focus-visible,.poptavka .odeslat :focus-visible,.konec :focus-visible,.pata :focus-visible,.okoli :focus-visible{outline-color:var(--nebe)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:8px;top:-60px;background:var(--slunce);color:var(--zelen);padding:.6rem 1rem;border-radius:6px;z-index:40;font-weight:700}
.skip:focus{top:8px}
.nojs{padding:.8rem 1rem;background:var(--papir2);border:2px dashed var(--zelen);border-radius:6px}
.mala{font-size:1.0625rem;color:var(--ink2)}

/* ---------- tlačítka ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;padding:.65rem 1.25rem;border-radius:8px;font:700 1.0625rem/1.2 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;text-align:center;transition:background-color .16s,color .16s,transform .14s}
.btn:active{transform:translateY(1px)}
.btn-sm{min-height:44px;padding:.45rem 1rem}
.btn-lg{min-height:58px;padding:.8rem 1.6rem;font-size:1.15rem}
.btn-sun{background:var(--slunce);color:var(--zelen)}
.btn-sun:hover{background:#FFC72A;color:var(--zelen)}
.btn-ghost{background:transparent;color:var(--papir2);border-color:rgba(241,239,223,.72)}
.btn-ghost:hover{background:rgba(241,239,223,.16);color:var(--papir2)}
.btn-main{background:var(--zelen);color:var(--papir2)}
.btn-main:hover{background:#2C5640;color:var(--papir2)}
.btn-line{background:transparent;color:var(--zelen);border-color:var(--zelen)}
.btn-line:hover{background:var(--tr1);color:var(--zelen)}
.btn-papir{background:var(--papir2);color:var(--zelen)}
.btn-papir:hover{background:#fff;color:var(--zelen)}

/* ---------- hlavička nad mapou ---------- */
.top{position:fixed;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);padding:10px var(--okraj);color:var(--papir2);transition:background-color .2s}
.top::before{content:"";position:absolute;inset:0 0 -30px;background:linear-gradient(rgba(12,30,24,.78),rgba(12,30,24,0));pointer-events:none;z-index:-1}
.top.plna{background:var(--zelen)}
.top.plna::before{display:none}
.brand{display:flex;align-items:center;gap:.6rem;min-height:44px;color:var(--papir2);text-decoration:none;min-width:0;margin-right:auto}
.brand:hover{color:var(--papir2)}
.brand-mark{width:40px;height:40px;flex:none}
.brand-t{display:flex;flex-direction:column;line-height:1.12;min-width:0}
.brand-name{font:400 1.2rem var(--nadpis);white-space:nowrap}
.brand-sub{font-size:.9375rem;color:#D5E3CF}
.nav{display:flex;gap:clamp(2px,.5vw,8px)}
.nav a{color:var(--papir2);text-decoration:none;padding:.4rem .6rem;font-weight:600;font-size:1.0625rem;border-radius:6px;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover{background:rgba(241,239,223,.16);color:var(--papir2)}
.menu-btn{display:none;min-height:44px;padding:0 .9rem;border:2px solid rgba(241,239,223,.72);border-radius:8px;background:transparent;color:var(--papir2);font:700 1rem var(--sans);cursor:pointer}

/* ---------- úvod a den v kempu: jedna mapa přes celou obrazovku ---------- */
.den{position:relative;height:500vh;height:500svh;background:var(--noc)}
.pod{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.ram{position:absolute;inset:0;overflow:hidden;background:#16332A;isolation:isolate}
.mapa{position:absolute;left:0;top:0;width:max(100vw,160vh);width:max(100vw,160svh);aspect-ratio:8/5;transform-origin:0 0;will-change:transform;container-type:inline-size}
.m{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none}
.m-stiny{opacity:.4;will-change:opacity}
.m-stiny-s{display:none}
.m-svit{opacity:0;will-change:opacity}
#m-rano{opacity:1}
.m-ton{background:#FFE5C7;mix-blend-mode:multiply}
.zavora{position:absolute;left:43.6%;top:91.9%;width:3.4%;height:.34%;transform-origin:0 50%;transform:rotate(-78deg);background:repeating-linear-gradient(90deg,#D9532C 0 16%,#FBFAF2 0 32%);box-shadow:-3px 0 0 3px #3B4A4F}
html[data-sezona="mimo"] .zavora{transform:none}
.herec{position:absolute;left:0;top:0;width:5.2%;aspect-ratio:100/60;opacity:0;will-change:transform,opacity;overflow:visible}
.zrcadlo{position:absolute;overflow:hidden;-webkit-mask:url(mapa-tun.svg) 0 0/100% 100% no-repeat;mask:url(mapa-tun.svg) 0 0/100% 100% no-repeat}
.z{position:absolute;inset:0;opacity:0;will-change:opacity}
.z-rano{background:linear-gradient(112deg,#FAD9B5 0%,#CFE3D9 44%,rgba(120,200,210,.25) 100%);opacity:.16}
.z-vecer{background:linear-gradient(248deg,#F9B562 0%,#F0836C 42%,#6F5B9E 100%)}
.z-noc{background:radial-gradient(110% 120% at 62% 42%,#1B3564 0%,#102349 56%,#0A1733 100%)}
.z-hv{position:absolute;inset:0;background:url(mapa-nebe-tun.svg) 0 0/100% 100% no-repeat;opacity:0;will-change:opacity}
.z-mesic{position:absolute;left:58%;top:24%;width:9.6%;aspect-ratio:1;border-radius:50%;background:#F7F0D2;box-shadow:0 0 34px 10px rgba(247,240,210,.34);opacity:0}
.z-slunce{position:absolute;left:0;top:0;width:44%;aspect-ratio:2/1;background:radial-gradient(closest-side,rgba(255,252,232,.96),rgba(255,236,176,.5) 42%,rgba(255,226,150,0));opacity:0;will-change:transform,opacity}
.mlha{position:absolute;left:66%;top:18%;width:30%;height:34%;background:radial-gradient(38% 30% at 34% 40%,rgba(255,251,240,.32),rgba(255,251,240,0)),radial-gradient(36% 26% at 68% 62%,rgba(255,251,240,.24),rgba(255,251,240,0));will-change:opacity}
.m-okna,.m-hv{opacity:0;will-change:opacity}
.svetla{position:absolute;inset:0}
.sv{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,206,120,.34),rgba(255,172,84,.16) 52%,rgba(255,150,60,0));opacity:0;will-change:opacity}
.ohen{position:absolute;width:12.5%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,180,80,.74),rgba(255,112,44,.26) 36%,rgba(255,90,30,0));opacity:0;will-change:opacity}
.ohen::after{content:"";position:absolute;left:50%;top:50%;width:11%;aspect-ratio:1;margin:-5.5% 0 0 -5.5%;border-radius:50%;background:radial-gradient(closest-side,#FFF6C4,#FFC049 44%,#F2642A 78%,rgba(242,100,42,0))}
.popisky,.hv-popisky{list-style:none;margin:0;padding:0;position:absolute;inset:0;font:400 1.14cqw/1.1 var(--nadpis);will-change:opacity}
.popisky li{position:absolute;transform:translate(-50%,-50%);padding:.2em .5em .24em;background:var(--papir2);color:var(--zelen);border-radius:2px;white-space:nowrap}
.tun-jm{position:absolute;left:74%;top:41%;transform:translate(-50%,-50%);color:#F2FBFA;font:400 2.5cqw/1 var(--nadpis)}
.hv-popisky{opacity:0;will-change:opacity;color:#F7E9B4;font:600 1.02cqw/1 var(--sans)}
.hv-popisky li{position:absolute;transform:translate(-50%,-50%);white-space:nowrap}
.obloha{position:absolute;z-index:2;left:0;right:0;top:clamp(70px,10.5vh,100px);height:14vh;pointer-events:none}
.draha-t{position:absolute;inset:0;will-change:opacity}
.draha{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.draha path{fill:none;stroke:#FBFAF2;stroke-opacity:.72;stroke-width:1.6;stroke-dasharray:1 8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.hodiny-rad span{position:absolute;font:700 .875rem/1 var(--sans);color:#FBFAF2;transform:translate(-50%,-175%);opacity:.85}
.slunce,.mesic{position:absolute;left:0;top:0;width:clamp(56px,6.4vw,92px);height:clamp(56px,6.4vw,92px);margin:calc(clamp(56px,6.4vw,92px)/-2) 0 0 calc(clamp(56px,6.4vw,92px)/-2);overflow:visible;will-change:transform}
.slunce g{fill:#F2B705}
.slunce circle{fill:#FFD34D}
.mesic{fill:#F7F0D2;opacity:0}

.uvod{position:absolute;z-index:4;left:var(--okraj);right:var(--okraj);bottom:clamp(20px,4.4vh,44px);display:flex;align-items:flex-end;justify-content:space-between;gap:40px;pointer-events:none;will-change:transform,opacity}
.uvod-n{color:var(--papir2);max-width:min(25.5vw,440px);pointer-events:auto;text-shadow:0 2px 20px rgba(8,26,20,.6)}
.h1-n{display:block;width:min-content;font:400 clamp(4rem,8.6vw,9.4rem)/.9 var(--nadpis)}
.h1-p{display:block;margin-top:.5em;font:400 clamp(1.45rem,2.2vw,2.2rem)/1.14 var(--nadpis)}
.lede{margin:.7em 0 0;font-size:clamp(1.0625rem,1.26vw,1.2rem);line-height:1.42;color:#F1EFDF}
.cedule{position:relative;flex:none;width:min(100%,clamp(356px,27.6vw,430px));padding:20px 24px 16px;background:var(--zelen);color:var(--papir2);border-radius:5px;box-shadow:0 0 0 2px #152C20,inset 0 0 0 2px rgba(241,239,223,.3),0 28px 44px -20px rgba(4,14,10,.75);pointer-events:auto}
.cedule::before,.cedule::after{content:"";position:absolute;top:9px;width:7px;height:7px;border-radius:50%;background:#9BB09A}
.cedule::before{left:9px}.cedule::after{right:9px}
.cedule p{margin:0}
.cedule-h{font:400 clamp(2rem,3.5vw,3.3rem)/1 var(--nadpis);margin-bottom:.22em!important}
.cedule[data-sezona="v"][data-otevreno="1"] .cedule-h{color:var(--slunce)}
.cedule-t,.cedule-b{color:#E3EBDD;font-size:1.0625rem;line-height:1.35}
.cedule-b{margin-top:.15rem!important}
.cedule-btn{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem!important}
.cedule-btn .btn{flex:1 1 160px}
.cedule[data-otevreno="1"] #cta-2{order:-1}
.fake{font-size:1.0625rem;color:var(--ink2)}
.cedule .fake,.konec .fake{color:#D5E3CF}
.cedule-fake{margin-top:.5rem!important}

.dn{position:absolute;z-index:4;left:var(--okraj);bottom:clamp(26px,6vh,64px);width:min(27vw,470px);color:var(--papir2);text-shadow:0 2px 20px rgba(8,26,20,.6)}
.dn-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cas{display:block;font:400 clamp(4.4rem,9.2vw,9.8rem)/1 var(--nadpis);font-variant-numeric:tabular-nums;letter-spacing:-.01em;opacity:0;will-change:opacity}
.kroky{position:relative;list-style:none;margin:.2em 0 0;padding:0;height:4.9rem}
.krok{position:absolute;left:0;right:0;top:0;opacity:0;font:400 clamp(1.45rem,2.2vw,2.1rem)/1.16 var(--nadpis);will-change:opacity}
.krok time{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.krok p{margin:0}
.tip{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);margin:0;padding:.3rem .8rem;border-radius:99px;background:rgba(15,36,27,.72);color:var(--papir2);font-size:1rem;font-weight:600;white-space:nowrap;pointer-events:none}

/* ---------- hra: místo na mapě a účtenka ---------- */
.hra{background:var(--slunce)}
.hra-hlava{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,4vw,72px);align-items:end;padding:clamp(76px,9.4vw,136px) var(--okraj) clamp(34px,4vw,56px)}
.hra-hlava h2{font-size:clamp(3rem,8.2vw,8rem);line-height:.96}
.hra-hlava p{margin:0;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.38}
.kalk{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,29vw,440px);background:var(--zelen)}
.plocha{position:sticky;top:64px;align-self:start;height:max(600px,calc(100vh - 64px));height:max(600px,calc(100svh - 64px));min-width:0;display:flex;flex-direction:column}
.okno{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--zelen)}
.lista{position:absolute;left:0;right:0;bottom:0;z-index:3}
.svet{position:absolute;left:0;top:0;width:1600px;height:1000px;transform-origin:0 0;transition:transform .85s cubic-bezier(.62,.02,.18,1)}
.svet img{position:absolute;left:0;top:0;width:1600px;height:1000px;max-width:none}
.bod{position:absolute;display:block;padding:0;border:0;background:none;color:var(--zelen);cursor:pointer;font-family:var(--nadpis);-webkit-tap-highlight-color:transparent}
.bod-pa{width:72px;height:64px;border-radius:7px;background:rgba(251,250,242,.42);box-shadow:0 0 0 2px var(--papir2);transition:background-color .16s,box-shadow .16s}
.bod-pa span{display:block;font-size:24px;line-height:64px}
.bod-pa:hover,.bod-pa:focus-visible{background:var(--slunce);box-shadow:0 0 0 3px var(--zelen)}
.bod-pa[data-el]::after{content:"";position:absolute;right:5px;top:5px;width:11px;height:13px;background:var(--zelen);clip-path:polygon(60% 0,0 58%,44% 58%,30% 100%,100% 38%,56% 38%)}
.bod-ch span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.2em .55em .24em;background:var(--papir2);border-radius:2px;font-size:17px;line-height:1.1;white-space:nowrap;transition:background-color .16s}
.bod-ch:hover span,.bod-ch:focus-visible span{background:var(--slunce)}
.bod-ch:focus-visible,.bod-pa:focus-visible,.bod-lo:focus-visible{outline-offset:2px}
.b-louka{left:680px;top:212px;width:160px;height:64px}
.bod-lo span{display:block;margin-top:14px;padding:.28em .4em;background:var(--papir2);border-radius:2px;font-size:17px;line-height:1.1;white-space:nowrap;transition:background-color .16s}
.bod-lo:hover span,.bod-lo:focus-visible span{background:var(--slunce)}
.okno-tip{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;padding:.5rem clamp(12px,2vw,28px) .6rem;background:var(--zelen);color:var(--papir2);font-weight:600;font-size:1.0625rem;line-height:1.3}
.mini{flex:none;font:400 1.5rem/1 var(--nadpis);color:var(--slunce);font-variant-numeric:tabular-nums}
.deska{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity .34s;background:#A4C163 url(mapa-parcela.svg) center/cover no-repeat;--dole:150px}
.deska.on{opacity:1}
.pl{position:absolute;left:5%;right:5%;top:92px;bottom:var(--dole);border-radius:10px;background:rgba(251,250,242,.16);box-shadow:0 0 0 3px var(--papir2),inset 0 0 0 1px rgba(31,61,43,.14)}
.pl-str{position:absolute;left:50%;top:48%;width:56%;height:78%;transform:translate(-50%,-50%);overflow:visible;filter:drop-shadow(10px 12px 0 rgba(16,42,44,.3))}
.pl-stitek{position:absolute;left:46%;top:48%;transform:translate(-50%,-50%);padding:.2em .6em .26em;background:var(--papir2);border-radius:2px;font:400 clamp(1.3rem,2vw,1.9rem)/1.1 var(--nadpis);pointer-events:none}
.pl-sloup{position:absolute;left:1%;top:2%;width:clamp(58px,11%,110px);pointer-events:none}
.pl-sloup svg{width:100%;height:auto;opacity:.95}
.vec{position:absolute;left:0;top:0;width:calc(var(--w,14)*1%);padding:0;border:0;background:none;cursor:grab;touch-action:none;transform:translate(-50%,-50%);transition:filter .14s;-webkit-tap-highlight-color:transparent;z-index:2}
.vec::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.vec svg{display:block;width:100%;height:auto;overflow:visible;transform:rotate(var(--r,0deg));filter:drop-shadow(4px 6px 0 rgba(16,42,44,.34));transition:transform .24s cubic-bezier(.3,1.3,.5,1)}
.vec:hover svg{filter:drop-shadow(5px 8px 0 rgba(16,42,44,.38))}
.vec.tah{cursor:grabbing;z-index:5}
.vec.tah svg{filter:drop-shadow(12px 18px 2px rgba(16,42,44,.3))}
.deska-n{position:absolute;left:clamp(14px,2vw,28px);top:clamp(12px,1.8vw,24px);margin:0;padding:.18em .6em .24em;background:var(--papir2);border-radius:2px;font:400 clamp(1.25rem,2vw,1.9rem)/1.1 var(--nadpis)}
.deska-zpet{position:absolute;right:clamp(14px,2vw,28px);top:clamp(12px,1.8vw,24px)}
.tac{background:var(--papir2);padding:8px clamp(12px,2vw,28px) 8px}
.tac ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:4px}
.zt{position:relative}
.zt-p{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-height:96px;padding:6px 2px 6px;border:0;border-radius:6px;background:none;color:var(--zelen);font:600 .9375rem/1.1 var(--sans);cursor:pointer;transition:background-color .15s}
.zt-p:hover{background:var(--tr1)}
.zt-p svg{width:62px;height:37px;flex:none;margin-bottom:3px}
.zt-p b{display:block;margin-top:2px;font-weight:700;font-size:.9375rem;font-variant-numeric:tabular-nums}
.zt-p[aria-disabled="true"]{opacity:.46;cursor:help}
.zt-m{position:absolute;right:0;top:0;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--zelen);color:var(--papir2);font:700 1.2rem/1 var(--sans);cursor:pointer}
.zt-m:hover{background:#2C5640}
.uctenka{position:relative;align-self:start;margin:clamp(14px,1.6vw,24px) clamp(14px,1.9vw,28px) 44px;padding:20px 22px 22px;background:var(--papir2);color:var(--zelen);min-width:0}
.uctenka::after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:12px;background:linear-gradient(135deg,var(--papir2) 50%,transparent 50%) 0 0/16px 12px repeat-x,linear-gradient(225deg,var(--papir2) 50%,transparent 50%) 0 0/16px 12px repeat-x}
.uct-hl{margin:0;font-weight:700;font-size:1.0625rem;color:var(--ink2)}
.uctenka h3{font-size:clamp(1.9rem,2.8vw,2.6rem);display:flex;flex-wrap:wrap;gap:.1rem .7rem;align-items:baseline}
.orient{font:400 1.0625rem var(--sans);color:var(--ink2)}
.uct-misto{margin:.5rem 0 .4rem;padding:.3rem .55rem;background:var(--tr1);font-weight:700}
.uct-pole{display:grid}
.radek{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:52px;border-bottom:2px dotted rgba(31,61,43,.28)}
.radek-l{flex:1;min-width:0;line-height:1.2}
.radek small{display:block;font-size:1.0625rem;color:var(--ink2)}
.stp{display:inline-flex;align-items:center;flex:none}
.stp button{width:44px;height:44px;border:2px solid var(--zelen);background:var(--papir2);color:var(--zelen);font:700 1.3rem/1 var(--sans);cursor:pointer;padding:0;border-radius:50%;transition:background-color .15s}
.stp button:hover{background:var(--tr1)}
.stp input{width:42px;height:44px;border:0;text-align:center;font:400 1.3rem var(--nadpis);background:none;color:var(--zelen);-moz-appearance:textfield;appearance:textfield;padding:0}
.stp input::-webkit-outer-spin-button,.stp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.chk{display:flex;align-items:center;gap:.7rem;min-height:52px;cursor:pointer;line-height:1.2;border-bottom:2px dotted rgba(31,61,43,.28)}
.chk input{width:24px;height:24px;accent-color:var(--zelen);flex:none}
.radky{list-style:none;margin:.5rem 0 0;padding:0}
.radky li{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;line-height:1.25}
.radky .ra-c{white-space:nowrap;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.radky .ra-n small{display:block;font-size:1.0625rem;color:var(--ink2);font-weight:400;font-variant-numeric:tabular-nums}
.radky .ra-prazdno{color:var(--ink2)}
.celkem{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:.6rem 0 0;font:400 clamp(2rem,3vw,2.7rem)/1.1 var(--nadpis);padding-top:.5rem;border-top:3px solid var(--zelen);font-variant-numeric:tabular-nums}
.celkem span:first-child{font-size:.62em}
.celkem span:last-child{white-space:nowrap}
.celkem.bez{display:none}
.dolni{font-size:1.0625rem;line-height:1.35;color:var(--ink2);margin-top:.7rem}
.dolni p{margin:0}
.uct-akce{margin:.9rem 0 0}
.uct-akce .btn{width:100%}
.sednout{animation:sednout .42s cubic-bezier(.2,.75,.2,1) both}
@keyframes sednout{from{opacity:0;scale:1.26;translate:0 -22px}to{opacity:1;scale:1;translate:0 0}}

/* ---------- chatky: střechy široké podle počtu lůžek ---------- */
.chatky{background:var(--zelen);color:var(--papir2);padding:clamp(76px,10vw,152px) var(--okraj) clamp(60px,7vw,108px)}
.ch-hlava{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(24px,4vw,72px);align-items:end}
.ch-hlava p{margin:0;font-size:clamp(1.125rem,1.45vw,1.3rem);color:#E3EBDD}
.strechy{list-style:none;margin:clamp(44px,6vw,88px) 0 0;padding:0;display:grid;grid-template-columns:3fr 3.6fr 4.3fr 5.1fr;grid-template-rows:auto auto auto auto;column-gap:clamp(20px,3vw,48px)}
.str{display:grid;grid-row:span 4;grid-template-rows:subgrid}
.str-k{align-self:end;width:100%;height:auto;aspect-ratio:var(--p,1.5);overflow:visible;transition:transform .2s}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.str:hover .str-k{transform:translateY(-6px)}}
.str-vazka .str-k{--p:1.68}.str-rakos .str-k{--p:1.72}.str-olse .str-k{--p:1.75}.str-mlynek .str-k{--p:1.78}
.str h3{margin-top:.55em;font-size:clamp(2.4rem,4.5vw,4.4rem)}
.str-c{margin:.25em 0 .3em;font-size:1.0625rem;color:#D5E3CF}
.str-c strong{display:block;font:400 clamp(1.9rem,3vw,3rem)/1.05 var(--nadpis);color:var(--slunce);font-variant-numeric:tabular-nums}
.str-t{margin:0;color:#E3EBDD;font-size:1.0625rem;line-height:1.4}
.ch-spodek{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,72px);margin-top:clamp(40px,5vw,72px);padding-top:clamp(20px,2.4vw,32px);border-top:2px solid rgba(241,239,223,.24)}
.cenik-mala{list-style:none;margin:0;padding:0;font-size:1.125rem;color:#E3EBDD}
.cenik-mala strong{font:400 clamp(1.7rem,2.5vw,2.3rem)/1 var(--nadpis);color:var(--slunce);margin-right:.15em}
.cenik-mala span{display:block;margin-top:.3rem}
.pozn{margin:0;padding:0;list-style:none;color:#E3EBDD}
.pozn li{margin-bottom:.3rem}

/* ---------- stany a ceník ---------- */
.stany{padding:clamp(76px,10vw,152px) var(--okraj) clamp(60px,7vw,108px);background:var(--papir)}
.st-hlava{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6px clamp(24px,4vw,72px);align-items:end}
.st-hlava h2{font-size:clamp(3rem,8.2vw,8rem);line-height:.96;grid-row:span 2}
.st-vel{margin:0;font:400 clamp(1.7rem,2.6vw,2.4rem)/1.12 var(--nadpis)}
.st-vel strong{font-weight:400;background:linear-gradient(transparent 62%,var(--slunce) 62%,var(--slunce) 92%,transparent 92%)}
.st-hlava p:last-child{margin:0;font-size:1.125rem}
.st-sloupce{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,72px);margin-top:clamp(40px,5.4vw,80px)}
.st-sloupce h3{min-height:2.3em;font-size:clamp(1.5rem,2.1vw,1.9rem)}
.pod-pozn{display:block;margin-top:.15em;font:400 1.0625rem var(--sans);color:var(--ink2)}
.cenik{list-style:none;margin:.5rem 0 0;padding:0}
.pol{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:0 14px;align-items:center;min-height:74px;padding:8px 0;border-bottom:2px dotted rgba(31,61,43,.32)}
.pol>*{min-width:0}
.pol-ico{width:62px;height:38px;overflow:visible}
.pol-ico-m{transform:scale(.76)}
.pol-t p{margin:.1rem 0 0;font-size:1.0625rem;line-height:1.2;color:var(--ink2)}
.pol-c{margin:0;text-align:right;font-size:1.0625rem;line-height:1.1;color:var(--ink2);white-space:nowrap}
.pol-c strong{display:block;font:400 clamp(1.5rem,2vw,1.8rem)/1.1 var(--nadpis);color:var(--zelen);font-variant-numeric:tabular-nums}
.vyhrada{margin:1.5rem 0 .5rem;font-size:1.0625rem;color:var(--ink2)}
.pozn-line{margin:0;font-weight:600}

/* ---------- zázemí jako legenda mapy ---------- */
.zazemi{background:var(--trava);padding:clamp(76px,10vw,152px) var(--okraj)}
.zz-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,88px);align-items:start}
.zz-in h2{position:sticky;top:96px}
.legenda{margin:0;display:grid;gap:clamp(18px,2.2vw,30px)}
.legenda>div{position:relative;min-height:clamp(68px,7vw,96px);padding-left:calc(clamp(68px,7vw,96px) + clamp(16px,2vw,28px))}
.legenda svg{position:absolute;left:0;top:0;width:clamp(68px,7vw,96px);height:clamp(68px,7vw,96px);padding:clamp(7px,.8vw,11px);border-radius:50%;background:var(--papir2)}
.legenda dt{font:400 clamp(1.7rem,2.7vw,2.5rem)/1.1 var(--nadpis)}
.legenda dd{margin:.25rem 0 0;font-size:clamp(1.0625rem,1.3vw,1.2rem)}

/* ---------- bufet: plný žlutý pás ---------- */
.bufet{background:var(--slunce);padding:clamp(60px,7.4vw,112px) var(--okraj)}
.bufet h2{font-size:clamp(1.6rem,2.6vw,2.4rem)}
.bf-vel{margin:.3em 0 0;font:400 clamp(2.9rem,8.1vw,8.2rem)/.98 var(--nadpis);text-wrap:balance}
.bf-spodek{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 40px;margin-top:clamp(28px,4vw,56px)}
.bf-spodek p{margin:0;font-size:clamp(1.125rem,1.5vw,1.35rem)}
.bf-spodek .bf-cas{font:400 clamp(2rem,4.2vw,4rem)/1 var(--nadpis);font-variant-numeric:tabular-nums}
.bf-cas span{font-size:.5em;margin-right:.3em}

/* ---------- okolí: měřítko mapy přes celou šířku ---------- */
.okoli{background:var(--tun);color:#fff;padding:clamp(76px,9vw,136px) var(--okraj) clamp(44px,5vw,72px)}
.pasmo{list-style:none;margin:clamp(48px,6.4vw,96px) 0 0;padding:0;display:grid;grid-template-columns:1.1fr 1.5fr 2fr 2.3fr;position:relative}
.pasmo::before{content:"";position:absolute;left:0;right:0;top:0;height:13px;background:repeating-linear-gradient(90deg,#fff 0 calc(12.5% - 0px),rgba(255,255,255,.22) 0 25%)}
.pasmo li{position:relative;padding:36px clamp(12px,2vw,32px) 0 0;display:flex;flex-direction:column}
.pasmo li::before{content:"";position:absolute;left:0;top:-10px;width:3px;height:33px;background:#fff}
.pas-d{font:400 clamp(3rem,7.4vw,7.6rem)/1 var(--nadpis);font-variant-numeric:tabular-nums}
.pas-d small{margin-left:.14em;font-size:.42em}
.pas-n{margin-top:.5rem;font-size:clamp(1.0625rem,1.4vw,1.3rem);line-height:1.3;color:#E6F3F7;max-width:21em}
.ok-pozn{margin:clamp(36px,4.4vw,64px) 0 0;font-size:1.0625rem;color:#D8ECF2}

/* ---------- cesta a kontakt ---------- */
.cesta{background:var(--papir);padding:clamp(76px,10vw,152px) var(--okraj) clamp(60px,7vw,108px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(40px,5vw,84px) clamp(20px,2.6vw,40px)}
.ce-horni{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,88px);align-items:end}
.cesta address{font-style:normal;font-size:clamp(1.2rem,1.7vw,1.5rem);margin:1rem 0 .3rem}
.kontakt-tl{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.kontakt-fake{margin:.55rem 0 0}
.trasa{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.trasa li{font-size:clamp(1.125rem,1.5vw,1.35rem);line-height:1.34}
.trasa strong{font-family:var(--nadpis);font-weight:400;font-size:1.25em;color:var(--tun)}
.ce-recepce{grid-column:1/8}
.hodiny{border-collapse:collapse;margin:.8rem 0 .9rem;width:100%}
.hodiny th,.hodiny td{padding:.62rem .9rem .62rem 0;text-align:left;font-weight:400;font-size:clamp(1.125rem,1.5vw,1.3rem);white-space:nowrap;border-bottom:2px dotted rgba(31,61,43,.3)}
.hodiny td{font-family:var(--nadpis);font-variant-numeric:tabular-nums}
.hodiny .hod-p{width:44%;padding-right:0}
.hod-p i{display:block;height:15px;border-radius:2px;background:var(--cara)}
.hodiny tr.dnes th,.hodiny tr.dnes td{font-weight:700}
.hodiny tr.dnes .hod-p i{background:var(--slunce);box-shadow:0 0 0 2px var(--zelen)}
.postup{grid-column:8/-1}
.postup ol{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:1.1rem;counter-reset:krok}
.postup li{counter-increment:krok;position:relative;padding-left:3.1rem;line-height:1.36}
.postup li::before{content:counter(krok);position:absolute;left:0;top:-.2rem;font:400 2.5rem/1 var(--nadpis);color:var(--tun)}
.postup b{font-weight:700}

/* ---------- poptávka ---------- */
.poptavka{background:var(--zelen);color:var(--papir2);padding:clamp(76px,10vw,152px) var(--okraj);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,5vw,96px);align-items:start}
.po-text{position:sticky;top:96px}
.po-text h2{font-size:clamp(2.7rem,6vw,5.8rem)}
.po-text p{margin:1.1rem 0 0;max-width:30em;font-size:clamp(1.125rem,1.45vw,1.3rem);color:#E3EBDD}
.po-text strong{color:var(--papir2)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.2rem;background:var(--papir2);color:var(--zelen);padding:clamp(20px,3vw,44px);border-radius:4px}
.pole{grid-column:1/-1}
.pole-pul{grid-column:span 1}
.hint-celek{grid-column:1/-1;margin:-.5rem 0 0!important}
.pole label{display:block;font-weight:700;margin-bottom:.25rem}
.nep{font-weight:400;color:var(--ink2)}
.req{color:var(--chyba)}
.pole input,.pole select,.pole textarea{width:100%;min-height:52px;padding:.55rem .8rem;font:400 1.0625rem var(--sans);color:var(--zelen);background:#fff;border:2px solid var(--zelen);border-radius:6px}
.pole textarea{resize:vertical;min-height:96px}
.pole [aria-invalid=true]{border-color:var(--chyba);box-shadow:0 0 0 1px var(--chyba)}
.hint{font-size:1.0625rem;color:var(--ink2);margin:.25rem 0 0}
.err{font-size:1.0625rem;font-weight:700;color:var(--chyba);margin:.3rem 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.odeslat{grid-column:1/-1;margin:.2rem 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem}
.odeslat .hint{margin:0}
.vysledek{grid-column:1/-1;padding:1rem 1.2rem;background:var(--tr1);border-radius:4px}
.vysledek h3{margin-bottom:.4rem}
.vysledek p{margin:0}

/* ---------- pravidla ---------- */
.pravidla{background:var(--tr1);padding:clamp(60px,7.4vw,112px) var(--okraj)}
.pravidla h2{font-size:clamp(1.6rem,2.6vw,2.4rem)}
.pr-seznam{margin:clamp(16px,2vw,28px) 0 0}
.pr-seznam>div{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4px clamp(20px,3vw,48px);align-items:baseline;padding:clamp(12px,1.5vw,22px) 0;border-top:2px solid rgba(31,61,43,.32)}
.pr-seznam dt{font:400 clamp(2.2rem,5.2vw,5rem)/1.02 var(--nadpis)}
.pr-seznam dd{margin:0;font-size:clamp(1.15rem,1.9vw,1.7rem);line-height:1.25;font-variant-numeric:tabular-nums}

/* ---------- konec: noc nad tůňkou ---------- */
.konec{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--noc);color:var(--papir2);isolation:isolate}
.konec-m{position:absolute;inset:0;z-index:-1}
.mapa-k{position:absolute;right:max(-30vw,-46vh);top:50%;width:max(150vw,210vh);aspect-ratio:8/5;transform:translateY(-44%)}
.mapa-k img{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none}
.konec-t{position:absolute;inset:0;background:#2A3564;mix-blend-mode:multiply}
.konec-in{width:100%;padding:clamp(96px,14vh,160px) var(--okraj) clamp(44px,7vh,80px)}
.konec h2{font-size:clamp(3.5rem,11.4vw,12rem);line-height:.92;max-width:9.4em}
.konec-stav{margin:clamp(20px,3vw,40px) 0 0;font-size:clamp(1.125rem,1.5vw,1.35rem)}
.konec-stav strong{font-family:var(--nadpis);font-weight:400;font-size:1.3em;margin-right:.3em}
.konec-btn{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.1rem 0 0}
.konec-fake{margin:.5rem 0 0}

/* ---------- patička ---------- */
.pata{background:#081021;color:#D9E1E6;padding:clamp(36px,4.4vw,64px) var(--okraj) clamp(30px,3.4vw,48px);font-size:1.0625rem}
.pata-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:6px clamp(24px,4vw,64px);align-items:start}
.pata p{margin:0}
.pata-n{grid-row:span 2;font:400 clamp(2.2rem,4vw,3.8rem)/1 var(--nadpis);color:var(--papir2)}
.pata-mer{grid-row:span 3;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:1rem;text-align:center;max-width:7rem}
.pata-mer svg{width:60px;height:60px}
.pata .koncept{grid-column:1/3;margin-top:14px;font-size:1.0625rem;color:#B9C6CF}
.pata-zpet{grid-column:1/3;margin-top:4px!important}
.pata a{display:inline-block;padding:.7rem 0;color:var(--nebe);font-weight:700}
.pata a:hover{color:#fff}

/* ---------- ukázka FORMA: vysvětlení ---------- */
.pop{max-width:min(27rem,calc(100vw - 2rem));padding:1.4rem 1.4rem 1.5rem;border:2px solid var(--zelen);border-radius:10px;color:var(--zelen);background:var(--papir2);box-shadow:0 30px 60px -20px rgba(31,61,43,.6)}
.pop::backdrop{background:rgba(31,61,43,.66)}
.pop h2{font-size:clamp(1.6rem,6.4vw,2rem);margin:0 0 .7rem}
.pop p{margin:0 0 1.2rem}
.pop .btn{width:100%}
/* náhrada bez popover (Safari < 17): okno a ztmavení přepíná třída is-open; bez :popover-open, aby starý prohlížeč pravidlo nezahodil */
.pop-fb{display:none;position:fixed;top:50%;left:50%;z-index:100;width:27rem;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);overflow:auto;margin:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
.pop-fb.is-open{display:block}
.pop-shade{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:rgba(31,61,43,.66)}
.pop-shade.is-open{display:block}

/* ---------- oheň žije jen v noci ---------- */
.noc .ohen::after{animation:plamen 1.1s steps(7,jump-none) infinite alternate}
.noc .o1::after{animation-duration:.9s;animation-delay:-.3s}
.noc .o2::after{animation-duration:1.3s;animation-delay:-.6s}
@keyframes plamen{0%{transform:scale(.88)}30%{transform:scale(1.12)}55%{transform:scale(.96)}80%{transform:scale(1.2)}100%{transform:scale(1)}}

.p-vazka{left:60.38%;top:25.80%}.p-rakos{left:61.88%;top:36.80%}.p-olse{left:60.50%;top:48.40%}.p-mlynek{left:63.50%;top:61.00%}.p-bufet{left:58.25%;top:86.00%}.p-budova{left:62.75%;top:72.40%}.p-louka{left:38.25%;top:25.60%}.p-ohen{left:78.25%;top:56.60%}.sv-vazka{left:60.38%;top:25.80%;width:10.5%}.sv-rakos{left:61.88%;top:36.80%;width:11%}.sv-olse{left:60.50%;top:48.40%;width:11.5%}.sv-mlynek{left:63.50%;top:61.00%;width:12.5%}.sv-bufet{left:58.25%;top:80.60%;width:15%}.o0{left:41.25%;top:20.50%}.o1{left:73.00%;top:61.60%}.o2{left:83.50%;top:59.60%}.hp-0{left:41.65%;top:6.53%}.hp-1{left:56.38%;top:44.40%}.hp-2{left:64.80%;top:89.10%}.hp-3{left:106.02%;top:47.00%}.zrcadlo{left:65.62%;top:17.00%;width:26.25%;height:34.80%}
.b-11{left:720px;top:318px}.b-12{left:720px;top:415px}.b-14{left:720px;top:609px}.b-15{left:822px;top:318px}.b-17{left:822px;top:512px}.b-18{left:822px;top:609px}.b-vazka{left:918px;top:222px;width:96px;height:72px}.b-rakos{left:938px;top:330px;width:105px;height:76px}.b-olse{left:911px;top:444px;width:114px;height:80px}.b-mlynek{left:954px;top:568px;width:123px;height:84px}
.pr-8-21{margin-left:12.50%;width:81.25%}.pr-9-18{margin-left:18.75%;width:56.25%}.pr-9-19{margin-left:18.75%;width:62.50%}

/* ---------- menší počítač ---------- */
@media (max-width:1180px){
  .nav a{padding:.4rem .4rem;font-size:1rem}
  .kalk{grid-template-columns:minmax(0,1fr) 340px}
  .tip{display:none}
}
@media (max-width:1180px) and (min-width:768px) and (min-aspect-ratio:1/1){.p-budova,.p-bufet{display:none}}

/* ---------- telefon a tablet na výšku: vlastní kompozice, mapa nahoře a pás dole ---------- */
@media (max-width:767px),(max-aspect-ratio:1/1){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:6px var(--okraj) 14px;background:var(--zelen)}
  .nav.on{display:flex}
  .nav a{font-size:1.15rem;min-height:48px}
  .brand-sub{display:none}
  .brand-name{font-size:1.15rem}
  .brand-mark{width:36px;height:36px}
  .top{padding-block:8px;gap:10px}
  .mapa{width:max(100vw,160svh)}
  .popisky{font-size:1.2cqw}
  .hv-popisky{font-size:1.16cqw}
  .obloha{top:62px;height:9svh}
  .slunce,.mesic{width:52px;height:52px;margin:-26px 0 0 -26px}
  .hodiny-rad span{font-size:.8125rem}
  .uvod{left:0;right:0;bottom:0;display:block;padding:18px var(--okraj) calc(14px + env(safe-area-inset-bottom));background:var(--zelen);pointer-events:auto}
  .uvod-n{max-width:none;text-shadow:none}
  .h1-n{width:auto;font-size:clamp(2.9rem,14.2vw,4.4rem);line-height:.96}
  .h1-p{margin-top:.28em;font-size:1.3rem}
  .lede{display:none}
  .cedule{width:auto;padding:0;margin-top:.8rem;background:none;box-shadow:none;border-radius:0}
  .cedule::before,.cedule::after{display:none}
  .cedule-h{font-size:clamp(1.8rem,8vw,2.4rem)}
  .cedule-t,.cedule-b{font-size:1rem}
  .cedule-btn .btn{flex:1 1 130px;padding-inline:.6rem}
  .dn{left:0;right:0;bottom:0;width:auto;padding:14px var(--okraj) calc(16px + env(safe-area-inset-bottom));background:var(--zelen);text-shadow:none}
  .cas{font-size:clamp(3.2rem,16vw,4.4rem);line-height:1}
  .kroky{margin-top:.1em;height:4.6rem}
  .krok{font-size:1.45rem}
  .tip{display:none}

  .hra-hlava{grid-template-columns:1fr;gap:14px;padding-top:72px;padding-bottom:26px}
  .hra-hlava h2{font-size:clamp(3rem,14.6vw,5.4rem)}
  .kalk{grid-template-columns:minmax(0,1fr)}
  .plocha{position:static;height:auto;display:block}
  .okno{height:min(118vw,560px)}
  .okno-tip{padding-inline:var(--okraj)}
  .pl{left:4%;right:4%;top:62px}
  .lista{position:static}
  .vec{width:calc(var(--w,14)*1.38%)}
  .tac ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
  .zt-p{min-height:88px;font-size:.875rem}
  .zt-p svg{width:54px;height:33px}
  .uctenka{margin:18px var(--okraj) 44px}

  .chatky,.stany,.zazemi,.cesta,.poptavka{padding-top:68px;padding-bottom:56px}
  .ch-hlava,.st-hlava,.zz-in,.ch-spodek,.poptavka,.ce-horni{grid-template-columns:minmax(0,1fr)}
  .ch-hlava{gap:14px}
  .strechy{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:40px;margin-top:40px}
  .str{display:grid;grid-row:auto;grid-template-rows:none;grid-template-columns:1fr auto;column-gap:14px;align-items:baseline}
  .str-k{grid-column:1/-1;margin-bottom:.3rem}
  .str-vazka .str-k{width:62%}.str-rakos .str-k{width:72%}.str-olse .str-k{width:84%}.str-mlynek .str-k{width:100%}
  .str h3{margin-top:.2em;font-size:clamp(2.6rem,12vw,3.6rem)}
  .str-c{margin:0;text-align:right}
  .str-t{grid-column:1/-1;margin-top:.3rem}
  .st-hlava h2{font-size:clamp(3rem,14.6vw,5.4rem)}
  .st-hlava{gap:14px}
  .st-sloupce{grid-template-columns:minmax(0,1fr);gap:36px;margin-top:32px}
  .st-sloupce h3{min-height:0}
  .zz-in h2{position:static}
  .zz-in{gap:28px}
  .bf-spodek{display:block}
  .bf-spodek .bf-cas{margin-bottom:.5rem}
  .pasmo{grid-template-columns:minmax(0,1fr);gap:26px;padding-left:22px;margin-top:36px}
  .pasmo::before{left:0;right:auto;top:6px;bottom:6px;width:10px;height:auto;background:repeating-linear-gradient(180deg,#fff 0 12.5%,rgba(255,255,255,.22) 0 25%)}
  .pasmo li{padding:0}
  .pasmo li::before{left:-26px;top:.6em;width:26px;height:3px}
  .pas-d{font-size:clamp(3.2rem,16vw,4.6rem)}
  .cesta{display:flex;flex-direction:column;gap:40px}
  .ce-horni{gap:24px}
  .kontakt-tl .btn{width:100%}
  .kontakt-tl li{width:100%}
  .hodiny th,.hodiny td{white-space:normal;font-size:1.0625rem;padding-right:.5rem}
  .hodiny .hod-p{display:none}
  .po-text{position:static}
  .poptavka{gap:26px}
  .form{grid-template-columns:minmax(0,1fr);padding:18px 16px;margin-inline:calc(var(--okraj) * -.4)}
  .pole-pul{grid-column:1/-1}
  .odeslat .btn{width:100%}
  .pr-seznam>div{grid-template-columns:minmax(0,1fr)}
  .konec h2{font-size:clamp(3.3rem,16vw,6rem)}
  .konec-btn .btn{width:100%}
  .mapa-k{right:auto;left:-124vh;width:320vh}
  .pata-in{grid-template-columns:minmax(0,1fr) auto}
  .pata-n,.pata-h{grid-column:1/2}
  .pata-mer{grid-column:2;grid-row:1/3}
  .pata .koncept,.pata-zpet{grid-column:1/-1}
}
@media (max-width:359px){
  :root{--okraj:12px}
  .brand-name{font-size:1.05rem}
  .brand-mark{width:32px;height:32px}
  .menu-btn{padding:0 .6rem}
  .top-cta{padding-inline:.7rem}
  .cedule-btn .btn{flex-basis:100%}
}
/* nízký telefon nebo vodorovně: nadpis se nesmí bít s cedulí */
@media (max-height:640px) and (max-width:767px){
  .h1-p{display:none}
  .h1-n{font-size:2.5rem}
  .cedule{margin-top:.3rem}
  .cedule-b{display:none}
  .cedule-fake{margin-top:.25rem!important}
  .cedule-h{font-size:1.7rem}
}
@media (max-height:700px) and (min-width:768px) and (min-aspect-ratio:1/1){
  .lede{display:none}
  .h1-n{font-size:clamp(3.4rem,7vw,6rem)}
  .cedule-h{font-size:2rem}
  .cedule{padding-block:14px 12px}
}
/* telefon na šířku: cedule se musí vejít pod hlavičku */
@media (max-height:480px) and (min-aspect-ratio:1/1){
  .uvod{bottom:10px;left:var(--okraj);right:var(--okraj);display:flex;padding:0;background:none;pointer-events:none}
  .uvod-n{max-width:40vw}
  .h1-n{width:auto;font-size:2.6rem}
  .h1-p{display:none}
  .cedule{width:360px;margin:0;padding:10px 14px 8px;background:var(--zelen);box-shadow:0 0 0 2px #152C20}
  .cedule::before,.cedule::after,.cedule-b{display:none}
  .cedule-h{font-size:1.5rem}
  .cedule-t{font-size:.9375rem}
  .cedule-btn{margin-top:.4rem!important}
  .cedule-btn .btn{min-height:40px;font-size:.9375rem;padding:.2rem .5rem}
  .cedule-fake{margin-top:.2rem!important}
  .fake{font-size:.875rem}
  .tip,.obloha{display:none}
  .dn{left:var(--okraj);right:auto;bottom:10px;width:46vw;padding:6px 12px;background:rgba(31,61,43,.9)}
  .cas{font-size:2.2rem}
  .krok{font-size:1.1rem}
  .kroky{height:3.2rem}
}

/* omezený pohyb: hotová kompozice bez scény */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sednout{animation:none}
  .svet{transition:none}
  .deska{transition:none}
  .noc .ohen::after{animation:none}
  
.den{height:auto;background:var(--zelen)}
.pod{position:relative;height:auto;overflow:visible}
.ram{position:relative;height:100vh;height:100svh}
.dn{position:static;width:auto;padding:clamp(40px,6vw,88px) var(--okraj)}
.cas{display:none}
.dn-h{position:static;width:auto;height:auto;clip:auto;white-space:normal;margin-bottom:.5em;font-size:clamp(2.2rem,4vw,3.6rem)}
.kroky{position:static;height:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px clamp(20px,3vw,44px)}
.krok{position:static;opacity:1!important;font-size:clamp(1.2rem,1.7vw,1.5rem)}
.krok time{position:static;width:auto;height:auto;clip:auto;display:block;font-size:clamp(2.6rem,4.4vw,4rem);line-height:1.05;margin-bottom:.15em}
.tip{display:none}
.top{position:absolute}

}
@media print{.top{display:none}.den{height:auto}.pod{position:static;height:auto}}
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
::selection{background:#1f3d2b;color:#ffffff}
:where(html){scrollbar-color:#1f3d2b #f1efdf}
:where(input,textarea){caret-color:#1f3d2b}
:where(a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible){outline:3px solid #1f3d2b;outline-offset:3px}
:where(a){text-underline-offset:.2em}
:where(table,dd,time,data,[class*=cen],[class*=price],[class*=hod],[class*=hours],[class*=doba],[class*=kc]){font-variant-numeric:tabular-nums}
symbol[id^="v-"] *,svg:has(> use[href^="#v-"]) *{vector-effect:non-scaling-stroke}symbol[id^="v-"] [class^="d-"]:not(.d-qty),svg:has(> use[href^="#v-"]) [class^="d-"]:not(.d-qty){stroke-width:2px}
/* /FORMA-POLISH */
