/* Hachi Hachi: fonty sú v assets/fonts (bez Google Fonts) */
@font-face{font-family:"Hachi Fredoka";src:url(fonts/HachiFredoka-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Hachi Fredoka";src:url(fonts/HachiFredoka-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Caveat";src:url(fonts/caveat-700.woff2) format("woff2");font-weight:600 700;font-display:swap}
:root{
  --ink:#000;
  --text:#1f1f1f;
  --muted:#5f5f5f;
  --paper:#fff;
  --line:#e8e6e3;
  --milk:#F4E6D8;
  --fresh:#FBDDE6;
  --fruit:#FFEBB5;
  --matcha:#DCEACA;
  --special:#FFDCCB;
  --smoothie:#E6DDF6;
  --soda:#D7ECF4;
  --spooky:#DDEFC9;
  --r-lg:32px; --r-md:20px;
  --display:"Hachi Fredoka","Poppins",system-ui,sans-serif;
  --body:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hand:"Caveat","Comic Sans MS",cursive;
  --wrap:1180px;
}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#fff}}
:root[data-theme="dark"]{--paper:#fff}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px);scroll-behavior:smooth;color-scheme:light}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);font-weight:600;color:var(--ink);line-height:1.08;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,5.6vw,4.4rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:1.4rem}
p{margin:0}
.lead{font-size:1.125rem;color:var(--muted);max-width:34em}

/* line-art cup pattern, borrowed from the printed menu */
.pattern{background-image:url(img/pattern-land.webp);background-size:cover;background-position:center;background-repeat:no-repeat}
@media (max-width:700px){.pattern{background-image:url(img/pattern-land.webp)}}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top,0px);border-bottom:2px solid transparent;transition:border-color .2s}
.top.scrolled{border-bottom-color:var(--ink)}
.top .wrap{display:flex;align-items:center;gap:28px;height:76px}
.brand img{height:44px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{text-decoration:none;font-weight:500;padding:8px 14px;border-radius:999px}
.nav a:hover,.nav a[aria-current="page"]{background:var(--fresh)}
.tools{display:flex;align-items:center;gap:10px}
.lang{display:flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden}
.lang a{all:unset;text-decoration:none;cursor:pointer;font:600 13px/1 var(--body);padding:7px 10px}
.lang a[aria-current]{background:var(--ink);color:#fff}
.soc{display:flex;gap:6px}
.soc a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%}
.soc a:hover{background:var(--fruit)}
.soc svg{width:20px;height:20px}
.burger{all:unset;display:none;cursor:pointer;width:42px;height:42px;place-items:center;border:2px solid var(--ink);border-radius:50%}
@media (max-width:900px){
  .nav,.top .soc{display:none}
  .burger{display:grid}
  .top .wrap{gap:12px}
  .tools{margin-left:auto}
  .top.open .nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:#fff;border-bottom:2px solid var(--ink);padding:12px 24px 20px}
  .top.open .nav a{font-size:1.2rem;padding:12px 14px}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font:600 1rem/1 var(--body);text-decoration:none;padding:16px 26px;border-radius:999px;border:2px solid var(--ink);cursor:pointer;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.solid{background:var(--ink);color:#fff}
.btn.ghost{background:#fff;color:var(--ink)}
.btn.sm{padding:11px 18px;font-size:.92rem}

/* hand annotations */
.note{z-index:5;font-family:var(--hand);font-weight:700;font-size:1.65rem;line-height:1;color:var(--ink);position:absolute;white-space:nowrap}
.note svg{position:absolute;width:64px;height:64px;overflow:visible}
.note path{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* HERO */
.hero{position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:24px;align-items:center;min-height:min(620px,calc(100vh - 76px));padding-top:24px;padding-bottom:32px}
.hero h1{margin:18px 0 22px}
.hero .lead{margin-bottom:32px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.where{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;font-size:.92rem}
.where>span{padding:6px 14px;border-radius:999px;background:#fff;border:1.5px solid var(--ink)}
.where>span.soon{border-style:dashed}
.sticker{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;background:#fff;border:2px solid var(--ink);font-weight:500;font-size:.95rem}
.sticker img{width:38px;height:38px;border-radius:50%;background:#fff;border:1.5px solid var(--ink);padding:3px;object-fit:contain}
.lineup{position:relative;aspect-ratio:1/.86;max-height:580px}
.blob{position:absolute;inset:6% 2% 4% 4%;border-radius:46% 54% 50% 50%/55% 48% 52% 45%;background:var(--fresh)}
.hero .wrap>div:first-child{position:relative;z-index:4}
.lineup{container-type:inline-size}
.cups{position:absolute;left:3%;right:3%;bottom:10%;display:flex;justify-content:center;align-items:flex-end;z-index:2}
.cups img{width:23%;height:auto;margin:0 -1.6%;filter:drop-shadow(0 16px 16px rgba(0,0,0,.12))}
.cups img:nth-child(2),.cups img:nth-child(4){z-index:2}
.cups img:nth-child(3){z-index:3}
.lineup .pearl-layer{position:absolute;inset:0;z-index:1}
.n1{left:2%;top:10%}.n1 svg{left:70px;top:22px}
.n2{right:0;top:4%}.n2 svg{left:30px;top:30px}
.n3{right:-2%;bottom:46%}.n3 svg{left:-30px;top:36px}
@media (prefers-reduced-motion:no-preference){
  .cups img{animation:rise .9s cubic-bezier(.2,.8,.2,1.15) both}
  .cups img:nth-child(1){animation-delay:.05s}.cups img:nth-child(2){animation-delay:.15s}.cups img:nth-child(3){animation-delay:.25s}.cups img:nth-child(4){animation-delay:.35s}.cups img:nth-child(5){animation-delay:.45s}
  .hero .note{animation:fade .5s ease .9s both}
}
@keyframes rise{from{opacity:0;translate:0 60px}to{opacity:1;translate:0 0}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;min-height:0;padding-top:8px;gap:8px}
  .hero .lineup{order:-1;max-height:340px}
  .hero h1{font-size:2.3rem;margin:14px 0 12px}
  .hero .lead{margin-bottom:20px;font-size:1rem}
  .hero .sticker{display:none}
  .lineup{margin:0 -12px}
  .note{font-size:1.3rem}
  .n1{left:6%;top:4%}.n2{right:4%;top:2%}.n3{display:none}
}

/* tapioca pearls */
.pearl-layer{position:absolute;pointer-events:none}
.pearl{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.6) 0 13%,transparent 15%),var(--pc);opacity:var(--po)}
.has-pearls{position:relative;overflow:hidden;isolation:isolate}
.has-pearls>.pearl-layer{inset:0;z-index:-1}

/* sections */
section.block{padding:56px 0}
@media (max-width:700px){section.block{padding:40px 0}}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.head p{max-width:30em;color:var(--muted)}
.head-stack{flex-direction:column;align-items:flex-start;gap:6px}

/* promos */
.promos{background:var(--spooky)}
.promo{display:grid;grid-template-columns:minmax(260px,440px) minmax(0,360px);gap:32px;align-items:center}
.promo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md);border:2px solid var(--ink);background:#163b1c}
.promo h3{font-size:1.5rem;margin:0 0 8px}
.promo .lead{font-size:1rem}
.promo ul{list-style:none;padding:0;margin:14px 0 18px;display:grid;gap:6px}
.promo li{font-family:var(--hand);font-weight:700;font-size:1.35rem;line-height:1.1;display:flex;gap:10px;align-items:center}
.promo li::before{content:"";width:22px;height:22px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h12l-1.8 17H7.8z' fill='%23fff' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M14 4l2-3' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.until{display:inline-block;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:600;font-size:.9rem}
.promo-rail{display:grid;gap:56px}
@media (max-width:800px){.promo{grid-template-columns:1fr;gap:24px}.promo img{max-width:420px}}

/* categories */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:250px;padding:24px;border-radius:var(--r-lg);text-decoration:none;overflow:hidden;isolation:isolate}
.cat h3{font-size:1.6rem;margin-bottom:8px}
.cat p{font-size:.95rem;max-width:min(15em,58%);color:#2c2c2c}
.cat.wide p{max-width:20em}
.cat .from{font-weight:600;font-size:.9rem;margin-top:16px}
.cat img{position:absolute;right:4px;bottom:-26px;height:250px;width:auto;z-index:-1;transition:transform .3s cubic-bezier(.2,.8,.2,1.3)}
.cat:hover img{transform:translateY(-12px) rotate(4deg)}
.cat.wide{grid-column:span 2}
.cat.wide p{max-width:20em}
@media (max-width:1000px){.cats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cats{grid-template-columns:1fr}.cat.wide{grid-column:auto}.cat{min-height:220px}.cat img{height:190px}}

/* how to order */
.how{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s}
.step{padding:8px 28px 8px 0;margin-right:28px;border-right:1.5px dashed #bdbdbd}
.step:last-child{border-right:0;margin-right:0}
.step .num{font-family:var(--hand);font-weight:700;font-size:2.6rem;line-height:1}
.step h3{margin:10px 0 8px;font-size:1.3rem}
.step p{color:var(--muted);font-size:.95rem}
.icons{display:flex;gap:10px;align-items:flex-end;margin-top:18px}
.icons figure{margin:0;text-align:center;font-size:.75rem;color:var(--muted)}
.icons svg{display:block;margin:0 auto 4px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;gap:36px 0}.step:nth-child(2){border-right:0;margin-right:0}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.step{border-right:0;margin-right:0;padding-right:0;padding-bottom:28px;border-bottom:1.5px dashed #bdbdbd}.step:last-child{border-bottom:0}}

/* locations */
.locs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.loc{display:flex;flex-direction:column;border:2px solid var(--ink);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.loc .ph{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:var(--fruit)}
.loc:nth-child(2) .ph{background:var(--soda)}
.loc:nth-child(3) .ph{background:var(--smoothie)}
.ph img.d{width:42%;opacity:.9}
.ph small{position:absolute;left:14px;bottom:12px;font-size:.75rem;background:#fff;border-radius:999px;padding:3px 10px;border:1px solid var(--ink)}
.loc .bd{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.loc .bd h3{font-size:1.6rem}
.loc dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.95rem}
.loc dt{color:var(--muted)}
.loc dd{margin:0}
.loc .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.badge{position:absolute;top:14px;right:14px;width:132px;height:132px;padding:10px !important;border-radius:50%;background:#fff;border:2px solid var(--ink);display:grid;place-items:center;text-align:center;font-family:var(--hand);font-weight:700;font-size:1.2rem;line-height:1.05;transform:rotate(10deg);padding:10px}
.ph .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph .badge{z-index:2;left:14px;right:auto;transform:rotate(-10deg)}
@media (max-width:900px){.locs{grid-template-columns:1fr}}

/* hiring band */
.hire{background:var(--smoothie);border-radius:var(--r-lg);padding:32px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center}
.hire img{width:110px}
.hire h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:10px}
@media (max-width:800px){.hire{grid-template-columns:1fr;padding:32px;gap:20px}.hire img{width:100px}}

/* voucher line */
.voucher{padding:48px 0}
.voucher-in{display:grid;grid-template-columns:minmax(240px,400px) 1fr;gap:48px;align-items:center}
.voucher-in img{width:100%;height:auto;border-radius:14px;transform:rotate(-4deg);box-shadow:0 2px 4px rgba(0,0,0,.08),0 18px 30px -8px rgba(80,40,40,.28),0 40px 60px -20px rgba(80,40,40,.22)}
.voucher-in h2{margin-bottom:14px}
@media (max-width:800px){.voucher-in{grid-template-columns:1fr;gap:36px}.voucher-in img{max-width:420px}}

/* about */
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.about p+p{margin-top:16px}
.about .copy p{font-size:1.08rem}
.reviews{display:grid;gap:16px}
.review{position:relative;border-radius:var(--r-md);padding:24px 26px;background:var(--milk)}
.review{margin:0;width:100%}
.review:nth-of-type(1){background:var(--fresh)}
.review:nth-of-type(2){background:var(--matcha)}
.review:nth-of-type(3){background:var(--milk)}
.review figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.review blockquote{margin:0 0 12px;font-size:1rem}
.review cite{font-style:normal;font-weight:600;font-size:.9rem}
.stars{letter-spacing:2px;font-size:1.25rem;margin-right:10px;color:#f2b01e;vertical-align:-2px}
.rev-rating{margin:0 0 6px;font-size:1rem}.rev-rating a{text-decoration:underline}
.rev-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--ink);margin-bottom:4px}
.stars.big{font-size:1.6rem;margin:0}
.review blockquote::before{content:"\201C";display:block;font-family:Georgia,serif;font-size:3rem;line-height:.6;height:22px;color:rgba(0,0,0,.25)}
.review{border:1.5px solid rgba(0,0,0,.12)}
@media (max-width:900px){.about .wrap{grid-template-columns:1fr;gap:40px}}

/* insta */
.insta{text-align:center}
.insta .handle{font-family:var(--hand);font-weight:700;font-size:clamp(2.6rem,7vw,5rem);line-height:1;text-decoration:none;display:inline-block;margin:18px 0 22px}
.insta .handle:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}

/* footer */
footer{border-top:2px solid var(--ink);padding:40px 0 28px;font-size:.92rem}
footer .grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px}
footer h3.fh{font:600 1rem var(--body);margin:0 0 12px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
.legal-links{display:flex;gap:16px;flex-wrap:wrap}
.legal-doc{max-width:760px;padding-bottom:72px}
.legal-doc h2{font-size:1.35rem;margin:32px 0 10px}
.legal-doc p{margin:0 0 10px;color:#333}
.legal-doc a{text-decoration:underline}
footer .legal{margin-top:40px;color:var(--muted);font-size:.82rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer .logo{height:90px;width:auto;margin-bottom:12px}
@media (max-width:900px){footer .grid{grid-template-columns:1fr 1fr}}

/* MENU page */
.page-hero{padding:56px 0 24px}
.page-hero h1{margin-bottom:14px}
.chips{position:sticky;top:calc(76px + env(safe-area-inset-top,0px));z-index:10;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);padding:12px 0;border-bottom:1px solid var(--line)}
.chips .wrap{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.chips a{flex:none;text-decoration:none;font-weight:500;font-size:.92rem;padding:8px 16px;border-radius:999px;border:1.5px solid var(--ink);background:#fff}
.chips a:hover{background:var(--c,var(--fresh))}
.mcat{padding:64px 0 16px;scroll-margin-top:70px}
.mtitle{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-bottom:8px}
.mtitle .avion-badge{margin:0}
.mtitle h2{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.9rem,4vw,2.8rem)}
.rule{position:relative;height:28px;margin-bottom:28px}
.rule::before{content:"";position:absolute;left:0;top:0;width:min(340px,60%);border-top:2px solid var(--ink)}
.rule::after{content:"";position:absolute;left:0;top:0;height:28px;border-left:2px solid var(--ink)}
.mdesc{color:var(--muted);max-width:36em;margin:-12px 0 28px}
.drinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
@media (max-width:600px){.drinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.drink{padding:12px 8px 10px}.drink img,.cup-icon{height:150px}.stage::before{width:130px;height:130px}.drink h3{font-size:.88rem;margin-bottom:6px}.prices{gap:3px;flex-wrap:nowrap}.prices span{font-size:.7rem;padding:2px 5px}.prices b{margin-right:1px}.frozen{font-size:.68rem}.badge{width:112px;height:112px;font-size:1.05rem !important}}
.drink{border-radius:var(--r-md);padding:16px 14px 14px;background:color-mix(in srgb,var(--c) 42%,#fff);display:flex;flex-direction:column;align-items:center;text-align:center}
.stage{position:relative;width:100%;display:flex;justify-content:center;isolation:isolate;margin:6px 0 12px}
.stage::before{content:"";position:absolute;left:50%;top:52%;width:180px;height:180px;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--g) 95%,transparent) 0%,color-mix(in srgb,var(--g) 45%,transparent) 42%,transparent 70%);filter:blur(8px);z-index:-2}
.stage .pearl-layer{inset:0;z-index:-1}
.stage::after{content:"";position:absolute;left:50%;bottom:-7px;width:62%;height:16px;translate:-50% 0;border-radius:50%;background:radial-gradient(ellipse at center,rgba(40,25,20,.32) 0%,rgba(40,25,20,.14) 45%,transparent 72%);z-index:-1}
.cup-icon{display:block;height:190px;width:auto}
.drink img,.drink .cup-icon,.stage::before{transition:transform .35s cubic-bezier(.2,.8,.3,1.2)}
.drink:hover img,.drink:hover .cup-icon{transform:scale(1.09) translateY(-4px)}
.drink:hover .stage::before{transform:scale(1.15)}
@media (prefers-reduced-motion:reduce){.drink img,.drink .cup-icon,.stage::before{transition:none}}
.drink img{height:190px;width:auto;filter:drop-shadow(0 3px 3px rgba(0,0,0,.08))}
.drink h3{font:600 1rem/1.25 var(--body);margin-bottom:8px}
.drink sup{font-size:.62em;font-weight:500;margin-left:2px;color:#444}
.prices{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:auto}
.prices span{background:#fff;border-radius:999px;padding:3px 8px;font-size:.8rem;font-weight:500;white-space:nowrap}
.prices b{font-weight:600}
.frozen{font-size:.75rem;color:#333;margin-top:6px}
.soda-list{border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--soda);padding:12px 28px;max-width:640px}
.soda-list div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1.5px dashed rgba(0,0,0,.25);font-size:1.15rem}
.soda-list div:last-child{border-bottom:0}
.avion-badge{display:inline-flex;align-items:center;gap:8px;margin:2px 0 14px;background:var(--ink);color:#fff;font-weight:600;font-size:1rem;padding:9px 18px 9px 14px;border-radius:999px}
.cat .avion-badge{font-size:.82rem;padding:6px 12px 6px 10px;margin:10px 0 0}
.limit{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:center;background:var(--spooky);border-radius:var(--r-lg);padding:24px}
.limit img{border-radius:var(--r-md);border:2px solid var(--ink)}
.limit ul{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
.limit li{font-family:var(--hand);font-weight:700;font-size:1.8rem;line-height:1.1}
@media (max-width:700px){.limit{grid-template-columns:1fr}.limit img{max-width:300px}}
.extras{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:24px}
.box{border:2px solid var(--ink);border-radius:var(--r-lg);padding:28px}
.box h3{margin-bottom:14px}
.tops{columns:2;gap:24px;list-style:none;padding:0;margin:0}
.tops li{padding:5px 0;break-inside:avoid}
.levels{display:flex;gap:22px;flex-wrap:wrap}
.levels figure{margin:0;text-align:center;color:var(--muted)}
.levels svg{display:block;margin:0 auto 4px}
.legend{color:var(--muted);font-size:.88rem;margin-top:28px}
@media (max-width:800px){.extras{grid-template-columns:1fr}}

/* Locations page & jobs */
.loc-detail{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:48px 0;border-bottom:1.5px dashed #bdbdbd}
.loc-detail:last-child{border-bottom:0}
.loc-detail .ph{border-radius:var(--r-lg);border:2px solid var(--ink);aspect-ratio:4/3;display:grid;place-items:center;position:relative}
.loc-detail h2{margin-bottom:16px}
.loc-detail dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 24px}
.loc-detail dt{color:var(--muted)}
.loc-detail dd{margin:0}
@media (max-width:800px){.loc-detail{grid-template-columns:1fr}}
.jobs{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start;padding-bottom:96px}
.jobs .copy p{font-size:1.08rem}
.jobs .copy p+p{margin-top:16px}
.mailcard{background:var(--smoothie);border-radius:var(--r-lg);padding:32px;border:2px solid var(--ink)}
.mailcard ol{padding-left:20px;margin:14px 0 24px}
.mailcard li{margin:6px 0}
@media (max-width:800px){.jobs{grid-template-columns:1fr}}

.ph-note{font-family:var(--hand);font-weight:700;font-size:1.4rem;opacity:.7}

/* ===== menu.js (skill Chuť Rásť): vzhľad Hachi Hachi cez triedy .cr-* ===== */
.menu-page .cr-menu{max-width:none}
.menu-page .cr-menu__title,.menu-page .cr-section__title{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.9rem,4vw,2.8rem);color:var(--ink);margin:0}
.menu-page .cr-section{padding:64px 0 16px;margin:0;scroll-margin-top:70px}
.menu-page #limitky{padding-top:64px;scroll-margin-top:70px}
.menu-page .cr-section__head,.menu-page .cr-menu__title{position:relative;padding-bottom:36px;margin-bottom:0}
.menu-page .cr-section__head::after,.menu-page .cr-menu__title::after{content:"";position:absolute;left:0;bottom:0;width:min(340px,60%);height:28px;border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.menu-page .cr-section__title{display:inline-block;margin-right:18px}
.menu-page .cr-section__badge{display:inline-flex;align-items:center;gap:8px;vertical-align:middle;background:var(--ink);color:#fff;font-weight:600;font-size:1rem;padding:9px 18px;border-radius:999px}
.menu-page .cr-section__desc{color:var(--muted);max-width:36em;margin:16px 0 28px;font-size:1rem}
.menu-page .cr-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.menu-page .cr-card{border-radius:var(--r-md);padding:16px 14px 14px;background:color-mix(in srgb,var(--cr-section-color) 42%,#fff);gap:0}
.menu-page .cr-card .stage{position:relative;width:100%;display:flex;justify-content:center;isolation:isolate;margin:6px 0 12px}
.menu-page .cr-card .stage::before{content:"";position:absolute;left:50%;top:52%;width:180px;height:180px;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cr-item-color,#e8d8c8) 95%,transparent) 0%,color-mix(in srgb,var(--cr-item-color,#e8d8c8) 45%,transparent) 42%,transparent 70%);z-index:-1;transition:transform .35s cubic-bezier(.2,.8,.3,1.2)}
.menu-page .cr-card .stage::after{content:"";position:absolute;left:50%;bottom:-7px;width:62%;height:16px;translate:-50% 0;border-radius:50%;background:radial-gradient(ellipse at center,rgba(40,25,20,.32) 0%,rgba(40,25,20,.14) 45%,transparent 72%);z-index:-1}
.menu-page .cr-card .stage .pearl-layer{inset:0;z-index:-1}
.menu-page .cr-card__img{height:190px;width:auto;max-height:none;filter:drop-shadow(0 3px 3px rgba(0,0,0,.08));transition:transform .35s cubic-bezier(.2,.8,.3,1.2)}
.menu-page .cr-card:hover .cr-card__img{transform:scale(1.09) translateY(-4px)}
.menu-page .cr-card:hover .stage::before{transform:scale(1.15)}
.menu-page .cr-card .cr-item__name{font:600 1rem/1.25 var(--body);margin-bottom:8px}
.menu-page .cr-card .cr-item__name sup{font-size:.62em;font-weight:500;margin-left:2px;color:#444}
.menu-page .cr-card .cr-item__meta{order:3;margin-top:6px}
.menu-page .cr-card .cr-tag--ice{border:0;padding:0;margin:0;font-size:.75rem;color:#333}
.menu-page .cr-card .cr-prices{gap:6px;margin-top:auto;justify-content:center}
.menu-page .cr-card .cr-price{background:#fff;border-radius:999px;padding:3px 8px;font-size:.8rem;font-weight:500}
.menu-page .cr-price__size{font-weight:600;opacity:1;color:var(--ink)}
.menu-page .cr-extras{border:2px solid var(--ink);border-radius:var(--r-lg);padding:28px;margin:24px 0 0}
.menu-page .cr-extras__title{font-family:var(--display);font-size:1.4rem;color:var(--ink);margin-bottom:14px}
.menu-page .cr-extras__price{font-family:var(--hand);font-size:1.7rem;font-weight:700;margin-left:6px}
.menu-page .cr-extras__list{display:block;columns:2;gap:24px;color:var(--text)}
.menu-page .cr-extras__list li{padding:5px 0;break-inside:avoid}
.menu-page .cr-extras__list sup{font-size:.7em;color:#444;margin-left:2px}
.menu-page .cr-legend{color:var(--muted);font-size:.88rem;margin-top:28px}
.menu-page .cr-promos{gap:16px}
.menu-page .cr-promo{grid-template-columns:280px 1fr;gap:32px;background:var(--spooky);border-radius:var(--r-lg);padding:24px}
.menu-page .cr-promo__img{border-radius:var(--r-md);border:2px solid var(--ink)}
.menu-page .cr-promo__title{font-size:1.5rem;margin:0 0 12px}
.menu-page .cr-promo__text{color:var(--muted)}
.menu-page .cr-promo__items li{font-family:var(--hand);font-weight:700;font-size:1.8rem;line-height:1.1;justify-content:flex-start;gap:16px;padding:4px 0}
.menu-page .cr-promo__items .cr-price{background:#fff;border-radius:999px;padding:3px 8px;font:500 .8rem var(--body)}
.cr-promo__until{display:inline-block;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:600;font-size:.9rem;color:var(--ink);margin:0 0 10px}
@media (max-width:700px){.menu-page .cr-promo{grid-template-columns:1fr}.menu-page .cr-promo__img{max-width:300px}}
@media (max-width:600px){.menu-page .cr-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-page .cr-card{padding:12px 8px 10px}.menu-page .cr-card__img{height:150px}.menu-page .cr-card .stage::before{width:130px;height:130px}.menu-page .cr-card .cr-item__name{font-size:.88rem;margin-bottom:6px}.menu-page .cr-card .cr-prices{gap:3px}.menu-page .cr-extras__list{columns:1}}
@media (prefers-reduced-motion:reduce){.menu-page .cr-card__img,.menu-page .cr-card .stage::before{transition:none}}
/* domovská stránka: limitky z menu/limitky.json */
#promoRail .cr-menu{max-width:none}
#promoRail .cr-menu__title{display:none}
#promoRail .cr-promos{gap:56px}
#promoRail .cr-promo{grid-template-columns:minmax(260px,440px) minmax(0,360px);gap:32px;background:transparent;padding:0;border-radius:0}
#promoRail .cr-promo__img{border-radius:var(--r-md);border:2px solid var(--ink);background:#163b1c}
#promoRail .cr-promo__title{font-size:1.5rem;margin:0 0 8px}
#promoRail .cr-promo__text{font-size:1rem;color:var(--muted)}
#promoRail .cr-promo__items{margin:14px 0 18px;display:grid;gap:6px}
#promoRail .cr-promo__items li{font-family:var(--hand);font-weight:700;font-size:1.35rem;line-height:1.1;justify-content:flex-start;align-items:center;gap:10px;padding:0}
#promoRail .cr-promo__items li::before{content:"";width:22px;height:22px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h12l-1.8 17H7.8z' fill='%23fff' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='16' r='1.3'/%3E%3Ccircle cx='14' cy='13' r='1.1'/%3E%3C/svg%3E") center/contain no-repeat}
#promoRail .cr-promo__items .cr-prices{display:none}
@media (max-width:800px){#promoRail .cr-promo{grid-template-columns:1fr;gap:24px}#promoRail .cr-promo__img{max-width:420px}}
