/* MÉTRIKA ID · motor v11 (temas por nicho) — cliente: Ni Michi Cocina Latina */
@font-face{font-family:"Anton";src:url(assets/fonts/anton-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;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+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Anton";src:url(assets/fonts/anton-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"Bebas Neue";src:url(assets/fonts/bebas-neue-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url(assets/fonts/dm-serif-display-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url(assets/fonts/dm-serif-display-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Fraunces";src:url(assets/fonts/fraunces-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(assets/fonts/fraunces-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(assets/fonts/playfair-display-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(assets/fonts/playfair-display-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(assets/fonts/playfair-display-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"DM Sans";src:url(assets/fonts/dm-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url(assets/fonts/dm-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url(assets/fonts/dm-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#0c0909;--bg-rgb:12,9,9;--bg2:#141011;--card:#1b1517;--card2:#231b1d;--fg-rgb:244,236,229;--line:rgba(var(--fg-rgb),.10);--line2:rgba(var(--fg-rgb),.18);--hero:12,9,9;--foot:#070505;--on-accent:#fff;--grain:.07;--scheme:dark;--hs:1;--d-w:400;--d-st:normal;--d-tt:uppercase;--deco-font:var(--jp);--menu-mark:"品書";--disc:radial-gradient(circle at 35% 30%,#ff4a3a,var(--red) 45%,#7d0f0a);
  --txt:#f4ece5;--muted:#ab9d9b;--red:#e2261c;--red-d:#b81c14;--red-glow:226,38,28;--amber:#ffb24f;--amber-glow:255,170,70;--wood:#d4883c;
  --navy:#0c0909;--gold:var(--red);--gold-d:var(--red);--on-gold:#fff;--tint:12,9,9;
  --r:18px;--shadow:0 18px 40px rgba(0,0,0,.45);
  --display:"Anton","Impact","Haettenschweiler","Arial Narrow Bold","PingFang SC","Hiragino Sans","Noto Sans CJK SC",sans-serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans","Noto Sans CJK SC",sans-serif;
  --jp:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Noto Serif CJK JP","Songti SC",serif;
  --serif:var(--display);
  --safe-b:env(safe-area-inset-bottom,0px);
  --ease:cubic-bezier(.2,.75,.15,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg);overflow-x:hidden;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.55 var(--sans);overflow-x:hidden;overflow-x:clip;padding-bottom:calc(80px + var(--safe-b));-webkit-font-smoothing:antialiased}
/* grão de filme + luz quente de lanterna em toda a página */
body::before{content:"";position:fixed;inset:-50%;z-index:100;pointer-events:none;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
.wrap{width:min(100% - 32px,980px);margin-inline:auto}
.center{text-align:center}
.h2{font:var(--d-st) var(--d-w) calc(clamp(38px,11vw,72px) * var(--hs))/.98 var(--display);margin:6px 0 12px;letter-spacing:.01em;text-transform:var(--d-tt)}
.h2 .red,.h2 em{color:var(--red);font-style:normal}
.kicker{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--kick-c,var(--amber))}
.kicker::before{content:"";width:22px;height:2px;background:var(--red)}
.kicker .ico{display:inline-flex;color:var(--red)}.kicker .ico svg{width:22px;height:22px}
.center .kicker::after{content:"";width:22px;height:2px;background:var(--red)}
.sub{margin:0 auto 22px;color:var(--muted);max-width:560px;font-size:16px}
.jp{font-family:var(--jp);font-weight:600}

/* ---------- Top bar ---------- */
.topbar{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px;transition:background .35s,box-shadow .35s}
.topbar-brand{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;font:var(--d-st) var(--d-w) 21px var(--display);letter-spacing:.06em;text-transform:var(--d-tt);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .3s,transform .3s}
.topbar-brand img{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 2px rgba(var(--red-glow),.6)}
.topbar.solid{background:rgba(var(--bg-rgb),.84);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
.topbar.solid .topbar-brand{opacity:1;transform:none;pointer-events:auto}
.lang-btn{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 16px 0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(var(--hero),.5);color:#fff;font-weight:700;font-size:15px;letter-spacing:.06em;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;margin-left:auto}
.lang-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;padding:96px 18px 120px;background:#000;isolation:isolate}
.hero-slides{position:absolute;inset:-4% 0;z-index:-3;will-change:transform}
.hero-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.14);transition:opacity 1.6s ease}
.hero-slides img.on{opacity:1;animation:kb 9s linear forwards}
@keyframes kb{from{transform:scale(1.14) translate3d(1.5%,0,0)}to{transform:scale(1.02) translate3d(-1.5%,-1%,0)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(120% 70% at 50% 42%,rgba(var(--hero),.15),rgba(var(--hero),.7) 70%),linear-gradient(180deg,rgba(var(--hero),.55) 0%,rgba(var(--hero),.1) 30%,rgba(var(--hero),.45) 70%,rgba(var(--hero),.75) 90%,var(--bg) 100%)}
.hero-motif{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.hero-rays{position:absolute;left:50%;top:40%;width:190vmax;height:190vmax;margin:-95vmax 0 0 -95vmax;z-index:-1;opacity:.32;mix-blend-mode:screen;animation:spin 90s linear infinite;pointer-events:none;-webkit-mask:radial-gradient(circle,#000 6%,rgba(0,0,0,.6) 22%,transparent 46%);mask:radial-gradient(circle,#000 6%,rgba(0,0,0,.6) 22%,transparent 46%)}
.hero-rays path{fill:var(--red)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-jp{position:absolute;right:max(12px,3vw);top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font:600 clamp(26px,7vw,46px)/1 var(--deco-font);letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.16);z-index:-1;animation:fadein 2s 1s both}
.hero-jp.l{left:max(12px,3vw);right:auto;color:rgba(var(--red-glow),.38);font-size:clamp(14px,3.6vw,20px);letter-spacing:.6em}
.hero-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:760px;will-change:transform,opacity}
.hero-logo-w{position:relative;width:clamp(136px,40vw,200px);aspect-ratio:1;animation:pop 1.1s .15s var(--ease) both}
.hero-logo-w::before{content:"";position:absolute;inset:-22%;border-radius:50%;background:radial-gradient(circle,rgba(var(--red-glow),.55),transparent 65%);animation:pulse 4s ease-in-out infinite;z-index:-1}
.hero-logo-w::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed rgba(255,255,255,.35);animation:spin 40s linear infinite}
.hero-logo{width:100%;height:100%;border-radius:50%;box-shadow:0 24px 60px rgba(0,0,0,.6)}
@keyframes pop{from{opacity:0;transform:scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.hero-place{margin:10px 0 0;font-size:12px;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--amber);animation:rise .9s .55s var(--ease) both}
.hero-slogan{margin:0;font:var(--d-st) var(--d-w) calc(clamp(44px,13.5vw,96px) * var(--hs))/.95 var(--display);text-transform:var(--d-tt);letter-spacing:.005em;text-shadow:0 6px 40px rgba(0,0,0,.55)}
.hero-slogan .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .04em 0;margin-top:-.12em}
.hero-slogan .w>span{display:inline-block;animation:rise 1s var(--ease) both;animation-delay:calc(.7s + var(--i) * .09s)}
.hero-slogan .w:last-child>span{color:var(--red)}
.hero-slogan:lang(zh),.hero-slogan:lang(ja),:lang(zh) .hero-slogan,:lang(ja) .hero-slogan{font-family:var(--jp);font-weight:700;font-size:clamp(34px,10vw,68px);line-height:1.15}
@keyframes rise{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:none}}
.hero-type{margin:0;font-size:15px;font-weight:500;letter-spacing:.08em;color:rgba(255,255,255,.88);animation:rise .9s 1.15s var(--ease) both}
.status{display:inline-flex;align-items:center;gap:9px;margin:4px 0 0;padding:8px 15px;border-radius:999px;background:rgba(var(--hero),.5);border:1px solid rgba(255,255,255,.2);font-size:14px;color:#fff;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:rise .9s 1.25s var(--ease) both}
.status::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(var(--amber-glow),.6);animation:ping 2s infinite}
.status.open::before{background:#43d17f;box-shadow:0 0 0 0 rgba(67,209,127,.6)}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(var(--amber-glow),.55)}70%{box-shadow:0 0 0 10px rgba(var(--amber-glow),0)}100%{box-shadow:0 0 0 0 rgba(var(--amber-glow),0)}}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;animation:rise .9s 1.35s var(--ease) both}
.hero-scroll{position:absolute;left:50%;bottom:calc(26px + var(--safe-b));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.6);text-decoration:none;animation:fadein 1s 2s both}
.hero-scroll i{width:1px;height:38px;background:linear-gradient(var(--red),transparent);animation:drip 1.8s ease-in-out infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero-dots{position:absolute;bottom:calc(30px + var(--safe-b));right:16px;display:flex;flex-direction:column;gap:6px}
.hero-dots i{width:3px;height:14px;border-radius:2px;background:rgba(255,255,255,.3);transition:.4s}
.hero-dots i.on{height:28px;background:var(--red)}

/* ---------- Faixa animada ---------- */
.ticker{position:relative;z-index:3;overflow:hidden;width:calc(100% + 20px);background:var(--red);color:var(--on-accent);transform:rotate(-2deg);margin:-28px -10px 0;padding:12px 0;box-shadow:0 14px 40px rgba(var(--red-glow),.35)}
.ticker.alt{background:var(--bg2);color:var(--txt);transform:rotate(1.5deg);margin:40px -10px 0;box-shadow:none;border-block:1px solid var(--line)}
.ticker-track{display:flex;width:max-content;animation:marq 38s linear infinite}
.ticker.alt .ticker-track{animation-direction:reverse;animation-duration:46s}
.ticker span{display:inline-flex;align-items:center;gap:22px;padding-right:22px;font:var(--d-st) var(--d-w) 26px/1 var(--display);letter-spacing:.04em;text-transform:var(--d-tt);white-space:nowrap}
.ticker span b{display:inline-flex;font:600 22px var(--deco-font);opacity:.85}.ticker span b svg{width:24px;height:24px}
.ticker span i{font-style:normal;opacity:.7;font-size:18px}
.ticker.alt span i{color:var(--red)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- Botões ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;letter-spacing:.01em;text-decoration:none;border:0;cursor:pointer;overflow:hidden;transition:transform .2s var(--ease),box-shadow .3s,background .3s}
.btn:active{transform:scale(.96)}
.btn-gold{background:var(--red);color:var(--on-accent);box-shadow:0 10px 30px rgba(var(--red-glow),.45)}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:shine 4.5s 2.5s ease-in-out infinite}
@keyframes shine{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn-glass{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-navy{background:var(--red);color:var(--on-accent)}
.btn-line{background:transparent;color:var(--txt);border:1px solid var(--line2)}
.btn-block{width:100%}
.btn svg{width:20px;height:20px;flex:none}

/* ---------- Ações rápidas ---------- */
.actions{position:relative;z-index:4;width:min(100% - 24px,720px);margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:14px 8px;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.action{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 2px;text-decoration:none;font-size:13px;font-weight:500;line-height:1.2;text-align:center;color:var(--txt);transition:transform .2s}
.action:active{transform:scale(.93)}
.action i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(var(--fg-rgb),.05);border:1px solid var(--line2);color:var(--txt);transition:background .3s}
.action.gold i{background:var(--red);border-color:var(--red);color:var(--on-accent);box-shadow:0 6px 18px rgba(var(--red-glow),.5)}
.action svg{width:23px;height:23px}
.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px auto 0;padding:0 16px}
.soc{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 16px 0 8px;background:var(--card);box-shadow:var(--soft-shadow,none);border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:14px;font-weight:500;color:var(--txt)}
.soc .ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff}
.soc .ico svg{width:17px;height:17px}

/* ---------- Secções & galerias ---------- */
.sec{position:relative;padding:72px 0 0}
.sec-head{text-align:center;padding:0 16px}
.sec>.h2{text-align:center;padding:0 16px}
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px max(16px,calc((100vw - 980px)/2)) 18px;scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding-inline:max(16px,calc((100vw - 980px)/2))}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:center;flex:0 0 auto}
.rail img{width:min(78vw,440px);aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);background:var(--card)}
.rail.single{justify-content:center}
.dots{display:flex;justify-content:center;gap:6px;margin-top:4px}
.dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);transition:width .3s,background .3s}
.dots i.on{width:22px;border-radius:4px;background:var(--red)}

/* Espaço: cartões altos com legenda e paralaxe */
.shot{position:relative;margin:0;border-radius:var(--r);overflow:hidden;width:min(78vw,440px);aspect-ratio:4/5;background:var(--card);box-shadow:0 20px 50px rgba(0,0,0,.5);transform:scale(calc(.9 + .1 * var(--f,1)));opacity:calc(.55 + .45 * var(--f,1));transition:transform .15s linear,opacity .15s linear}
.shot img{position:absolute;inset:0 -12%;width:124%;max-width:none;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover;transform:translate3d(calc(var(--p,0) * 8%),0,0);transition:transform .15s linear}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(12,9,9,.85))}
.shot figcaption{position:absolute;left:16px;bottom:14px;z-index:1;color:#fff;display:flex;align-items:baseline;gap:10px;font:var(--d-st) var(--d-w) 26px/1 var(--display);text-transform:var(--d-tt);letter-spacing:.03em}
.shot figcaption small{font:700 11px var(--sans);letter-spacing:.25em;color:var(--amber)}

/* Comida: pratos a flutuar sobre um sol vermelho */
#comida{overflow:hidden}
#comida::before{content:"";position:absolute;left:50%;top:48%;width:140vmax;height:140vmax;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(var(--red-glow),.20),transparent 45%);pointer-events:none}
.rail-food{gap:0;padding-block:20px 10px}
.plate{position:relative;margin:0;width:min(74vw,400px);aspect-ratio:1;display:grid;place-items:center;transform:scale(calc(.72 + .28 * var(--f,1)));opacity:calc(.35 + .65 * var(--f,1));transition:transform .12s linear,opacity .12s linear}
.plate::before{content:"";position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:var(--disc);box-shadow:0 0 80px rgba(var(--red-glow),.55),inset 0 -20px 40px rgba(0,0,0,.35)}
.plate::after{content:"";position:absolute;bottom:4%;width:60%;height:10%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.6),transparent 70%);filter:blur(4px)}
.plate img{position:relative;z-index:1;width:92%;height:92%;max-width:none;aspect-ratio:auto;object-fit:contain;background:none;border-radius:0;filter:drop-shadow(0 26px 30px rgba(0,0,0,.6));animation:bob 5s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.7s)}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-12px) rotate(1.5deg)}}
.food-note{margin:4px auto 0;text-align:center;color:var(--muted);font-size:13px}

/* ---------- Ementa ---------- */
.menu{position:relative;margin-top:80px;padding:76px 0 56px;background:var(--bg2);border-top:1px solid var(--line);overflow:clip}
.menu::before{content:var(--menu-mark);position:absolute;right:-.08em;top:10px;font:700 clamp(120px,40vw,300px)/1 var(--deco-font);color:rgba(var(--fg-rgb),.04);writing-mode:vertical-rl;pointer-events:none}
.menu .kicker,.menu .h2,.menu .sub{text-align:center}
.menu .wrap>.kicker{display:flex;justify-content:center}
.menu .sub{color:var(--muted)}
.chips{position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:5;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 6px;padding:10px 16px 14px;background:linear-gradient(var(--bg2) 75%,transparent)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:44px;padding:0 17px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--txt);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:.25s}
.chip[aria-selected=true]{background:var(--red);color:var(--on-accent);border-color:var(--red);box-shadow:0 6px 18px rgba(var(--red-glow),.4)}
.cat{background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:var(--r);margin:0 0 10px;overflow:hidden;transition:border-color .3s}
.cat[open]{border-color:rgba(var(--red-glow),.45)}
.cat>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 18px;font:var(--d-st) var(--d-w) 24px/1.05 var(--display);text-transform:var(--d-tt);letter-spacing:.02em;cursor:pointer}
.cat>summary::-webkit-details-marker{display:none}
.cat>summary .kn{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:600 16px var(--kn-font,var(--jp));letter-spacing:0;text-transform:none;background:rgba(var(--red-glow),.14);color:var(--red);transition:.3s}
.cat[open]>summary .kn{background:var(--red);color:var(--on-accent)}
.cat>summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(45deg);transition:transform .3s;margin-right:4px;flex:none}
.cat[open]>summary::after{transform:rotate(-135deg)}
.cat>summary small{font:500 13px var(--sans);color:var(--muted);margin-left:auto;letter-spacing:0}
.dishes{list-style:none;margin:0;padding:0 18px 12px}
.cat[open] .dish{animation:rise2 .5s var(--ease) both}
.cat[open] .dish:nth-child(1){animation-delay:.02s}.cat[open] .dish:nth-child(2){animation-delay:.05s}.cat[open] .dish:nth-child(3){animation-delay:.08s}.cat[open] .dish:nth-child(4){animation-delay:.11s}.cat[open] .dish:nth-child(5){animation-delay:.14s}.cat[open] .dish:nth-child(6){animation-delay:.17s}.cat[open] .dish:nth-child(n+7){animation-delay:.2s}
@keyframes rise2{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.dish{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.dish-name{flex:1;min-width:0;display:flex;flex-direction:column}
.dish-name b{font-weight:500;font-size:16px}
.dish-name em{font-style:normal;font-size:13px;color:var(--muted)}
.dish-name::after{content:"";order:3}
.dish-price{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--amber)}
.dish-price small{font-weight:500;color:var(--muted)}
.menu-foot{margin:18px 0 0;font-size:14px;color:var(--muted);text-align:center;line-height:1.6}
.legal{display:block;margin-top:10px;font-size:12px;line-height:1.55;opacity:.75}

/* ---------- Avaliações ---------- */
#avaliacoes{padding-top:84px}
.score{display:inline-flex;flex-direction:column;align-items:center;gap:6px;margin:8px 0 14px}
.score .gmark{width:30px;height:30px}
.score b{font:var(--d-st) var(--d-w) clamp(84px,26vw,140px)/.9 var(--display);color:var(--txt);text-shadow:0 0 50px rgba(var(--amber-glow),.35)}
.score small{display:block;color:var(--muted);font-size:14px;text-align:center;margin-top:6px}
.gmark{width:26px;height:26px;flex:none}
.stars{position:relative;display:inline-block;font-size:28px;letter-spacing:4px;line-height:1;color:rgba(var(--fg-rgb),.16)}
.stars::before{content:"★★★★★"}
.stars span{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:#f5b335;text-shadow:0 0 18px rgba(245,179,53,.55);transition:width 1.6s var(--ease)}
.stars span::before{content:"★★★★★"}
.score:not(.in) .stars span{width:0!important}
.review .stars{font-size:16px;letter-spacing:2px}
.review{width:min(80vw,340px);background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px}
.review-top{display:flex;align-items:center;gap:10px}
.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:var(--on-accent);font-weight:700}
.review-top b{display:block}
.review-top small{color:var(--muted);font-size:13px}
.review p{margin:0;font-size:16px;line-height:1.5}
.row-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}

/* ---------- Reservas ---------- */
#reservas{padding-top:84px}
#reservas::before{content:"";position:absolute;left:50%;top:40px;width:120vw;height:520px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(var(--amber-glow),.12),transparent 60%);pointer-events:none}
.book{position:relative;max-width:560px;margin:0 auto;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow);display:grid;gap:14px}
.book fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.book legend,.book label>span,.lbl>span{font-size:14px;font-weight:700;margin-bottom:6px;display:block}
.book label,.lbl{display:block;min-width:0}
.book-online .btn{gap:10px}
.book-online .btn svg:last-child{width:16px;height:16px;opacity:.85}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg button{min-height:48px;border-radius:12px;border:1px solid var(--line2);background:transparent;font-weight:500;font-size:15px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:var(--on-accent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:block;width:100%;min-width:0;min-height:50px;padding:0 14px;border:1px solid var(--line2);border-radius:12px;background-color:rgba(var(--fg-rgb),.04);font-size:16px;-webkit-appearance:none;appearance:none;color:var(--txt)}
select.field{background-image:linear-gradient(45deg,transparent 50%,var(--txt) 50%),linear-gradient(135deg,var(--txt) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
select.field option{background:var(--card);color:var(--txt)}
input[type=date].field{line-height:50px;color-scheme:var(--scheme)}
.stepper{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;min-height:50px;border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.stepper button{height:50px;border:0;background:rgba(var(--fg-rgb),.06);font-size:22px;color:var(--txt);cursor:pointer}
.stepper output{text-align:center;font-weight:700;font-size:18px}
.err{margin:0;color:#ff8b7e;font-weight:500;font-size:14px}
.fine{margin:0;text-align:center;color:var(--muted);font-size:14px}
.fine a{font-weight:700;color:var(--txt);white-space:nowrap}

/* ---------- Entregas ---------- */
#entregas .h2{font-size:clamp(30px,8vw,48px)}

/* ---------- Visitar ---------- */
.visit{position:relative;padding:84px 0 48px}
.addr{color:var(--muted);margin:0 0 20px}
.map{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;border:1px solid var(--line);background:radial-gradient(circle at 50% 45%,rgba(var(--red-glow),.25),transparent 40%),var(--card)}
.map::before{content:"";position:absolute;left:50%;top:44%;width:18px;height:18px;margin:-9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(var(--red-glow),.6);animation:ping 2s infinite}
.map iframe{position:relative;z-index:1;width:100%;height:100%;border:0;display:block;filter:saturate(.85) contrast(1.05)}
.map-cta{position:absolute;z-index:2;left:50%;bottom:14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;background:var(--red);color:var(--on-accent);font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 10px 26px rgba(var(--red-glow),.5);white-space:nowrap}
.map-cta svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card h3{margin:0 0 12px;font:var(--d-st) var(--d-w) 26px/1 var(--display);text-transform:var(--d-tt);letter-spacing:.03em}
.hours,.contacts{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.hours li{display:flex;justify-content:space-between;gap:10px;color:var(--muted)}
.hours li span:first-child{display:inline-block}.hours li span:first-child::first-letter{text-transform:uppercase}
.hours li span:last-child{text-align:right}
.hours li.today{font-weight:700;color:var(--txt)}
.hours li.today span:first-child{color:var(--red)}
.contacts{gap:10px}
.contacts a{display:flex;align-items:center;justify-content:center;min-height:50px;line-height:1.2;padding:0 16px;border:1px solid var(--line2);border-radius:999px;font-weight:700;text-decoration:none;color:var(--txt);word-break:break-word}
.contacts li:first-child a{background:var(--red);border-color:var(--red);color:var(--on-accent)}

/* ---------- Rodapé ---------- */
.foot{position:relative;overflow:clip;background:var(--foot);color:#d9ccc8;text-align:center;padding:56px 16px calc(32px + var(--safe-b));font-size:14px;overflow:hidden;border-top:1px solid var(--line)}
.foot-big{margin:0 0 26px;font:var(--d-st) var(--d-w) clamp(56px,20vw,200px)/.85 var(--display);letter-spacing:.02em;text-transform:var(--d-tt);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);white-space:nowrap}
.foot-big span{color:var(--red);-webkit-text-stroke:0}
.foot-logo{width:64px;height:64px;border-radius:50%;margin:0 auto 16px}
.foot-social{display:flex;justify-content:center;gap:10px;margin-bottom:14px}
.foot-social a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.foot-social svg{width:20px;height:20px}
.foot-links a{color:#fff;display:inline-block;padding:10px 4px}
.foot-legal{margin:6px 0;opacity:.7;font-size:13px}
.foot-qr{display:none;margin:16px auto;background:#fff;padding:8px;border-radius:10px}
.credit{margin:14px 0 0;opacity:.78;font-size:12px;letter-spacing:.1em}

/* ---------- Dock ---------- */
.dock{position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe-b));z-index:45;display:grid;grid-template-columns:auto auto 1fr;gap:4px;padding:6px;background:rgba(var(--hero),.86);border:1px solid rgba(255,255,255,.14);border-radius:22px;box-shadow:0 16px 40px rgba(0,0,0,.55);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);transform:translateY(150%);transition:transform .45s var(--ease)}
.dock.show{transform:none}
.dock a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;padding:0 12px;border-radius:16px;white-space:nowrap;font-size:14px;color:#fff;text-decoration:none;font-weight:700}
.dock a svg{width:20px;height:20px}
.dock a.main{background:var(--red);color:var(--on-accent);box-shadow:0 6px 18px rgba(var(--red-glow),.45)}

/* ---------- Seletor de língua ---------- */
.sheet{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadein .25s}
.sheet-card{position:relative;width:min(100%,520px);background:var(--bg2);border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;padding:26px 18px calc(22px + var(--safe-b));text-align:center;animation:up .45s var(--ease);overflow:hidden}
.sheet-card::before{content:"";position:absolute;left:50%;top:-120px;width:300px;height:300px;transform:translateX(-50%);background:radial-gradient(circle,rgba(var(--red-glow),.35),transparent 65%);pointer-events:none}
.sheet-card img{position:relative;width:60px;height:60px;border-radius:50%;margin:0 auto 10px}
.sheet-card h2{position:relative;margin:0;font:var(--d-st) var(--d-w) 32px var(--display);text-transform:var(--d-tt);letter-spacing:.02em}
.sheet-card p{margin:4px 0 16px;color:var(--muted);font-size:14px}
.lang-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lang-grid button{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border-radius:14px;border:1px solid var(--line2);background:var(--card);font-size:16px;font-weight:500;cursor:pointer;text-align:left;color:var(--txt)}
.lang-grid button .f{font-size:22px;line-height:1}
.lang-grid button[aria-current=true]{border:2px solid var(--red);background:rgba(var(--red-glow),.12)}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}

.toast{position:fixed;left:50%;bottom:calc(100px + var(--safe-b));transform:translate(-50%,20px);opacity:0;z-index:70;background:#fff;color:#000;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500;transition:.25s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}
.noscript{padding:20px;text-align:center}

/* ---------- Entrada animada ao fazer scroll ---------- */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}

/* ---------- Modo revisão (?rever=1) ---------- */
.rv-mark{outline:2px dashed #ffa03a!important;outline-offset:4px;position:relative}
.rv-tag{display:inline-block;margin:4px 0;padding:2px 8px;border-radius:6px;background:#fff1df;color:#9a5410;font:700 11px var(--sans);letter-spacing:.02em}
.rv-box{border:2px dashed #ffa03a;border-radius:var(--r);padding:16px;text-align:center;color:#ffcf96;background:rgba(255,160,58,.08);font-size:14px;margin:10px 0}
.review-panel{position:fixed;right:10px;top:70px;z-index:80;width:min(320px,calc(100% - 20px));background:#fff;color:#222;border:2px solid #d9822b;border-radius:14px;box-shadow:var(--shadow);font-size:14px}
.review-panel summary{padding:10px 14px;font-weight:700;cursor:pointer;color:#9a5410}
.review-panel ul{margin:0;padding:0 14px 12px 30px;display:grid;gap:4px}

@media (min-width:760px){
  body{padding-bottom:0}
  .dock{display:none}
  .actions{padding:18px}
  .rail img,.shot{width:440px}
  .plate{width:400px}
  .foot-qr{display:block}
  .book{padding:28px}
  .hero-slogan{font-size:clamp(64px,8vw,110px)}
}
@media (max-width:380px){
  .action{font-size:12px}.action i{width:46px;height:46px}
  .visit-grid{grid-template-columns:1fr}
  .btn{padding:0 20px}
}
@media (max-width:560px){.visit-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-slides img.on{transform:none}
  .rv{opacity:1;transform:none}
  .score:not(.in) .stars span{width:auto!important}
}

/* ---------- Ementa digital (ementa.html) ---------- */
.menu-open{margin-top:18px}
.em-body{background:var(--bg)}
.em-head{position:sticky;top:0;z-index:30;background:rgba(var(--bg-rgb),.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding-top:env(safe-area-inset-top,0px)}
.em-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 8px;max-width:760px;margin:0 auto}
.em-back{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0;min-height:44px}
.em-back img{width:40px;height:40px;border-radius:50%;flex:none;box-shadow:0 0 0 2px rgba(var(--red-glow),.6)}
.em-back b{display:block;font:var(--d-st) var(--d-w) 21px/1 var(--display);text-transform:var(--d-tt);letter-spacing:.05em}
.em-back small{display:block;font-size:13px;color:var(--muted)}
.em-search{display:flex;align-items:center;gap:8px;margin:0 auto 8px;max-width:732px;width:calc(100% - 28px);background:rgba(var(--fg-rgb),.05);border:1px solid var(--line2);border-radius:14px;padding:0 12px}
.em-search svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;flex:none}
.em-search input{flex:1;min-width:0;min-height:46px;border:0;background:transparent;font-size:16px;outline:none;color:var(--txt)}
.em-search input::placeholder{color:var(--muted)}
.em-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 14px 10px;max-width:760px;margin:0 auto}
.em-tabs::-webkit-scrollbar{display:none}
.em-tabs a{flex:none;min-height:40px;display:flex;align-items:center;padding:0 15px;border-radius:999px;border:1px solid var(--line2);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;transition:.25s}
.em-tabs a.on{background:var(--red);border-color:var(--red);color:var(--on-accent)}
.em-main{position:relative;max-width:760px;margin:0 auto;padding:22px 14px 20px}
.em-intro{text-align:center;padding:10px 0 18px}
.em-intro .kicker{justify-content:center}
.em-cat{scroll-margin-top:160px;margin-bottom:26px}
.em-cat h2{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px;padding:0 4px;font:var(--d-st) var(--d-w) 32px/1 var(--display);text-transform:var(--d-tt);letter-spacing:.02em}
.em-cat h2 small{font:500 13px var(--sans);color:var(--muted);white-space:nowrap;letter-spacing:0}
.em-cat ul{list-style:none;margin:0;padding:4px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.em-dish{display:flex;align-items:baseline;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.em-dish:first-child{border-top:0}
.em-dish div{flex:1;min-width:0}
.em-dish b{display:block;font-weight:500;font-size:17px;line-height:1.35}
.em-dish em{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:2px}
.em-price{font-weight:700;font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--amber)}
.em-price small{font-weight:500;color:var(--muted)}
.em-empty{text-align:center;color:var(--muted);padding:30px 0}
.em-foot{text-align:center;color:var(--muted);font-size:14px;line-height:1.6;margin:8px 0 0}
@media (min-width:760px){.em-dock{display:grid!important;left:50%;right:auto;width:520px;transform:translateX(-50%)}.em-body{padding-bottom:90px}}
.hero-slogan .w:only-child>span{color:#fff}

/* =================== Motivos animados do topo (por tema) =================== */
/* ondas (marisqueira) */
.m-waves{position:absolute;left:0;right:0;bottom:-2px;height:42%;}
.m-waves svg{position:absolute;left:0;bottom:0;width:200%;height:100%;animation:wave 14s linear infinite}
.m-waves svg:nth-child(2){animation-duration:22s;animation-direction:reverse;opacity:.6;bottom:6%}
.m-waves svg:nth-child(3){animation-duration:30s;opacity:.35;bottom:12%}
.m-waves path{fill:var(--red)}
.m-waves svg:nth-child(1) path{fill:rgba(var(--hero),.9)}
.m-waves svg:nth-child(2) path{fill:rgba(var(--red-glow),.28)}
.m-waves svg:nth-child(3) path{fill:rgba(var(--amber-glow),.22)}
@keyframes wave{to{transform:translateX(-50%)}}
.m-shimmer{position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 38%,rgba(var(--amber-glow),.22),transparent 70%);animation:pulse 6s ease-in-out infinite}
/* brasas (churrasqueira) */
.m-embers{position:absolute;inset:0;width:100%;height:100%}
.m-heat{position:absolute;left:-10%;right:-10%;bottom:-10%;height:55%;background:radial-gradient(60% 70% at 50% 100%,rgba(var(--red-glow),.55),rgba(var(--amber-glow),.12) 45%,transparent 70%);animation:flick 3.2s ease-in-out infinite;mix-blend-mode:screen}
@keyframes flick{0%,100%{opacity:.8;transform:scaleY(1)}40%{opacity:1;transform:scaleY(1.06)}70%{opacity:.7;transform:scaleY(.97)}}
/* auréola (italiano, bistrô) */
.m-halo{position:absolute;left:50%;top:38%;width:min(150vw,1100px);aspect-ratio:1;transform:translate(-50%,-50%)}
.m-halo i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(var(--red-glow),.45);animation:spin 60s linear infinite}
.m-halo i:nth-child(2){inset:9%;border-style:dashed;border-color:rgba(var(--amber-glow),.45);animation-duration:80s;animation-direction:reverse}
.m-halo i:nth-child(3){inset:19%;border-color:rgba(255,255,255,.18);animation-duration:40s}
.m-halo i:nth-child(4){inset:30%;border:0;background:radial-gradient(circle,rgba(var(--red-glow),.28),transparent 65%);animation:pulse 5s ease-in-out infinite}
/* pôr do sol (praia) */
.m-sun{position:absolute;left:50%;top:36%;width:min(92vw,620px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(180deg,#ffd166,#ff8a3d 50%,#ff4f6d);opacity:.5;mix-blend-mode:screen;animation:sunrise 2.4s var(--ease) both}
.m-sun::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(180deg,transparent 55%,rgba(var(--hero),.95) 55% 57.5%,transparent 57.5% 64%,rgba(var(--hero),.95) 64% 67.5%,transparent 67.5% 73%,rgba(var(--hero),.95) 73% 78%,transparent 78% 83%,rgba(var(--hero),.95) 83%)}
@keyframes sunrise{from{transform:translate(-50%,-20%);opacity:0}to{transform:translate(-50%,-50%);opacity:.5}}
/* azulejo (tasca) */
.m-azulejo{position:absolute;inset:-60px;opacity:.16;mix-blend-mode:screen;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.6'%3E%3Crect x='1' y='1' width='78' height='78'/%3E%3Cpath d='M40 6c8 14 8 20 0 34-8-14-8-20 0-34zM40 74c-8-14-8-20 0-34 8 14 8 20 0 34zM6 40c14-8 20-8 34 0-14 8-20 8-34 0zM74 40c-14 8-20 8-34 0 14-8 20-8 34 0z'/%3E%3Ccircle cx='40' cy='40' r='5'/%3E%3Cpath d='M1 17A16 16 0 0 0 17 1M63 1a16 16 0 0 0 16 16M1 63a16 16 0 0 1 16 16M79 63a16 16 0 0 0-16 16'/%3E%3C/g%3E%3C/svg%3E") 0 0/80px 80px;animation:drift 40s linear infinite;-webkit-mask:radial-gradient(70% 60% at 50% 40%,#000,transparent);mask:radial-gradient(70% 60% at 50% 40%,#000,transparent)}
@keyframes drift{to{background-position:80px 80px}}
/* bokeh (café) */
.m-bokeh i{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(var(--amber-glow),.55),transparent 70%);animation:float 12s ease-in-out infinite;mix-blend-mode:screen}
@keyframes float{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.5}50%{transform:translate3d(10px,-40px,0) scale(1.15);opacity:.95}}

/* temas claros: sombras suaves em vez de linhas */
[data-light] .card,[data-light] .cat,[data-light] .book,[data-light] .actions,[data-light] .review,[data-light] .em-cat ul,[data-light] .soc{box-shadow:0 10px 30px rgba(var(--hero),.09);border-color:rgba(var(--hero),.06)}
[data-light] .ticker.alt{background:var(--card)}
[data-light] .menu{background:var(--bg2)}
[data-light] .chips{background:linear-gradient(var(--bg2) 75%,transparent)}
[data-light] .score b{text-shadow:none}
/* letras de títulos sem maiúsculas: um pouco mais de entrelinha */
[data-serif] .hero-slogan{line-height:1.02;letter-spacing:-.01em}
[data-serif] .h2{letter-spacing:-.01em}
[data-serif] .hero-slogan .w{padding-bottom:.08em}

/* Tema latino: palavras em espanhol nos títulos (sem letra japonesa) */
[data-tema=latino] .kicker .jp{font-family:var(--display);font-weight:var(--d-w);letter-spacing:.22em}


/* =====================================================================
   Logos de marca, secção "Encontre-nos online", barra de progresso
   ===================================================================== */
.blogo{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;flex:none;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.blogo svg{width:100%;height:100%;display:block}
.blogo svg.gmark{width:60%;height:60%}
.blogo.sm{width:30px;height:30px;border-radius:9px;box-shadow:none}
.soc .blogo.sm{margin-right:0}
.foot-social a.fb{padding:0;overflow:hidden;background:none;border:0;width:48px;height:48px}
.foot-social .blogo{width:100%;height:100%;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.brands{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
.brand{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;min-height:76px;padding:12px 16px 12px 12px;background:var(--card);border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--txt);box-shadow:var(--soft-shadow,none);transition:opacity .9s var(--ease),transform .9s var(--ease),border-color .25s}
.brand.rv{transition-delay:calc(var(--i,0) * .09s)}
.brand:active{transform:scale(.98)}
.brand:hover,.brand:focus-visible{border-color:rgba(var(--amber-glow),.6)}
.brand::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.13) 50%,transparent 62%);transform:translateX(-130%);animation:shine 6.5s calc(var(--i,0) * .8s) ease-in-out infinite}
.brand .blogo{animation:bob 5.5s calc(var(--i,0) * -.9s) ease-in-out infinite}
.brand .bt{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.brand .bt b{font-size:17px;font-weight:700;letter-spacing:.01em}
.brand .bt small{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand .go{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(var(--amber-glow),.14);color:var(--amber);flex:none;transition:transform .3s var(--ease)}
.brand .go svg{width:16px;height:16px}
.brand:hover .go{transform:translate(2px,-2px)}
#redes .sub{max-width:34ch;margin:10px auto 0;text-align:center}
@media(min-width:620px){.brands{grid-template-columns:1fr 1fr}}

.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:70;pointer-events:none}
.progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--red),var(--amber));box-shadow:0 0 12px rgba(var(--red-glow),.8)}

/* Zigue-zague em movimento (tema latino) */
.zz{display:none}
[data-tema=latino] .zz,[data-tema=nimichi] .zz{display:block;height:26px;margin:46px 0 0;background:linear-gradient(90deg,var(--red),var(--amber),var(--red));background-size:200% 100%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='26'%3E%3Cpath d='M0 19 7 7l7 12 7-12 7 12 7-12 7 12 7-12 7 12' fill='none' stroke='%23000' stroke-width='3.6' stroke-linejoin='miter'/%3E%3C/svg%3E") 0 50%/56px 26px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='26'%3E%3Cpath d='M0 19 7 7l7 12 7-12 7 12 7-12 7 12 7-12 7 12' fill='none' stroke='%23000' stroke-width='3.6' stroke-linejoin='miter'/%3E%3C/svg%3E") 0 50%/56px 26px repeat-x;animation:zzmove 7s linear infinite}
[data-tema=latino] .zz.alt,[data-tema=nimichi] .zz.alt{margin:64px 0 0;animation-direction:reverse}
@keyframes zzmove{from{-webkit-mask-position:0 50%;mask-position:0 50%;background-position:0 0}to{-webkit-mask-position:56px 50%;mask-position:56px 50%;background-position:200% 0}}

/* Papel picado a balançar + luzes (motivo "fiesta") */
.m-pp{position:absolute;left:0;right:0;top:56px;height:150px;pointer-events:none}
.m-pp svg{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 8px rgba(0,0,0,.5))}
.m-pp .fl{animation:sway 4.4s ease-in-out infinite;transform-box:view-box}
@keyframes sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
[data-tema=latino] .m-bokeh i{animation-duration:9s}

/* Pratos: anéis a rodar à volta do medalhão */
.plate .ring{position:absolute;width:90%;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(var(--amber-glow),.6);animation:spin 24s linear infinite;pointer-events:none}
.plate .ring.r2{width:98%;border:1px solid rgba(var(--red-glow),.45);border-top-color:transparent;border-bottom-color:transparent;animation-duration:36s;animation-direction:reverse}

/* Hero (latino): palavra decorativa menos intrusiva */
[data-tema=latino] .hero-jp{font-size:clamp(14px,3.4vw,22px);letter-spacing:.5em;color:rgba(255,255,255,.2)}
[data-tema=latino] .hero-jp.l{font-size:clamp(12px,3vw,17px);letter-spacing:.55em}

/* Alvos de toque ≥44 px nos links de texto */
.fine a{display:inline-block;padding:13px 6px;margin:-13px -2px}
.foot-links a{display:inline-block;padding:14px 8px}

/* ===== Ni Michi · identidade real (creme, verde, terracota, folhas em aguarela) ===== */
.leaf{display:none}
[data-tema=nimichi] .leaf{display:block;position:absolute;left:-18%;width:136%;height:auto;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;will-change:transform}
@media (min-width:760px){[data-tema=nimichi] .leaf{left:0;width:100%}}
[data-tema=nimichi] .leaf-t{top:0;aspect-ratio:1500/322;background-image:url(assets/img/leaf-top.webp);background-position:top center;transform-origin:50% 0;animation:swayA 11s ease-in-out infinite alternate;z-index:1;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
[data-tema=nimichi] .leaf-b{bottom:0;aspect-ratio:1500/301;background-image:url(assets/img/leaf-bot.webp);background-position:bottom center;transform-origin:50% 100%;animation:swayB 13s ease-in-out infinite alternate;z-index:1;-webkit-mask-image:linear-gradient(transparent,#000 30%);mask-image:linear-gradient(transparent,#000 30%)}
@keyframes swayA{from{transform:rotate(-.9deg) translateY(-2px)}to{transform:rotate(.9deg) translateY(3px)}}
@keyframes swayB{from{transform:rotate(.8deg)}to{transform:rotate(-.8deg) translateY(-3px)}}
[data-tema=nimichi] .hero{padding-top:112px;background:#1c3025}
[data-tema=nimichi] .hero::before{background:radial-gradient(120% 70% at 50% 45%,rgba(var(--hero),.35),rgba(var(--hero),.82) 75%),linear-gradient(180deg,rgba(var(--hero),.55),transparent 30%,rgba(var(--hero),.75))}
[data-tema=nimichi] .hero-logo-w{width:clamp(210px,62vw,330px);aspect-ratio:1}
[data-tema=nimichi] .hero-logo-w::after{display:none}
[data-tema=nimichi] .hero-logo-w::before{background:radial-gradient(circle,rgba(244,242,236,.35),transparent 66%)}
[data-tema=nimichi] .hero-logo{border-radius:22%;box-shadow:0 26px 70px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.35)}
[data-tema=nimichi] .hero-slogan{font-size:calc(clamp(34px,10vw,70px) * var(--hs) * 1.25);letter-spacing:-.01em;line-height:1.04}
[data-tema=nimichi] .hero-slogan .w:last-child>span{color:#f2c7ba}
[data-tema=nimichi] .hero-place{color:#f2c7ba}
[data-tema=nimichi] .hero-jp,[data-tema=nimichi] .hero-dots{display:none}
[data-tema=nimichi] .btn-glass{background:rgba(244,242,236,.14);border-color:rgba(244,242,236,.55)}
[data-tema=nimichi] .topbar-brand img{border-radius:9px}
[data-tema=nimichi] .menu{position:relative;overflow:hidden;padding-top:clamp(100px,30vw,230px)}
[data-tema=nimichi] .leaf-m{top:0;aspect-ratio:1500/322;background-image:url(assets/img/leaf-top.webp);background-position:top center;transform-origin:50% 0;animation:swayA 12s ease-in-out infinite alternate;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
[data-tema=nimichi] .foot{padding-top:clamp(100px,28vw,210px);color:#e8e2d3}
[data-tema=nimichi] .leaf-f{top:0;aspect-ratio:1500/322;background-image:url(assets/img/leaf-top.webp);background-position:top center;transform:rotate(180deg) scaleX(-1);opacity:.28;filter:grayscale(.2) brightness(1.6)}
[data-tema=nimichi] .foot-big{-webkit-text-stroke-color:rgba(244,242,236,.35)}
[data-tema=nimichi] .foot-logo{border-radius:18%}
[data-tema=nimichi] .zz{background:linear-gradient(90deg,var(--red),#c58a79,var(--red));background-size:200% 100%}
.dish-desc{display:block;margin:4px 0 0;font:400 14px/1.45 var(--sans);color:var(--muted)}
.em-dish .dish-desc{margin-top:3px}
.bdg{display:inline-flex;gap:3px;margin-left:8px;vertical-align:2px}
.bdg i{font-style:normal;font-size:12px;line-height:1;padding:3px 7px;border-radius:999px;background:rgba(var(--fg-rgb),.07);border:1px solid var(--line2)}
.bdg-veg{color:#2f7a4b}
.al{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0}
.al i{font:600 11px/1 var(--sans);font-style:normal;letter-spacing:.03em;padding:4px 8px;border-radius:999px;background:rgba(var(--fg-rgb),.06);border:1px solid var(--line2);color:var(--muted)}
@media (prefers-reduced-motion:reduce){[data-tema=nimichi] .leaf{animation:none!important}}
.cat-note{margin:0;padding:10px 16px 2px;font:500 13.5px/1.5 var(--sans);color:var(--muted)}
.em-cat .cat-note{padding:0 0 10px}
.dish-price.dual,.em-price.dual{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.dual>span{display:inline-flex;align-items:baseline;gap:7px}
.dual small{font:700 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:1}
[data-tema=nimichi] .menu::before{display:none}
.dish-name b{display:inline}
.dish-name .bdg{margin-left:8px}
.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:12px 0 4px;font:500 12.5px/1.4 var(--sans);color:var(--muted)}
.legend i{font-style:normal}.legend em{width:100%;font-style:normal;opacity:.8}
.dual>span{font-size:15px}
[data-tema=nimichi] .leaf-f{-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.em-dish b{display:inline}

/* ===== Ni Michi 2.0 · movimento premium ===== */
.corner,.logo-sheen{display:none}
[data-tema=nimichi] .m-leaves{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
[data-tema=nimichi] .m-sunrays{position:absolute;inset:-10% -20% auto;height:90%;pointer-events:none;mix-blend-mode:soft-light}
[data-tema=nimichi] .m-sunrays i{position:absolute;top:-20%;left:50%;width:22%;height:140%;background:linear-gradient(180deg,rgba(255,236,200,.55),transparent 75%);transform-origin:50% 0;filter:blur(14px);animation:ray 9s ease-in-out infinite alternate}
[data-tema=nimichi] .m-sunrays i:nth-child(1){transform:rotate(-28deg);left:22%}
[data-tema=nimichi] .m-sunrays i:nth-child(2){transform:rotate(-8deg);left:46%;animation-delay:-3s;width:14%}
[data-tema=nimichi] .m-sunrays i:nth-child(3){transform:rotate(16deg);left:66%;animation-delay:-6s}
@keyframes ray{from{opacity:.25}to{opacity:.85}}
[data-tema=nimichi] .m-glow i{background:radial-gradient(circle,rgba(244,210,170,.30),transparent 68%)}
[data-tema=nimichi] .hero-logo-w{overflow:visible;animation:logoIn 1.4s .1s cubic-bezier(.2,.9,.2,1.05) both}
@keyframes logoIn{0%{opacity:0;transform:translateY(26px) scale(.82) rotate(-4deg);filter:blur(10px)}60%{opacity:1;filter:blur(0)}100%{transform:none}}
[data-tema=nimichi] .logo-sheen{display:block;position:absolute;inset:0;z-index:2;border-radius:22%;overflow:hidden;pointer-events:none}
[data-tema=nimichi] .logo-sheen::after{content:"";position:absolute;top:-20%;bottom:-20%;width:38%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-14deg);animation:sheen 5.5s 1.6s ease-in-out infinite}
@keyframes sheen{0%{left:-60%}35%,100%{left:130%}}
[data-tema=nimichi] .hero-logo{animation:floaty 6s 1.6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
[data-tema=nimichi] .sec{padding-top:max(var(--sec-pt,0px),96px)}
[data-tema=nimichi] .sec,[data-tema=nimichi] #reservas,[data-tema=nimichi] #redes,[data-tema=nimichi] #visitar,[data-tema=nimichi] #avaliacoes{position:relative;overflow:clip}
[data-tema=nimichi] .corner{display:block;position:absolute;top:-10px;width:min(62vw,380px);aspect-ratio:900/716;background-size:100% 100%;pointer-events:none;z-index:0;opacity:.9;will-change:translate}
[data-tema=nimichi] .corner-tl{left:-8px;background-image:url(assets/img/leaf-tl.webp);-webkit-mask-image:radial-gradient(115% 115% at 0 0,#000 45%,transparent 72%);mask-image:radial-gradient(115% 115% at 0 0,#000 45%,transparent 72%);transform-origin:0 0;animation:swayC 10s ease-in-out infinite alternate}
[data-tema=nimichi] .corner-tr{right:-8px;background-image:url(assets/img/leaf-tr.webp);-webkit-mask-image:radial-gradient(115% 115% at 100% 0,#000 45%,transparent 72%);mask-image:radial-gradient(115% 115% at 100% 0,#000 45%,transparent 72%);transform-origin:100% 0;animation:swayC 12s ease-in-out infinite alternate-reverse}
@keyframes swayC{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
[data-tema=nimichi] .sec>*:not(.corner),[data-tema=nimichi] #reservas>*:not(.corner),[data-tema=nimichi] #redes>*:not(.corner),[data-tema=nimichi] #visitar>*:not(.corner),[data-tema=nimichi] #avaliacoes>*:not(.corner){position:relative;z-index:1}
[data-tema=nimichi] .cat{position:relative;overflow:hidden}
[data-tema=nimichi] .cat::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);background-size:250% 100%;background-position:120% 0;transition:background-position 1.1s ease}
[data-tema=nimichi] .cat.in::after,[data-tema=nimichi] .cat[open]::after{background-position:-120% 0}
[data-tema=nimichi] .cat > summary .kn{transition:transform .5s var(--ease)}
[data-tema=nimichi] .cat[open] > summary .kn{transform:rotate(-8deg) scale(1.08)}
[data-tema=nimichi] .btn-gold{background:linear-gradient(135deg,#b97561,#a76754 55%,#8f5444);box-shadow:0 12px 30px rgba(167,103,84,.45)}
[data-tema=nimichi] .hero-slogan .w:last-child>span{background:linear-gradient(90deg,#f2c7ba,#f7e3d8,#e7a995,#f2c7ba);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise 1s var(--ease) both,grad 6s 2s linear infinite;animation-delay:calc(.7s + var(--i) * .09s),2s}
@keyframes grad{to{background-position:-250% 0}}
@media (prefers-reduced-motion:reduce){[data-tema=nimichi] .corner,[data-tema=nimichi] .hero-logo,[data-tema=nimichi] .logo-sheen::after,[data-tema=nimichi] .m-sunrays i{animation:none!important}}

/* ---------- Fotos das sobremesas ---------- */
.dish.has-ph,.em-dish.has-ph{align-items:center;gap:14px;padding:14px 0}
.dish-ph{flex:0 0 auto;width:88px;height:88px;padding:0;border:0;background:radial-gradient(closest-side,rgba(167,103,84,.16),rgba(167,103,84,0) 72%);border-radius:50%;cursor:zoom-in;display:grid;place-items:center;-webkit-tap-highlight-color:transparent;transition:transform .35s var(--ease,ease)}
.dish-ph img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(36,59,47,.28));transition:transform .5s var(--ease,ease)}
.dish-ph:active{transform:scale(.94)}
.dish-ph:hover img{transform:scale(1.1) rotate(-3deg)}
.cat[open] .dish.has-ph .dish-ph img{animation:phIn .7s var(--ease,ease) both}
@keyframes phIn{from{opacity:0;transform:scale(.6) translateY(10px) rotate(-8deg)}to{opacity:1;transform:none}}
.ph-lb{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:rgba(27,46,35,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s;cursor:zoom-out}
.ph-lb.on{opacity:1}
.ph-lb img{max-width:min(92vw,640px);max-height:68vh;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.5));transform:scale(.88);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ph-lb.on img{transform:none}
.ph-lb p{margin:0;color:#f4f2ec;font:600 18px/1.3 var(--serif,Fraunces,serif);text-align:center;max-width:88vw}
.ph-lb button{position:absolute;top:max(14px,env(safe-area-inset-top));right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font-size:26px;line-height:1}
@media (prefers-reduced-motion:reduce){.cat[open] .dish.has-ph .dish-ph img{animation:none}.dish-ph:hover img{transform:none}}
/* Dock em ecrãs estreitos (≤380 px): nada sai do ecrã */
@media (max-width:380px){.dock{left:8px;right:8px;gap:2px;padding:5px}.dock a{padding:0 9px;font-size:13px;gap:5px}.dock a svg{width:18px;height:18px}.dock a.main{min-width:0;overflow:hidden;text-overflow:ellipsis}}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
