/* Gemeinsame Design-Tokens & Bausteine */
:root {
  --brand1:#e30a17; --brand2:#ff7a18; --gold:#f5b301;
  --grad:linear-gradient(135deg,var(--brand1),var(--brand2));
  --bg:#eef0f4; --panel:rgba(255,255,255,.84); --card:rgba(255,255,255,.92); --text:#14161c; --muted:#5f6573;
  --line:rgba(20,22,28,.09); --soft:rgba(20,22,28,.05); --shadow:0 20px 50px -12px rgba(15,20,40,.28);
  --rec-bg:rgba(245,179,1,.12); --rec-line:rgba(245,179,1,.45); --road:#2a2e38;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg:#0c0e13; --panel:rgba(20,23,31,.8); --card:rgba(30,34,45,.88); --text:#eef0f5; --muted:#9aa1b0;
  --line:rgba(255,255,255,.09); --soft:rgba(255,255,255,.06); --shadow:0 20px 60px -10px rgba(0,0,0,.7); --road:#1a1d25;
} }
:root[data-theme="dark"] {
  --bg:#0c0e13; --panel:rgba(20,23,31,.8); --card:rgba(30,34,45,.88); --text:#eef0f5; --muted:#9aa1b0;
  --line:rgba(255,255,255,.09); --soft:rgba(255,255,255,.06); --shadow:0 20px 60px -10px rgba(0,0,0,.7); --road:#1a1d25;
}
* { box-sizing:border-box; }
body { font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; -webkit-font-smoothing:antialiased; }

.flag { width:20px; height:15px; border-radius:3px; object-fit:cover; vertical-align:-2px; box-shadow:0 0 0 1px rgba(0,0,0,.08); flex:none; }
.flag-lg { width:30px; height:22px; border-radius:4px; object-fit:cover; box-shadow:0 0 0 1px rgba(0,0,0,.1); }

.icon-btn { height:40px; min-width:40px; padding:0 11px; border-radius:12px; border:1px solid var(--line); background:var(--card); color:var(--text);
  display:inline-flex; align-items:center; justify-content:center; gap:6px; cursor:pointer; font:700 14px inherit; font-family:inherit; transition:.2s; flex:none; }
.icon-btn:hover { transform:translateY(-1px); }

/* Sprachmenü */
.lang { position:relative; flex:none; }
.lang-btn { height:40px; padding:0 11px; border-radius:12px; border:1px solid var(--line); background:var(--card); color:var(--text);
  display:inline-flex; align-items:center; gap:7px; cursor:pointer; font:700 13px inherit; font-family:inherit; transition:.2s; }
.lang-btn:hover { transform:translateY(-1px); }
.lang-list { position:absolute; right:0; top:calc(100% + 6px); min-width:170px; padding:6px; border-radius:14px; background:var(--card);
  border:1px solid var(--line); box-shadow:var(--shadow); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  display:none; z-index:2000; animation:langIn .18s ease; }
.lang.open .lang-list { display:block; }
@keyframes langIn { from { opacity:0; transform:translateY(-6px); } }
.lang-list button { width:100%; display:flex; align-items:center; gap:10px; padding:9px 10px; border:0; border-radius:10px; background:none;
  color:var(--text); font:600 14px inherit; font-family:inherit; cursor:pointer; text-align:left; }
.lang-list button:hover { background:var(--soft); }
.lang-list button.on { background:var(--soft); }
.lang-list button.on::after { content:'✓'; margin-left:auto; color:var(--brand2); font-weight:800; }

.legal { font-size:12px; color:var(--muted); }
.legal a { color:var(--muted); text-decoration:none; margin:0 6px; }
.legal a:hover { color:var(--text); text-decoration:underline; }
