@font-face{font-family:"Bagel Fat One";src:url(/fonts/bagel-fat-one.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url(/fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:Nunito;src:url(/fonts/nunito-italic.woff2) format("woff2");font-weight:200 1000;font-style:italic;font-display:swap}

*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#1E2A47}
body{font-family:Nunito,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
button{font-family:inherit;cursor:pointer}
.head-font,.title,.greeting,h2,.dish-name,.price,.motto,.sheet-head span,.tile b,.pop-name{font-family:"Bagel Fat One",system-ui,sans-serif;font-weight:400}

/* ---------- Temi giorno / notte ---------- */
.app{
  --bar:#FFF1D6;--ink:#1F2A44;--card:rgba(255,249,236,.92);--accent:#B4491F;--muted:#555B70;--line:#EBCF9C;--pill:#F2B33D;--pillInk:#1F2A44;
  --fire:linear-gradient(180deg,#FFE9B8 0%,#FDBE5E 45%,#F47C32 80%,#D9461E 100%);
  position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;
  max-width:560px;margin:0 auto;color:var(--ink);background:var(--fire);
  transition:color .6s;
}
.app.notte{
  --bar:#150D1E;--ink:#FBEBCB;--card:rgba(43,26,34,.9);--accent:#F29A4B;--muted:#D5CCCB;--line:#5A3A44;--pill:#F5D77A;--pillInk:#1B2640;
  --fire:linear-gradient(180deg,#120C1C 0%,#2B1220 40%,#7A2414 78%,#D4501A 100%);
}

/* ---------- Fuoco (sfondo) ---------- */
.fire{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.glow{position:absolute;left:-40px;right:-40px;bottom:-60px;height:66%;background:radial-gradient(ellipse at 50% 100%,rgba(255,170,60,.65),rgba(255,120,40,.25) 45%,transparent 70%)}
/* Fuoco generato (fire.js): immagine piccola ingrandita, più morbida e realistica */
.flames{position:absolute;left:-4%;bottom:0;width:108%;height:62%;-webkit-mask-image:linear-gradient(to top,#000 55%,transparent);mask-image:linear-gradient(to top,#000 55%,transparent)}
.spark{position:absolute;bottom:-8px;width:5px;height:5px;border-radius:50%;background:#FFD27A;opacity:0;animation:spark 8s linear infinite}
@keyframes spark{0%{transform:translate(0,0) scale(1);opacity:0}10%{opacity:.9}100%{transform:translate(24px,-820px) scale(.3);opacity:0}}

/* ---------- Testata ---------- */
.top{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 10px 20px;position:relative;z-index:2;flex:none;background:var(--bar);border-bottom:2px solid #F47C32}
.title{font-size:20.5px;letter-spacing:.5px}
.switch{position:relative;display:flex;align-items:center;width:104px;height:54px;padding:3px 6px;border-radius:27px;background:var(--card);border:2px solid var(--line)}
.switch button{position:relative;width:44px;height:44px;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0}
.knob{position:absolute;top:5px;left:8px;width:40px;height:40px;border-radius:50%;background:var(--pill);transition:transform .4s cubic-bezier(.2,1.4,.4,1)}
.notte .knob{transform:translateX(44px)}
.notte .switch button,.giorno #btnDay{color:var(--pillInk)}
.notte #btnDay{color:var(--ink)}

.hero{display:flex;flex-direction:column;align-items:center;padding:44px 24px 8px;position:relative;z-index:1;flex:none}
.logo-wrap{position:relative;width:132px}
.logo-btn{display:block;padding:0;border:0;background:transparent;width:132px}
.logo{display:block;width:132px;height:auto;animation:logoMove 9s ease-in-out infinite}
.ember{position:absolute;bottom:20px;width:6px;height:6px;border-radius:50%;background:#F29A4B;opacity:0;animation:rise 3.6s ease-in infinite}
@keyframes rise{0%{transform:translate(0,0) scale(1);opacity:0}15%{opacity:.95}100%{transform:translate(12px,-110px) scale(.25);opacity:0}}
@keyframes logoMove{0%{transform:translateY(0) rotate(-4deg) scale(1)}12%{transform:translateY(-9px) rotate(4deg) scale(1.05)}25%{transform:translateY(0) rotate(-4deg) scale(1)}37%{transform:translateY(-9px) rotate(4deg) scale(1.05)}50%{transform:translateY(0) rotate(-4deg) scale(1)}62%{transform:translateY(-9px) rotate(4deg) scale(1.05)}75%{transform:translateY(-14px) rotate(-4deg) scale(1.12)}92%{transform:translateY(0) rotate(356deg) scale(1)}100%{transform:translateY(0) rotate(356deg) scale(1)}}
.greeting{font-size:22.5px;margin:6px 0 0;text-align:center}
.subline{font-size:13px;font-weight:700;color:var(--ink);opacity:.85;text-align:center;margin:2px 0 0}


/* ---------- Elenco piatti ---------- */
.scroll{overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.scroll::-webkit-scrollbar{display:none}
main.scroll{flex:1;min-height:0;position:relative;z-index:1}
.inner{padding:6px 16px calc(28px + env(safe-area-inset-bottom))}
.card{background:var(--card);border:2px solid var(--line);border-radius:18px}
.dishes{display:flex;flex-direction:column;gap:12px}
.dish{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:2px solid var(--line);border-radius:20px;padding:14px 16px}
.dish .body{flex:1;min-width:0}
.dish-name{font-size:18.5px;line-height:1.15}
.desc{font-size:13px;line-height:1.4;color:var(--muted);margin-top:4px}
.quip{font-size:13px;font-style:italic;font-weight:600;color:var(--accent);margin-top:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{font-size:11px;font-weight:700;color:var(--muted);border:1.5px solid var(--line);border-radius:10px;padding:2px 8px}
.price{font-size:20.5px;color:var(--accent);flex:none;padding-top:1px;white-space:nowrap}
.price.ask{font-family:Nunito,system-ui,sans-serif;font-size:13px;font-weight:800}

/* Piatto del giorno: bordo spesso + etichetta con stella (non solo colore) */
.dish.special{border:3px solid var(--pill);box-shadow:4px 4px 0 var(--pill)}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;border-radius:10px;padding:2px 9px;margin-bottom:6px}
.badge.star{background:var(--pill);color:var(--pillInk)}
/* Finito: etichetta con croce + testo barrato + piatto attenuato */
.dish.out .dish-name,.dish.out .price{text-decoration:line-through;text-decoration-thickness:2px}
.dish.out .body>*:not(.badge),.dish.out .price{opacity:.6}
.badge.out{border:1.5px dashed var(--ink);color:var(--ink)}

.foot{margin-top:26px;padding:12px 16px;text-align:center;font-size:12px;font-weight:700;color:var(--muted);line-height:1.5}
.motto{font-size:15px;color:var(--accent)}
.empty{padding:18px;text-align:center;font-weight:700;color:var(--muted)}

/* ---------- Foglio categorie ---------- */
.overlay{position:absolute;inset:0;z-index:18;background:rgba(10,6,16,.6);display:flex;flex-direction:column;justify-content:flex-end}
.overlay[hidden]{display:none}
.sheet{max-height:82%;display:flex;flex-direction:column;background:#FFF9EC;border:3px solid #1E2A47;border-bottom:0;border-radius:28px 28px 0 0;color:#1E2A47;animation:sheetUp .35s cubic-bezier(.2,1.1,.4,1) both}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
.sheet-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 12px 4px 20px}
.sheet-head span{font-size:22.5px}
.x{width:44px;height:44px;border-radius:22px;border:2px solid #1E2A47;background:transparent;color:#1E2A47;display:flex;align-items:center;justify-content:center;padding:0}
.sheet-body{flex:1;min-height:0;padding:4px 16px calc(24px + env(safe-area-inset-bottom))}
.group-title{font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#B4491F;margin:14px 4px 8px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tile{min-height:76px;text-align:left;padding:10px 12px;border-radius:16px;border:2px solid #1E2A47;color:#1E2A47;display:flex;flex-direction:column;gap:3px;justify-content:center}
.tile b{font-size:16.5px;line-height:1.1}
.tile small{font-size:11px;font-weight:700;line-height:1.25}
.tile[aria-current="true"]{background:#F2B33D!important;border-width:3px}
.tile[aria-current="true"] b::before{content:"● "}


/* ---------- Pausa animazioni (foglio aperto, pagina nascosta) ---------- */
.hold .spark,.hold .ember,.hold .logo{animation-play-state:paused}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Titoli di sezione colorati per gruppo (stessi colori giorno e notte), ben diversi dalle schede dei piatti */
.cat-head{padding:12px 16px 13px;margin:4px 0 14px;border:0;color:#FFF1D6;box-shadow:4px 4px 0 rgba(30,42,71,.35)}
.cat-head p{color:#FFE2A8!important}
.g0 .cat-head{background:#B4491F}
.g1 .cat-head{background:#2F6B68}
.g2 .cat-head{background:#8A3557}
.g3 .cat-head{background:#1E2A47}
.notte .cat-head{box-shadow:none;outline:2px solid rgba(255,241,214,.45);outline-offset:-2px}
.notte .g3 .cat-head{background:#34497A}
.cat-head h2{font-size:26px;margin:0 0 2px}
.cat-head p{font-size:13px;font-weight:700;color:var(--accent);margin:0}
.section{scroll-margin-top:8px}
.section+.section{margin-top:26px}

/* Testata compatta mentre si scorre */
.brand{position:relative;display:flex;align-items:center;min-height:44px}
.brand .title{transition:transform .3s;transform-origin:0 50%}
.compact .brand .title{transform:translateX(48px) scale(.9)}
.mini-logo{position:absolute;left:0;top:0;width:40px;height:44px;padding:0;border:0;background:transparent;opacity:0;transform:scale(.5) rotate(-20deg);transition:opacity .3s,transform .3s;pointer-events:none}
.mini-logo img{display:block;width:40px;height:auto}
.compact .mini-logo{opacity:1;transform:none;pointer-events:auto}

/* ---------- Pensatoio ---------- */
.side{flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;align-self:stretch}
.think{min-height:44px;padding:0 12px;border-radius:22px;border:2px dashed var(--accent);background:transparent;color:var(--accent);font-size:12px;font-weight:800;white-space:nowrap;display:flex;align-items:center;gap:5px;transition:transform .15s}
.think:active{transform:scale(.92)}
/* Segnata: bordo pieno, sfondo pieno, spunta (non solo colore) */
.think[aria-pressed="true"]{border-style:solid;background:var(--accent);color:var(--card)}
.app.notte .think[aria-pressed="true"]{color:#1B2640}
.think.bump{animation:bump .35s ease}
@keyframes bump{50%{transform:scale(1.12)}}
.dish.out .think{display:none}


.think-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:2px dashed #E3D3B4}
.think-row .n{flex:1;min-width:0}
.think-row .n b{display:block;font-family:"Bagel Fat One",system-ui,sans-serif;font-weight:400;font-size:16.5px;line-height:1.15}
.think-row .n small{font-size:12px;font-weight:700;color:#555B70}
.qty{display:flex;align-items:center;gap:4px}
.qty button{width:44px;height:44px;border-radius:22px;border:2px solid #1E2A47;background:#FFF9EC;color:#1E2A47;font-size:20.5px;font-weight:800;line-height:1;padding:0}
.qty span{min-width:22px;text-align:center;font-weight:800;font-size:16px}
.think-total{display:flex;justify-content:space-between;align-items:baseline;margin:14px 2px 4px;font-weight:800}
.think-total b{font-family:"Bagel Fat One",system-ui,sans-serif;font-weight:400;font-size:22.5px;color:#B4491F}
.think-note{font-size:12px;font-weight:700;color:#555B70;margin:0 2px 14px}
.think-actions{display:flex;flex-direction:column;gap:8px}
.think-actions button{min-height:48px;border-radius:24px;border:2px solid #1E2A47;font-size:15px;font-weight:800;color:#1E2A47}
.btn-main{background:#F2B33D}
.btn-ghost{background:transparent}
.btn-ghost.confirm{border-style:dashed;background:#FFE1D6}
.think-empty{padding:18px 4px;font-weight:700;color:#555B70;line-height:1.5}

.waiter{position:absolute;inset:0;z-index:30;background:#FFFFFF;color:#111827;display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top)) 20px 20px}
.waiter[hidden]{display:none}
.waiter-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:14px;color:#555B70}
.waiter ul{list-style:none;margin:10px 0 0;padding:0;overflow-y:auto}
.waiter li{font-size:26px;font-weight:800;line-height:1.25;padding:12px 0;border-bottom:2px solid #E5E7EB}
.waiter li span{display:inline-block;min-width:2.2em}

/* ---------- Barra in basso: sezioni + pensatoio ---------- */
.dock{position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:14;display:grid;grid-template-columns:1.25fr 1fr;gap:8px}
.dock[hidden]{display:none}
.dock-btn{min-height:58px;border-radius:20px;border:3px solid #1E2A47;background:#FFF9EC;color:#1E2A47;display:flex;align-items:center;gap:10px;padding:0 14px;text-align:left;box-shadow:3px 3px 0 #1E2A47;min-width:0}
.dock-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #1E2A47}
.dock-btn>span{display:flex;flex-direction:column;min-width:0}
.dock-btn small{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#555B70}
.dock-btn b{font-family:"Bagel Fat One",system-ui,sans-serif;font-weight:400;font-size:16.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock-btn svg{flex:none}
.inner{padding-bottom:calc(96px + env(safe-area-inset-bottom))}


/* Telefoni deboli: sfondo fermo (fiamme disegnate ma immobili, niente scintille) */
.lite .spark,.lite .ember{display:none}


/* Piatto del giorno in cima al menu */
.today{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;width:100%;margin:2px 0 18px;padding:12px 16px;text-align:left;border-radius:20px;border:3px solid var(--pillInk);background:var(--pill);color:var(--pillInk);box-shadow:4px 4px 0 var(--pillInk)}
.today:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--pillInk)}
.today-k{grid-column:1/-1;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}
.today-n{font-family:"Bagel Fat One",system-ui,sans-serif;font-size:22.5px;line-height:1.1}
.today-p{font-family:"Bagel Fat One",system-ui,sans-serif;font-size:18.5px;text-align:right;white-space:nowrap}
.today-go{display:block;font-family:Nunito,system-ui,sans-serif;font-size:12px;font-weight:800}
.dish.flash,.today-card.flash{animation:flash 1.2s ease}
@keyframes flash{0%,100%{transform:none}20%{transform:scale(1.03)}40%{transform:none}60%{transform:scale(1.02)}}

/* ---------- Pop-up: mezzobusto del titolare che sale da destra, da dietro la barra in basso ---------- */
.popup{position:absolute;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:13;display:flex;align-items:flex-end;justify-content:flex-end;padding-left:12px;box-sizing:border-box;pointer-events:none}
.popup[hidden]{display:none}
.popup>*{pointer-events:auto}
.bust{width:150px;height:200px;flex:none;zoom:var(--bs,1);transform:translateX(110%);transition:transform .6s cubic-bezier(.2,1.1,.35,1)}
.bust img,.bust svg{display:block;width:150px;height:200px;object-fit:contain;object-position:bottom right}
.bust img[hidden]{display:none}
.bubble{position:relative;width:max-content;min-width:0;max-width:300px;box-sizing:border-box;margin:0 12px calc(90px*var(--bs,1)) 0;background:#FFF9EC;border:3px solid #1E2A47;border-radius:20px;padding:12px 12px 12px 14px;color:#1E2A47;box-shadow:4px 4px 0 #1E2A47;opacity:0;transform:scale(.6);transform-origin:100% 100%;transition:opacity .25s .45s,transform .35s .45s cubic-bezier(.2,1.4,.4,1)}
.bubble::after{content:"";position:absolute;right:-11px;bottom:22px;width:16px;height:16px;background:#FFF9EC;border-top:3px solid #1E2A47;border-right:3px solid #1E2A47;transform:rotate(45deg)}
.popup.on .bust{transform:none}
.popup.on .bubble{opacity:1;transform:none}
.popup.off .bust{transform:translateX(110%);transition-duration:.4s}
.popup.off .bubble{opacity:0;transform:scale(.6);transition-delay:0s}
.pop-x{position:absolute;top:-20px;left:-2px;width:44px;height:44px;border-radius:22px;border:2px solid #FFF9EC;background:#1E2A47;color:#FFF9EC;display:flex;align-items:center;justify-content:center;padding:0}
.pop-kicker{font-size:11px;font-weight:800;letter-spacing:.6px;color:#555B70;padding-left:22px}
.pop-name{font-family:"Bagel Fat One",system-ui,sans-serif;font-size:20px;line-height:1.1;margin-top:4px}
.pop-quip{font-size:12px;font-style:italic;font-weight:700;color:#B4491F;margin-top:3px;line-height:1.3}
.pop-btns{display:flex;gap:8px;margin-top:10px}
.pop-btns button{min-height:44px;border-radius:22px;border:2px solid #1E2A47;color:#1E2A47;font-size:13px;font-weight:800}
.pop-go{padding:0 16px;background:#F2B33D}
.pop-next{padding:0 12px;background:transparent}
.pop-next[hidden]{display:none}

/* Piatto del giorno fuori menu: scheda completa in cima */
.today-card{margin:2px 0 18px;border-radius:20px;border:3px solid var(--pillInk);background:var(--pill);color:var(--pillInk);box-shadow:4px 4px 0 var(--pillInk);padding:12px 16px 14px}
.today-card .dish-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.today-card .today-n{display:block;margin-top:2px}
.today-card .t-desc{font-size:13px;font-weight:700;margin-top:4px;line-height:1.35}
.today-card .t-quip{font-size:13px;font-style:italic;font-weight:600;margin-top:5px}
.today-card .tags .tag{color:var(--pillInk);border-color:var(--pillInk)}
.today-card .think{border-color:var(--pillInk);color:var(--pillInk)}
.today-card .think[aria-pressed="true"]{background:var(--pillInk);color:var(--pill)}
.today-card .t-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:10px}

/* ---------- Sfondo scelto nel pannello ---------- */
.bg-tinta .fire{display:none}
.notte.bg-tinta{background:#1C1420}
.giorno.bg-tinta{background:#FFF1D6}
.bg-sfumatura .flames,.bg-sfumatura .spark{display:none}
.bg-braci .flames{height:32%}
.bg-braci .glow{height:42%}
.int-bassa .flames{height:40%;opacity:.8}
.int-alta .flames{height:78%}
.bg-braci.int-bassa .flames{height:20%}
.bg-braci.int-alta .flames{height:44%}
.no-sparks .spark,.no-sparks .ember{display:none}
.no-logoanim .logo{animation:none}
.switch[hidden]{display:none}

/* ---------- Avviso in cima ---------- */
.notice{display:flex;align-items:center;gap:12px;margin:2px 0 14px;padding:12px 14px;border-radius:16px;font-weight:800;font-size:14px;line-height:1.35;background:var(--card);color:var(--ink);border:2px solid var(--line)}
.n-ico{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Bagel Fat One",system-ui,sans-serif;font-size:16px;background:var(--ink);color:var(--card)}
.n-evento{border:3px solid var(--pill)}
.n-evento .n-ico{background:var(--pill);color:var(--pillInk);border-radius:8px}
.n-attenzione{border:3px dashed #E2483A}
.n-attenzione .n-ico{background:#E2483A;color:#FFFFFF;border-radius:4px;transform:rotate(45deg)}
.n-attenzione .n-ico{font-size:15px}

/* ---------- Info del locale ---------- */
.info{margin-top:26px;padding:14px 16px 6px}
.info h2{font-size:22.5px;margin:0 0 6px}
.info-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1.5px dashed var(--line);font-size:14px;font-weight:700;line-height:1.4}
.info-row svg{flex:none;margin-top:2px;color:var(--accent)}
.info-row small{display:block;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.info-row a{color:var(--accent);font-weight:800}
.info-row .pre{white-space:pre-line}
.copy{margin-left:6px;min-height:36px;padding:0 12px;border-radius:18px;border:2px solid var(--accent);background:transparent;color:var(--accent);font-size:12px;font-weight:800}

/* Su schermi larghi (computer) il menu resta a colonna: i lati prendono il colore del tema */
html[data-theme="notte"],html[data-theme="notte"] body{background:#0C0810}
html[data-theme="giorno"],html[data-theme="giorno"] body{background:#F3DDB4}
@media (min-width:600px){.app{box-shadow:0 0 0 1px rgba(0,0,0,.25),0 0 60px rgba(0,0,0,.35)}}

/* ---------- Elenco: solo nome e prezzo (menu vero, 2026-10-29) ---------- */
button.dish{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;padding:12px 14px;gap:10px;min-height:56px}
button.dish:active{transform:scale(.99)}
.dishes{gap:8px}
.dish .body{display:flex;flex-direction:column;gap:4px}
.dish .badges{display:flex;flex-wrap:wrap;gap:6px}
.dish .badge{margin:0}
.dish-name{font-size:16.5px}
.frz{font-family:Nunito,system-ui,sans-serif;font-weight:900;color:var(--accent);margin-left:3px}
.dish .side{flex-direction:row;align-items:center;gap:8px;align-self:center}
.dish .price{font-size:17.5px}
.thought-mark{display:none;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--card);font-weight:900;font-size:13px;align-items:center;justify-content:center}
.notte .thought-mark{color:#1B2640}
.dish.thought .thought-mark{display:inline-flex}
.dish.thought{border-style:dashed;border-color:var(--accent)}

/* Coperto in cima e in fondo, avvisi fissi */
.cover-top{display:inline-block;margin:10px 0 0;padding:4px 14px;border-radius:14px;background:var(--card);border:2px solid var(--line);font-size:13px;font-weight:800;color:var(--ink)}
.cover-top[hidden],.cover-line[hidden]{display:none}
.cover-line{font-family:"Bagel Fat One",system-ui,sans-serif;font-size:16.5px;color:var(--ink);margin-bottom:6px}
.notes{list-style:none;margin:0 0 10px;padding:0;font-size:11.5px;font-weight:700;line-height:1.5;color:var(--muted)}
.notes:empty{display:none}

/* Colori per gruppi 5 e 6 */
.g4 .cat-head{background:#6B4A2B}
.g5 .cat-head{background:#5B3F8C}

/* ---------- Scheda del piatto ---------- */
.dish-sheet .sheet-head span{font-size:24px;line-height:1.1;padding-right:8px}
.dish-sheet .sheet-body{padding-top:6px}
.dish-sheet .badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ds-prices{display:flex;gap:10px;margin:4px 0 12px}
.ds-prices span{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:8px 12px;border:2px solid #1E2A47;border-radius:14px;background:#FFFFFF}
.ds-prices span:only-child{flex:none}
.ds-prices small{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#555B70}
.ds-prices b{font-family:"Bagel Fat One",system-ui,sans-serif;font-weight:400;font-size:22.5px;color:#B4491F}
.ds-h{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#B4491F;margin:12px 2px 4px}
.ds-desc{margin:0 2px;font-size:15px;font-weight:700;line-height:1.45}
.ds-frozen{margin:8px 2px 0;font-size:13px;font-weight:800;color:#2E6E9E}
.ds-quip{margin:8px 2px 0;font-size:14px;font-style:italic;font-weight:600;color:#B4491F}
.algs{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.algs li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:14px;background:#FFFFFF;border:1.5px solid #E3D3B4;font-size:13px;font-weight:800;line-height:1.2}
.alg-ico{flex:none;display:block}
.ds-none{margin:2px;font-size:13px;font-weight:700;color:#555B70}
.dish-sheet .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.dish-sheet .tag{color:#555B70;border-color:#E3D3B4}
.ds-actions{display:flex;justify-content:flex-end;margin-top:16px}
.ds-actions .think{min-height:48px;padding:0 18px;font-size:14px;border-color:#B4491F;color:#B4491F}
.ds-actions .think[aria-pressed="true"]{background:#B4491F;color:#FFF9EC}

/* Elenco con ingredienti (richiesta utente 2026-10-29) */
button.dish{align-items:flex-start}
.dish .side{align-self:flex-start;padding-top:1px}
.dish .desc{font-size:13px;line-height:1.4;color:var(--muted);margin-top:0;font-weight:600}
.ds-details{margin:0 2px;font-size:14px;line-height:1.5;white-space:pre-line}
/* Ingredienti più grandi e leggibili (richiesta utente 2026-10-29: la lunghezza della pagina non è un problema, si salta con "Sfoglia") */
.dish .desc{font-size:15.5px;line-height:1.45;font-weight:700;color:var(--ink);opacity:.82;margin-top:2px}
.dish-name{font-size:17.5px}
.ds-desc{font-size:16.5px;line-height:1.5}
/* Due prezzi: il secondo con l'etichetta DOUBLE (richiesta utente 2026-10-29) */
.prices2{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.price.p2{display:flex;align-items:center;gap:6px}
.price.p2 small{font-family:Nunito,system-ui,sans-serif;font-size:11px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;padding:2px 7px;border-radius:8px;background:var(--accent);color:var(--card)}
.notte .price.p2 small{color:#1B2640}
.ds-prices small{text-transform:uppercase}
/* Nome e ingredienti ancora più grandi (richiesta utente 2026-10-29): le schede crescono in altezza quanto serve */
button.dish{padding:14px 14px 15px;gap:12px}
.dish-name{font-size:21.5px;line-height:1.15}
.dish .desc{font-size:17.5px;line-height:1.42;margin-top:4px}
.dish .price{font-size:19.5px}
.price.p2 small{font-size:11px}
.ds-desc{font-size:17.5px}

/* Ingredienti con allergeni in grassetto (Reg. UE 1169/2011) + testo ancora più grande (richieste utente 2026-10-29) */
/* Ingredienti con allergene: grassetto + COLORE diverso dal testo (richiesta utente 30/10; non solo colore, resta anche il grassetto).
   Giorno e scheda del piatto (sempre chiara): rosso mattone scuro; notte nell'elenco: arancio del fuoco, un po' più chiaro dell'accento perché l'elenco è attenuato. Contrasto ≥ 5:1, distinguibile anche con daltonismo. */
.alg-w{font-weight:900;color:#9A2A0E;opacity:1}
.notte .dish .alg-w{color:#FFAE63}
.dish .desc{font-weight:600}
.dish-name{font-size:22.5px}
.dish .desc{font-size:18.5px;line-height:1.42}
.ds-desc{font-size:18.5px;font-weight:600}
.ds-desc .alg-w,.notte .ds-desc .alg-w{color:#9A2A0E}

/* Pop-up: frase libera del titolare */
.pop-name.pop-msg{font-family:Nunito,system-ui,sans-serif;font-size:14.5px;font-weight:800;line-height:1.3;white-space:pre-line;overflow-wrap:anywhere;word-break:normal}
.pop-go[hidden]{display:none}

/* Foto del pop-up posizionata dal pannello: la cornice 150×200 taglia quello che esce */
.bust{position:relative;overflow:hidden}
.bust img{position:absolute;width:auto;max-width:none;object-fit:initial;transform:translate(-50%,-50%)}
.bust svg{position:absolute;left:0;top:0}

/* Scritte svuotate dal pannello (richiesta utente 30/10): vuoto = non compare nulla, nemmeno un riquadro vuoto */
.badge:empty,.ds-h:empty,.ds-frozen:empty,.ds-none:empty,.ds-quip:empty,.think-note:empty,.think-empty:empty,.today-k:empty,.today-go:empty,
.pop-go:empty,.pop-next:empty,.pop-kicker:empty,.price.p2 small:empty,.ds-prices small:empty,.title:empty,.greeting:empty,.subline:empty,
.motto:empty,#footNote:empty,.dock-btn small:empty,.think:empty,.btn-main:empty,.cover-line:empty,.cover-top:empty,.waiter-head span:empty{display:none}

/* ---------- Bellissime info ---------- */
.soc-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 12px;margin:6px 0 18px}
.soc{display:flex;flex-direction:column;align-items:center;gap:6px;width:76px;color:#1E2A47;text-decoration:none;font-size:12.5px;font-weight:800}
.soc i{width:56px;height:56px;border-radius:28px;background:#1E2A47;color:#FFF9EC;display:flex;align-items:center;justify-content:center;font-style:normal}
.soc:active i{transform:scale(.94)}
.credits{border:2px solid #1E2A47;border-radius:18px;background:#FFF1D6;padding:14px 14px 16px;text-align:center;display:grid;gap:6px}
.credits .c-lead{font-size:15px;font-weight:800}
.credits .c-site{font-family:"Bagel Fat One",system-ui,sans-serif;font-size:21px;line-height:1.15;color:#B4491F;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.credits .c-tail{font-size:14px;font-style:italic;font-weight:700;color:#555B70;margin-top:4px}
.credits .c-lead:empty,.credits .c-tail:empty,.credits .c-site:empty{display:none}
.info-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:2px solid #1E2A47;border-radius:22px;background:#F47C32;color:#1E2A47;white-space:nowrap;box-shadow:0 3px 0 #1E2A47}
.info-link:active{transform:translateY(2px);box-shadow:0 1px 0 #1E2A47}
@media (max-width:350px){.title{font-size:17px}.info-link{padding:0 12px}.compact .brand .title{transform:translateX(46px) scale(.85)}.top{padding-left:12px;padding-right:10px}}
