/* ============================================================
   BYELINE – VENUE THEMES & NEUTRALE STARTSEITE
   Nur Layout/Farben – keine Funktionsänderungen.
   ============================================================ */

/* ---- Neutrale ByeLine-Startseite (byeline.ch) ---- */
html[data-theme="home"]{
  --bg:#f7f8fc;
  --bg-soft:#eef1f8;
  --card:#ffffff;
  --card-2:#eef2f7;
  --line:rgba(15,23,42,.10);
  --txt:#0f172a;
  --txt-dim:#475569;
  --txt-faint:#94a3b8;
  --aqua:#4f46e5;
  --aqua-bright:#6366f1;
  --blue:#4338ca;
  --violet:#7c3aed;
  --lime:#16a34a;
  --lime-bright:#22c55e;
  --grad:linear-gradient(135deg,#6366f1 0%,#4f46e5 45%,#7c3aed 100%);
  --grad-soft:linear-gradient(135deg,rgba(99,102,241,.10),rgba(79,70,229,.08),rgba(124,58,237,.08));
  --shadow:0 18px 50px rgba(15,23,42,.08);
  --shadow-sm:0 6px 22px rgba(15,23,42,.06);
}
html[data-theme="home"],
html[data-theme="home"] body{
  background:transparent;
}
/* Kein Badi-/Wellen-Feeling auf der Startseite */
html[data-theme="home"] .bg-deco .wave,
html[data-theme="home"] .bg-deco .drop,
html[data-theme="home"] .bg-deco .bubble{
  display:none !important;
}
html[data-theme="home"] .bg-deco{
  background:#f4f5fb;
  z-index:0;
}
html[data-theme="home"] .bg-deco::before,
html[data-theme="home"] .bg-deco::after{
  display:none;
}
html[data-theme="home"] #view-home,
html[data-theme="home"] #view-impressum,
html[data-theme="home"] #view-datenschutz,
html[data-theme="home"] #view-agb,
html[data-theme="home"] #view-login,
html[data-theme="home"] #view-register{
  position:relative;
  z-index:1;
}

/* Brand-Layer: nur auf Startseite / Login / Legal */
.bg-brand{display:none;position:absolute;inset:0;overflow:hidden}
html[data-theme="home"] .bg-brand{display:block}

.bg-brand-mesh{
  position:absolute;inset:-20%;
  background:
    radial-gradient(45% 40% at 18% 22%, rgba(99,102,241,.34), transparent 70%),
    radial-gradient(40% 38% at 82% 18%, rgba(124,58,237,.28), transparent 68%),
    radial-gradient(50% 45% at 55% 78%, rgba(67,56,202,.16), transparent 72%),
    radial-gradient(35% 30% at 70% 55%, rgba(34,211,238,.08), transparent 70%),
    linear-gradient(165deg, #eef0ff 0%, #f7f5ff 42%, #f8fafc 100%);
  animation:brandMesh 22s ease-in-out infinite alternate;
}
@keyframes brandMesh{
  0%{transform:translate(0,0) scale(1) rotate(0deg)}
  50%{transform:translate(-2%,1.5%) scale(1.04) rotate(1deg)}
  100%{transform:translate(2%,-1%) scale(1.06) rotate(-1deg)}
}

.bg-brand-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(79,70,229,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79,70,229,.045) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 75% 65% at 50% 35%, #000 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 35%, #000 20%, transparent 75%);
  animation:brandGrid 30s linear infinite;
  opacity:.9;
}
@keyframes brandGrid{
  from{transform:translateY(0)}
  to{transform:translateY(-56px)}
}

.bg-brand-orb{
  position:absolute;border-radius:50%;
  filter:blur(4px);
}
.bg-brand-orb.o1{
  width:min(42vw,420px);height:min(42vw,420px);
  top:4%;left:-6%;
  background:radial-gradient(circle,rgba(99,102,241,.35) 0%,rgba(99,102,241,.08) 45%,transparent 70%);
  animation:brandOrbA 16s ease-in-out infinite alternate;
}
.bg-brand-orb.o2{
  width:min(36vw,380px);height:min(36vw,380px);
  top:8%;right:-4%;
  background:radial-gradient(circle,rgba(124,58,237,.32) 0%,rgba(124,58,237,.07) 48%,transparent 70%);
  animation:brandOrbB 19s ease-in-out infinite alternate;
}
.bg-brand-orb.o3{
  width:min(48vw,520px);height:min(48vw,520px);
  bottom:-12%;left:28%;
  background:radial-gradient(circle,rgba(34,211,238,.14) 0%,rgba(79,70,229,.10) 40%,transparent 70%);
  animation:brandOrbC 21s ease-in-out infinite alternate;
}
@keyframes brandOrbA{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(8%,6%) scale(1.12)}
}
@keyframes brandOrbB{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(-10%,8%) scale(1.08)}
}
@keyframes brandOrbC{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(-4%,-8%) scale(1.15)}
}

.bg-brand-beam{
  position:absolute;top:-20%;left:35%;
  width:30%;height:140%;
  background:linear-gradient(105deg, transparent 35%, rgba(255,255,255,.45) 48%, rgba(167,139,250,.18) 52%, transparent 65%);
  transform:rotate(18deg);
  animation:brandBeam 12s ease-in-out infinite;
  opacity:.55;
  pointer-events:none;
}
@keyframes brandBeam{
  0%,100%{transform:translateX(-30%) rotate(18deg);opacity:.25}
  50%{transform:translateX(40%) rotate(18deg);opacity:.6}
}

/* Schwebende Logo-Marken (Wiedererkennung) */
.bg-brand-mark{
  position:absolute;
  border-radius:18%;
  background:linear-gradient(145deg,#6366f1,#4f46e5 45%,#7c3aed);
  box-shadow:0 12px 40px rgba(79,70,229,.22);
  opacity:.14;
}
.bg-brand-mark::after{
  content:"";position:absolute;inset:22% 24% 24% 22%;
  border:2.5px solid rgba(255,255,255,.9);border-radius:12%;
}
.bg-brand-mark.m1{width:72px;height:72px;top:14%;left:7%;animation:brandFloat 9s ease-in-out infinite;opacity:.18}
.bg-brand-mark.m2{width:48px;height:48px;top:22%;right:10%;animation:brandFloat 11s ease-in-out infinite reverse;animation-delay:1s;opacity:.14}
.bg-brand-mark.m3{width:36px;height:36px;top:58%;left:12%;animation:brandFloat 10s ease-in-out infinite;animation-delay:2s;opacity:.12}
.bg-brand-mark.m4{width:56px;height:56px;bottom:18%;right:14%;animation:brandFloat 13s ease-in-out infinite reverse;animation-delay:.5s;opacity:.16}
.bg-brand-mark.m5{width:28px;height:28px;top:42%;right:24%;animation:brandFloat 8s ease-in-out infinite;animation-delay:1.5s;opacity:.2;border-radius:22%}
@keyframes brandFloat{
  0%,100%{transform:translateY(0) rotate(-6deg)}
  50%{transform:translateY(-18px) rotate(8deg)}
}

.bg-brand-ring{
  position:absolute;border-radius:50%;
  border:1.5px solid rgba(99,102,241,.18);
  box-shadow:inset 0 0 40px rgba(124,58,237,.06);
}
.bg-brand-ring.r1{
  width:min(55vw,460px);height:min(55vw,460px);
  top:18%;left:50%;transform:translateX(-50%);
  animation:brandRing 20s linear infinite;
}
.bg-brand-ring.r2{
  width:min(38vw,300px);height:min(38vw,300px);
  top:28%;left:50%;transform:translateX(-50%);
  border-color:rgba(124,58,237,.14);
  animation:brandRing 14s linear infinite reverse;
}
@keyframes brandRing{
  from{transform:translateX(-50%) rotate(0deg) scale(1)}
  to{transform:translateX(-50%) rotate(360deg) scale(1.04)}
}

@media (prefers-reduced-motion: reduce){
  .bg-brand-mesh,.bg-brand-grid,.bg-brand-orb,
  .bg-brand-beam,.bg-brand-mark,.bg-brand-ring{animation:none}
}

/* Marken-Logo (neutral, ohne Badi-Emoji) */
.logo-mark--brand{
  width:2rem;height:2rem;border-radius:10px;
  background:var(--grad);
  box-shadow:0 4px 14px rgba(99,102,241,.28);
  flex-shrink:0;
  position:relative;
}
.logo-mark--brand::after{
  content:"";position:absolute;inset:6px 7px 7px 6px;
  border:2px solid rgba(255,255,255,.92);border-radius:3px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}

/* ---- Restaurant: warm, elegant ---- */
html[data-theme="restaurant"]{
  --bg:#fffaf7;
  --bg-soft:#fff4ed;
  --card:#ffffff;
  --card-2:#ffedd5;
  --line:rgba(154,52,18,.14);
  --txt:#431407;
  --txt-dim:#7c2d12;
  --txt-faint:#a8a29e;
  --aqua:#c2410c;
  --aqua-bright:#ea580c;
  --blue:#b45309;
  --violet:#9a3412;
  --lime:#65a30d;
  --lime-bright:#84cc16;
  --grad:linear-gradient(135deg,#fb923c 0%,#ea580c 50%,#b45309 100%);
  --grad-soft:linear-gradient(135deg,rgba(251,146,60,.12),rgba(234,88,12,.10),rgba(180,83,9,.08));
  --shadow:0 18px 50px rgba(124,45,18,.10);
  --shadow-sm:0 6px 22px rgba(124,45,18,.07);
}
html[data-theme="restaurant"] .bg-deco .wave,
html[data-theme="restaurant"] .bg-deco .drop{display:none}
html[data-theme="restaurant"] .bg-deco::before{
  background:
    radial-gradient(circle at 10% 15%, rgba(251,146,60,.18) 0 5px, transparent 6px),
    radial-gradient(circle at 28% 9%, rgba(234,88,12,.12) 0 3px, transparent 4px),
    radial-gradient(circle at 72% 11%, rgba(180,83,9,.14) 0 4px, transparent 5px),
    radial-gradient(circle at 90% 22%, rgba(251,146,60,.10) 0 6px, transparent 7px),
    radial-gradient(circle at 18% 48%, rgba(234,88,12,.08) 0 4px, transparent 5px),
    radial-gradient(circle at 62% 44%, rgba(180,83,9,.07) 0 5px, transparent 6px);
}
html[data-theme="restaurant"] .bg-deco::after{
  background:
    radial-gradient(640px 380px at 90% -8%,rgba(251,146,60,.14),transparent 60%),
    radial-gradient(500px 340px at -8% 24%,rgba(234,88,12,.08),transparent 60%);
}

/* ---- Skihütte: alpine, kühl ---- */
html[data-theme="skihuette"]{
  --bg:#f8fafc;
  --bg-soft:#eff6ff;
  --card:#ffffff;
  --card-2:#e0f2fe;
  --line:rgba(3,105,161,.14);
  --txt:#0c4a6e;
  --txt-dim:#0369a1;
  --txt-faint:#64748b;
  --aqua:#0369a1;
  --aqua-bright:#0ea5e9;
  --blue:#1d4ed8;
  --violet:#1e40af;
  --lime:#15803d;
  --lime-bright:#22c55e;
  --grad:linear-gradient(135deg,#38bdf8 0%,#0284c7 50%,#1e40af 100%);
  --grad-soft:linear-gradient(135deg,rgba(56,189,248,.12),rgba(2,132,199,.10),rgba(30,64,175,.08));
  --shadow:0 18px 50px rgba(3,105,161,.10);
  --shadow-sm:0 6px 22px rgba(3,105,161,.07);
}
html[data-theme="skihuette"] .bg-deco .wave{display:none}
html[data-theme="skihuette"] .bg-deco .drop{
  background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(186,230,253,.55));
  border-radius:50%;transform:none;animation:snowfloat 10s ease-in-out infinite;
}
@keyframes snowfloat{
  0%,100%{transform:translate(0,0);opacity:.75}
  50%{transform:translate(6px,14px);opacity:.35}
}
html[data-theme="skihuette"] .bg-deco::before{
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.9) 0 3px, transparent 4px),
    radial-gradient(circle at 34% 8%, rgba(186,230,253,.7) 0 4px, transparent 5px),
    radial-gradient(circle at 68% 14%, rgba(255,255,255,.8) 0 3px, transparent 4px),
    radial-gradient(circle at 86% 26%, rgba(125,211,252,.5) 0 5px, transparent 6px),
    radial-gradient(circle at 20% 52%, rgba(255,255,255,.6) 0 3px, transparent 4px);
}
html[data-theme="skihuette"] .bg-deco::after{
  background:
    radial-gradient(700px 420px at 88% -6%,rgba(56,189,248,.16),transparent 58%),
    linear-gradient(180deg,transparent 55%,rgba(30,64,175,.04) 100%);
}

/* ---- Spielhalle: neon, arcade ---- */
html[data-theme="spielhalle"]{
  --bg:#0f0a1a;
  --bg-soft:#1a1028;
  --card:#1c1230;
  --card-2:#261a3d;
  --line:rgba(168,85,247,.22);
  --txt:#f5f3ff;
  --txt-dim:#c4b5fd;
  --txt-faint:#8b5cf6;
  --aqua:#a855f7;
  --aqua-bright:#d946ef;
  --blue:#06b6d4;
  --violet:#7c3aed;
  --lime:#84cc16;
  --lime-bright:#a3e635;
  --grad:linear-gradient(135deg,#d946ef 0%,#7c3aed 45%,#06b6d4 100%);
  --grad-soft:linear-gradient(135deg,rgba(217,70,239,.18),rgba(124,58,237,.14),rgba(6,182,212,.12));
  --shadow:0 18px 50px rgba(124,58,237,.22);
  --shadow-sm:0 6px 22px rgba(124,58,237,.16);
}
html[data-theme="spielhalle"] body{background:var(--bg);color:var(--txt)}
html[data-theme="spielhalle"] .bg-deco{background:var(--bg)}
html[data-theme="spielhalle"] .bg-deco .wave,
html[data-theme="spielhalle"] .bg-deco .drop{display:none}
html[data-theme="spielhalle"] .bg-deco::before{
  background:
    linear-gradient(90deg,transparent 49%,rgba(168,85,247,.08) 50%,transparent 51%) 0 0/48px 48px,
    linear-gradient(0deg,transparent 49%,rgba(6,182,212,.06) 50%,transparent 51%) 0 0/48px 48px,
    radial-gradient(circle at 15% 20%, rgba(217,70,239,.25) 0 4px, transparent 5px),
    radial-gradient(circle at 82% 12%, rgba(6,182,212,.22) 0 5px, transparent 6px),
    radial-gradient(circle at 48% 38%, rgba(124,58,237,.18) 0 3px, transparent 4px);
}
html[data-theme="spielhalle"] .bg-deco::after{
  background:
    radial-gradient(600px 400px at 50% -10%,rgba(217,70,239,.20),transparent 55%),
    radial-gradient(400px 300px at 100% 80%,rgba(6,182,212,.12),transparent 50%);
}
html[data-theme="spielhalle"] .btn-primary{color:#fff}
html[data-theme="spielhalle"] .btn-ghost{
  background:rgba(28,18,48,.6);border-color:rgba(168,85,247,.35);color:var(--txt);
}
html[data-theme="spielhalle"] .card,
html[data-theme="spielhalle"] .glass{background:var(--card);border-color:var(--line)}
html[data-theme="spielhalle"] input,
html[data-theme="spielhalle"] select,
html[data-theme="spielhalle"] textarea{
  background:var(--bg-soft);color:var(--txt);border-color:var(--line);
}
html[data-theme="spielhalle"] .nav{background:rgba(15,10,26,.88);border-color:var(--line)}

/* ---- Startseite: Betreiber-Typen ---- */
.venue-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
}
.venue-card{
  text-align:center;padding:1.35rem 1rem;
  transition:transform .15s,box-shadow .15s;
}
.venue-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.venue-card .venue-ico{font-size:2.2rem;margin-bottom:.55rem;display:block}
.venue-card h3{font-size:1rem;margin-bottom:.35rem}
.venue-card p{font-size:.84rem;color:var(--txt-dim);line-height:1.45}
.venue-theme-badge{font-size:.68rem;vertical-align:middle}
@media (max-width:900px){
  .venue-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){
  .venue-grid{grid-template-columns:1fr}
}

/* ---- TV-Abholbildschirm pro Betreibertyp ---- */
html.tv-mode #view-tv.active{
  background:var(--tv-view-bg, #071525);
}
html.tv-mode[data-theme="badi"],
html.tv-mode[data-theme="badi"] #view-tv.active{
  --tv-view-bg:#071525;
  --tv-overlay:rgba(7,21,37,.96);
  --tv-overlay-soft:rgba(7,21,37,.88);
}
html.tv-mode[data-theme="restaurant"],
html.tv-mode[data-theme="restaurant"] #view-tv.active{
  --tv-view-bg:#120e0c;
  --tv-overlay:rgba(18,14,12,.96);
  --tv-overlay-soft:rgba(18,14,12,.88);
}
html.tv-mode[data-theme="skihuette"],
html.tv-mode[data-theme="skihuette"] #view-tv.active{
  --tv-view-bg:#0b1524;
  --tv-overlay:rgba(11,21,36,.94);
  --tv-overlay-soft:rgba(11,21,36,.86);
}
html.tv-mode[data-theme="spielhalle"],
html.tv-mode[data-theme="spielhalle"] #view-tv.active{
  --tv-view-bg:#1a0b2e;
  --tv-overlay:rgba(26,11,46,.96);
  --tv-overlay-soft:rgba(26,11,46,.88);
}

html.tv-mode[data-theme="restaurant"] .tv-col.prep{
  background:rgba(217,119,6,.16);border-color:rgba(234,88,12,.4);
}
html.tv-mode[data-theme="restaurant"] .tv-col.ready{
  background:rgba(249,115,22,.18);border-color:rgba(251,146,60,.5);
}
html.tv-mode[data-theme="restaurant"] .tv-col.ready .tv-num{
  background:#fb923c;color:#431407;
  animation:tvpop .5s cubic-bezier(.34,1.5,.64,1),tvglow-restaurant 1.6s ease infinite alternate;
}
@keyframes tvglow-restaurant{
  from{box-shadow:0 0 12px rgba(251,146,60,.4)}
  to{box-shadow:0 0 42px rgba(251,146,60,.75)}
}

html.tv-mode[data-theme="skihuette"] .tv-col.prep{
  background:rgba(14,165,233,.14);border-color:rgba(56,189,248,.35);
}
html.tv-mode[data-theme="skihuette"] .tv-col.ready{
  background:rgba(56,189,248,.16);border-color:rgba(125,211,252,.45);
}
html.tv-mode[data-theme="skihuette"] .tv-col.ready .tv-num{
  background:#38bdf8;color:#0c4a6e;
  animation:tvpop .5s cubic-bezier(.34,1.5,.64,1),tvglow-skihuette 1.6s ease infinite alternate;
}
@keyframes tvglow-skihuette{
  from{box-shadow:0 0 12px rgba(56,189,248,.4)}
  to{box-shadow:0 0 42px rgba(125,211,252,.75)}
}

html.tv-mode[data-theme="spielhalle"] .tv-col.prep{
  background:rgba(168,85,247,.16);border-color:rgba(192,132,252,.35);
}
html.tv-mode[data-theme="spielhalle"] .tv-col.ready{
  background:rgba(217,70,239,.18);border-color:rgba(6,182,212,.45);
}
html.tv-mode[data-theme="spielhalle"] .tv-col.ready .tv-num{
  background:linear-gradient(135deg,#d946ef,#06b6d4);color:#fff;
  animation:tvpop .5s cubic-bezier(.34,1.5,.64,1),tvglow-spielhalle 1.6s ease infinite alternate;
}
@keyframes tvglow-spielhalle{
  from{box-shadow:0 0 12px rgba(217,70,239,.45)}
  to{box-shadow:0 0 42px rgba(6,182,212,.65)}
}

html.tv-mode[data-theme="spielhalle"] .tv-login-inner,
html.tv-mode[data-theme="spielhalle"] .tv-fs-prompt-inner,
html.tv-mode[data-theme="spielhalle"] .tv-not-configured-inner{
  background:var(--card);border-color:var(--line);
}
html.tv-mode[data-theme="spielhalle"] .tv-numpad button{
  background:var(--card-2);border:1px solid var(--line);
}

/* ---- Gast-Speisekarte pro Betreibertyp ---- */
html[data-theme="badi"]{
  --gast-chips-bg:rgba(255,255,255,.88);
  --gast-header-bg:rgba(255,255,255,.94);
  --gast-news-accent:var(--aqua);
  --gast-banner-bg:linear-gradient(135deg, rgba(8,145,178,.14), rgba(5,150,105,.09));
  --gast-banner-border:rgba(8,145,178,.28);
  --gast-counter-bg:linear-gradient(135deg,rgba(8,145,178,.14),rgba(37,99,235,.10));
}
html[data-theme="restaurant"]{
  --gast-chips-bg:rgba(255,250,247,.94);
  --gast-header-bg:rgba(255,250,247,.96);
  --gast-news-accent:#ea580c;
  --gast-banner-bg:linear-gradient(135deg, rgba(234,88,12,.14), rgba(217,119,6,.10));
  --gast-banner-border:rgba(234,88,12,.32);
  --gast-counter-bg:linear-gradient(135deg,rgba(251,146,60,.16),rgba(234,88,12,.10));
}
html[data-theme="skihuette"]{
  --gast-chips-bg:rgba(248,250,252,.94);
  --gast-header-bg:rgba(248,250,252,.96);
  --gast-news-accent:#0ea5e9;
  --gast-banner-bg:linear-gradient(135deg, rgba(14,165,233,.14), rgba(56,189,248,.10));
  --gast-banner-border:rgba(14,165,233,.30);
  --gast-counter-bg:linear-gradient(135deg,rgba(56,189,248,.16),rgba(2,132,199,.10));
}
html[data-theme="spielhalle"]{
  --gast-chips-bg:rgba(26,16,40,.92);
  --gast-header-bg:rgba(15,10,26,.96);
  --gast-news-accent:#d946ef;
  --gast-banner-bg:linear-gradient(135deg, rgba(168,85,247,.22), rgba(6,182,212,.14));
  --gast-banner-border:rgba(168,85,247,.38);
  --gast-counter-bg:linear-gradient(135deg,rgba(124,58,237,.22),rgba(6,182,212,.14));
}

#view-gast .gast-header{background:var(--gast-header-bg, rgba(255,255,255,.94));backdrop-filter:blur(12px)}
#view-gast .news-card{border-left:3px solid var(--gast-news-accent, var(--aqua))}
#view-gast .menu-item{border-radius:18px}
#view-gast .menu-cat-title::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--gast-news-accent, var(--aqua));
  box-shadow:0 0 8px var(--gast-news-accent, var(--aqua));
}
#view-gast .g-open-orders-banner{
  background:var(--gast-banner-bg);
  border-color:var(--gast-banner-border);
}
#view-gast .g-counter-bar{background:var(--gast-counter-bg)}

html[data-theme="restaurant"] #view-gast .news-card{
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  border-color:rgba(234,88,12,.18);
}
html[data-theme="restaurant"] #view-gast .menu-item{
  border-color:rgba(234,88,12,.16);
  box-shadow:0 8px 24px rgba(124,45,18,.06);
}
html[data-theme="restaurant"] #view-gast .mi-emoji{
  background:linear-gradient(135deg,rgba(251,146,60,.18),rgba(234,88,12,.10));
  border-color:rgba(234,88,12,.20);
}
html[data-theme="restaurant"] #view-gast .cart-bar-inner{
  box-shadow:0 12px 40px rgba(234,88,12,.35);
}

html[data-theme="skihuette"] #view-gast .news-card{
  background:linear-gradient(135deg,#f0f9ff,#e0f2fe);
  border-color:rgba(14,165,233,.20);
}
html[data-theme="skihuette"] #view-gast .menu-item{
  border-color:rgba(14,165,233,.16);
  box-shadow:0 8px 24px rgba(3,105,161,.06);
}
html[data-theme="skihuette"] #view-gast .mi-emoji{
  background:linear-gradient(135deg,rgba(56,189,248,.16),rgba(2,132,199,.10));
  border-color:rgba(14,165,233,.22);
}
html[data-theme="skihuette"] #view-gast .cart-bar-inner{
  box-shadow:0 12px 40px rgba(14,165,233,.35);
}

html[data-theme="spielhalle"] #view-gast .chip.on{color:#fff}
html[data-theme="spielhalle"] #view-gast .qty-btn.plus{color:#fff}
html[data-theme="spielhalle"] #view-gast .lang-btn.on{color:#fff}
html[data-theme="spielhalle"] #view-gast .news-card{
  background:linear-gradient(135deg,#261a3d,#1c1230);
  border-color:rgba(168,85,247,.28);
}
html[data-theme="spielhalle"] #view-gast .menu-item{
  border-color:rgba(168,85,247,.24);
  box-shadow:0 8px 28px rgba(124,58,237,.18);
}
html[data-theme="spielhalle"] #view-gast .mi-emoji{
  background:linear-gradient(135deg,rgba(217,70,239,.20),rgba(6,182,212,.14));
  border-color:rgba(168,85,247,.30);
}
html[data-theme="spielhalle"] #view-gast .cart-bar-inner{
  box-shadow:0 12px 40px rgba(168,85,247,.40);
  color:#fff;
}
html[data-theme="spielhalle"] #view-gast .cart-bar-inner .cb-count{
  background:rgba(15,10,26,.85);color:var(--aqua-bright);
}

html[data-theme="badi"] #view-gast .news-card{
  background:linear-gradient(135deg,#ecfeff,#e0f2fe);
  border-color:rgba(8,145,178,.18);
}
html[data-theme="badi"] #view-gast .menu-item{
  border-color:rgba(8,145,178,.14);
}
html[data-theme="badi"] #view-gast .mi-emoji{
  background:var(--grad-soft);
}

/* TV-Modus: Hintergrund + html/body an Betreibertyp koppeln */
html.tv-mode,
html.tv-mode body{background:var(--tv-view-bg, #071525)}
