/* =====================================================================
   GastroCMS – Design-Stile
   Gesteuert über <html data-theme="…">. "ofen" ist der Grundstil aus style.css.
   ===================================================================== */

/* ---------- Logo-Größen (alle Stile) ---------- */
html[data-logo="s"] .logo img { max-height: 34px; }
html[data-logo="l"] { --topbar-h: 76px; }
html[data-logo="l"] .logo img { max-height: 58px; }
.logo { gap: 10px; }
.logo img + .logo-text { font-size: 1.05rem; }

/* =====================================================================
   1) Steinofen – Grundstil (style.css), hier nur Feinheiten
   ===================================================================== */

/* =====================================================================
   2) Trattoria – klassisch italienisch, Serifenschrift, Speisekarte wie gedruckt
   ===================================================================== */
html[data-theme="trattoria"] {
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --ink: #2B241E;
  --ink-2: #554A40;
  --ink-3: #6E6255;
  --line: #E4D8C6;
  --bg: #FBF8F2;
  --surface: #FFFDF8;
  --surface-2: #F1EADD;
  --field-border: #D6C8B2;
  --bar-bg: rgba(251, 248, 242, .94);
  --bg-soft: #F5EFE4;
  --r-btn: 4px;
  --r-md: 6px;
  --r-lg: 10px;
}
[data-theme="trattoria"] h1, [data-theme="trattoria"] .section-title { font-weight: 600; letter-spacing: -0.01em; }
[data-theme="trattoria"] .logo-text { font-family: var(--font-display); font-weight: 700; font-style: italic; font-size: 1.4rem; }
[data-theme="trattoria"] .hero { border-bottom: 1px solid var(--line); }
[data-theme="trattoria"] .hero h1 { font-weight: 600; }
[data-theme="trattoria"] .arch {
  border-radius: 6px; aspect-ratio: 4 / 5;
  outline: 1px solid var(--brand); outline-offset: 10px; margin: 12px;
}
[data-theme="trattoria"] .arch-glow { opacity: .55; }
[data-theme="trattoria"] .arch-today strong { font-family: var(--font-display); font-weight: 600; }
[data-theme="trattoria"] .status { border-radius: 4px; }
[data-theme="trattoria"] .hl h2 { font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; }
[data-theme="trattoria"] .hl h2::before { width: 8px; height: 8px; border-radius: 50%; }
[data-theme="trattoria"] .catbar a { background: transparent; border-radius: 0; border: 0; border-bottom: 2px solid transparent; padding: 8px 12px; }
[data-theme="trattoria"] .catbar a.active { background: transparent; color: var(--brand-text); border-bottom-color: var(--brand); }
[data-theme="trattoria"] .cat-head { text-align: center; margin: 12px 0 14px; }
[data-theme="trattoria"] .cat-head h3 { font-weight: 600; font-size: 1.85rem; display: flex; align-items: center; gap: 16px; }
[data-theme="trattoria"] .cat-head h3::before, [data-theme="trattoria"] .cat-head h3::after { content: ""; flex: 1; height: 1px; background: var(--line); }
[data-theme="trattoria"] .cat-head p { font-style: italic; }
[data-theme="trattoria"] .num { background: transparent; font-family: var(--font-display); font-size: 1.05rem; color: var(--brand-text); min-width: 26px; padding: 0; height: auto; }
[data-theme="trattoria"] .item { border-bottom-style: dotted; }
[data-theme="trattoria"] .item-body h4 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; }
[data-theme="trattoria"] .desc { font-style: italic; }
[data-theme="trattoria"] .price { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; }
[data-theme="trattoria"] .add { border-radius: 4px; width: 40px; height: 40px; border-width: 1px; }
[data-theme="trattoria"] .tag { border-radius: 3px; }
[data-theme="trattoria"] .search { border-radius: 4px; }
[data-theme="trattoria"] .about-img img { border-radius: 6px; }
[data-theme="trattoria"] .hours tr.today th, [data-theme="trattoria"] .hours tr.today td { color: var(--brand-text); }
[data-theme="trattoria"] .mobile-cart, [data-theme="trattoria"] .cart-btn { border-radius: 6px; }
[data-theme="trattoria"] .seg-toggle, [data-theme="trattoria"] .seg-toggle span { border-radius: 4px; }

/* =====================================================================
   3) Nacht – dunkel, warmes Licht, für Burger-Läden, Bars, Lounges
   ===================================================================== */
html[data-theme="nacht"] {
  color-scheme: dark;
  --font-display: "Avenir Next Condensed", "Bahnschrift", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;
  --ink: #F1EEE8;
  --ink-2: #C7C2B9;
  --ink-3: #A39D92;
  --line: #2D3036;
  --bg: #121316;
  --bg-soft: #17191D;
  --surface: #1C1E23;
  --surface-2: #2A2D33;
  --field-border: #3B3F46;
  --bar-bg: rgba(18, 19, 22, .88);
  --focus: #FFFFFF;
  --on-ink: #121316;
  --bg-tint: color-mix(in srgb, var(--brand) 18%, #1C1E23);
  --hero-bg: radial-gradient(90% 70% at 85% 70%, color-mix(in srgb, var(--brand) 22%, transparent), transparent 70%), #121316;
  --about-bg: #17191D;
  --shadow-pop: 0 24px 60px -20px rgba(0, 0, 0, .8);
  --r-btn: 10px;
}
[data-theme="nacht"] h1, [data-theme="nacht"] .section-title, [data-theme="nacht"] .cat-head h3 { font-weight: 700; letter-spacing: 0; }
[data-theme="nacht"] .hero h1 { font-size: clamp(2.4rem, 7vw, 4.8rem); line-height: 1.02; }
[data-theme="nacht"] .logo-text { font-family: var(--font-display); font-size: 1.45rem; }
[data-theme="nacht"] .arch { box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 30px 80px -20px color-mix(in srgb, var(--brand) 60%, transparent); }
[data-theme="nacht"] .btn-ghost { color: var(--ink); border-color: var(--field-border); }
[data-theme="nacht"] .btn-ghost:hover { background: var(--surface-2); }
[data-theme="nacht"] .num { color: var(--brand-text); background: var(--bg-tint); }
[data-theme="nacht"] .price { color: var(--brand-text); }
[data-theme="nacht"] .tag-vegetarisch, [data-theme="nacht"] .tag-vegan { background: #1E3A28; color: #8EDCA8; }
[data-theme="nacht"] .tag-scharf { background: #43201A; color: #FF9B83; }
[data-theme="nacht"] .tag-beliebt { background: #3E3015; color: #F5C86A; }
[data-theme="nacht"] .tag-glutenfrei { background: #2D2546; color: #C3B1F5; }
[data-theme="nacht"] .tag-neu { background: color-mix(in srgb, var(--accent) 25%, #1C1E23); color: #fff; }
[data-theme="nacht"] .order-off { color: var(--ink); }
[data-theme="nacht"] .cart-hint { color: var(--ink); }
[data-theme="nacht"] .form-error { background: #43201A; color: #FFB4A3; }
[data-theme="nacht"] .done-mark { background: #1E3A28; color: #8EDCA8; }
[data-theme="nacht"] .done.is-pending .done-mark { background: #3E3015; color: #F5C86A; }
[data-theme="nacht"] .contact-list a, [data-theme="nacht"] .prose a, [data-theme="nacht"] .hours tr.today th, [data-theme="nacht"] .hours tr.today td { color: var(--brand-text); }
[data-theme="nacht"] .pay-opt:has(input:checked) { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
[data-theme="nacht"] .pay-opt input, [data-theme="nacht"] .variant-opt input { accent-color: var(--brand); }
[data-theme="nacht"] .vac-dates span { color: var(--ink); }
[data-theme="nacht"] .notice { background: var(--surface-2); color: var(--ink); }
[data-theme="nacht"] .modal::backdrop { background: rgba(0, 0, 0, .7); }

/* =====================================================================
   4) Frisch – hell, luftig, Karten-Raster; für Bowls, Sushi, Cafés
   ===================================================================== */
html[data-theme="frisch"] {
  --font-display: "Avenir Next", "Segoe UI Variable Display", "Helvetica Neue", system-ui, sans-serif;
  --ink: #17302A;
  --ink-2: #44574F;
  --ink-3: #61716A;
  --line: #E2EAE6;
  --bg: #FFFFFF;
  --bg-soft: #F3F7F5;
  --surface-2: #EBF1EE;
  --hero-bg: #F3F7F5;
  --about-bg: #FFFFFF;
  --r-btn: 14px;
  --r-md: 14px;
  --r-lg: 24px;
}
[data-theme="frisch"] h1, [data-theme="frisch"] .section-title, [data-theme="frisch"] .cat-head h3 { font-weight: 700; letter-spacing: -0.025em; }
[data-theme="frisch"] .arch { border-radius: 50%; aspect-ratio: 1; width: min(100%, 400px); }
[data-theme="frisch"] .arch-today { padding: 16px; }
[data-theme="frisch"] .arch-glow { background: radial-gradient(60% 60% at 30% 25%, rgba(255,255,255,.35), transparent 60%); mix-blend-mode: normal; animation: none; }
[data-theme="frisch"] .highlights { border-bottom: 0; }
[data-theme="frisch"] .highlights-inner { gap: 12px; padding: 20px var(--gutter); }
[data-theme="frisch"] .hl { background: var(--bg-soft); border: 0; border-radius: var(--r-md); padding: 20px !important; }
[data-theme="frisch"] .hl h2::before { width: 10px; height: 10px; border-radius: 50%; }
[data-theme="frisch"] .catbar a { background: transparent; border: 1px solid var(--line); }
[data-theme="frisch"] .catbar a.active { background: var(--brand); border-color: var(--brand); color: var(--brand-ink); }
[data-theme="frisch"] .items { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 14px; }
[data-theme="frisch"] .item { border: 1px solid var(--line); border-radius: var(--r-md); padding: 16px; background: var(--surface); }
[data-theme="frisch"] .item:last-child { border-bottom: 1px solid var(--line); }
[data-theme="frisch"] .item.has-img { grid-template-columns: auto 1fr auto; }
[data-theme="frisch"] .item-side { height: 100%; }
[data-theme="frisch"] .item-side .add { margin-top: auto; }
[data-theme="frisch"] .num { border-radius: 10px; }
[data-theme="frisch"] .add { border-radius: 12px; background: var(--brand); color: var(--brand-ink); border-color: var(--brand); }
[data-theme="frisch"] .cat { padding-top: 28px; }
[data-theme="frisch"] .about { border-top: 1px solid var(--line); }
[data-theme="frisch"] .about-img img { border-radius: var(--r-lg); }
@media (min-width: 1080px) {
  [data-theme="frisch"].no-order .items, html[data-theme="frisch"] .no-order .items { columns: auto; }
}

/* =====================================================================
   5) Street – laut, kräftige Konturen, harte Schatten; für Streetfood & Imbiss
   ===================================================================== */
html[data-theme="street"] {
  --font-display: "Arial Black", "Helvetica Neue", "Segoe UI Black", Impact, system-ui, sans-serif;
  --ink: #000000;
  --ink-2: #2A2A2A;
  --ink-3: #5C5C5C;
  --line: #000000;
  --bg: #FFFFFF;
  --bg-soft: #FFFFFF;
  --surface-2: #F1F1F1;
  --field-border: #000000;
  --bar-bg: #FFFFFF;
  --hero-bg: var(--brand);
  --about-bg: color-mix(in srgb, var(--accent) 14%, #fff);
  --r-btn: 6px;
  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 10px;
  --hard: 4px 4px 0 #000;
  --focus: #0047FF;
  --shadow-pop: 8px 8px 0 #000;
}
[data-theme="street"] h1, [data-theme="street"] .section-title, [data-theme="street"] .cat-head h3, [data-theme="street"] .logo-text {
  font-weight: 900; text-transform: uppercase; letter-spacing: -0.01em;
}
[data-theme="street"] .topbar { border-bottom: 3px solid #000; backdrop-filter: none; }
[data-theme="street"] .logo-text { font-family: var(--font-display); font-size: clamp(1rem, 4.2vw, 1.35rem); }
[data-theme="street"] .btn { border: 2.5px solid #000; box-shadow: var(--hard); transition: transform .1s, box-shadow .1s; }
[data-theme="street"] .btn:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 #000; filter: none; }
[data-theme="street"] .btn:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 #000; }
[data-theme="street"] .btn-ghost { background: #fff; color: #000; }
[data-theme="street"] .hero { color: var(--brand-ink); border-bottom: 3px solid #000; }
[data-theme="street"] .hero h1 { font-size: clamp(2.2rem, 7.4vw, 4.4rem); line-height: 1; max-width: 14ch; }
[data-theme="street"] .hero .lead { color: inherit; opacity: .92; }
[data-theme="street"] .hero-facts { color: inherit; }
[data-theme="street"] .hero-facts strong { color: inherit; opacity: .75; }
[data-theme="street"] .hero .btn:not(.btn-ghost) { background: #000; color: #fff; border-color: #000; box-shadow: 4px 4px 0 rgba(255,255,255,.9); }
[data-theme="street"] .status { border: 2px solid #000; color: #000; }
[data-theme="street"] .arch { border-radius: var(--r-lg); border: 3px solid #000; box-shadow: var(--shadow-pop); transform: rotate(-2.5deg); background: var(--accent); color: var(--accent-ink); aspect-ratio: 1; }
[data-theme="street"] .arch-glow { display: none; }
[data-theme="street"] .arch-today strong { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.9rem, 5vw, 2.8rem); }
[data-theme="street"] .highlights { border-bottom: 3px solid #000; }
[data-theme="street"] .hl { border-top: 3px solid #000; }
[data-theme="street"] .hl:first-child { border-top: 0; }
@media (min-width: 760px) {
  [data-theme="street"] .hl { border-top: 0; }
  [data-theme="street"] .hl + .hl { border-left: 3px solid #000; }
}
[data-theme="street"] .hl h2 { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; font-size: 1.4rem; }
[data-theme="street"] .hl h2::before { display: none; }
[data-theme="street"] .search { border: 2.5px solid #000; border-radius: 6px; background: #fff; }
[data-theme="street"] .catbar { border-bottom: 3px solid #000; backdrop-filter: none; }
[data-theme="street"] .catbar a { border: 2px solid #000; border-radius: 6px; background: #fff; color: #000; }
[data-theme="street"] .catbar a.active { background: var(--brand); color: var(--brand-ink); box-shadow: 3px 3px 0 #000; }
[data-theme="street"] .cat-head h3 { font-size: clamp(1.5rem, 5vw, 2rem); }
[data-theme="street"] .item { border-bottom: 2px solid #000; }
[data-theme="street"] .num { border-radius: 4px; background: #000; color: #fff; }
[data-theme="street"] .item-body h4 { font-size: 1.15rem; font-weight: 800; }
[data-theme="street"] .price { font-size: 1.15rem; font-weight: 900; }
[data-theme="street"] .add { border-radius: 6px; border: 2.5px solid #000; background: var(--brand); color: var(--brand-ink); box-shadow: 3px 3px 0 #000; }
[data-theme="street"] .add:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #000; }
[data-theme="street"] .tag { border: 1.5px solid #000; border-radius: 4px; }
[data-theme="street"] .thumb { border: 2px solid #000; }
@media (min-width: 1080px) {
  [data-theme="street"] .cart-panel { border: 3px solid #000; box-shadow: var(--shadow-pop); }
}
[data-theme="street"] .cart-btn { border: 2.5px solid #000; border-radius: 8px; box-shadow: 3px 3px 0 #000; }
[data-theme="street"] .mobile-cart { border: 3px solid #000; border-radius: 10px; box-shadow: 5px 5px 0 #000; }
[data-theme="street"] .modal { border: 3px solid #000; }
[data-theme="street"] .about-img img { border: 3px solid #000; border-radius: var(--r-lg); box-shadow: var(--shadow-pop); }
[data-theme="street"] .hours th, [data-theme="street"] .hours td { border-bottom: 2px solid #000; }
[data-theme="street"] .site-foot { border-top: 3px solid #000; }
[data-theme="street"] .notice { background: #000; color: #fff; font-weight: 700; }
[data-theme="street"] .toast { border-radius: 8px; }

[data-theme="street"] .hero :focus-visible { outline-color: #000; outline-offset: 3px; }
[data-theme="nacht"] .consent-opt input, [data-theme="nacht"] .check-inline input { accent-color: var(--brand); }
