/* Editor di Menu in Regola */
.barra { display: flex; align-items: center; gap: .6em; padding: .7em 1.2em; background: var(--carta); border-bottom: 1px solid var(--bordo); position: sticky; top: 0; z-index: 10; flex-wrap: wrap; }
.logo { font-size: 1.25em; letter-spacing: -.02em; }
.logo span { color: var(--accento); }
.piccola { font-size: .85em; }
.centro { text-align: center; }
.spazio { margin-top: .9em; }
.spazio-su { margin-top: 1em; }
label.scelta { display: flex; gap: .5em; align-items: center; color: var(--testo); font-size: 1em; }
label.scelta input { width: auto; }
.corpo-app { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 1.5em; padding: 1.2em; max-width: 1280px; margin: 0 auto; }
@media (max-width: 960px) { .corpo-app { grid-template-columns: 1fr; } .anteprima { order: 2; } }
.schede { display: flex; gap: .4em; margin-bottom: 1em; flex-wrap: wrap; }
.schede button.attiva { background: var(--accento); color: #fff; border-color: var(--accento); }
.pannello { display: none; }
.pannello.attivo { display: block; }
.aiuto { margin-top: 0; }

.categoria { background: var(--carta); border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 1em; margin-bottom: 1em; box-shadow: var(--ombra); }
.cat-testa { display: flex; gap: .5em; align-items: center; margin-bottom: .6em; }
.cat-testa input { font-weight: 700; font-size: 1.05em; }
.piatto-ed { border-top: 1px dashed var(--bordo); padding: .8em 0 .4em; }
.piatto-ed:first-of-type { border-top: 0; }
.campi { display: grid; grid-template-columns: minmax(0, 1fr) 100px auto; gap: .5em; align-items: start; }
.campi .descr-ed { grid-column: 1 / 3; }
.campi .en { grid-column: 1 / 3; }
.campi .mosse { display: flex; gap: .25em; grid-row: 1; grid-column: 3; }
.chips { display: flex; flex-wrap: wrap; gap: .3em; margin-top: .5em; }
.chip { font-size: .8em; border-radius: 999px; padding: .25em .65em; border: 1px solid var(--bordo); background: var(--fondo); color: var(--tenue); cursor: pointer; }
.chip.si { background: #f6d58b; border-color: #e0b24a; color: #4a3507; font-weight: 600; }
.chip.tr { background: #fff8e6; border: 1.5px dashed #a87a12; color: #6b4a0a; font-style: italic; font-weight: 600; }
.chip.finto { cursor: default; display: inline-block; }
.veg-scelta { font-size: .8em; padding: .25em .5em; width: auto; border-radius: 999px; }

.qr-riga { display: flex; gap: 1.2em; align-items: flex-start; flex-wrap: wrap; }
.qr { width: 190px; min-height: 190px; background: #fff; border: 1px solid var(--bordo); border-radius: 10px; padding: 6px; display: grid; place-items: center; }
.qr svg { width: 100%; height: auto; }

.anteprima { position: sticky; top: 70px; align-self: start; }
.telefono { border: 10px solid #1f2622; border-radius: 34px; height: 680px; overflow: auto; background: var(--fondo); box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.telefono .menu-cliente .comandi { top: 0; }

/* Stampa */
#stampa { display: none; }
@media print {
  body.stampando #app { display: none; }
  body.stampando #stampa { display: block; }
  body { background: #fff; }
}
.foglio { font-family: Georgia, "Times New Roman", serif; color: #111; }
.menu-a4 header { text-align: center; margin-bottom: 8mm; }
.menu-a4 h1 { font-size: 26pt; margin: 0; }
.menu-a4 header p { margin: 1mm 0 0; font-style: italic; }
.menu-a4 section { break-inside: avoid; margin-bottom: 6mm; }
.menu-a4 h2 { font-size: 12pt; text-transform: uppercase; letter-spacing: .15em; text-align: center; border-bottom: .3pt solid #999; padding-bottom: 1mm; }
.s-piatto { margin: 0 0 2.5mm; break-inside: avoid; }
.s-riga { display: flex; align-items: baseline; gap: 2mm; font-size: 11.5pt; }
.s-punti { flex: 1; border-bottom: .6pt dotted #999; transform: translateY(-1mm); }
.s-nome sup { font-size: 7.5pt; font-family: Arial, sans-serif; }
.s-veg { font: 700 7pt Arial, sans-serif; border: .5pt solid #555; border-radius: 2mm; padding: 0 1mm; vertical-align: middle; }
.s-descr { font-size: 9.5pt; color: #444; font-style: italic; }
.s-nota { text-align: center; font-size: 10pt; margin-top: 6mm; }
.menu-a4 footer { margin-top: 8mm; font: 8.5pt/1.45 Arial, sans-serif; color: #333; border-top: .3pt solid #999; padding-top: 2mm; }
.tabella-a4 { font-family: Arial, sans-serif; }
.tabella-a4 h1 { font-size: 15pt; margin: 0; }
.tabella-a4 header p { font-size: 8.5pt; margin: 1mm 0 3mm; }
.tabella-a4 table { width: 100%; border-collapse: collapse; font-size: 8.5pt; }
.tabella-a4 th, .tabella-a4 td { border: .4pt solid #777; padding: 1.2mm; text-align: center; }
.tabella-a4 th { height: 30mm; vertical-align: bottom; width: 7mm; }
.tabella-a4 th span { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-weight: 600; }
.tabella-a4 th:first-child { width: auto; text-align: left; vertical-align: bottom; }
.tabella-a4 td.t-nome { text-align: left; }
.tabella-a4 tr.t-cat td { background: #eee; font-weight: 700; text-align: left; }
.tabella-a4 tr { break-inside: avoid; }
.t-tracce { font-size: 7pt; }
.tabella-a4 footer { margin-top: 6mm; font-size: 9pt; }
.segnatavoli { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; height: 277mm; font-family: Arial, sans-serif; }
.segnatavolo { border: .4pt dashed #bbb; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 8mm; }
.segnatavolo h2 { font-family: Georgia, serif; font-size: 18pt; margin: 0 0 4mm; }
.segnatavolo .qr-st { width: 62mm; }
.segnatavoli.due { grid-template-columns: 1fr; }
.segnatavoli.due .qr-st { width: 95mm; }
.segnatavolo .qr-st svg { width: 100%; height: auto; }
.segnatavolo p { margin: 3mm 0 0; font-size: 11pt; }
.segnatavolo small { color: #555; font-size: 8.5pt; }
