/* Pekárna Kmín (ukázka FORMA, smyšlený podnik). Identita „pekařský sáček“: kraftový papír, mouka, tmavě hnědý text, červená jen na tlačítka a razítko. */
@font-face{font-family:'Alfa Slab One';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:'Alfa Slab One';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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --kraft:#c8a171;--kraft-d:#b48a58;--kraft-l:#dcc096;
  --cream:#fbf5e7;--flour:#f3e8d0;
  --ink:#3a2314;--ink-2:#5b3f2e;--dark:#2e1b0f;--dark-ink:#f3e8d0;--dark-2:#e2cfa8;
  --red:#c00;--red-d:#8f0a0a;
  --focus:#1c0f07;
  --slab:'Alfa Slab One','Rockwell','Georgia',serif;
  --sans:system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(1rem,4.4vw,2rem);
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .23 0 0 0 0 .14 0 0 0 0 .08 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
  --tooth:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9'%3E%3Cpath d='M0 0h16L8 9z' fill='%23fbf5e7'/%3E%3C/svg%3E");
  --tooth-k:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9'%3E%3Cpath d='M0 0h16L8 9z' fill='%23c8a171'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.2rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none !important;transition:none !important}}
body{margin:0;font:400 1.0625rem/1.55 var(--sans);color:var(--ink);background:var(--kraft) var(--noise);overflow-x:clip}
img,svg{max-width:100%}
img{display:block;height:auto}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0 0 .8em}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}
.story :focus-visible,.foot :focus-visible{outline-color:var(--dark-ink)}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:.5rem;top:-4rem;z-index:50;background:var(--cream);color:var(--ink);padding:.6rem .9rem;border-radius:6px;font-weight:700}
.skip:focus{top:.5rem}
.wrap{max-width:70rem;margin:0 auto;padding:0 var(--pad)}

/* JS / bez JS */
.js-only{display:none}
.js .js-only{display:block}
.js .nojs-only{display:none}
.note-box{background:var(--cream);border:2px dashed var(--ink);border-radius:10px;padding:.9rem 1rem;margin:0 0 1.5rem}

/* Tlačítka (červená jen tady) */
.btn{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem .6rem;min-height:3rem;padding:.7rem 1.25rem;border:2px solid var(--red);border-radius:999px;background:var(--red);color:#fff;font:700 1.0625rem/1.2 var(--sans);text-decoration:none;text-align:center;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}
.btn:active{transform:translateY(1px)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.btn-ink{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.btn-ink:hover{background:var(--dark);border-color:var(--dark)}
.btn-sm{min-height:2.75rem;padding:.5rem 1rem;font-size:1rem}
.btn[aria-disabled="true"]{background:transparent;border:2px dashed var(--ink-2);color:var(--ink-2);cursor:not-allowed}
.btn[aria-disabled="true"]:hover{background:transparent;border-color:var(--ink-2)}

/* Záhlaví */
.top{position:sticky;top:0;z-index:30;background:var(--dark);color:var(--dark-ink);box-shadow:0 2px 0 rgba(0,0,0,.2)}
.top-in{max-width:70rem;margin:0 auto;padding:.55rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.brand-name{font:400 1.15rem/1.1 var(--slab);letter-spacing:.01em}
.brand-sub{font:700 .78rem/1.3 var(--sans);color:var(--dark-2);letter-spacing:.06em;text-transform:uppercase}
.nav{display:none}
.top .btn{border-color:var(--red)}
.top :focus-visible{outline-color:var(--dark-ink)}

/* Úvod */
.hero{position:relative;padding:1.6rem 0 3.2rem}
.hero{background:var(--kraft) var(--noise)}
.hero::after{content:"";position:absolute;left:0;right:0;top:calc(100% - 1px);height:9px;background:var(--tooth-k) 0 0/16px 9px repeat-x;z-index:2}
.hero-in{max-width:70rem;margin:0 auto;padding:0 var(--pad);display:grid;gap:1.8rem}
.hero h1{font:400 clamp(2.25rem,10.2vw,4.2rem)/1.04 var(--slab);letter-spacing:.005em;margin:0 0 1rem;text-wrap:balance}
.lede{font-size:1.2rem;line-height:1.5;max-width:34rem;margin:0 0 1.4rem}
.cta{display:flex;flex-direction:column;gap:.7rem;margin:0}
.hero-photo{position:relative;margin:0}
.window{position:relative;border:3px solid var(--ink);border-radius:22px;overflow:hidden;background:var(--kraft-d);box-shadow:0 1px 0 rgba(58,35,20,.1),0 10px 18px -12px rgba(58,35,20,.55)}
.window img{width:100%;aspect-ratio:16/10;object-fit:cover}
.window figcaption{position:absolute;left:.6rem;bottom:.6rem;background:rgba(251,245,231,.92);color:var(--ink);font:700 .75rem/1 var(--sans);padding:.35rem .55rem;border-radius:5px}
.stamp{position:absolute;right:.2rem;top:-2.2rem;width:6.6rem;height:6.6rem;transform:rotate(-12deg);mix-blend-mode:multiply;pointer-events:none}
.st-line{fill:none;stroke:#a30d0d;stroke-width:3.2}
.st-thin{stroke-width:1.6}
.st-ring{font:400 10.6px var(--slab);fill:#a30d0d}
.st-od{font:400 14px var(--slab);fill:#a30d0d}
.st-year{font:400 18px var(--slab);fill:#a30d0d}

/* Malý ukázkový lístek v úvodu (jen desktop) */
.mini{display:none}

/* Sekce – společné */
.sec-head{margin:0 0 1.6rem;max-width:44rem}
.sec-head h2{font:400 clamp(1.7rem,6.6vw,2.7rem)/1.12 var(--slab);text-wrap:balance}
.sec-lede{margin:.9rem 0 0;font-size:1.125rem;max-width:38rem}

/* Objednávka */
.order{padding:3.4rem 0 3.4rem;background:var(--kraft-d) var(--noise)}
.order-grid{display:grid;gap:1.6rem}
.steps{display:grid;gap:1.1rem}
.step{margin:0;padding:1.1rem 1rem 1.2rem;border:0;background:var(--cream);border-radius:14px;box-shadow:0 1px 0 rgba(58,35,20,.1),0 10px 18px -12px rgba(58,35,20,.55);min-width:0}
.step legend{float:left;width:100%;display:flex;align-items:center;gap:.7rem;padding:0;margin:0 0 .9rem;font:400 1.3rem/1.15 var(--slab)}
.step legend + *{clear:both}
.step-no{flex:none;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--ink);color:var(--cream);font:400 1.05rem/1 var(--slab)}
.grp + .grp{margin-top:1.2rem}
.grp-title{font:700 .82rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding-bottom:.45rem;border-bottom:2px solid var(--ink);margin-bottom:.1rem}
.items{list-style:none;margin:0;padding:0}
.item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:3.4rem;padding:.55rem 0;border-bottom:1px dotted var(--ink-2)}
.item:last-child{border-bottom:0}
.item-text{display:flex;flex-direction:column;min-width:0}
.item-name{font-weight:700;font-size:1.0625rem}
.item-desc{font-size:.9rem;color:var(--ink-2);line-height:1.35}
.qty{flex:none;display:flex;align-items:center;gap:.15rem;background:var(--flour);border:2px solid var(--ink);border-radius:999px;padding:.12rem}
.qty button{width:2.6rem;height:2.6rem;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink);font:700 1.5rem/1 var(--sans);cursor:pointer;touch-action:manipulation}
.qty button:hover:not(:disabled){background:var(--ink);color:var(--cream)}
.qty button:disabled{opacity:.35;cursor:default}
.qty output{min-width:1.9rem;text-align:center;font:700 1.15rem/1 var(--sans);font-variant-numeric:tabular-nums}
.item.has-qty{background:linear-gradient(90deg,rgba(200,161,113,.22),transparent 70%)}
.item.has-qty .qty{background:var(--ink);color:var(--cream)}
.item.has-qty .qty button{color:var(--cream)}
.item.has-qty .qty button:hover:not(:disabled){background:var(--cream);color:var(--ink)}
.hint{font-size:.95rem;margin:.9rem 0 0;color:var(--ink-2)}
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}
.chip{position:relative;display:block}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.5rem;padding:.3rem .2rem;border:2px solid var(--ink);border-radius:10px;background:var(--flour);font-size:.95rem;line-height:1.2;text-align:center}
.chip b{font-weight:700;font-size:1rem}
.chip small{font-size:.72rem;font-weight:700}
.chip input:checked + span{background:var(--ink);color:var(--cream)}
.chip input:focus-visible + span{outline:3px solid var(--focus);outline-offset:3px}
.chip:hover input:not(:checked) + span{background:var(--kraft-l)}
.shops-pick{display:grid;gap:.5rem}
.pick{position:relative;display:block}
.pick input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.pick-in{display:flex;flex-direction:column;padding:.7rem .9rem .7rem 2.8rem;min-height:3.5rem;border:2px solid var(--ink);border-radius:10px;background:var(--flour);position:relative;font-size:.98rem;line-height:1.3}
.pick-in b{font-size:1.05rem}
.pick-in::before{content:"";position:absolute;left:.9rem;top:50%;width:1.2rem;height:1.2rem;margin-top:-.6rem;border:2px solid var(--ink);border-radius:50%;background:var(--cream)}
.pick input:checked + .pick-in{background:var(--ink);color:var(--cream)}
.pick input:checked + .pick-in::before{background:var(--cream);box-shadow:inset 0 0 0 .22rem var(--ink)}
.pick input:focus-visible + .pick-in{outline:3px solid var(--focus);outline-offset:3px}
.pick:hover input:not(:checked) + .pick-in{background:var(--kraft-l)}
.field{display:block;margin:0 0 .9rem}
.field span{display:block;font-weight:700;font-size:.95rem;margin-bottom:.3rem}
.field input,.field textarea{width:100%;font:400 1.0625rem/1.4 var(--sans);color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:10px;padding:.65rem .8rem}
.field textarea{resize:vertical;min-height:5rem}
.field input::placeholder,.field textarea::placeholder{color:#6d5444;opacity:1}

/* Lístek (papírový objednací lístek) */
.ticket-col{min-width:0}
.ticket{position:relative;background:var(--cream);padding:1.3rem 1.1rem 1.4rem;border-radius:6px 6px 0 0;filter:drop-shadow(0 12px 12px rgba(58,35,20,.35));background-image:repeating-linear-gradient(to bottom,transparent 0 1.7rem,rgba(58,35,20,.06) 1.7rem calc(1.7rem + 1px))}
.ticket::after{content:"";position:absolute;left:0;right:0;top:calc(100% - 1px);height:9px;background:var(--tooth) 0 0/16px 9px repeat-x}
.ticket-head{margin:0 0 .15rem;padding-bottom:.7rem;border-bottom:2px dashed var(--ink);font:700 .78rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.ticket-title{font:400 1.9rem/1.1 var(--slab);margin:.9rem 0 1rem}
.ticket-empty{margin:0 0 1rem;padding:.8rem 0;font-size:1rem}
.t-lines{list-style:none;margin:0 0 1rem;padding:0}
.t-lines li{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0;font-size:1.1rem;font-weight:700;animation:drop .3s ease-out}
.t-lines .dots{flex:1;border-bottom:2px dotted var(--ink-2);transform:translateY(-.25em);min-width:1rem}
.t-lines b{font-weight:700;font-variant-numeric:tabular-nums}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.t-meta{margin:0 0 .9rem;padding:.8rem 0 0;border-top:2px solid var(--ink)}
.t-meta div{display:flex;flex-direction:column;margin:0 0 .55rem}
.t-meta dt{font:700 .74rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.t-meta dd{margin:.1rem 0 0;font-size:1.05rem;font-weight:700;overflow-wrap:anywhere;white-space:pre-line}
.t-foot{font-size:.95rem;font-style:italic;margin:0 0 1rem}
.t-actions{display:grid;gap:.6rem}
.t-help{margin:.8rem 0 0;font-size:.95rem;font-weight:700}
.t-small{margin:.5rem 0 0;font-size:.85rem;color:var(--ink-2)}
.t-reset{margin:.9rem 0 0;padding:.5rem 0;border:0;background:none;color:var(--ink);font:700 .95rem var(--sans);text-decoration:underline;cursor:pointer}
.order-bar{position:sticky;bottom:0;z-index:20;margin:1.2rem calc(var(--pad) * -1) -3.4rem;padding:.6rem var(--pad) calc(.6rem + env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(180,138,88,.98) 70%,rgba(180,138,88,0))}
.js .order-bar{display:block}
.order-bar .btn{width:100%}

/* Prodejny */
.shops{background:var(--cream);padding:3.2rem 0 3.6rem;position:relative}
.shops::before{content:"";position:absolute;left:0;right:0;top:-8px;height:9px;background:var(--tooth) 0 0/16px 9px repeat-x;transform:scaleY(-1)}
.addr{margin:.2rem 0 .65rem;font-weight:700}
.shop-act{margin:0}
.tel{font-weight:700;white-space:nowrap}

/* Příběh */
.story{background:var(--dark);color:var(--dark-ink);padding:3.4rem 0 3.6rem;position:relative}
.story a{color:inherit}
.story-grid{display:grid;gap:2rem}
.story h2{font:400 clamp(1.7rem,6.6vw,2.7rem)/1.12 var(--slab);margin-bottom:1.4rem;text-wrap:balance}
.story-photo{position:relative;margin:0;border-radius:14px;overflow:hidden;border:3px solid var(--dark-ink)}
.story-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.story-photo figcaption,.bake-photo figcaption{position:absolute;left:.6rem;bottom:.6rem;background:rgba(251,245,231,.92);color:var(--ink);font:700 .75rem/1 var(--sans);padding:.35rem .55rem;border-radius:5px}
.timeline{list-style:none;margin:0;padding:0 0 0 1.7rem;position:relative}
.timeline::before{content:"";position:absolute;left:.45rem;top:.6rem;bottom:.6rem;border-left:3px dashed var(--dark-2)}
.timeline li{position:relative;margin:0 0 1.7rem}
.timeline li:last-child{margin-bottom:0}
.timeline li::before{content:"";position:absolute;left:-1.7rem;top:.35rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--dark-ink);border:3px solid var(--dark)}
.timeline p{margin:0}
.tl-year{font:400 1.55rem/1.15 var(--slab);margin-bottom:.25rem !important;color:var(--cream)}
.timeline li p:not(.tl-year){font-size:1.1rem;color:var(--dark-ink);max-width:34rem}
.tl-key{background:rgba(243,232,208,.09);border-radius:12px;padding:.9rem 1rem;margin-left:-.2rem}
.tl-key::before{top:1.2rem;left:-1.5rem}
.tl-key strong{font-weight:700;color:var(--cream);text-decoration:underline;text-decoration-color:var(--dark-2);text-underline-offset:.2em}

/* Co pečeme */
.bake{background:var(--kraft-l);padding:3.2rem 0 3.4rem;position:relative}
.bake-head{display:grid;gap:1.4rem;max-width:none}
.bake-photo{position:relative;margin:0;border:3px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 1px 0 rgba(58,35,20,.1),0 10px 18px -12px rgba(58,35,20,.55)}
.bake-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.assort{display:grid;gap:1.6rem;margin-top:.4rem}
.as-col{display:grid;gap:1.6rem;align-content:start}
.as-grp h3{font:400 1.35rem/1.2 var(--slab);padding-bottom:.45rem;border-bottom:2px solid var(--ink);margin-bottom:.2rem}
.as-list{list-style:none;margin:0;padding:0}
.as-list li{padding:.35rem 0;font-size:1.1rem;border-bottom:2px dotted var(--ink-2)}
.as-list li:last-child{border-bottom:0}
.as-list .as-sub{font:700 .82rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding-top:.9rem}
.as-list .as-sub{border-bottom:0}
.as-note{margin:.6rem 0 0;font-size:1.05rem}
.as-link{margin:.5rem 0 0}
.as-link a{font-weight:700}
.school{margin:1.5rem 0 0;font-weight:700;font-size:1.05rem}

/* Kontakt */
.contact{background:var(--cream);padding:3.2rem 0 3.6rem}
.contact-grid{display:grid;gap:1.6rem}
.contact h2{font:400 clamp(1.7rem,6.6vw,2.5rem)/1.12 var(--slab);text-wrap:balance}
.firm{font-size:1.1rem}
.mail{font-weight:700;font-size:1.15rem;overflow-wrap:anywhere}
.tel-title{font:700 .82rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:1.4rem 0 .4rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink)}
.tel-list{list-style:none;margin:0;padding:0}
.tel-list li{display:flex;align-items:baseline;gap:.5rem;padding:.35rem 0}
.tel-list span{flex:none}
.tel-list li::before{content:"";order:1;flex:1;border-bottom:2px dotted var(--ink-2);transform:translateY(-.25em)}
.tel-list a{order:2;font-weight:700;font-size:1.1rem;text-decoration:none;padding:.35rem 0;border-bottom:2px solid transparent}
.tel-list a:hover{border-bottom-color:var(--ink)}

/* Patička */
.foot{background:var(--dark);color:var(--dark-2);padding:1.8rem 0 2rem;font-size:.95rem}
.foot p{margin:0 0 .4rem}
.foot b{color:var(--dark-ink)}
.forma{font-size:.85rem;opacity:.9}

/* Tablet a víc */
@media (min-width:640px){
  .cta{flex-direction:row;flex-wrap:wrap}
  .days{grid-template-columns:repeat(6,1fr)}
  .assort{grid-template-columns:1fr 1fr;gap:3rem}
  .t-actions{grid-template-columns:1fr 1fr}
  .stamp{width:8rem;height:8rem;top:-3.2rem}
}
@media (min-width:860px){
  .nav{display:flex;gap:.3rem}
  .nav a{padding:.5rem .8rem;border-radius:8px;text-decoration:none;font-weight:700;color:var(--dark-ink)}
  .nav a:hover{background:rgba(243,232,208,.14)}
  .top-cta{display:none}
  .hero{padding:3rem 0 4.4rem}
  .hero-in{grid-template-columns:1.05fr 1fr;align-items:center;gap:3rem}
  .window img{aspect-ratio:4/3}
  .window figcaption{left:auto;right:.6rem;top:.6rem;bottom:auto}
  .stamp{width:9.5rem;height:9.5rem;left:auto;right:-.8rem;top:auto;bottom:-3rem;transform:rotate(-10deg)}
  .shop-wrap{grid-template-columns:1.1fr 1fr;align-items:start;gap:3rem}
  .story-grid{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
  .story-head{position:sticky;top:5.5rem}
  .bake-head{grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem}
  .contact-grid{grid-template-columns:1fr 1fr;gap:4rem}
}
@media (min-width:960px){
  .mini{display:block;position:absolute;left:-2.4rem;bottom:-2.2rem;width:12.4rem;transform:rotate(-2deg);text-decoration:none;color:var(--ink);filter:drop-shadow(0 8px 8px rgba(58,35,20,.35));transition:transform .2s}
  .mini:hover{transform:rotate(-1deg) translateY(-3px)}
  .mini-in{position:relative;display:block;background:var(--cream);padding:.7rem .8rem .8rem;border-radius:4px 4px 0 0;background-image:repeating-linear-gradient(to bottom,transparent 0 1.45rem,rgba(58,35,20,.06) 1.45rem calc(1.45rem + 1px))}
  .mini-in::after{content:"";position:absolute;left:0;right:0;top:calc(100% - 1px);height:9px;background:var(--tooth) 0 0/16px 9px repeat-x}
  .mini-cap{display:block;font:700 .7rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding-bottom:.4rem;margin-bottom:.3rem;border-bottom:2px dashed var(--ink)}
  .mini-row{display:flex;align-items:baseline;gap:.35rem;font-size:.88rem;font-weight:700;line-height:1.7}
  .mini-row i{flex:1;border-bottom:2px dotted var(--ink-2);transform:translateY(-.2em);min-width:.5rem}
  .mini-row b{font-weight:700}
  .order-grid{grid-template-columns:1.15fr .85fr;gap:2.4rem;align-items:start}
  .ticket-col{position:sticky;top:5rem}
  .t-actions{grid-template-columns:1fr}
  .order-bar{display:none !important}
  .days{grid-template-columns:repeat(4,1fr)}
  .shops-pick{grid-template-columns:1fr 1fr}
  .step{padding:1.4rem 1.5rem 1.5rem}
}
@media (min-width:1200px){
  .days{grid-template-columns:repeat(6,1fr)}
}
@media (forced-colors:active){
  .chip input:checked + span,.pick input:checked + .pick-in{outline:3px solid Highlight}
}


/* ukázka na vizitce FORMA: ceny v lístku a orientační součet */
.item-price{margin-top:.15rem;font-weight:700;font-size:.95rem;color:var(--ink)}
.t-sum{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin:0 0 .8rem;padding:.6rem 0;border-top:2px dashed var(--ink);border-bottom:2px dashed var(--ink)}
.t-sum span{font:700 .74rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.t-sum b{font:400 1.45rem/1.1 var(--slab);white-space:nowrap}
button.btn{font-family:var(--sans)}
.btn .tel{font-weight:700}

/* živý stav prodejny */
.live{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.15rem .5rem;margin:1.1rem 0 0;padding:.5rem .85rem;border:2px solid var(--ink);border-radius:999px;background:var(--cream);font-size:1rem;line-height:1.3}
.live-dot{flex:none;width:.75rem;height:.75rem;border-radius:50%;background:var(--ink-2)}
.live.is-open .live-dot{background:#2b7a2f;box-shadow:0 0 0 3px rgba(43,122,47,.22)}
.live.is-closed .live-dot{background:transparent;box-shadow:inset 0 0 0 2px var(--ink-2)}
.live-state{font-weight:700}
.live-sep{color:var(--ink-2)}

/* jedna prodejna místo plánku */
.shop-wrap{display:grid;gap:1.6rem}
.shop-card{padding:1.2rem 1.1rem 1.3rem;background:var(--kraft-l);border:3px solid var(--ink);border-radius:14px;min-width:0}
.shop-card h3{font:400 1.5rem/1.15 var(--slab)}
.shop-card .addr{margin:.2rem 0 0}
.shop-card .live{display:flex;border-radius:12px;margin:.9rem 0 1.1rem}
.hours-title,.how-title{font:700 .82rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .3rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink)}
.hours-list{margin:0 0 1.2rem}
.hours-list div{display:flex;align-items:baseline;gap:.5rem;padding:.45rem 0;border-bottom:1px dotted var(--ink-2)}
.hours-list div::after{content:"";order:1;flex:1;min-width:.5rem}
.hours-list dt{flex:none;font-weight:700}
.hours-list dd{order:2;margin:0;font:400 1.15rem/1.2 var(--slab);white-space:nowrap}
.hours-list dd.off{font:700 1rem/1.2 var(--sans);color:var(--ink-2)}
.hours-list .today{background:linear-gradient(90deg,rgba(251,245,231,.75),transparent)}
.today-tag{display:inline-block;margin-left:.45rem;padding:.05rem .45rem;border-radius:4px;background:var(--ink);color:var(--cream);font-size:.78rem;font-weight:700;letter-spacing:.04em;vertical-align:.08em}
.shop-act{margin:0}
.shop-act .btn{flex-direction:column;gap:0;align-items:center}
.fake-row{margin:.5rem 0 0}
.fake{font-size:.88rem;color:var(--ink-2)}
.how-list{margin:0;padding:0;list-style:none}
.how-list li{position:relative;padding:.55rem 0 .55rem 1.6rem;font-size:1.08rem;border-bottom:1px dotted var(--ink-2)}
.how-list li:last-child{border-bottom:0}
.how-list li::before{content:"";position:absolute;left:.15rem;top:1.05rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--kraft-d);box-shadow:inset 0 0 0 2px var(--ink)}

/* sortiment s cenami */
.as-list li{display:flex;justify-content:space-between;align-items:baseline;gap:.3rem 1rem}
.as-p{flex:none;font-weight:700;white-space:nowrap}

/* telefon a e-mail otevřou vysvětlení ukázky */
.as-link.mail{padding:0;border:0;background:none;color:inherit;font:700 1.15rem/1.4 var(--sans);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.tel-list button{order:2;padding:.35rem 0;border:0;border-bottom:2px solid transparent;background:none;color:inherit;font:700 1.1rem/1.3 var(--sans);cursor:pointer;white-space:nowrap}
.tel-list button:hover{border-bottom-color:var(--ink)}
.foot-back{font-weight:700;color:var(--dark-ink)}
.pop{max-width:min(27rem,calc(100vw - 2rem));padding:1.4rem 1.4rem 1.5rem;border:3px solid var(--ink);border-radius:14px;color:var(--ink);background:var(--cream);box-shadow:0 30px 60px -20px rgba(46,27,15,.75)}
.pop::backdrop{background:rgba(46,27,15,.62)}
.pop h2{font:400 clamp(1.5rem,6.5vw,1.9rem)/1.15 var(--slab);margin:0 0 .7rem;text-wrap:balance}
.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(46,27,15,.62)}
.pop-shade.is-open{display:block}

/* ===== tuning 30. 10. 2026 ===== */
@font-face{font-family:'Kalam';font-weight:400;font-display:swap;src:url(fonts/kalam-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+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Kalam';font-weight:400;font-display:swap;src:url(fonts/kalam-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2C60-2C7F,U+A720-A7FF}
:root{--pad:clamp(1rem,4.45vw,4rem);--noc:#1c100a;--tooth-kd:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9'%3E%3Cpath d='M0 0h16L8 9z' fill='%23b48a58'/%3E%3C/svg%3E");--ruka:'Kalam','Segoe Print','Bradley Hand',cursive;--tuzka:#413a36;
  --tahan:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath d='M1 5C20 2 38 6 58 3s42 2 61 0' fill='none' stroke='%23413a36' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  --krouzek:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 80' preserveAspectRatio='none'%3E%3Cpath d='M58 6C32 2 8 16 6 40s26 36 50 34 40-20 37-42S66 2 38 10' fill='none' stroke='%23413a36' stroke-width='2.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  --seminko:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M1 8Q10-3 23 3Q12 11 1 8z' fill='%235b3f2e'/%3E%3C/svg%3E")}
.wrap,.top-in,.hero-in{max-width:90rem}
.hero{z-index:2}
@media (max-width:1099px){.hero{padding-bottom:5rem}}
.sec-head{max-width:none;margin:0}
.sec-head h2,.story-head h2,.shop-cas h2{font:400 clamp(2.05rem,5.75vw,5.1rem)/1.05 var(--slab);letter-spacing:-.005em;text-wrap:balance}
.sec-lede{font-size:clamp(1.125rem,1.45vw,1.3rem);max-width:38rem}

/* scéna Noc: hotová kompozice je plakát 6:00, pohyb přidává blok níže */
.noc{--stred:64.5vw;--chleb-w:min(70vw,112svh);--mesto-w:min(190vw,302svh);--cas:min(17.2vw,27.5svh);position:relative;background:var(--noc);color:var(--ink)}
.noc-pin{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate}
.noc-nebe{position:absolute;inset:0;z-index:-2}
.n-noc,.n-zar,.n-svit{opacity:0}
.n-noc{background:url(hvezdy.svg) 50% 0/max(100%,1100px) auto no-repeat,linear-gradient(#0e0705 0,#170c07 38%,#2b170e 66%,#4a2a18 100%)}
.n-zar{background:linear-gradient(#2a120a 0,#6a2410 36%,#b4481a 64%,#e88a30 100%)}
.n-svit{background:linear-gradient(#7a3517 0,#b0552a 36%,#e8923f 66%,#fcd88c 100%)}
.n-rano{background:linear-gradient(#f7e9c9 0,#fbf5e7 48%,#f8dfae 82%,#f4c987 100%)}
.noc-chleb{position:absolute;z-index:-1;left:calc(var(--stred) - var(--chleb-w)/2);bottom:calc(var(--mesto-w)*.0556 - var(--chleb-w)*.18);width:var(--chleb-w);aspect-ratio:1200/720;transform-origin:50% 69%}
.noc-chleb img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.ch-testo,.ch-zlato{opacity:0}
.noc-mesto{position:absolute;left:0;right:0;bottom:0;z-index:-1;height:calc(var(--mesto-w)*.1679);pointer-events:none}
.noc-mesto img{position:absolute;left:calc(var(--stred) - var(--mesto-w)*.5464);bottom:0;width:var(--mesto-w);height:auto;max-width:none}
.mes-okna{opacity:0}
.noc-mesto .noc-dym{--dw:calc(var(--mesto-w)*.0857);left:calc(var(--stred) + var(--mesto-w)*.0443 - var(--dw)/2);bottom:calc(var(--mesto-w)*.0579);width:var(--dw);opacity:0;transform-origin:50% 100%}
.noc-obsah{position:relative;box-sizing:content-box;width:min(40rem,40vw);padding:calc(3.6rem + 5.2svh) 0 3rem;margin-left:max(var(--pad),calc((100vw - 90rem)/2 + var(--pad)))}
.noc-cas{margin:0;font:400 var(--cas)/.88 var(--slab);white-space:nowrap}
.cas-sv{display:none}
.cs{display:inline-block;width:.722em;text-align:center}
.cd{display:inline-block;width:.335em;text-align:center}
.noc-kroky{list-style:none;margin:1.4rem 0 0;padding:0;font:400 1.3rem/1.3 var(--slab)}
.noc-kroky li{display:flex;gap:.8rem;margin:0 0 .2rem}
.noc-kroky b{flex:none;width:3.2rem;font-weight:400}
.noc-cta{margin:1.2rem 0 0}
.noc-cta .btn{min-height:3.75rem;padding:.8rem 1.9rem;font-size:1.2rem}
.noc-razitko{position:absolute;right:clamp(1rem,5vw,5rem);top:calc(4.6rem + 2.5svh);width:min(17vw,28svh);height:auto;transform:rotate(-11deg)}
.st-sest{font:400 21px var(--slab);fill:#a30d0d}
.st-otev{font:400 9px var(--slab);fill:#a30d0d;letter-spacing:.03em}
@media (prefers-reduced-motion:no-preference){
  .js .noc{height:500svh}
  .js .noc-pin{position:sticky;top:0;height:100svh;min-height:0}
  .js .noc-hodiny{display:grid}
  .js .noc-cas{grid-area:1/1}
  .js .cas-sv{display:block;color:var(--cream)}
  .js .ch-testo,.js .n-noc{opacity:1}
  .js .noc-kroky{position:relative;height:6.9rem;font-size:clamp(1.7rem,3.15vw,2.95rem);line-height:1.12}
  .js .noc-kroky li{position:absolute;left:0;right:0;bottom:0;display:block;margin:0;color:var(--cream);text-wrap:balance}
  .js .noc-kroky .k-rano{color:var(--ink)}
  .js .noc-kroky b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .js .noc-cta{visibility:hidden}
  .js .noc-cta.je{visibility:visible}
  .noc.blizko .noc-nebe,.noc.blizko .noc-chleb,.noc.blizko .noc-chleb img,.noc.blizko .mes-dal,.noc.blizko .mes-okna,.noc.blizko .noc-dym,.noc.blizko .noc-razitko,.noc.blizko .noc-kroky li,.noc.blizko .noc-cas{will-change:transform,opacity}
}
@media (max-width:959px){
  .noc{--stred:50vw;--chleb-w:min(132vw,62svh);--mesto-w:1500px;--cas:min(30.4vw,19.5svh)}
  .noc-obsah{width:auto;margin:0;padding:calc(3.6rem + 2.2svh) var(--pad) 0}
  .noc-pin{padding-bottom:calc(var(--chleb-w)*.62)}
  .noc-razitko{right:var(--pad);top:auto;bottom:calc(var(--chleb-w)*.53 + .6rem);width:min(29vw,14.5svh)}
}
@media (prefers-reduced-motion:no-preference) and (max-width:959px){
  .js .noc-pin{padding-bottom:0}
  .js .noc-kroky{height:4.6rem;margin-top:.9rem;font-size:clamp(1.55rem,6.6vw,2.2rem)}
}

/* objednávka: blok a utržený lístek na tmavém stole */
.order{position:relative;isolation:isolate;padding:clamp(2.6rem,5.5vw,5rem) 0 clamp(4rem,8vw,7.5rem);background:var(--noc);color:var(--flour)}
.order::before{content:"";position:absolute;inset:3rem 0 0;z-index:-1;background:url(stul.svg) 50% 0/max(100%,1100px) auto repeat-y;pointer-events:none}
.order-head{margin-bottom:clamp(2rem,4vw,3.6rem)}
.sec-head.order-head h2{color:var(--cream);font-size:clamp(2.05rem,5.2vw,4.7rem)}
.order-head .sec-lede{margin:1rem 0 0;max-width:44rem;color:var(--dark-2)}
.order .note-box{color:var(--ink)}
.order-grid{gap:2.6rem 3.4rem}
.blok{--bp:clamp(1rem,3.3vw,3rem);position:relative;min-width:0;padding:0 var(--bp) clamp(1.8rem,3vw,2.8rem);background:var(--cream) var(--noise);color:var(--ink);box-shadow:0 34px 60px -30px #000}
.blok::before{content:"";position:absolute;left:.45rem;right:-.45rem;top:2.6rem;bottom:-.95rem;z-index:-1;background:#e4d7bb}
.blok::after{content:"";position:absolute;left:0;right:0;top:calc(100% - 1px);height:9px;background:var(--tooth) 0 0/16px 9px repeat-x}
.blok-vazba{position:relative;display:flex;justify-content:space-between;gap:1rem;margin:0 calc(var(--bp)*-1);padding:.8rem var(--bp) .72rem;background:var(--kraft-d) var(--noise);color:var(--ink);font:700 .875rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 3px 5px -2px rgba(58,35,20,.5)}
.blok-vazba::after{content:"";position:absolute;left:0;right:0;top:calc(100% - 1px);height:9px;background:var(--tooth-kd) 0 0/16px 9px repeat-x}
.blok-hlava{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:clamp(1.6rem,2.6vw,2.2rem) 0 0}
.blok-nazev{margin:0;font:400 clamp(1.55rem,3vw,2.6rem)/1.08 var(--slab)}
.blok-cislo{flex:none;margin:0;font:400 clamp(1.05rem,1.7vw,1.5rem)/1 var(--slab);letter-spacing:.07em;color:var(--red)}
.step{margin:clamp(1.5rem,2.6vw,2.3rem) 0 0;padding:0;background:none;box-shadow:none;border-radius:0}
@media (min-width:960px){.step{padding:0}}
.step legend{font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:.7rem}
.step-no{background:none;color:var(--ink);box-shadow:inset 0 0 0 3px var(--ink)}
.sl-hlava{display:none}
.grp{margin-top:1.5rem}
.grp + .grp{margin-top:1.9rem}
.grp-title{padding-bottom:.4rem;border-bottom:3px solid var(--ink);margin:0;font:400 clamp(1.2rem,1.7vw,1.45rem)/1.2 var(--slab);letter-spacing:0;text-transform:none}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t q" "c q";gap:.1rem .8rem;align-items:center;min-height:0;padding:.7rem 0;border-bottom:1px solid rgba(58,35,20,.3);transition:background-color .16s}
.item:last-child{border-bottom:1px solid rgba(58,35,20,.3)}
.item-text{grid-area:t}
.item-name{align-self:flex-start;font:700 1.125rem/1.25 var(--sans)}
.item-desc{font-size:.96rem;line-height:1.3}
.item-price{grid-area:c;display:flex;align-items:baseline;gap:.4rem;margin:0;font:400 1.15rem/1.2 var(--slab);white-space:nowrap}
.item-price small{font:400 .95rem/1.2 var(--sans);color:var(--ink-2)}
.qty{grid-area:q;background:none;border:0;padding:0;gap:0}
.qty button{width:2.75rem;height:2.75rem;box-shadow:inset 0 0 0 2px var(--ink);font-size:1.45rem;transition:background-color .15s,color .15s}
.qty button:disabled{opacity:.28}
.qty output{min-width:2.3rem;font:400 1.75rem/1 var(--ruka);color:var(--tuzka)}
.item:not(.has-qty) .qty output{opacity:.38}
.item.has-qty{background:none}
.item.has-qty .qty{background:none;color:inherit}
.item.has-qty .qty button{color:var(--ink)}
.item.has-qty .qty button:hover:not(:disabled){background:var(--ink);color:var(--cream)}
.item.has-qty .item-name{background:var(--tahan) 0 100%/100% .42rem no-repeat;padding-bottom:.28rem}
.hint{font-size:1rem}
.days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:.2rem;border:solid var(--ink);border-width:2px 0 0 2px}
.chip span{position:relative;min-height:4.7rem;padding:.3rem .2rem;border:solid var(--ink);border-width:0 2px 2px 0;border-radius:0;background:none;font-size:1rem;font-variant-numeric:tabular-nums}
.chip b{font:400 1.15rem/1.2 var(--slab)}
.chip small{font-size:.8rem}
.chip input:checked + span{background:none;color:var(--ink)}
.chip input:checked + span::after{content:"";position:absolute;inset:.25rem;background:var(--krouzek) center/100% 100% no-repeat;animation:krouzek .32s ease-out}
@keyframes krouzek{from{clip-path:circle(0 at 58% 8%)}to{clip-path:circle(120% at 58% 8%)}}
.chip:hover input:not(:checked) + span{background:rgba(200,161,113,.22)}
.field{margin-bottom:1.2rem}
.field span{font-size:1rem}
.field input,.field textarea{display:block;padding:0 .15rem;border:0;border-radius:0;font:400 1.4rem/2.3rem var(--ruka);color:var(--tuzka);background:transparent repeating-linear-gradient(transparent 0 calc(2.3rem - 2px),rgba(58,35,20,.55) calc(2.3rem - 2px) 2.3rem) 0 0 local}
.field textarea{min-height:6.9rem;resize:none}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.field input::placeholder,.field textarea::placeholder{color:#7a685a;font-size:1.2rem}
.ticket-col{position:static}
.ticket{margin:9px 0;padding:1.5rem clamp(1.1rem,2vw,1.6rem) 1.7rem;border-radius:0;color:var(--ink);background-color:var(--cream);background-image:var(--noise);filter:drop-shadow(0 16px 18px rgba(0,0,0,.6))}
.ticket::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:9px;background:var(--tooth) 0 0/16px 9px repeat-x;transform:scaleY(-1)}
.ticket-head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;font-size:.875rem;letter-spacing:.09em}
.ticket-cislo{flex:none;font:400 1rem/1 var(--slab);letter-spacing:.07em;color:var(--red)}
.ticket-title{font-size:clamp(1.8rem,2.7vw,2.4rem)}
.ticket-empty{margin:0 0 .8rem;padding:.2rem 0 .6rem;font:400 1.35rem/1.32 var(--ruka);color:var(--tuzka)}
.t-lines li{padding:.1rem 0;font:400 1.4rem/1.3 var(--ruka);color:var(--tuzka);animation:none}
.t-lines .dots{border-bottom:2px dotted rgba(65,58,54,.55)}
.t-lines .psano{animation:psat .38s cubic-bezier(.3,.7,.3,1)}
@keyframes psat{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -1rem 0 0)}}
.t-meta{border-top:2px dashed var(--ink)}
.t-meta dd{font:400 1.3rem/1.25 var(--ruka);color:var(--tuzka)}
.t-meta dt{font-size:.875rem}
.t-sum{border-bottom:0;padding:.7rem 0 .2rem;margin-bottom:.4rem}
.t-sum span{font-size:.875rem}
.t-sum b{font:400 2.1rem/1 var(--ruka);color:var(--ink);background:var(--tahan) 0 100%/100% .5rem no-repeat;padding-bottom:.42rem}
.t-foot{font-style:normal;font-size:1rem}
.t-help{font-size:1rem}
.t-small{font-size:1rem}
.t-small .fake{display:block;margin-top:.15rem;font-size:1rem}
.fake{font-size:1rem}
.order-bar{background:linear-gradient(to top,rgba(28,16,10,.96) 70%,rgba(28,16,10,0))}
@media (max-width:959px){
  .blok{--bp:.95rem;margin:0 calc(var(--pad)*-1 + .4rem)}
  .blok::before{left:.3rem;right:-.3rem}
  .blok-vazba span:first-child{display:none}
  .ticket{margin-left:calc(var(--pad)*-1 + .4rem);margin-right:calc(var(--pad)*-1 + .4rem)}
}
@media (min-width:960px){
  .order-grid{grid-template-columns:minmax(0,1.85fr) minmax(20rem,1fr)}
  .ticket-col{position:sticky;top:5rem}
  .ticket{transform:rotate(.5deg)}
  .sl-hlava{display:grid;grid-template-columns:minmax(0,1fr) 7.2rem 9.1rem;gap:1.2rem;margin:0;font:700 .875rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
  .sl-hlava span:nth-child(2){text-align:right}
  .sl-hlava span:nth-child(3){text-align:center}
  .grp{margin-top:.9rem}
  .item{grid-template-columns:minmax(0,1fr) 7.2rem 9.1rem;grid-template-areas:"t c q";gap:1.2rem;padding:.72rem .35rem}
  .item:hover{background:rgba(200,161,113,.17)}
  .item-name{font-size:1.25rem}
  .item-desc{font-size:1.0625rem}
  .item-price{flex-direction:column;align-items:flex-end;gap:.1rem;font-size:1.35rem}
  .item-price small{font-size:1.0625rem}
  .chip span{font-size:1.0625rem}
  .chip small{font-size:.9375rem}
  .qty{justify-content:center}
  .days{grid-template-columns:repeat(6,minmax(0,1fr))}
  .hint{font-size:1.0625rem}
}
@media (min-width:1200px){.days{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (min-width:960px) and (max-width:1179px){
  .sl-hlava{display:none}
  .item{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t q" "c q";gap:.1rem 1rem}
  .item-price{flex-direction:row;align-items:baseline;gap:.4rem;font-size:1.2rem}
}

/* prodejna: otevírací doba jako největší věc v sekci */
.shops{padding:clamp(3.2rem,7vw,7rem) 0 clamp(3.6rem,7vw,7rem)}
.shop-wrap{display:grid;gap:3rem 6rem}
.shop-cas .sec-lede{margin-top:.8rem}
.shop-cas .live{display:flex;width:max-content;max-width:100%;margin:clamp(1.8rem,3.4vw,3rem) 0 0;padding:0;border:0;background:none;font-size:clamp(1.1rem,1.6vw,1.4rem)}
.shop-cas .live-dot{width:.95rem;height:.95rem}
.hours-list{margin:.5rem 0 0}
.hours-list div{display:grid;grid-template-columns:1fr;gap:0;padding:.5rem 0;border:0}
.hours-list div::after{content:none}
.hours-list dt{display:flex;align-items:center;gap:.5rem;font-size:1.125rem}
.hours-list dd{font:400 clamp(2.5rem,12.4vw,6.3rem)/1.04 var(--slab);letter-spacing:-.01em}
.hours-list dd.off{font:400 clamp(2.5rem,12.4vw,6.3rem)/1.04 var(--slab);color:#8a7564}
.hours-list .today{background:none}
.how-title{margin-bottom:.5rem;padding:0;border:0;font:400 clamp(1.4rem,2.1vw,1.8rem)/1.2 var(--slab);letter-spacing:0;text-transform:none}
.how-list li{padding:.65rem 0 .65rem 2.1rem;font-size:clamp(1.0625rem,1.4vw,1.25rem);line-height:1.4;border:0}
.how-list li::before{left:0;top:1.05rem;width:1.35rem;height:.68rem;border-radius:0;background:var(--seminko) center/contain no-repeat;box-shadow:none}
.shop-act{margin-top:1.4rem}
@media (min-width:960px){
  .shop-wrap{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:end}
  .hours-list div{grid-template-columns:10.4rem auto;align-items:baseline;justify-content:start;gap:1rem;padding:.3rem 0}
  .hours-list dt{display:block;white-space:nowrap;font-size:1.1875rem}
  .hours-list dd,.hours-list dd.off{font-size:min(6.4vw,6rem)}
  .today-tag{margin-left:0;margin-top:.2rem;display:table}
}

/* příběh: fotka přes celou šířku a pět zastávek v řadě */
.story{padding:0 0 clamp(3.6rem,7vw,6.5rem)}
.story-pas{margin:0}
.story-pas img{width:100%;height:clamp(16rem,60svh,44rem);object-fit:cover;object-position:50% 62%}
.story-head{margin:clamp(2.4rem,5vw,4.6rem) 0 clamp(2rem,4.4vw,4rem)}
.story-head h2{margin:0}
.story-head .sec-lede{color:var(--dark-2)}
.tl-year{font-size:clamp(1.9rem,3.5vw,3.1rem)}
.timeline li p:not(.tl-year){font-size:clamp(1.0625rem,1.3vw,1.1875rem)}
.tl-key{background:none;border-radius:0;padding:0;margin:0 0 1.7rem}
.tl-key::before{top:.35rem;left:-1.7rem;background:var(--kraft)}
.tl-key .tl-year{color:var(--kraft)}
.tl-key strong{text-decoration:none}
@media (min-width:960px){
  .timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.6rem;padding:2.4rem 0 0}
  .timeline::before{left:0;right:0;top:.5rem;bottom:auto;border-left:0;border-top:3px dashed var(--dark-2)}
  .timeline li,.tl-key{margin:0}
  .timeline li::before,.tl-key::before{left:0;top:-2.4rem}
}

/* ceník: pět velkých řádků jako potisk sáčku */
.bake{padding:clamp(3.4rem,7vw,7rem) 0 clamp(3.4rem,6vw,6rem)}
.bake-head{display:block}
.bake-head .sec-lede{margin-top:.9rem}
.vyveska{list-style:none;margin:clamp(1.8rem,4vw,3.4rem) 0 clamp(2.4rem,4.6vw,4rem);padding:0}
.vyveska li{display:flex;align-items:baseline;gap:.4rem clamp(.5rem,1.3vw,1.2rem);padding:clamp(.42rem,.95vw,.8rem) 0;font:400 clamp(1.3rem,4.5vw,4.05rem)/1.1 var(--slab)}
.vyveska i{flex:1;min-width:.8rem;border-bottom:clamp(3px,.42vw,6px) dotted var(--ink);transform:translateY(-.16em)}
.v-cena{flex:none;white-space:nowrap}
.assort{gap:2.2rem}
.as-grp h3{border-bottom:3px solid var(--ink);padding-bottom:.4rem;font-size:clamp(1.3rem,1.9vw,1.6rem)}
.as-list li{padding:.42rem 0;font-size:clamp(1.0625rem,1.4vw,1.1875rem);border-bottom:0}
.as-note,.as-link{font-size:1.0625rem}
.as-note{margin-top:.8rem}
.school{margin-top:clamp(1.6rem,3vw,2.6rem);font:400 clamp(1.2rem,2.1vw,1.8rem)/1.2 var(--slab)}
@media (min-width:640px){.assort{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.assort{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.4rem,5vw,5rem)}}

/* závěr a patička: ráno nad městem */
.konec{--stred:70vw;--chleb-w:min(62vw,54rem);--mesto-w:min(190vw,302svh);position:relative;overflow:hidden;isolation:isolate;padding:clamp(3.6rem,8vw,7rem) 0 calc(var(--mesto-w)*.13);background:linear-gradient(#f7e9c9 0,#fbf5e7 40%,#f8dfae 74%,#f4c987 100%)}
.konec-chleb{position:absolute;z-index:-1;left:calc(var(--stred) - var(--chleb-w)/2);bottom:calc(var(--chleb-w)*-.03);width:var(--chleb-w);aspect-ratio:1200/720}
.konec-chleb img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.konec-in{position:relative}
.konec h2{max-width:11ch;font:400 clamp(2.9rem,10.4vw,9.4rem)/.98 var(--slab);letter-spacing:-.01em}
.konec-lede{margin:clamp(1.2rem,2.4vw,2rem) 0 0;max-width:30rem;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.4}
.konec-akce{display:flex;flex-wrap:wrap;gap:.8rem;margin:clamp(1.4rem,2.6vw,2.2rem) 0 0}
.btn-xl{min-height:3.75rem;padding:.8rem 1.8rem;font-size:clamp(1.1rem,1.5vw,1.3rem)}
.konec-mail{margin:.5rem 0 0}
.foot{position:relative;padding:0 0 clamp(1.4rem,2.6vw,2.4rem);background:var(--noc);color:var(--dark-2);font-size:1rem}
.foot-mesto{--mesto-w:min(190vw,302svh);--stred:70vw;position:absolute;left:0;right:0;bottom:100%;height:calc(var(--mesto-w)*.1679);overflow:hidden;pointer-events:none}
.foot-mesto img{position:absolute;left:calc(var(--stred) - var(--mesto-w)*.5464);bottom:0;width:var(--mesto-w);height:auto;max-width:none}
.foot-in{padding-top:clamp(1.4rem,3vw,2.6rem)}
.foot-znak{margin:0 0 clamp(1.1rem,2.4vw,2rem);font:400 clamp(2.5rem,12.1vw,10.9rem)/.96 var(--slab);letter-spacing:-.012em;white-space:nowrap;color:var(--flour)}
.foot-znak b{font-weight:400;color:inherit}
.foot-radek{display:grid;gap:.25rem 3rem}
.foot-radek p{margin:0}
.forma{font-size:1rem;opacity:1}
@media (min-width:860px){.foot-radek{grid-template-columns:auto auto 1fr auto}}
@media (max-width:959px){
  .konec{--stred:50vw;--chleb-w:118vw;--mesto-w:1500px;padding-bottom:calc(var(--chleb-w)*.66)}
  .foot-mesto{--stred:50vw;--mesto-w:1500px}
}
/* 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 .hero-in{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1100px){
.hero-obraz{--ho-t:251 245 231;padding-top:0}
.hero-obraz .hero-in{grid-template-columns:minmax(0,31rem) minmax(0,1fr)}
.hero-obraz .hero-text{min-height:var(--ho-h);display:flex;flex-direction:column;justify-content:center}
.hero-obraz .hero-photo{align-self:end;justify-self:end;width:19rem;height:7rem;margin:0 1rem 1rem 0}
}
/* /HERO-OBRAZ */
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
::selection{background:#cc0000;color:#ffffff}
:where(html){scrollbar-color:#3a2314 #c8a171}
:where(input,textarea){caret-color:#3a2314}
: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 #3a2314;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 */
