/* El Resolè (Alba di Canazei): identità ricavata dal marchio e dalle sale.
   Noce = la luce bassa delle sale. Rosa = le rose del logo. Pino = il fuori, la Grill House. Neve = la carta del menu.
   Titoli in gotico come il logotipo, testi in Alegreya. */
:root{
  --noce:#241710; --noce-2:#2f1f16; --noce-3:#402b1e;
  --rosa:#c50f26; --rosa-vivo:#e30d2c; --rosa-scuro:#a60c20; --rosa-tenue:#f8e6ea;
  --pino:#1b3327; --pino-2:#26463a; --foglia:#256b1d; --salvia:#cfdcc9;
  --neve:#fbf9f8; --neve-2:#f1ecea; --linea:#e0d8d3;
  --inchiostro:#241c18; --grigio:#5b514b;
  --crema:#f8f1e6; --crema-2:#d9cbb8; --miele:#e2a85f;
  --gotico:'Grenze Gotisch','UnifrakturCook',Georgia,serif;
  --serif:'Alegreya',Georgia,'Times New Roman',serif;
  --sans:'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif;
  --larg:1200px;
  --esce:cubic-bezier(.16,1,.3,1);
  --z-barra:40; --z-fab:30; --z-rosa:2;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--noce);color:var(--crema);font-family:var(--sans);font-size:1.0938rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,dl,dd,figure{margin:0;padding:0}
ul{list-style:none}
a{color:inherit}
h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.wrap{width:100%;max-width:var(--larg);margin-inline:auto;padding-inline:clamp(18px,4vw,36px)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.salta{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--crema);color:var(--inchiostro);padding:.6em 1em;border-radius:6px;font-weight:700}
.salta:focus{left:8px}
:focus-visible{outline:3px solid var(--miele);outline-offset:3px;border-radius:3px}
.carta :focus-visible,.prenota :focus-visible{outline-color:var(--rosa)}

/* ---------- pulsanti ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.7em 1.25em;border-radius:6px;font-family:var(--sans);font-weight:800;font-size:1.02rem;line-height:1.2;text-decoration:none;border:2px solid transparent;transition:transform .25s var(--esce),background-color .2s,color .2s,border-color .2s,box-shadow .25s}
.btn svg{width:1.1em;height:1.1em;fill:currentColor;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn--lg{font-size:1.1rem;padding:.82em 1.4em}
.btn--rosa{background:var(--rosa);color:#fff;box-shadow:0 8px 22px -12px rgba(197,15,38,.9)}
.btn--rosa:hover{background:var(--rosa-scuro)}
.btn--chiaro{border-color:rgba(248,241,230,.55);color:var(--crema)}
.btn--chiaro:hover{background:var(--crema);color:var(--inchiostro);border-color:var(--crema)}
.btn--crema{background:var(--crema);color:var(--pino)}
.btn--crema:hover{background:#fff}

/* ---------- barra in alto ---------- */
.topbar{position:sticky;top:0;z-index:var(--z-barra);background:var(--noce);border-bottom:1px solid rgba(248,241,230,.1)}
.topbar__in{display:flex;align-items:center;gap:20px;min-height:66px}
.brand{display:block;position:relative;flex:none;width:112px;height:50px}
.brand img{position:absolute;left:0;top:50%;transform:translateY(-50%);transition:opacity .3s,transform .4s var(--esce)}
.brand__rosa{width:58px;height:auto}
.brand__logo{width:112px;height:auto;opacity:0}
.topbar.is-solid .brand__rosa{opacity:0;transform:translateY(-50%) scale(.7)}
.topbar.is-solid .brand__logo{opacity:1}
.nav{display:flex;gap:clamp(14px,2.2vw,28px);margin-left:auto}
.nav a{text-decoration:none;font-weight:500;font-size:1.02rem;position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--rosa-vivo);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--esce)}
.nav a:hover::after{transform:scaleX(1)}
.topbar__call{padding:.5em 1em;font-size:1rem}
.topbar__chiama{display:none}
.burger{display:none;width:44px;height:44px;flex:none;background:none;border:0;padding:10px;cursor:pointer}
.burger span{display:block;height:2px;margin:5px 0;background:var(--crema);transition:transform .25s var(--esce),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- l'arco ---------- */
.hero{position:relative;background:radial-gradient(70% 90% at 78% 70%,#5a3419 0%,rgba(90,52,25,0) 70%),var(--noce);overflow:hidden}
.hero__in{display:grid;max-width:none;padding-left:max(clamp(18px,4vw,36px),calc((100vw - var(--larg))/2 + clamp(18px,4vw,36px)));padding-right:clamp(18px,3.4vw,56px);grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:end;padding-top:clamp(22px,2.6vw,38px)}
.hero__txt{align-self:center;padding-bottom:clamp(30px,4vw,56px)}
.hero__dove{display:flex;align-items:center;gap:.45em;font-weight:500;color:var(--crema-2);font-size:1.02rem}
.hero__dove svg{width:1em;height:1em;fill:var(--rosa-vivo)}
.hero__titolo{margin-top:clamp(14px,1.6vw,22px);font-weight:400}
.hero__titolo img{width:min(100%,520px);height:auto}
.hero__titolo span{display:block;margin-top:clamp(12px,1.4vw,20px);font-family:var(--serif);font-weight:600;font-size:clamp(1.34rem,2.25vw,1.82rem);line-height:1.22;color:var(--crema)}
.hero__lead{margin-top:.8em;max-width:34em;font-size:clamp(1.06rem,1.3vw,1.18rem);color:var(--crema-2)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.5em}
.hero__fatti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(26px,3vw,38px);padding-top:clamp(16px,1.6vw,22px);border-top:1px solid rgba(248,241,230,.18)}
.hero__fatti b{display:block;font-family:var(--gotico);font-weight:600;font-size:clamp(1.22rem,1.8vw,1.5rem);line-height:1.12;color:var(--crema)}
.hero__fatti span{display:block;margin-top:.2em;font-size:.97rem;line-height:1.35;color:var(--crema-2)}
.hero__arco{position:relative;align-self:end;justify-self:end;width:100%;max-width:840px}
.hero__foto{width:100%;aspect-ratio:1.14/1;object-fit:cover;object-position:47% 100%;border-radius:50% 50% 0 0/62% 62% 0 0;box-shadow:0 -14px 70px -20px rgba(255,170,80,.28);animation:arco-sale 1.1s var(--esce) both}
.hero__rosa{position:absolute;z-index:var(--z-rosa);width:clamp(84px,14vw,190px);height:auto;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));animation:rosa-sboccia .9s .35s var(--esce) both}
.hero__rosa--a{left:-1%;top:7%;transform-origin:60% 60%}
.hero__rosa--b{right:-1%;top:27%;width:clamp(58px,9vw,118px);animation-delay:.55s;--giro:18deg}
@keyframes arco-sale{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}
@keyframes rosa-sboccia{from{opacity:0;transform:scale(.45) rotate(calc(var(--giro,0deg) - 24deg))}to{opacity:1;transform:scale(1) rotate(var(--giro,0deg))}}

/* ---------- tre cose vere ---------- */
.tre{background:var(--rosa-scuro);color:#fff}
.tre__in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,56px);padding-block:clamp(28px,3.4vw,44px)}
.tre__voce{display:grid;grid-template-columns:60px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:14px;align-items:start}
.tre__voce>img,.tre__voce>svg{grid-row:1/3;width:60px;height:auto;aspect-ratio:158/122}
.tre__voce>svg{aspect-ratio:1;width:52px;height:52px;fill:var(--crema);color:var(--crema)}
.tre__voce>img{background:var(--neve);border-radius:50%;padding:7px;width:60px;height:60px;aspect-ratio:1;object-fit:contain}
.tre__voce h2{font-family:var(--gotico);font-weight:600;font-size:1.55rem;line-height:1.1}
.tre__voce p{margin-top:.3em;font-size:1.02rem;line-height:1.42;color:#fff}

/* ---------- pizza della casa e cucina ---------- */
.casa{background:var(--noce-2);padding-block:clamp(52px,7vw,96px) clamp(40px,5vw,72px)}
.casa h2,.cantina h2,.sale h2,.dove h2,.prenota__titolo,.carta__testa h2,.grill h2,.storia h2{font-family:var(--gotico);font-weight:600;font-size:clamp(2.3rem,4.8vw,3.7rem);line-height:1.04}
.firma{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(26px,5vw,72px);align-items:center}
.firma__foto img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:50% 50% 8px 8px/46% 46% 8px 8px}
.firma__foto figcaption{margin-top:.6em;font-size:.95rem;color:var(--crema-2);text-align:center}
.firma__nome{margin-top:.5em;font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--miele)}
.firma__ingr{display:flex;flex-wrap:wrap;gap:8px;margin-top:.9em}
.firma__ingr li{padding:.28em .8em;border:1px solid rgba(248,241,230,.3);border-radius:999px;font-size:1rem;line-height:1.3}
.firma__prezzi{display:flex;flex-wrap:wrap;gap:6px 26px;margin:1.1em 0 1.3em;font-size:1.02rem;color:var(--crema-2)}
.firma__prezzi b{font-family:var(--serif);font-weight:800;font-size:1.65rem;color:var(--crema);margin-right:.15em}
.casa__sotto{margin-top:clamp(52px,6vw,84px);text-align:center}
.piatti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,4vw,48px);margin-top:clamp(20px,3vw,36px);align-items:start}
.piatto{text-align:center}
.piatto img{width:100%;height:clamp(200px,20vw,264px);object-fit:contain;filter:drop-shadow(0 18px 22px rgba(0,0,0,.5));transition:transform .6s var(--esce)}
.piatto:hover img{transform:rotate(-3deg) scale(1.03)}
.piatto img.piatto__tondo{width:clamp(200px,20vw,264px);margin-inline:auto;object-fit:cover;aspect-ratio:1;border-radius:50%;border:7px solid #4b4a4a}
.piatto h3{margin-top:.75em;font-family:var(--serif);font-weight:700;font-size:1.34rem;line-height:1.2}
.piatto sup{font-size:.7em;color:var(--miele)}
.piatto__desc{margin:.4em auto 0;max-width:30em;font-size:1rem;line-height:1.42;color:var(--crema-2)}
.piatto__prezzo{margin-top:.45em;font-family:var(--serif);font-weight:800;font-size:1.3rem;color:var(--miele)}


/* ---------- tasselli ad arco ---------- */
.archi{background:var(--noce-2);padding-bottom:clamp(40px,5vw,72px)}
.archi__griglia{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.arco{position:relative;display:block;aspect-ratio:3/4.1;border-radius:999px 999px 8px 8px;overflow:hidden;text-decoration:none;background:var(--noce-3);isolation:isolate;transition:transform .4s var(--esce)}
.arco:hover{transform:translateY(-6px)}
.arco>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--esce)}
.arco:hover>img{transform:scale(1.06)}
.arco::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,8,0) 34%,rgba(20,12,8,.9) 82%);z-index:0}
.arco span{position:absolute;left:12px;right:12px;bottom:14px;z-index:1;font-family:var(--gotico);font-weight:600;font-size:clamp(1.28rem,1.8vw,1.52rem);line-height:1.08;color:#fff}
.arco small{display:block;margin-top:.3em;font-family:var(--sans);font-weight:500;font-size:.92rem;line-height:1.25;color:var(--crema)}
.arco--monti{background:var(--pino-2)}
.arco--monti svg{position:absolute;left:12%;right:12%;top:18%;width:76%;height:auto;fill:#0f231a;color:#0f231a}
.arco--rosa{background:var(--rosa-scuro)}
.arco--rosa>img{inset:14% 10% auto;width:80%;height:auto;object-fit:contain}
.arco--rosa::after,.arco--monti::after,.arco--foglia::after{background:none}
.arco--foglia{background:var(--foglia)}
.arco--foglia svg{position:absolute;left:21%;top:17%;width:58%;height:auto;fill:var(--crema);transition:transform 1s var(--esce)}
.arco--foglia:hover svg{transform:rotate(40deg)}

/* ---------- creste ---------- */
.cresta{display:block;line-height:0;background:var(--noce-2);position:relative}
.cresta--su{margin-bottom:-1px}
.cresta--giu{margin-top:-1px}
.cresta svg{display:block;width:100%;height:clamp(52px,8vw,120px)}
.cresta__dietro{fill:#8f8f8c}
.cresta__davanti{fill:var(--neve)}
.cresta--giu{background:var(--noce-2)}
.cresta--giu svg{height:clamp(30px,5vw,70px);fill:var(--neve)}

/* ---------- menu: la carta ---------- */
.carta{background:var(--neve) url(../img/legno-bianco.webp) center top/800px repeat;color:var(--inchiostro);padding-block:clamp(26px,3.4vw,44px) clamp(44px,6vw,80px)}
.carta__testa{text-align:center}
.carta__testa h2{color:var(--rosa)}
.carta__testa p{margin-top:.25em;color:var(--grigio);font-size:1.08rem}
.menu-tools{margin-top:clamp(18px,2.4vw,30px);display:grid;gap:12px}
.gruppi{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-inline:auto;border:2px solid var(--inchiostro);border-radius:8px;overflow:hidden;width:max-content;max-width:100%}
.gruppo{appearance:none;background:transparent;border:0;padding:.55em 1.3em;font-family:var(--sans);font-weight:800;font-size:1.06rem;color:var(--inchiostro);cursor:pointer;transition:background-color .2s,color .2s}
.gruppo+.gruppo{border-left:2px solid var(--inchiostro)}
.gruppo:hover{background:var(--neve-2)}
.gruppo[aria-selected="true"]{background:var(--inchiostro);color:var(--neve)}
.gruppo:focus-visible{outline-offset:-5px;outline-color:var(--miele)}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.tab{appearance:none;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:.38em 1em;font-family:var(--sans);font-weight:700;font-size:1rem;color:var(--inchiostro);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.tab:hover{border-color:var(--rosa);color:var(--rosa-scuro)}
.tab[aria-selected="true"]{background:var(--rosa);border-color:var(--rosa);color:#fff}
.search{display:flex;align-items:center;gap:10px;max-width:440px;width:100%;margin-inline:auto;padding:.5em .95em;border:1px solid #b9aea7;border-radius:8px;background:#fff}
.search svg{width:1.1em;height:1.1em;flex:none;fill:var(--grigio)}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;color:var(--inchiostro)}
.search input::placeholder{color:var(--grigio);opacity:1}
.search:focus-within{border-color:var(--rosa);box-shadow:0 0 0 3px rgba(197,15,38,.15)}
.menu-list{margin-top:clamp(20px,2.6vw,32px);min-height:220px}
.menu-cat{margin:1.1em 0 .1em;font-family:var(--gotico);font-weight:600;font-size:clamp(1.6rem,2.6vw,2rem);line-height:1.1;color:var(--rosa);text-align:center}
.menu-cat:first-child{margin-top:0}
.menu-nota{max-width:46em;margin:.35em auto .6em;text-align:center;color:var(--grigio);font-size:1.02rem;line-height:1.45}
.dishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,5vw,64px)}
.dish{padding:.72em 0;border-bottom:1px solid var(--linea);break-inside:avoid}
.dish h4{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);font-weight:700;font-size:1.16rem;line-height:1.24}
.dish__n{flex:0 1 auto}
.dish sup{font-size:.72em;color:var(--rosa-scuro);margin-left:.1em;line-height:0}
.dots{flex:1 1 18px;min-width:18px;border-bottom:2px dotted #bdb2ab;transform:translateY(-4px)}
.p{flex:none;font-family:var(--serif);font-weight:800;font-size:1.14rem;color:var(--rosa-scuro);white-space:nowrap}
.dish p{margin-top:.15em;font-size:1rem;line-height:1.4;color:var(--grigio)}
.dish .var{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:.22em;font-size:.97rem}
.dish .var b{font-weight:700;color:var(--inchiostro)}
.badge{align-self:center;padding:.1em .5em;border-radius:4px;background:var(--foglia);color:#fff;font-family:var(--sans);font-size:.72rem;font-weight:700}
.menu-vuoto{padding:2em 0;text-align:center;color:var(--grigio)}
.menu-vuoto a{color:var(--rosa-scuro);font-weight:700}
.nota-sur{margin-top:1.1em;font-size:.97rem;line-height:1.42;color:var(--grigio);text-align:center}
.nota-sur.nota-sur--scura{margin-top:1.6em;color:var(--crema-2)}
.menu-altri{max-width:50em;margin:.7em auto 0;font-size:1rem;line-height:1.45;color:var(--grigio);text-align:center}
.menu-altri a{color:var(--rosa-scuro);font-weight:700}
.regole{margin-top:clamp(36px,5vw,60px)}
.regole__titolo{font-family:var(--gotico);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.08;text-align:center}
.regole__griglia{display:grid;grid-template-columns:.86fr .86fr 1fr 1.22fr;gap:clamp(12px,1.6vw,20px);margin-top:clamp(16px,2vw,26px);align-items:stretch}
.regola{padding:clamp(16px,1.8vw,22px);background:#fff;border:1px solid var(--linea);border-radius:10px}
.regola h4{font-family:var(--serif);font-weight:800;font-size:1.28rem;line-height:1.2}
.regola p{margin-top:.3em;font-size:1.02rem;line-height:1.42;color:var(--grigio)}
.regola b{color:var(--rosa-scuro)}
.regola__tondi{display:flex;align-items:center;gap:10px;height:62px;margin-bottom:10px}
.regola__tondi i{display:block;border-radius:50%;background:radial-gradient(circle,#f4c76a 0 60%,#d7903d 62% 100%);box-shadow:inset 0 0 0 3px #c97f33}
.regola__tondi i:nth-child(1){width:60px;height:60px}
.regola__tondi i:nth-child(2){width:40px;height:40px}
.regola__strati{display:grid;gap:5px;height:62px;align-content:center;margin-bottom:10px;width:76px}
.regola__strati i{display:block;height:17px;border-radius:9px;background:linear-gradient(180deg,#f0c77f,#d4954a)}
.basi{margin-top:.55em}
.basi li,#aggiunte li{display:flex;justify-content:space-between;gap:10px;padding:.2em 0;border-bottom:1px dotted #cfc6c0;font-size:1.02rem}
.basi b,#aggiunte b{font-family:var(--serif);font-weight:800;white-space:nowrap}
.aggiunte{margin-top:clamp(12px,1.6vw,20px);padding:.8em clamp(16px,1.8vw,22px);background:#fff;border:1px solid var(--linea);border-radius:10px}
.aggiunte summary{cursor:pointer;font-weight:800;color:var(--rosa-scuro)}
#aggiunte{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));column-gap:clamp(16px,2vw,28px);margin-top:.6em}
#aggiunte li{font-size:.98rem}
.allergeni{margin-top:clamp(18px,2.4vw,28px);padding:.8em 1.1em;background:var(--rosa-tenue);border-radius:8px;text-align:center;font-size:1.04rem;line-height:1.45;color:var(--inchiostro)}

/* ---------- cantina e bar ---------- */
.cantina{background:var(--noce-2);padding-block:clamp(40px,6vw,84px)}
.cantina__in{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(26px,5vw,68px);align-items:center}
.cantina__foto img{width:100%;border-radius:999px 999px 10px 10px;aspect-ratio:4/5;object-fit:cover}
.cantina__lead{margin-top:.5em;font-size:1.14rem;color:var(--crema-2);max-width:36em}
.etichette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,18px);margin-top:1.4em}
.etichette>div{padding:.85em 1em;border:1px solid rgba(226,168,95,.42);border-radius:8px;background:rgba(255,255,255,.025)}
.etichette dt{font-family:var(--gotico);font-weight:600;font-size:1.36rem;line-height:1.12;color:var(--miele)}
.etichette dd{margin-top:.3em;font-size:1rem;line-height:1.4;color:var(--crema)}
.cantina__prezzi{margin-top:1.2em;font-size:1.04rem;color:var(--crema-2)}
.cantina__prezzi a{color:var(--crema);font-weight:700}

/* ---------- la storia ---------- */
.storia{background:var(--rosa-scuro);color:#fff;overflow:hidden}
.storia__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,5vw,72px);align-items:center;padding-block:clamp(44px,6vw,84px)}
.storia__rosa{position:relative}
.storia__rosa img{width:100%;max-width:470px;margin-inline:auto;height:auto;padding:clamp(18px,3vw,36px);background:var(--neve);border-radius:50%;aspect-ratio:1;object-fit:contain;box-shadow:0 26px 60px -30px rgba(0,0,0,.6);transition:transform 1s var(--esce)}
.storia__rosa:hover img{transform:rotate(-6deg)}
.storia__txt p{margin-top:.8em;font-size:1.14rem;max-width:36em}
.storia__txt .storia__firma{margin-top:1.1em;font-family:var(--gotico);font-weight:600;font-size:1.8rem;line-height:1.1}

/* ---------- le sale ---------- */
.sale{background:var(--noce);padding-block:clamp(44px,6vw,84px)}
.sale__testa{max-width:44em}
.sale__testa p{margin-top:.5em;font-size:1.12rem;color:var(--crema-2)}
.sale__griglia{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(clamp(150px,17vw,215px),auto);gap:clamp(8px,1.1vw,14px);margin-top:clamp(20px,2.8vw,34px)}
.sala{position:relative;overflow:hidden;border-radius:8px;background:var(--noce-3)}
.sala img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--esce)}
.sala:hover img{transform:scale(1.05)}
.sala::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(180deg,rgba(20,12,8,0),rgba(20,12,8,.82))}
.sala figcaption{position:absolute;left:14px;right:12px;bottom:10px;z-index:1;display:flex;align-items:center;gap:.4em;font-family:var(--gotico);font-weight:600;font-size:clamp(1.22rem,1.8vw,1.5rem);line-height:1.1;color:#fff}
.sala figcaption svg{width:1.05em;height:1.05em;fill:currentColor;flex:none;animation:ruota 14s linear infinite}
.sala--grande{grid-column:span 2;grid-row:span 2}
.sala--ruota{grid-column:span 2}
.sala--ruota img{object-position:60% 62%}
.sala--invito{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.4em;padding:clamp(16px,2vw,26px);background:var(--rosa-scuro);color:#fff}
.sala--invito::after{display:none}
.sala__domanda{font-family:var(--gotico);font-weight:600;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.08}
.sala--invito .btn{margin-top:.5em}
@keyframes ruota{to{transform:rotate(360deg)}}

/* ---------- grill house ---------- */
.grill{background:var(--pino);padding-block:clamp(44px,6vw,84px);overflow:hidden}
.grill__in{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(22px,5vw,68px);align-items:center}
.grill__lead{margin-top:.5em;font-size:1.2rem;max-width:32em}
.grill__txt>p:not(.grill__lead){margin:1em 0 1.3em;color:var(--salvia);max-width:32em}
.grill__fatti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,18px);margin-top:1.3em}
.grill__fatti li{padding:.75em .85em;border-radius:8px;background:var(--pino-2)}
.grill__fatti b{display:block;font-family:var(--gotico);font-weight:600;font-size:clamp(1.35rem,2vw,1.62rem);line-height:1.08;color:var(--crema)}
.grill__fatti span{display:block;margin-top:.25em;font-size:.98rem;line-height:1.3;color:var(--salvia)}
.grill__disegno svg{width:100%;height:auto;max-width:520px;margin-inline:auto}
.grill__stelle circle{animation:brilla 4s ease-in-out infinite}
.grill__stelle circle:nth-child(2n){animation-delay:-1.6s}
.grill__stelle circle:nth-child(3n){animation-delay:-2.7s}
@keyframes brilla{0%,100%{opacity:.9}50%{opacity:.3}}
.grill__fumo circle{fill:#eef1f2;opacity:.35;transform-box:fill-box;transform-origin:center;animation:fumo 6s ease-out infinite}
.grill__fumo circle:nth-child(2){animation-delay:-2s}
.grill__fumo circle:nth-child(3){animation-delay:-4s}
.grill__luce{animation:brace 3.4s ease-in-out infinite}
.grill__scintille circle{animation:scintilla 3s ease-out infinite;opacity:0}
.grill__scintille circle:nth-child(2){animation-delay:.7s}
.grill__scintille circle:nth-child(3){animation-delay:1.4s}
.grill__scintille circle:nth-child(4){animation-delay:2.1s}
@keyframes fumo{0%{opacity:.08;transform:translateY(20px) scale(.7)}40%{opacity:.4}100%{opacity:0;transform:translateY(-34px) scale(1.25)}}
@keyframes brace{0%,100%{opacity:1}45%{opacity:.86}70%{opacity:.97}}
@keyframes scintilla{0%{opacity:0;transform:translateY(0)}18%{opacity:1}100%{opacity:0;transform:translateY(-46px)}}

/* ---------- tavolo e asporto ---------- */
.prenota{background:var(--neve);color:var(--inchiostro);padding-block:clamp(44px,6vw,84px)}
.prenota__titolo{text-align:center;color:var(--rosa)}
.prenota__due{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(20px,2.8vw,34px)}
.modo{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:12px;overflow:hidden}
.modo>img{width:100%;aspect-ratio:16/7;object-fit:cover}
.modo__corpo{display:flex;flex-direction:column;align-items:flex-start;gap:.6em;flex:1;padding:clamp(18px,2.2vw,28px)}
.modo h3{font-family:var(--gotico);font-weight:600;font-size:clamp(1.8rem,3vw,2.3rem);line-height:1.05}
.modo p{color:var(--grigio);font-size:1.06rem}
.modo .btn{margin-top:auto}
.orari-mini{display:grid;gap:.5em;width:100%}
.orari-mini>div{display:grid;grid-template-columns:5.6em minmax(0,1fr);gap:8px}
.orari-mini dt{font-weight:800}
.orari-mini dd{color:var(--grigio);line-height:1.42}
.dettagli{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,2vw,24px);margin-top:clamp(22px,3vw,38px)}
.dettagli li{display:block}
.dettagli svg{width:34px;height:34px;fill:var(--rosa);margin-bottom:.35em}
.dettagli b{display:block;font-family:var(--serif);font-weight:800;font-size:1.14rem;line-height:1.2}
.dettagli span{display:block;margin-top:.2em;font-size:.99rem;line-height:1.38;color:var(--grigio)}

/* ---------- dove siamo ---------- */
.dove{background:var(--noce-2)}
.dove__foto img{width:100%;height:clamp(190px,32vw,470px);object-fit:cover;object-position:50% 78%}
.dove__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,56px) clamp(24px,5vw,72px);padding-block:clamp(32px,4.4vw,60px) clamp(40px,5vw,72px)}
.dove__sx address{margin-top:.8em;font-style:normal;font-size:1.14rem;line-height:1.45}
.dove__sx address b{font-family:var(--serif);font-size:1.3rem}
.dove__link{display:flex;flex-wrap:wrap;gap:6px 22px;margin:.9em 0 1.2em}
.dove__link a{display:inline-flex;align-items:center;gap:.45em;font-weight:700;font-size:1.1rem;text-decoration:none}
.dove__link a:hover{text-decoration:underline}
.dove__link svg{width:1em;height:1em;fill:var(--miele)}
.dove__mappa{margin-top:clamp(18px,2.4vw,28px)}
.mappa{display:block;border-radius:10px;overflow:hidden}
.mappa img{width:100%;aspect-ratio:2/1;object-fit:cover;transition:transform .8s var(--esce)}
.mappa:hover img{transform:scale(1.02)}
.map-att{margin-top:.45em;font-size:.92rem;color:var(--crema-2)}
.hours{width:100%;border-collapse:collapse;font-size:1.04rem;font-variant-numeric:tabular-nums}
.hours caption{caption-side:top;text-align:left;font-family:var(--gotico);font-weight:600;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.1;padding-bottom:.35em}
.hours th,.hours td{padding:.42em .5em;text-align:left;vertical-align:top;border-bottom:1px solid rgba(248,241,230,.16)}
.hours thead th{font-weight:700;color:var(--crema-2);font-size:.98rem}
.hours tbody th{font-weight:700}
.hours tr.oggi th,.hours tr.oggi td{background:rgba(226,168,95,.17);color:#fff}
.hours tr.oggi th::after{content:" · oggi";font-weight:500;color:var(--miele);font-size:.92em}
.dove__note{margin-top:.8em;display:grid;gap:.25em;color:var(--crema-2);font-size:1rem;line-height:1.42}

/* ---------- footer e pulsante fisso ---------- */
.footer{background:#180e09;color:var(--crema-2);padding-block:clamp(30px,4vw,48px);font-size:1rem}
.footer__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px clamp(20px,4vw,48px);align-items:center}
.footer__logo{display:block;width:170px}
.footer__logo img{width:100%;height:auto}
.footer a{color:var(--crema);font-weight:700;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer__legal{font-size:.94rem;text-align:right}
.fab{position:fixed;right:14px;bottom:14px;z-index:var(--z-fab);display:none;align-items:center;gap:.5em;padding:.8em 1.25em;border-radius:999px;background:var(--rosa);color:#fff;font-weight:800;font-size:1.06rem;text-decoration:none;box-shadow:0 10px 26px -8px rgba(0,0,0,.6);transition:transform .35s var(--esce),opacity .25s}
.fab svg{width:1.1em;height:1.1em;fill:currentColor}
.fab.is-nascosto{transform:translateY(90px);opacity:0;pointer-events:none}

/* ---------- comparse ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s var(--esce),transform .75s var(--esce)}
.reveal.is-in{opacity:1;transform:none}

/* ---------- larghezze ---------- */
@media (max-width:1100px){
  .hero__in{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .archi__griglia{grid-template-columns:repeat(3,minmax(0,1fr))}
  .arco{aspect-ratio:3/3.5}
  .regole__griglia{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dettagli{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nav a{font-size:.98rem}
}
@media (max-width:980px){
  .nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;gap:0;margin:0;padding:6px 0 12px;background:var(--noce);border-bottom:1px solid rgba(248,241,230,.14)}
  .nav.is-open{display:flex}
  .nav a{padding:.72em clamp(18px,4vw,36px);font-size:1.1rem}
  .nav a::after{display:none}
  .topbar__call{margin-left:auto}
  .burger{display:block}
}
@media (max-width:900px){
  .hero__in{grid-template-columns:minmax(0,1fr);gap:0;padding-top:16px;padding-inline:clamp(18px,4vw,36px)}
  .hero__arco{order:-1;max-width:560px;margin-inline:auto;width:100%}
  .hero__rosa--a{left:0;top:6%}
  .hero__rosa--b{right:0;top:26%}
  .hero__txt{padding-top:22px;padding-bottom:30px}
  .hero__titolo img{width:min(100%,420px)}
  .tre__in{grid-template-columns:minmax(0,1fr);gap:18px}
  .firma{grid-template-columns:minmax(0,1fr)}
  .cantina__in,.storia__in,.grill__in{grid-template-columns:minmax(0,1fr)}
  .cantina__foto img{aspect-ratio:16/11;border-radius:50% 50% 10px 10px/44% 44% 10px 10px}
  .storia__rosa img{max-width:280px}
  .dove__in{grid-template-columns:minmax(0,1fr)}
  .footer__in{grid-template-columns:minmax(0,1fr);justify-items:start}
  .footer__legal{text-align:left}
}
@media (max-width:760px){
  body{font-size:1.0625rem}
  .topbar__in{min-height:60px;gap:8px}
  .topbar__num{display:none}
  .topbar__chiama{display:inline}
  .brand{width:92px;height:44px}
  .brand__logo{width:92px}
  .brand__rosa{width:50px}
  .hero__fatti{grid-template-columns:minmax(0,1fr);gap:10px}
  .hero__fatti li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5em}
  .hero__fatti span{margin-top:0}
  .hero__cta .btn{width:100%}
  .piatti{grid-template-columns:minmax(0,1fr);gap:30px}
  .piatto img{height:auto;max-height:250px}
  .piatto img.piatto__tondo{width:220px;height:220px}
  .archi__griglia{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .arco{aspect-ratio:3/3.4}
  /* la riga delle categorie scorre dentro lo schermo: niente a capo, la pagina non si allarga */
  .menu-tools{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;min-width:0}
  .gruppi{width:100%;flex-wrap:nowrap}
  .gruppo{flex:1 1 0;min-width:0;padding:.55em .35em;font-size:1rem;line-height:1.15}
  .tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:100%;min-width:0;margin-inline:-18px;padding:2px 18px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:none;white-space:nowrap}
  .search{max-width:none}
  .dishes{grid-template-columns:minmax(0,1fr)}
  .regole__griglia{grid-template-columns:minmax(0,1fr)}
  .regola__tondi,.regola__strati{height:48px}
  .regola__tondi i:nth-child(1){width:46px;height:46px}
  .regola__tondi i:nth-child(2){width:30px;height:30px}
  .etichette{grid-template-columns:minmax(0,1fr)}
  .sale__griglia{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(clamp(130px,38vw,190px),auto)}
  .sala--ruota{grid-column:span 2}
  .grill__fatti{grid-template-columns:minmax(0,1fr)}
  .grill__fatti li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5em}
  .grill .btn,.dove__sx>.btn,.modo .btn,.firma__txt .btn{width:100%}
  .footer{padding-bottom:96px}
  .prenota__due{grid-template-columns:minmax(0,1fr)}
  .dettagli{grid-template-columns:minmax(0,1fr);gap:14px}
  .dettagli li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px}
  .dettagli span{margin-top:.05em}
  .fab{display:inline-flex}
  .hours{font-size:1rem}
  .hours th,.hours td{padding:.42em .35em}
}

/* ---------- movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .grill__fumo circle{opacity:.3}
  .grill__scintille circle{opacity:.8}
}
