/* Bistro Šalvěj (ukázka FORMA) – dvoubarevně tištěná kuchařka: bílý tiskový papír, černá sazba, šalvějová zelená na čísla receptů, linky, značky a tlačítka; rajčatová jen pro čas rezervace. Písma uložená u webu (Rokkitt, Public Sans – SIL OFL 1.1). */
@font-face{font-family:'Rokkitt';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/rokkitt-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:'Rokkitt';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/rokkitt-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/public-sans-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:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/public-sans-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --paper:#fbfbf9;--paper-2:#f0f1ec;--ink:#161714;--mute:#4f524b;--line:#c9cbbf;
  --green:#2f5d3a;--green-l:#e3ebe2;--tomato:#c23f26;
  --slab:'Rokkitt',Georgia,serif;--sans:'Public Sans',system-ui,sans-serif;
  --gut:clamp(1.1rem,5vw,3rem);--max:72rem;
  --padx:max(var(--gut),calc((100% - var(--max)) / 2 + var(--gut)));
  --dots:radial-gradient(circle,rgba(47,93,58,.16) .7px,transparent 1.1px) 0 0/6px 6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--green) var(--paper-2)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.05rem/1.55 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:4.6rem}
::selection{background:var(--green);color:var(--paper)}
img{display:block;max-width:100%;height:auto}
a{color:var(--green);text-underline-offset:.2em}
:focus-visible{outline:2.5px solid var(--green);outline-offset:3px}
[hidden]{display:none!important}
h1,h2,h3{margin:0;font-family:var(--slab);font-weight:700;line-height:1.02;letter-spacing:-.005em}
p{margin:0;text-wrap:pretty}
abbr{text-decoration:none}
.skip{position:absolute;left:-999px;top:0;z-index:50;background:var(--ink);color:var(--paper);padding:.6rem 1rem}
.skip:focus{left:1rem}

.top{display:flex;align-items:center;gap:1rem;padding:1rem var(--padx) .8rem;border-bottom:2px solid var(--ink)}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);margin-right:auto;line-height:1}
.brand-name{font:800 1.9rem/1 var(--slab);color:var(--green)}
.brand-sub{font-size:.88rem;color:var(--mute);margin-top:.2rem}
.call{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 1.1rem;color:var(--green);font-weight:700;text-decoration:none;box-shadow:inset 0 0 0 2px var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.7rem 1.3rem;border:0;background:var(--green);color:var(--paper);font:700 1.05rem/1.15 var(--sans);text-decoration:none;cursor:pointer;transition:filter .2s}
.btn:hover{filter:brightness(1.15)}
.btn-line{background:transparent;color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
.cta{display:flex;flex-wrap:wrap;gap:.65rem}

/* značky variant v marginálii */
.marks{display:inline-flex;gap:.25rem}
.mk{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;font:800 .9rem/1 var(--slab);color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}
.mk-c{color:var(--paper);background:var(--green);box-shadow:none}

/* titulní strana */
.title-page{display:grid;gap:2rem;padding:clamp(1.6rem,6vw,3.6rem) var(--padx) 2.6rem}
.tp-kicker-line{height:6px;width:5rem;background:var(--green);margin-bottom:1.1rem}
.title-page h1{font-size:clamp(3rem,13vw,5.6rem);font-weight:800}
.title-page h1 span{color:var(--green)}
.tp-date{margin-top:.5rem;font:500 clamp(1.3rem,5vw,1.6rem)/1.2 var(--slab);color:var(--mute)}
.reserve-strip{margin:1.3rem 0 1.2rem;padding:.6rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);color:var(--ink);font-weight:600;max-width:30rem}
.reserve-strip b{font-family:var(--slab);font-size:1.15em;color:var(--tomato)}
.tp-note{margin-top:1rem;color:var(--mute);font-size:.95rem}
.legend{margin-top:.8rem;color:var(--mute);font-size:.92rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}

/* recepty */
.recipes{list-style:none;margin:0;padding:0;counter-reset:r}
.recipe{position:relative;border-top:1px solid var(--line)}
.recipe:last-child{border-bottom:1px solid var(--line)}
.recipe-soup,.r-pick{display:grid;grid-template-columns:2.6rem 1fr auto;grid-template-areas:"n body price" "n body marks";gap:.15rem .9rem;align-items:start;width:100%;padding:.95rem .2rem}
.r-pick{border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .25s}
.r-pick:hover{background:var(--green-l)}
.r-n{grid-area:n;font:800 2.4rem/1 var(--slab);color:var(--green);text-align:center}
.recipe-soup .r-n{font-size:1.9rem;opacity:.75}
.r-body{grid-area:body;display:grid;gap:.25rem}
.r-name{font:700 1.3rem/1.15 var(--slab)}
.r-desc{font-size:.97rem;color:var(--mute)}
.r-price{grid-area:price;font:800 1.35rem/1.1 var(--slab);white-space:nowrap;text-align:right}
.recipe .marks{grid-area:marks;justify-self:end}
.tick{position:absolute;left:-.1rem;top:.45rem;width:3.2rem;height:3.2rem;pointer-events:none;overflow:visible}
.tick path{fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset .55s cubic-bezier(.3,.6,.2,1)}
.r-pick[aria-pressed="true"]{background:var(--green-l)}
.r-pick[aria-pressed="true"] .tick path{stroke-dashoffset:0}
.r-pick:disabled{cursor:default}
.r-pick:disabled:hover{background:transparent}
.day.is-past .day-h::after{content:"proběhlo";margin-left:auto;padding:.1rem .5rem;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--mute);font:600 .8rem/1.4 var(--sans)}
.day.is-past .r-name,.day.is-past .r-price{color:var(--mute)}
.recipes-today .recipe-soup .r-desc,.recipes-today .r-desc{display:none}
.recipes-today .r-name{font-size:1.2rem}

/* týdenní menu */
.week,.perm,.how,.where{padding:clamp(2.6rem,7vw,4.4rem) var(--padx)}
.week{border-top:2px solid var(--ink)}
.week h2,.perm h2,.how h2,.where h2{font-size:clamp(2.1rem,8.6vw,3.4rem);font-weight:800}
.ch{color:var(--green);margin-right:.25em}
.sec-lead{margin:.7rem 0 1.4rem;max-width:40rem;color:var(--mute)}
.variant{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.6rem}
.chip{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.35rem .85rem;border:0;background:transparent;color:var(--ink);font:600 .98rem/1.2 var(--sans);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line)}
.chip[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--green);background:var(--green-l)}
.chip .mk{width:1.35rem;height:1.35rem;font-size:.8rem}
.days{display:grid;gap:2.2rem}
.day-h{display:flex;align-items:baseline;gap:.6rem;font-size:1.5rem;padding-bottom:.4rem;margin-bottom:.2rem;border-bottom:2px solid var(--ink)}
.day-n{font-size:1.15em;color:var(--green)}
.day.is-today .day-h::after{content:"dnes";margin-left:auto;padding:.1rem .5rem;background:var(--green);color:var(--paper);font:700 .8rem/1.4 var(--sans)}
.day.is-today.is-past .day-h::after{content:"dnes · proběhlo";background:none;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--mute)}
.day.is-past .r-desc{color:#8a8d84}
.day.is-past .r-n{color:var(--line)}
.day.is-past .mk{opacity:.5}
.legend .lg{white-space:nowrap}
.day-closed .closed-note{padding:.6rem 0;color:var(--mute);font-weight:600}
.slip{position:sticky;bottom:5.2rem;z-index:6;margin-top:1.4rem;padding:.75rem .9rem;background:var(--paper);box-shadow:inset 0 0 0 2px var(--green),0 14px 30px -14px rgba(0,0,0,.35);background-image:var(--dots)}
.slip-t{font:600 .98rem/1.35 var(--slab);margin-bottom:.55rem}
.slip-t b{color:var(--tomato)}
.slip-a{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem}
.btn-small{min-height:44px;padding:.5rem 1rem;font-size:.98rem}
.slip-x{min-height:44px;padding:0;border:0;background:none;color:var(--mute);font:600 .95rem/1 var(--sans);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.week-note{margin-top:1.6rem;font-size:.92rem;color:var(--mute);max-width:44rem}

/* fotky jako obrazové přílohy kuchařky */
.plates{display:grid;gap:1.2rem;padding:0 var(--padx)}
.plate-photo{margin:0}
.plate-photo img{width:100%;aspect-ratio:9/7;object-fit:cover;filter:saturate(.92)}
.plate-photo figcaption{margin-top:.4rem;font-size:.86rem;color:var(--mute)}
.plate-photo figcaption span{font:700 .95rem/1 var(--slab);color:var(--green);margin-right:.35rem}

/* stálá nabídka */
.perm-grid{display:grid;gap:1.6rem}
.perm-col h3{font-size:1.45rem;padding-bottom:.35rem;border-bottom:2px solid var(--green);margin-bottom:.5rem}
.perm-dez{color:var(--mute)}
.perm-list{list-style:none;margin:0;padding:0}
.perm-list li{display:grid;grid-template-columns:1fr auto;gap:0 1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}
.perm-list b{grid-column:2;grid-row:1;font:800 1.15rem/1.2 var(--slab)}
.o-name{font-weight:600}
.o-desc{grid-column:1;font-size:.9rem;color:var(--mute)}

/* jak vaříme */
.how{background:var(--dots),var(--paper-2)}
.steps{list-style:none;margin:1.2rem 0 0;padding:0;counter-reset:s;display:grid;gap:1.1rem;max-width:46rem}
.steps li{counter-increment:s;position:relative;padding-left:3rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.15rem;font:800 2rem/1 var(--slab);color:var(--green)}
.steps b{font-family:var(--slab);font-size:1.15em}

/* kde a kdy */
.where-grid{display:grid;gap:2.2rem}
.big-addr{margin-top:1rem;font:700 clamp(1.5rem,6vw,2rem)/1.2 var(--slab)}
.near{margin:.4rem 0 1.2rem;color:var(--mute)}
.contacts{margin:1.6rem 0 0;display:grid;gap:.7rem}
.contacts dt{font-size:.88rem;color:var(--mute)}
.contacts dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.hours{width:100%;max-width:24rem;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hours caption{text-align:left;font:800 1.45rem/1.1 var(--slab);margin-bottom:.5rem}
.hours th,.hours td{padding:.45rem .5rem;text-align:left;font-weight:500;border-bottom:1px solid var(--line)}
.hours td{text-align:right}
.hours tr.today{background:var(--green-l);font-weight:800}
.hours-note{margin-top:.7rem;font-weight:600}
.hours-note b{color:var(--tomato)}
.hours-closed{margin-top:.7rem;font-weight:700}

.foot{padding:2.2rem var(--padx) 2.6rem;border-top:2px solid var(--ink);color:var(--mute);font-size:.95rem}
.foot b{color:var(--ink)}
.foot p+p{margin-top:.5rem}

.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1.25fr;gap:.55rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(251,251,249,.97);box-shadow:0 -1px 0 var(--line);transform:translateY(110%);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.sticky.on{transform:none}
.sticky{grid-template-columns:1.35fr 1fr}
.sticky .btn{min-height:50px;padding:.6rem .7rem;white-space:nowrap}

@media (max-width:959px){
  .title-page .cta{display:none}
}
@media (min-width:700px){
  .plates{grid-template-columns:1fr 1fr}
  .perm-grid{grid-template-columns:1.2fr 1fr 1fr}
  .where-grid{grid-template-columns:1.2fr 1fr}
}
@media (min-width:960px){
  body{padding-bottom:0}
  .sticky{display:none}
  .slip{bottom:1.2rem}
  .title-page{grid-template-columns:1fr 1.15fr;gap:4rem;align-items:start}
  .days{grid-template-columns:repeat(2,1fr);gap:2.6rem 3.4rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .tick path{transition:none}
}

/* ukázka na vizitce FORMA: telefon, mapa, e-mail a sítě otevřou vysvětlení */
button.call{border:0;background:transparent;font:700 1.05rem/1.2 var(--sans);cursor:pointer}
.as-link{padding:0;border:0;background:none;color:var(--green);font:inherit;text-align:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.as-link:hover{text-decoration-thickness:2px}
.fake{font-size:.85em;font-weight:400;color:var(--mute);white-space:nowrap}
.foot-back{font-weight:700}
.pop{max-width:min(27rem,calc(100vw - 2rem));padding:1.6rem 1.4rem 1.4rem;border:0;color:var(--ink);background:var(--dots),var(--paper);
  box-shadow:inset 0 0 0 2px var(--green),0 30px 60px -20px rgba(0,0,0,.45)}
.pop::backdrop{background:rgba(22,23,20,.55)}
.pop h2{font-size:clamp(1.7rem,7vw,2.1rem);font-weight:800;color:var(--green);margin-bottom:.7rem}
.pop p{margin:0 0 1.2rem}
.pop .btn{width:100%}
/* proběhlý den: popis polévky ztlumený, ale pořád čitelný (kontrast 5 : 1) */
.day.is-past .r-desc{color:#6b6e66}
