/* Giardino Menù — base comune ai tablet di sala e cucina */
:root {
  --bg: #eef2ed; --surface: #ffffff; --field: #ffffff; --ink: #18221b; --muted: #56655a; --line: #d3ddd1; --track: #e3eae1;
  --leaf: #2f6140; --leaf-soft: #dde9dc;
  --warn: #8f5410; --warn-soft: #fbeed6; --bad: #a3352b; --bad-soft: #f8e1de; --hot: #b4361f; --hot-soft: #f9e0da;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color-scheme: light;
}
/* Aspetto (Gestione › Impostazioni): data-tema="auto" segue il dispositivo, "chiaro" e "scuro" sono fissi. */
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="chiaro"]) {
    --bg: #090d0b; --surface: #212c25; --field: #34453b; --ink: #eef3ed; --muted: #adbcb0; --line: #46584d; --track: #131a16;
    --leaf: #8cc29a; --leaf-soft: #26402f;
    --warn: #eab46a; --warn-soft: #382a16; --bad: #ef8f84; --bad-soft: #3b201d; --hot: #f2907c; --hot-soft: #3c211b;
    color-scheme: dark;
  }
}
:root[data-tema="scuro"] {
  --bg: #090d0b; --surface: #212c25; --field: #34453b; --ink: #eef3ed; --muted: #adbcb0; --line: #46584d; --track: #131a16;
  --leaf: #8cc29a; --leaf-soft: #26402f;
  --warn: #eab46a; --warn-soft: #382a16; --bad: #ef8f84; --bad-soft: #3b201d; --hot: #f2907c; --hot-soft: #3c211b;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  background: var(--bg); color: var(--ink); font-family: var(--font-body); font-size: 17px; line-height: 1.45;
  -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;
  padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
}
button, input, select { font-family: inherit; color: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible { outline: 3px solid var(--leaf); outline-offset: 2px; }
[hidden] { display: none !important; }
/* Menu ☰ comune: separatori */
.menu-pop .sep { display: block; border-top: 1px solid var(--line); margin: 6px 4px 2px; padding: 8px 8px 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.menu-pop .sep:empty { padding: 0; margin: 6px 4px; }
.menu-pop a.cur { background: var(--bg); box-shadow: inset 3px 0 0 var(--accent, var(--berry, currentColor)); }
.gsm-loading, .gsm-empty { color: var(--muted); text-align: center; padding: 60px 16px; font-size: 18px; }
.gsm-offline {
  position: fixed; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%);
  background: var(--warn-soft); color: var(--warn); font-size: 14px; font-weight: 600; padding: 8px 14px; border-radius: 999px; z-index: 40;
}
.n {
  display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
  font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; flex: 0 0 auto;
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
