/* =====================================================================
   Omakase Braga · Design System v2 "Washi"
   Papel, tinta sumi e um único vermelho de carimbo (hanko).
   ===================================================================== */

/* ---------- Fontes (alojadas no próprio servidor) ---------- */
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-400.woff2) format('woff2')}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/mincho-600.woff2) format('woff2')}
@font-face{font-family:'Zen Kaku Gothic New';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/gothic-400.woff2) format('woff2')}
@font-face{font-family:'Zen Kaku Gothic New';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/gothic-500.woff2) format('woff2')}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-0.woff2) format('woff2');unicode-range:U+516D}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-1.woff2) format('woff2');unicode-range:U+4E94}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-2.woff2) format('woff2');unicode-range:U+4EFB,U+56DB,U+5370}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-3.woff2) format('woff2');unicode-range:U+4E8C}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-4.woff2) format('woff2');unicode-range:U+4E09}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-5.woff2) format('woff2');unicode-range:U+4E88}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-6.woff2) format('woff2');unicode-range:U+4E00}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mincho-jp-7.woff2) format('woff2');unicode-range:U+304A,U+305B}


/* ---------- Tokens ---------- */
:root{
  /* cor */
  --w-paper:#F3EEE5;      /* fundo base: papel washi */
  --w-paper-2:#EAE3D7;    /* fundo alternado */
  --w-paper-3:#F8F5EF;    /* folha sobre papel */
  --w-ink:#1A1714;        /* tinta sumi: texto e ações */
  --w-ink-2:#4A3F35;      /* texto corrido */
  --w-ink-3:#6B5A48;      /* legendas e metadados (6:1 sobre papel) */
  --w-line:#D9CFBF;       /* filetes */
  --w-line-2:#C9B9A3;     /* moldura shoji */
  --w-dot:#B5A58F;        /* pontilhado de ementa */
  --w-hanko:#9B1B15;      /* vermelho de carimbo: um uso por ecrã */
  --w-on-hanko:#F3EEE5;
  /* tipografia */
  --w-serif:'Zen Old Mincho','Hiragino Mincho ProN','Yu Mincho',Georgia,serif;
  --w-sans:'Zen Kaku Gothic New','Hiragino Sans',system-ui,sans-serif;
  --w-t-display:clamp(2.35rem,1.35rem + 3.1vw,3.65rem);
  --w-t-h2:clamp(1.9rem,1.25rem + 2vw,3.25rem);
  --w-t-h3:clamp(1.45rem,1.15rem + .9vw,1.9rem);
  --w-t-h4:1.25rem;
  --w-t-body:1.0625rem;
  --w-t-small:.9375rem;
  --w-t-label:.8125rem;
  --w-track-label:.2em;
  /* espaço: ma */
  --w-gutter:clamp(1.25rem,.4rem + 5.4vw,7rem);
  --w-max:76rem;
  --w-section:clamp(5.5rem,3.5rem + 7vw,12.5rem);
  --w-block:clamp(2.5rem,1.8rem + 2.4vw,4.5rem);
  --w-s1:.5rem;--w-s2:.75rem;--w-s3:1rem;--w-s4:1.5rem;--w-s5:2rem;--w-s6:2.5rem;--w-s7:3.5rem;
  /* forma */
  --w-radius:0;           /* superfícies, fotografias e cartões: cantos retos */
  --w-leaf:1rem;          /* canto "folha": arredonda só em cima à esquerda e em baixo à direita */
  --w-leaf-sm:.75rem;     /* folha para elementos pequenos (≤ 2.75rem) */
  --w-hair:1px;
  --w-ctrl:3.25rem;       /* altura de botão (52px) */
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
*{min-width:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--w-paper);color:var(--w-ink);font-family:var(--w-sans);
  font-size:var(--w-t-body);line-height:1.85;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--w-serif);font-weight:400;margin:0;line-height:1.25;letter-spacing:.005em;text-wrap:balance}
p{margin:0}
a{color:inherit;text-decoration:none}
a:hover{color:var(--w-hanko)}
:focus-visible{outline:2px solid var(--w-hanko);outline-offset:3px}
.w-skip{position:absolute;left:-9999px;top:0}
.w-skip:focus{left:var(--w-gutter);top:var(--w-s3);z-index:50;background:var(--w-ink);color:var(--w-paper);padding:var(--w-s2) var(--w-s4)}

/* ---------- Layout ---------- */
.w-wrap{width:100%;max-width:calc(var(--w-max) + 2 * var(--w-gutter));margin-inline:auto;padding-inline:var(--w-gutter)}
.w-section{padding-block:var(--w-section)}
.w-section--alt{background:var(--w-paper-2)}
.w-section--tight{padding-block:calc(var(--w-section) * .6)}
.w-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,1.5rem)}
@media (max-width:56rem){ .w-grid{grid-template-columns:1fr;row-gap:var(--w-s6)} .w-grid>*{grid-column:1/-1!important} }

/* ---------- Tipografia utilitária ---------- */
.w-label{font-family:var(--w-sans);font-size:var(--w-t-label);letter-spacing:var(--w-track-label);
  text-transform:uppercase;color:var(--w-ink-3);font-weight:500;line-height:1.5}
.w-label--hanko{color:var(--w-hanko)}
.w-display{font-size:var(--w-t-display);line-height:1.2}
.w-h2{font-size:var(--w-t-h2)}
.w-h3{font-size:var(--w-t-h3)}
.w-lede{font-size:clamp(1.0625rem,1rem + .2vw,1.1875rem);line-height:1.9;color:var(--w-ink-2);max-width:34rem}
.w-body{color:var(--w-ink-2);max-width:40rem}
.w-body p+p{margin-top:var(--w-s4)}
.w-small{font-size:var(--w-t-small);color:var(--w-ink-3);line-height:1.8}
.w-kicker{display:block;font-family:var(--w-sans);font-size:var(--w-t-label);letter-spacing:var(--w-track-label);
  text-transform:uppercase;color:var(--w-ink-3);font-weight:500;line-height:1.5;margin-bottom:var(--w-s4)}
.w-center{text-align:center;margin-inline:auto}

/* ---------- Selo (hanko) ---------- */
.w-seal{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;flex:none;
  background:var(--w-hanko);color:var(--w-on-hanko);font-family:var(--w-serif);font-size:2.1rem;line-height:1}
.w-seal--sm{width:2.75rem;height:2.75rem;font-size:1.3rem}

/* ---------- Kana vertical ---------- */
.w-tate{writing-mode:vertical-rl;font-family:var(--w-serif);color:var(--w-hanko);
  font-size:clamp(2.75rem,1.6rem + 3.4vw,4.5rem);letter-spacing:.14em;line-height:1;flex:none}
img.w-tate{writing-mode:horizontal-tb;width:clamp(2.6rem,1.5rem + 3.1vw,4.1rem);height:auto;align-self:flex-start;margin-top:.35rem}

/* ---------- Botões ---------- */
.w-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--w-s2);min-height:var(--w-ctrl);
  padding:0 1.9rem;font-family:var(--w-sans);font-size:.875rem;letter-spacing:.1em;font-weight:500;
  border:1px solid var(--w-ink);background:var(--w-ink);color:var(--w-paper);cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease;text-align:center;line-height:1.3}
.w-btn:hover{background:var(--w-hanko);border-color:var(--w-hanko);color:var(--w-on-hanko)}
.w-btn--line{background:transparent;color:var(--w-ink)}
.w-btn--line:hover{background:var(--w-ink);border-color:var(--w-ink);color:var(--w-paper)}
.w-btns{display:flex;flex-wrap:wrap;gap:var(--w-s3)}
.w-link{display:inline-flex;align-items:center;gap:.5em;font-size:.875rem;letter-spacing:.1em;font-weight:500;
  padding-bottom:.25rem;border-bottom:1px solid currentColor}

/* ---------- Cabeçalho ---------- */
.w-head{border-bottom:1px solid var(--w-line);background:var(--w-paper);position:relative;z-index:20}
.w-head__in{display:flex;align-items:center;justify-content:space-between;gap:var(--w-s5);min-height:clamp(4.5rem,3.9rem + 1.8vw,7rem)}
.w-head__logo img{height:clamp(26px,1.4rem + .5vw,32px);width:auto}
.w-nav{display:flex;gap:clamp(1.25rem,.5rem + 2vw,2.5rem);font-size:.875rem;letter-spacing:.06em}
.w-nav a{padding-block:.5rem;border-bottom:1px solid transparent}
.w-nav a[aria-current="page"]{border-bottom-color:var(--w-hanko)}
.w-book{display:inline-flex;align-items:center;gap:var(--w-s2);font-size:.875rem;letter-spacing:.06em;font-weight:500}
.w-book:hover .w-seal{background:var(--w-ink)}
.w-burger{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--w-line-2);background:none;color:var(--w-ink);
  align-items:center;justify-content:center;cursor:pointer;padding:0}
.w-burger span,.w-burger span::before,.w-burger span::after{display:block;width:18px;height:1px;background:currentColor;position:relative}
.w-burger span::before,.w-burger span::after{content:"";position:absolute;left:0}
.w-burger span::before{top:-6px}.w-burger span::after{top:6px}
.w-head__end{display:flex;align-items:center;gap:var(--w-s3)}
@media (max-width:60rem){
  .w-nav{display:none}
  .w-burger{display:inline-flex}
  .w-book__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
.w-drawer{position:fixed;inset:0;top:0;z-index:40;background:var(--w-paper);padding:var(--w-s4) var(--w-gutter) var(--w-s6);
  display:flex;flex-direction:column;overflow:auto}
.w-drawer__top{display:flex;justify-content:space-between;align-items:center;min-height:4.5rem;border-bottom:1px solid var(--w-line)}
.w-drawer nav{display:flex;flex-direction:column;margin-top:var(--w-s4)}
.w-drawer nav a{font-family:var(--w-serif);font-size:1.6rem;padding-block:var(--w-s3);border-bottom:1px solid var(--w-line)}
.w-drawer .w-btn{margin-top:var(--w-s6)}
@media (min-width:60.0625rem){ .w-drawer{display:none!important} }

/* ---------- Moldura shoji (foto com filete desencontrado) ---------- */
.w-frame{position:relative;padding:clamp(.75rem,1.5vw,1.25rem) 0 0 clamp(.75rem,1.5vw,1.25rem)}
.w-frame::before{content:"";position:absolute;top:0;left:0;right:clamp(.75rem,1.5vw,1.25rem);bottom:clamp(2.5rem,3vw,3.5rem);
  border:1px solid var(--w-line-2);pointer-events:none}
.w-frame img{position:relative;width:100%;object-fit:cover}
.w-frame figcaption{position:relative;margin-top:var(--w-s3);font-size:var(--w-t-label);letter-spacing:.08em;color:var(--w-ink-3);text-align:right}

/* ---------- Hero da home ---------- */
.w-hero{padding-block:clamp(3rem,1.5rem + 4vw,6rem) clamp(4rem,2rem + 5vw,7.5rem)}
.w-hero__txt{grid-column:1/span 6;display:flex;flex-direction:column;justify-content:space-between;gap:var(--w-s6);padding-top:var(--w-s4)}
.w-hero__lead{display:flex;gap:clamp(1.25rem,.5rem + 2vw,2.5rem)}
.w-hero__lead>div{display:flex;flex-direction:column;gap:var(--w-s5);padding-top:.5rem}
.w-hero__media{grid-column:7/span 6}
.w-hero__media img{height:clamp(24rem,14rem + 26vw,44rem)}
.w-hero__cta{padding-left:calc(clamp(2.75rem,1.6rem + 3.4vw,4.5rem) + clamp(1.25rem,.5rem + 2vw,2.5rem))}
@media (max-width:56rem){ .w-hero__cta{padding-left:0} .w-hero__media img{height:clamp(18rem,60vw,28rem)} }

/* ---------- Pontilhado de ementa (horários, factos) ---------- */
.w-dots{display:flex;gap:var(--w-s2);align-items:baseline;font-size:var(--w-t-small)}
.w-dots::after{content:"";order:1;flex:1 1 auto;border-bottom:1px dotted var(--w-dot);min-width:1.5rem;transform:translateY(-.3em)}
.w-dots>:last-child{order:2;color:var(--w-ink-2);text-align:right}
.w-strip{border-block:1px solid var(--w-line);padding-block:var(--w-s6);display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--w-s3) clamp(2rem,4vw,4rem)}

/* ---------- Filosofia ---------- */
.w-creed{display:flex;flex-direction:column;align-items:center;gap:var(--w-s6);text-align:center}
.w-creed .w-body{max-width:40rem;margin-inline:auto;line-height:2}

/* ---------- Omakase Experience ---------- */
.w-exp__img{grid-column:1/span 6}
.w-exp__img img{width:100%;height:clamp(22rem,12rem + 30vw,52rem);object-fit:cover}
.w-exp__txt{grid-column:8/span 5;display:flex;flex-direction:column;gap:var(--w-s5);padding-top:var(--w-s6)}
.w-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--w-s2) var(--w-s3);padding-bottom:var(--w-s5);border-bottom:1px solid var(--w-line)}
.w-price strong{font-family:var(--w-serif);font-weight:400;font-size:clamp(2rem,1.6rem + 1vw,2.5rem);line-height:1}
.w-price span{font-size:var(--w-t-small);color:var(--w-ink-3)}
.w-seq{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--w-s3)}
.w-seq li{display:flex;gap:var(--w-s4);align-items:baseline}
.w-seq b{font-family:var(--w-serif);font-weight:400;color:var(--w-hanko);width:1.75rem;flex:none}

/* ---------- Cartões do 2.º andar ---------- */
.w-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:clamp(1.5rem,3vw,3rem)}
.w-card{background:var(--w-paper-3);padding:clamp(.9rem,1.4vw,1.25rem);display:flex;flex-direction:column;gap:var(--w-s5);transition:background .25s ease}
.w-card:hover{color:inherit;background:#FBF9F5}
.w-card img{width:100%;height:clamp(16rem,10rem + 16vw,31rem);object-fit:cover}
.w-card__txt{padding:0 var(--w-s2) var(--w-s3);display:flex;flex-direction:column;gap:var(--w-s2)}
.w-card__txt h3{font-size:clamp(1.5rem,1.2rem + .8vw,1.9rem)}
.w-card__txt p{font-size:var(--w-t-small);color:var(--w-ink-2);line-height:1.8}
.w-card__more{margin-top:var(--w-s2);font-size:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--w-ink)}
.w-card:hover .w-card__more{color:var(--w-hanko)}

/* ---------- Cabeçalho de secção ---------- */
.w-sechead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--w-s4) var(--w-s7);margin-bottom:var(--w-block)}
.w-sechead>div{display:flex;flex-direction:column;gap:var(--w-s3)}
.w-sechead>p{max-width:28rem;color:var(--w-ink-2);font-size:var(--w-t-small)}

/* ---------- Mosaico e galeria ---------- */
.w-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(9rem,5rem + 12vw,19rem);gap:clamp(.5rem,1vw,1rem)}
.w-mosaic figure,.w-mosaic>a{display:block;margin:0;overflow:hidden}
.w-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.w-mosaic a:hover img{transform:scale(1.025)}
.w-mosaic .m-a{grid-column:1/span 3;grid-row:span 2}
.w-mosaic .m-b{grid-column:4/span 1}
.w-mosaic .m-c{grid-column:5/span 2;grid-row:span 2}
.w-mosaic .m-d{grid-column:4/span 1}
@media (max-width:40rem){
  .w-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .w-mosaic .m-a{grid-column:1/-1;grid-row:span 2}.w-mosaic .m-b,.w-mosaic .m-d{grid-column:span 1}
  .w-mosaic .m-c{grid-column:1/-1;grid-row:span 2}
}
.w-gal{display:flex;flex-wrap:wrap;gap:clamp(.5rem,1vw,1rem);--gh:clamp(12rem,7rem + 16vw,21rem)}
.w-gal::after{content:"";flex:999 1 0}
.w-gal figure{margin:0;height:var(--gh);flex:1 1 calc(var(--ar,.667) * var(--gh));min-width:8rem}
.w-gal button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.w-gal img{width:100%;height:100%;object-fit:cover}
.w-tabs{display:flex;flex-wrap:wrap;gap:var(--w-s2) var(--w-s5);margin-bottom:var(--w-s6);border-bottom:1px solid var(--w-line)}
.w-tabs button{background:none;border:0;border-bottom:1px solid transparent;margin-bottom:-1px;padding:var(--w-s2) 0;
  font-family:var(--w-sans);font-size:.875rem;letter-spacing:.08em;color:var(--w-ink-3);cursor:pointer;min-height:2.75rem}
.w-tabs button[aria-pressed="true"]{color:var(--w-ink);border-bottom-color:var(--w-hanko)}
.w-lb{position:fixed;inset:0;z-index:60;background:rgba(26,23,20,.94);display:grid;place-items:center;padding:var(--w-s5)}
.w-lb img{max-width:min(94vw,1200px);max-height:84vh;width:auto;height:auto}
.w-lb__x,.w-lb__nav{position:absolute;width:3rem;height:3rem;border:1px solid rgba(243,238,229,.35);background:none;color:var(--w-paper);
  font-size:1.25rem;cursor:pointer;display:grid;place-items:center;font-family:var(--w-sans)}
.w-lb__x{top:var(--w-s4);right:var(--w-s4)}
.w-lb__nav{top:50%;transform:translateY(-50%)}
.w-lb__prev{left:var(--w-s4)}.w-lb__next{right:var(--w-s4)}
.w-lb__cap{position:absolute;bottom:var(--w-s4);left:0;right:0;text-align:center;color:#D9CFBF;font-size:var(--w-t-small);padding-inline:var(--w-s5)}
@media (max-width:44rem){ .w-lb__nav{top:auto;bottom:var(--w-s4);transform:none} .w-lb__prev{left:calc(50% - 3.5rem)} .w-lb__next{right:calc(50% - 3.5rem)} .w-lb__cap{bottom:5rem} }

/* ---------- Lista editorial (outras formas, blocos) ---------- */
.w-rows{border-top:1px solid var(--w-line)}
.w-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) auto;gap:var(--w-s3) clamp(1.5rem,4vw,4rem);
  align-items:baseline;padding-block:var(--w-s5);border-bottom:1px solid var(--w-line)}
.w-row h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem)}
.w-row p{color:var(--w-ink-2);font-size:var(--w-t-small)}
@media (max-width:48rem){ .w-row{grid-template-columns:1fr} }
.w-blocks{border-top:1px solid var(--w-line)}
.w-block{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--w-s3) clamp(1.5rem,4vw,5rem);
  padding-block:var(--w-s6);border-bottom:1px solid var(--w-line)}
.w-block h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem)}
.w-block p{color:var(--w-ink-2)}
@media (max-width:48rem){ .w-block{grid-template-columns:1fr} }

/* ---------- Página interna: cabeçalho ---------- */
.w-phero{padding-block:clamp(3rem,1.5rem + 4vw,6rem) clamp(3.5rem,2rem + 4vw,6rem)}
.w-phero__txt{grid-column:1/span 5;display:flex;flex-direction:column;gap:var(--w-s5);justify-content:center}
.w-phero__media{grid-column:7/span 6}
.w-phero__media img{height:clamp(20rem,12rem + 22vw,40rem)}
.w-crumb{font-size:var(--w-t-label);letter-spacing:.08em;color:var(--w-ink-3)}
.w-crumb a{border-bottom:1px solid var(--w-line-2)}
.w-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--w-s3) clamp(2rem,4vw,4rem)}
.w-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.5rem,1vw,1rem)}
.w-trio img{width:100%;height:clamp(14rem,8rem + 18vw,30rem);object-fit:cover}
@media (max-width:40rem){ .w-trio{grid-template-columns:1fr} }
.w-ask{display:flex;flex-direction:column;align-items:center;gap:var(--w-s5);text-align:center}

/* ---------- Ementa ---------- */
.w-menu-nav{display:flex;flex-wrap:wrap;gap:var(--w-s2) var(--w-s4);padding-block:var(--w-s4);border-block:1px solid var(--w-line);
  font-size:.875rem;letter-spacing:.04em;margin-bottom:var(--w-block)}
.w-menu-nav a{color:var(--w-ink-2);padding-block:.4rem}
.w-note{display:flex;gap:var(--w-s4);align-items:flex-start;padding:var(--w-s4) 0;border-top:1px solid var(--w-line);font-size:var(--w-t-small);color:var(--w-ink-2)}
.w-note strong{color:var(--w-ink);font-weight:500}
.w-cat{padding-top:var(--w-block);scroll-margin-top:var(--w-s5)}
.w-cat h2{font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);margin-bottom:var(--w-s2)}
.w-cat>p{color:var(--w-ink-3);font-size:var(--w-t-small);max-width:44rem;margin-bottom:var(--w-s3)}
.w-dishes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));column-gap:clamp(2rem,5vw,5rem)}
.w-dish{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:var(--w-s4);padding-block:var(--w-s4);border-bottom:1px solid var(--w-line)}
.w-dish img,.w-dish .w-dish__ph{width:4.5rem;height:4.5rem;object-fit:cover}
.w-dish__ph{background:var(--w-paper-2);display:grid;place-items:center;font-family:var(--w-serif);color:var(--w-line-2);font-size:1.4rem}
.w-dish__top{display:flex;flex-wrap:wrap;gap:0 var(--w-s2);align-items:baseline}
.w-dish__top h3{font-family:var(--w-serif);font-size:1.125rem;line-height:1.4;flex:0 1 auto;min-width:0;overflow-wrap:break-word}
.w-dish__top h3 span{font-family:var(--w-sans);font-size:.8125rem;color:var(--w-ink-3);margin-left:.4em}
.w-dish__top::after{content:"";flex:1 1 auto;border-bottom:1px dotted var(--w-dot);min-width:1rem;transform:translateY(-.3em);order:1}
.w-dish__price{order:2;font-family:var(--w-serif);font-size:1.0625rem;text-align:right;white-space:nowrap;display:flex;flex-direction:column;line-height:1.5}
.w-dish__price small{font-family:var(--w-sans);font-size:.8125rem;color:var(--w-ink-3)}
.w-dish p{font-size:.9375rem;color:var(--w-ink-2);line-height:1.7;margin-top:.15rem}
.w-dish__tags{font-size:.8125rem;color:var(--w-ink-3);margin-top:.35rem;letter-spacing:.02em}
.w-dish__tags .veg{color:var(--w-hanko)}

/* ---------- Legal ---------- */
.w-legal{max-width:46rem}
.w-legal h2{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem);margin:var(--w-s6) 0 var(--w-s3)}
.w-legal p,.w-legal li{color:var(--w-ink-2)}
.w-legal p+p{margin-top:var(--w-s3)}
.w-legal ul{padding-left:1.1rem}.w-legal li{margin-bottom:var(--w-s2)}
.w-legal table{width:100%;border-collapse:collapse;font-size:.9rem;margin-block:var(--w-s4)}
.w-legal th,.w-legal td{text-align:left;padding:var(--w-s2) var(--w-s2) var(--w-s2) 0;border-bottom:1px solid var(--w-line);vertical-align:top}
.w-legal th{font-size:var(--w-t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--w-ink-3);font-weight:500}
.w-legal .w-note{margin-top:var(--w-s6)}
@media (max-width:40rem){ .w-legal table,.w-legal tbody,.w-legal tr,.w-legal td{display:block} .w-legal thead{display:none} .w-legal td{border:0;padding:.2rem 0} .w-legal tr{border-bottom:1px solid var(--w-line);padding-block:var(--w-s3)} }

/* ---------- Rodapé ---------- */
.w-foot{border-top:1px solid var(--w-line);padding-block:clamp(3.5rem,2rem + 4vw,6rem) var(--w-s6)}
.w-foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--w-s6)}
.w-foot__logo img{width:clamp(150px,9rem + 3vw,200px);height:auto}
.w-foot__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--w-s5) clamp(1.5rem,3vw,3rem);flex:1 1 40rem;max-width:56rem}
.w-foot__cols div{display:flex;flex-direction:column;font-size:.9rem;line-height:2;color:var(--w-ink-2)}
.w-foot__cols .w-label{margin-bottom:var(--w-s2)}
.w-foot__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--w-s3);margin-top:var(--w-block);padding-top:var(--w-s4);
  border-top:1px solid var(--w-line);font-size:.8125rem;color:var(--w-ink-3)}
.w-foot__base nav{display:flex;gap:var(--w-s4)}

/* ---------- WhatsApp flutuante ---------- */
.w-wa{position:fixed;right:clamp(.75rem,2.5vw,1.75rem);bottom:clamp(.75rem,2.5vw,1.75rem);z-index:30;display:inline-flex;align-items:center;gap:.6rem;
  min-height:3rem;padding:0 1.1rem;background:var(--w-ink);color:var(--w-paper);font-size:.8125rem;letter-spacing:.08em;font-weight:500;
  border:1px solid var(--w-ink)}
.w-wa:hover{background:var(--w-hanko);border-color:var(--w-hanko);color:var(--w-on-hanko)}
.w-wa svg{width:18px;height:18px;flex:none}
@media (max-width:30rem){ .w-wa span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} .w-wa{padding:0;width:3rem;justify-content:center} }

@media (prefers-reduced-motion:reduce){ *{transition:none!important} }

/* ---------- Canto folha (v2.1, 28/09/2026) ----------
   Botões e elementos de ação: arredondados só em cima à esquerda e em baixo à direita.
   Superfícies, fotografias, cartões e filetes continuam retos. */
.w-btn,.w-wa,.w-seal,.w-lb__x,.w-lb__nav{border-radius:var(--w-leaf) 0 var(--w-leaf) 0}
.w-seal--sm,.w-burger{border-radius:var(--w-leaf-sm) 0 var(--w-leaf-sm) 0}
.w-btn:focus-visible,.w-wa:focus-visible,.w-burger:focus-visible,.w-book:focus-visible .w-seal{outline-offset:3px}
