/* =============================================================
   HFC – Hero Fighters Championship · PWA
   Design-Tokens exakt aus herofighters.de.
   ============================================================= */

:root{
  --bg:#0A0908; --bg-2:#16130D; --panel:#1A160F; --card:#211C14; --band:#13100B;
  --line:rgba(228,208,160,.22); --line-soft:rgba(255,255,255,.12);
  --cream:#F4EFE4; --muted:#B3A78F; --gold:#E7D5A8; --gold-deep:#C2A35E;
  --red:#B4472E; --blue:#3E6E86; --ok:#4E9E6A; --warn:#C98A2E;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,sans-serif;
  --maxw:1180px; --nav-h:64px; --tab-h:64px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--cream); font-family:var(--sans); font-weight:300;
  line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; }
section{ position:relative; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,48px); }
.hidden{ display:none !important; }

/* Typo */
.eyebrow{ font-weight:400; font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); }
.serif{ font-family:var(--serif); font-weight:500; letter-spacing:.02em; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:500; letter-spacing:.02em; line-height:1.05; }
.section-head{ text-align:center; margin-bottom:clamp(36px,6vw,64px); }
.section-head .eyebrow{ display:block; margin-bottom:16px; }
.section-head h2{ font-size:clamp(38px,7vw,72px); }
.divider{ width:54px; height:1px; background:var(--gold-deep); margin:20px auto 0; opacity:.6; }
.lead{ max-width:560px; margin:22px auto 0; color:var(--muted); font-size:14px; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-weight:400; font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  padding:15px 32px; border:1px solid var(--gold-deep); color:var(--gold);
  background:transparent; transition:.35s ease; border-radius:1px; }
.btn:hover{ background:var(--gold); color:#100E0B; border-color:var(--gold); }
.btn--solid{ background:var(--gold); color:#100E0B; border-color:var(--gold); }
.btn--solid:hover{ background:transparent; color:var(--gold); }
.btn--ghost{ border-color:var(--line-soft); color:var(--cream); }
.btn--ghost:hover{ background:var(--cream); color:#100E0B; border-color:var(--cream); }
.btn--sm{ padding:10px 20px; font-size:11px; letter-spacing:.18em; }
.btn--block{ width:100%; }
.btn:disabled{ opacity:.5; cursor:not-allowed; }

/* ============================= NAV ============================= */
.nav{ position:fixed; inset:0 0 auto 0; z-index:60; height:var(--nav-h);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(20px,5vw,48px); background:rgba(10,9,8,0);
  transition:background .4s, border-color .4s; border-bottom:1px solid transparent; }
.nav.scrolled{ background:rgba(10,9,8,.97); border-bottom:1px solid var(--line-soft); }
.nav__logo{ display:flex; align-items:center; gap:12px; }
.nav__logo img{ height:26px; width:auto; }
.nav__links{ display:flex; gap:28px; }
.nav__links a{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); transition:color .3s; cursor:pointer; }
.nav__links a:hover,.nav__links a.active{ color:var(--gold); }
.nav__right{ display:flex; align-items:center; gap:16px; }
.nav__cta{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold-deep); padding:9px 18px; transition:.3s; }
.nav__cta:hover{ background:var(--gold); color:#100E0B; }
.nav__accm{ display:none; }
/* Foto-Zuschnitt (rund) */
.cropov{ position:fixed; inset:0; z-index:200; background:rgba(0,0,0,.74); display:flex; align-items:center; justify-content:center; padding:20px; }
.cropbox{ background:#15120C; border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:22px; width:100%; max-width:340px; }
.crop-view{ position:relative; margin:0 auto; border-radius:12px; overflow:hidden; touch-action:none; background:#0A0908; cursor:grab; }
.crop-view:active{ cursor:grabbing; }
.crop-view canvas{ display:block; }
.crop-mask{ position:absolute; inset:0; pointer-events:none; border-radius:50%; box-shadow:0 0 0 999px rgba(10,9,8,.62); }
.crop-zoom{ width:100%; margin-top:16px; accent-color:var(--gold); }
/* Globaler Zurück-Button (auf allen Unterseiten) */
.backbtn{ position:fixed; top:74px; left:16px; z-index:70; display:none; align-items:center; gap:7px;
  background:rgba(21,18,12,.92); border:1px solid var(--line-soft); color:var(--cream);
  font-family:inherit; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
  padding:9px 15px; border-radius:999px; cursor:pointer; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  transition:border-color .2s,color .2s; }
.backbtn.show{ display:inline-flex; }
.backbtn:hover{ border-color:var(--gold-deep); color:var(--gold); }
.backbtn__ico{ font-size:15px; line-height:1; }
@media (max-width:860px){ .backbtn{ top:66px; left:12px; padding:8px 13px; } }
.nav__burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:6px; }
.nav__burger span{ width:24px; height:1.5px; background:var(--cream); transition:.3s; }

/* ============================= HERO ============================= */
.hero{ min-height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; padding:120px 20px 70px; background:#0A0908; overflow:hidden; }
/* Hero-Bild 1:1 wie herofighters.de: volle Deckkraft, helles Mittelband, Gold-Glow, unten positioniert */
.hero__bg{ position:absolute; inset:0; z-index:0; opacity:1;
  background:
    linear-gradient(rgba(10,9,8,.92) 0%, rgba(10,9,8,.66) 28%, rgba(10,9,8,.50) 48%, rgba(10,9,8,.82) 72%, rgba(10,9,8,.94) 100%),
    radial-gradient(70% 50% at 50% 18%, rgba(194,163,94,.15) 0%, rgba(0,0,0,0) 62%),
    url('../assets/hero-cutout.webp'),
    linear-gradient(#0A0908 0%, #0D0B09 55%, #0A0908 100%);
  background-size: cover, auto, min(100%,1500px), auto;
  background-position: 50% 50%, 50% 50%, 50% 100%, 50% 50%;
  background-repeat: no-repeat; }
.hero__inner{ position:relative; z-index:2; max-width:920px; }
.hero__logo{ height:clamp(120px,22vw,190px); width:auto; margin:0 auto clamp(14px,3vw,22px);
  filter:drop-shadow(0 8px 26px rgba(0,0,0,.55)); }
.hero .eyebrow{ margin-bottom:20px; }
.hero h1{ font-size:clamp(50px,11vw,112px); line-height:.98; }
.hero h1 .sub{ display:block; font-size:.42em; color:var(--gold); letter-spacing:.06em; margin-top:.35em; }
.hero__meta{ margin:24px 0 6px; font-size:13px; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); }
.hero__meta b{ color:var(--cream); font-weight:400; }
.hero__venue{ display:inline-block; margin:0 0 8px; font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); text-decoration:none; border-bottom:1px solid rgba(231,213,168,.55); padding-bottom:2px; }
.hero__venue:hover{ color:var(--cream); border-color:var(--cream); }
.hero__disc{ font-size:12px; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin:6px 0 34px; }
.countdown{ display:flex; gap:clamp(14px,4vw,42px); justify-content:center; margin:0 0 40px; }
.cd{ min-width:64px; }
.cd__num{ font-family:var(--serif); font-weight:500; font-size:clamp(38px,7vw,58px); line-height:1; text-shadow:0 2px 12px rgba(0,0,0,.7); }
.cd__lbl{ display:block; margin-top:8px; font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--cream); text-shadow:0 1px 6px rgba(0,0,0,.9); }
.hero__actions{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* ======================= FIGHT CARD ======================= */
.pad{ padding:clamp(70px,11vw,130px) 0; }
.band{ background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.line-top{ border-top:1px solid var(--line-soft); }
/* Abschnitts-Kopf klarer hervorheben */
.section-head h2{ text-shadow:0 2px 30px rgba(0,0,0,.5); }
.pad-top{ padding-top:calc(var(--nav-h) + clamp(30px,7vw,70px)); }
.fightcard{ display:flex; flex-direction:column; gap:14px; }
.bout{ border:1px solid var(--line-soft); background:var(--card);
  background-image:linear-gradient(100deg, rgba(180,71,46,.12) 0%, rgba(180,71,46,0) 34%, rgba(62,110,134,0) 66%, rgba(62,110,134,.12) 100%);
  padding:clamp(26px,3.5vw,32px) clamp(14px,4vw,34px) clamp(15px,2.5vw,18px);
  position:relative; transition:border-color .35s, transform .35s; }
.bout:hover{ border-color:var(--line); transform:translateY(-2px); }
.bout.title{ border-color:var(--gold-deep); }
.bout.islive{ border-color:var(--red); box-shadow:0 0 0 1px rgba(180,71,46,.4); }
.bout__slot{ position:absolute; top:-9px; left:50%; transform:translateX(-50%);
  font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold);
  background:#141009; padding:3px 14px; border:1px solid var(--line); white-space:nowrap; }
.bout.title .bout__slot{ color:#100E0B; background:var(--gold); border-color:var(--gold); }
.bout__top{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:clamp(8px,3vw,22px); }
.corner{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.corner.red{ text-align:right; align-items:flex-end; }
.corner.blue{ text-align:left; align-items:flex-start; }
.corner__name{ font-family:var(--serif); font-weight:500; font-size:clamp(17px,3.4vw,28px); line-height:1.05; overflow-wrap:anywhere; }
.corner__meta{ font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:6px; }
.corner.red .corner__meta{ flex-direction:row-reverse; }
.dot{ display:inline-block; width:7px; height:7px; border-radius:50%; flex:0 0 auto; }
.corner.red .dot{ background:var(--red); } .corner.blue .dot{ background:var(--blue); }
.bout__vs{ text-align:center; }
.bout__vs .vs{ font-family:var(--serif); font-weight:500; font-size:clamp(15px,3vw,20px); color:var(--gold-deep); }
.bout__foot{ margin-top:14px; padding-top:12px; border-top:1px solid var(--line-soft);
  display:flex; align-items:center; justify-content:center; gap:6px 12px; flex-wrap:wrap;
  font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.bout__cta{ margin-left:auto; color:var(--gold); font-weight:600; letter-spacing:.1em; white-space:nowrap; }
.bout:hover .bout__cta{ text-decoration:underline; }
@media(max-width:560px){ .bout__cta{ margin-left:0; width:100%; text-align:center; } }
.win-badge{ display:inline-block; margin-top:2px; }
.note{ text-align:center; margin-top:24px; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.win-badge{ display:inline-block; margin-top:6px; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#100E0B; background:var(--gold); padding:2px 8px; }
.pill{ display:inline-flex; align-items:center; gap:6px; font-size:10px; letter-spacing:.16em; text-transform:uppercase; padding:3px 10px; border:1px solid var(--line-soft); border-radius:20px; color:var(--muted); }
.pill.live{ color:#fff; border-color:var(--red); background:rgba(180,71,46,.18); }
.pill.live::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--red); animation:blink 1s infinite; }
.pill.done{ color:var(--gold); border-color:var(--line); }
@keyframes blink{ 50%{ opacity:.3; } }

/* ========================= TICKETS ========================= */
.tiers{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.tier{ border:1px solid var(--line-soft); background:var(--panel); padding:38px 30px; text-align:center; transition:.35s; position:relative; }
.tier:hover{ border-color:var(--line); transform:translateY(-3px); }
.tier--feat{ border-color:var(--gold-deep); }
.tier--feat::before{ content:"BELIEBT"; position:absolute; top:-10px; left:50%; transform:translateX(-50%);
  font-size:9px; letter-spacing:.24em; background:var(--gold); color:#100E0B; padding:3px 12px; }
.tier__name{ font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.tier__price{ font-family:var(--serif); font-weight:500; font-size:52px; line-height:1; }
.tier__price small{ font-size:18px; color:var(--muted); }
.tier__list{ list-style:none; margin:22px 0 28px; display:flex; flex-direction:column; gap:10px; font-size:13px; color:var(--muted); }
.tier__list li::before{ content:"—"; color:var(--gold-deep); margin-right:8px; }

/* ========================= SEASON ========================= */
.grid-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.mcard{ border:1px solid var(--line-soft); background:var(--panel); padding:30px; transition:.35s; }
.mcard:hover{ border-color:var(--line); }
.mcard__month{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.mrow{ display:flex; gap:16px; padding:16px 0; border-top:1px solid var(--line-soft); }
.mrow:first-of-type{ border-top:0; }
.mrow__date{ font-family:var(--serif); font-weight:500; font-size:24px; min-width:64px; }
.mrow__body h4{ font-family:var(--sans); font-weight:500; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.mrow__body h4.hl{ color:var(--gold); }
.mrow__body p{ font-size:13px; color:var(--muted); margin-top:4px; }
.mcard__venue{ margin-top:20px; padding-top:16px; border-top:1px solid var(--line-soft);
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); display:flex; justify-content:space-between; }
.mcard__venue a{ color:var(--gold); }

/* ========================= VOTING / LIVE ========================= */
.vote{ display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(12px,3vw,30px); align-items:center;
  border:1px solid var(--line); background:var(--panel); padding:clamp(22px,4vw,40px); max-width:760px; margin:0 auto; }
.vote__f{ text-align:center; }
.vote__name{ font-family:var(--serif); font-weight:500; font-size:clamp(20px,3.4vw,28px); }
.vote__bar{ height:6px; background:rgba(255,255,255,.06); margin-top:14px; border-radius:3px; overflow:hidden; }
.vote__bar i{ display:block; height:100%; width:50%; transition:width .5s ease; }
.vote__f.red .vote__bar i{ background:var(--red); } .vote__f.blue .vote__bar i{ background:var(--blue); }
.vote__pct{ font-size:12px; letter-spacing:.14em; color:var(--muted); margin-top:8px; display:block; }
.vote__btn{ margin-top:16px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold-deep); background:transparent; padding:9px 20px; transition:.3s; }
.vote__btn:hover:not(:disabled){ background:var(--gold); color:#100E0B; }
.vote__btn.voted{ background:var(--gold); color:#100E0B; }
.vote__mid{ font-family:var(--serif); font-weight:500; font-size:22px; color:var(--gold-deep); }

/* ========================= FIGHTER / FORM ========================= */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,80px); align-items:center; }
.card{ border:1px solid var(--line); background:var(--panel); padding:clamp(28px,5vw,50px); }
.card h3{ font-size:clamp(26px,4vw,40px); margin-bottom:16px; }
.card p{ color:var(--muted); margin-bottom:24px; }
.steps{ list-style:none; display:flex; flex-direction:column; gap:14px; margin-bottom:28px; }
.steps li{ display:flex; gap:14px; align-items:baseline; font-size:14px; }
.steps b{ font-family:var(--serif); font-size:20px; color:var(--gold); min-width:28px; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
.field input,.field select,.field textarea{ width:100%; background:#0C0A08; border:1px solid var(--line-soft);
  color:var(--cream); padding:13px 15px; font-family:var(--sans); font-size:15px; border-radius:2px; transition:border-color .3s; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--gold-deep); }
.field textarea{ min-height:90px; resize:vertical; }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

/* ========================= FIGHTERS GRID ========================= */
.fgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px; }
.fcard{ border:1px solid var(--line-soft); background:var(--panel); padding:26px 22px; text-align:center; transition:.35s; }
.fcard:hover{ border-color:var(--line); }
.fcard__ava{ width:76px; height:76px; margin:0 auto 16px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:30px; color:var(--gold-deep);
  background:radial-gradient(circle at 50% 30%, rgba(194,163,94,.14), transparent 70%); overflow:hidden; }
.fcard__ava img{ width:100%; height:100%; object-fit:cover; }
.fcard__name{ font-family:var(--serif); font-weight:500; font-size:22px; }
.fcard__meta{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:4px 0 16px; }
.follow{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold-deep); background:transparent; padding:7px 16px; transition:.3s; }
.follow:hover{ background:var(--gold); color:#100E0B; }
.follow.on{ background:var(--gold); color:#100E0B; }

/* ========================= TICKETS (MEINE) + QR ========================= */
.ticket{ max-width:420px; margin:0 auto 22px; border:1px solid var(--line); background:var(--panel); overflow:hidden; }
.ticket__top{ padding:22px 26px; border-bottom:1px dashed var(--line); display:flex; justify-content:space-between; align-items:center; }
.ticket__ev{ font-family:var(--serif); font-size:22px; }
.ticket__type{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.ticket__qr{ padding:26px; text-align:center; background:#0C0A08; }
.ticket__qr img{ width:190px; height:190px; margin:0 auto; background:#fff; padding:10px; border-radius:6px; }
.ticket__code{ margin-top:14px; font-size:11px; letter-spacing:.24em; color:var(--muted); text-transform:uppercase; }
.ticket__status{ padding:12px; text-align:center; font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
.ticket__status.valid{ color:var(--ok); } .ticket__status.used{ color:var(--muted); }

/* ========================= EMPTY / INFO ========================= */
.empty{ text-align:center; max-width:520px; margin:0 auto; padding:60px 20px; }
.empty__ico{ font-size:42px; margin-bottom:18px; }
.empty p{ color:var(--muted); margin-bottom:24px; }
.info-band{ border:1px solid var(--line-soft); background:var(--panel); padding:16px 20px; border-radius:2px;
  font-size:13px; color:var(--muted); display:flex; gap:12px; align-items:flex-start; max-width:760px; margin:0 auto 26px; }
.info-band b{ color:var(--gold); }

/* ========================= ADMIN ========================= */
.admin-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; align-items:start; }
.panel{ border:1px solid var(--line-soft); background:var(--panel); padding:26px; }
.panel h3{ font-size:22px; margin-bottom:6px; }
.panel .sub{ font-size:12px; color:var(--muted); margin-bottom:20px; }
.cam-wrap{ position:relative; margin-top:12px; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#000; aspect-ratio:4/3; }
.cam-wrap video{ width:100%; height:100%; object-fit:cover; display:block; }
.cam-frame{ position:absolute; inset:16% 16%; border:2px solid var(--gold); border-radius:10px; box-shadow:0 0 0 2000px rgba(0,0,0,.35); pointer-events:none; }
.scan-result{ margin-top:16px; padding:16px; border:1px solid var(--line-soft); font-size:14px; }
.scan-result.ok{ border-color:var(--ok); color:var(--ok); }
.scan-result.bad{ border-color:var(--red); color:#e2a08f; }
.adm-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--line-soft); font-size:14px; }
.adm-row:first-child{ border-top:0; }
.adm-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; padding:5px 10px; border:1px solid var(--line-soft); background:transparent; color:var(--muted); transition:.25s; }
.chip:hover{ border-color:var(--gold-deep); color:var(--gold); }
.chip.live{ border-color:var(--red); color:#e2a08f; }
.chip.red{ color:var(--red); } .chip.blue{ color:var(--blue); }
.tag{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }

/* ========================= VERWALTUNG (Admin CRUD) ========================= */
.tabbtns{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; justify-content:center; }
.tabbtn{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:11px 18px; border:1px solid var(--line-soft); background:transparent; color:var(--muted); transition:.25s; }
.tabbtn:hover{ color:var(--gold); }
.tabbtn.active{ border-color:var(--gold-deep); color:var(--gold); }
.vsection{ margin-bottom:34px; }
.vsection h3{ font-size:24px; margin-bottom:4px; }
.vsection .sub{ font-size:12px; color:var(--muted); margin-bottom:18px; }
.vform{ border:1px solid var(--line-soft); background:var(--panel); padding:24px; margin-bottom:22px; }
.vgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
.vlabel{ display:block; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.vin{ width:100%; background:#0C0A08; border:1px solid var(--line-soft); color:var(--cream); padding:11px 12px; font-family:var(--sans); font-size:14px; border-radius:2px; }
.vin:focus{ outline:none; border-color:var(--gold-deep); }
.vrow{ display:grid; gap:10px; align-items:center; padding:12px 0; border-top:1px solid var(--line-soft); }
.vrow:first-child{ border-top:0; }
.vrow-fight{ grid-template-columns:90px 1fr 1fr 120px 60px auto; }
.vrow-ticket{ grid-template-columns:1fr 90px 70px auto; }
.vrow-fighter{ grid-template-columns:1fr 1fr 90px 120px auto; }
.vrow-appl{ grid-template-columns:1fr 150px; }
.vrow-sponsor{ grid-template-columns:1fr auto; }
.vin--sm{ padding:8px 10px; font-size:13px; }
.chk{ display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--muted); letter-spacing:.1em; }
.iconbtn{ background:transparent; border:1px solid var(--line-soft); color:var(--muted); padding:8px 10px; font-size:12px; transition:.25s; }
.iconbtn:hover{ border-color:var(--gold-deep); color:var(--gold); }
.iconbtn.del:hover{ border-color:var(--red); color:#e2a08f; }
.evpicker{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.evchip{ font-size:11px; letter-spacing:.1em; padding:9px 14px; border:1px solid var(--line-soft); background:transparent; color:var(--muted); }
.evchip.active{ border-color:var(--gold-deep); color:var(--gold); }
.evchip.draft{ font-style:italic; opacity:.7; }
@media (max-width:760px){
  .vrow-fight,.vrow-ticket,.vrow-fighter{ grid-template-columns:1fr 1fr; }
}

/* Mobile-Hero: Inhalt dicht unter die Nav, größeres Logo, weniger Leerraum oben */
@media (max-width:640px){
  .hero{ justify-content:flex-start; min-height:auto; padding:calc(var(--nav-h) + 22px) 18px 44px; }
  .hero__logo{ height:clamp(168px,46vw,240px); margin-bottom:clamp(10px,2.5vw,18px); }
  .hero .eyebrow{ margin-bottom:14px; }
}

/* ========================= MATCHMAKER ========================= */
.mm-head{ display:flex; align-items:center; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:8px; }
.mm-free{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-deep); padding:5px 12px; border-radius:20px; }
.mm-pick{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px; }
.mm-chip{ display:flex; align-items:center; gap:8px; font-size:12px; letter-spacing:.04em; padding:9px 14px;
  border:1px solid var(--line-soft); background:transparent; color:var(--muted); transition:.25s; }
.mm-chip:hover{ border-color:var(--gold-deep); color:var(--gold); }
.mm-chip.active{ border-color:var(--gold); color:var(--gold); background:rgba(228,208,160,.06); }
.mm-chip .st{ width:7px; height:7px; border-radius:50%; background:var(--muted); }
.mm-chip .st.frei{ background:var(--ok); }
.mm-A{ border:1px solid var(--line); background:var(--panel); padding:22px 24px; display:flex; gap:18px; align-items:center; margin-bottom:22px; }
.mm-A .ava{ width:64px; height:64px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:26px; color:var(--gold-deep); background:radial-gradient(circle at 50% 30%,rgba(194,163,94,.14),transparent 70%); overflow:hidden; flex:0 0 auto; }
.mm-A .ava img{ width:100%; height:100%; object-fit:cover; }
.mm-A h3{ font-size:26px; }
.mm-A .stats{ font-size:12px; letter-spacing:.08em; color:var(--muted); margin-top:4px; }
.mm-A .stats b{ color:var(--cream); font-weight:400; }
.sliders{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-bottom:26px;
  border:1px solid var(--line-soft); background:var(--panel); padding:22px 24px; }
.slider label{ display:flex; justify-content:space-between; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.slider label b{ color:var(--gold); font-weight:500; letter-spacing:0; }
.slider input[type=range]{ width:100%; accent-color:var(--gold); }
.cand{ display:flex; gap:16px; align-items:center; border:1px solid var(--line-soft); background:var(--panel);
  padding:16px 18px; margin-bottom:12px; transition:.25s; position:relative; }
.cand:hover{ border-color:var(--line); }
.cand.green{ border-left:3px solid var(--ok); } .cand.yellow{ border-left:3px solid var(--warn); } .cand.red{ border-left:3px solid var(--red); }
.cand .ava{ width:56px; height:56px; border-radius:50%; border:1px solid var(--line-soft); display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:22px; color:var(--gold-deep); overflow:hidden; flex:0 0 auto; }
.cand .ava img{ width:100%; height:100%; object-fit:cover; }
.cand__main{ flex:1; min-width:0; }
.cand__name{ font-family:var(--serif); font-size:22px; display:flex; align-items:center; gap:10px; }
.dotampel{ width:11px; height:11px; border-radius:50%; flex:0 0 auto; }
.dotampel.green{ background:var(--ok); } .dotampel.yellow{ background:var(--warn); } .dotampel.red{ background:var(--red); }
.cand__meta{ font-size:12px; letter-spacing:.05em; color:var(--muted); margin-top:5px; display:flex; gap:12px; flex-wrap:wrap; }
.cand__meta .off{ color:#e2a08f; } .cand__meta .on{ color:var(--cream); }
.cand__warn{ font-size:11px; letter-spacing:.06em; color:#e2a08f; margin-top:5px; }
.cand__score{ text-align:center; flex:0 0 auto; }
.cand__score .n{ font-family:var(--serif); font-size:30px; line-height:1; color:var(--gold); }
.cand__score .l{ font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.disc-tags{ display:flex; gap:5px; flex-wrap:wrap; }
.disc-tag{ font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line-soft); padding:2px 7px; border-radius:10px; }
.mm-empty{ text-align:center; color:var(--muted); font-size:14px; padding:40px 0; }
.pillrow{ display:flex; gap:8px; flex-wrap:wrap; }
.pillbtn{ font-size:11px; letter-spacing:.08em; padding:8px 14px; border:1px solid var(--line-soft); background:transparent; color:var(--muted); }
.pillbtn.active{ border-color:var(--gold); color:var(--gold); background:rgba(228,208,160,.06); }

/* ========================= FOTO-UPLOAD / ANMELDUNGEN ========================= */
.photo-drop{ display:block; cursor:pointer; margin-bottom:18px; }
.photo-prev{ height:160px; border:1px dashed var(--line-soft); border-radius:4px; display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:13px; letter-spacing:.08em; overflow:hidden; background:#0C0A08; transition:.25s; }
.photo-drop:hover .photo-prev{ border-color:var(--gold-deep); color:var(--gold); }
.photo-prev img{ width:100%; height:100%; object-fit:cover; }
.appl-card{ display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-top:1px solid var(--line-soft); }
.appl-card:first-child{ border-top:0; }
.appl-ava{ width:52px; height:52px; border-radius:50%; border:1px solid var(--line-soft); flex:0 0 auto; display:flex; align-items:center;
  justify-content:center; font-family:var(--serif); font-size:18px; color:var(--gold-deep); overflow:hidden; background:#0C0A08; }
.appl-ava img{ width:100%; height:100%; object-fit:cover; }
.appl-main{ flex:1; min-width:0; }
.appl-name{ font-family:var(--serif); font-size:20px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.appl-actions{ display:flex; flex-direction:column; gap:8px; align-items:flex-end; flex:0 0 auto; }
@media (max-width:600px){ .appl-card{ flex-wrap:wrap; } .appl-actions{ flex-direction:row; align-items:center; width:100%; } }

/* ========================= MEDIEN-GALERIE ========================= */
.mediagrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
.masset{ border:1px solid var(--line-soft); background:var(--card); overflow:hidden; }
.masset__thumb{ display:block; position:relative; aspect-ratio:1; background:#0C0A08; }
.masset__thumb img,.masset__thumb video{ width:100%; height:100%; object-fit:cover; display:block; }
.masset__play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:26px; color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.7); }
.masset figcaption{ display:flex; justify-content:space-between; align-items:center; padding:9px 12px; font-size:12px; color:var(--muted); gap:8px; }
.masset figcaption span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.masset__dl{ color:var(--gold); border:1px solid var(--gold-deep); min-width:28px; height:26px; display:flex; align-items:center; justify-content:center; border-radius:2px; flex:0 0 auto; font-size:14px; }
.masset__dl:hover{ background:var(--gold); color:#100E0B; }
.upzone{ border:1px dashed var(--line); border-radius:3px; padding:20px; text-align:center; color:var(--muted); font-size:13px; cursor:pointer; transition:.25s; }
.upzone:hover{ border-color:var(--gold-deep); color:var(--gold); }
.upbar{ height:5px; background:rgba(255,255,255,.08); border-radius:3px; overflow:hidden; margin-top:10px; }
.upbar i{ display:block; height:100%; background:var(--gold); width:0; transition:width .2s; }

/* ========================= KÄMPFER-PROFIL ========================= */
.fp-head{ display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.fp-ava{ width:128px; height:128px; border-radius:50%; border:1px solid var(--line); background:var(--card);
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:52px; color:var(--gold-deep); overflow:hidden; flex:0 0 auto; }
.fp-ava img{ width:100%; height:100%; object-fit:cover; }
.fp-id h1{ font-size:clamp(34px,7vw,54px); line-height:1.02; }
.fp-sub{ font-size:12px; letter-spacing:.14em; color:var(--muted); margin-top:8px; text-transform:uppercase; }
.fp-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(84px,1fr)); gap:12px; margin-top:30px; border:1px solid var(--line-soft); background:var(--card); padding:22px 16px; }
.fp-stat{ text-align:center; }
.fp-stat .v{ font-family:var(--serif); font-weight:500; font-size:28px; color:var(--cream); }
.fp-stat .l{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-top:5px; }
.fcard__ava,.fcard__name{ cursor:pointer; }
.fcard__name:hover{ color:var(--gold); }

/* ========================= FIGHTER PRIME ADMIN ========================= */
.fp-list{ display:grid; gap:10px; }
.fp-frow{ display:flex; align-items:center; gap:14px; text-align:left; width:100%; border:1px solid var(--line-soft); background:var(--card); padding:12px 14px; transition:.2s; }
.fp-frow:hover{ border-color:var(--gold-deep); }
.fp-frow__ava{ width:46px; height:46px; flex:0 0 46px; border-radius:50%; overflow:hidden; background:var(--band); display:flex; align-items:center; justify-content:center; font-family:var(--serif); color:var(--gold); font-size:16px; }
.fp-frow__ava img{ width:100%; height:100%; object-fit:cover; }
.fp-frow__main{ flex:1; display:flex; flex-direction:column; gap:2px; } .fp-frow__main b{ color:var(--cream); }
.fp-frow__meta{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.fp-badge{ font-size:10px; letter-spacing:.06em; text-transform:uppercase; padding:4px 9px; border-radius:20px; border:1px solid var(--line-soft); color:var(--muted); white-space:nowrap; }
.fp-badge.ok{ border-color:var(--ok); color:var(--ok); }
.fp-badge.no{ border-color:var(--line-soft); color:var(--muted); }
.fp-upzone{ border:1.5px dashed var(--line-soft); background:var(--bg-2); padding:34px 16px; text-align:center; cursor:pointer; transition:.2s; }
.fp-upzone:hover,.fp-upzone.drag{ border-color:var(--gold); background:rgba(228,208,160,.05); }
.fp-upzone__in{ font-family:var(--serif); font-size:20px; color:var(--cream); }
.fp-upzone__in span{ display:block; font-family:'Jost',sans-serif; font-size:12px; color:var(--muted); margin-top:6px; }
.fp-switch{ display:inline-flex; align-items:center; gap:9px; cursor:pointer; color:var(--cream); }
.fp-switch input{ width:40px; height:22px; -webkit-appearance:none; appearance:none; background:var(--line-soft); border-radius:20px; position:relative; cursor:pointer; transition:.25s; }
.fp-switch input:checked{ background:var(--ok); }
.fp-switch input::after{ content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:.25s; }
.fp-switch input:checked::after{ left:20px; }

/* ========================= MEDIA CONTENT ========================= */
.mc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; }
.mc-card{ border:1px solid var(--line-soft); background:var(--card); overflow:hidden; display:flex; flex-direction:column; }
.mc-video{ display:block; margin:16px auto 0; height:520px; max-height:64vh; width:auto; aspect-ratio:9/16; background:#000; border:1px solid var(--line-soft); }
.mc-body{ padding:16px 18px 18px; }
.mc-tag{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
.mc-body h3{ font-size:22px; margin-bottom:8px; }
.mc-body p{ color:var(--muted); font-size:13.5px; line-height:1.55; margin-bottom:14px; }
@media(max-width:640px){ .mc-grid{ grid-template-columns:1fr; } }

/* ========================= FINANZEN ========================= */
.fin-kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:34px; }
.fin-kpi{ border:1px solid var(--line-soft); background:var(--card); padding:20px 16px; text-align:center; }
.fin-kpi .v{ font-family:var(--serif); font-weight:500; font-size:clamp(20px,3.5vw,28px); color:var(--cream); }
.fin-kpi .l{ font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-top:6px; }
.fin-kpi.pos .v{ color:var(--ok); } .fin-kpi.neg .v{ color:#e2a08f; }
.fin-block{ margin-bottom:38px; }
.fin-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.fin-head h3{ font-size:clamp(20px,3.5vw,26px); }
.fin-row{ display:block; border:1px solid var(--line-soft); background:var(--card); padding:12px 14px; margin-bottom:10px; border-radius:10px; }
.fin-in{ background:var(--bg-2); border:1px solid var(--line-soft); color:var(--cream); padding:8px 10px; font-size:13px; width:100%; border-radius:7px; }
.fin-amt{ display:flex; align-items:center; gap:6px; } .fin-amt span{ color:var(--muted); }
.fin-est{ font-size:10px; color:var(--warn); letter-spacing:.06em; white-space:nowrap; }
.fin-act{ display:flex; gap:6px; }
.fin-note{ font-size:11px; color:var(--muted); padding-top:8px; }
.finrow__top{ display:flex; gap:10px; align-items:center; }
.finrow__top .fin-label{ flex:1; min-width:0; font-weight:500; }
.finrow__month{ flex:none; font-size:12px; color:var(--gold-deep); white-space:nowrap; font-weight:600; }
.finrow__month.once{ color:var(--muted); font-weight:400; }
.finrow__mid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(92px,1fr)); gap:8px; margin-top:8px; }
.finrow__bot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; }
.fin-kpi--saldo{ grid-column:1/-1; }
.fin-kpi--saldo .v{ font-size:clamp(28px,7vw,44px); }
.fin-tickets .fin-trow{ display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:12px 0; border-top:1px solid var(--line-soft); }
.fin-tickets .fin-trow:first-child{ border-top:0; } .fin-tickets b{ font-family:var(--serif); color:var(--gold); }
@media(max-width:640px){ .fin-row{ grid-template-columns:1fr 1fr; } .fin-row .fin-label{ grid-column:1/-1; } .fin-act{ grid-column:1/-1; justify-content:flex-end; } }

/* ========================= TIPPSPIEL ========================= */
.tip-card{ border:1px solid var(--line-soft); background:var(--card); padding:16px 18px; margin-bottom:12px; }
.tip-slot{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; text-align:center; }
.tip-vs{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; }
.tip-mid{ font-family:var(--serif); font-weight:500; color:var(--gold-deep); font-size:18px; text-align:center; }
.tip-btn{ font-family:var(--serif); font-weight:500; font-size:clamp(16px,4vw,22px); padding:14px 10px; border:1px solid var(--line-soft); background:transparent; color:var(--cream); transition:.25s; overflow-wrap:anywhere; line-height:1.1; }
.tip-btn:hover:not(:disabled){ border-color:var(--gold-deep); color:var(--gold); }
.tip-btn.my{ border-color:var(--gold); color:var(--gold); background:rgba(228,208,160,.08); }
.tip-btn.done{ opacity:.75; cursor:default; }
.tip-res{ text-align:center; margin-top:14px; padding-top:12px; border-top:1px solid var(--line-soft); font-size:13px; color:var(--muted); }
.tip-res.ok{ color:var(--ok); } .tip-res.no{ color:#e2a08f; }
.tip-res b{ color:var(--cream); }
.lb-row{ display:grid; grid-template-columns:34px 1fr auto auto; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--line-soft); font-size:14px; }
.lb-row:first-child{ border-top:0; }
.lb-row.me{ color:var(--gold); }
.lb-rank{ font-family:var(--serif); font-weight:500; font-size:20px; color:var(--gold-deep); }
.lb-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lb-cor{ font-size:12px; color:var(--muted); }
.lb-pts{ font-family:var(--serif); font-weight:500; font-size:20px; color:var(--cream); }
.lb-row.me .lb-pts,.lb-row.me .lb-rank{ color:var(--gold); }

/* ========================= GEGENÜBERSTELLUNG (Matchup) ========================= */
.bout{ cursor:pointer; }
.bout:hover{ border-color:var(--gold-deep); }
.mu-hero{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:clamp(6px,2vw,18px);
  padding:clamp(26px,5vw,40px) clamp(10px,3vw,24px); border:1px solid var(--line); background:var(--card);
  background-image:linear-gradient(100deg, rgba(180,71,46,.20) 0%, rgba(180,71,46,0) 42%, rgba(62,110,134,0) 58%, rgba(62,110,134,.20) 100%); }
.mu-f{ text-align:center; min-width:0; }
.mu-ava{ width:clamp(84px,26vw,150px); height:clamp(84px,26vw,150px); border-radius:50%; margin:0 auto 14px; overflow:hidden;
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:clamp(30px,9vw,54px); background:#0C0A08; }
.mu-f.red .mu-ava{ border:2px solid var(--red); color:#e6a892; box-shadow:0 0 32px rgba(180,71,46,.42); }
.mu-f.blue .mu-ava{ border:2px solid var(--blue); color:#aecbda; box-shadow:0 0 32px rgba(62,110,134,.42); }
.mu-ava img{ width:100%; height:100%; object-fit:cover; }
.mu-name{ font-family:var(--serif); font-weight:500; font-size:clamp(17px,4.6vw,30px); line-height:1.05; overflow-wrap:anywhere; }
.mu-name a{ color:inherit; } .mu-name a:hover{ color:var(--gold); }
.mu-club{ font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-top:6px; }
.mu-rec{ font-family:var(--serif); font-weight:500; font-size:clamp(26px,8vw,44px); margin-top:10px; color:var(--cream); line-height:1; }
.mu-rec span{ font-size:.5em; color:var(--muted); }
.mu-vs{ font-family:var(--serif); font-weight:500; font-size:clamp(20px,6vw,40px); color:var(--gold); }
.mu-tape{ margin-top:22px; border:1px solid var(--line-soft); background:var(--panel); padding:4px clamp(14px,4vw,28px); }
.mu-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--line-soft); }
.mu-row:first-child{ border-top:0; }
.mu-row .rv{ text-align:right; font-family:var(--serif); font-size:clamp(16px,4.4vw,22px); overflow-wrap:anywhere; }
.mu-row .bv{ text-align:left; font-family:var(--serif); font-size:clamp(16px,4.4vw,22px); overflow-wrap:anywhere; }
.mu-row .lbl{ font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); text-align:center; min-width:76px; }
.mu-row .win{ color:var(--gold); }
.mu-row .rv.win::after{ content:"▸"; color:var(--gold); margin-left:6px; font-size:.66em; vertical-align:middle; }
.mu-row .bv.win::before{ content:"◂"; color:var(--gold); margin-right:6px; font-size:.66em; vertical-align:middle; }

/* ========================= SPONSORS / FOOTER ========================= */
.sponsors__row{ display:flex; flex-wrap:wrap; gap:clamp(24px,5vw,60px); justify-content:center; align-items:center; }
.sponsor{ font-family:var(--serif); font-weight:500; font-size:clamp(20px,3vw,30px); color:var(--muted); opacity:.7; transition:.35s; padding:10px 4px; }
.sponsor:hover{ color:var(--gold); opacity:1; }
.sponsor-logo{ display:inline-flex; align-items:center; padding:8px 6px; opacity:.9; transition:.3s; }
.sponsor-logo:hover{ opacity:1; transform:translateY(-2px); }
.sponsor-logo img{ height:clamp(42px,7vw,58px); width:auto; object-fit:contain; }
.footer{ padding:clamp(56px,8vw,96px) 0 calc(40px + var(--tab-h)); border-top:1px solid var(--line-soft); text-align:center; }
.footer__logo{ height:38px; margin:0 auto 16px; width:auto; }
.footer__tag{ font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin-bottom:28px; }
.footer__links{ display:flex; gap:22px; flex-wrap:wrap; justify-content:center; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.footer__links a:hover{ color:var(--gold); }
.footer__legal{ margin-top:32px; font-size:11px; letter-spacing:.1em; color:rgba(148,139,124,.6); line-height:1.9; }
.footer__legal a{ color:inherit; }
.footer__legal a:hover{ color:var(--gold); }

/* ========================= NUTZER-VORSCHAU (Admin) ========================= */
#previewBar{ position:fixed; left:0; right:0; bottom:0; z-index:75; display:flex; align-items:center; justify-content:center; gap:14px;
  background:var(--gold); color:#100E0B; font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:10px 16px; box-shadow:0 -6px 20px rgba(0,0,0,.4); }
#previewBar button{ background:#100E0B; color:var(--gold); border:0; padding:6px 16px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
@media (max-width:860px){ #previewBar{ bottom:var(--tab-h); } }

/* ========================= RECHTSTEXTE ========================= */
.legal-content{ color:var(--muted); font-size:14px; line-height:1.7; }
.legal-content h1,.legal-content h2,.legal-content h3,.legal-content h4{ font-family:var(--serif); font-weight:500; color:var(--cream); margin:26px 0 8px; line-height:1.25; }
.legal-content h1{ font-size:24px; } .legal-content h2{ font-size:20px; } .legal-content h3{ font-size:16px; } .legal-content h4{ font-size:14px; }
.legal-content p{ margin:9px 0; }
.legal-content ul,.legal-content ol{ margin:9px 0 9px 20px; } .legal-content li{ margin:5px 0; }
.legal-content a{ color:var(--gold); overflow-wrap:anywhere; }
.legal-content strong,.legal-content b{ color:var(--cream); }
.legal-content hr{ border:0; border-top:1px solid var(--line-soft); margin:20px 0; }

/* ========================= AUTH MODAL ========================= */
.modal{ position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px;
  background:rgba(5,4,3,.72); backdrop-filter:blur(4px); }
.modal__box{ width:min(420px,100%); border:1px solid var(--line); background:#0C0A08; padding:36px clamp(24px,5vw,40px); position:relative; }
.modal__box .hero__logo,.modal__logo{ height:34px; margin:0 auto 22px; display:block; }
.modal h3{ text-align:center; font-size:30px; margin-bottom:6px; }
.modal .sub{ text-align:center; font-size:13px; color:var(--muted); margin-bottom:26px; }
.modal__close{ position:absolute; top:14px; right:16px; background:none; border:0; color:var(--muted); font-size:22px; line-height:1; }
.modal__switch{ text-align:center; margin-top:18px; font-size:13px; color:var(--muted); }
.modal__switch a{ color:var(--gold); cursor:pointer; }
.modal__err{ color:#e2a08f; font-size:13px; text-align:center; margin-bottom:14px; min-height:18px; }
.demo-hint{ margin-top:18px; padding:12px 14px; border:1px dashed var(--line-soft); font-size:11px; letter-spacing:.06em; color:var(--muted); text-align:center; }
.demo-hint b{ color:var(--gold); }

/* ---- Konto: Löschung / Danger ---- */
.btn--danger{ background:var(--red); border-color:var(--red); color:#fff; }
.btn--danger:hover:not(:disabled){ filter:brightness(1.08); }
.btn:disabled{ opacity:.5; cursor:not-allowed; }
.link-danger{ color:#e2a08f; cursor:pointer; font-size:13px; letter-spacing:.06em; border-bottom:1px solid transparent; }
.link-danger:hover{ border-bottom-color:#e2a08f; }
.danger-band{ display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  border:1px solid var(--red); background:rgba(180,71,46,.12); padding:16px 18px; border-radius:2px; margin-bottom:20px; }
.danger-band b{ color:var(--cream); display:block; }
.danger-band span{ color:var(--muted); font-size:13px; }
.da-reasons{ display:grid; gap:8px; margin:6px 0 18px; }
.da-reason{ text-align:left; padding:12px 14px; border:1px solid var(--line-soft); background:transparent; color:var(--cream); font-size:14px; transition:.2s; }
.da-reason:hover{ border-color:var(--gold-deep); }
.da-reason.active{ border-color:var(--gold); color:var(--gold); background:rgba(228,208,160,.08); }
.da-info{ border:1px solid var(--line-soft); background:var(--band); padding:14px 16px; font-size:13px; color:var(--muted); margin-bottom:16px; }
.da-info b{ color:var(--cream); }
.da-info ul{ margin:8px 0 0; padding-left:18px; } .da-info li{ margin:4px 0; }
.da-confirm{ display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); margin-bottom:16px; cursor:pointer; }
.da-confirm input{ margin-top:2px; }

/* ========================= TOAST ========================= */
.toasts{ position:fixed; left:50%; bottom:calc(var(--tab-h) + 20px); transform:translateX(-50%); z-index:120; display:flex; flex-direction:column; gap:10px; width:min(420px,92vw); }
.toast{ background:#141210; border:1px solid var(--line); color:var(--cream); padding:13px 18px; font-size:13px;
  letter-spacing:.04em; border-radius:2px; box-shadow:0 8px 30px rgba(0,0,0,.5); animation:slideup .3s ease; }
.toast.ok{ border-color:var(--ok); } .toast.err{ border-color:var(--red); }
@keyframes slideup{ from{ opacity:0; transform:translateY(12px); } }

/* ========================= MOBILE TAB BAR ========================= */
.tabbar{ position:fixed; inset:auto 0 0 0; z-index:70; height:var(--tab-h);
  display:none; grid-template-columns:repeat(6,1fr); background:rgba(10,9,8,.98); border-top:1px solid var(--line-soft); }
.tabbar a{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.tabbar a.active{ color:var(--gold); }
.tabbar svg{ width:20px; height:20px; }

/* ========================= ENTWICKLER-VERMERK ========================= */
#madeby{ text-align:center; padding:18px 16px; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); background:var(--band); border-top:1px solid var(--line); }
#madeby b{ color:var(--gold); font-weight:500; letter-spacing:.16em; }
@media (max-width:860px){ #madeby{ padding-bottom:calc(18px + var(--tab-h)); } .cartbar{ bottom:var(--tab-h); } }

/* ========================= REVEAL ========================= */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }

/* ========================= RESPONSIVE ========================= */
@media (max-width:860px){
  .nav__links{ position:fixed; inset:0 0 0 auto; width:min(78vw,300px); flex-direction:column; justify-content:center;
    gap:24px; background:rgba(10,9,8,.98); padding:40px; transform:translateX(100%); transition:transform .4s; border-left:1px solid var(--line-soft); }
  .nav__links.open{ transform:none; }
  .nav__links a{ font-size:16px; color:var(--cream); font-weight:500; letter-spacing:.14em; padding:2px 0; }
  .nav__cta{ display:none; }
  .nav__accm{ display:inline-block !important; margin-top:6px; color:var(--gold) !important;
    border:1px solid var(--gold-deep); padding:13px 24px; text-align:center; border-radius:2px; }
  .nav__accm.active{ color:var(--gold) !important; }
  .nav__burger{ display:flex; z-index:80; }
  .tabbar{ display:grid; }
  .split{ grid-template-columns:1fr; }
  .vote{ grid-template-columns:1fr; } .vote__mid{ display:none; }
  .row2{ grid-template-columns:1fr; }
}

/* ---- Livestream ---- */
.stream-player{ position:relative; width:100%; max-width:960px; aspect-ratio:16/9; margin:0 auto;
  background:#000; border:1px solid var(--line-soft); border-radius:2px; overflow:hidden; }
.stream-player iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.sp-load{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#9a938c; font-family:var(--sans); font-size:13px; letter-spacing:.06em; }
/* Persönliches Wasserzeichen über dem Video (Leak-Rückverfolgung) */
.wm{ position:absolute; inset:0; pointer-events:none; z-index:4; overflow:hidden; }
.wm span{ position:absolute; top:8%; left:6%; font-family:var(--sans); font-weight:600; font-size:12px;
  color:rgba(255,255,255,.30); text-shadow:0 1px 3px rgba(0,0,0,.7); white-space:nowrap; letter-spacing:.05em;
  animation:wmMove 34s linear infinite; }
@keyframes wmMove{ 0%{top:8%;left:6%} 20%{top:14%;left:66%} 40%{top:78%;left:70%} 60%{top:82%;left:10%} 80%{top:46%;left:40%} 100%{top:8%;left:6%} }
@media(max-width:560px){ .wm span{ font-size:10px; } }
.live-badge{ display:inline-block; font-family:var(--sans); font-weight:400; font-size:12px;
  letter-spacing:.14em; color:#fff; background:var(--red); padding:3px 12px; border-radius:20px;
  vertical-align:middle; margin-left:12px; animation:livepulse 2s ease-in-out infinite; }
@keyframes livepulse{ 0%,100%{opacity:1} 50%{opacity:.5} }
.stream-gate{ max-width:420px; margin:0 auto; text-align:center; }
.stream-gate .field{ margin:14px 0; text-align:left; }

/* ---- Live jetzt (Startseite) — knallig ---- */
.livenow{ padding:22px 0; background:linear-gradient(180deg,#2a0f0a,#160b09); }
.livenow__card{ position:relative; display:flex; align-items:center; gap:18px; padding:20px 22px; overflow:hidden;
  border:1px solid rgba(226,84,42,.65); border-radius:16px; text-decoration:none;
  background:linear-gradient(120deg, rgba(200,50,25,.42), rgba(120,30,15,.30));
  animation:liveGlow 2.2s ease-in-out infinite; transition:transform .2s ease; }
.livenow__card:hover{ transform:translateY(-2px); }
@keyframes liveGlow{
  0%,100%{ box-shadow:0 0 0 1px rgba(226,84,42,.25), 0 8px 30px rgba(200,50,25,.30); }
  50%{ box-shadow:0 0 0 1px rgba(226,84,42,.55), 0 14px 52px rgba(226,84,42,.55); } }
.livenow__card + .livenow__card{ margin-top:12px; }
.livenow__badge{ display:inline-flex; align-items:center; gap:8px; flex:none;
  font-family:var(--sans); font-weight:800; font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  color:#fff; background:#E2542A; padding:9px 16px; border-radius:999px; box-shadow:0 0 20px rgba(226,84,42,.7); }
.livenow__dot{ width:9px; height:9px; border-radius:50%; background:#fff; box-shadow:0 0 8px #fff; animation:livepulse 1.1s ease-in-out infinite; }
.livenow__ttl{ flex:1; display:flex; flex-direction:column; gap:3px; min-width:0; }
.livenow__ttl b{ font-family:var(--serif); font-weight:600; font-size:24px; color:#fff; letter-spacing:.01em; line-height:1.1; }
.livenow__ttl span{ font-size:13px; color:#f0d8cf; }
.livenow__cta{ flex:none; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#160b09; background:var(--gold); padding:12px 20px; border-radius:999px; white-space:nowrap; box-shadow:0 4px 18px rgba(0,0,0,.35); }
@media(max-width:560px){
  .livenow__card{ flex-direction:column; align-items:center; text-align:center; gap:14px; }
  .livenow__badge{ order:1; }
  .livenow__cta{ order:2; width:100%; text-align:center; }
  .livenow__ttl{ order:3; align-items:center; }
  .livenow__ttl b{ font-size:22px; } }

/* ---- Livestream-Admin: OBS-Zugang + Signal ---- */
.obsbox{ border:1px solid var(--line-soft); border-radius:10px; padding:14px; background:rgba(255,255,255,.02); }
.obsbox__row{ display:flex; align-items:center; gap:10px; margin-top:8px; }
.obsbox__row:first-of-type{ margin-top:0; }
.obsbox__k{ flex:none; width:80px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.obsbox__v{ flex:1; min-width:0; font-family:ui-monospace,monospace; font-size:12px; color:var(--cream); background:#0d0b08;
  border:1px solid var(--line-soft); border-radius:6px; padding:8px 10px; overflow-x:auto; white-space:nowrap; }
.obsbox__copy{ flex:none; background:var(--gold); color:#100E0B; border:0; border-radius:6px; padding:8px 12px; font-size:14px; font-weight:700; cursor:pointer; }
.obsbox__copy:hover{ filter:brightness(1.08); }
.sasignal{ display:flex; align-items:center; gap:9px; padding:9px 12px; border-radius:8px; margin-bottom:12px;
  background:rgba(255,255,255,.03); border:1px solid var(--line-soft); font-size:13px; color:var(--muted); }
.sasignal__dot{ width:9px; height:9px; border-radius:50%; background:#7a736a; flex:none; }
.sasignal.on{ background:rgba(123,182,97,.12); border-color:rgba(123,182,97,.5); color:#bfe4ad; }
.sasignal.on .sasignal__dot{ background:#7BB661; box-shadow:0 0 10px #7BB661; animation:livepulse 1.1s ease-in-out infinite; }
.sa-steps{ list-style:none; margin:0; padding:0; }
.sa-steps li{ display:flex; gap:12px; align-items:flex-start; padding:9px 0; border-bottom:1px solid var(--line-soft); font-size:13.5px; color:var(--cream); line-height:1.5; }
.sa-steps li:last-child{ border-bottom:0; }
.sa-steps__n{ flex:none; width:24px; height:24px; border-radius:50%; background:var(--gold); color:#100E0B; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.sa-steps li b{ color:var(--gold); font-weight:600; }
.sa-look{ border:1px solid var(--line-soft); border-radius:10px; padding:14px; margin:14px 0; background:rgba(226,84,42,.05); }
.sa-look__hd{ font-family:var(--serif); font-size:18px; color:var(--gold); margin-bottom:4px; }

/* ---- Cinematic Livestage (Live-Seite) ---- */
.livestage{ position:relative; border-radius:18px; overflow:hidden; background:#0A0908;
  border:1px solid var(--acc,#E2542A); box-shadow:0 24px 70px rgba(0,0,0,.6), 0 0 55px -14px var(--acc,#E2542A); }
.livestage.is-live{ animation:stageGlow 2.6s ease-in-out infinite; }
@keyframes stageGlow{
  0%,100%{ box-shadow:0 24px 70px rgba(0,0,0,.6), 0 0 45px -16px var(--acc,#E2542A); }
  50%{ box-shadow:0 24px 82px rgba(0,0,0,.6), 0 0 92px -6px var(--acc,#E2542A); } }
.livestage__bg{ position:absolute; inset:-30px; background-size:cover; background-position:center;
  filter:blur(14px) saturate(1.2) brightness(.9); transform:scale(1.1); opacity:.82; }
.livestage__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,9,8,.45),rgba(10,9,8,.62)); }
.livestage__inner{ position:relative; z-index:1; }
.livestage__top{ display:flex; align-items:center; justify-content:center; gap:14px; }
.livestage__head{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:16px 18px;
  background:linear-gradient(180deg, rgba(10,9,8,.78), rgba(10,9,8,.28)); }
.livestage__logo{ height:30px; width:auto; flex:none; }
.livestage__meta{ min-width:0; }
.livestage__meta span{ display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#d8cdbf; margin-bottom:2px; }
.livestage__meta h3{ font-family:var(--serif); font-weight:600; font-size:clamp(19px,4.5vw,28px); color:#fff; line-height:1.08; }
.livestage__live{ flex:none; display:inline-flex; align-items:center; gap:7px; font-family:var(--sans); font-weight:800; font-size:12px; letter-spacing:.16em; color:#fff; background:#D2372A; padding:7px 14px; border-radius:999px; box-shadow:0 0 18px rgba(210,55,42,.75); }
.livestage__dot{ width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 8px #fff; animation:livepulse 1.1s ease-in-out infinite; }
.livestage__off{ flex:none; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line-soft); padding:6px 12px; border-radius:999px; }
.livestage__player{ position:relative; padding:14px; }
.livestage__player .stream-player{ border:1px solid var(--acc,#E2542A); border-radius:10px; box-shadow:0 0 24px -8px var(--acc,#E2542A); }
.livestage__player .info-band, .livestage__player .stream-gate{ margin:6px 2px; }
@media(max-width:560px){ .livestage__head{ flex-wrap:wrap; gap:10px; } .livestage__meta{ order:3; flex-basis:100%; } .livestage__logo{ height:26px; } .livestage__player{ padding:10px; } }
/* Broadcast-Bauchbinde am Player */
.lthird{ margin-top:12px; background:linear-gradient(90deg, rgba(10,9,8,.94), rgba(10,9,8,.72));
  border:1px solid var(--acc,#E2542A); border-left:4px solid var(--acc,#E2542A); border-radius:10px;
  padding:13px 16px; box-shadow:0 8px 26px rgba(0,0,0,.45); }
.lthird__main{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.lthird__badge{ display:inline-flex; align-items:center; gap:7px; flex:none; font-family:var(--sans); font-weight:800; font-size:11px; letter-spacing:.16em; color:#fff; background:var(--acc,#E2542A); padding:6px 13px; border-radius:999px; box-shadow:0 0 16px var(--acc,#E2542A); }
.lthird__badge--next{ background:transparent; color:var(--gold); border:1px solid var(--gold-deep); box-shadow:none; }
.lthird__badge--won{ background:var(--gold); color:#160b09; box-shadow:0 0 18px rgba(231,213,168,.6); }
.lthird--won{ border-color:var(--gold-deep); border-left-color:var(--gold); }
.lthird--won .lthird__vs i{ color:var(--gold-deep); }
.lthird__dot{ width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 6px #fff; animation:livepulse 1.1s ease-in-out infinite; }
.lthird__vs{ flex:1 1 220px; min-width:0; display:flex; align-items:center; justify-content:center; gap:12px; font-family:var(--serif); color:#fff; }
.lthird__vs b{ flex:1; font-weight:600; font-size:clamp(16px,3.6vw,23px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lthird__vs .lthird__r{ text-align:right; }
.lthird__vs .lthird__b{ text-align:left; }
.lthird__vs i{ flex:none; font-style:normal; font-size:12px; letter-spacing:.14em; color:var(--gold); }
.lthird__tag{ flex:none; font-size:11px; color:var(--gold-deep); letter-spacing:.05em; }
.lthird__next{ margin-top:7px; padding-top:7px; border-top:1px solid var(--line-soft); font-size:12px; color:#d8cdbf; text-align:center; }
.lthird__next b{ color:#fff; }
@media(max-width:560px){ .lthird__badge{ font-size:10px; padding:5px 10px; } .lthird__vs b{ font-size:15px; } .lthird__tag{ display:none; } }

/* ---- Live-Seite: Titelbild-Header (pro Event) ---- */
.live-hero{ position:relative; border-radius:6px; overflow:hidden; background-size:cover; background-position:center;
  min-height:220px; display:flex; align-items:flex-end; border:1px solid var(--line-soft); }
.live-hero__in{ padding:24px 26px; width:100%; }
.live-hero__in .eyebrow{ display:block; margin-bottom:8px; }
.live-hero__in h2{ font-size:clamp(28px,6vw,52px); color:#fff; line-height:1.05; }
.live-hero__in p{ color:var(--muted); margin-top:8px; font-size:13.5px; }

/* ---- Stream-Promo (Vormerken) ---- */
.promo{ padding:16px 0; background:linear-gradient(180deg,#20140e,#14100b); border-bottom:1px solid rgba(194,163,94,.28); }
.promo__card{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding:16px 20px;
  border:1px solid rgba(194,163,94,.35); border-radius:6px; background:rgba(194,163,94,.06); }
.promo__txt{ flex:1; min-width:220px; }
.promo__txt .eyebrow{ display:block; margin-bottom:6px; }
.promo__txt h3{ font-family:var(--serif); font-weight:500; font-size:clamp(18px,3.5vw,26px); color:#fff; letter-spacing:.02em; }
.promo__txt p{ font-size:13px; color:var(--muted); margin-top:6px; } .promo__txt p b{ color:var(--gold); }
@media(max-width:560px){ .promo__card{ flex-direction:column; align-items:stretch; text-align:center; } }

/* ---- Vormerken / Newsletter (Gast) ---- */
.vm-row{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.vm-row input{ flex:1; min-width:180px; padding:12px 14px; background:transparent; border:1px solid var(--line-soft);
  color:var(--cream); border-radius:2px; font-family:inherit; font-size:14px; }
.vm-row input:focus{ outline:none; border-color:var(--gold-deep); }
.vm-news{ display:flex; gap:8px; align-items:center; margin-top:10px; font-size:12.5px; color:var(--muted); text-align:left; }
.vm-news input{ width:16px; height:16px; accent-color:var(--gold-deep); }
.vm-hint{ font-size:11.5px; color:var(--muted); margin-top:8px; } .vm-hint a{ color:var(--gold); text-decoration:underline; }
.vm-ok{ color:var(--ok); font-size:13.5px; } .vm-err{ color:var(--red); font-size:12.5px; }
.footer__news{ margin:8px auto 26px; max-width:460px; }
.footer__news p{ font-size:13px; color:var(--muted); letter-spacing:.02em; }
.footer__news .vm-row{ justify-content:center; }
.footer__news .vm-row .btn{ min-width:180px; }

/* ---------- Phase 3: Ads / PRO / Featured ---------- */
.adband{ padding:10px 0; }
.adband__card{ display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  border:1px solid var(--line-soft); border-radius:14px; padding:12px 16px; background:rgba(255,255,255,.025); }
.adband__body{ display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; flex:1 1 auto; min-width:0; }
.adband__body img{ height:44px; max-width:72px; object-fit:contain; flex:none; }
.adband__logotxt{ font-family:var(--serif); color:var(--cream); font-size:18px; flex:none; }
.adband__txt{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.adband__tag{ font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.adband__by{ color:var(--cream); font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.adband__by b{ color:var(--gold-deep); font-weight:600; }
.adband__pro{ flex:none; margin-left:auto; font-size:12px; color:var(--gold-deep); text-decoration:none; white-space:nowrap;
  border:1px solid var(--line-soft); border-radius:9px; padding:8px 12px; transition:border-color .2s; }
.adband__pro:hover{ border-color:var(--gold-deep); }
@media(max-width:440px){ .adband__pro{ width:100%; text-align:center; margin:2px 0 0; } }
.adfree{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; text-decoration:none;
  padding:18px 16px; border-radius:14px; border:1px dashed rgba(228,208,160,.45);
  background:linear-gradient(135deg,rgba(228,208,160,.09),rgba(255,255,255,.02)); transition:border-color .2s; }
.adfree:hover{ border-color:var(--gold); }
.adfree__tag{ font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.adfree__main{ font-size:clamp(15px,4vw,18px); color:var(--cream); }
.adfree__main b{ color:var(--gold); }
.adfree__sub{ font-size:12.5px; color:var(--muted); }
.adfree__cta{ margin-top:10px; font-size:13px; font-weight:700; color:#100E0B; background:var(--gold); padding:9px 18px; border-radius:9px; }
.feat-badge{ position:absolute; top:10px; right:10px; background:linear-gradient(90deg,#E7D5A8,#C2A35E);
  color:#1a130b; font-size:11px; font-weight:600; padding:3px 8px; border-radius:6px; z-index:2; }
.fcard{ position:relative; }
.fcard--feat{ border-color:rgba(194,163,94,.55); box-shadow:0 0 0 1px rgba(194,163,94,.25); }
.bout--static{ cursor:default; }

/* ---------- Gegenüberstellung: Titelkampf-Schärpe + Live-Status ---------- */
.mu-flags{ display:flex; justify-content:center; gap:10px; margin:0 0 16px; flex-wrap:wrap; }
.mu-flag{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  padding:5px 12px; border-radius:20px; border:1px solid var(--line-soft); }
.mu-flag--live{ background:var(--red); color:#fff; border-color:transparent; animation:muPulse 1.4s ease-in-out infinite; }
.mu-flag--done{ color:var(--muted); }
@keyframes muPulse{ 0%,100%{ opacity:1; box-shadow:0 0 0 0 rgba(180,71,46,.5); } 50%{ opacity:.85; box-shadow:0 0 0 8px rgba(180,71,46,0); } }
.mu-hero{ position:relative; }
.mu-hero--title{ border:1px solid rgba(194,163,94,.45); box-shadow:0 0 0 1px rgba(194,163,94,.18), 0 10px 40px -22px rgba(194,163,94,.5); }
.mu-hero--live{ box-shadow:0 0 0 1px rgba(180,71,46,.35), 0 10px 44px -20px rgba(180,71,46,.55); }
.mu-sash{ position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:linear-gradient(90deg,#E7D5A8,#C2A35E); color:#1a130b;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  padding:5px 16px; border-radius:20px; white-space:nowrap; box-shadow:0 6px 18px -8px rgba(194,163,94,.7); z-index:2; }

/* ---------- Operator: Live-Steuerung ---------- */
.livectl{ max-height:62vh; overflow-y:auto; margin:0 -4px; padding:0 4px; }
.adm-row.is-live{ background:rgba(180,71,46,.12); border-radius:8px; padding-left:8px; padding-right:8px; }
.chip.on{ background:var(--gold); color:#100E0B; border-color:transparent; font-weight:600; }

/* ---------- Kampfabend-Modus (Ringside) ---------- */
.rs-prog{ height:8px; border-radius:6px; background:var(--panel); overflow:hidden; margin-bottom:22px; }
.rs-prog i{ display:block; height:100%; background:linear-gradient(90deg,#E7D5A8,#C2A35E); transition:width .3s; }
.rs-block{ border:1px solid var(--line-soft); border-radius:14px; background:var(--card); padding:18px; margin-bottom:16px; }
.rs-block.is-live{ border-color:rgba(180,71,46,.5); box-shadow:0 0 0 1px rgba(180,71,46,.25); }
.rs-lbl{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.rs-status{ font-size:15px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.rs-status.is-live{ color:var(--red); }
.rs-title{ font-size:12px; color:var(--gold-deep); letter-spacing:.06em; margin:10px 0 6px; text-transform:uppercase; }
.rs-vs{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-family:var(--serif); }
.rs-red,.rs-blue{ flex:1; font-size:clamp(23px,6.4vw,34px); line-height:1.08; overflow-wrap:anywhere; }
.rs-blue{ text-align:right; }
.rs-mid{ color:var(--muted); font-size:14px; text-transform:uppercase; letter-spacing:.1em; }
.rs-wins{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
.rs-btn{ border:none; border-radius:12px; padding:20px 12px; font-size:17px; font-weight:600; cursor:pointer;
  font-family:inherit; color:#fff; overflow-wrap:anywhere; }
.rs-btn--red{ background:linear-gradient(180deg,#c14d34,#9c3b27); }
.rs-btn--blue{ background:linear-gradient(180deg,#3E6E86,#2f566a); }
.rs-btn--go{ width:100%; margin-top:14px; background:linear-gradient(180deg,#E7D5A8,#C2A35E); color:#1a130b; padding:22px; font-size:18px; }
.rs-draw{ width:100%; margin-top:10px; background:transparent; border:1px solid var(--line-soft); color:var(--muted);
  border-radius:10px; padding:12px; font-size:13px; cursor:pointer; font-family:inherit; }
.rs-all{ margin-top:8px; } .rs-all summary{ cursor:pointer; color:var(--gold-deep); font-size:14px; padding:8px 0; }
.rs-list{ margin-top:8px; }
.rs-row{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 8px; border-bottom:1px solid var(--line-soft); font-size:14px; }
.rs-row.is-live{ background:rgba(180,71,46,.12); border-radius:8px; }
.rs-row.is-done{ opacity:.55; }

/* ---------- Stream: Live-Status-Tafel für Zuschauer ---------- */
.livboard{ display:grid; gap:12px; margin-bottom:30px; }
.lb2{ border:1px solid var(--line-soft); border-radius:12px; background:var(--card); padding:14px 16px; }
.lb2.is-live{ border-color:rgba(180,71,46,.5); box-shadow:0 0 0 1px rgba(180,71,46,.22); }
.lb2.is-done{ opacity:.72; }
.lb2__lbl{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.lb2__live{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--red);
  animation:muPulse 1.4s ease-in-out infinite; display:inline-block; }
.lb2__vs{ font-family:var(--serif); margin-top:6px; line-height:1.15; }
.lb2__vs b{ font-weight:500; }
.lb2__vs i{ color:var(--muted); font-style:normal; font-size:.72em; text-transform:uppercase; letter-spacing:.1em; margin:0 8px; }
.lb2.is-live .lb2__vs{ font-size:clamp(22px,6vw,32px); }
.lb2:not(.is-live) .lb2__vs{ font-size:clamp(17px,4.4vw,22px); }
.lb2__tag{ display:block; margin-top:6px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep); }
.lb-votehd{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); text-align:center; margin-bottom:10px; }

/* ---------- PWA-Installier-Balken ---------- */
.installbar{ position:fixed; left:50%; transform:translateX(-50%);
  bottom:calc(68px + env(safe-area-inset-bottom,0px)); width:min(460px,calc(100% - 20px)); z-index:60;
  display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:14px;
  background:var(--panel); border:1px solid var(--line); box-shadow:0 14px 44px -14px rgba(0,0,0,.75); }
.installbar__ico{ width:40px; height:40px; border-radius:10px; flex:none; }
.installbar__txt{ flex:1; min-width:0; display:flex; flex-direction:column; }
.installbar__txt b{ font-size:14px; }
.installbar__txt span{ font-size:12px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.installbar__go{ flex:none; background:var(--gold); color:#100E0B; border:none; border-radius:8px;
  padding:9px 14px; font-weight:600; font-size:13px; cursor:pointer; white-space:nowrap; font-family:inherit; }
.installbar__x{ flex:none; background:transparent; border:none; color:var(--muted); font-size:22px; line-height:1; cursor:pointer; padding:0 2px; }
/* Eingeklappter Install-Button (oben rechts, verdeckt nichts) */
.installchip{ position:fixed; top:calc(env(safe-area-inset-top,0px) + 66px); right:12px; z-index:58;
  display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; cursor:pointer;
  background:var(--gold); color:#100E0B; border:none; font-family:inherit; font-weight:600; font-size:12.5px;
  box-shadow:0 8px 22px -8px rgba(0,0,0,.7); animation:chipIn .3s ease; }
.installchip:hover{ filter:brightness(1.05); }
.installchip__ic{ font-size:15px; line-height:1; }
@keyframes chipIn{ from{ opacity:0; transform:translateY(-6px) scale(.9); } to{ opacity:1; transform:none; } }
@media(max-width:560px){ .installchip{ top:calc(env(safe-area-inset-top,0px) + 60px); } }
/* Install-Anleitung (für Dummies, iOS + Android) */
.ig-box{ max-width:420px; text-align:left; }
.ig-logo{ width:60px; height:60px; border-radius:14px; margin:2px auto 12px; display:block; }
.ig-box h3{ text-align:center; }
.ig-tabs{ display:flex; gap:8px; margin:0 0 14px; }
.ig-tab{ flex:1; padding:9px 6px; border-radius:10px; border:1px solid var(--line); background:var(--panel);
  color:var(--muted); font-family:inherit; font-weight:600; font-size:13px; cursor:pointer; }
.ig-tab.on{ background:var(--gold); color:#100E0B; border-color:var(--gold); }
.ig-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ig-steps li{ display:flex; gap:12px; align-items:flex-start; }
.ig-n{ flex:none; width:26px; height:26px; border-radius:50%; background:var(--gold); color:#100E0B;
  font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }
.ig-steps li div{ font-size:14px; line-height:1.5; color:var(--ink); padding-top:2px; }
.ig-ic{ font-size:17px; }
.ig-note{ font-size:12.5px; color:var(--muted); margin:14px 0 0; padding:10px 12px; border-radius:10px;
  background:rgba(231,213,168,.08); border:1px solid var(--line); }
/* Meine-Tickets: Abschnitte Kommende / Vergangene */
.mt-sec{ font-family:var(--serif); font-size:22px; font-weight:600; margin:8px 2px 12px; color:var(--ink); }
.mt-sec--past{ margin-top:30px; color:var(--muted); border-top:1px solid var(--line); padding-top:22px; }
.ticket--past{ opacity:.62; filter:grayscale(.35); }
/* Tippspiel: eigener Saison-Platz + Team-Auswertung */
.tp-myrank{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  margin:0 0 14px; padding:12px 16px; border-radius:12px; background:linear-gradient(90deg,rgba(231,213,168,.14),rgba(20,17,14,.4));
  border:1px solid var(--line); }
.tp-myrank__l{ font-family:var(--serif); font-size:17px; color:var(--gold); }
.tp-myrank__r{ font-size:13px; color:var(--ink); }
.tp-myrank__r b{ color:var(--gold); }
.tp-myrank--none{ display:block; font-size:13px; color:var(--muted); }
.tp-admin{ margin:0 0 22px; padding:16px 18px; border-radius:14px; background:var(--panel);
  border:1px solid var(--gold-deep,#8a6f2e); box-shadow:0 0 0 1px rgba(231,213,168,.1) inset; }
.tp-admin__hd{ font-family:var(--serif); font-size:19px; color:var(--gold); margin-bottom:12px; }
.tp-admin__prize{ margin-bottom:14px; }
.tp-admin__prize label{ font-size:12.5px; color:var(--muted); }
.tp-admin__prize input{ padding:9px 12px; border-radius:8px; border:1px solid var(--line); background:var(--bg); color:var(--ink); font-family:inherit; }
.tp-admin__lbhd{ font-size:12.5px; color:var(--muted); margin:4px 0 8px; }
.tp-adminrow{ display:grid; grid-template-columns:38px 1fr auto auto; gap:10px; align-items:center;
  padding:8px 10px; border-bottom:1px solid rgba(231,213,168,.08); font-size:13px; }
.tp-adminrow .r{ font-weight:700; color:var(--muted); text-align:center; }
.tp-adminrow .n{ color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tp-adminrow .c{ color:var(--muted); font-size:11.5px; }
.tp-adminrow .p{ color:var(--gold); font-weight:600; }
.tp-adminrow.top{ background:rgba(231,213,168,.08); border-radius:8px; }
.tp-adminrow.top .n{ font-weight:600; }
/* Fight-Card-Freigabe: Admin-Banner + Besucher-Hinweis */
.cardgate{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  margin:0 0 18px; padding:12px 16px; border-radius:12px; border:1px solid var(--line); }
.cardgate.is-hidden{ background:rgba(210,55,42,.10); border-color:rgba(210,55,42,.42); }
.cardgate.is-pub{ background:rgba(78,158,106,.10); border-color:rgba(78,158,106,.35); }
.cardgate__txt{ font-size:13px; color:var(--ink); flex:1; min-width:180px; line-height:1.4; }
.cardgate .btn{ flex:none; }
.info-band--soon b{ color:var(--gold); }
/* Kämpfer-Wizard: optionale Konto-Erstellung */
.wz-acc{ margin:6px 0 14px; padding:14px 16px; border:1px dashed var(--line); border-radius:12px; background:rgba(231,213,168,.05); }
.wz-acc__t{ display:flex; align-items:center; gap:10px; cursor:pointer; font-size:14px; }
.wz-acc__t input{ width:18px; height:18px; accent-color:var(--gold); flex:none; }
.wz-acc__h{ font-size:12px; color:var(--muted); margin:8px 0 0; line-height:1.5; }
.wz-acc .field{ margin-top:12px; }
/* Verwaltung: einklappbarer „Erweitert"-Block + Feld-Hinweise */
.v-adv__sum{ cursor:pointer; list-style:none; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; font-family:var(--serif); font-size:20px; color:var(--gold); }
.v-adv__sum::-webkit-details-marker{ display:none; }
.v-adv__sum::before{ content:"▸"; font-family:var(--sans); font-size:14px; color:var(--muted); }
.v-adv[open] .v-adv__sum::before{ content:"▾"; }
.v-adv__sum span{ font-family:var(--sans); font-size:12px; color:var(--muted); font-weight:400; }
.v-adv__body{ margin-top:12px; }
.vhint{ display:block; margin-top:5px; font-size:11px; color:var(--muted); line-height:1.4; }
/* Fight-Card-Editor: größere, klarere Touch-Felder */
.vfight__body .vin--sm{ padding:11px 12px; font-size:15px; }
.vfight__body{ padding-top:6px; }
/* Neues-Event-Assistent (geführt) */
.nev-step{ display:none; }
.nev-step.on{ display:block; }
.nev-h{ margin-bottom:14px; }
.nev-h b{ display:block; font-family:var(--serif); font-size:22px; color:var(--gold); }
.nev-h span{ font-size:12px; color:var(--muted); }
.nev-nav{ display:flex; gap:10px; margin-top:22px; }
.nev-nav .btn--solid{ flex:1; }
/* Einlass: Liste der eingecheckten Tickets */
.ci-list{ margin-top:16px; }
.ci-head{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 0 8px; }
.ci-row{ display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:9px 10px; border-bottom:1px solid rgba(231,213,168,.08); font-size:13px; }
.ci-name{ color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ci-type{ color:var(--muted); font-size:11px; }
.ci-time{ color:var(--gold); font-weight:600; font-size:12px; }
.vm-acc{ display:flex; align-items:center; gap:8px; margin-top:12px; font-size:13px; color:var(--muted); cursor:pointer; }
.vm-acc input{ width:16px; height:16px; accent-color:var(--gold); flex:none; }

/* ---------- Fight-Card-Editor (Verwaltung) ---------- */
.vfight{ border:1px solid var(--line-soft); border-radius:12px; background:var(--card); margin-bottom:10px; overflow:hidden; }
.vfight[open]{ border-color:var(--gold-deep); }
.vfight__sum{ display:flex; align-items:center; gap:10px; padding:13px 14px; cursor:pointer; list-style:none; -webkit-tap-highlight-color:transparent; }
.vfight__sum::-webkit-details-marker{ display:none; }
.vfight__no{ flex:none; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); min-width:76px; }
.vfight__no b{ color:var(--gold); font-weight:400; }
.vfight__names{ flex:1; min-width:0; font-size:14px; color:var(--cream); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vfight__names i{ color:var(--muted); font-style:normal; padding:0 5px; }
.vfight__disc{ flex:none; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.vfight__chev{ flex:none; color:var(--muted); transition:transform .2s; font-size:12px; }
.vfight[open] .vfight__chev{ transform:rotate(180deg); }
.vfight__body{ padding:14px; border-top:1px solid var(--line-soft); }
.vfight:not([open]) .vfight__body{ display:none !important; }
.f-search{ margin-bottom:12px; }

/* Verwaltung: Ticket-Typen als Karten */
.tkt{ border:1px solid var(--line-soft); border-radius:12px; background:var(--card); padding:14px; margin-bottom:10px; }
.tkt__grid{ display:grid; grid-template-columns:1fr 120px; gap:12px; }
.tkt__f{ display:flex; flex-direction:column; gap:6px; }
.tkt__f>label{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.tkt__foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; flex-wrap:wrap; }
.tkt__top{ display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--cream); cursor:pointer; }
.tkt__top input{ width:19px; height:19px; accent-color:var(--gold-deep); flex:none; cursor:pointer; }
.tkt__act{ display:flex; gap:8px; margin-left:auto; }

/* Livestream-Admin: aufgeräumt */
.sa-adv{ border:1px solid var(--line-soft); border-radius:10px; margin:4px 0 16px; background:rgba(255,255,255,.02); }
.sa-adv>summary{ padding:12px 14px; cursor:pointer; font-size:13px; color:var(--muted); list-style:none; -webkit-tap-highlight-color:transparent; }
.sa-adv>summary::-webkit-details-marker{ display:none; }
.sa-adv>summary::before{ content:"▸  "; color:var(--gold-deep); }
.sa-adv[open]>summary::before{ content:"▾  "; }
.sa-adv__body{ padding:0 14px 8px; }
.sa-adv:not([open])>.sa-adv__body{ display:none !important; }
.sa-golive{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line-soft); }
.sa-golive__status{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.sa-pill{ font-size:13px; font-weight:700; padding:6px 13px; border-radius:99px; letter-spacing:.04em; }
.sa-pill--live{ background:rgba(224,80,70,.16); color:#E8837B; border:1px solid rgba(224,80,70,.5); }
.sa-pill--off{ background:rgba(255,255,255,.05); color:var(--muted); border:1px solid var(--line-soft); }
.sa-link{ color:var(--gold); font-size:12.5px; text-decoration:none; white-space:nowrap; }
.sa-link:hover{ text-decoration:underline; }
.sa-golive__btn{ font-size:17px; }
.sa-phase{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sa-phase__b{ padding:12px 8px; border-radius:10px; border:1px solid var(--line-soft); background:rgba(255,255,255,.03); color:var(--muted); font-size:12.5px; cursor:pointer; text-align:center; line-height:1.25; transition:.15s; }
.sa-phase__b.on{ background:var(--gold); border-color:var(--gold); color:#100E0B; font-weight:700; }
.sa-phase__b:active{ transform:scale(.98); }

/* Veranstalter-Dashboard (co-branded, read-only) */
.orgdash__head{ display:flex; align-items:center; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.orgdash__logo{ height:60px; max-width:180px; object-fit:contain; }
.orgdash__name{ font-family:var(--serif); font-size:24px; color:var(--cream); }
.orgdash .dash-kpi--hero{ border-color:var(--brand,var(--gold)); background:rgba(255,255,255,.04); }
.orgdash .dash-kpi--hero .v{ color:var(--brand,var(--gold)); }
.orgdash__foot{ text-align:center; margin-top:30px; font-size:12px; color:var(--muted,#B3A78F); }
.orgshare{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line-soft); }
.orgshare__row{ display:flex; gap:8px; }
.orgshare__row .vin{ flex:1; min-width:0; font-size:12px; }
.vfight__top{ display:flex; gap:10px; align-items:center; justify-content:space-between; margin-bottom:12px; }
.vfight__top .f-slot{ flex:1; min-width:0; }
.vfight__title{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); white-space:nowrap; cursor:pointer; }
.vfight__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.vfight__corner{ display:flex; flex-direction:column; gap:8px; padding-left:10px; border-left:3px solid var(--line-soft); }
.vfight__corner.red{ border-left-color:var(--red); }
.vfight__corner.blue{ border-left-color:var(--blue); }
.vfight__lbl{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.vfight__meta{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.vfight__actions{ display:flex; gap:10px; margin-top:14px; }

/* ---------- Werbung: Anzeigen, Splash, Admin ---------- */
.adcard{ position:relative; display:block; border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; margin:0 0 14px; background:var(--card); }
.adcard img{ display:block; width:100%; height:auto; max-height:170px; object-fit:cover; }
.adcard__tag{ position:absolute; top:8px; left:8px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:#e9e2d2; background:rgba(0,0,0,.6); padding:3px 7px; border-radius:5px; }
.splashad{ position:relative; width:min(420px,calc(100% - 32px)); border-radius:16px; overflow:hidden; background:var(--card); box-shadow:0 24px 70px -20px rgba(0,0,0,.85); }
.splashad__img{ display:block; }
.splashad__img img{ display:block; width:100%; height:auto; }
.splashad__x{ position:absolute; top:8px; right:8px; z-index:2; width:32px; height:32px; border-radius:50%; border:none; background:rgba(0,0,0,.6); color:#fff; font-size:20px; line-height:1; cursor:pointer; }
.splashad__tag{ display:block; text-align:center; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:9px; }
.splashad__tag a{ color:var(--gold-deep); text-decoration:none; }
.adm-booking{ display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line-soft); }
.adm-booking__img{ width:84px; height:56px; object-fit:cover; border-radius:8px; flex:none; background:var(--panel); }
.adm-booking__main{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.adm-booking__act{ display:flex; flex-direction:column; gap:6px; flex:none; }

/* ---------- Matchmaker (neu) ---------- */
.mm-tolbar{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-bottom:22px;
  border:1px solid var(--line-soft); border-radius:12px; padding:14px 16px; background:rgba(255,255,255,.02); }
.mm-tolbar .slider label{ font-size:12px; color:var(--muted); display:block; margin-bottom:4px; }
.mm-tolbar .slider label b{ color:var(--gold); }
.mm-tolbar .slider input[type=range]{ width:100%; }
.pairlist{ display:grid; gap:14px; }
.pair{ border:1px solid var(--line-soft); border-left:4px solid var(--line-soft); border-radius:12px; background:var(--card); padding:14px 16px; }
.pair.green{ border-left-color:var(--ok); } .pair.yellow{ border-left-color:var(--warn); } .pair.red{ border-left-color:var(--red); }
.pair__hd{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.pair__score{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); }
.pair__row{ display:flex; align-items:center; gap:8px; }
.pair__f{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center; }
.pair__f .ava{ width:58px; height:58px; }
.pair__nm{ font-family:var(--serif); font-size:clamp(16px,4.4vw,21px); line-height:1.08; overflow-wrap:anywhere; }
.pair__sub{ font-size:12px; color:var(--muted); }
.pair__vs{ font-family:var(--serif); color:var(--muted); font-size:14px; flex:none; }
.pair__meta{ text-align:center; font-size:12px; color:var(--muted); margin-top:12px; }
.pair__meta .off{ color:var(--red); }
.mm-pool{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
.mm-fcard{ border:1px solid var(--line-soft); border-radius:12px; background:var(--card); padding:14px 10px; cursor:pointer;
  text-align:center; font-family:inherit; color:inherit; display:flex; flex-direction:column; align-items:center; gap:6px; }
.mm-fcard:hover{ border-color:var(--gold-deep); }
.mm-fcard__ava{ width:58px; height:58px; border-radius:50%; overflow:hidden; background:var(--panel);
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:20px; color:var(--gold); }
.mm-fcard__ava img{ width:100%; height:100%; object-fit:cover; }
.mm-fcard__nm{ font-family:var(--serif); font-size:16px; line-height:1.1; overflow-wrap:anywhere; }
.mm-fcard__sub{ font-size:11px; color:var(--muted); }
.mm-fcard__disc{ font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); }
.mm-rest{ margin-top:18px; font-size:13px; color:var(--muted); border-top:1px solid var(--line-soft); padding-top:14px; }
.mm-matched{ margin-top:26px; font-size:13px; color:var(--muted); border-top:1px solid var(--line-soft); padding-top:16px; }
.mm-mtag{ display:inline-block; background:var(--panel); border:1px solid var(--line-soft); border-radius:20px;
  padding:5px 11px; margin:3px 2px; cursor:pointer; font-size:12px; color:var(--cream); }
.mm-mtag:hover{ border-color:var(--red); color:#e2a08f; }
.mm-fine{ margin-bottom:20px; }
.mm-fine>summary{ cursor:pointer; color:var(--gold-deep); font-size:13px; letter-spacing:.04em; padding:11px 14px; border:1px solid var(--line-soft); border-radius:10px; list-style:none; }
.mm-fine>summary::-webkit-details-marker{ display:none; }
.mm-fine[open]>summary{ margin-bottom:12px; }
.pair__hd{ justify-content:space-between; }
.pair__badge{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; padding:3px 10px; border-radius:20px; }
.pair__badge.green{ background:rgba(78,158,106,.18); color:var(--ok); }
.pair__badge.yellow{ background:rgba(201,138,46,.2); color:var(--warn); }
.pair__badge.red{ background:rgba(180,71,46,.2); color:#e2a08f; }
.pair__ava{ width:60px; height:60px; border-radius:50%; overflow:hidden; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:22px; color:var(--gold); background:var(--panel); border:2px solid var(--line-soft); }
.pair__ava img{ width:100%; height:100%; object-fit:cover; }
.pair__f.red .pair__ava{ border-color:var(--red); }
.pair__f.blue .pair__ava{ border-color:var(--blue); }
.pair__disc{ font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); }
.mm-rtag{ display:inline-block; background:var(--panel); border:1px solid var(--line-soft); border-radius:20px; padding:5px 11px; margin:6px 3px 0 0; cursor:pointer; font-size:12px; color:var(--cream); }
.mm-rtag:hover{ border-color:var(--gold-deep); color:var(--gold); }
.mm-target{ display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; margin:0 0 16px; font-size:13px; color:var(--muted); }
.mm-target select{ max-width:280px; }
.mm-disc{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:0 0 14px; }
.mm-dchip,.mm-gchip{ background:var(--panel); border:1px solid var(--line-soft); border-radius:20px; padding:7px 16px; font-size:13px;
  letter-spacing:.04em; text-transform:uppercase; color:var(--muted); cursor:pointer; font-family:inherit; }
.mm-dchip.active,.mm-gchip.active{ background:var(--gold); color:#100E0B; border-color:transparent; font-weight:600; }
.mm-cardsum{ text-align:center; font-size:13px; color:var(--muted); margin:0 auto 16px; max-width:560px;
  padding:10px 14px; border:1px solid var(--line-soft); border-radius:10px; background:rgba(255,255,255,.02); }
.mm-cardsum b{ color:var(--gold); }
.pair__rec{ font-size:11px; color:var(--muted); margin-top:1px; }
.s-adv{ margin-top:8px; }
.s-adv>summary{ cursor:pointer; color:var(--muted); font-size:12px; padding:6px 0; }
.iconbtn:disabled{ opacity:.35; cursor:default; }
.fp-newband{ text-align:center; font-size:13px; color:var(--cream); background:rgba(194,163,94,.12);
  border:1px solid rgba(194,163,94,.4); border-radius:10px; padding:10px 14px; margin:0 auto 16px; max-width:560px; }
.fp-newband b{ color:var(--gold); }
.fp-frow.is-new{ border-color:rgba(194,163,94,.5); box-shadow:inset 3px 0 0 var(--gold-deep); }
.fp-new{ font-size:9px; letter-spacing:.1em; background:var(--gold); color:#100E0B; padding:2px 6px; border-radius:5px; vertical-align:middle; margin-left:4px; }
.fp-badge.paid{ color:#100E0B; background:var(--gold); border-color:transparent; }
.fp-pkg{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:12px; margin-bottom:8px; }
.fp-pkg__cell{ border:1px solid var(--line-soft); border-radius:12px; background:var(--card); padding:18px 12px; text-align:center; }
.fp-pkg__n{ font-family:var(--serif); font-size:clamp(26px,6vw,38px); color:var(--gold); line-height:1; }
.fp-pkg__l{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:6px; }
.fp-catgroup{ margin-top:22px; }
.fp-cathd{ font-family:var(--serif); font-size:18px; color:var(--cream); margin-bottom:10px; border-bottom:1px solid var(--line-soft); padding-bottom:6px; }
.fp-cathd .tag{ color:var(--gold-deep); }
.masset figcaption .m-cat{ font-size:11px; padding:4px 6px; max-width:120px; }
.fp-prevthumb{ cursor:default; position:relative; }
.fp-prevthumb img{ -webkit-user-drag:none; user-select:none; pointer-events:none; }

/* ===== Tippspiel: Sieger-Banner, Fortschritt, Chips, Disziplin, Podest ===== */
.tp-winner{ display:flex; align-items:center; gap:14px; margin:0 0 22px; padding:16px 18px;
  background:linear-gradient(135deg,rgba(228,208,160,.16),rgba(228,208,160,.05));
  border:1px solid rgba(228,208,160,.4); border-radius:16px; box-shadow:0 8px 26px rgba(0,0,0,.35); }
.tp-winner__crown{ font-size:44px; line-height:1; filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)); }
.tp-winner__body{ flex:1; min-width:0; }
.tp-winner__eyebrow{ font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold-deep); }
.tp-winner__name{ font-family:var(--serif); font-size:clamp(22px,5vw,30px); color:var(--cream); line-height:1.1; overflow-wrap:anywhere; }
.tp-winner__pts{ font-size:13px; color:var(--gold); margin-top:2px; }
.tp-share{ flex:none; background:var(--gold); color:#100E0B; border:none; border-radius:10px; padding:10px 14px; font-weight:700; font-size:13px; cursor:pointer; }
.tp-share:active{ transform:scale(.96); }

.tp-prog{ margin:0 0 6px; }
.tp-prog__bar{ height:8px; border-radius:99px; background:rgba(255,255,255,.08); overflow:hidden; }
.tp-prog__bar span{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--gold-deep),var(--gold)); transition:width .4s ease; }
.tp-prog__txt{ font-size:12px; color:var(--muted,#B3A78F); margin-top:6px; text-align:right; }
.tp-prog__txt b{ color:var(--cream); }

.tp-chips{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 14px; }
.tp-chip{ background:rgba(255,255,255,.05); border:1px solid var(--line-soft); color:var(--cream); border-radius:99px; padding:7px 14px; font-size:13px; cursor:pointer; }
.tp-chip.on{ background:var(--gold); color:#100E0B; border-color:var(--gold); font-weight:700; }

.tp-dhd{ display:flex; align-items:center; gap:8px; font-family:var(--serif); font-size:18px; color:var(--gold); margin:20px 0 10px; }
.tp-dhd span{ margin-left:auto; font-family:var(--sans,Arial); font-size:12px; color:var(--muted,#B3A78F); background:rgba(255,255,255,.06); padding:2px 9px; border-radius:99px; }

.tp-podium{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; align-items:end; }
.tp-pod{ background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:1px solid var(--line-soft); border-radius:14px; padding:14px 8px; text-align:center; position:relative; }
.tp-pod--1{ border-color:rgba(228,208,160,.55); background:linear-gradient(180deg,rgba(228,208,160,.16),rgba(228,208,160,.03)); padding-top:22px; }
.tp-pod.me{ outline:2px solid var(--gold); }
.tp-medal{ font-size:26px; line-height:1; }
.tp-pod--1 .tp-medal{ font-size:34px; }
.tp-ava{ width:52px; height:52px; border-radius:50%; object-fit:cover; margin:8px auto 6px; display:flex; align-items:center; justify-content:center; border:2px solid rgba(228,208,160,.5); }
.tp-pod--1 .tp-ava{ width:64px; height:64px; }
.tp-mono{ background:var(--gold-deep); color:#100E0B; font-weight:800; font-size:22px; }
.tp-podname{ font-size:13px; color:var(--cream); line-height:1.2; overflow-wrap:anywhere; }
.tp-podpts{ font-size:20px; font-weight:800; color:var(--gold); margin-top:4px; }
.tp-podpts span{ font-size:10px; font-weight:500; color:var(--muted,#B3A78F); margin-left:3px; }
.tp-podfoot{ font-size:11px; color:var(--muted,#B3A78F); margin-top:2px; }
@media(max-width:420px){ .tp-podname{ font-size:12px; } .tp-ava{ width:44px; height:44px; } .tp-pod--1 .tp-ava{ width:54px; height:54px; } }

.tp-prizeband{ display:flex; align-items:center; gap:8px; margin:0 0 18px; padding:12px 16px; border-radius:12px;
  background:linear-gradient(135deg,rgba(228,208,160,.14),rgba(228,208,160,.04)); border:1px solid rgba(228,208,160,.3); color:var(--cream); font-size:15px; }
.tp-prizeband b{ color:var(--gold); }
.tp-winner__prize{ font-size:13px; color:var(--cream); margin-top:4px; }
.gt-perks{ list-style:none; padding:0; margin:16px 0 4px; display:flex; flex-direction:column; gap:8px; }
.gt-perks li{ font-size:13px; color:var(--cream); background:rgba(255,255,255,.04); border:1px solid var(--line-soft); border-radius:10px; padding:9px 12px; text-align:left; }

.tp-schein{ width:100%; margin:0 0 8px; padding:13px 16px; border-radius:12px; cursor:pointer;
  background:linear-gradient(135deg,rgba(228,208,160,.16),rgba(228,208,160,.05));
  border:1px solid rgba(228,208,160,.45); color:var(--gold); font-weight:700; font-size:15px; letter-spacing:.3px; }
.tp-schein:active{ transform:scale(.98); }
.tp-jokerhint{ font-size:12.5px; color:var(--muted,#B3A78F); margin:2px 0 14px; }
.tp-jokerhint b{ color:var(--gold); }

/* Joker in der Tipp-Karte */
.tip-joker{ display:block; width:100%; margin-top:10px; padding:9px 12px; border-radius:10px; cursor:pointer; font-size:13px; font-weight:600;
  background:rgba(255,255,255,.04); border:1px dashed var(--line-soft); color:var(--muted,#B3A78F); }
.tip-joker.on{ background:linear-gradient(135deg,rgba(228,208,160,.2),rgba(228,208,160,.06)); border:1px solid var(--gold); color:var(--gold); border-style:solid; }
.tip-joker:active{ transform:scale(.98); }
.tip-jbadge{ margin-top:10px; font-size:12px; font-weight:700; color:var(--gold); }
.tip-card.is-joker{ border-color:rgba(228,208,160,.55); box-shadow:0 0 0 1px rgba(228,208,160,.25) inset; }

/* Hall of Fame */
.hof{ display:flex; flex-direction:column; gap:9px; }
.hof-row{ display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:12px;
  background:linear-gradient(135deg,rgba(228,208,160,.08),rgba(255,255,255,.02)); border:1px solid var(--line-soft); }
.hof-crown{ font-size:24px; line-height:1; }
.hof-main{ flex:1; min-width:0; }
.hof-ev{ font-size:12px; color:var(--muted,#B3A78F); text-transform:uppercase; letter-spacing:.5px; }
.hof-win{ font-family:var(--serif); font-size:19px; color:var(--cream); overflow-wrap:anywhere; }
.hof-pts{ font-size:20px; font-weight:800; color:var(--gold); white-space:nowrap; }
.hof-pts span{ font-size:10px; font-weight:500; color:var(--muted,#B3A78F); margin-left:3px; }

/* Krone-Moment */
.tp-winner__crown{ animation:crownPulse 1.6s ease-in-out infinite; }
@keyframes crownPulse{ 0%,100%{ transform:scale(1) rotate(-4deg); } 50%{ transform:scale(1.14) rotate(4deg); } }
.confetti-cv{ position:fixed; inset:0; width:100vw; height:100vh; pointer-events:none; z-index:9999; }

/* Kämpfer-Anmeldung als Wizard */
.wz-steps{ display:flex; align-items:flex-start; justify-content:center; margin:0 0 24px; }
.wz-dot{ display:flex; flex-direction:column; align-items:center; gap:6px; width:80px; }
.wz-num{ width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px;
  background:rgba(255,255,255,.05); border:1px solid var(--line-soft); color:var(--muted,#B3A78F); transition:all .25s ease; }
.wz-lbl{ font-size:11px; color:var(--muted,#B3A78F); letter-spacing:.3px; text-align:center; }
.wz-dot.active .wz-num{ background:var(--gold); border-color:var(--gold); color:#100E0B; transform:scale(1.08); }
.wz-dot.active .wz-lbl{ color:var(--gold); }
.wz-dot.done .wz-num{ background:rgba(228,208,160,.2); border-color:var(--gold); color:var(--gold); }
.wz-line{ flex:1; max-width:60px; height:2px; background:var(--line-soft); margin-top:18px; }
.wz-step{ display:none; }
.wz-step.on{ display:block; animation:wzIn .3s ease; }
@keyframes wzIn{ from{ opacity:0; transform:translateX(14px); } to{ opacity:1; transform:none; } }
.wz-title{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.wz-title span{ font-size:30px; line-height:1; }
.wz-title h3{ font-size:22px; color:var(--cream); line-height:1.05; }
.wz-title p{ font-size:13px; color:var(--muted,#B3A78F); margin-top:3px; }
.wz-card .row2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.photo-drop--round{ display:block; width:120px; margin:0 auto 20px; cursor:pointer; }
.photo-drop--round .photo-prev{ width:120px; height:120px; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center;
  border:2px dashed rgba(228,208,160,.4); background:rgba(255,255,255,.03); }
.photo-drop--round .photo-prev span{ font-size:12px; line-height:1.35; color:var(--muted,#B3A78F); }
.photo-drop--round .photo-prev small{ font-size:10px; opacity:.8; }
.photo-drop--round .photo-prev img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
.wz-nav{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:22px; }
.wz-nav .btn{ min-width:120px; }
.wz-trust{ font-size:12.5px; color:var(--ok,#7BB661); text-align:center; margin-top:12px; }

/* ===== Rauf-Dashboard ===== */
.dash-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.dash-kpi{ background:rgba(255,255,255,.03); border:1px solid var(--line-soft); border-radius:14px; padding:16px 12px; text-align:center; }
.dash-kpi .v{ font-family:var(--serif); font-size:clamp(22px,6vw,30px); color:var(--cream); line-height:1; }
.dash-kpi .l{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted,#B3A78F); margin-top:7px; }
.dash-kpi--hero{ grid-column:1 / -1; background:linear-gradient(135deg,rgba(228,208,160,.16),rgba(228,208,160,.04)); border-color:rgba(228,208,160,.4); }
.dash-kpi--hero .v{ color:var(--gold); font-size:clamp(30px,9vw,44px); }
@media(max-width:520px){ .dash-kpis{ grid-template-columns:repeat(2,1fr); } }

/* ===== Für Veranstalter (B2B) ===== */
.vst-hero{ text-align:center; padding:26px 18px; border-radius:16px; margin:6px 0 8px;
  background:linear-gradient(135deg,rgba(228,208,160,.16),rgba(228,208,160,.03)); border:1px solid rgba(228,208,160,.4); }
.vst-big{ font-family:var(--serif); font-size:clamp(52px,16vw,78px); color:var(--gold); line-height:1; }
.vst-sub{ font-size:15px; color:var(--cream); margin-top:6px; }
.vst-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.vst-card{ background:rgba(255,255,255,.03); border:1px solid var(--line-soft); border-radius:14px; padding:16px; }
.vst-card span{ font-size:28px; }
.vst-card b{ display:block; color:var(--cream); font-size:15px; margin:8px 0 5px; }
.vst-card p{ font-size:13px; color:var(--muted,#B3A78F); line-height:1.5; }
.vst-steps{ display:flex; flex-direction:column; gap:10px; }
.vst-step{ display:flex; align-items:center; gap:14px; background:rgba(255,255,255,.03); border:1px solid var(--line-soft); border-radius:12px; padding:12px 14px; }
.vst-step b{ flex:none; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--gold); color:#100E0B; font-weight:800; }
.vst-step span{ font-size:14px; color:var(--cream); }
.vst-cta{ text-align:center; margin-top:30px; padding:24px 18px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid var(--line-soft); }
.vst-cta h3{ font-size:24px; color:var(--cream); }
.vst-cta .sub{ margin:6px 0 16px; }
@media(max-width:480px){ .vst-grid{ grid-template-columns:1fr; } }

/* ===== Backoffice-Launchpad ===== */
.adm-hero{ max-width:460px; margin:0 auto 16px; font-size:16px; text-align:center; letter-spacing:.14em; line-height:1.3; padding:16px 20px; }
.adm-tiles{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 16px; }
.adm-tile{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; text-align:center;
  min-height:104px; padding:16px 10px; border-radius:14px; text-decoration:none; color:var(--cream);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:1px solid var(--line-soft);
  font-size:12px; letter-spacing:.08em; text-transform:uppercase; line-height:1.3; transition:border-color .18s, background .18s, transform .1s; }
.adm-tile:hover{ border-color:var(--gold-deep); background:rgba(228,208,160,.07); }
.adm-tile:active{ transform:scale(.97); }
.adm-tile__ico{ font-size:26px; line-height:1; letter-spacing:0; }
.adm-preview{ max-width:460px; margin:0 auto 26px; display:block; }
@media(min-width:620px){ .adm-tiles{ grid-template-columns:repeat(4,1fr); } }

/* Backoffice: Live-Status & Schnellblick */
.adm-livenow{ display:flex; flex-direction:column; gap:4px; padding:14px 16px; border-radius:12px; text-align:center;
  background:rgba(255,255,255,.04); border:1px solid var(--line-soft); color:var(--muted,#B3A78F); font-size:13px; }
.adm-livenow span{ font-size:12px; color:var(--muted,#B3A78F); }
.adm-livenow b{ color:var(--cream); font-size:15px; font-weight:600; }
.adm-livenow.on{ background:linear-gradient(135deg,rgba(198,40,40,.18),rgba(198,40,40,.05)); border-color:rgba(224,80,70,.5); color:#E8837B; font-weight:700; }
.adm-mini{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.adm-mini__c{ text-align:center; background:rgba(255,255,255,.03); border:1px solid var(--line-soft); border-radius:12px; padding:14px 6px; }
.adm-mini__c .v{ font-family:var(--serif); font-size:28px; color:var(--cream); line-height:1; }
.adm-mini__c .l{ font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted,#B3A78F); margin-top:6px; }
.adm-link{ color:var(--gold); text-decoration:none; }
.adm-link:hover{ text-decoration:underline; }

/* Verwaltung: Event-/Kämpfer-Auswahl als Dropdown */
.evpicker{ margin-bottom:22px; }
.evpicker>.vlabel{ display:block; margin-bottom:8px; }
.evpicker__row{ display:flex; gap:10px; align-items:stretch; }
.evpicker__sel{ flex:1; min-width:0; }
.evpicker__new{ flex:none; white-space:nowrap; padding-left:16px; padding-right:16px; }

/* Vormerkungen-Liste (Stream-Admin) */
.siglist{ margin-top:10px; max-height:230px; overflow-y:auto; border:1px solid var(--line); border-radius:8px; background:var(--band); }
.siglist__row{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border-bottom:1px solid var(--line); font-size:13px; }
.siglist__row:last-child{ border-bottom:0; }
.siglist__mail{ color:var(--cream); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.siglist__ok{ color:var(--gold); font-weight:600; }
.siglist__date{ color:var(--muted); font-size:11px; letter-spacing:.06em; flex-shrink:0; }

/* Bilanz-Dreierfeld (Kämpfer-Wizard) */
.rec3{ display:flex; align-items:flex-end; gap:8px; }
.rec3__i{ flex:1; display:flex; flex-direction:column; gap:5px; text-align:center; }
.rec3__i input{ width:100%; text-align:center; }
.rec3__i span{ font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.rec3__sep{ color:var(--gold-deep); font-size:20px; padding-bottom:26px; }

/* Ticket-Warenkorb */
.tqcart{ margin-top:16px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.tqcart__lbl{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.tqcart__stepper{ display:flex; align-items:center; border:1px solid var(--line-soft); border-radius:6px; overflow:hidden; }
.tqbtn{ width:42px; height:42px; background:transparent; border:0; color:var(--gold); font-size:22px; line-height:1; cursor:pointer; transition:.2s; }
.tqbtn:hover{ background:var(--gold); color:#100E0B; }
.tqnum{ width:52px; height:42px; text-align:center; background:transparent; border:0; border-left:1px solid var(--line-soft); border-right:1px solid var(--line-soft); color:var(--cream); font-family:inherit; font-size:16px; -moz-appearance:textfield; }
.tqnum::-webkit-outer-spin-button,.tqnum::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.tier--feat .tqbtn{ color:var(--gold); }

.cartbar{ position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:rgba(16,13,9,.97); border-top:1px solid var(--gold-deep); backdrop-filter:blur(10px);
  box-shadow:0 -12px 40px -12px rgba(0,0,0,.8); animation:cartUp .25s ease; }
@keyframes cartUp{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }
.cartbar__inner{ max-width:1120px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.cartbar__info{ display:flex; flex-direction:column; line-height:1.2; }
.cartbar__info span{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.cartbar__info b{ font-family:var(--serif); font-size:26px; color:var(--cream); }
.cartbar__act{ display:flex; align-items:center; gap:10px; flex:1; justify-content:flex-end; }
.cartbar__email{ background:var(--band); border:1px solid var(--line-soft); color:var(--cream); padding:11px 13px; border-radius:6px; font-family:inherit; font-size:14px; max-width:220px; flex:1; min-width:150px; }
.cartbar__act .btn{ white-space:nowrap; }
.cartbar__msg{ max-width:1120px; margin:0 auto; padding:0 20px 10px; }
.cartbar__msg:empty{ display:none; }
/* Über der mobilen Tab-Leiste sitzen (nicht dahinter) — muss NACH der Basisregel kommen */
@media (max-width:860px){ .cartbar{ bottom:var(--tab-h); } }
@media(max-width:560px){
  .cartbar__inner{ padding:12px 16px; flex-direction:column; align-items:stretch; gap:10px; }
  .cartbar__info{ flex-direction:row; align-items:baseline; justify-content:space-between; }
  .cartbar__info b{ font-size:24px; }
  .cartbar__act{ flex-basis:auto; gap:8px; }
  .cartbar__email{ max-width:none; }
  .cartbar__act .btn{ flex:1; padding:15px 18px; font-size:14px; }
}

/* Matchmaker – idiotensichere Hilfe */
.mm-help{ background:var(--panel); border:1px solid var(--gold-deep); border-radius:14px; padding:18px 20px; margin-bottom:18px; }
.mm-help__top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.mm-help__top b{ font-family:var(--serif); font-size:19px; color:var(--gold); font-weight:600; }
.mm-help__x{ background:transparent; border:0; color:var(--muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.mm-help__x:hover{ color:var(--gold); }
.mm-help__steps{ margin:0; padding-left:20px; display:flex; flex-direction:column; gap:9px; }
.mm-help__steps li{ color:var(--cream); font-size:14px; line-height:1.5; }
.mm-help__steps b{ color:var(--gold); font-weight:500; }
.mm-tiphint{ text-align:center; color:var(--muted); font-size:13px; margin:0 0 20px; padding:0 10px; }

/* ===== Admin idiotensicher ===== */
.adm-hint{ text-align:center; color:var(--muted); font-size:13px; margin:8px 0 22px; }
.adm-secttl{ font-family:var(--serif); font-size:22px; color:var(--gold); margin:30px 0 14px; text-align:center; letter-spacing:.02em; }

.adm-statcard{ background:linear-gradient(160deg, var(--panel), var(--band)); border:1px solid var(--gold-deep); border-radius:16px; padding:20px; margin-bottom:20px; }
.adm-statcard__h{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); text-align:center; margin-bottom:16px; }
.adm-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
@media(max-width:560px){ .adm-stats{ grid-template-columns:repeat(2,1fr); } }
.adm-stat{ text-align:center; padding:12px 6px; background:rgba(0,0,0,.22); border:1px solid var(--line); border-radius:10px; }
.adm-stat__v{ font-family:var(--serif); font-size:34px; font-weight:600; color:var(--cream); line-height:1; }
.adm-stat__l{ margin-top:6px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.adm-stat--ok .adm-stat__v{ color:var(--ok,#4E9E6A); }

.panel--accent{ border-color:var(--gold-deep); box-shadow:0 0 0 1px rgba(231,213,168,.12) inset; }

/* Kacheln mit Erklärung */
.adm-tile{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left; padding:16px 16px 18px; }
.adm-tile__ico{ font-size:26px; margin-bottom:4px; }
.adm-tile__t{ font-weight:500; font-size:15px; color:var(--cream); letter-spacing:.02em; }
.adm-tile__d{ font-size:11.5px; color:var(--muted); line-height:1.35; }

.adm-bignum{ font-family:var(--serif); font-size:44px; font-weight:600; color:var(--gold); line-height:1; margin:6px 0 14px; }
.adm-bignum span{ display:block; font-family:var(--sans); font-size:12px; font-weight:400; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:4px; }

/* ===== Sponsoren-Seite ===== */
.spo-eyebrow{ text-align:center; margin:36px 0 16px; }
.spo-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media(max-width:720px){ .spo-stats{ grid-template-columns:1fr; } }
.spo-stat{ background:linear-gradient(160deg,var(--panel),var(--band)); border:1px solid var(--gold-deep); border-radius:14px; padding:26px 18px; text-align:center; }
.spo-stat__ic{ font-size:26px; margin-bottom:10px; }
.spo-stat__v{ font-family:var(--serif); font-weight:600; font-size:clamp(30px,6vw,42px); color:var(--cream); line-height:1; }
.spo-stat__l{ margin-top:8px; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.spo-stat__s{ margin-top:4px; font-size:11px; color:var(--muted); }

.spo-pitch{ margin:40px auto 0; max-width:640px; text-align:center; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:30px 26px; }
.spo-pitch h3{ font-family:var(--serif); font-size:clamp(24px,5vw,32px); color:var(--cream); }
.spo-pitch p{ color:var(--muted); margin:12px 0 20px; font-size:15px; line-height:1.6; }

.spo-list{ display:flex; flex-direction:column; gap:16px; }
.spo-card{ display:flex; align-items:center; gap:24px; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:24px; transition:.3s; }
.spo-card:hover{ border-color:var(--gold-deep); }
.spo-card__logo{ flex:none; width:150px; height:120px; display:flex; align-items:center; justify-content:center; }
.spo-card__logo img{ max-width:100%; max-height:100%; object-fit:contain; }
.spo-card__logo span{ font-family:var(--serif); font-size:22px; color:var(--gold); }
.spo-card__body{ flex:1; min-width:0; }
.spo-card__body h3{ font-family:var(--serif); font-size:clamp(22px,4.5vw,28px); color:var(--cream); }
.spo-card__body p{ color:var(--muted); margin:8px 0 0; font-size:14px; line-height:1.55; }
.spo-card__addr{ font-size:13px !important; color:var(--gold-deep) !important; }
.spo-card__links{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
@media(max-width:640px){ .spo-card{ flex-direction:column; align-items:flex-start; gap:14px; } .spo-card__logo{ width:auto; height:90px; align-self:center; } }

.spo-final{ text-align:center; margin-top:48px; padding:34px 20px; }
.spo-final h3{ font-family:var(--serif); font-size:clamp(24px,5vw,34px); color:var(--cream); margin-bottom:18px; }
