/* Tranci Divini (Benevento): i colori del marchio. Nero e giallo oro del logo, rosso scuro e legno bianco del menu. */
:root{
  --nero:#121010; --nero2:#1b1716; --nero3:#272120;
  --oro:#ecb62d; --oro-d:#d39d14;
  --rosso:#90191d; --rosso-d:#721216; --rosso-l:#a9272b;
  --carta:#f9f7f4; --legno:#f4f1ec; --crema:#efe8de;
  --testo:#221c1b; --muted:#6b605c; --desc:#793136;
  --line-d:rgba(255,255,255,.14); --line-l:rgba(34,28,27,.13);
  --display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mano:"Permanent Marker","Comic Sans MS",cursive;
  --r:16px;
  --strappo-top:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cpath fill='%2390191d' d='M0 20V8L6 5L14 10L21 13L30 12L38 7L44 13L53 5L63 10L72 4L82 3L88 13L98 3L107 5L117 3L125 5L135 7L145 7L154 4L163 12L170 13L176 4L182 13L188 3L197 4L204 13L210 11L217 9L227 9L236 12L240 8V20Z'/%3E%3C/svg%3E");
  --strappo-bot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cpath fill='%2390191d' d='M0 0V12L6 15L14 10L21 7L30 8L38 13L44 7L53 15L63 10L72 16L82 17L88 7L98 17L107 15L117 17L125 15L135 13L145 13L154 16L163 8L170 7L176 16L182 7L188 17L197 16L204 7L210 9L217 11L227 11L236 8L240 12V0Z'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
/* lo scorrimento morbido verso le sezioni lo fa main.js solo sui clic dei link (così window.scrollTo resta immediato) */
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-size:18px;line-height:1.6;color:var(--testo);background:var(--carta);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{line-height:1.08}
ul,ol{list-style:none}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
svg{width:22px;height:22px;fill:currentColor;flex:none}
.icone{position:absolute;width:0;height:0;overflow:hidden}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* anello di focus a due toni: rosso su fondo chiaro, filo bianco che si vede anche sul nero */
:focus-visible{outline:3px solid var(--rosso);outline-offset:2px;box-shadow:0 0 0 2px #fff;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#111;padding:.6em 1em;border-radius:8px;font-weight:700}
.skip:focus{left:12px}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.72em 1.35em;border-radius:999px;font-family:var(--display);font-weight:800;font-size:.95rem;letter-spacing:.01em;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .15s,color .15s,border-color .15s;white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-2px)}
.btn--lg{padding:.9em 1.6em;font-size:1.02rem}
.btn--oro{background:var(--oro);color:var(--nero)}
.btn--oro:hover{background:#f6c445}
.btn--rosso{background:var(--rosso);color:#fff}
.btn--rosso:hover{background:var(--rosso-l)}
.btn--ghost{border-color:rgba(255,255,255,.75);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--nero)}
.btn--tel{padding-block:.55em}
.btn--tel span{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.btn--tel small{font-family:var(--body);font-weight:700;font-size:.82rem;letter-spacing:.02em;opacity:.85}

/* barra in alto (niente backdrop-filter: il menu del telefono è dentro la barra) */
.topbar{position:fixed;inset:0 0 auto;z-index:50;transition:background .25s,box-shadow .25s}
.topbar.is-solid,.topbar.is-open{background:rgba(18,16,16,.97);box-shadow:0 1px 0 var(--line-d)}
.topbar__in{display:flex;align-items:center;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;flex:none}
.brand img{width:52px;height:52px}
.brand__txt{display:flex;flex-direction:column;line-height:1.05}
.brand__txt b{font-family:var(--display);font-weight:900;font-size:1.12rem;text-transform:uppercase;letter-spacing:.02em}
.brand__txt small{font-size:.74rem;font-weight:600;letter-spacing:.08em;color:var(--oro);margin-top:3px}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{color:#efe9e6;text-decoration:none;font-weight:600;font-size:.97rem;position:relative;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--oro);transition:right .2s}
.nav a:hover::after{right:0}
.topbar__call{flex:none}
.burger{display:none;background:none;border:0;width:46px;height:46px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-left:auto}
.burger span{display:block;width:26px;height:3px;border-radius:2px;background:#fff;transition:.2s}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;background:var(--nero);color:#fff;overflow:hidden}
.hero__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,16,.78) 0,rgba(18,16,16,0) 170px),linear-gradient(90deg,rgba(18,16,16,.96) 0%,rgba(18,16,16,.88) 36%,rgba(18,16,16,.42) 66%,rgba(18,16,16,.12) 100%)}
.hero__in{position:relative;z-index:2;padding:128px 0 96px}
.kicker{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--rosso);margin-bottom:14px}
.kicker--oro{color:var(--oro)}
.hero h1{font-family:var(--display);font-weight:900;font-size:clamp(3.3rem,8.4vw,7rem);line-height:.9;letter-spacing:-.015em;text-transform:uppercase}
.hero h1 span{color:var(--oro);display:block}
.hero__motto{font-family:var(--mano);font-size:clamp(1.45rem,2.6vw,2.05rem);color:#fff;margin:18px 0 22px;transform:rotate(-2deg);transform-origin:left;display:inline-block;background:var(--rosso);padding:.12em .55em .18em;box-shadow:4px 4px 0 rgba(0,0,0,.35)}
.hero__lead{max-width:560px;font-size:1.16rem;color:#ebe5e2;margin-bottom:30px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero__facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px;max-width:640px}
.hero__facts li{background:rgba(18,16,16,.62);border:1px solid var(--line-d);border-radius:14px;padding:11px 18px}
.hero__facts b{display:block;font-family:var(--display);font-weight:800;font-size:1.22rem;color:var(--oro);white-space:nowrap}
.hero__facts span{font-size:.92rem;color:#d9d1cd}
.hero__bollo{position:absolute;z-index:2;right:max(4vw,calc(50% - 600px));top:50%;width:clamp(200px,21vw,300px);height:auto;transform:translateY(-46%) rotate(-9deg);filter:drop-shadow(0 22px 34px rgba(0,0,0,.55))}
.hero__didascalia{position:absolute;z-index:2;right:22px;bottom:30px;font-family:var(--mano);font-size:1.05rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.85);transform:rotate(-2deg)}

/* striscia rossa, con il bordo strappato come sul menu */
.strip{position:relative;z-index:3;background:var(--rosso);color:#fff}
.strip::before{content:"";position:absolute;left:0;right:0;top:-17px;height:18px;background:var(--strappo-top) 0 0/240px 18px repeat-x}
.strip__in{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:38px 0 42px}
.strip__item{display:flex;gap:16px;align-items:flex-start}
.strip__item svg{width:46px;height:46px;padding:10px;border-radius:50%;background:var(--oro);fill:var(--nero)}
.strip h3{font-family:var(--display);font-weight:800;font-size:1.06rem;line-height:1.2;margin-bottom:5px}
.strip p{font-size:.97rem;color:#f6e3e3}

/* sezioni */
.section{padding:108px 0}
.section--carta{background:var(--carta)}
.section--legno{background-color:var(--legno);background-image:repeating-linear-gradient(180deg,rgba(110,88,66,.045) 0 1px,transparent 1px 13px),repeating-linear-gradient(180deg,rgba(110,88,66,.035) 0 2px,transparent 2px 61px),repeating-linear-gradient(90deg,rgba(110,88,66,.03) 0 1px,transparent 1px 243px)}
.section--scuro{background:var(--nero);color:#ece6e3}
.head{text-align:center;max-width:760px;margin:0 auto 54px}
h2{font-family:var(--display);font-weight:900;font-size:clamp(2.05rem,4.5vw,3.25rem);line-height:1.04;letter-spacing:-.01em;text-transform:uppercase;color:var(--rosso)}
.section--scuro h2,.regole h2{color:#fff}
.head__sub{margin:18px auto 0;color:var(--muted);max-width:660px}
.small{font-size:.92rem;color:var(--muted)}
.section--scuro .small{color:#bdb3ae}

/* specialità */
.signature{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center;margin-bottom:72px}
.signature__img{width:100%;background:#fff;padding:12px 12px 14px;border-radius:6px;box-shadow:0 26px 50px -24px rgba(34,28,27,.55);transform:rotate(-2deg);max-width:470px;justify-self:center}
.signature__img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
.tag{display:inline-block;background:var(--nero);color:var(--oro);font-family:var(--display);font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;padding:.5em 1.05em;border-radius:999px;margin-bottom:16px}
.signature h3{font-family:var(--display);font-weight:900;font-size:clamp(2.3rem,4.6vw,3.5rem);text-transform:uppercase;color:var(--nero);letter-spacing:-.01em;margin-bottom:16px}
.signature__txt>p:not(.tag){font-size:1.1rem;color:#4a403d}
.signature__prices{margin:26px 0 30px;border-top:2px solid var(--nero)}
.signature__prices li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px dashed #d8cfc6;font-weight:600}
.signature__prices li:first-child{color:var(--rosso)}
.signature__prices b{font-family:var(--display);font-weight:800;white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid #ebe3da;border-radius:var(--r);padding:26px 26px 22px;display:flex;flex-direction:column;border-top:6px solid var(--rosso);transition:transform .2s,box-shadow .2s}
.card:nth-child(3n+2){border-top-color:var(--oro)}
.card:nth-child(3n){border-top-color:var(--nero)}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(34,28,27,.4)}
.card h3{font-family:var(--display);font-weight:800;font-size:1.22rem;text-transform:uppercase;margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.card p{color:#5b4f4b;flex:1}
.card__prezzi{display:flex;align-items:baseline;gap:12px;margin-top:16px;flex:none!important}
.card__prezzi b{font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--rosso)}
.card__prezzi span{font-size:.92rem;color:var(--muted)}
.card__prezzi i{font-style:normal;font-weight:700;color:var(--testo)}
.cards__note{text-align:center;color:var(--muted);font-size:.95rem;margin-top:26px}
.badge{display:inline-block;font-family:var(--body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;background:var(--rosso);color:#fff;border-radius:5px;padding:.2em .55em;line-height:1.3;vertical-align:middle}
.badge--dolce{background:#6b4423}

/* tasselli delle categorie */
.tiles{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:6px;background:var(--nero);padding:6px}
.tile{position:relative;overflow:hidden;color:#fff;text-decoration:none;border-radius:4px;background:var(--nero2)}
.tile--big{grid-row:span 2}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tile:hover img{transform:scale(1.06)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(18,16,16,.9))}
.tile span{position:absolute;left:20px;right:16px;bottom:16px;z-index:1;font-family:var(--display);font-weight:900;font-size:1.45rem;text-transform:uppercase;line-height:1.05}
.tile--big span{font-size:2.5rem}
.tile small{display:block;font-family:var(--body);font-weight:600;text-transform:none;font-size:.92rem;line-height:1.3;color:var(--oro);margin-top:5px}
.tile--testo{background:var(--rosso);display:flex}
.tile--testo::after{background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.12),transparent 60%)}
.tile--testo svg{position:absolute;right:-18px;top:-14px;width:150px;height:150px;fill:rgba(255,255,255,.13);transform:rotate(-14deg);transition:transform .6s}
.tile--testo:hover svg{transform:rotate(-4deg) scale(1.05)}
.tile--testo small{color:#ffe3a3}

/* menu, come il menu di carta: legno bianco, titoli rossi, ingredienti in rosso scuro, due colonne di prezzi */
.menu-tools{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:34px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{background:#fff;color:var(--testo);border:1px solid #ddd3c8;border-radius:999px;padding:.5em 1.1em;font:inherit;font-family:var(--display);font-size:.88rem;font-weight:700;cursor:pointer;transition:.15s}
.tab:hover{border-color:var(--rosso);color:var(--rosso)}
.tab[aria-selected="true"]{background:var(--rosso);border-color:var(--rosso);color:#fff}
.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #ddd3c8;border-radius:999px;padding:.5em 1.05em;min-width:300px}
.search svg{width:18px;height:18px;fill:var(--muted)}
.search input{background:none;border:0;outline:0;color:var(--testo);font:inherit;font-size:1rem;width:100%;min-width:0}
.search:focus-within{border-color:var(--rosso);box-shadow:0 0 0 3px rgba(144,25,29,.15)}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;min-height:200px;background:rgba(255,255,255,.72);border:1px solid #e6ddd3;border-radius:var(--r);padding:30px 36px 26px}
.menu-cat{grid-column:1/-1;font-family:var(--display);font-weight:900;font-size:1.65rem;text-transform:uppercase;color:var(--rosso);margin:30px 0 4px;display:flex;align-items:center;gap:18px}
.menu-cat::after{content:"";flex:1;height:2px;background:rgba(144,25,29,.18)}
.menu-cat:first-child{margin-top:0}
.menu-nota{grid-column:1/-1;color:var(--muted);font-size:.95rem;margin:2px 0 6px}
.cols{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin-bottom:2px}
.cols div{display:flex;justify-content:flex-end;gap:6px}
.cols span{width:76px;text-align:right;font-family:var(--display);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rosso)}
.dish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;align-items:start;align-content:start;padding:12px 0;border-bottom:1px dashed rgba(34,28,27,.16)}
.dish h4{grid-column:1;grid-row:1;font-family:var(--body);font-size:1.12rem;font-weight:700;color:var(--testo);display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;line-height:1.25}
.dish__d{grid-column:1;color:var(--desc);font-size:.95rem;line-height:1.4;margin-top:2px}
.dish .var{grid-column:1;color:var(--muted);font-size:.9rem;margin-top:2px}
.dish .var b{color:var(--testo)}
.pp{grid-column:2;grid-row:1;display:flex;gap:6px;padding-top:1px}
.pp .p{width:76px;text-align:right;font-family:var(--display);font-weight:700;font-size:1rem;color:var(--testo);white-space:nowrap}
.pp .p+.p{color:var(--rosso)}
.menu-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:30px 0}
.allergeni{margin:28px auto 0;font-size:.93rem;color:var(--muted);text-align:center;max-width:760px}

/* formati e regole: fascia rossa strappata sopra e sotto */
.regole{position:relative;background:var(--rosso);color:#fff;padding:96px 0 100px}
.regole::before,.regole::after{content:"";position:absolute;left:0;right:0;height:18px;background-repeat:repeat-x;background-size:240px 18px}
.regole::before{top:-17px;background-image:var(--strappo-top)}
.regole::after{bottom:-17px;background-image:var(--strappo-bot)}
.head--chiaro{margin-bottom:44px}
.regole__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.regola{grid-column:span 2;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:24px 24px 22px}
.regola:nth-child(4),.regola:nth-child(5){grid-column:span 3}
.regola h3{font-family:var(--display);font-weight:900;font-size:1.12rem;text-transform:uppercase;color:var(--oro);margin-bottom:8px}
.regola p{color:#f7e9e9;font-size:1rem}
.regola b{color:#fff}
.basi{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:12px}
.basi li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed rgba(255,255,255,.28);padding-bottom:6px;font-weight:600}
.basi b{font-family:var(--display);font-weight:800;white-space:nowrap}

/* chi siamo */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center}
.about__img{position:relative;width:100%;background:#fff;padding:12px 12px 52px;border-radius:6px;box-shadow:0 26px 50px -24px rgba(34,28,27,.55);transform:rotate(2deg);max-width:430px;justify-self:center}
.about__img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
.about__img figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:var(--mano);font-size:1.25rem;color:var(--rosso)}
.about__txt h2{margin-bottom:20px}
.about__txt p:not(.kicker){color:#4a403d;margin-bottom:14px}
.services{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:24px 0 26px}
.services li{display:flex;align-items:center;gap:10px;font-weight:600}
.services li::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--rosso) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E") center/15px no-repeat}
.social{display:flex;flex-wrap:wrap;gap:10px}
.social a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;background:var(--nero);color:#fff;border-radius:999px;padding:.5em 1.05em .5em .75em}
.social a:hover{background:var(--rosso)}
.social svg{width:20px;height:20px}

/* come ordinare */
.ordina{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}
.ordina h2{margin-bottom:28px}
.passi{counter-reset:passo;display:grid;gap:18px;margin-bottom:30px}
.passi li{counter-increment:passo;position:relative;padding-left:62px;min-height:46px}
.passi li::before{content:counter(passo);position:absolute;left:0;top:0;width:46px;height:46px;border-radius:50%;background:var(--oro);color:var(--nero);font-family:var(--display);font-weight:900;font-size:1.25rem;display:grid;place-items:center}
.passi b{display:block;font-family:var(--display);font-weight:800;font-size:1.1rem;color:#fff}
.passi b a{color:var(--oro);text-decoration:none;white-space:nowrap}
.passi span{color:#cfc6c2}
.hours-mini{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.hours-mini div{background:var(--nero3);border:1px solid var(--line-d);border-radius:14px;padding:14px 18px}
.hours-mini b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--oro);font-family:var(--display);font-weight:800}
.hours-mini span{font-family:var(--display);font-weight:800;font-size:1.35rem;color:#fff;white-space:nowrap}
.ordina .small{margin-bottom:26px}
.ordina__img{border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);border:6px solid var(--nero3)}
.ordina__img img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* dove siamo */
.contact{display:grid;grid-template-columns:.86fr 1.14fr;gap:60px;align-items:start}
.contact h2{margin-bottom:22px}
address{font-style:normal;font-size:1.15rem;line-height:1.5;margin-bottom:12px}
address b{font-family:var(--display);font-weight:900;text-transform:uppercase;color:var(--rosso)}
.contact__tel a{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--testo);text-decoration:none}
.contact__tel svg{fill:var(--rosso)}
.contact__tel a:hover{color:var(--rosso)}
.hours{width:100%;border-collapse:collapse;margin:22px 0 10px}
.hours caption{text-align:left;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--rosso);margin-bottom:6px}
.hours th,.hours td{padding:9px 0;border-bottom:1px solid var(--line-l);text-align:left;font-weight:600}
.hours td{text-align:right;font-family:var(--display);font-weight:700;font-size:.98rem}
.hours tr.chiuso th,.hours tr.chiuso td{color:var(--muted);font-weight:600}
.hours tr.oggi th,.hours tr.oggi td{color:var(--rosso)}
.hours tr.oggi th::after{content:" · oggi";font-size:.85rem;font-weight:700}
.contact .btn{margin-top:20px}
.contact__mappa{display:flex;flex-direction:column;align-self:stretch}
.contact__map{position:relative;display:block;flex:1;min-height:440px;border-radius:var(--r);overflow:hidden;border:1px solid #e1d8cd;background:var(--crema);box-shadow:0 26px 50px -30px rgba(34,28,27,.5)}
.contact__map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% 100%}
.map-cta{position:absolute;left:16px;bottom:16px;z-index:1;background:rgba(18,16,16,.86);color:#fff;font-weight:700;font-size:.92rem;padding:.55em 1.05em;border-radius:999px}
.map-att{font-size:.8rem;color:var(--muted);margin-top:8px}
@media (max-width:760px){.map-cta{display:none}}

/* footer */
.footer{position:relative;background:var(--nero);color:#bdb3ae;padding:60px 0 64px;font-size:.95rem}
.footer__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.footer__in img{width:96px;height:96px}
.footer__motto{font-family:var(--mano);font-size:1.5rem;color:var(--oro);margin-bottom:6px}
.footer a{color:#fff}
.footer__social a{font-weight:700}
.footer__legal{font-size:.84rem;color:#978c88;margin-top:8px}

/* pulsante «Chiama» fisso sul telefono */
.fab{position:fixed;right:16px;bottom:16px;z-index:60;display:none;align-items:center;gap:8px;background:var(--oro);color:var(--nero);text-decoration:none;font-family:var(--display);font-weight:800;padding:.85em 1.3em;border-radius:999px;box-shadow:0 12px 30px -8px rgba(0,0,0,.55)}

/* comparsa allo scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* schermi medi: menu a scomparsa */
@media (max-width:1100px){
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--nero);padding:6px 20px 22px;border-bottom:1px solid var(--line-d);display:none}
  .nav.is-open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line-d);font-size:1.1rem}
  .nav a::after{display:none}
  .burger{display:flex}
  .topbar__call{display:none}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
  .fab{display:inline-flex}
  .hero__bollo{display:none}
  .footer{padding-bottom:104px}
  .hero__didascalia{bottom:96px}
}
@media (max-width:1020px){
  .cards{grid-template-columns:1fr 1fr}
  .signature,.about,.ordina,.contact{grid-template-columns:minmax(0,1fr);gap:44px}
  .regola,.regola:nth-child(4),.regola:nth-child(5){grid-column:span 3}
  .regola:nth-child(5){grid-column:1/-1}
  .ordina__img{max-width:520px}
  .contact__map{flex:none;min-height:0;aspect-ratio:2/1}
}
@media (max-width:760px){
  body{font-size:17px}
  .section{padding:78px 0}
  .brand__txt b{font-size:1rem}
  .brand__txt small{font-size:.68rem}
  .hero{align-items:flex-end}
  .hero::after{background:linear-gradient(180deg,rgba(18,16,16,.55) 0%,rgba(18,16,16,.78) 34%,rgba(18,16,16,.94) 62%)}
  .hero__in{padding:118px 0 64px}
  .hero h1{font-size:clamp(3rem,15vw,4.2rem)}
  .hero__lead{font-size:1.06rem}
  .hero__cta .btn{flex:1 1 auto}
  .hero__facts{gap:10px;margin-top:34px}
  .hero__facts li{flex:1 1 45%;padding:10px 14px}
  .hero__facts li:last-child{flex-basis:100%}
  .hero__facts b{font-size:1.06rem}
  .hero__didascalia{display:none}
  .strip__in{grid-template-columns:1fr;gap:22px;padding:34px 0 38px}
  .cards{grid-template-columns:1fr;gap:14px}
  .card{padding:18px 20px 16px;border-top-width:5px}
  .card h3{font-size:1.06rem;margin-bottom:6px}
  .card p{font-size:.98rem}
  .card__prezzi{margin-top:10px}
  .card__prezzi b{font-size:1.15rem}
  .signature{gap:36px;margin-bottom:56px}
  .signature__img{max-width:340px}
  .tiles{grid-template-columns:1fr 1fr;grid-template-rows:240px 190px 190px}
  .tile--big{grid-column:span 2;grid-row:auto}
  .tile span{font-size:1.18rem;left:14px;right:10px;bottom:12px}
  .tile--big span{font-size:2rem}
  .tile small{font-size:.8rem}
  .tile--testo svg{width:110px;height:110px}
  .menu-tools{flex-direction:column;align-items:stretch;flex-wrap:nowrap}
  .tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:none}
  .search{min-width:0;width:100%}
  .menu-list{grid-template-columns:1fr;padding:20px 16px 18px}
  .cols{grid-template-columns:1fr}
  .cols div:nth-child(2){display:none}
  .pp .p,.cols span{width:64px}
  .dish h4{font-size:1.05rem}
  .dish__d,.dish .var{grid-column:1/-1}
  .regole{padding:78px 0 82px}
  .regole__grid{grid-template-columns:1fr}
  .regola,.regola:nth-child(4),.regola:nth-child(5){grid-column:auto}
  .basi{gap:8px 14px}
  .about__img{max-width:330px}
  .services{grid-template-columns:1fr}
  .hours-mini span{font-size:1.15rem}
}
@media (max-width:400px){
  .btn{white-space:normal;text-align:center;line-height:1.25}
  .btn--lg{padding:.85em 1.25em}
  .hours-mini div{padding:12px 14px}
  .hours-mini span{font-size:1.05rem}
}
@media (max-width:350px){
  .hours-mini{grid-template-columns:1fr}
}
@media (max-width:380px){
  .brand__txt small{display:none}
  .pp .p,.cols span{width:58px;font-size:.95rem}
  .basi{grid-template-columns:1fr}
}

/* pulsante «Chiama» fisso: nascosto finché i pulsanti dell'hero sono a schermo (al primo schermo copriva i riquadri dell'hero) — 20/10/2026 */
.fab{transition:opacity .25s,transform .25s,visibility 0s}
.fab.is-nascosto{opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .25s,transform .25s,visibility 0s .25s}
