/* Alfa Slab One, Zilla Slab, Caveat – SIL Open Font License 1.1 (fonts.google.com), uložené přímo u webu; Caveat jen české znaky */
@font-face{font-family:'Alfa Slab One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/alfa-slab-one-400-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:'Alfa Slab One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/alfa-slab-one-400-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:'Zilla Slab';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/zilla-slab-400-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:'Zilla Slab';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/zilla-slab-400-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:'Zilla Slab';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/zilla-slab-400i-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:'Zilla Slab';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/zilla-slab-400i-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:'Zilla Slab';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/zilla-slab-700-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:'Zilla Slab';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/zilla-slab-700-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:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/caveat-600-cz.woff2) format('woff2')}
@font-face{font-family:'Slab Fallback';src:local('Rockwell'),local('Georgia');size-adjust:98%}
/* Hostinec U Zvoničky – ukázka FORMA. Svět: hospoda, kde poledne zvoní.
   Hospodská hnědočerná je tma před dvanáctou, žlutá je poledne, bílý papír lístků, modrá propiska na poznámky.
   Žlutá patří poledni a konci stránky, ostatní pásy jsou tmavé nebo papírové, drží to velká čísla z hospody. */
:root{
  --yellow:#f2c94c;
  --yellow-deep:#e4b42f;
  --ink:#2b1d0e;
  --ink-mute:#5a4630;
  --on-ink:#f7ecd6;
  --on-ink-mute:#dcc7a3;
  --paper:#fffefa;
  --biro:#1d3fbf;
  --line:rgba(43,29,14,.24);
  --sign:'Alfa Slab One','Slab Fallback',Rockwell,Georgia,serif;
  --type:'Zilla Slab','Slab Fallback',Rockwell,Georgia,serif;
  --hand:'Caveat','Segoe Print','Bradley Hand',cursive;
  --h:4rem;
  --gut:clamp(1rem,4vw,3rem);
  --wide:max(var(--gut),calc(50% - 38rem + var(--gut)));
  --okraj:clamp(1rem,4.4vw,4rem);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.75rem;scrollbar-color:var(--ink) var(--yellow)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--yellow);color:var(--ink);font:400 1.125rem/1.5 var(--type);font-variant-numeric:lining-nums;caret-color:var(--biro);text-wrap:pretty}
::selection{background:var(--ink);color:var(--yellow)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1.5px}
h1,h2,h3{margin:0;text-wrap:balance}
h1,h2{font-family:var(--sign);font-weight:400;line-height:1.02;letter-spacing:-.005em}
h2{font-size:clamp(2.4rem,6vw,5.4rem)}
p{margin:0 0 1rem}
:focus-visible{outline:3px solid var(--biro);outline-offset:3px;border-radius:2px}
.pas-ink :focus-visible,.hall :focus-visible{outline-color:var(--yellow)}
.skip{position:absolute;left:-999px;top:0;background:var(--paper);padding:.75rem 1rem;z-index:50}
.skip:focus{left:1rem;top:1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.obri{font:400 clamp(7rem,23vw,30rem)/.78 var(--sign);letter-spacing:-.01em}

/* propiska */
.biro{font:600 1.5rem/1.15 var(--hand);color:var(--biro);margin:0}

/* tlačítka – razítkové obdélníky */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.7rem 1.4rem;border-radius:6px;font:700 1.125rem/1.15 var(--type);text-decoration:none;cursor:pointer;text-align:center;transition:background-color .18s,color .18s,border-color .18s,transform .14s}
.btn:active{transform:translateY(1px)}
.btn-ink{background:var(--ink);color:var(--paper);border:2px solid var(--ink)}
.btn-ink:hover{background:#45301b;border-color:#45301b}
.btn-line{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-line:hover{background:rgba(43,29,14,.1)}
.btn-zluta{background:var(--yellow);color:var(--ink);border:2px solid var(--yellow)}
.btn-zluta:hover{background:var(--on-ink);border-color:var(--on-ink)}
.btn-svetla{background:transparent;color:var(--on-ink);border:2px solid var(--on-ink)}
.btn-svetla:hover{background:rgb(247 236 214 / .14)}

/* hlavička – malovaná cedule */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;height:var(--h);padding:0 var(--gut);background:var(--yellow);border-bottom:2px solid var(--ink)}
.mark{display:flex;align-items:center;gap:.6rem;text-decoration:none;margin-right:auto}
.mark-icon{width:2.4rem;height:2.4rem;flex:none;fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.mark-icon .door{fill:var(--ink);stroke:none}
.mark-text{display:flex;flex-direction:column;line-height:1}
.mark-name{font:400 1.55rem/1 var(--sign)}
.mark-sub{font:700 .82rem/1.3 var(--type);color:var(--ink-mute);margin-top:.15rem;white-space:nowrap}
.nav{display:none}
.call{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.45rem .95rem;border-radius:6px;background:var(--ink);color:var(--yellow);font:700 1rem/1 var(--type);text-decoration:none}
.call svg{width:1.05rem;height:1.05rem;fill:currentColor}

/* úvod */
.hero{padding:clamp(1.25rem,5vw,4rem) var(--wide) clamp(2.25rem,6vw,4rem)}
.hero h1{font-size:clamp(2.35rem,10.5vw,4.6rem);max-width:16ch}
.hero-lead{font-size:clamp(1.1rem,2.6vw,1.3rem);max-width:36rem;margin:.9rem 0 1.4rem;color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;max-width:38rem}
.hero-actions .btn{flex:1 1 15rem}
.delivery{margin:.7rem 0 0;transform:rotate(-.8deg);transform-origin:left}
.delivery .ln{display:block;min-height:1.15em}
.demo-note{font-size:1rem;color:var(--ink-mute);margin:.45rem 0 0}
.demo-note-inline{font-size:1rem;font-weight:400;opacity:.88;white-space:nowrap}
.js #status.write-in{animation:pen .7s var(--ease) both}
@keyframes pen{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* POLEDNE – scéna. Bez JS a při omezeném pohybu je vidět rovnou žlutý stav 12:00, tma se přidá jen s třídou .scena. */
.poledne{position:relative;overflow-x:clip;background:var(--yellow);--zh:min(64svh,40vw);--zw:calc(var(--zh)*.7143);--f:min(19.4vw,36svh)}
.stage{position:relative;height:calc(100svh - var(--h));overflow:hidden;background:var(--yellow);color:var(--ink)}
.vrstva{position:absolute;inset:0;padding:0 var(--okraj);display:grid;grid-template-columns:minmax(0,1fr) var(--zw) minmax(0,1fr);grid-template-rows:var(--zh) minmax(0,1fr);column-gap:clamp(.5rem,1.4vw,1.4rem)}
.den{background:var(--yellow);color:var(--ink);--b1:var(--ink);--b2:#150d05;--b3:#6a4c2f;--b4:#a98a62}
.noc{display:none;background:var(--ink);color:var(--yellow);--b1:var(--yellow);--b2:#cf9e24;--b3:#fbe7a0;--b4:#94690c}
.zvon{grid-column:2;grid-row:1;position:relative;height:var(--zh);width:var(--zw);margin-top:calc(var(--zh)*-.022)}
.kyv{position:absolute;inset:0;transform-origin:50% 7.9%}
.kyv svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.srdce{transform-origin:50% 19.6%}
.z1{fill:var(--b1)}.z2{fill:var(--b2)}.z3{fill:var(--b3)}
.sv{fill:none;stroke:var(--b3);stroke-width:5;stroke-linecap:round}
.pas{fill:none;stroke:var(--b2);stroke-width:6;stroke-linecap:round}.pas2{stroke-width:9}
.opis{font:400 20px var(--sign);letter-spacing:.09em;fill:var(--b4)}
.cas{display:contents;margin:0}
.cas span{font:400 var(--f)/.8 var(--sign);font-variant-numeric:lining-nums;grid-row:1;align-self:end;margin-bottom:calc(var(--zh)*.33)}
.cas .h{grid-column:1;justify-self:end;margin-right:1.6vw}
.cas .m{grid-column:3;justify-self:start;margin-left:1.6vw}
.cas .sep{display:none}
.veta{grid-column:1/-1;grid-row:2;align-self:center;justify-self:center;margin:0;white-space:nowrap;font:400 min(7.6vw,13svh)/1 var(--sign)}
.zvon-pozn{display:none}
.pozn,.zvon-pozn{grid-row:1;align-self:start;margin:clamp(1rem,2.4svh,1.6rem) 0 0;font:600 clamp(1.5rem,2.2vw,2.1rem)/1.1 var(--hand)}
.pozn{grid-column:1;justify-self:start;transform:rotate(-1.4deg);transform-origin:left}
.zvon-pozn{grid-column:3;justify-self:end;text-align:right;transform:rotate(1.4deg);transform-origin:right;color:currentColor}
.den .zvon-pozn{color:var(--biro)}
.kruhy{display:none;position:absolute;left:0;top:0;width:0;height:0}
.kruhy i{position:absolute;left:-60vmax;top:-60vmax;width:120vmax;height:120vmax;border-radius:50%;border:1.1vmax solid var(--yellow);opacity:0;transform:scale(.08);will-change:transform,opacity}
.zvon-btn{position:absolute;left:50%;top:0;width:var(--zw);height:var(--zh);transform:translateX(-50%);background:none;border:0;padding:0;margin:0;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.zvon-btn[hidden]{display:none}
.zvon-btn:focus-visible{outline:3px solid #fff;outline-offset:-3px;box-shadow:0 0 0 3px var(--ink)}
.js .zvon-pozn{display:block}
.drz{display:none}
.scena{--drz:2}
.scena .stage{position:sticky;top:var(--h)}
.scena .noc{display:grid}
.scena .kruhy{display:block}
.scena .den{clip-path:circle(0 at 50% 50%)}
.scena .drz{display:block;height:calc(var(--drz)*100svh)}
.scena .kyv,.scena .srdce{will-change:transform}

/* obří lístek ve fólii */
.listek{position:relative;z-index:2;padding:clamp(1.5rem,3vw,3rem) clamp(.5rem,2.6vw,2.5rem) clamp(3rem,7vw,6.5rem)}
.listek::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(6rem,14vw,13rem);background:var(--yellow);z-index:-1}
.sleeve{position:relative;padding:0 .5rem .5rem;margin-top:.8rem;background:rgba(255,255,255,.36);border:1px solid rgba(255,255,255,.95);border-top-color:transparent;border-radius:0 0 9px 9px}
.sleeve::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(118deg,transparent 14%,rgba(255,255,255,.06) 22%,rgba(255,255,255,.14) 30%,rgba(255,255,255,.04) 40%,transparent 50%)}
.sleeve-form::after{display:none}
.sleeve>.sheet{margin-top:-.8rem}
.sheet{position:relative;background:var(--paper);color:var(--ink);padding:1.1rem 1.1rem 1rem;border-radius:2px}
.sleeve-menu{margin-left:auto;margin-right:auto;max-width:110rem;transform-origin:50% 0}
.sheet-menu{container-type:inline-size;padding:clamp(1rem,3.4vw,3.5rem) clamp(.9rem,3.8vw,4rem) clamp(1.25rem,3vw,3rem)}
.sheet-head{padding-bottom:clamp(.5rem,1vw,1rem);border-bottom:4px double var(--ink)}
.sheet-head h2{font:400 12.9cqi/.96 var(--sign);text-transform:uppercase;letter-spacing:0;white-space:nowrap}
.sheet-rada{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 2rem;padding:clamp(.7rem,1.2vw,1.1rem) 0 clamp(.5rem,1vw,.9rem)}
.sheet-date{font:italic 400 clamp(1.35rem,2.1vw,1.75rem)/1.2 var(--type);margin:0;color:var(--ink)}
.biro-under{padding-bottom:.25em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5c14-4 22 2 36-1s24-3 38 0 26 1 42-2' fill='none' stroke='%231d3fbf' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/100% .45em no-repeat}
.status{font-size:clamp(1.45rem,2vw,1.75rem);min-height:1.15em;transform:rotate(-1.2deg);transform-origin:left}
.dny{display:flex;gap:.1rem;margin-left:auto}
.dny[hidden]{display:none}
.dny button{min-width:2.9rem;min-height:2.9rem;padding:0 .35rem;background:none;border:2px solid transparent;border-radius:52% 46% 55% 47% / 62% 52% 58% 44%;color:var(--ink-mute);font:600 1.5rem/1 var(--hand);cursor:pointer;transition:color .15s}
.dny button:hover{color:var(--biro)}
.dny button[aria-pressed=true]{color:var(--biro);border-color:var(--biro)}
.dishes{list-style:none;margin:0;padding:0;border-top:1px dashed var(--line)}
.dish{display:grid;grid-template-columns:clamp(2rem,5cqi,4.2rem) minmax(0,1fr) auto;column-gap:clamp(.4rem,1cqi,1rem);align-items:baseline;padding:clamp(.6rem,1.15cqi,.95rem) 0;border-bottom:1px dashed var(--line)}
.d-no{font:400 clamp(1.25rem,2.9cqi,2.3rem)/1 var(--sign)}
.d-name{font-size:clamp(1.25rem,2.75cqi,2.15rem);line-height:1.2;font-weight:700}
.d-name small{font-size:clamp(.94rem,1.45cqi,1.0625rem);font-weight:400;color:var(--ink-mute);white-space:nowrap;margin-left:.2rem;font-variant-numeric:tabular-nums}
.d-price{font:400 clamp(1.25rem,2.9cqi,2.3rem)/1 var(--sign);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.dish-soup .d-name{font-style:italic;font-weight:400}
.sheet-pata{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2.5rem;margin-top:clamp(.9rem,2vw,1.6rem)}
.more-note{margin:0 0 .6rem}
.ring{display:inline-block;padding:.35rem .9rem .4rem;border:2px solid var(--biro);border-radius:52% 46% 55% 47% / 62% 52% 58% 44%;transform:rotate(-2deg)}
.sheet-foot{font-size:clamp(1rem,1.2vw,1.0625rem);line-height:1.4;color:var(--ink-mute);margin:0}
.sheet-akce{text-align:right}
.rozvoz-pozn{min-height:1.15em;margin-bottom:.5rem;transform:rotate(-.6deg);transform-origin:right}
.sheet-tl{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}
.sheet-akce .sheet-tl{justify-content:flex-end}

/* hostinec */
.pub{background:var(--ink);color:var(--on-ink);padding-top:clamp(3.5rem,8vw,7.5rem)}
.pub-hlava{display:grid;gap:1.5rem;padding:0 var(--okraj) clamp(2.5rem,6vw,5.5rem)}
.pub h2{font-size:clamp(2.4rem,5.4vw,5rem);color:var(--on-ink)}
.pub-cislo{display:block;margin-top:.34em;white-space:nowrap}
.pub-cislo .obri{color:var(--yellow);font-size:clamp(7rem,21vw,26rem)}
.pub-text p{font-size:clamp(1.15rem,1.75vw,1.5rem);line-height:1.42;max-width:32em}
.pub-text p:last-child{margin-bottom:0}
.dvojice{display:grid;gap:clamp(.25rem,.5vw,.5rem)}
.dvojice figure{margin:0}
.dvojice img{width:100%;aspect-ratio:4/3;object-fit:cover}
.f-vycep img{object-position:48% 60%}
.f-zahradka img{object-position:50% 58%}
.dvojice figcaption{font:400 clamp(1.4rem,2.8vw,2.5rem)/1.05 var(--sign);color:var(--yellow);padding:.8rem var(--okraj) 1.7rem}

/* sál */
.hall{position:relative;isolation:isolate;background:var(--ink);color:var(--on-ink);display:flex;flex-direction:column;justify-content:flex-end;min-height:100svh}
.hall-foto{margin:0}
.hall-foto img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 70%}
.hall-obsah{display:grid;gap:1.4rem;padding:0 var(--okraj) clamp(2.5rem,5vw,4.5rem)}
.hall h2{font-size:clamp(1.8rem,3.6vw,3.2rem);color:var(--on-ink)}
.hall-mala{display:block;margin-bottom:.32em}
.hall-cislo{display:flex;align-items:baseline;gap:.24em;font-size:clamp(2.2rem,4.8vw,4.4rem);white-space:nowrap}
.hall-cislo .obri{color:var(--yellow);font-size:min(26vw,44svh)}
.hall-text p{font-size:clamp(1.15rem,1.75vw,1.5rem);line-height:1.42;max-width:32em}
.hall-text .hall-note{font:600 clamp(1.5rem,2.1vw,1.8rem)/1.15 var(--hand);color:var(--yellow);margin:.2rem 0 1.1rem;transform:rotate(-1deg);transform-origin:left}
.hall-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}

/* penzion */
.stay{background:var(--paper);color:var(--ink)}
.stay-hlava{display:grid}
.stay-text{padding:clamp(3.5rem,8vw,7.5rem) var(--okraj) clamp(2rem,4vw,3.5rem)}
.stay h2{display:flex;align-items:flex-end;gap:.18em;margin-bottom:clamp(1.25rem,2.6vw,2.4rem);font-size:clamp(2.2rem,4.4vw,4.2rem);line-height:1}
.stay h2 .obri{font-size:clamp(9rem,21vw,26rem);line-height:.74}
.stay-sl{display:block;padding-bottom:.02em}
.stay-text p{font-size:clamp(1.125rem,1.5vw,1.3rem);max-width:33em}
.stay-text p:last-child{margin-bottom:0}
.stay-foto{margin:0}
.stay-foto img{width:100%;height:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 72%}
.klice{padding:clamp(2.5rem,6vw,5.5rem) var(--okraj) clamp(3.5rem,7vw,6.5rem)}
.klice h3{font:400 clamp(2rem,4.2vw,3.8rem)/1 var(--sign);margin-bottom:clamp(1.25rem,2.6vw,2.2rem)}
.klice h3 span{font:600 clamp(1.5rem,2.2vw,2rem)/1 var(--hand);color:var(--biro);margin-left:.4rem;white-space:nowrap}
.rada{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.6rem .9rem;border-top:.6rem solid var(--ink)}
.klic{position:relative;padding-top:clamp(1.1rem,2vw,1.8rem);transform-origin:50% 0}
.klic::before{content:"";position:absolute;left:50%;top:-.3rem;width:.55rem;height:calc(clamp(1.1rem,2vw,1.8rem) + 1.6rem);margin-left:-.28rem;background:var(--ink);border-radius:0 0 .3rem .3rem;z-index:2}
.klic-sv{position:absolute;left:50%;bottom:clamp(-3.6rem,-3.8vw,-2.5rem);width:clamp(3rem,5vw,4.6rem);height:auto;margin-left:clamp(.3rem,1.4vw,1.4rem);color:#d9a92a;transform:rotate(-9deg);transform-origin:50% 0;z-index:0}
.fob{position:relative;z-index:1;background:var(--ink);color:var(--on-ink);border-radius:clamp(3.5rem,8vw,7rem) clamp(3.5rem,8vw,7rem) 1rem 1rem;padding:clamp(2.7rem,4.6vw,4.1rem) .7rem clamp(1.1rem,2vw,1.8rem);text-align:center}
.fob::before{content:"";position:absolute;left:50%;top:1rem;width:1rem;height:1rem;margin-left:-.5rem;border-radius:50%;background:var(--paper)}
.fob p{margin:0}
.fob-cislo{font:400 clamp(4.6rem,10vw,9rem)/.86 var(--sign);color:var(--yellow)}
.fob-kdo{font-size:clamp(1.1rem,1.7vw,1.5rem);font-weight:700;color:var(--on-ink-mute)}
.fob-cena{font:400 clamp(1.45rem,2.9vw,2.6rem)/1.1 var(--sign);margin-top:.35em!important;white-space:nowrap}
.klice-pata{display:grid;gap:1.25rem;margin-top:clamp(4rem,7vw,6.25rem)}
.extra{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 2.6rem}
.extra li{font-size:clamp(1.15rem,1.6vw,1.4rem)}
.extra b{font:400 clamp(1.3rem,2vw,1.8rem)/1 var(--sign);margin-left:.15rem;white-space:nowrap}
.klice-akce{display:grid;gap:.5rem}
.price-note{transform:rotate(-1.4deg);transform-origin:left}
.klice>.sheet-foot{margin-top:1.1rem}

/* kde jsme */
.where{position:relative;background:var(--yellow);color:var(--ink);display:grid;gap:clamp(2.5rem,5vw,4rem);padding:clamp(3.5rem,8vw,7rem) var(--okraj)}
.where h2{font-size:clamp(2.2rem,4.8vw,4.4rem);max-width:15em;margin-bottom:clamp(1.5rem,3.2vw,2.8rem)}
.near{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:1.1rem}
.near li{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.25}
.near b{display:block;font:400 clamp(3.4rem,6.8vw,6.2rem)/.92 var(--sign);margin-bottom:.1em;white-space:nowrap}
.near-dal{font-size:clamp(1.125rem,1.5vw,1.3rem);max-width:36em}
.where address{font-style:normal;font-weight:700;font-size:clamp(1.15rem,1.6vw,1.35rem);margin-bottom:1rem}
.where-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin:0}
.where-tel{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}
.textlink{font-weight:700}
.cedule{position:relative;align-self:start;background:var(--ink);color:var(--on-ink);padding:clamp(1.5rem,3vw,2.75rem);border-radius:6px;transform:rotate(-.7deg);max-width:42rem}
.cedule::before,.cedule::after{content:"";position:absolute;bottom:100%;width:.3rem;height:2rem;background:var(--ink)}
.cedule::before{left:18%}.cedule::after{right:18%}
.ced-slovo{font:400 clamp(2.5rem,6vw,5.4rem)/1 var(--sign);color:var(--yellow);margin:0}
.ced-pod{font:600 clamp(1.5rem,2.2vw,2rem)/1.15 var(--hand);color:var(--on-ink);margin:.25rem 0 1.1rem;min-height:1.15em}
.hours{width:100%;border-collapse:collapse;font-variant-numeric:lining-nums tabular-nums;font-size:clamp(1.2rem,1.9vw,1.6rem)}
.hours th,.hours td{padding:.42rem 0;border-top:1px dashed rgb(247 236 214 / .34);text-align:left;font-weight:400}
.hours td{text-align:right;font-weight:700}
.hours tr.today th,.hours tr.today td{color:var(--yellow);font-weight:700}
.hours tr.today th::after{content:"dnes";font:600 1.35em/1 var(--hand);margin-left:.5rem}
.services{font-size:1.0625rem;line-height:1.45;margin:.9rem 0 0;color:var(--on-ink-mute)}
.hours-note{font-size:1.0625rem;color:var(--on-ink-mute);margin:.45rem 0 0}

/* napište nám */
.write{background:var(--ink);color:var(--on-ink);display:grid;gap:1.75rem;padding:clamp(3.5rem,8vw,7rem) var(--okraj)}
.write h2{color:var(--yellow);margin-bottom:1rem;font-size:clamp(2.6rem,7.4vw,6.8rem)}
.write-head p{font-size:clamp(1.15rem,1.75vw,1.5rem);line-height:1.42;max-width:26em}
.write-tel{margin:0}
.write-tel button{background:none;border:0;padding:0;font:400 clamp(1.5rem,2.8vw,2.5rem)/1.1 var(--sign);color:var(--on-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em;cursor:pointer;display:block;margin-bottom:.25rem}
.write-tel button:hover{color:var(--yellow)}
.form{padding:clamp(1.1rem,2.6vw,2.4rem)}
.form p{margin:0 0 .9rem}
.topics{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.45rem}
.topics legend{font-weight:700;margin-bottom:.45rem;padding:0}
.topics label{position:relative;display:inline-flex;align-items:center;border:2px solid transparent;border-radius:6px;padding:.4rem .8rem;cursor:pointer;min-height:2.75rem;text-decoration:underline dotted rgba(43,29,14,.45);text-underline-offset:.3em;margin:0}
.topics input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.topics label:has(input:checked){border-color:var(--biro);border-radius:52% 46% 55% 47% / 62% 52% 58% 44%;color:var(--biro);text-decoration:none;font-family:var(--hand);font-weight:600;font-size:1.45rem;line-height:1}
.topics label:has(input:focus-visible){outline:3px solid var(--biro);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.25rem}
.form label{display:block;font-weight:700;margin-bottom:.25rem}
.topics label{display:inline-flex}
.opt{font-weight:400;color:var(--ink-mute)}
.form input:not([type=radio]),.form textarea{width:100%;font:400 1.15rem/1.3 var(--type);color:var(--biro);background:transparent;border:0;border-bottom:2px solid var(--ink);border-radius:0;padding:.55rem .1rem;min-height:2.9rem}
.form textarea{resize:vertical;min-height:5rem;border:2px solid var(--ink);border-radius:4px;padding:.55rem .6rem}
.form input:focus-visible,.form textarea:focus-visible{outline:none;border-color:var(--biro);box-shadow:0 2px 0 var(--biro)}
.form ::placeholder{color:#76624b}
.form .is-bad{border-color:#b3261e;background:#fff1ef}
.form-err{color:#b3261e;font-weight:700}
.form .btn{width:100%}
.hp{position:absolute;left:-9999px}

/* konec */
.konec{position:relative;overflow:hidden;background:var(--yellow);color:var(--ink);display:grid;padding:0 var(--okraj) clamp(3rem,6vw,5.5rem);--b1:var(--ink);--b2:#150d05;--b3:#6a4c2f;--b4:#a98a62;--zh:min(70vw,24rem);--zw:calc(var(--zh)*.7143)}
.zvon-konec{grid-row:1;justify-self:center;margin-top:-1rem}
.konec-text{padding-top:clamp(1.5rem,3vw,2.5rem)}
.konec h2{font-size:10.9vw;line-height:1;margin-bottom:clamp(1.5rem,3vw,2.75rem)}
.kr{display:block;white-space:nowrap}
.konec-akce{display:flex;flex-wrap:wrap;gap:.6rem}
.konec-akce .btn{min-height:3.75rem;font-size:1.25rem;padding:.8rem 2rem;flex:1 1 17rem;max-width:24rem}

/* patička */
.foot{background:var(--ink);color:var(--on-ink-mute);padding:clamp(2.75rem,5vw,4.5rem) var(--okraj) 6.5rem;font-size:1.0625rem;overflow:hidden}
.foot-sloupce{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem}
.foot-sloupce p{margin:0 0 .5rem}
.foot-nad{font:400 1.2rem/1.1 var(--sign);color:var(--yellow);margin-bottom:.6rem!important}
.foot a{color:var(--on-ink)}
.foot nav a{display:block;padding:.28rem 0;text-underline-offset:.2em}
.foot nav a:not(:hover){text-decoration:none}
.foot button{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--on-ink);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
.foot-back{font-weight:700}
.foot .demo-note-inline{white-space:normal}
.foot-name{font:400 calc((100vw - 2*var(--okraj))/6.02)/1.14 var(--sign);color:var(--yellow);margin:clamp(1rem,3vw,2.5rem) 0 0;white-space:nowrap;letter-spacing:-.012em}

/* mobilní lišta */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1.3fr;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--ink);transform:translateY(110%);transition:transform .35s var(--ease)}
.sticky.on{transform:none}
.sticky button{display:grid;place-items:center;min-height:3rem;border-radius:6px;font:700 1rem/1.1 var(--type);cursor:pointer}
.sticky-call{background:none;border:2px solid var(--yellow);color:var(--yellow)}
.sticky-rozvoz{background:var(--yellow);color:var(--ink);border:0}

/* vysvětlení ukázky */
.pop{border:0;padding:1.4rem;max-width:min(26rem,calc(100vw - 2rem));background:var(--paper);color:var(--ink);border-top:6px solid var(--ink)}
.pop::backdrop{background:rgba(43,29,14,.55)}
.pop h2{font-size:1.7rem;margin-bottom:.7rem}

/* ukázka: tlačítka místo odkazů */
button.call,button.btn{cursor:pointer;font-family:var(--type)}
button.call{border:0}
.textlink{background:none;border:0;padding:0;font:inherit;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}

/* telefon a obrazovka na výšku: zvon nahoře, čas jedním řádkem pod ním */
@media (max-width:759px),(max-aspect-ratio:1/1){
  .poledne{--zh:min(50svh,104vw,calc(100svh - var(--h) - 17.5rem));--f:min(31vw,16svh)}
  .scena{--drz:1.8}
  .vrstva{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--zh) auto auto auto minmax(0,1fr);row-gap:0;column-gap:0}
  .zvon{grid-column:1;justify-self:center}
  .cas{display:flex;justify-content:center;grid-column:1;grid-row:2;margin-top:.75rem}
  .cas span,.cas .h,.cas .m{margin:0;grid-row:auto}
  .cas .sep{display:inline}
  .veta{grid-row:3;grid-column:1;text-align:center;margin-top:.75rem;font-size:min(11.8vw,6svh);white-space:normal}
  .pozn{grid-row:4;grid-column:1;justify-self:center;align-self:start;text-align:center;font-size:min(1.6rem,6.8vw);margin-top:.5rem;transform:rotate(-1deg);transform-origin:center}
  .zvon-pozn{grid-row:5;grid-column:1;justify-self:center;align-self:end;text-align:center;font-size:1.5rem;margin:0 0 .8rem;transform:rotate(1deg);transform-origin:center}
}

/* telefon */
@media (max-width:759px){
  .cedule::before,.cedule::after{height:2.5rem}
  .cedule{margin-top:.5rem}
  .row2-kontakt{grid-template-columns:1fr}
  .stay h2{font-size:min(2.2rem,10.4vw)}
  .stay h2 .obri{font-size:min(9rem,40vw)}
  .sheet-akce{text-align:left;width:100%}
  .sheet-akce .sheet-tl{justify-content:stretch}
  .sheet-tl .btn{flex:1 1 10rem}
  .rozvoz-pozn{transform-origin:left}
  .dny{margin-left:0;width:100%;gap:0}
  .dny button{flex:1 1 0;min-width:0;min-height:2.75rem;padding:0}
  .dish{grid-template-columns:1.9rem minmax(0,1fr) auto}
  .d-name small{display:block;margin:.1rem 0 0}
  .hall{min-height:0}
  .hall-foto img{aspect-ratio:1/1;object-position:52% 78%}
  .hall-obsah{margin-top:-1.1rem;position:relative}
  .hall-mala{margin-bottom:.5em}
  .hall-cislo .obri{font-size:34vw}
}

@media (max-width:389px){
  .top{gap:.5rem}
  .mark{gap:.4rem}
  .mark-sub{font-size:.7rem}
  .call{padding:.45rem .7rem}
}
@media (max-width:339px){
  .mark-icon{display:none}
}

@media (min-width:760px){
  .pub-hlava{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:end;column-gap:clamp(2rem,5vw,4.5rem)}
  .dvojice{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .dvojice img{aspect-ratio:auto;height:clamp(24rem,46vw,44rem)}
  .dvojice figcaption{padding:1rem var(--okraj) clamp(2rem,4vw,3.5rem)}
  .f-zahradka figcaption{padding-left:clamp(.75rem,1.6vw,1.5rem)}
  .hall-foto{position:absolute;inset:0;z-index:-1}
  .hall-foto img{height:100%;aspect-ratio:auto}
  .hall-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(43 29 14 / .97) 0,rgb(43 29 14 / .88) 26%,rgb(43 29 14 / .56) 46%,rgb(43 29 14 / .14) 60%,rgb(43 29 14 / 0) 70%)}
  .hall-obsah{grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:clamp(1.5rem,4vw,4rem)}
  .rada{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.9rem,2vw,1.8rem)}
  .klice-pata{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .klice-akce{justify-items:end}
  .price-note{transform-origin:right}
  .where{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}
  .near{grid-template-columns:max-content minmax(0,1fr);align-items:last baseline;column-gap:clamp(1rem,2vw,1.75rem);row-gap:.5rem}
  .near li{display:contents}
  .near b{margin:0}
  .where{--vr:clamp(3.5rem,8vw,7rem);--vm:clamp(2.5rem,5vw,4.5rem);overflow:hidden}
  .cedule{margin-top:var(--vm);justify-self:end;width:100%}
  .cedule::before,.cedule::after{height:calc(var(--vr) + var(--vm) + 1.5rem)}
  .write{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:clamp(2rem,5vw,5rem);align-items:start}
  .konec{grid-template-columns:minmax(0,1fr) auto;column-gap:2rem;--zh:min(34vw,36rem)}
  .konec-text{align-self:end}
  .konec h2{font-size:clamp(2.6rem,7.5vw,9rem)}
  .zvon-konec{grid-column:2;grid-row:1;margin-top:-.5rem}
  .foot-sloupce{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:900px){
  .stay-hlava{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:stretch}
  .stay-text{padding-bottom:clamp(3.5rem,8vw,7.5rem)}
  .stay-foto img{aspect-ratio:auto;min-height:100%;position:relative}
}
@media (min-width:960px){
  .nav{display:flex;gap:1.4rem;font-weight:700}
  .nav a{text-decoration:none;padding:.4rem 0}
  .nav a:hover{text-decoration:underline;text-decoration-thickness:2px}
  .sticky{display:none}
  .foot{padding-bottom:0}
}
@media (min-width:1100px){
  .hero{padding-bottom:0}
  .hero h1,.hero-lead,.hero-actions,.delivery{grid-column:1}
  .hero>.ho-obraz::before{content:"";position:absolute;left:0;right:0;bottom:0;height:16%;z-index:1;pointer-events:none;background:linear-gradient(0deg,var(--ink),rgb(43 29 14 / 0))}
}
@media (hover:hover){
  .klic:hover{animation:houp 1.2s ease-out}
  .zvon-konec:hover .kyv{animation:houp 1.8s ease-out}
}
@keyframes houp{0%{transform:rotate(0)}20%{transform:rotate(2.6deg)}45%{transform:rotate(-1.8deg)}70%{transform:rotate(1deg)}100%{transform:rotate(0)}}
/* HERO-OBRAZ (generuje vizitka/tools/hero_obraz.py) */
.hero-obraz{--ho-h:max(34rem,min(calc(100svh - 4.5rem),56.25vw))}
.ho-obraz{position:relative;margin:0;overflow:hidden}
.ho-obraz img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:max(20rem,48svh);object-fit:cover;object-position:50% 80%}
@media (prefers-reduced-motion:no-preference){.ho-obraz img{animation:ho-zoom 1.2s cubic-bezier(.16,1,.3,1) both}}
@keyframes ho-zoom{from{transform:scale(1.04)}}
@media (max-width:1099px){
.hero-obraz{overflow-x:clip;padding-top:0}
.hero-obraz>.ho-obraz{grid-column:1/-1;width:100vw;max-width:none;margin:0 calc(50% - 50vw) 1.4rem}
}
@media (min-width:760px) and (max-width:1099px){
.ho-obraz img{aspect-ratio:16/9;max-height:60svh;object-position:50% 50%}
}
@media (min-width:1100px){
.hero-obraz{position:relative;isolation:isolate}
.hero-obraz>.ho-obraz{position:absolute;top:0;left:0;right:0;height:var(--ho-h);z-index:-1;margin:0}
.ho-obraz picture{display:contents}
.ho-obraz img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-position:var(--ho-pos,50% 50%)}
.ho-obraz::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgb(var(--ho-t) / .9) 0,rgb(var(--ho-t) / .72) 30%,rgb(var(--ho-t) / .25) 52%,rgb(var(--ho-t) / 0) 66%)}
}
@media (min-width:760px) and (max-width:1099px){.hero-obraz{padding-top:0}}
@media (min-width:1100px){
.hero-obraz{--ho-t:43 29 14;display:grid;padding-top:0;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr repeat(5,auto) 1fr auto;column-gap:0}
.hero-obraz{overflow-x:clip}
.hero-obraz>.ho-obraz{position:relative;inset:auto;grid-column:1;grid-row:1/8;width:100vw;height:auto;min-height:var(--ho-h);margin:0 calc(50% - 50vw)}
.hero-obraz .ho-obraz img{position:absolute;inset:0}
.hero-obraz>h1{grid-row:2;color:#f2c94c}
.hero-obraz>.hero-lead{grid-row:3}
.hero-obraz>.hero-actions{grid-row:4}
.hero-obraz>.demo-note{grid-row:5;grid-column:1}
.hero-obraz>.delivery{grid-row:6;margin-bottom:2.5rem}
.hero-obraz>:is(.hero-lead,.hero-actions,.demo-note,.delivery){--ink:#f7ecd6;--biro:#f2c94c;color:#f7ecd6;max-width:36rem}
.hero-obraz .btn-ink{background:#f2c94c;color:#2b1d0e;border-color:#f2c94c}
.hero-obraz .btn-ink:hover{background:#f7ecd6}
.hero-obraz .btn-line:hover{background:rgb(247 236 214 / .12)}
.hero-obraz>.sleeve{grid-column:1;grid-row:8;justify-self:center;width:min(100%,46rem);margin-top:3rem}
}
/* /HERO-OBRAZ */
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
:where(input,textarea){caret-color:#2b1d0e}
: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 #2b1d0e;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}
/* /FORMA-POLISH */
