/*
Theme Name: Bisons Goldstadt
Theme URI: https://www.pforzheim-bisons.de/
Author: 1. CfR Pforzheim Bisons
Author URI: https://www.pforzheim-bisons.de/
Description: Klassisch-heraldisches, helles Vereins-Theme für die Pforzheim Bisons — tiefes Navy #031D4A, CI-Gold #C9C2B0 und Signal-Rot #C62F15 (aus der CI-Mappe BISONS_CI_v1.0), kondensierte Barlow-Condensed-Headlines. Vollständig über den WordPress-Customizer konfigurierbar: Farben, Schriftarten, Eckenradius, Breite, Logohöhe, Reihenfolge/Sichtbarkeit und Inhalte aller Startseiten-Bereiche, Logotausch (Site Identity), integrierte Doku im Admin sowie eine dokumentierte Datenschnittstelle für das Plugin „Bisons Display" (Sponsoren, nächstes Spiel, Tabelle, Spielplan, Ergebnisse, Countdown).
Version: 1.55.0
Requires at least: 5.9
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bisons-goldstadt
Tags: custom-logo, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready, two-columns, right-sidebar, sports
*/

/* =========================================================
   Bisons Goldstadt — Basis
   Farb-/Layout-Variablen werden zur Laufzeit vom Customizer
   überschrieben (siehe inc/customizer-output.php).
   ========================================================= */
:root{
  --bs-navy:#031D4A; --bs-navy2:#1D3764; --bs-gold:#C9C2B0; --bs-gold-d:#7A7361;
  --bs-red:#C62F15; --bs-ice:#F3F5F9; --bs-ice2:#E5E7EB; --bs-line:#D7D9DD;
  --bs-ink:#031D4A; --bs-grey:#636D7D; --bs-white:#ffffff;
  --bs-topbar:#031D4A;
  --dline:rgba(255,255,255,.12);
  --bs-navy-950:#02132F; --bs-navy-800:#263C64; --bs-navy-700:#2D4D85; --bs-navy-400:#6D91D0; --bs-navy-300:#9FB5DA; --bs-navy-200:#CAD5E8; --bs-navy-100:#E5EAF3;
  --bs-red-50:#FBF3F2; --bs-red-100:#F6E5E2; --bs-red-400:#E96953; --bs-red-500:#EF4123; --bs-red-700:#9C2A17; --bs-red-800:#742416;
  --bs-navy-rgb:3,29,74; --bs-navy950-rgb:2,19,47; --bs-gold-rgb:201,194,176;
  --bs-radius:16px; --bs-maxw:1180px;
  --bs-head:'Barlow Condensed','Segoe UI',system-ui,sans-serif;
  --bs-body:'Inter','Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--bs-body);background:var(--bs-ice);color:var(--bs-ink);line-height:1.65}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--bs-head);line-height:1.1;font-weight:800;letter-spacing:-.5px;margin:0 0 .5em}
p{margin:0 0 1em}
.bs-wrap{max-width:var(--bs-maxw);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--bs-gold);color:var(--bs-navy);padding:10px 16px;z-index:9999;font-family:var(--bs-head);font-weight:700}
.screen-reader-text:focus{clip:auto;clip-path:none;width:auto;height:auto;overflow:visible}
.skip-link:focus{left:8px;top:8px}

/* Buttons */
.bs-btn{font-family:var(--bs-head);font-weight:700;font-size:15px;padding:14px 24px;border-radius:8px;cursor:pointer;transition:.2s;display:inline-flex;gap:8px;align-items:center;border:0;line-height:1}
.bs-btn.red{background:var(--bs-navy);color:#fff}
.bs-btn.red:hover{background:var(--bs-navy2);color:#fff}
.bs-btn.navy{background:var(--bs-navy);color:#fff}
.bs-btn.navy:hover{background:var(--bs-navy2);color:#fff}
.bs-btn.gold{background:var(--bs-gold);color:var(--bs-navy)}
.bs-btn.gold:hover{background:var(--bs-gold-d);color:#fff}
.bs-btn.line{background:#fff;border:2px solid var(--bs-line);color:var(--bs-navy)}
.bs-btn.line:hover{border-color:var(--bs-navy)}

/* Header */
/* v1.13: Header auf Primaerfarbe Navy — optische Abgrenzung zu Frostklar. */
.site-header{box-shadow:0 2px 14px rgba(var(--bs-navy950-rgb,2,19,47),.35)}
.bs-topbar{background:var(--bs-navy);color:var(--bs-navy-200,#CAD5E8);font-size:12.5px}
.bs-topbar .bs-wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px;flex-wrap:wrap;gap:6px}
.bs-topbar a{margin-right:16px}
.bs-topbar a:hover{color:var(--bs-gold)}
.bs-topbar .bs-social a{margin:0 5px}
.bs-nav{display:flex;align-items:center;gap:18px;min-height:82px;padding:10px 0}
.bs-brand{display:flex;align-items:center;gap:13px}
.bs-brand img{max-height:56px;width:auto}
.bs-brand .bs-name{font-family:var(--bs-head);font-weight:900;font-size:21px;color:#fff;letter-spacing:-.5px;line-height:1}
.bs-brand .bs-name small{display:block;font-family:var(--bs-body);font-weight:600;font-size:10.5px;letter-spacing:1px;color:var(--bs-gold);text-transform:uppercase;margin-top:2px}
.bs-menu{margin-left:auto;display:flex;gap:2px;align-items:center;list-style:none;margin-top:0;margin-bottom:0;padding:0;flex-wrap:wrap}
.bs-menu li{position:relative}
.bs-menu a{display:block;font-family:var(--bs-head);font-weight:600;font-size:15px;padding:10px 13px;color:var(--bs-navy-100,#E5EAF3);border-radius:6px}
.bs-menu a:hover,.bs-menu .current-menu-item>a{background:var(--bs-navy2);color:var(--bs-gold)}
.bs-menu ul{position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--bs-line);border-radius:8px;box-shadow:0 20px 40px -20px rgba(var(--bs-navy-rgb,3,29,74),.4);min-width:220px;padding:6px;display:none;list-style:none;z-index:60}
.bs-menu li:hover>ul,.bs-menu li:focus-within>ul{display:block}
/* 2. Menü-Ebene klappt RECHTS neben das Elternmenü, nicht darunter (v1.151).
   `.bs-menu ul` gilt für JEDE Ebene (left:0;top:100%) — die 2. Ebene landete
   dadurch unter ihrem Elternpunkt. top:-7px gleicht Innenabstand (6px) + Rahmen
   (1px) des Elternmenüs aus, damit die Oberkanten fluchten; left:100% liegt am
   rechten Rand des Elternpunkts und überlappt das Elternmenü leicht — so reißt
   der Mauszeiger beim Hinüberfahren nicht ab. Beim LETZTEN Hauptmenüpunkt öffnet
   sie nach links, damit sie nicht aus dem Fenster läuft. Im Mobilmenü greift die
   Regel nicht (dort ist das Untermenü position:static). */
.bs-menu ul ul{left:100%;top:-7px}
.bs-menu>li:last-child ul ul{left:auto;right:100%}
/* navigation.js setzt flip-left, wenn rechts kein Platz mehr ist. */
.bs-menu ul ul.flip-left{left:auto;right:100%}
.bs-menu ul a{font-size:14px;color:var(--bs-navy)}
.bs-cta{background:var(--bs-gold)!important;color:var(--bs-navy)!important;padding:11px 20px!important;margin-left:6px}
.bs-cta:hover{filter:brightness(.9)}
.bs-burger{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:26px;cursor:pointer;line-height:1}

/* Hero */
.bs-hero{background:#fff;overflow:hidden}
.bs-hero .bs-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding:72px 24px 84px}
.bs-kick{display:inline-flex;align-items:center;gap:8px;background:var(--bs-ice);color:var(--bs-navy);font-family:var(--bs-head);font-weight:700;font-size:13px;letter-spacing:1px;padding:8px 14px;border-radius:30px;text-transform:uppercase}
.bs-kick i{width:8px;height:8px;border-radius:50%;background:var(--bs-red);font-style:normal;display:inline-block}
.bs-hero h1{font-weight:900;font-size:clamp(40px,6vw,74px);color:var(--bs-navy);margin:18px 0 16px}
.bs-hero h1 span{color:var(--bs-red)}
.bs-hero p.lead{font-size:18px;color:var(--bs-grey);max-width:480px;margin-bottom:26px}
.bs-hero-visual{position:relative;height:380px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--bs-navy) 0%,var(--bs-navy2) 100%)}
.bs-hero-visual.has-img{background:var(--bs-navy-950,#02132F)}
.bs-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-hero-visual .diag{position:absolute;top:-30%;left:-10%;width:60%;height:160%;background:var(--bs-red);transform:rotate(16deg);opacity:.95}
.bs-hero-visual .diag2{position:absolute;top:-30%;left:24%;width:16%;height:160%;background:var(--bs-gold);transform:rotate(16deg)}
/* Zentrierter Hero (v1.70): Überschrift + großes Vereinslogo mittig. */
.bs-hero-centered .bs-wrap{display:block;text-align:center;padding:64px 24px 78px}
.bs-hero-centered .bs-center-title{margin:0 0 36px;font-size:clamp(24px,3.2vw,40px);letter-spacing:.3em;text-transform:uppercase;color:var(--bs-navy)}
.bs-hero-centered .bs-center-logo{display:block}
.bs-hero-centered .bs-center-logo img{width:auto;margin:0 auto;max-width:86%;object-fit:contain;filter:drop-shadow(0 14px 40px rgba(var(--bs-navy950-rgb,2,19,47),.18))}
/* Mobil regelt die Breite die Logogröße (hebt die feste Inline-Höhe aus dem Customizer auf). */
@media(max-width:560px){.bs-hero-centered .bs-center-logo img{height:auto!important}}
.bs-hero-centered.has-img{background-size:cover;background-position:center;position:relative}
.bs-hero-centered.has-img::before{content:"";position:absolute;inset:0;background:rgba(var(--bs-navy950-rgb,2,19,47),.55)}
.bs-hero-centered.has-img .bs-wrap{position:relative;z-index:2}
.bs-hero-centered.has-img .bs-center-title{color:#fff}
.bs-hero-visual .bs-hero-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}
.bs-hero-visual .bs-hero-logo img{width:auto;max-width:82%;max-height:72%;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(0,0,0,.45))}
.bs-hero-visual.has-img::after{content:"";position:absolute;inset:0;background:rgba(var(--bs-navy950-rgb,2,19,47),.45)}
.bs-hero-visual .cap{position:absolute;left:22px;bottom:20px;color:#fff;font-family:var(--bs-head);font-weight:800;font-size:20px;text-shadow:0 2px 12px rgba(0,0,0,.4);z-index:2}

/* Match band */
.bs-matchband{background:var(--bs-navy);color:#fff}
.bs-matchband .bs-wrap{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:40px 24px;flex-wrap:wrap}
.bs-matchband .lbl{font-family:var(--bs-head);font-weight:800;letter-spacing:1px;color:var(--bs-gold);font-size:15px;text-transform:uppercase}
.bs-matchband .mt{display:flex;align-items:center;gap:20px;font-family:var(--bs-head);font-weight:800;font-size:32px}
.bs-matchband .mt .vs{color:var(--bs-red)}
.bs-matchband .mt img{max-height:66px;width:auto;display:inline-block}
.bs-matchband .when{font-family:var(--bs-head);font-weight:700;font-size:21px;color:var(--bs-navy-200,#CAD5E8)}

/* Sections */
.bs-section{padding:70px 0}
.bs-sec-head{text-align:center;margin-bottom:40px}
.bs-sec-head .k{font-family:var(--bs-head);font-weight:800;letter-spacing:2px;color:var(--bs-red);font-size:13px;text-transform:uppercase}
.bs-sec-head h2{font-size:clamp(28px,4vw,44px);color:var(--bs-navy);margin-top:8px}

/* Tiles */
.bs-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bs-tile{background:#fff;border:1px solid var(--bs-line);border-radius:16px;overflow:hidden;transition:.25s}
.bs-tile:hover{transform:translateY(-6px);box-shadow:0 24px 40px -22px rgba(var(--bs-navy-rgb,3,29,74),.4)}
.bs-tile .top{height:150px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--bs-navy),var(--bs-navy2))}
.bs-tile.h .top{background:linear-gradient(135deg,var(--bs-red-800,#742416),var(--bs-red))}
.bs-tile .top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-tile .top .d{position:absolute;top:-40%;left:-10%;width:50%;height:180%;background:rgba(255,255,255,.08);transform:rotate(16deg)}
.bs-tile .top.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,0) 62%)}
.bs-tile .top .tag{position:absolute;top:14px;left:14px;background:#fff;color:var(--bs-navy);font-family:var(--bs-head);font-weight:800;font-size:11px;letter-spacing:1px;padding:5px 11px;border-radius:20px;text-transform:uppercase;z-index:2}
.bs-tile .in{padding:22px 22px 26px}
.bs-tile h3{font-size:23px;color:var(--bs-navy);margin-bottom:8px}
.bs-tile p{color:var(--bs-grey);font-size:14.5px}
.bs-tile .go{margin-top:14px;font-family:var(--bs-head);font-weight:700;color:var(--bs-navy);font-size:14px;display:inline-flex;gap:6px}

/* Stats */
.bs-stats{background:linear-gradient(120deg,var(--bs-navy),var(--bs-navy2));color:#fff;position:relative;overflow:hidden}
.bs-stats .di{position:absolute;top:-40%;right:8%;width:120px;height:200%;background:var(--bs-red);opacity:.5;transform:rotate(16deg)}
.bs-stats .di2{position:absolute;top:-40%;right:5%;width:34px;height:200%;background:var(--bs-gold);opacity:.7;transform:rotate(16deg)}
.bs-stats .bs-wrap{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:52px 24px;text-align:center}
.bs-stats b{font-family:var(--bs-head);font-weight:900;font-size:46px;display:block;line-height:1}
.bs-stats span{color:var(--bs-navy-300,#9FB5DA);font-family:var(--bs-head);font-weight:600;letter-spacing:1px;font-size:13px;text-transform:uppercase}

/* News grid */
/* MatchCenter (v1.21): letztes Spiel · Countdown · nächstes Spiel — gleiches
   Layout wie im Theme Gameday. --dline/--bs-topbar per Fallback (kein Gameday-Var). */
.bs-mc{background:linear-gradient(180deg,var(--bs-navy2),var(--bs-navy));color:#fff;border-bottom:1px solid var(--dline)}
.bs-mc .bs-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;padding:0}
.bs-mc .cell{padding:16px 22px;display:flex;flex-direction:column;justify-content:center}
.bs-mc .cell+.cell{border-left:1px solid var(--dline)}
.bs-mc .lab{font-family:var(--bs-head);text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--bs-gold);margin-bottom:8px}
.bs-mc .game{display:flex;align-items:center;gap:14px}
.bs-mc .team{display:flex;align-items:center;gap:10px;min-width:0}
.bs-mc .lg{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;font-family:var(--bs-head);color:var(--bs-gold);font-size:15px;line-height:1}
.bs-mc .lg img{height:42px;width:auto;max-width:78px;object-fit:contain;display:block}
.bs-mc .lg .ini{opacity:.9}
.bs-mc .team b{font-family:var(--bs-head);font-size:clamp(12px,1.5vw,17px);text-transform:uppercase;white-space:nowrap}
.bs-mc .score{font-family:var(--bs-head);font-size:32px;line-height:1;white-space:nowrap;flex:0 0 auto}
.bs-mc .score .w{color:var(--bs-gold)}
.bs-mc .mid{background:var(--bs-topbar,var(--bs-navy-950));text-align:center;min-width:240px}
.bs-cd{display:flex;gap:8px;justify-content:center;margin-top:6px}
.bs-cd .u{background:var(--bs-navy2);border-radius:6px;padding:6px 9px;min-width:52px}
.bs-cd .u b{font-family:var(--bs-head);font-size:26px;display:block;line-height:1}
.bs-cd .u span{font-size:10px;letter-spacing:1px;color:var(--bs-navy-300,#9FB5DA);text-transform:uppercase}
.bs-mc .meta{color:var(--bs-navy-200,#CAD5E8);font-size:13px;margin-top:6px}
.bs-mc .tix{margin-top:10px}
.bs-mc .score.vs{font-size:22px;color:var(--bs-gold)}
/* Saisonphasen: nur nächstes Spiel (Saisonstart) bzw. nur letztes Spiel (Saisonende). */
.bs-mc--only-next .bs-wrap{grid-template-columns:auto auto;justify-content:center}
.bs-mc--only-last .bs-wrap{grid-template-columns:auto;justify-content:center}
.bs-mc--only-last .cell.last{align-items:center;text-align:center}
.bs-mc--only-last .cell.last .game{justify-content:center}
/* 2-Spiele-Ansicht: das „letzte Spiel" vertikal am „nächsten Spiel" ausrichten
   (Überschrift + Paarung) — gleich hoher, unsichtbarer Platzhalter für die
   Datum/Uhrzeit-Zeile des nächsten Spiels. */
.bs-mc--both .cell.last::after{content:"\00a0";display:block;font-size:13px;margin-top:6px;visibility:hidden}
/* Handy: keine Vereinsnamen, nur (größere) Logos — mobil gut erkennbar. */
@media(max-width:820px){.bs-mc .bs-wrap,.bs-mc--only-next .bs-wrap,.bs-mc--only-last .bs-wrap{grid-template-columns:1fr;justify-content:stretch}.bs-mc .cell+.cell{border-left:0;border-top:1px solid var(--dline)}.bs-mc .mid{min-width:0}.bs-mc--both .cell.last::after{content:none}}
@media(max-width:600px){.bs-mc .team b{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.bs-mc .lg,.bs-mc .lg img{height:60px}.bs-mc .lg{min-width:60px}.bs-mc .lg img{max-width:108px}.bs-mc .team{gap:0}.bs-mc .game{gap:18px;justify-content:center}.bs-mc .score{font-size:34px}}
.bs-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bs-ncard{background:#fff;border:1px solid var(--bs-line);border-radius:14px;overflow:hidden;transition:.25s}
.bs-ncard:hover{transform:translateY(-5px);box-shadow:0 20px 36px -20px rgba(var(--bs-navy-rgb,3,29,74),.35)}
.bs-ncard .img{height:180px;position:relative;background:linear-gradient(135deg,var(--bs-navy-800,#263C64),var(--bs-navy-950,#02132F));display:grid;place-items:center;overflow:hidden}
.bs-ncard .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-ncard .img .cat{position:absolute;top:12px;left:12px;background:var(--bs-red);color:#fff;font-family:var(--bs-head);font-weight:700;font-size:11px;letter-spacing:1px;padding:4px 10px;border-radius:4px;text-transform:uppercase;z-index:2}
.bs-ncard .in{padding:20px 22px 24px}
.bs-ncard .date{font-family:var(--bs-head);font-weight:600;font-size:12px;color:var(--bs-gold-d);letter-spacing:1px;text-transform:uppercase}
.bs-ncard h3{font-size:19px;color:var(--bs-navy);margin:8px 0 10px;line-height:1.2}
.bs-ncard p{font-size:14px;color:var(--bs-grey)}
.bs-ncard .rd{display:inline-block;margin-top:12px;font-family:var(--bs-head);font-weight:700;color:var(--bs-navy);font-size:13px}
.bs-ncard .rd:hover{color:var(--bs-navy)}

/* Sponsors */
.bs-sponsors{padding:56px 0;background:var(--bs-ice2)}
.bs-sponsors h4{text-align:center;color:var(--bs-navy);font-family:var(--bs-head);font-weight:700;letter-spacing:2px;font-size:13px;margin-bottom:24px;text-transform:uppercase}
.bs-sprow{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.bs-sp{background:#fff;border:1px solid var(--bs-line);border-radius:10px;height:82px;min-width:150px;display:grid;place-items:center;color:var(--bs-navy);font-family:var(--bs-head);font-weight:700;letter-spacing:.5px;padding:12px 20px;transition:.2s}
.bs-sp:hover{transform:translateY(-3px);box-shadow:0 14px 26px -16px rgba(var(--bs-navy-rgb,3,29,74),.4)}
.bs-sp img{max-height:56px;width:auto;object-fit:contain}

/* Page hero (inner) */
.bs-pagehero{background:linear-gradient(120deg,var(--bs-navy),var(--bs-navy2));color:#fff;position:relative;overflow:hidden}
.bs-pagehero .di{position:absolute;top:-40%;right:6%;width:110px;height:200%;background:var(--bs-red);opacity:.45;transform:rotate(16deg)}
.bs-pagehero .di2{position:absolute;top:-40%;right:3.5%;width:30px;height:200%;background:var(--bs-gold);opacity:.7;transform:rotate(16deg)}
.bs-pagehero .bs-wrap{position:relative;z-index:2;padding:52px 24px}
.bs-breadcrumb{font-size:13px;color:var(--bs-navy-300,#9FB5DA);letter-spacing:.5px;margin-bottom:12px}
.bs-breadcrumb a:hover{color:var(--bs-gold)}
.bs-pagehero .k{font-family:var(--bs-head);font-weight:800;letter-spacing:2px;color:var(--bs-gold);font-size:13px;text-transform:uppercase;margin-bottom:6px}
.bs-pagehero h1{font-size:clamp(32px,5vw,56px);margin:0}

/* Layout content + sidebar */
.bs-layout{display:grid;grid-template-columns:1fr 330px;gap:44px;padding:52px 0}
.bs-layout.no-side{grid-template-columns:1fr;max-width:none;margin:0}
.bs-content{background:#fff;border:1px solid var(--bs-line);border-radius:16px;padding:38px 40px;color:#4E545F;font-size:16.5px}
.bs-content h1,.bs-content h2{color:var(--bs-navy)}
.bs-content h2{font-size:29px;margin:6px 0 16px}
.bs-content h3{color:var(--bs-red);font-size:20px;margin:28px 0 10px}
.bs-content img{border-radius:10px;margin:8px 0}
.bs-content a{color:var(--bs-navy);text-decoration:underline}
.bs-content ul,.bs-content ol{margin:0 0 1em 1.3em}
/* Sicherheitsnetz (v1.158): Der Editor speichert Listenpunkte zwar als <li>Text</li>
   (der Sanitizer entpackt den Absatz), aber importierte oder fremd erzeugte Inhalte
   koennen <li><p>Text</p></li> enthalten. Ohne diese Regel bekaeme der Absatz seinen
   normalen Aussenabstand und das Aufzaehlungszeichen stuende allein in der Zeile. */
.bs-content li>p{margin:0}
.bs-content li>p+p{margin-top:.5em}
.bs-content blockquote{border-left:5px solid var(--bs-red);background:var(--bs-ice);padding:20px 24px;border-radius:0 10px 10px 0;margin:24px 0;font-size:18px;color:var(--bs-navy);font-style:italic}

/* Sidebar */
.bs-aside{align-self:start;position:sticky;top:24px;display:flex;flex-direction:column;gap:22px}
.bs-widget{background:#fff;border:1px solid var(--bs-line);border-radius:14px;padding:22px}
.bs-widget .widget-title,.bs-widget h4{color:var(--bs-navy);font-family:var(--bs-head);font-weight:800;font-size:15px;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--bs-red);display:inline-block}
.bs-widget address,.bs-widget p{font-style:normal;color:var(--bs-grey);font-size:14px;line-height:1.7;margin:0 0 .6em}
.bs-widget ul{list-style:none;margin:0;padding:0}
.bs-widget ul li{padding:8px 0;border-bottom:1px solid var(--bs-line)}
.bs-widget a:hover{color:var(--bs-navy);text-decoration:underline}
.bs-iban{font-family:monospace;font-size:12.5px;color:var(--bs-navy);word-break:break-all;background:var(--bs-ice);padding:8px;border-radius:6px;display:block;margin-top:6px}

/* Article meta / news single */
.bs-articmeta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;color:var(--bs-navy-200,#CAD5E8);font-size:13.5px;margin-top:10px}
.bs-articmeta .cat{background:var(--bs-gold);color:var(--bs-navy);font-family:var(--bs-head);font-weight:700;letter-spacing:.5px;padding:3px 10px;border-radius:4px;font-size:12px}
.bs-share{display:flex;gap:8px;align-items:center;margin:0 0 20px}
.bs-share span{color:var(--bs-grey);font-size:12px;letter-spacing:1px;font-weight:600}
.bs-share a{width:34px;height:34px;border-radius:50%;border:1px solid var(--bs-line);display:grid;place-items:center;color:var(--bs-navy);font-size:13px}
.bs-share a:hover{background:var(--bs-navy);color:#fff}
.bs-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.bs-tags a{background:var(--bs-ice);color:var(--bs-navy);padding:5px 12px;border-radius:20px;font-size:12.5px;font-weight:600}
.bs-tags a:hover{background:var(--bs-navy);color:#fff}
.bs-postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
.bs-postnav a{background:var(--bs-ice);border:1px solid var(--bs-line);border-radius:10px;padding:16px 18px}
.bs-postnav a:hover{border-color:var(--bs-navy)}
.bs-postnav small{color:var(--bs-grey);letter-spacing:.5px;font-size:11px;font-weight:600}
.bs-postnav b{display:block;color:var(--bs-navy);margin-top:4px}
.bs-postnav .next{text-align:right}

/* Comments / forms */
.bs-comments{background:var(--bs-ice);border:1px solid var(--bs-line);border-radius:12px;padding:26px;margin-top:22px}
.bs-comments input[type=text],.bs-comments input[type=email],.bs-comments input[type=url],.bs-comments textarea{width:100%;background:#fff;border:1px solid var(--bs-line);border-radius:8px;padding:11px 14px;color:var(--bs-navy);font-family:var(--bs-body);margin-bottom:12px}
.bs-comments .comment-list{list-style:none;margin:0 0 20px;padding:0}
.bs-comments .comment-list li{background:#fff;border:1px solid var(--bs-line);border-radius:10px;padding:16px 18px;margin-bottom:12px}

/* Footer */
.site-footer{background:var(--bs-navy);color:var(--bs-navy-200,#CAD5E8);padding:56px 0 24px;font-size:14.5px}
.bs-fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.site-footer h4,.site-footer .widget-title{color:#fff;font-family:var(--bs-head);font-weight:800;font-size:16px;margin:0 0 14px}
.site-footer a:hover{color:var(--bs-gold)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer .bs-fnews li,.site-footer .widget li{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.site-footer .bs-name{color:#fff;font-family:var(--bs-head);font-weight:900;font-size:20px}
.site-footer .bs-name small{display:block;font-size:11px;letter-spacing:1px;color:var(--bs-gold);text-transform:uppercase;font-family:var(--bs-body);font-weight:600}
.bs-fbot{margin-top:34px;border-top:1px solid rgba(255,255,255,.28);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--bs-navy-300,#9FB5DA);font-size:13px}

/* Pagination */
.bs-pagination{display:flex;gap:8px;justify-content:center;padding:20px 0 60px;flex-wrap:wrap}
.bs-pagination a,.bs-pagination span{padding:10px 15px;border:1px solid var(--bs-line);border-radius:8px;background:#fff;color:var(--bs-navy);font-family:var(--bs-head);font-weight:600}
.bs-pagination .current{background:var(--bs-navy);color:#fff;border-color:var(--bs-navy)}

/* News-Übersicht: Featured-Karte (neuester Beitrag) */
.bs-news-lead{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin-bottom:40px;background:#fff;border:1px solid var(--bs-line);border-radius:var(--bs-radius,16px);overflow:hidden;box-shadow:0 20px 36px -20px rgba(var(--bs-navy-rgb,3,29,74),.2)}
.bs-news-lead .img{position:relative;display:block;min-height:320px;background:linear-gradient(135deg,var(--bs-navy-800,#263C64),var(--bs-navy-950,#02132F));overflow:hidden}
.bs-news-lead .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-news-lead .img .cat{position:absolute;top:16px;left:16px;background:var(--bs-red);color:#fff;font-family:var(--bs-head);font-weight:700;font-size:11px;letter-spacing:1px;padding:5px 12px;border-radius:4px;text-transform:uppercase;z-index:2}
.bs-news-lead .in{padding:36px 42px;display:flex;flex-direction:column;justify-content:center}
.bs-news-lead .date{font-family:var(--bs-head);font-weight:600;font-size:12px;color:var(--bs-gold-d);letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}
.bs-news-lead h2{font-size:clamp(26px,3.2vw,38px);color:var(--bs-navy);margin:0 0 16px;line-height:1.15}
.bs-news-lead p{font-size:16px;color:var(--bs-grey);margin:0 0 20px}
.bs-news-lead .rd{display:inline-block;font-family:var(--bs-head);font-weight:700;color:var(--bs-navy);font-size:13px;text-transform:uppercase}
.bs-news-lead .rd:hover{color:var(--bs-navy)}
@media(max-width:780px){.bs-news-lead{grid-template-columns:1fr}.bs-news-lead .img{min-height:220px}.bs-news-lead .in{padding:26px 24px}}

/* WP alignment helpers */
.alignleft{float:left;margin:0 20px 12px 0}
.alignright{float:right;margin:0 0 12px 20px}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.wp-caption-text{font-size:13px;color:var(--bs-grey);text-align:center}

/* Responsive */
@media(max-width:900px){
  .bs-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--bs-line);flex-direction:column;align-items:stretch;padding:10px;box-shadow:0 20px 30px -18px rgba(var(--bs-navy-rgb,3,29,74),.4)}
  /* Mobil-Panel ist weiss -> Links wieder dunkel (Header-Links sind hell). */
  .bs-menu a{color:var(--bs-navy)}
  .bs-menu.open{display:flex}
  .bs-menu ul{position:static;display:block;box-shadow:none;border:0;padding-left:12px}
  .bs-burger{display:block}
  .bs-hero .bs-wrap{grid-template-columns:1fr}
  .bs-hero-visual{height:280px}
  .bs-tiles,.bs-news-grid{grid-template-columns:1fr}
  .bs-layout{grid-template-columns:1fr}
  .bs-aside{position:static}
  .bs-stats .bs-wrap{grid-template-columns:1fr 1fr}
  .bs-postnav,.bs-fgrid{grid-template-columns:1fr 1fr}
  .bs-content{padding:26px 22px}
}
@media(max-width:560px){.bs-fgrid,.bs-postnav{grid-template-columns:1fr}}
/* Die Karte „Spieler des Monats" stand auf zwei gleichen Spalten ohne
   Umbruchregel. Weil die Textspalte durch ihren Inhalt eine Mindestbreite
   erzwingt und die Fotospalte keine hat, blieben dem Foto bei 320 px nur
   24 px (gemessen). Gameday hatte die Regel laengst, die drei anderen nicht. */
@media(max-width:700px){
  .bs-spotlight{grid-template-columns:1fr}
  .bs-spot-img{min-height:220px}
  .bs-spot-info{padding:24px}
  .bs-spot-stats{grid-template-columns:repeat(2,1fr)}
}

/* Bisons Display: Tabelle / Event-Listen / Countdown */
.bs-table-wrap{overflow-x:auto;border:1px solid var(--bs-line);border-radius:12px;background:#fff}
.bs-standings{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.bs-standings th{background:var(--bs-navy);color:var(--bs-navy-200,#CAD5E8);font-family:var(--bs-head);font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:12px;padding:12px 14px;text-align:left}
.bs-standings td{padding:12px 14px;border-top:1px solid var(--bs-line);color:var(--bs-ink)}
.bs-standings td.n{text-align:center;color:var(--bs-grey)}
.bs-standings td.p{text-align:center;color:var(--bs-red);font-family:var(--bs-head);font-weight:800}
.bs-standings td.tm{font-weight:600}
.bs-standings tr.me td{background:rgba(var(--bs-gold-rgb,201,194,176),.16);font-weight:700}
.bs-standings .bs-tlogo{height:22px;width:auto;display:inline-block;vertical-align:middle;margin-right:6px}
.bs-eventlist{list-style:none;margin:0;padding:0}
.bs-eventlist li{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:12px 14px;border:1px solid var(--bs-line);border-radius:10px;background:#fff;margin-bottom:8px}
.bs-eventlist .d{font-family:var(--bs-head);font-weight:700;color:var(--bs-navy);min-width:120px}
.bs-eventlist .t{color:var(--bs-ink)}
.bs-eventlist .v{color:var(--bs-grey);font-size:13px}
.bs-eventlist .sc{margin-left:auto;font-family:var(--bs-head);font-weight:800;color:var(--bs-red)}
.bs-countdown{display:inline-flex;gap:10px;align-items:baseline;background:var(--bs-navy);color:#fff;padding:12px 18px;border-radius:10px;font-family:var(--bs-head)}
.bs-countdown .bs-cd-label{color:var(--bs-gold);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:12px}
.bs-countdown .bs-cd-value{font-weight:800;font-size:18px}
.bs-fwidget{margin-bottom:8px}
.bs-fwidget .widget-title{color:#fff}

/* v1.1.0: über Customizer konfigurierbare Elemente */
/* Kopf- und Fussbereich bestehen aus DREI Baendern: Topbar, Navigationsband
   und Fuss. Bis v1.49 hingen sie an drei verschiedenen Quellen — das
   Navigationsband an --bs-navy ganz ohne Regler. Wer die Topbar umfaerbte,
   bekam einen zweifarbigen Kopf. Seit v1.50 speist EIN Regler alle drei:
   --bs-topbar. --bs-footer bleibt als bewusste Abweichung moeglich und
   faellt auf die Kopffarbe zurueck, solange nichts Eigenes gesetzt ist. */
.bs-topbar{background:var(--bs-topbar,var(--bs-navy))}
.site-header{background:var(--bs-topbar,var(--bs-navy))}
.site-footer{background:var(--bs-footer,var(--bs-topbar,var(--bs-navy)))}
.bs-brand img,.bs-brand .custom-logo{max-height:var(--bs-logo-h,64px);width:auto;height:auto}
.bs-topbar-menu,.bs-social-menu,.bs-legal-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.bs-topbar-menu li,.bs-social-menu li,.bs-legal-menu li{display:inline-flex}
.bs-topbar-menu a{margin-right:16px}
.bs-topbar-menu a:hover,.bs-legal-menu a:hover{color:var(--bs-gold)}
.bs-social-menu a{margin:0 7px;font-weight:600}
.bs-legal-menu a{margin-left:14px}
.bs-tile,.bs-ncard,.bs-widget,.bs-content,.bs-hero-visual,.bs-table-wrap,.bs-comments,.bs-postnav a{border-radius:var(--bs-radius,16px)}
.bs-sp{border-radius:calc(var(--bs-radius,16px) * .65)}
.bs-btn{border-radius:calc(var(--bs-radius,16px) * .5)}
.bs-stat-link{color:inherit;text-decoration:none;display:block}
.bs-sec-head .more{display:inline-block;margin-top:10px;font-family:var(--bs-head);font-weight:700;color:var(--bs-navy);font-size:14px}
.bs-sec-head .more:hover{color:var(--bs-navy)}
.bs-stats-head{max-width:var(--bs-maxw,1180px);margin:0 auto;padding:44px 24px 0;text-align:center;position:relative;z-index:2}
.bs-stats-heading{color:#fff;font-size:clamp(24px,3.4vw,36px)}
.bs-stat-link:hover b{color:var(--bs-gold)}

/* v1.1.1: Formular-Buttons & Suchfeld (Beitragsseiten/Kommentare/Suche) */
#submit,.comment-form input[type=submit],.search-submit,.wp-block-search__button,.bs-content input[type=submit],.widget input[type=submit]{
  font-family:var(--bs-head);font-weight:700;font-size:15px;padding:13px 22px;border:0;
  border-radius:calc(var(--bs-radius,16px) * .5);background:var(--bs-navy);color:#fff;cursor:pointer;transition:.2s;line-height:1;-webkit-appearance:none;appearance:none}
#submit:hover,.comment-form input[type=submit]:hover,.search-submit:hover,.wp-block-search__button:hover,.widget input[type=submit]:hover{filter:brightness(.9);color:#fff}
.search-form{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.wp-block-search__inside-wrapper{display:flex;gap:8px}
.search-field,.wp-block-search__input{flex:1;min-width:0;background:#fff;border:1px solid var(--bs-line);border-radius:calc(var(--bs-radius,16px) * .5);padding:11px 14px;color:var(--bs-ink);font-family:var(--bs-body)}
.search-field:focus,.wp-block-search__input:focus{outline:2px solid var(--bs-navy);outline-offset:1px}

/* v1.2.0: Sponsoren-Slider (automatisch ab mehr als 7 Sponsoren) */
.bs-sponsors--slider .bs-wrap{margin-bottom:10px}
.bs-slider{overflow:hidden;position:relative;padding:6px 0}
.bs-slider::before,.bs-slider::after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
.bs-slider::before{left:0;background:linear-gradient(90deg,var(--bs-ice2),transparent)}
.bs-slider::after{right:0;background:linear-gradient(270deg,var(--bs-ice2),transparent)}
.bs-slider-track{display:flex;gap:16px;width:max-content;align-items:stretch;animation:bs-marquee var(--bs-spd,40s) linear infinite}
.bs-sponsors--slider:hover .bs-slider-track,.bs-slider-track:focus-within{animation-play-state:paused}
.bs-slider .bs-sp{flex:0 0 auto}
@keyframes bs-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.bs-slider{overflow-x:auto}.bs-slider-track{animation:none}}

/* Sponsoren-Darstellungen nach Level (Customizer sponsors_layout):
   pyramid/tiers/podium/wall/marquee; Größenklassen .bs-sp-r0…r3 je Levelrang */
.bs-sp-r0{height:148px;min-width:290px}.bs-sp-r0 img{max-height:92px}
.bs-sp-r1{height:110px;min-width:215px}.bs-sp-r1 img{max-height:64px}
.bs-sp-r2{height:86px;min-width:165px}.bs-sp-r2 img{max-height:48px}
.bs-sp-r3{height:64px;min-width:125px;padding:8px 14px}.bs-sp-r3 img{max-height:34px}
.bs-splvl{display:flex;align-items:center;gap:16px;margin:28px auto 14px;max-width:760px;font-family:var(--bs-head);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--bs-navy)}
.bs-splvl::before,.bs-splvl::after{content:"";flex:1;height:1px;background:var(--bs-line)}
.bs-splvl.kick{color:var(--bs-gold-d);opacity:1}
.bs-spband{background:rgba(var(--bs-navy-rgb),.055);border-radius:12px;padding:20px 22px 22px;margin-top:14px}
.bs-spband .bs-splvl{margin:0 auto 16px}
.bs-spband.top{background:var(--bs-navy)}
.bs-spband.top .bs-splvl{color:var(--bs-gold);opacity:1}
.bs-spband.top .bs-splvl::before,.bs-spband.top .bs-splvl::after{background:rgba(255,255,255,.28)}
.bs-podium{border:2px solid var(--bs-gold-d);border-radius:16px;padding:34px 26px 26px;max-width:980px;margin:16px auto 6px;position:relative;background:rgba(255,255,255,.45)}
.bs-podium-kick{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--bs-ice2);padding:2px 16px;font-family:var(--bs-head);font-size:11.5px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--bs-gold-d);white-space:nowrap}
.bs-spwall{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:stretch}
.bs-spwall .bs-sp{min-width:0;width:100%}
.bs-spw0{grid-column:span 6;height:172px}.bs-spw0 img{max-height:100px}
.bs-spw1{grid-column:span 4;height:118px}.bs-spw1 img{max-height:66px}
.bs-spw2{grid-column:span 3;height:90px}.bs-spw2 img{max-height:48px}
.bs-spw3{grid-column:span 2;height:66px;padding:8px 12px}.bs-spw3 img{max-height:32px}
.bs-spwall-legend{text-align:center;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--bs-ink);opacity:.62;margin-top:18px}
.bs-spwall-legend b{color:var(--bs-gold-d)}
.bisons-sponsoren .bisons-sponsor-level{color:var(--bs-navy)}
.bs-mrow{overflow:hidden;position:relative;padding:4px 0}
.bs-mrow::before,.bs-mrow::after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
.bs-mrow::before{left:0;background:linear-gradient(90deg,var(--bs-ice2),transparent)}
.bs-mrow::after{right:0;background:linear-gradient(270deg,var(--bs-ice2),transparent)}
.bs-mtrack{display:flex;width:max-content;animation:bs-marquee var(--bs-spd,40s) linear infinite}
.bs-mrow:hover .bs-mtrack{animation-play-state:paused}
.bs-mhalf{display:flex;gap:16px;padding-right:16px}
.bs-mtrack .bs-sp{flex:0 0 auto}
@media (prefers-reduced-motion: reduce){.bs-mrow{overflow-x:auto}.bs-mtrack{animation:none}}
@media (max-width:760px){
  .bs-sp-r0{height:112px;min-width:200px}.bs-sp-r0 img{max-height:66px}
  .bs-sp-r1{height:92px;min-width:170px}.bs-sp-r1 img{max-height:52px}
  .bs-spband{padding:14px 14px 16px}
  .bs-spw0{grid-column:span 12}.bs-spw1{grid-column:span 6}.bs-spw2,.bs-spw3{grid-column:span 4}
}

/* Hover-Zoom zusätzlich zum Anheben: je kleiner das Level, desto stärker —
   so bleiben auch Logos niedriger Sponsorenlevel im Vorbeifahren gut erkennbar */
.bs-sp:hover{transform:translateY(-3px) scale(1.06);position:relative;z-index:3}
.bs-sp-r1:hover,.bs-spw1:hover{transform:translateY(-3px) scale(1.14)}
.bs-sp-r2:hover,.bs-spw2:hover{transform:translateY(-3px) scale(1.24)}
.bs-sp-r3:hover,.bs-spw3:hover{transform:translateY(-3px) scale(1.38)}
.bs-mrow{padding:16px 0;margin:-12px 0}

/* Sticky-Header: Hauptmenü bleibt beim Scrollen oben bedienbar */
.site-header{position:sticky;top:0;z-index:100}
body.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .site-header{top:46px}}
/* Neutrales Match-Band, wenn kein Spiel geliefert wird */
.bs-matchband--empty .bs-wrap{justify-content:flex-start}
.bs-matchband--empty .lbl{opacity:.75}

/* Goldene Trennlinie unter der Top-Navigation */
.site-header{border-bottom:3px solid var(--bs-gold)}

/* Bisons Display v1.2: Spotlight / Kader / Letztes Ergebnis (Shortcodes) */
.bs-spotlight{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--bs-radius,16px);overflow:hidden;border:1px solid var(--bs-line)}
.bs-spot-img{position:relative;min-height:300px;display:grid;place-items:center;background:linear-gradient(135deg,var(--bs-navy2),var(--bs-navy));overflow:hidden}
.bs-spot-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-spot-num{font-family:var(--bs-head);font-size:200px;line-height:.8;color:rgba(255,255,255,.14)}
.bs-spot-tag{position:absolute;left:18px;top:18px;z-index:2;background:var(--bs-gold);color:var(--bs-navy);font-family:var(--bs-head);letter-spacing:1px;padding:5px 12px;border-radius:4px;text-transform:uppercase;font-size:13px}
.bs-spot-info{padding:32px;background:var(--bs-navy);color:#fff}
.bs-spot-kick{font-family:var(--bs-head);letter-spacing:2px;color:var(--bs-gold);text-transform:uppercase;font-size:13px}
.bs-spot-info h3{font-size:38px;color:#fff;margin:6px 0 4px}
.bs-spot-sub{color:var(--bs-navy-200,#CAD5E8);margin-bottom:20px}
.bs-spot-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bs-spot-stats .bs-stat b{font-family:var(--bs-head);font-size:32px;color:var(--bs-gold);display:block;line-height:1}
.bs-spot-stats .bs-stat span{font-size:11px;letter-spacing:1px;color:var(--bs-navy-300,#9FB5DA);text-transform:uppercase}
.bs-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.bs-player{background:#fff;border:1px solid var(--bs-line);border-radius:12px;overflow:hidden}
.bs-player-img{aspect-ratio:1/1;background:linear-gradient(135deg,var(--bs-navy2),var(--bs-navy));display:grid;place-items:center;overflow:hidden}
.bs-player-img img{width:100%;height:100%;object-fit:cover}
.bs-rn{font-family:var(--bs-head);font-size:60px;color:rgba(255,255,255,.28)}
.bs-player-b{padding:12px 14px}
.bs-player-num{font-family:var(--bs-head);color:var(--bs-red);font-weight:800}
.bs-player-b b{display:block;color:var(--bs-navy)}
.bs-player-pos{font-size:12px;color:var(--bs-grey,#636D7D)}
.bs-lastresult{background:var(--bs-navy);color:#fff;border-radius:10px;padding:14px 18px}
.bs-lr-lbl{font-family:var(--bs-head);letter-spacing:1px;color:var(--bs-gold);text-transform:uppercase;font-size:12px}
.bs-lr-game{display:flex;align-items:center;gap:14px;margin-top:6px}
.bs-lr-sc{font-family:var(--bs-head);font-size:28px;color:var(--bs-gold)}
.bs-lr-t{font-family:var(--bs-head);text-transform:uppercase}

/* Newsletter (v1.3) */
.bs-newsletter-sec{background:linear-gradient(120deg,var(--bs-red),var(--bs-red-800,#742416));color:#fff}
.bs-newsletter-sec .bs-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:44px 24px}
.bs-newsletter-sec h2{color:#fff;font-family:var(--bs-head);font-size:clamp(24px,3.2vw,38px)}
.bs-newsletter-sec p{color:var(--bs-red-100,#F6E5E2);max-width:520px;margin:0}

/* Newsletter: Honeypot / Einwilligung / Zeilenlayout / Status.
   Der v1.3-Block darueber war seit v1.4 tot — jede seiner Regeln wurde hier
   ueberschrieben. Die Statusklassen bs-nl-exists/-invalid/-error kamen
   ausserdem nie vor: bisons_render_newsletter_form() kennt nur ok und err. */
.bs-newsletter{display:block;max-width:520px}
.bs-nl-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bs-newsletter input[type=email]{flex:1;min-width:240px;border:0;border-radius:6px;padding:14px 16px;font-family:var(--bs-body,inherit);color:var(--bs-ink,#111)}
.bs-nl-consent{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:12.5px;color:var(--bs-red-50,#FBF3F2);line-height:1.4}
.bs-nl-consent input{margin-top:3px}
.bs-nl-consent a{color:#fff;text-decoration:underline}
.bs-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.bs-nl-msg{margin-top:10px;font-size:14px;font-weight:600}
.bs-nl-ok{color:#fff}
.bs-nl-err{color:var(--bs-red-100,#F6E5E2)}

/* v1.15.0: Seiten-Templates „Volle Breite" + „Landing/Hero-Seite" */
/* Seiten-Vorlagen „Volle Breite“/„Landing“ (ab v1.152): die FLÄCHE läuft über
   die volle Fensterbreite, der INHALT steht aber im normalen Seitenraster
   (.bs-wrap, siehe die Vorlagen). Vorher stand der Text randlos im Fenster —
   bei 2000px Fensterbreite wurden daraus ~1840px lange Zeilen, und er fluchtete
   nicht mit Kopfbereich und Seitentitel. Seitlicher Abstand kommt aus .bs-wrap. */
.bs-fullwidth{width:100%;max-width:none;margin:0;padding:clamp(24px,4vw,64px) 0}
/* Die Seiten-Vorlagen „Volle Breite“ und „Landing“ nahmen dem Inhalt den
   Hintergrund (background:none) — der Text stand dann direkt auf der Seiten-
   fläche statt auf der weißen Karte. Ab v1.151 bleibt der Inhaltshintergrund
   aus .bs-content erhalten; randlos und eckig bleibt er (randlos ist bei voller
   Breite gewollt). */
.bs-fullwidth.bs-content{border:0;border-radius:0}
.bs-landing-hero{position:relative;min-height:clamp(320px,46vh,560px);display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(120deg,var(--bs-navy),var(--bs-navy2));overflow:hidden}
.bs-landing-hero.has-img{background-size:cover;background-position:center}
.bs-landing-hero.has-img::before{content:"";position:absolute;inset:0;background:rgba(var(--bs-navy950-rgb,2,19,47),.55)}
.bs-landing-hero .bs-wrap{position:relative;z-index:2;padding:52px 24px}
.bs-landing-hero h1{font-size:clamp(36px,6vw,72px);color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.5);margin:0}

/* ===== News-Übersicht: kompakte Saison-Liste + Archiv (identisch in allen 4 Themes) ===== */
/* Überschriften der News-Übersicht (v1.148). Bis v1.147 waren das 13-px-Kicker
   in --bs-gold; Gold (#C9C2B0) auf den drei HELLEN Themes ergibt 1,6:1 Kontrast
   und war praktisch unsichtbar. Jetzt echte Überschriften in --bs-ink (hell:
   CI-Navy, darkpower: helles Eisblau - beide ~15:1) mit rotem CI-Balken; das ist
   dasselbe Muster wie .bs-sec-head h2 auf der Startseite. --bs-gold NIE für Text
   auf hellem Grund verwenden. */
.bs-news-subhead{font-family:var(--bs-head,inherit);font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.15;letter-spacing:0;text-transform:none;color:var(--bs-ink,#E5EAF3);position:relative;padding-left:18px;margin:44px 0 18px}
.bs-news-subhead:before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:6px;border-radius:2px;background:var(--bs-red,#C62F15)}
.bs-news-list{display:flex;flex-direction:column;border-top:1px solid var(--bs-line,rgba(127,127,127,.25));margin-bottom:8px}
.bs-news-list-row{display:flex;align-items:baseline;gap:18px;padding:13px 4px;border-bottom:1px solid var(--bs-line,rgba(127,127,127,.25));color:var(--bs-ink,#E5EAF3);text-decoration:none;transition:background .15s,padding-left .15s}
.bs-news-list-row:hover{background:var(--bs-ice2,rgba(127,127,127,.12));padding-left:12px}
.bs-news-list-row .date{flex:0 0 auto;min-width:104px;font-family:var(--bs-head,inherit);font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--bs-ink,#E5EAF3);opacity:.62}
.bs-news-list-row .ti{flex:1 1 auto;font-weight:600;color:var(--bs-ink,#E5EAF3)}
.bs-news-list-row:hover .ti{text-decoration:underline;text-underline-offset:3px}
.bs-season-archive{display:flex;flex-direction:column;border-top:1px solid var(--bs-line,rgba(127,127,127,.25));margin-bottom:20px}
.bs-season-row{display:flex;align-items:center;gap:16px;padding:18px 6px;border-bottom:1px solid var(--bs-line,rgba(127,127,127,.25));border-left:4px solid transparent;color:var(--bs-ink,#E5EAF3);text-decoration:none;transition:background .15s,padding-left .15s,border-left-color .15s}
.bs-season-row:hover{background:var(--bs-ice2,rgba(127,127,127,.12));padding-left:14px;border-left-color:var(--bs-navy,#031D4A)}
.bs-season-row .s{flex:1 1 auto;font-family:var(--bs-head,inherit);font-size:clamp(21px,2.4vw,27px);font-weight:800;line-height:1.2;color:var(--bs-ink,#E5EAF3)}
.bs-season-row:hover .s{text-decoration:underline;text-underline-offset:4px}
.bs-season-row .c{flex:0 0 auto;font-size:14px;color:var(--bs-ink,#E5EAF3);opacity:.65}
.bs-season-row .a{flex:0 0 auto;color:var(--bs-navy,#031D4A);font-size:22px;line-height:1}
.bs-news-archive-link,.bs-news-back{margin:26px 0 8px}
@media(max-width:560px){.bs-news-list-row{flex-direction:column;gap:2px}.bs-news-list-row .date{min-width:0}}

/* Spieler-des-Monats-Wahl-Hinweis auf der Startseite (v1.198). */
.bs-vote-hint{margin-top:16px;padding:12px 16px;border:1px solid var(--bs-gold,#C9C2B0);border-radius:10px;text-align:center}
.bs-vote-hint-text{margin:0 0 10px;font-weight:600}
.bs-vote-hint-link{display:inline-block}

/* =========================================================================
 * Live-Center im MatchCenter (GS 1.40, App-Phase 4): Goldstadt-Feinschliff
 * fuer das Plugin-Widget (bisons-display >= 1.42, Klassen .bisons-live-*).
 * Charakter: elegant — Navy-Verlauf, feine Goldkonturen, Gold-Akzente,
 * Condensed-Ziffern; LIVE-Punkt in Rot als einziger Signalton.
 * ====================================================================== */
.bs-mc--live .bs-wrap{display:block;padding:0}
.bs-mc--live .bisons-live{
	margin:0;
	border-radius:0;
	background:var(--bs-navy,#031D4A);
	background-image:linear-gradient(150deg,var(--bs-navy,#031D4A),var(--bs-navy-950,#02132F));
	padding:28px 26px 24px;
	border-bottom:2px solid var(--bs-gold,#C9C2B0);
}
.bs-mc--live .bisons-live-head{font-family:var(--bs-head);letter-spacing:2.2px;font-size:13px}
.bs-mc--live .bisons-live-badge--live,.bs-mc--live .bisons-live-badge--pre,.bs-mc--live .bisons-live-badge--final{color:var(--bs-gold,#C9C2B0)}
.bs-mc--live .bisons-live-score{font-family:var(--bs-head);font-size:62px;color:#fff}
.bs-mc--live .bisons-live-score i{color:var(--bs-gold,#C9C2B0)}
.bs-mc--live .bisons-live-team b{font-size:15px;letter-spacing:.3px}
.bs-mc--live .bisons-live-ini{border:2px solid var(--bs-gold,#C9C2B0)}
.bs-mc--live .bisons-live-period{background:rgba(255,255,255,.07);border:1px solid rgba(201,194,176,.4);border-radius:9px}
.bs-mc--live .bisons-live-period b{color:var(--bs-gold,#C9C2B0)}
.bs-mc--live .bisons-live-events{border-color:rgba(201,194,176,.35)}
.bs-mc--live .bisons-live-tag--goal{background:var(--bs-gold,#C9C2B0);color:var(--bs-navy,#031D4A)}
.bs-mc--live .bisons-live-event-time,.bs-mc--live .bisons-live-event-score{color:var(--bs-gold,#C9C2B0);font-family:var(--bs-head);font-size:15px;letter-spacing:.5px}
.bs-mc--live .bisons-live-stats h4,.bs-mc--live .bisons-live-info h4{color:var(--bs-gold,#C9C2B0);font-family:var(--bs-head);letter-spacing:2px}
.bs-mc--live .bisons-live-statbar{background:rgba(201,194,176,.3)}
.bs-mc--live .bisons-live-statbar i{background:var(--bs-gold,#C9C2B0)}
@media(max-width:600px){
	.bs-mc--live .bisons-live-score{font-size:42px}
}

/* Spieltag-Buehne (GS 1.41, Phase 5): Goldstadt-Akzente auf der Plugin-Buehne. */
.bs-live-stage .bisons-live{margin:0;border-radius:0;background:radial-gradient(1100px 420px at 50% -80px,var(--bs-navy2,#1D3764),var(--bs-navy-950,#02132F) 70%);border-bottom:2px solid var(--bs-gold,#C9C2B0)}
.bs-live-stage .bisons-live-stage-kick{font-family:var(--bs-head);font-size:15px;letter-spacing:4.5px}
.bs-live-stage .bisons-live-score{font-family:var(--bs-head);font-size:92px;color:#fff}
.bs-live-stage .bisons-live-score i{color:var(--bs-gold,#C9C2B0)}
.bs-live-stage .bisons-live-ini{border:2px solid var(--bs-gold,#C9C2B0)}
@media(max-width:600px){.bs-live-stage .bisons-live-score{font-size:54px}}

/* Sponsor auf der „Spieler des Monats“-Karte (App v1.269, Freigabe 2d).
   Var-basiert: funktioniert auf hellem und dunklem Grund gleichermaßen. */
.bs-spot-presenter{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid rgba(127,127,127,.3)}
.bs-spot-presenter span{font-size:.68rem;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;opacity:.65}
/* Sponsorenlogo deutlich groesser (Nutzer-Wunsch: mind. dreifache Hoehe) und
   auf weisser Karte — helle Logos bleiben so auf dunklen Themes sichtbar.
   Feste Karte + object-fit: unterschiedlich geschnittene Logos wirken gleich gross. */
.bs-spot-presenter img{box-sizing:border-box;width:300px;height:104px;object-fit:contain;background:#fff;border-radius:8px;padding:10px;display:block}
@media (max-width:600px){.bs-spot-presenter img{width:230px;height:82px}}


/* ---------------------------------------------------------------------------
   Saison-Historie [bisons_kader_archiv] — Theme-Verfeinerung (Goldstadt 1.46.0)

   Das Plugin liefert Struktur und ein zurueckhaltendes Grundaussehen; hier
   bekommt es den Charakter dieses Themes. Bewusst NUR Stilregeln — erweitert
   das Plugin die Ausgabe, erscheint die Erweiterung automatisch mit.

   Alle Regeln sind zweistufig (.bisons-archiv .bisons-archiv-*), damit sie das
   einstufige Plugin-CSS sicher uebersteuern — unabhaengig davon, in welcher
   Reihenfolge die beiden Stilvorlagen geladen werden.
   --------------------------------------------------------------------------- */
/* KEINE eigene Karte: Der Baustein steht bereits in .bs-content, die selbst
   weisse Flaeche, Rahmen und Rundung mitbringt. Eine zweite Karte darin gaebe
   den Doppelrahmen, der bei allen anderen Inhaltsseiten nicht vorkommt. */
.bisons-archiv .bisons-archiv-kopf{
	background:linear-gradient(135deg,var(--bs-navy),var(--bs-navy2));
	color:#fff;padding:26px 28px 24px;margin:0 0 18px;gap:22px;
	border-radius:12px;border-bottom:3px solid var(--bs-gold);
}
.bisons-archiv .bisons-archiv-logo{width:96px;height:96px;border-radius:50%;padding:12px}
.bisons-archiv .bisons-archiv-typ{color:var(--bs-gold);opacity:1;letter-spacing:2.4px}
.bisons-archiv .bisons-archiv-saison{font-size:2rem;font-weight:800;letter-spacing:-.4px}
.bisons-archiv .bisons-archiv-label{color:rgba(255,255,255,.75);font-style:italic}
.bisons-archiv .bisons-archiv-wahl{
	margin:0 0 26px;padding:0;background:none;border:0;gap:10px;
}
.bisons-archiv .bisons-archiv-jahr{
	border:1px solid var(--bs-line);background:var(--bs-white);border-radius:999px;padding:6px 16px;color:var(--bs-ink);
;text-decoration:none}
.bisons-archiv .bisons-archiv-jahr:hover,
.bisons-archiv .bisons-archiv-jahr:focus{border-color:var(--bs-gold-d)}
.bisons-archiv .bisons-archiv-jahr.is-active{
	background:var(--bs-navy);color:#fff;border-color:var(--bs-navy);
	box-shadow:0 0 0 3px rgba(var(--bs-gold-rgb),.35);
}
.bisons-archiv .bisons-archiv-block{margin-bottom:26px}
.bisons-archiv .bisons-archiv-block h3{
	font-size:1.2rem;letter-spacing:-.3px;display:flex;align-items:center;gap:12px;
}
.bisons-archiv .bisons-archiv-block h3::after{content:"";flex:1;height:2px;background:var(--bs-gold);opacity:.55}
.bisons-archiv .bisons-archiv-block h4{color:var(--bs-gold-d);opacity:1;font-weight:700}
.bisons-archiv .bisons-table thead th{
	/* Theme-Standard fuer Tabellenkoepfe ist Navy mit hellem Text (.bs-standings th),
	   nicht die graue Flaeche des Bausteins — sonst faellt die Historie aus dem
	   Bild der uebrigen Inhaltsseiten (Nutzer-Reklamation). */
	background:var(--bs-navy);color:var(--bs-navy-200);
	font-family:var(--bs-head);font-weight:600;letter-spacing:.5px;
}
.bisons-archiv .bisons-archiv-ort{background:var(--bs-navy);color:#fff}
.bisons-archiv .bisons-archiv-serie{background:var(--bs-ice);border-radius:8px}
@media (max-width:600px){
	.bisons-archiv .bisons-archiv-kopf{padding:20px 18px}
	.bisons-archiv .bisons-archiv-saison{font-size:1.55rem}
}

/* Sichtbarer Tastaturfokus (v1.488). Bisher hing die Erkennbarkeit allein am
   Browser-Standard — auf dunklem Navy ist der oft kaum zu sehen. Gold traegt
   auf beiden Untergruenden des Themes (9,25:1 auf Navy). */
:focus-visible{outline:3px solid var(--bs-gold);outline-offset:2px;border-radius:3px}
.bs-menu a:focus-visible,.bs-topbar a:focus-visible,.site-footer a:focus-visible{outline-offset:1px}

/* Bewegung reduzieren, wenn das Betriebssystem es verlangt (v1.488). */
@media (prefers-reduced-motion: reduce){
  *,::before,::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}

/* Fussraster nach belegten Spalten (v1.489). Unbelegte Widget-Bereiche
   erzeugten bis dahin ein leeres <div>, und das feste Dreispaltenraster
   reservierte Platz, den niemand fuellt. */
.bs-fgrid-1{grid-template-columns:1fr}
.bs-fgrid-2{grid-template-columns:1.4fr 1fr}
.bs-fnote{margin-top:12px;font-size:14px}
