/* Vesuvio · shared header of the public pages (menu, language, theme) and the dark theme. */
.site-panel{display:flex;align-items:center;gap:16px;flex:1;min-width:0}
.topnav{display:flex;justify-content:center;gap:4px;flex:1;min-width:0}
.topnav a{padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px;color:var(--soot);white-space:nowrap;transition:background .2s}
.topnav a:hover{background:var(--flour)}
.topnav a[aria-current=page]{background:var(--flour);color:var(--brick)}
.site-tools{display:flex;align-items:center;gap:8px;flex:none}
.lang-select{height:38px;padding:0 10px;border:1.5px solid var(--stone);border-radius:999px;background:var(--white);color:var(--soot);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.theme-toggle,.menu-toggle{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--flour);color:var(--soot);cursor:pointer;flex:none}
.theme-toggle:hover,.menu-toggle:hover{background:var(--stone)}
.theme-toggle svg,.menu-toggle svg{width:19px;height:19px}
:root:not([data-theme=dark]) .ico-sun,:root[data-theme=dark] .ico-moon{display:none}
.menu-toggle{display:none}
.legal-lang-note{display:none;padding:12px 16px;border-radius:12px;background:var(--fire-soft);font-weight:600}
html:not([lang=de]) .legal-lang-note{display:block}
.of-top .site-panel{margin-left:16px}
.op-top{position:relative;gap:12px}
@media (max-width:1240px){
 .topbar-end{order:2;justify-content:flex-end;min-width:0}
 .status-pill{min-width:0;overflow:hidden;text-overflow:ellipsis}
 .menu-toggle{display:inline-grid;order:3}
 .site-panel,.of-top .site-panel{display:none;position:absolute;top:100%;left:8px;right:8px;z-index:80;flex-direction:column;align-items:stretch;gap:8px;margin:4px 0 0;padding:12px;border:1px solid var(--stone);border-radius:18px;background:var(--white);box-shadow:var(--shadow-2)}
 .site-panel.is-open,.of-top .site-panel.is-open{display:flex}
 .topnav{flex-direction:column;align-items:stretch;gap:2px}
 .topnav a{padding:12px 14px;font-size:16px}
 .site-tools{justify-content:space-between;padding:10px 4px 2px;border-top:1px solid var(--stone)}
 .lang-select{height:42px;font-size:16px}
}

/* Dark theme: the tokens flip; what was built by hand for a light page is set again below. */
:root[data-theme=dark]{--soot:#f4ede7;--soot-2:#e3dad2;--white:#1f1814;--flour:#2b221c;--stone:#3b3028;--stone-2:#52453b;--ash:#b0a499;--brick:#e0604c;--brick-2:#ec7562;--brick-soft:#3b1a15;--fire-soft:#3a2510;--basil:#4cc483;--basil-soft:#173322;--text-soft:#d6cbc1;--ok-text:#7fdca6;--warn-text:#f2b774;color-scheme:dark}
:root[data-theme=dark] body,:root[data-theme=dark] .shop{background:#17110d}
:root[data-theme=dark] .offers-page,:root[data-theme=dark] .order-page{background:#17110d;color:var(--soot)}
:root[data-theme=dark] .topbar,:root[data-theme=dark] .of-top{background:rgba(23,17,13,.92);border-bottom-color:var(--stone)}
:root[data-theme=dark] .menu-bar{background:rgba(23,17,13,.94)}
:root[data-theme=dark] .sheet-close{background:rgba(43,34,28,.92)}
:root[data-theme=dark] .pd-action{background:linear-gradient(transparent,var(--white) 18%)}
:root[data-theme=dark] .field input:not([type=checkbox]):not([type=radio]):not([type=file]),:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .input,:root[data-theme=dark] .of-field input{background:var(--flour);border-color:var(--stone-2);color:var(--soot)}
/* Solid light surfaces on the dark page need dark text. */
:root[data-theme=dark] .btn:not(.btn-primary):not(.btn-ghost):not(.btn-soft):not(.btn-danger){--fg:#17110d}
:root[data-theme=dark] .btn-soft{--fg:var(--soot)}
:root[data-theme=dark] .btn-danger{--bg:transparent;box-shadow:inset 0 0 0 1.5px var(--brick)}
:root[data-theme=dark] .btn-primary{--bg:#b5301f}
:root[data-theme=dark] .btn-primary:hover{--bg:#c93b28}
:root[data-theme=dark] .add-btn{background:#b5301f}
:root[data-theme=dark] .add-btn:hover{background:#c93b28}
:root[data-theme=dark] .cart-btn,:root[data-theme=dark] .cat-nav a.is-active,:root[data-theme=dark] .chip.is-on,:root[data-theme=dark] .chip-opt:has(input:checked),:root[data-theme=dark] .of-cta,:root[data-theme=dark] .skip,:root[data-theme=dark] .toast,:root[data-theme=dark] .mode-toggle button[aria-checked=true],:root[data-theme=dark] .tag-sale,:root[data-theme=dark] .cart-btn-icon b{color:#17110d}
:root[data-theme=dark] .chip-opt:has(input:checked) b{color:#4a3d34}
:root[data-theme=dark] .chip-add:has(input:checked),:root[data-theme=dark] .slot.is-on,:root[data-theme=dark] .hours-table tr.is-today th em,:root[data-theme=dark] .opt-group.is-missing .opt-rule,:root[data-theme=dark] .cart-dock{background:#b5301f;color:#fff}
:root[data-theme=dark] .reserve-inner{background:radial-gradient(120% 140% at 100% 100%,rgba(239,125,26,.22),transparent 55%),#7d1a11}
:root[data-theme=dark] .reserve-inner .btn-primary{--bg:#fff;--fg:#8f1d14}
:root[data-theme=dark] .story-copy{background:#241c17;color:#fff}
:root[data-theme=dark] .rc-day.is-on,:root[data-theme=dark] .res-times .slot.is-on,:root[data-theme=dark] .track-dot{color:#0e1a13}
:root[data-theme=dark] .rc-day.is-open:hover{background:#1f4530}
:root[data-theme=dark] .of-photo-plain{background:linear-gradient(135deg,#7d1a11,#b5301f)}
/* Logos are usually made for a light background. */
:root[data-theme=dark] .brand img,:root[data-theme=dark] .of-brand img,:root[data-theme=dark] .op-brand img,:root[data-theme=dark] .footer-logo{padding:3px 6px;border-radius:12px;background:#fff;mix-blend-mode:normal}
:root[data-theme=dark] .cookie-actions button{background:var(--flour);border-color:var(--stone-2)}
