/* Cukrárna Tabule (ukázka) – křídová tabule za pultem: břidlicová čerň s křídovým prachem, křídová bílá, červená křída jen pro rozhodující tah. Písma uložená u webu (Yellowtail – Apache 2.0, Pathway Gothic One – SIL OFL 1.1). */
@font-face{font-family:'Yellowtail';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/yellowtail-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:'Yellowtail';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/yellowtail-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:'Pathway Gothic One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/pathway-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:'Pathway Gothic One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/pathway-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{
  --slate:#1c1d1d;--slate-2:#262828;
  --chalk:#efece4;--chalk-2:#c3bfb6;--chalk-3:rgba(239,236,228,.34);
  --red:#f4665e;--red-fill:#b9251f;--red-fill-h:#c42a26;
  --script:'Yellowtail',cursive;--print:'Pathway Gothic One','Arial Narrow',sans-serif;
  --gut:clamp(1.1rem,5vw,3rem);--max:74rem;
  --padx:max(var(--gut),calc((100% - var(--max)) / 2 + var(--gut)));
  --board-img:url(https://images.unsplash.com/photo-1614292253389-bd2c1f89cd0e?w=1000&q=55&auto=format);
  --veil:linear-gradient(rgba(22,23,23,.6),rgba(22,23,23,.6));
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .11 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --rule:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 10' preserveAspectRatio='none'%3E%3Cfilter id='g' x='-5%25' y='-60%25' width='110%25' height='220%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='5' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1.9 1.45' result='m'/%3E%3CfeComposite in='SourceGraphic' in2='m' operator='in'/%3E%3C/filter%3E%3Cg filter='url(%23g)' fill='none' stroke-linecap='round'%3E%3Cpath d='M2 6c60-2 120 1 190-1s140 2 206-1' stroke='%23efece4' stroke-opacity='.62' stroke-width='2.4' stroke-dasharray='150 5 90 8 400'/%3E%3Cpath d='M30 7.5c90-2 200 0 330-2' stroke='%23efece4' stroke-opacity='.3' stroke-width='1.2'/%3E%3C/g%3E%3C/svg%3E");
  --strike:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 22' preserveAspectRatio='none'%3E%3Cfilter id='g' x='-5%25' y='-60%25' width='110%25' height='220%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='5' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1.9 1.45' result='m'/%3E%3CfeComposite in='SourceGraphic' in2='m' operator='in'/%3E%3C/filter%3E%3Cg filter='url(%23g)' fill='none' stroke-linecap='round'%3E%3Cpath d='M4 13C70 10 130 14 200 10s120 0 160-3' stroke='%23f4665e' stroke-width='3.6' stroke-dasharray='300 6 22 9 80'/%3E%3Cpath d='M22 15.5c80-3 170 0 250-4 50-2 90-3 122-6' stroke='%23f4665e' stroke-opacity='.7' stroke-width='1.6'/%3E%3Cpath d='M150 11.5c40-1 80-1 120-3' stroke='%23f4665e' stroke-width='2.4'/%3E%3C/g%3E%3C/svg%3E");
  --under:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cfilter id='g' x='-5%25' y='-60%25' width='110%25' height='220%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='5' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1.9 1.45' result='m'/%3E%3CfeComposite in='SourceGraphic' in2='m' operator='in'/%3E%3C/filter%3E%3Cg filter='url(%23g)' fill='none' stroke-linecap='round'%3E%3Cpath d='M3 7c50-4 110 1 194-3' stroke='%23f4665e' stroke-width='2.8' stroke-dasharray='140 5 60'/%3E%3Cpath d='M14 9c50-3 110-1 170-4' stroke='%23f4665e' stroke-opacity='.6' stroke-width='1.3'/%3E%3C/g%3E%3C/svg%3E");
  --under-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cfilter id='g' x='-5%25' y='-60%25' width='110%25' height='220%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='5' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1.9 1.45' result='m'/%3E%3CfeComposite in='SourceGraphic' in2='m' operator='in'/%3E%3C/filter%3E%3Cg filter='url(%23g)' fill='none' stroke-linecap='round'%3E%3Cpath d='M3 7c50-4 110 1 194-3' stroke='%23efece4' stroke-width='2.8' stroke-dasharray='140 5 60'/%3E%3Cpath d='M14 9c50-3 110-1 170-4' stroke='%23efece4' stroke-opacity='.6' stroke-width='1.3'/%3E%3C/g%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:1rem;scrollbar-color:var(--chalk-2) var(--slate)}
body{margin:0;background:var(--veil),var(--board-img) 30% 0/max(100%,900px) auto no-repeat,var(--slate);color:var(--chalk);font:400 1.28rem/1.45 var(--print);letter-spacing:.012em;-webkit-font-smoothing:antialiased;padding-bottom:4.6rem}
::selection{background:rgba(244,102,94,.5);color:var(--chalk)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-color:var(--chalk-3);text-underline-offset:.22em}
a:hover{text-decoration-color:var(--red)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
[hidden]{display:none!important}
.defs{position:absolute;width:0;height:0;overflow:hidden}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0}
.script{font-family:var(--script);filter:url(#chalk);line-height:1.12;letter-spacing:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;z-index:50;background:var(--chalk);color:var(--slate);padding:.6rem 1rem}
.skip:focus{left:1rem}

/* hlavička křídou */
.top{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.9rem var(--padx) .4rem}
.brand{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;line-height:1;margin-right:auto}
.brand-new{font:400 .78rem/1 var(--print);letter-spacing:.32em;text-transform:uppercase;color:var(--chalk-2);margin:0 0 -.15rem .35rem}
.brand-name{font:400 2.35rem/1.15 var(--script);filter:url(#chalk)}
.brand-sub{order:3;width:100%;font-size:.92rem;letter-spacing:.2em;text-transform:uppercase;color:var(--chalk-2)}
.call{display:inline-flex;align-items:center;min-height:44px;padding:.35rem 1.1rem;font:400 1.15rem/1 var(--print);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;box-shadow:inset 0 0 0 2px var(--chalk-2)}
.call:hover{box-shadow:inset 0 0 0 2px var(--red);color:var(--chalk)}

/* tlačítka: červená křída a křídou obtažený rámeček */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.65rem 1.4rem;border:0;background:var(--red-fill) var(--noise);color:var(--chalk);font:400 1.32rem/1.1 var(--print);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .2s,box-shadow .2s,color .2s}
.btn:hover{background-color:var(--red-fill-h);color:var(--chalk)}
.btn-line{background:transparent;box-shadow:inset 0 0 0 2px var(--chalk-2)}
.btn-line:hover{background:transparent;box-shadow:inset 0 0 0 2px var(--red)}
.cta{display:flex;flex-wrap:wrap;gap:.7rem}

/* tabule: fotka skutečné tabule se setřenou křídou pod tmavým závojem, každá jinde */
.board{position:relative;padding:clamp(2.6rem,7vw,5rem) var(--padx);background:var(--veil),var(--board-img) var(--pos,50% 50%)/cover,var(--slate)}
.hero{background:none}
.sweet{--pos:80% 20%}.menu{--pos:20% 60%}.ice{--pos:60% 80%}.stay{--pos:10% 30%}.where{--pos:90% 50%}
.board+.board::before,.foot::before{content:"";position:absolute;top:0;left:var(--padx);right:var(--padx);height:10px;background:var(--rule) no-repeat center/100% 100%}
.board h2.script{font-size:clamp(2.9rem,11vw,4.6rem);margin-bottom:1.4rem}
.head-draw{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.head-draw h2.script{margin-bottom:0}
.draw{flex:none;width:clamp(5.5rem,22vw,8rem);height:auto;overflow:visible;filter:url(#chalk)}
.draw path,.draw circle,.draw ellipse{fill:none;stroke:var(--chalk);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.draw .red{stroke:var(--red)}

/* úvod: jsme na nové adrese */
.hero{padding-top:clamp(1.6rem,6vw,4rem);padding-bottom:clamp(2rem,5vw,4.4rem);display:grid;gap:2rem;align-items:center}
.hero h1{font-size:clamp(3.3rem,15.5vw,6rem);max-width:9ch}
.addr{margin-top:.7rem;font-size:clamp(1.6rem,6.4vw,2.5rem);line-height:1.15;letter-spacing:.05em;text-transform:uppercase}
.since{display:block;font-size:.55em;letter-spacing:.2em;color:var(--chalk-2);margin-top:.35rem}
.status{position:relative;display:inline-block;margin:1.5rem 0 1.4rem .4rem;padding:.55rem 1.2rem;font-size:clamp(1.35rem,5vw,1.6rem);letter-spacing:.04em}
.status svg{position:absolute;overflow:visible;pointer-events:none}
.status .ring{inset:-.25rem -.6rem;width:calc(100% + 1.2rem);height:calc(100% + .5rem)}
.status .uline{left:0;right:0;bottom:.05rem;width:100%;height:.7rem;display:none}
.ring path,.uline path{fill:none;stroke:var(--red);stroke-width:2.8;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.75,.2,1)}
.ring path+path{stroke-width:1.3;opacity:.75;transition-delay:.25s}
.uline path{stroke:var(--chalk-2)}
.js .ring path,.js .uline path{stroke-dashoffset:1000}
.js .status.on .ring path,.js .status.on .uline path{stroke-dashoffset:0}
.status.closed{padding-left:0;margin-left:0;color:var(--chalk-2)}
.status.closed .ring{display:none}
.status.closed .uline{display:block}
.hero-note{margin-top:1.4rem;max-width:34rem;color:var(--chalk-2)}
.hero-peek{padding:1rem 1.2rem 1.1rem;box-shadow:inset 0 0 0 2px var(--chalk-3)}
.peek-h{font-size:2.3rem;margin-bottom:.2rem}
.peek{list-style:none;margin:0;padding:0}
.peek li{display:flex;align-items:baseline;gap:.45rem;padding:.25rem 0;font-size:1.25rem}
.peek li::before{content:"";order:1;flex:1;border-bottom:2px dotted var(--chalk-3);transform:translateY(-.32em)}
.peek b{order:2;font-weight:400}
.peek li:nth-child(n+4){display:none}
@keyframes write{from{clip-path:inset(-10% 100% -10% 0)}to{clip-path:inset(-10% -2% -10% 0)}}
.hero h1{animation:write 1.4s cubic-bezier(.3,.6,.2,1) both}

/* okna s fotkami */
.window{margin:0;position:relative}
.window img{width:100%;object-fit:cover}
.window figcaption{position:absolute;right:.6rem;bottom:.6rem;padding:.15rem .5rem;background:rgba(28,29,29,.82);color:var(--chalk-2);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.window-wide img{height:clamp(230px,46vw,540px)}

/* káva a zákusky: psané křídou, ne karty */
.sweet-grid{display:grid;gap:2rem}
.sweet .window img{aspect-ratio:4/3}
.notes,.stay-list{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem}
.notes h3,.stay-list h3{font:400 clamp(1.9rem,7vw,2.3rem)/1.1 var(--script);filter:url(#chalk);margin-bottom:.15rem}
.notes li:nth-child(odd),.stay-list li:nth-child(odd){transform:rotate(-.6deg)}
.notes li:nth-child(even),.stay-list li:nth-child(even){transform:rotate(.5deg)}
.notes p,.stay-list p{color:var(--chalk-2);max-width:36rem}

/* nápojový lístek s filtrem alergenů */
.filter{margin:0 0 2.2rem}
.filter-q{font-size:1.32rem;margin-bottom:.8rem;max-width:36rem}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{display:inline-flex;align-items:baseline;gap:.4rem;min-height:46px;padding:.5rem 1rem;border:0;background:transparent;color:var(--chalk);font:400 1.3rem/1.2 var(--print);letter-spacing:.06em;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--chalk-3);transition:box-shadow .2s,background-color .2s}
.chip small{font-size:.8em;color:var(--red)}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--chalk-2)}
.chip[aria-pressed="true"]{background:rgba(244,102,94,.13);box-shadow:inset 0 0 0 2px var(--red)}
.chip[aria-pressed="true"]::before{content:"nesmím";font-size:.8em;color:var(--red);letter-spacing:.04em}
.filter-out{min-height:2.4rem;margin-top:.9rem;font:400 clamp(1.7rem,6.5vw,2.2rem)/1.2 var(--script);filter:url(#chalk)}
.cols{display:grid;gap:.4rem 4.5rem}
.group{font-size:1.65rem;letter-spacing:.16em;text-transform:uppercase;margin:1.6rem 0 .5rem;padding-bottom:.5rem;background:var(--rule) no-repeat left bottom/9rem 8px}
.col>.group:first-child{margin-top:0}
.group em{font-style:normal;font-size:.62em;letter-spacing:.06em;color:var(--chalk-2);text-transform:none}
.items{list-style:none;margin:0;padding:0}
.items li{position:relative;display:flex;align-items:baseline;gap:.45rem;padding:.32rem 0}
.items li>*,.items li::before,.ice-row>*{transition:opacity .35s}
.items li::before{content:"";order:1;flex:1 1 1.5rem;min-width:1.2rem;border-bottom:2px dotted var(--chalk-3);transform:translateY(-.32em)}
.items .n{order:0;flex:0 1 auto}
.items b{order:2;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.items i,.ice-price i{font-style:normal;color:var(--red);font-size:.78em;letter-spacing:.02em;margin-left:.1rem}
.items em{font-style:normal;color:var(--chalk-2);font-size:.86em}
.items li::after,.ice-row::after{content:"";position:absolute;left:-.4rem;right:-.4rem;top:calc(50% - .5em);height:1em;background:var(--strike) no-repeat center/100% 100%;clip-path:inset(0 100% 0 0);transition:clip-path .5s cubic-bezier(.2,.75,.2,1);pointer-events:none}
.items li.x>*,.items li.x::before,.ice-row.x>*{opacity:.42}
.items li.x::after,.ice-row.x::after{clip-path:inset(0 0 0 0)}
.tip .n{padding-bottom:.3rem;background:var(--under) no-repeat left bottom/100% 9px}
.tip-l{color:var(--red)}
.aside{color:var(--chalk-2);font-size:1.1rem;margin-top:.4rem}
.legend{margin-top:2.2rem;max-width:46rem;color:var(--chalk-2);font-size:1.08rem}
.legend b{font-weight:400;color:var(--red)}

/* zmrzlina */
.ice{display:grid;gap:2rem;align-items:center}
.ice .window img{aspect-ratio:9/7}
.ice .head-draw{justify-content:flex-start;gap:1.4rem}
.ice-row{position:relative;padding:.6rem 0 1rem;transition:opacity .35s}
.ice-price{font-size:clamp(1.5rem,5.6vw,1.85rem);letter-spacing:.04em}
.ice-price b{font:400 clamp(2.4rem,9vw,3.3rem)/1 var(--script);filter:url(#chalk);margin-right:.35rem}
.ice-price span{font-size:.7em;color:var(--chalk-2);white-space:nowrap}
.ice-tastes{color:var(--chalk-2);letter-spacing:.02em}
.ice-allergen{margin-top:.3rem;color:var(--red);font-size:1.08rem}

/* posedět a oslavit */
.stay-list{margin-bottom:2rem}

/* kde nás najdete */
.where-grid{display:grid;gap:2.4rem}
.big-addr{font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.15;letter-spacing:.05em;text-transform:uppercase}
.moved{margin:.6rem 0 1.4rem;color:var(--chalk-2)}
.contacts{margin:1.6rem 0 0;display:grid;gap:.7rem}
.contacts dt{font-size:.92rem;letter-spacing:.2em;text-transform:uppercase;color:var(--chalk-2)}
.contacts dd{margin:0;font-size:1.45rem;overflow-wrap:anywhere}
.where-hours{position:relative}
.where-hours h3{font-size:1.45rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}
.hours{border-collapse:collapse;width:100%;max-width:24rem;margin-top:.6rem;font-variant-numeric:tabular-nums}
.hours th,.hours td{padding:.42rem 0;text-align:left;font-weight:400;font-size:1.32rem}
.hours td{text-align:right;padding-right:.7rem}
.hours th{padding-left:.7rem}
.hours tr.today th,.hours tr.today td{color:var(--chalk)}
.hours tr:not(.today) th,.hours tr:not(.today) td{color:var(--chalk-2)}
.hours-ring{position:absolute;left:-.3rem;width:calc(min(100%,24rem) + .6rem);pointer-events:none;overflow:visible}
.hours-ring path{fill:none;stroke:var(--red);stroke-width:2.6;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.75,.2,1)}
.hours-ring path+path{stroke-width:1.2;opacity:.7;transition-delay:.2s}
.hours-ring.drawn path{stroke-dashoffset:0}
.hours-note{margin-top:.8rem;color:var(--chalk-2);font-size:1.08rem}
.signoff{margin-top:3rem;font-size:clamp(2.2rem,8.5vw,3.4rem);text-align:center}

/* patička */
.foot{position:relative;padding:2.4rem var(--padx) 2.8rem;color:var(--chalk-2);font-size:1.1rem}
.foot p+p{margin-top:.6rem}
.foot-name{font-size:1.9rem;color:var(--chalk);margin-right:.3rem}
.motto{letter-spacing:.24em;text-transform:uppercase;font-size:.95rem}
.forma{font-size:.95rem;color:var(--chalk-2)}

/* mobilní lišta */
.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(28,29,29,.97);box-shadow:0 -1px 0 var(--chalk-3);transform:translateY(110%);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.sticky.on{transform:none}
.sticky .btn{min-height:50px}

@media (min-width:700px){
  .stay-list{grid-template-columns:1fr 1fr;gap:2rem 3rem}
  .notes{grid-template-columns:1fr 1fr;gap:1.8rem 2.6rem}
}
@media (min-width:900px){
  :root{--board-img:url(https://images.unsplash.com/photo-1614292253389-bd2c1f89cd0e?w=1900&q=55&auto=format)}
  body{padding-bottom:0}
  .sticky{display:none}
  .top{flex-wrap:nowrap;padding-top:1.2rem}
  .brand-sub{order:0;width:auto;margin-right:auto}
  .brand{margin-right:1.4rem}
  .hero{grid-template-columns:1.3fr 1fr;gap:4rem;min-height:min(78vh,46rem)}
  .hero-peek{padding:1.6rem 2rem 1.8rem}
  .peek-h{font-size:3.2rem;margin-bottom:.6rem}
  .peek li{padding:.38rem 0;font-size:1.4rem}
  .peek li:nth-child(n+4){display:flex}
  .sweet-grid{grid-template-columns:minmax(0,26rem) 1fr;gap:3.5rem;align-items:start}
  .cols{grid-template-columns:1fr 1fr}
  .ice{grid-template-columns:minmax(0,29rem) 1fr;gap:4rem}
  .where-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4rem;align-items:start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero h1{animation:none}
  *,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important}
}

/* ukázka na vizitce FORMA: telefon, mapa a e-mail otevřou vysvětlení */
button.call{border:0;background:transparent;color:var(--chalk);cursor:pointer}
.as-link{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:underline;text-decoration-color:var(--chalk-3);text-underline-offset:.22em;cursor:pointer}
.as-link:hover{text-decoration-color:var(--red)}
.fake{font-size:.72em;color:var(--chalk-2);white-space:nowrap}
.foot .fake{font-size:.9em}
.foot-back{color:var(--chalk)}
.pop{max-width:min(27rem,calc(100vw - 2rem));padding:1.7rem 1.5rem 1.5rem;border:0;color:var(--chalk);background:var(--veil),var(--board-img) 40% 30%/cover,var(--slate);
  box-shadow:inset 0 0 0 2px var(--chalk-3),0 30px 60px -20px rgba(0,0,0,.85)}
.pop::backdrop{background:rgba(10,11,11,.72)}
.pop h2{font:400 clamp(2rem,8.5vw,2.5rem)/1.1 var(--script);filter:url(#chalk);margin-bottom:.7rem}
.pop p{margin:0 0 1.3rem;color:var(--chalk-2)}
.pop .btn{width:100%}
/* 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:28 29 29;padding-top:0;grid-template-columns:minmax(0,1fr);gap:2.5rem;min-height:0}
.hero-obraz .hero-in{min-height:var(--ho-h);display:flex;flex-direction:column;justify-content:center;max-width:36rem}
}
/* /HERO-OBRAZ */
/* TUNING (generuje vizitka/tools/ukazka-tabule.py, 30. 10. 2026) */
/* barvy a písmo: drobný text na tabuli větší a světlejší */
:root{--chalk-2:#e4e0d7;--chalk-3:rgba(239,236,228,.46);--max:92rem;--krem:#efece4;--inkoust:#1c1d1d;--strike-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 22' preserveAspectRatio='none'%3E%3Cfilter id='g' x='-5%25' y='-60%25' width='110%25' height='220%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='5' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1.9 1.45' result='m'/%3E%3CfeComposite in='SourceGraphic' in2='m' operator='in'/%3E%3C/filter%3E%3Cg filter='url(%23g)' fill='none' stroke-linecap='round'%3E%3Cpath d='M4 13C70 10 130 14 200 10s120 0 160-3' stroke='%23efece4' stroke-width='3.6' stroke-dasharray='300 6 22 9 80'/%3E%3Cpath d='M22 15.5c80-3 170 0 250-4 50-2 90-3 122-6' stroke='%23efece4' stroke-opacity='.7' stroke-width='1.6'/%3E%3Cpath d='M150 11.5c40-1 80-1 120-3' stroke='%23efece4' stroke-width='2.4'/%3E%3C/g%3E%3C/svg%3E")}
body{font-size:1.4rem;line-height:1.4;letter-spacing:.018em}
.brand-sub,.since{letter-spacing:.14em;font-size:1rem}
.since{font-size:.62em}
.hero{padding-bottom:1.8rem}
@media (min-width:1100px){.hero{padding-bottom:0}}
/* nízký telefon: obraz ustoupí, ať je na první obrazovce celý nadpis (hlavička, mezery a rezerva 11.6rem, dva řádky nadpisu 33.4vw) */
@media (max-width:759px) and (max-height:639px) and (orientation:portrait){.ho-obraz img{max-height:min(20rem,calc(100svh - 11.6rem - 33.4vw))}}

/* hlavní scéna: dort z křídy (statická kompozice platí bez JS, bez WebGL a při omezení pohybu) */
.skladba{padding:0;overflow-x:clip;background:var(--slate)}
.sk-stage{--d:min(84vw,30rem);position:relative;display:grid;gap:2rem;padding:clamp(3rem,7vw,5.5rem) var(--padx);overflow:hidden;background:var(--veil),var(--board-img) 50% 40%/cover,var(--slate)}
.sk-text h2{font-size:clamp(4.2rem,12vw,9rem);margin:0 0 1rem}
.sk-vety{display:grid;gap:.3rem}
.sk-veta{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.22;letter-spacing:.03em}
.sk-veta span{display:block;margin-top:.3rem;color:var(--chalk-2);font-size:.8em}
.sk-akce{margin-top:1.4rem}
.sk-dort{display:block;width:var(--d);margin:0 auto}
.sk-dort img{display:block;width:100%;height:auto}
.sk-i,.kr-platno,.kr-kus{display:none}
@media (min-width:900px){.sk-stage{--d:min(46vw,38rem);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3rem}}
.vyrez-on .skladba{height:450vh}
.vyrez-on .sk-stage{display:block;position:sticky;top:0;height:100svh;min-height:0;padding:0}
.vyrez-on .sk-dort{display:none}
.vyrez-on .kr-platno{display:block;position:absolute;inset:0;z-index:1;width:100%;height:100%}
.vyrez-on .sk-text{position:absolute;z-index:3;left:calc(var(--ax,0px) + var(--k,1)*84px);top:calc(var(--ay,0px) + var(--k,1)*520px);width:calc(var(--k,1)*500px);pointer-events:none}
.vyrez-on .sk-text h2{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);filter:none}
.vyrez-on .sk-vety{display:grid}
.vyrez-on .sk-veta{grid-area:1/1;opacity:0;font-size:calc(var(--k,1)*50px)}
.vyrez-on .sk-akce{margin-top:calc(var(--k,1)*62px);visibility:hidden;opacity:0;pointer-events:auto}
.vyrez-on .sk-akce .btn{min-height:calc(var(--k,1)*74px);padding:.5em 1.3em;font-size:calc(var(--k,1)*34px)}
.vyrez-on .sk-i{display:block;position:absolute;left:50%;top:50%;z-index:2;height:auto;margin:0;pointer-events:none;visibility:hidden;backface-visibility:hidden}
.vyrez-on .sk-i img{display:block;width:100%;height:auto}
.sk-i[data-k^="jahoda"]{width:calc(var(--d) * 0.29);margin:calc(var(--d) * -0.16) 0 0 calc(var(--d) * -0.145)}
.sk-i[data-k="vejce"]{width:calc(var(--d) * 0.246);margin:calc(var(--d) * -0.145) 0 0 calc(var(--d) * -0.123)}
.sk-i[data-k="maslo"]{width:calc(var(--d) * 0.348);margin:calc(var(--d) * -0.167) 0 0 calc(var(--d) * -0.174)}
.sk-i[data-k="cokolada"]{width:calc(var(--d) * 0.275);margin:calc(var(--d) * -0.145) 0 0 calc(var(--d) * -0.138)}
.sk-i[data-k="mata"]{width:calc(var(--d) * 0.348);margin:calc(var(--d) * -0.16) 0 0 calc(var(--d) * -0.174)}
.sk-i[data-k="vanilka"]{width:calc(var(--d) * .7);margin:calc(var(--d) * -.045) 0 0 calc(var(--d) * -.35)}
.vyrez-on .kr-kus{--w:calc(var(--d)*.22);display:block;position:absolute;left:0;top:0;z-index:4;width:var(--w);height:auto;margin:calc(var(--w)*-.872) 0 0 calc(var(--w)*-.252);transform-origin:25.2% 87.2%;pointer-events:none;visibility:hidden;filter:drop-shadow(.3rem .5rem .4rem rgba(0,0,0,.55))}
.vyrez-on .sk-hraje .sk-i,.vyrez-on .sk-hraje .kr-kus{will-change:transform,opacity}
@media (max-width:759px){
  .vyrez-on .skladba{height:430vh}
  .vyrez-on .sk-stage{--sk-spodek:14.2}
  .vyrez-on .sk-text{left:var(--gut);right:var(--gut);top:auto;bottom:5.4rem;width:auto}
  .vyrez-on .sk-veta{font-size:1.7rem}
  .vyrez-on .sk-akce{margin-top:.8rem}
  .vyrez-on .sk-akce .btn{min-height:52px;font-size:1.32rem}
}

/* káva a zákusky: velká nabídka a fotka do kraje */
.sweet{padding:0;display:grid}
.sw-text{padding:clamp(3rem,8vw,6rem) var(--gut)}
.board h2.script{font-size:clamp(3.6rem,12vw,7.6rem);margin-bottom:1.8rem}
.sw-ranni{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 2rem;margin-bottom:clamp(2rem,4vw,3.2rem)}
.status{width:fit-content}
/* Písmo přesahuje svůj rámeček a Safari křídový filtr ořezává na rámeček prvku. */
.script,.brand-name,.sw-ranni h3,.notes h3,.stay-list h3,.pop h2{padding-right:.25em;margin-right:-.25em}
.foot .foot-name{padding-right:.25em}
.ne-h{width:max-content}
.sw-kc{font-size:clamp(5.6rem,17vw,11rem);line-height:1;color:var(--red);white-space:nowrap}
.sw-ranni h3,.notes h3{font:400 clamp(2.2rem,7vw,2.9rem)/1.1 var(--script);filter:url(#chalk);margin-bottom:.2rem}
.sw-ranni div{flex:1 1 15rem;max-width:30rem}
.sw-foto{min-height:24rem}
.sw-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.notes{gap:1.8rem}
@media (min-width:700px){.notes{gap:1.8rem 3rem}}
@media (min-width:1100px){
  .sweet{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:stretch}
  .sweet .sw-text{padding-left:var(--padx);padding-right:clamp(2rem,4vw,4rem)}
  .sw-foto{position:relative;min-height:100%}
  .sw-foto img{position:absolute;inset:0}
}

/* lístek: červený panel „Nesmím…“ a tabule vedle něj */
.menu{--ne-h:11.5rem;padding:0}
.nesmim{position:sticky;top:calc(var(--ne-h)*-1);z-index:20;background:var(--red-fill) var(--noise);color:var(--chalk)}
.ne-hlava{height:var(--ne-h);padding:1.3rem var(--gut) 0;overflow:hidden}
.ne-h{font-size:clamp(4.6rem,20vw,6.4rem)}
.filter-q{max-width:32rem;margin:.1rem 0 0;font-size:1.42rem;line-height:1.24}
.ne-ovl{padding:.2rem var(--gut) .5rem}
.chips{display:flex;justify-content:space-between;gap:.1rem;margin:0 -.3rem}
.chip{position:relative;align-items:center;min-height:46px;padding:.3rem .36rem;background:none;box-shadow:none;font-size:clamp(1.24rem,5.4vw,1.5rem);letter-spacing:.03em;transition:background-color .15s}
.chip small{display:none}
.chip:hover{box-shadow:none;background:rgba(0,0,0,.14)}
.chip[aria-pressed="true"]{background:rgba(0,0,0,.26);box-shadow:none}
.chip[aria-pressed="true"]::before{content:none}
.chip::after{content:"";position:absolute;left:0;right:0;top:calc(50% - .5em);height:1em;background:var(--strike-w) no-repeat center/100% 100%;clip-path:inset(0 100% 0 0);transition:clip-path .4s cubic-bezier(.2,.75,.2,1);pointer-events:none}
.chip[aria-pressed="true"]::after{clip-path:inset(0 0 0 0)}
.chip:focus-visible{outline-color:var(--chalk);outline-offset:-3px}
.ne-cislo{display:flex;align-items:baseline;gap:.5rem;min-height:2.4rem;font-size:1.36rem;line-height:1}
.ne-cislo b{font:400 2.3rem/1 var(--script);filter:url(#chalk);font-variant-numeric:tabular-nums}
.filter-out{min-height:0;margin:0;filter:none}
.lst{padding:clamp(2.4rem,7vw,5rem) var(--gut) clamp(2.6rem,6vw,4.6rem)}
.lst h2.script{margin-bottom:0}
.grp{margin-top:clamp(2rem,5vw,3.4rem)}
.group{margin:0 0 .5rem;padding-bottom:.55rem;background:var(--rule) no-repeat left bottom/100% 8px;font-size:clamp(2.7rem,9vw,3.6rem);letter-spacing:0;text-transform:none}
.group em{filter:none;font:400 .46em/1 var(--print);letter-spacing:.04em;margin-left:.3rem}
.items li{padding:.42rem 0;align-items:baseline}
.items .n{line-height:1.2}
.items i{font-size:.84em;margin-left:.15rem;white-space:nowrap}
.items em{font-size:.92em}
.items b{font-size:1.06em}
.aside{margin-top:.7rem;font-size:1.28rem}
.legend{margin-top:clamp(2rem,4vw,3rem);max-width:none;font-size:1.28rem}
@media (min-width:1100px){
  .menu{display:grid;grid-template-columns:minmax(0,37%) minmax(0,1fr);align-items:start}
  .nesmim{top:0;display:flex;flex-direction:column;justify-content:space-between;height:100svh;padding:clamp(1.2rem,4svh,2.6rem) clamp(2rem,4vw,3.4rem)}
  .ne-hlava{height:auto;padding:0;overflow:visible}
  .ne-h{font-size:clamp(5rem,15svh,9rem)}
  .filter-q{margin-top:.3rem;font-size:1.62rem}
  .ne-ovl{padding:0}
  .chips{display:grid;justify-content:stretch;margin:0}
  .chip{justify-content:space-between;width:100%;min-height:0;padding:.14em .08em;font-size:clamp(2.2rem,7.4svh,4.1rem);line-height:1.04;letter-spacing:.05em;text-transform:uppercase;text-align:left}
  .chip small{display:inline;font-size:.46em;color:var(--chalk);letter-spacing:.02em}
  .ne-cislo{align-items:center;gap:1rem;margin-top:clamp(.6rem,2.4svh,1.6rem);font-size:1.62rem}
  .ne-cislo b{font-size:clamp(4rem,12svh,7.4rem)}
  .lst{padding:clamp(3rem,6svh,5rem) clamp(2.4rem,5vw,4.6rem) clamp(3rem,6vw,5rem)}
  .items{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 3rem}
}

/* zmrzlina: světlý pás jako šlehačka */
.ice{position:relative;z-index:1;display:grid;gap:0;padding:0;background:var(--krem) var(--noise);color:var(--inkoust)}
.ice-foto img{width:100%;aspect-ratio:5/4;object-fit:cover}
.ice-text{padding:2.2rem var(--gut) 2.8rem}
.ice h2.script{font-size:clamp(4rem,15vw,8rem);margin-bottom:1.2rem;filter:none}
.ice-ceny{display:grid;gap:1.4rem}
.ice-row{padding:0}
.ice-price{font-size:clamp(1.7rem,5.6vw,2.2rem);letter-spacing:.03em}
.ice-price b{display:block;margin:0 0 .15rem;font:400 clamp(4.6rem,16vw,8.4rem)/1 var(--script);filter:none;color:var(--red-fill);white-space:nowrap}
.ice-price span{color:#3d3e3e;font-size:.76em}
.ice-price i{color:var(--red-fill)}
.ice-tastes{margin-top:.3rem;color:#2c2d2d;font-size:1.46rem}
.ice-allergen{color:var(--red-fill);font-size:1.28rem}
.ice-row::after{top:2.6rem}
@media (min-width:900px){
  .ice{grid-template-columns:minmax(0,1fr) minmax(0,29%);align-items:center;padding:0 var(--padx)}
  .ice-text{order:-1;padding:clamp(3rem,6vw,5rem) clamp(2rem,5vw,4.6rem) clamp(3rem,6vw,5rem) 0}
  .ice-ceny{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}
  .ice-foto{align-self:stretch;margin:-3.2rem 0;transform:rotate(1.4deg);box-shadow:0 1.6rem 3rem -1rem rgba(0,0,0,.5)}
  .ice-foto img{height:100%;aspect-ratio:auto}
}

/* posedět a oslavit: večerní fotka a seznam přes celou šířku */
.st-foto{position:relative}
.st-foto img{width:100%;height:clamp(21rem,50vw,44rem)}
.st-foto::after{content:"";position:absolute;inset:auto 0 0;height:60%;background:linear-gradient(rgba(22,23,23,0),rgba(22,23,23,.9));pointer-events:none}
.st-foto h2{position:absolute;left:var(--padx);right:var(--padx);bottom:.16em;z-index:1;font-size:clamp(3.8rem,12vw,9.4rem)}
.st-list{padding-top:clamp(1.4rem,3vw,2.4rem)}
.stay-list{margin:0;gap:0}
.stay-list li,.stay-list li:nth-child(odd),.stay-list li:nth-child(even){padding:1.2rem 0 1.3rem;background:var(--rule) no-repeat left bottom/100% 8px;transform:none}
.stay-list h3{font-size:clamp(2.3rem,7vw,3.5rem)}
.stay-list p{max-width:none;font-size:1.46rem}
.st-cta{margin-top:2rem}
@media (min-width:900px){
  .stay-list{grid-template-columns:minmax(0,1fr)}
  .stay-list li,.stay-list li:nth-child(odd),.stay-list li:nth-child(even){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:baseline}
  .stay-list p{font-size:1.6rem}
}

/* kde nás najdete */
.big-addr{font-size:clamp(2.2rem,7vw,3.6rem)}
.moved{font-size:1.46rem}
.contacts dt{font-size:1.04rem;letter-spacing:.14em}
.contacts dd{font-size:1.7rem}
.where-hours h3{font-size:1.5rem}
.hours{max-width:34rem}
.hours th,.hours td{padding:.46rem 0;font-size:clamp(1.5rem,5vw,1.72rem)}
.hours th{padding-left:.7rem}
.hours td{padding-right:.7rem}
.hours tr:not(.today) th,.hours tr:not(.today) td{color:var(--chalk-2)}
.hours-ring{width:calc(min(100%,34rem) + .6rem)}
.hours-note{font-size:1.28rem}

/* konec: věta napsaná křídou */
.konec{display:grid;justify-items:center;gap:1.2rem;padding:clamp(3rem,8vw,6rem) var(--gut) clamp(3.2rem,7vw,5.4rem);text-align:center}
.ko-veta{position:relative;display:grid;place-items:center;width:100%;max-width:92rem;aspect-ratio:800/640}
.ko-veta h2.script{margin:0;font-size:clamp(4.4rem,19vw,10rem);line-height:1.14}
.kr-konec{display:none}
.konec-js .kr-konec{display:block;position:absolute;inset:0;width:100%;height:100%}
.konec-js .ko-veta h2.script{opacity:0}
.ko-cas{font-size:clamp(1.6rem,4.6vw,2.1rem);letter-spacing:.04em}
.ko-cta{justify-content:center}
.ko-cta .btn{min-width:11rem}
@media (min-width:900px){.ko-veta{aspect-ratio:1600/330}.ko-veta h2.script{font-size:clamp(5rem,10.4vw,10.6rem)}}

/* patička */
.foot{display:grid;gap:1.2rem;padding:2.4rem var(--padx) 2.6rem;font-size:1.28rem}
.foot .foot-name{margin:0;font-size:clamp(5.4rem,20vw,9.6rem);line-height:1;color:var(--chalk)}
.foot-sl p+p{margin-top:.3rem}
.foot p+p{margin-top:.3rem}
.foot .motto{letter-spacing:.14em;font-size:1.04rem}
.foot .forma{font-size:1.16rem}
@media (min-width:900px){.foot{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:1rem 4rem}}
@media (prefers-reduced-motion:reduce){.chip::after{transition:none}}
/* /TUNING */
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
:where(input,textarea){caret-color:#efece4}
: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 #efece4;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 */
