/* 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%}
/* U Kapličky – koncept FORMA. Svět: stolní lístek s denním menu ve fólii, položený na žluté fasádě domu.
   Žlutá omítka = celá plocha, bílý papír lístků, hospodská hnědočerná, modrá propiska na poznámky. */
:root{
  --yellow:#f2c94c;        /* fasáda domu */
  --yellow-deep:#e4b42f;   /* stín omítky, linky na žluté */
  --ink:#2b1d0e;           /* hospodská hnědočerná */
  --ink-mute:#5a4630;      /* vedlejší text na papíře a žluté */
  --on-ink:#f7ecd6;        /* text v patičce */
  --on-ink-mute:#dcc7a3;
  --paper:#fffefa;
  --biro:#1d3fbf;          /* modrá propiska */
  --line:rgba(43,29,14,.22);
  --sign:'Alfa Slab One','Slab Fallback',Rockwell,Georgia,serif;
  --type:'Zilla Slab','Slab Fallback',Rockwell,Georgia,serif;
  --hand:'Caveat','Segoe Print','Bradley Hand',cursive;
  --gut:clamp(1rem,4vw,3rem);
  --wide:max(var(--gut),calc(50% - 38rem + var(--gut)));
  --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.55 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(2rem,7.4vw,3.5rem)}
p{margin:0 0 1rem}
:focus-visible{outline:3px solid var(--biro);outline-offset:3px;border-radius:2px}
.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}

/* propiska */
.biro{font:600 1.45rem/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.1rem;padding:.7rem 1.3rem;border-radius:6px;font:700 1.08rem/1.15 var(--type);text-decoration:none;cursor:pointer;text-align:center;transition:background-color .2s var(--ease),color .2s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-ink{background:var(--ink);color:var(--paper);border:2px solid var(--ink)}
.btn-ink:hover{background:#45301b}
.btn-line{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-line:hover{background:rgba(43,29,14,.08)}

/* hlavička – malovaná cedule */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.55rem 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}
.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.5rem,6vw,5rem)}
.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)}

/* fólie a lístek */
.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;max-width:38rem}
.sleeve::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(118deg,transparent 14%,rgba(255,255,255,.08) 22%,rgba(255,255,255,.22) 30%,rgba(255,255,255,.07) 40%,transparent 50%)}
.sleeve>.sheet{margin-top:-.8rem}
.sheet{position:relative;background:var(--paper);color:var(--ink);padding:1.1rem 1.1rem 1rem;border-radius:2px}
.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-bottom:.5rem;border-bottom:4px double var(--ink)}
.sheet-head h2,.sheet-head h3{font:400 clamp(1.7rem,6vw,2.2rem)/1 var(--sign);text-transform:uppercase;letter-spacing:.01em}
.sheet-date{font:italic 400 1.05rem/1.2 var(--type);margin:0;color:var(--ink-mute)}
.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{margin:.6rem 0 .25rem;min-height:1.15em;transform:rotate(-1.2deg);transform-origin:left}
.dishes{list-style:none;margin:0;padding:0}
.dish{display:grid;grid-template-columns:1.7rem minmax(0,1fr) auto;column-gap:.5rem;align-items:baseline;padding:.6rem 0;border-bottom:1px dashed var(--line)}
.d-no{font-weight:700}
.d-name{font-size:1.08rem;line-height:1.35}
.d-name small{font-size:.8rem;color:var(--ink-mute);white-space:nowrap;margin-left:.25rem;font-variant-numeric:tabular-nums}
.d-price{font-weight:700;font-size:1.12rem;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.dish-soup .d-name{font-style:italic;color:var(--ink-mute)}
.more-note{margin:.7rem 0 .55rem}
.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:.84rem;line-height:1.4;color:var(--ink-mute);margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;max-width:38rem}
.hero-actions .btn{flex:1 1 15rem}
.delivery{margin:.55rem 0 1.4rem;min-height:2.3em;transform:rotate(-.8deg);transform-origin:left}

/* fotky */
.photo{margin:0;position:relative;background:var(--paper);padding:.45rem .45rem .3rem}
.photo::before{content:"";position:absolute;top:-.65rem;left:50%;width:4.6rem;height:1.35rem;transform:translateX(-50%) rotate(-3deg);background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.75)}
.photo img{width:100%;object-fit:cover}
.photo figcaption{font:600 1.15rem/1.2 var(--hand);color:var(--ink-mute);margin-top:.25rem}

/* restaurace – dřevo */
.pub{border-top:4px double var(--ink);padding:clamp(3rem,7vw,6rem) var(--wide);display:grid;gap:1.75rem;grid-template-columns:minmax(0,1fr)}
.pub h2{margin-bottom:1rem}
.pub-text p{max-width:38rem}
.sleeve-hours{max-width:26rem}
.hours{width:100%;border-collapse:collapse;font-variant-numeric:lining-nums tabular-nums}
.hours th,.hours td{padding:.42rem 0;border-bottom:1px dashed var(--line);text-align:left;font-weight:400}
.hours td{text-align:right;font-weight:700}
.hours tr.today th{font-weight:700}
.hours tr.today th::after{content:"dnes";font:600 1.2rem/1 var(--hand);color:var(--biro);margin-left:.5rem}
.hours-note{font-size:.88rem;color:var(--ink-mute);margin:.6rem 0 0}
.services{font-size:.95rem;line-height:1.45;margin:.55rem 0 0;padding-top:.55rem;border-top:1px dashed var(--line)}
.photo-tap{max-width:13rem;transform:rotate(-2deg)}
.photo-tap img{aspect-ratio:4/5}
.photo-food{transform:rotate(1.1deg)}
.photo-food img{aspect-ratio:4/3}

/* sál */
.hall{border-top:4px double var(--ink);padding:clamp(3rem,7vw,6rem) var(--wide);display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
.photo-hall{transform:rotate(-.8deg)}
.photo-hall img{aspect-ratio:10/7}
.hall-text h2{margin-bottom:1rem}
.hall-text p{max-width:34rem}
.hall-note{margin:.2rem 0 1.1rem;transform:rotate(-1deg);transform-origin:left}
.hall-actions{display:flex;flex-wrap:wrap;gap:.6rem}

/* penzion */
.stay{border-top:4px double var(--ink);padding:clamp(3rem,7vw,6rem) var(--wide);display:grid;gap:1.75rem;grid-template-columns:minmax(0,1fr)}
.stay h2{margin-bottom:1rem}
.stay-text p{max-width:38rem}
.sleeve-small{max-width:26rem}
.prices{margin:.4rem 0 .7rem}
.prices div{display:flex;align-items:baseline;gap:.5rem;padding:.42rem 0;border-bottom:1px dashed var(--line)}
.prices dt{display:flex;flex:1;gap:.5rem}
.prices dt::after{content:"";flex:1;border-bottom:2px dotted rgba(43,29,14,.3);transform:translateY(-.3em)}
.prices dd{margin:0;font-weight:700;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.price-note{margin-top:.6rem;transform:rotate(-1.4deg);transform-origin:left}
.photo-room{transform:rotate(1.4deg)}
.photo-room img{aspect-ratio:4/3}

/* kde jsme */
.where{border-top:4px double var(--ink);padding:clamp(3rem,7vw,6rem) var(--wide)}
.where h2{margin-bottom:1.25rem;max-width:20ch}
.near{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.6rem;max-width:40rem}
.near li{padding-bottom:.6rem;border-bottom:1.5px solid var(--yellow-deep)}
.near b{font:400 1.35rem/1 var(--sign);margin-right:.35rem}
.where address{font-style:normal;font-weight:700;font-size:1.2rem;margin-bottom:1.1rem}
.where-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.textlink{font-weight:700}

/* napište nám */
.write{border-top:4px double var(--ink);padding:clamp(3rem,7vw,6rem) var(--wide);display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
.write h2{margin-bottom:1rem}
.write-head p{max-width:34rem}
.write-head a{font-weight:700}
.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}
.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.35rem;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}
.form label{display:block;font-weight:700;margin-bottom:.25rem}
.topics label{display:inline-flex;margin:0}
.opt{font-weight:400;color:var(--ink-mute)}
.form input:not([type=radio]),.form textarea{width:100%;font:400 1.1rem/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}

/* patička */
.foot{background:var(--ink);color:var(--on-ink-mute);padding:2.5rem var(--wide) 6.5rem;font-size:1rem}
.foot-name{font:400 1.6rem/1 var(--sign);color:var(--yellow);margin-bottom:.8rem}
.foot a{color:var(--on-ink)}
.forma{margin-top:1.5rem;font-size:.82rem;opacity:.85}

/* 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 a{display:grid;place-items:center;min-height:3rem;border-radius:6px;font-weight:700;text-decoration:none}
.sticky-call{border:2px solid var(--yellow);color:var(--yellow)}
.sticky-wolt{background:var(--yellow);color:var(--ink)}

/* poznámka k odeslání */
.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}
.pop a{font-weight:700;color:var(--biro)}

/* stav na lístku se „dopíše“ */
.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)}}

@media (min-width:760px){
  .pub{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}
  .photo-tap{grid-column:1/-1;grid-row:2;max-width:none;width:34%;z-index:1;align-self:start;margin-left:4%}
  .photo-food{grid-column:1/-1;grid-row:2;width:66%;justify-self:end;margin-top:5.5rem}
  .hall{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
  .stay{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .stay .photo-room{grid-column:1}
  .stay .sleeve-small{grid-column:2;grid-row:1/3}
  .write{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
  .where{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:3rem;align-items:end}
  .where h2{grid-column:1/-1}
  .where .near{grid-column:1;grid-row:2/4;margin-bottom:0}
  .where address,.where .where-links{grid-column:2}
}
@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}
  .hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:3.5rem;align-items:start}
  .hero h1,.hero-lead,.hero-actions,.delivery{grid-column:1}
  .hero .sleeve{grid-column:2;grid-row:1/6;transform:rotate(.6deg)}
  .delivery{margin-bottom:0;min-height:0}
  .sticky{display:none}
  .foot{padding-bottom:2.5rem}
}

/* ukázka na vizitce FORMA: telefon a rozvoz otevřou vysvětlení */
button.call,button.btn,.sticky button{cursor:pointer;font-family:var(--type)}
button.call{border:0}
.textlink,.write-head button,.foot button{background:none;border:0;padding:0;font:inherit;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
.write-head button{color:var(--ink)}
.foot button{color:var(--on-ink)}
.sticky button{display:grid;place-items:center;min-height:3rem;border-radius:6px;font-weight:700;font-size:1rem;background:none}
.sticky .sticky-wolt{background:var(--yellow);color:var(--ink);border:0}
.demo-note{font-size:.88rem;color:var(--ink-mute);margin:.45rem 0 0}
.demo-note-inline{font-size:.85rem;font-weight:400;opacity:.85;white-space:nowrap}
.foot-back{font-weight:700}
