/*
 * Styling für alle Front-End-Shortcodes/WPBakery-Elemente des Core-Plugins.
 * Bewusst hier und nicht im Theme, damit jeder Baustein unabhängig vom
 * aktiven Theme konsistent aussieht. Farben kommen als CSS-Variablen aus
 * "Design & Einstellungen" (siehe SVMB_Shortcodes::front_assets); die Werte
 * hier sind nur der Fallback, falls das Plugin einmal deaktiviert sein sollte.
 *
 * Optik ab 1.2.0 orientiert sich am Startseiten-Mockup: kräftige, groß
 * ausgestellte Headline-Schrift (Anton), Plakat-/Sport-Optik mit Rot/Schwarz,
 * diagonalen Farbflächen statt Fotomontagen (keine echten Bildrechte
 * vorhanden -> siehe INSTALLATION.md).
 */

:root {
	--svmb-primary: #d40000;
	--svmb-dark: #0c0c0c;
	--svmb-light: #f3f2ee;
	--svmb-font-display: "Anton", "Arial Narrow", Arial, sans-serif;
}

/* ---------- Zeilen-Hintergründe (WPBakery-Zeilen per el_class) ---------- */

.svmb-row-plain { }
.svmb-row-white,
.svmb-row-paper {
	padding: 60px 0;
}
.svmb-row-white { background: #fff; }
.svmb-row-paper { background: var(--svmb-light); }

.svmb-empty {
	padding: 25px;
	background: #eee;
	border-radius: 12px;
	text-align: center;
	color: #555;
}

.svmb-eyebrow {
	color: var(--svmb-primary);
	font-weight: 900;
	letter-spacing: .18em;
	font-size: 12px;
	text-transform: uppercase;
}

.svmb-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	padding: 15px 26px;
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-radius: 3px;
	border: 2px solid transparent;
}
.svmb-btn:after { content: "→"; transition: transform .15s ease; }
.svmb-btn:hover:after { transform: translateX(3px); }
.svmb-btn-primary { background: var(--svmb-primary); color: #fff; }
.svmb-btn-primary:hover { background: #ff1a1a; }
.svmb-btn-ghost { border-color: rgba(255, 255, 255, .55); color: #fff; }
.svmb-btn-white { background: #fff; color: var(--svmb-dark); }
.svmb-btn-white:hover { background: var(--svmb-primary); color: #fff; }

/* ---------- Panel-Kopf (Titel + "Alle ->"-Link) ---------- */

.svmb-panel-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 3px solid var(--svmb-dark);
}
.svmb-panel-head h2,
.svmb-panel-head h3 {
	font-family: var(--svmb-font-display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
	font-size: 20px;
	margin: 0;
}
.svmb-panel-link {
	flex: none;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--svmb-primary);
	text-decoration: none;
	white-space: nowrap;
}
.svmb-panel-link:hover { text-decoration: underline; }
.svmb-panel-sub { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; color: #888; text-transform: uppercase; margin-top: 2px; }

/* ---------- Hero ---------- */

.svmb-hero {
	min-height: 640px;
	color: #fff;
	display: grid;
	align-items: center;
	background: var(--svmb-dark);
	/* Full-Bleed: die Startseite wrappt ihren Inhalt in .shell (max. 1240px,
	   siehe front-page.php), damit Bausteine wie Quick-Links/Tabelle/News
	   normale Seitenränder haben. Hero und Match Center sollen aber wie im
	   Mockup randlos über die volle Breite gehen und brechen deshalb bewusst
	   aus dieser Breite aus. */
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	overflow: hidden;
}
.svmb-hero-bg {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	background-image:
		radial-gradient(circle at 78% 45%, rgba(212, 0, 0, .35), transparent 45%),
		linear-gradient(110deg, #060606 15%, #161616 55%, #050505);
}
.svmb-hero-bg:before {
	/*
	 * Lesbarkeits-Abdunklung unter dem Textblock (linke Seite), unabhängig
	 * vom jeweils unter "Hintergrundbild" hochgeladenen Foto: Ein per
	 * Attribut "image" gesetztes echtes Foto überschreibt komplett den
	 * eigenen background-image der CSS-Klasse (inklusive der beiden
	 * Verlauf-Fallbacks weiter unten) – ohne diese eigene Abdunklungs-Ebene
	 * konnte Eyebrow/Überschrift/Untertext auf helleren Bildbereichen (z. B.
	 * einem hellen Farbfleck genau hinter dem Text) zu wenig Kontrast haben
	 * und quasi unsichtbar wirken.
	 */
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, .5) 28%, rgba(0, 0, 0, .18) 48%, transparent 64%);
	z-index: 0;
}
.svmb-hero-bg:after {
	/* diagonale Marken-Fläche statt Fotomontage, solange kein echtes Bildmaterial hinterlegt ist */
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 0 42%, rgba(212, 0, 0, .9) 42.2% 43%, transparent 43.2% 60%, rgba(255, 255, 255, .05) 60.2% 100%);
	mix-blend-mode: screen;
	opacity: .8;
}
.svmb-hero-note {
	position: absolute;
	top: 34px;
	right: 5%;
	max-width: 280px;
	text-align: right;
	font-weight: 800;
	font-style: italic;
	line-height: 1.35;
	font-size: 15px;
	color: rgba(255, 255, 255, .9);
	transform: rotate(-3deg);
	z-index: 2;
}
.svmb-hero-copy {
	position: relative;
	z-index: 2;
	max-width: 1240px;
	width: min(1240px, calc(100% - 40px));
	margin: auto;
	padding-bottom: 60px;
}
.svmb-hero-copy .svmb-eyebrow,
.svmb-hero-copy h1,
.svmb-hero-copy p {
	/* Zusätzliche Kontrast-Absicherung on top der Abdunklungs-Ebene oben
	   (.svmb-hero-bg:before) – wirkt unabhängig von der Textfarbe. */
	text-shadow: 0 2px 18px rgba(0, 0, 0, .6);
}
.svmb-hero-copy .svmb-eyebrow {
	position: relative;
	display: inline-block;
	color: #fff;
	padding-bottom: 10px;
}
.svmb-hero-copy .svmb-eyebrow:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 3px;
	background: var(--svmb-primary);
}
.svmb-hero-copy h1 {
	font-family: var(--svmb-font-display);
	font-weight: 400;
	font-size: clamp(52px, 8.5vw, 118px);
	line-height: .86;
	margin: 14px 0;
	letter-spacing: .002em;
	text-transform: uppercase;
	/* eigene Variable statt der von .svmb-hero vererbten Farbe, damit sich
	   die erste Zeile ("MEHR ALS") unter Design & Einstellungen unabhängig
	   von "EIN SPIEL" (Akzentfarbe) einfärben lässt */
	color: var(--svmb-hero-h1, #fff);
}
.svmb-hero-copy h1 em { font-style: normal; color: var(--svmb-primary); }
.svmb-hero-copy p {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #eee;
	max-width: 520px;
	padding-bottom: 4px;
	border-bottom: 2px solid rgba(255, 255, 255, .25);
	display: inline-block;
}
.svmb-actions { display: flex; gap: 12px; margin-top: 30px; flex-wrap: wrap; }

/* ---------- Quick-Links ---------- */
/*
 * Mockup: dunkle Leiste direkt unter dem Match Center (geht optisch nahtlos
 * ineinander über), 4 Felder mit dünnen hellen Trennlinien (keine einzelnen
 * Karten/Schatten), organisch geformtes Icon-Abzeichen, weiße Schrift.
 * Bis 1.10.0 stand hier fälschlich "weiße Leiste" -- dadurch wich die
 * Startseite an dieser Stelle sichtbar vom Mockup ab (heller statt dunkler
 * Streifen). Der Baustein trägt seinen Hintergrund jetzt selbst, unabhängig
 * davon, in welche WPBakery-Zeilenfarbe (el_class) er eingebettet wird.
 */

.svmb-quicklinks {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: var(--svmb-dark);
}
.svmb-quicklink {
	text-decoration: none;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 26px 22px;
	border-left: 1px solid rgba(255, 255, 255, .12);
	transition: background .15s ease;
}
.svmb-quicklink:first-child { border-left: 0; }
.svmb-quicklink:hover { background: rgba(255, 255, 255, .06); }
.svmb-quicklink-icon {
	flex: none;
	width: 50px;
	height: 50px;
	border-radius: 42% 58% 53% 47% / 45% 41% 59% 55%;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.svmb-quicklink-icon svg { width: 22px; height: 22px; fill: currentColor; }
.svmb-quicklink-custom-icon { width: 26px; height: 26px; object-fit: contain; border-radius: 50%; }
.svmb-quicklink-body { display: grid; gap: 3px; }
.svmb-quicklink strong { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.svmb-quicklink-body span { font-size: 12.5px; color: #aaa; line-height: 1.3; }

/* ---------- CTA (großes Banner, frei einsetzbar) ---------- */

.svmb-cta {
	padding: 60px 40px;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
	max-width: 1240px;
	width: min(1240px, calc(100% - 40px));
	margin: auto;
	border-radius: 10px;
}
.svmb-cta-red { background: var(--svmb-primary); color: #fff; }
.svmb-cta-dark { background: var(--svmb-dark); color: #fff; }
.svmb-cta h2 {
	font-family: var(--svmb-font-display);
	font-weight: 400;
	text-transform: uppercase;
	font-size: clamp(30px, 4.5vw, 54px);
	margin: 8px 0;
	line-height: 1;
}
.svmb-cta .svmb-eyebrow { color: #fff; opacity: .85; }

/* ---------- Mitglied werden / Eintritt sparen & Social-Follow (Info-Boxen) ---------- */

.svmb-info-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.svmb-info-box {
	background: #fff;
	border-radius: 10px;
	padding: 28px;
	display: flex;
	gap: 18px;
	align-items: flex-start;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .06);
}
.svmb-info-icon {
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--svmb-primary);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.svmb-info-icon svg { width: 24px; height: 24px; fill: currentColor; }
.svmb-info-box h3 {
	font-family: var(--svmb-font-display);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 20px;
	margin: 0 0 6px;
}
.svmb-info-box h3 em { font-style: normal; color: var(--svmb-primary); }
.svmb-info-box p { margin: 0 0 14px; color: #555; font-size: 14px; line-height: 1.5; }
.svmb-info-box .svmb-btn { padding: 10px 18px; font-size: 11px; }
.svmb-social-follow .svmb-info-icon { background: var(--svmb-dark); }
.svmb-social-row { display: flex; gap: 8px; }
.svmb-social-row .svmb-social {
	background: var(--svmb-light);
	color: var(--svmb-dark);
}
.svmb-social-row .svmb-social:hover { background: var(--svmb-primary); color: #fff; }

/* ---------- Diese Woche ---------- */

/*
 * Bewusst als schlichte Liste (rotes Datum + Titel + Uhrzeit/Ort in einer
 * Zeile), ohne farbigen Badge-Kasten wie in einer früheren Version – das
 * entspricht der Bildvorlage. Der bisher leere, ungenutzte ".svmb-week-loc"-
 * Platzhalter ist damit ebenfalls entfallen (Ort steht jetzt in
 * ".svmb-week-meta" zusammen mit der Uhrzeit).
 */
.svmb-week { display: grid; gap: 2px; }
.svmb-week-row {
	display: grid;
	grid-template-columns: 58px 1fr;
	align-items: baseline;
	gap: 14px;
	padding: 11px 4px;
	font-size: 13px;
	border-bottom: 1px solid #eee;
}
.svmb-week-row:last-child { border-bottom: 0; }
.svmb-week-date {
	color: var(--svmb-primary);
	font-weight: 800;
	font-size: 12.5px;
	text-transform: uppercase;
	white-space: nowrap;
}
.svmb-week-date b { font-weight: 900; }
.svmb-week-main { display: grid; gap: 2px; min-width: 0; }
.svmb-week-main strong { font-size: 13.5px; font-weight: 800; overflow-wrap: anywhere; }
.svmb-week-meta { color: #888; font-size: 12px; }

/* ---------- Mannschafts-Filter (Alle Spiele/Ergebnisse/Tabelle) ---------- */

.svmb-team-filter { display: flex; align-items: center; gap: 10px; padding: 4px 0 18px; }
.svmb-team-filter label { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; text-transform: uppercase; color: var(--svmb-dark); }
.svmb-team-filter select {
	font-family: inherit;
	font-size: 13.5px;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fff;
	color: #111;
}

/* ---------- Fanshop ---------- */

.svmb-fanshop-box .svmb-info-icon { background: var(--svmb-primary); }

/* ---------- Downloads ---------- */

.svmb-downloads { display: grid; gap: 2px; }
.svmb-download-row {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	align-items: center;
	gap: 14px;
	padding: 12px 4px;
	border-bottom: 1px solid #eee;
	text-decoration: none;
	color: inherit;
}
.svmb-download-row:last-child { border-bottom: 0; }
.svmb-download-icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 6px;
	background: var(--svmb-dark);
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .02em;
}
.svmb-download-body { display: grid; gap: 2px; min-width: 0; }
.svmb-download-body strong { font-size: 14px; overflow-wrap: anywhere; }
.svmb-download-body span { color: #888; font-size: 12px; }
.svmb-download-size { color: #888; font-size: 12px; white-space: nowrap; }
.svmb-download-row:hover .svmb-download-icon { background: var(--svmb-primary); }

/* ---------- News ---------- */

.svmb-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.svmb-news-grid article { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 18px rgba(0, 0, 0, .06); }
.svmb-news-grid a { text-decoration: none; color: inherit; }
.svmb-news-grid img { width: 100%; height: 190px; object-fit: cover; display: block; }
.svmb-news-grid .svmb-news-noimg { width: 100%; height: 190px; background: linear-gradient(135deg, var(--svmb-dark), #2a2a2a); }
.svmb-news-grid article div { padding: 18px; }
.svmb-news-grid time { font-size: 11px; color: var(--svmb-primary); font-weight: 900; letter-spacing: .04em; }
.svmb-news-grid h3 { font-size: 19px; margin: 6px 0; line-height: 1.2; }
.svmb-news-grid p { color: #555; margin: 0; font-size: 13.5px; }
.svmb-news-grid .svmb-more { color: var(--svmb-primary); font-weight: 900; font-size: 11px; text-transform: uppercase; }

/* ---------- Match Center ---------- */

.svmb-match-center-wrap {
	background: var(--svmb-dark);
	border-top: 3px solid var(--svmb-primary);
	border-bottom: 3px solid var(--svmb-primary);
	/* Full-Bleed: bricht bewusst aus der (ggf. WPBakery-)Spaltenbreite aus,
	   damit die Leiste wie im Mockup randlos über die volle Breite geht. */
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}
.svmb-match-center {
	color: #fff;
	padding: 22px 0;
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: auto 1fr minmax(240px, 380px);
	align-items: center;
	gap: 24px;
	max-width: 1240px;
	width: min(1240px, calc(100% - 40px));
	margin: auto;
}
.svmb-match-tagcol { display: grid; gap: 10px; justify-items: start; align-content: center; }
.svmb-match-label { font-size: 11px; font-weight: 900; letter-spacing: .12em; color: #fff; text-transform: uppercase; }
.svmb-tag {
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .1em;
	color: #fff;
	background: var(--svmb-primary);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
}
.svmb-tag .dot { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: svmb-blink 1.4s infinite; }
@keyframes svmb-blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.svmb-match-main { display: grid; gap: 8px; }
.svmb-match-league { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #999; }

/* Liveticker-Ausschnitt im Match Center (Tore, Karten, Auszeiten, …) */
.svmb-ticker {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	border-left: 1px solid rgba(255, 255, 255, .12);
	padding-left: 24px;
	max-height: 190px;
}
.svmb-ticker-rows { overflow: auto; flex: 1; }
.svmb-ticker-row {
	display: grid;
	grid-template-columns: 22px 30px 1fr auto;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	font-size: 12.5px;
}
.svmb-ticker-row:last-child { border-bottom: 0; }
.svmb-ticker-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	color: var(--svmb-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
}
.svmb-ticker-icon svg { width: 13px; height: 13px; }
.svmb-ticker-icon.svmb-ticker-penalty,
.svmb-ticker-icon.svmb-ticker-card_red { background: transparent; color: var(--svmb-primary); }
.svmb-ticker-icon.svmb-ticker-card_yellow { background: transparent; color: #f2c200; }
.svmb-ticker-icon.svmb-ticker-timeout { background: var(--svmb-primary); color: #fff; }
.svmb-ticker-min { color: #999; }
.svmb-ticker-msg { color: #eee; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.svmb-ticker-score { font-weight: 800; white-space: nowrap; }
.svmb-ticker-btn { margin-top: 12px; justify-content: center; padding: 10px 18px; font-size: 11px; }
.svmb-teams {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 20px;
	font-size: clamp(15px, 2vw, 22px);
	font-weight: 800;
}
.svmb-team { display: flex; align-items: center; gap: 10px; }
.svmb-teams .svmb-team:last-child { flex-direction: row-reverse; text-align: right; }
.svmb-score { font-family: var(--svmb-font-display); font-weight: 400; font-size: clamp(26px, 4vw, 42px); text-align: center; white-space: nowrap; }
.svmb-meta { opacity: .7; font-size: 12px; }
.svmb-crest { width: 32px; height: 32px; object-fit: contain; border-radius: 50%; background: #fff; flex: none; }

/* ---------- Spiele / Ergebnisse ---------- */

.svmb-game-list { display: grid; gap: 8px; }
.svmb-game-list article {
	display: grid;
	grid-template-columns: 50px 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}
/* Grid-Spalten haben ohne dies eine implizite Mindestbreite = Inhaltsbreite
   ("min-width: auto"), wodurch eine lange, eigentlich umbrechende Zeile
   trotzdem die Spalte aufgesprengt/verschoben hätte. */
.svmb-game-body { min-width: 0; }
.svmb-game-date {
	display: grid;
	justify-items: center;
	background: var(--svmb-primary);
	color: #fff;
	border-radius: 6px;
	padding: 6px 0;
	line-height: 1.15;
}
.svmb-game-weekday { font-size: 10px; font-weight: 900; text-transform: uppercase; }
.svmb-game-day { font-size: 18px; font-weight: 900; font-family: var(--svmb-font-display); }
.svmb-game-month { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.svmb-game-teams { display: flex; flex-direction: column; gap: 3px; font-size: 13.5px; min-width: 0; }
.svmb-game-team { display: flex; align-items: center; gap: 6px; min-width: 0; }
.svmb-game-team b { font-weight: 800; overflow-wrap: anywhere; }
.svmb-game-vs { color: #999; font-size: 11px; padding-left: 40px; /* unter dem 32px-Logo + Abstand, damit "–" optisch zwischen beiden Team-Zeilen sitzt statt am linken Rand */ }
/*
 * Standardfall (eigenes Team eindeutig zuordenbar, siehe opponent_info() in
 * class-svmb-shortcodes.php): nur der Gegner wird gezeigt, mit Mannschafts-
 * Kürzel + Heim-/Auswärts-Label darüber – entspricht der Bildvorlage. Beide
 * Teams nebeneinander (.svmb-game-teams oben) bleibt der Ausweg, falls sich
 * das eigene Team nicht sicher zuordnen lässt.
 */
.svmb-game-heading { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: #888; }
.svmb-game-opponent { display: flex; align-items: center; gap: 8px; margin-top: 3px; font-size: 15.5px; min-width: 0; }
.svmb-game-opponent b { font-weight: 800; overflow-wrap: anywhere; }
.svmb-game-meta { font-size: 11px; color: #888; margin-top: 3px; }
.svmb-game-result { font-size: 17px; font-weight: 900; }

/* Ergebnisse: bewusst EINE zusammenhängende Liste in einer Box (nicht wie
   "Nächste Spiele" einzelne Karten), damit der Baustein optisch das gleiche
   Gewicht/die gleiche Größe wie die Tabelle direkt daneben hat (Mockup). */
.svmb-results-card { background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, .05); overflow: hidden; }
.svmb-result-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-bottom: 1px solid #f0f0f0;
}
.svmb-result-row:last-child { border-bottom: 0; }
.svmb-result-row .svmb-crest { width: 30px; height: 30px; }
.svmb-result-main { flex: 1; min-width: 0; display: grid; gap: 2px; }
.svmb-result-cat { font-size: 10.5px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--svmb-primary); }
.svmb-result-teams { font-size: 13px; color: #333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.svmb-result-score { flex: none; text-align: right; }
.svmb-result-score strong { display: block; font-size: 16px; font-weight: 900; }
.svmb-result-score span { font-size: 11px; color: #999; }

/* ---------- Tabelle ---------- */

.svmb-table { overflow: auto; background: #fff; border-radius: 8px; }
.svmb-table table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.svmb-table th, .svmb-table td { padding: 10px 12px; border-bottom: 1px solid #f0f0f0; text-align: left; }
.svmb-table th { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: #999; font-weight: 900; }
.svmb-table-team { display: flex; align-items: center; gap: 8px; }
.svmb-table .svmb-crest { width: 22px; height: 22px; }
.svmb-own-row td { background: var(--svmb-primary); color: #fff; font-weight: 700; border-bottom-color: rgba(255, 255, 255, .25); }
.svmb-own-row .svmb-crest { background: #fff; }

/* ---------- Mannschaften / Sponsoren (Karten) ---------- */

.svmb-team-cards, .svmb-sponsor-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 18px;
}
.svmb-team-cards a, .svmb-sponsor-cards a {
	background: #fff;
	color: #111;
	text-decoration: none;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .08);
	transition: transform .15s ease;
}
.svmb-team-cards a:hover, .svmb-sponsor-cards a:hover { transform: translateY(-3px); }
.svmb-team-cards img, .svmb-sponsor-cards img { width: 100%; height: 150px; object-fit: cover; background: #f3f2ee; }
.svmb-team-cards strong, .svmb-sponsor-cards strong { display: block; padding: 14px; font-size: 14px; }
.svmb-team-cards .svmb-card-meta, .svmb-sponsor-cards .svmb-card-meta { display: block; padding: 0 14px 14px; margin-top: -10px; font-size: 12px; color: #888; }

/* ---------- Sponsoren-Leiste (kompakte Variante für die Startseite) ---------- */

.svmb-sponsor-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
	gap: 30px;
	max-height: 110px;
	overflow: hidden;
}
.svmb-sponsor-strip a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; flex: none; }
.svmb-sponsor-strip img {
	/* volle Stärke wie im Mockup (keine Graustufen-/Abblend-Optik) */
	max-height: 46px;
	max-width: 140px;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform .15s ease;
}
.svmb-sponsor-strip a:hover img { transform: scale(1.05); }
.svmb-sponsor-strip .svmb-sponsor-name {
	font-weight: 900;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--svmb-dark);
	font-size: 17px;
	white-space: nowrap;
}
.svmb-sponsor-strip a:hover .svmb-sponsor-name { color: var(--svmb-primary); }

/* Karussell-Variante: springt an, sobald mehr Sponsoren da sind, als in eine
   Zeile passen ("unten begrenzt, läuft dann immer weiter"). Reines CSS –
   zwei identische Logo-Sets nebeneinander, verschoben um genau ein Set
   (-50%), sodass der Loop nahtlos wirkt. */
.svmb-sponsor-strip--scroll {
	flex-wrap: nowrap;
	justify-content: flex-start;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}
.svmb-sponsor-track {
	display: flex;
	align-items: center;
	gap: 30px;
	width: max-content;
	animation-name: svmb-sponsor-marquee;
	animation-duration: 30s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.svmb-sponsor-strip--scroll:hover .svmb-sponsor-track,
.svmb-sponsor-strip--scroll:focus-within .svmb-sponsor-track { animation-play-state: paused; }
.svmb-sponsor-set { display: flex; align-items: center; gap: 30px; flex: none; }
@keyframes svmb-sponsor-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.svmb-sponsor-track { animation: none; }
}

/* ---------- Personen (Kader-Karten, z. B. auf Mannschaftsseiten) ---------- */

.svmb-person-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.svmb-person-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 18px rgba(0, 0, 0, .06); }
.svmb-person-card img, .svmb-person-card .svmb-person-noimg { width: 100%; height: 170px; object-fit: cover; background: linear-gradient(135deg, var(--svmb-dark), #2a2a2a); }
.svmb-person-card-body { padding: 14px; }
.svmb-person-card .svmb-number { color: var(--svmb-primary); font-family: var(--svmb-font-display); font-weight: 400; font-size: 20px; }
.svmb-person-card strong { display: block; font-size: 14px; margin-top: 2px; }
.svmb-person-card span { font-size: 12px; color: #888; }

@media (max-width: 900px) {
	.svmb-quicklinks { grid-template-columns: repeat(2, 1fr); }
	.svmb-quicklink:nth-child(2n+1) { border-left: 0; }
	.svmb-quicklink:nth-child(-n+2) { border-top: 0; }
	.svmb-quicklink:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .12); }
	.svmb-news-grid { grid-template-columns: 1fr; }
	.svmb-info-row { grid-template-columns: 1fr; }
	.svmb-match-center { grid-template-columns: 1fr; text-align: center; }
	.svmb-match-tagcol { justify-items: center; }
	.svmb-ticker { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .12); padding-left: 0; padding-top: 16px; text-align: left; }
	.svmb-result-teams { white-space: normal; }
}

@media (max-width: 600px) {
	.svmb-quicklinks { grid-template-columns: 1fr; }
	.svmb-quicklink { flex-direction: column; text-align: center; border-left: 0 !important; border-top: 1px solid rgba(255, 255, 255, .12) !important; }
	.svmb-quicklink:first-child { border-top: 0 !important; }
	.svmb-cta { flex-direction: column; align-items: flex-start; }
	.svmb-teams { grid-template-columns: 1fr; text-align: center; }
	.svmb-teams .svmb-team:last-child { flex-direction: row; text-align: center; justify-content: center; }
	.svmb-team { justify-content: center; }
	.svmb-info-box { flex-direction: column; }
	.svmb-result-row { flex-wrap: wrap; }
	.svmb-result-score { text-align: left; }
}

/* ========================================================================
   SV MOTOR BARTH PREMIUM FRONTEND 2026 · Design Refresh 1.11.0
   Ziel: näher am freigegebenen Startseiten-Mockup – plakativ, sportlich,
   hochwertig, mit klarer Informationshierarchie und sehr guter Mobilansicht.
   ======================================================================== */

.svmb-home-content{overflow:visible}
.svmb-home-content > .vc_row{margin-left:0;margin-right:0}

/* Hero: wesentlich stärkerer Sport-/Editorial-Look */
.svmb-hero{min-height:clamp(620px,74vh,820px);border-bottom:0}
.svmb-hero-bg{background-position:center 28%;filter:saturate(.92) contrast(1.04)}
.svmb-hero-bg:before{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 28%,rgba(0,0,0,.38) 53%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.22) 100%)}
.svmb-hero-bg:after{mix-blend-mode:normal;opacity:1;background:
 linear-gradient(116deg,transparent 0 53%,rgba(212,0,0,.88) 53.2% 54.2%,transparent 54.4% 100%),
 linear-gradient(103deg,transparent 0 72%,rgba(255,255,255,.08) 72.2% 72.7%,transparent 72.9% 100%),
 radial-gradient(circle at 78% 62%,rgba(212,0,0,.18),transparent 30%)}
.svmb-hero-copy{padding-top:72px;padding-bottom:90px}
.svmb-hero-copy .svmb-eyebrow{font-size:13px;letter-spacing:.24em}
.svmb-hero-copy h1{max-width:830px;font-size:clamp(66px,8.9vw,132px);line-height:.82;margin:21px 0 22px;text-wrap:balance}
.svmb-hero-copy h1 em{position:relative;display:inline-block;color:#fff;z-index:1;padding:0 .08em}
.svmb-hero-copy h1 em:before{content:"";position:absolute;z-index:-1;left:-3%;right:-4%;top:14%;bottom:5%;background:var(--svmb-primary);clip-path:polygon(2% 12%,96% 0,100% 77%,4% 100%,0 53%);transform:rotate(-1.6deg)}
.svmb-hero-copy p{font-size:clamp(14px,1.5vw,20px);padding:0;border:0;letter-spacing:.09em;color:rgba(255,255,255,.86)}
.svmb-hero-note{top:46px;right:max(4vw,30px);font-family:var(--svmb-font-display);font-size:17px;letter-spacing:.04em;color:#fff;opacity:.88}
.svmb-actions{margin-top:34px}
.svmb-btn{border-radius:0;min-height:48px;padding:14px 25px;transition:.18s ease;box-shadow:none}
.svmb-btn-primary:hover{transform:translateY(-2px);background:#ef0000}

/* Match Center: breites, redaktionelles Scoreboard direkt unter dem Hero */
.svmb-match-center-wrap{width:100vw;position:relative;left:50%;margin-left:-50vw;background:#fff;border-bottom:1px solid #dedede}
.svmb-match-center{width:min(1240px,calc(100% - 40px));margin:auto;min-height:166px;display:grid;grid-template-columns:210px minmax(0,1fr) 210px;gap:26px;align-items:center;background:#fff;color:#111;padding:28px 0;border-radius:0;box-shadow:none}
.svmb-match-tagcol{align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #e8e8e8;padding-right:24px}
.svmb-match-label{font-family:var(--svmb-font-display);font-size:25px;letter-spacing:.02em;color:#111}
.svmb-tag{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:8px;background:var(--svmb-dark);color:#fff;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.svmb-tag .dot{width:7px;height:7px;background:#ff2020;border-radius:50%;box-shadow:0 0 0 4px rgba(255,32,32,.13);animation:svmb-pulse 1.4s infinite}
@keyframes svmb-pulse{50%{opacity:.35}}
.svmb-match-main{text-align:center}
.svmb-match-league{display:block;color:#8a8a8a;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;margin-bottom:10px}
.svmb-teams{display:flex;align-items:center;justify-content:center;gap:24px}
.svmb-team{display:flex;align-items:center;gap:12px;font-weight:900;font-size:clamp(14px,1.5vw,19px)}
.svmb-team .svmb-crest{width:48px;height:48px}
.svmb-score{font-family:var(--svmb-font-display);font-size:clamp(34px,4vw,58px);line-height:1;white-space:nowrap}
.svmb-match-meta{font-size:12px;color:#777;margin-top:10px}
.svmb-match-side{border-left:1px solid #e8e8e8;padding-left:24px;text-align:right}

/* Quicklinks: dunkle Premium-Leiste */
.svmb-quicklinks{width:100vw;position:relative;left:50%;margin-left:-50vw;padding-left:max(20px,calc((100vw - 1240px)/2));padding-right:max(20px,calc((100vw - 1240px)/2));background:#0b0b0b;border-top:1px solid #202020;border-bottom:1px solid #202020}
.svmb-quicklink{min-height:112px;padding:24px 26px;border-left:1px solid #252525}
.svmb-quicklink:last-child{border-right:1px solid #252525}
.svmb-quicklink-icon{width:55px;height:55px;background:var(--svmb-primary);border-radius:44% 56% 52% 48%/54% 43% 57% 46%;transform:rotate(-4deg)}
.svmb-quicklink-icon svg,.svmb-quicklink-custom-icon{transform:rotate(4deg)}
.svmb-quicklink strong{font-size:14px}.svmb-quicklink-body span{color:#8f8f8f}

/* Abschnittstitel wie Magazin-/Sportportal */
.svmb-panel-head{border-bottom:0;margin-bottom:22px;padding-bottom:0;align-items:flex-end}
.svmb-panel-head:before{content:"";width:8px;height:36px;background:var(--svmb-primary);display:block;flex:none;transform:skew(-8deg);margin-right:-2px}
.svmb-panel-head h2,.svmb-panel-head h3{font-size:clamp(26px,3.1vw,42px);line-height:.95}
.svmb-panel-sub{margin-top:7px}.svmb-panel-link{border-bottom:2px solid var(--svmb-primary);padding-bottom:4px}

/* Spiele / Ergebnisse */
.svmb-game-list{gap:12px}
.svmb-game-list article{min-height:104px;border-radius:0;background:#fff;border:1px solid #e6e3dc;box-shadow:0 10px 28px rgba(0,0,0,.045);overflow:hidden;transition:.16s ease}
.svmb-game-list article:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(0,0,0,.08);border-color:#d7d2ca}
.svmb-game-date{width:84px;align-self:stretch;background:var(--svmb-primary);color:#fff;border-radius:0;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.svmb-game-weekday,.svmb-game-month{text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:900}.svmb-game-day{font-family:var(--svmb-font-display);font-size:34px;line-height:1}
.svmb-game-body{padding:18px 22px}.svmb-game-heading{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8b8b8b;font-weight:900;margin-bottom:8px}
.svmb-game-opponent b{font-size:17px}.svmb-game-meta{margin-top:6px;color:#777;font-size:12px}.svmb-game-result{font-family:var(--svmb-font-display);font-size:25px;padding-right:22px;color:#111}

.svmb-results-card{border-radius:0;border:1px solid #e6e3dc;box-shadow:0 10px 28px rgba(0,0,0,.045)}
.svmb-result-row{min-height:83px}.svmb-result-score strong{font-family:var(--svmb-font-display);font-size:24px}

/* Tabelle */
.svmb-table{border-radius:0;border:1px solid #e6e3dc;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.svmb-table th{background:#111;color:#fff;padding-top:13px;padding-bottom:13px}
.svmb-table td{padding-top:12px;padding-bottom:12px}.svmb-table tr.svmb-own-row td{background:rgba(212,0,0,.09);font-weight:900;border-color:rgba(212,0,0,.18)}
.svmb-table tr.svmb-own-row td:first-child{box-shadow:inset 4px 0 0 var(--svmb-primary)}

/* News */
.svmb-news-grid{gap:22px}.svmb-news-grid article{border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.svmb-news-grid a{display:block;background:#fff;border:1px solid #e6e3dc;height:100%;transition:.18s ease;overflow:hidden}
.svmb-news-grid a:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.09)}
.svmb-news-grid img,.svmb-news-grid .svmb-news-noimg{height:230px}
.svmb-news-grid article div:not(.svmb-news-noimg){padding:20px 20px 22px}
.svmb-news-grid time{display:inline-block;background:var(--svmb-primary);color:#fff;padding:5px 8px;margin-top:-32px;position:relative;z-index:2}
.svmb-news-grid h3{font-family:var(--svmb-font-display);font-weight:400;text-transform:uppercase;font-size:24px;line-height:1.05;margin:10px 0 8px}
.svmb-news-grid p{line-height:1.55;color:#676767}.svmb-news-grid .svmb-more{display:block;margin-top:15px}
.svmb-news-noimg{display:flex;align-items:flex-end;padding:18px!important;background:linear-gradient(135deg,#151515,#2c2c2c)!important;color:rgba(255,255,255,.3);font-family:var(--svmb-font-display);font-size:26px;letter-spacing:.04em}
.svmb-fallback-image{width:100%;object-fit:cover}

/* Mannschaften */
.svmb-team-cards{grid-template-columns:repeat(3,1fr);gap:18px}.svmb-team-cards a{border-radius:0;position:relative;overflow:hidden;min-height:285px;background:#111;color:#fff;box-shadow:none}
.svmb-team-cards img,.svmb-team-cards .svmb-card-noimg{height:285px;object-fit:cover;transition:transform .35s ease}
.svmb-team-cards a:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.88))}
.svmb-team-cards a:hover img{transform:scale(1.04)}
.svmb-team-cards strong,.svmb-team-cards .svmb-card-meta{position:absolute;z-index:2;left:20px;right:20px;padding:0;color:#fff}
.svmb-team-cards strong{bottom:35px;font-family:var(--svmb-font-display);font-weight:400;text-transform:uppercase;font-size:25px}.svmb-team-cards .svmb-card-meta{bottom:17px;margin:0;font-size:11px;color:#ddd;text-transform:uppercase;letter-spacing:.08em}

/* Woche */
.svmb-week{background:#111;color:#fff;padding:6px 22px;gap:0}.svmb-week-row{padding:16px 0;border-color:#282828}.svmb-week-date{color:#fff;min-width:85px}.svmb-week-date b{color:var(--svmb-primary)}.svmb-week-meta{color:#8f8f8f}

/* Info / CTA */
.svmb-info-box{border-radius:0;box-shadow:none;border:1px solid #e5e1da;padding:32px}.svmb-info-box h3{font-size:28px}.svmb-cta{border-radius:0;min-height:210px}.svmb-cta-red:after,.svmb-cta-dark:after{content:"";position:absolute;width:38%;height:180%;right:-8%;top:-40%;background:rgba(255,255,255,.08);transform:rotate(19deg)}

/* Sponsoren */
.svmb-sponsor-strip{border-radius:0;background:#fff;border:1px solid #e6e3dc;padding:24px 26px;min-height:115px}.svmb-sponsor-strip img{max-height:58px;filter:grayscale(1);opacity:.72}.svmb-sponsor-strip a:hover img{filter:none;opacity:1}

@media(max-width:980px){
 .svmb-match-center{grid-template-columns:160px 1fr;}.svmb-match-side{grid-column:1/-1;border:0;border-top:1px solid #eee;padding:16px 0 0;text-align:center}.svmb-team-cards{grid-template-columns:repeat(2,1fr)}
 .svmb-quicklinks{grid-template-columns:repeat(2,1fr)}.svmb-quicklink:nth-child(3){border-left:0;border-top:1px solid #252525}.svmb-quicklink:nth-child(4){border-top:1px solid #252525}
}
@media(max-width:720px){
 .svmb-hero{min-height:610px}.svmb-hero-copy{padding-top:50px;padding-bottom:65px}.svmb-hero-copy h1{font-size:clamp(56px,18vw,88px);max-width:95%}.svmb-hero-note{display:none}.svmb-hero-bg{background-position:62% center}.svmb-hero-bg:before{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.54))}
 .svmb-match-center{width:min(100% - 28px,1240px);display:block;padding:22px 0}.svmb-match-tagcol{border:0;border-bottom:1px solid #eee;padding:0 0 15px;margin-bottom:18px;align-items:center}.svmb-match-main{text-align:center}.svmb-teams{gap:10px}.svmb-team{font-size:12px;flex-direction:column;gap:6px}.svmb-team .svmb-crest{width:38px;height:38px}.svmb-score{font-size:34px}
 .svmb-quicklinks{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.svmb-quicklink,.svmb-quicklink:nth-child(3),.svmb-quicklink:nth-child(4){border-left:0;border-right:0;border-top:1px solid #252525}.svmb-quicklink:first-child{border-top:0}.svmb-quicklink{min-height:90px;padding:18px 12px}
 .svmb-panel-head h2,.svmb-panel-head h3{font-size:30px}.svmb-panel-head:before{height:31px}
 .svmb-game-list article{grid-template-columns:70px 1fr 38px}.svmb-game-date{width:70px}.svmb-game-day{font-size:28px}.svmb-game-body{padding:14px}.svmb-game-result{padding-right:10px;font-size:18px}
 .svmb-news-grid img,.svmb-news-grid .svmb-news-noimg{height:210px}.svmb-team-cards{grid-template-columns:1fr}.svmb-info-row{grid-template-columns:1fr}
}

/* 1.12 – kompakter Mannschafts-Spielplan */
.svmb-team-schedule{margin:0 0 28px}.svmb-team-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:thin}.svmb-team-tab{flex:0 0 auto;min-width:118px;padding:12px 16px;background:#fff;border:1px solid #ddd8d0;color:#111;text-decoration:none;transition:.16s ease}.svmb-team-tab span{display:block;font-family:var(--svmb-font-display);font-size:22px;line-height:1;text-transform:uppercase}.svmb-team-tab small{display:block;margin-top:5px;font-size:10px;color:#777;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.svmb-team-tab:hover,.svmb-team-tab.is-active{background:#111;color:#fff;border-color:#111}.svmb-team-tab.is-active{box-shadow:inset 0 -4px 0 var(--svmb-primary)}.svmb-team-tab.is-active small,.svmb-team-tab:hover small{color:#bbb}.svmb-team-schedule-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:8px 0 18px;padding:20px 22px;background:#f3f1ed;border-left:5px solid var(--svmb-primary)}.svmb-team-schedule-head h3{margin:3px 0 0;font-family:var(--svmb-font-display);font-weight:400;font-size:30px;text-transform:uppercase}.svmb-team-schedule .svmb-game-list{max-width:none}.svmb-btn-dark{background:#111;color:#fff}.svmb-btn-dark:hover{background:#2a2a2a;color:#fff}@media(max-width:720px){.svmb-team-tab{min-width:96px;padding:10px 12px}.svmb-team-tab small{display:none}.svmb-team-schedule-head{align-items:stretch;flex-direction:column}.svmb-team-schedule-head .svmb-btn{width:100%;text-align:center}}

/* ========================================================================
   1.13 · Premium Sidebar Widgets
   ======================================================================== */
.svmb-inline-widget,.svmb-sidebar-widget{--widget-gap:14px}.svmb-widget-head{margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid #111;position:relative}.svmb-widget-head:after{content:"";position:absolute;bottom:-2px;left:0;width:56px;height:2px;background:var(--svmb-primary)}.svmb-widget-head h3{margin:2px 0 0;font-family:var(--svmb-font-display);font-size:28px;line-height:1;text-transform:uppercase;font-weight:400}.svmb-widget-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--svmb-primary)}.svmb-widget-empty{padding:14px;background:#f1eee8;color:#666;font-size:13px}.svmb-widget-match{display:grid;gap:10px}.svmb-widget-match-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #ece7df}.svmb-widget-match-row>span{display:flex;align-items:center;gap:9px;min-width:0;font-size:13px;font-weight:800}.svmb-widget-match-row .svmb-crest{width:34px;height:34px;flex:0 0 34px}.svmb-widget-match-row b{font-family:var(--svmb-font-display);font-size:23px;color:var(--svmb-primary);white-space:nowrap}.svmb-widget-meta{font-size:11px;color:#737373;line-height:1.5;padding-top:2px}.svmb-widget-countdown{display:grid;grid-template-columns:auto auto auto auto;gap:7px;align-items:end;padding:14px;background:#111;color:#fff;margin-bottom:10px}.svmb-widget-countdown strong{font-family:var(--svmb-font-display);font-size:36px;font-weight:400;line-height:.9;color:#fff}.svmb-widget-countdown span{font-size:10px;text-transform:uppercase;color:#aaa;margin-right:8px}.svmb-widget-table{display:grid}.svmb-widget-table>div{display:grid;grid-template-columns:28px 1fr 30px;gap:8px;align-items:center;padding:9px 8px;border-bottom:1px solid #ece7df;font-size:12px}.svmb-widget-table>div.is-own{background:var(--svmb-primary);color:#fff;font-weight:800}.svmb-widget-table span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svmb-widget-table strong{text-align:right}.svmb-widget-teamselect{display:grid;gap:6px}.svmb-widget-teamselect a{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;background:#f1eee8;color:#111;text-decoration:none;padding:10px 12px;border-left:3px solid transparent}.svmb-widget-teamselect a:hover{border-left-color:var(--svmb-primary);background:#e8e4dc}.svmb-widget-teamselect b{font-family:var(--svmb-font-display);font-size:21px;text-transform:uppercase}.svmb-widget-teamselect span{font-size:11px;color:#666}.svmb-widget-news{display:grid;gap:10px}.svmb-widget-news a{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;text-decoration:none;color:#111;padding-bottom:10px;border-bottom:1px solid #ece7df}.svmb-widget-news img{width:74px;height:58px;object-fit:cover}.svmb-widget-news time{display:block;color:var(--svmb-primary);font-size:9px;font-weight:900;letter-spacing:.08em}.svmb-widget-news b{display:block;margin-top:3px;font-size:13px;line-height:1.25}.svmb-widget-news.is-featured a{display:block}.svmb-widget-news.is-featured img{width:100%;height:165px;margin-bottom:10px}.svmb-widget-news.is-featured b{font-family:var(--svmb-font-display);font-size:24px;text-transform:uppercase;font-weight:400}.svmb-widget-text{font-size:13px;line-height:1.6}.svmb-widget-text strong{display:block;font-size:15px}.svmb-widget-text p{margin:6px 0 0;color:#666}.svmb-widget-trainers{display:grid;gap:8px}.svmb-widget-trainers>a{display:flex;gap:11px;align-items:center;text-decoration:none;color:#111;padding:8px;background:#f5f2ed}.svmb-widget-trainers img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#ddd}.svmb-widget-trainers span{display:grid}.svmb-widget-trainers small{font-size:10px;color:#777;margin-top:2px}.svmb-widget-teamcard{display:block;text-decoration:none;color:#111;background:#111;position:relative;overflow:hidden}.svmb-widget-teamcard img{display:block;width:100%;height:175px;object-fit:cover;opacity:.83}.svmb-widget-teamcard>span{display:grid;position:absolute;inset:auto 0 0;padding:26px 15px 14px;background:linear-gradient(transparent,rgba(0,0,0,.93));color:#fff}.svmb-widget-teamcard b{font-family:var(--svmb-font-display);font-size:26px;text-transform:uppercase;font-weight:400}.svmb-widget-teamcard small{color:#ddd}.svmb-widget-teamcard em{font-size:10px;color:#aaa;font-style:normal;margin-top:4px}.svmb-widget-sponsor{display:flex;min-height:110px;align-items:center;justify-content:center;background:#fff;border:1px solid #ece7df;padding:16px;text-decoration:none;color:#111}.svmb-widget-sponsor img{max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain}.svmb-widget-venue{display:grid;gap:8px;padding:14px;background:#111;color:#fff}.svmb-widget-venue .dashicons{color:var(--svmb-primary)}.svmb-widget-venue strong{font-size:13px;line-height:1.4}.svmb-widget-venue a{color:#fff;font-size:11px;font-weight:900;text-decoration:none;border-bottom:1px solid var(--svmb-primary);width:max-content}.svmb-sidebar-widget .svmb-game-list article{grid-template-columns:60px 1fr 28px}.svmb-sidebar-widget .svmb-game-date{width:60px}.svmb-sidebar-widget .svmb-game-day{font-size:24px}.svmb-sidebar-widget .svmb-game-body{padding:10px}.svmb-sidebar-widget .svmb-game-opponent b,.svmb-sidebar-widget .svmb-game-team b{font-size:11px}.svmb-sidebar-widget .svmb-game-meta{font-size:9px}.svmb-sidebar-widget .svmb-game-result{font-size:15px;padding-right:5px}.svmb-sidebar-widget .svmb-week{padding:0 12px}.svmb-sidebar-widget .svmb-info-box{padding:20px}.svmb-sidebar-widget .svmb-info-box .svmb-info-icon{width:48px;height:48px}.svmb-sidebar-widget .svmb-info-box h3{font-size:22px}.svmb-sidebar-widget .svmb-info-box p{font-size:12px}.svmb-sidebar-widget .svmb-sponsor-strip{padding:14px;min-height:80px}.svmb-sidebar-widget .svmb-sponsor-strip img{max-height:40px}.svmb-sidebar-widget .svmb-downloads{grid-template-columns:1fr}.svmb-inline-widget{background:#fff;padding:20px;border:1px solid #e7e2da}

/* 1.14.0: Mannschaftsauswahl ohne horizontales Scrollen */
.svmb-team-schedule .svmb-team-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;overflow:visible;padding:4px 0 18px}
.svmb-team-schedule .svmb-team-tab{min-width:0;width:100%;padding:13px 14px;display:flex;flex-direction:column;justify-content:center}
.svmb-team-schedule .svmb-team-tab small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
.svmb-team-schedule-panel[hidden]{display:none!important}
.svmb-team-schedule-panel.is-active{display:block}
@media(max-width:720px){
 .svmb-team-schedule .svmb-team-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .svmb-team-schedule .svmb-team-tab{min-width:0;padding:11px 10px;text-align:center}
 .svmb-team-schedule .svmb-team-tab span{font-size:19px}
 .svmb-team-schedule .svmb-team-tab small{display:block;font-size:9px;margin-top:4px}
}
@media(max-width:420px){.svmb-team-schedule .svmb-team-tabs{grid-template-columns:1fr 1fr}}

/* ============================================================
   1.14.1 – kompakte Startseiten-Spiele + unverzerrte Vereinswappen
   ============================================================ */

/* Wappen dürfen nie durch eine quadratische WordPress-Thumbnail-Zuschneidung
   oder einen runden CSS-Clip abgeschnitten werden. Das Bild selbst bleibt
   vollständig sichtbar und wird in einer festen Logo-Fläche zentriert. */
.svmb-crest{
  display:block;
  width:36px;
  height:36px;
  max-width:36px;
  max-height:36px;
  padding:2px;
  border-radius:0;
  background:transparent;
  object-fit:contain !important;
  object-position:center !important;
  flex:0 0 36px;
}

/* Startseite bewusst viel kompakter: 5 Begegnungen sollen als schnelle
   Übersicht wirken und nicht den halben Bildschirm einnehmen. */
.svmb-fixtures-block.is-frontpage .svmb-game-list{
  gap:7px;
}
.svmb-fixtures-block.is-frontpage .svmb-game-list article{
  min-height:72px;
  grid-template-columns:58px minmax(0,1fr) 28px;
  gap:10px;
  padding:0;
  box-shadow:none;
  border:1px solid #e5e1da;
}
.svmb-fixtures-block.is-frontpage .svmb-game-list article:hover{
  transform:none;
  box-shadow:0 7px 20px rgba(0,0,0,.055);
}
.svmb-fixtures-block.is-frontpage .svmb-game-date{
  width:58px;
  min-width:58px;
  padding:7px 4px;
}
.svmb-fixtures-block.is-frontpage .svmb-game-day{
  font-size:25px;
}
.svmb-fixtures-block.is-frontpage .svmb-game-weekday,
.svmb-fixtures-block.is-frontpage .svmb-game-month{
  font-size:8px;
  letter-spacing:.08em;
}
.svmb-fixtures-block.is-frontpage .svmb-game-body{
  padding:9px 8px;
  align-self:center;
  overflow:hidden;
}
.svmb-fixtures-block.is-frontpage .svmb-game-heading{
  margin:0 0 3px;
  font-size:9px;
  line-height:1.15;
}
.svmb-fixtures-block.is-frontpage .svmb-game-opponent,
.svmb-fixtures-block.is-frontpage .svmb-game-team{
  gap:7px;
  min-width:0;
}
.svmb-fixtures-block.is-frontpage .svmb-game-opponent .svmb-crest,
.svmb-fixtures-block.is-frontpage .svmb-game-team .svmb-crest{
  width:30px;
  height:30px;
  max-width:30px;
  max-height:30px;
  flex-basis:30px;
}
.svmb-fixtures-block.is-frontpage .svmb-game-opponent b,
.svmb-fixtures-block.is-frontpage .svmb-game-team b{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow-wrap:normal;
  font-size:13px;
  line-height:1.15;
}
.svmb-fixtures-block.is-frontpage .svmb-game-meta{
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9.5px;
}
.svmb-fixtures-block.is-frontpage .svmb-game-result{
  padding-right:8px;
  font-size:19px;
  align-self:center;
}

/* Auch in allen anderen Spielansichten Teamnamen nicht mitten im Wort
   umbrechen; lange Namen bleiben sauber und bekommen über title den vollen
   Namen beim Hover. */
.svmb-game-opponent b,
.svmb-game-team b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow-wrap:normal;
}

@media(max-width:720px){
  .svmb-fixtures-block.is-frontpage .svmb-game-list article{
    grid-template-columns:52px minmax(0,1fr) 24px;
    min-height:66px;
    gap:7px;
  }
  .svmb-fixtures-block.is-frontpage .svmb-game-date{
    width:52px;
    min-width:52px;
  }
  .svmb-fixtures-block.is-frontpage .svmb-game-body{
    padding:7px 5px;
  }
  .svmb-fixtures-block.is-frontpage .svmb-game-opponent b,
  .svmb-fixtures-block.is-frontpage .svmb-game-team b{
    font-size:12px;
  }
  .svmb-fixtures-block.is-frontpage .svmb-game-meta{
    font-size:9px;
  }
}


/* 1.14.3 – mehrere Trainingszeiten */
.svmb-widget-training-list{display:grid;gap:7px;margin-top:10px}
.svmb-widget-training-list>div{padding:9px 10px;border-left:3px solid var(--red,#d10b16);background:rgba(0,0,0,.04);font-weight:700;line-height:1.35}

/* === Sponsoren-Verzeichnis 1.14.5 =========================================
   Ruhiges Logo-Raster wie bei modernen Handball-Partnerseiten: immer drei
   Partner pro Reihe am Desktop, Logos vollständig sichtbar und direkte Links
   zur Sponsor-Website. ===================================================== */
.svmb-sponsor-directory{display:grid;gap:42px}
.svmb-sponsor-level{display:grid;gap:18px}
.svmb-sponsor-level>h2{margin:0;padding:0 0 11px;border-bottom:1px solid #dedad2;font-family:var(--svmb-font-display);font-size:clamp(28px,3vw,42px);line-height:1;text-transform:uppercase;font-weight:400;position:relative}
.svmb-sponsor-level>h2:after{content:"";position:absolute;left:0;bottom:-1px;width:78px;height:3px;background:var(--svmb-primary)}
.svmb-sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.svmb-sponsor-tile{min-width:0;min-height:190px;aspect-ratio:1.7/1;display:flex;align-items:center;justify-content:center;padding:28px 34px;background:#fff;border:1px solid #e4e0d8;text-decoration:none;color:#111;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.svmb-sponsor-tile[href]:hover{transform:translateY(-3px);border-color:#cfc8bc;box-shadow:0 13px 32px rgba(0,0,0,.08)}
.svmb-sponsor-tile img,.svmb-sponsor-tile .svmb-sponsor-logo{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:124px!important;object-fit:contain!important;object-position:center!important;margin:auto!important;border:0!important;box-shadow:none!important;transform:none!important}
.svmb-sponsor-tile .svmb-sponsor-name{font-family:var(--svmb-font-display);font-size:26px;line-height:1.05;text-align:center;text-transform:uppercase}
.svmb-sponsor-tile.is-no-link{cursor:default}
/* Auch die Startseiten-Sponsorenleiste zeigt das vollständige Original-Logo. */
.svmb-sponsor-strip a,.svmb-sponsor-strip-static{display:inline-flex;align-items:center;justify-content:center;flex:none}
.svmb-sponsor-strip img{width:auto!important;height:auto!important;max-width:180px!important;max-height:58px!important;object-fit:contain!important;object-position:center!important}
@media(max-width:900px){.svmb-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svmb-sponsor-tile{min-height:165px;padding:24px}.svmb-sponsor-tile img,.svmb-sponsor-tile .svmb-sponsor-logo{max-height:105px!important}}
@media(max-width:560px){.svmb-sponsor-grid{grid-template-columns:1fr;gap:14px}.svmb-sponsor-tile{min-height:145px;aspect-ratio:2/1;padding:22px 28px}.svmb-sponsor-tile img,.svmb-sponsor-tile .svmb-sponsor-logo{max-height:92px!important}.svmb-sponsor-directory{gap:32px}}

/* ============================================================
   1.14.6 – Mannschafts-Buttons wie ein moderner Spielplan-Filter
   ============================================================ */
.svmb-team-picker,
.svmb-team-filter-buttons{
  margin:0 0 24px;
  padding:18px 20px;
  background:#f4f1ec;
  border-left:5px solid var(--svmb-primary);
}
.svmb-team-picker-label{
  display:block;
  margin:0 0 11px;
  color:#69645d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.svmb-team-picker-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  overflow:visible;
}
.svmb-team-pick{
  appearance:none;
  border:1px solid #d8d2c9;
  background:#fff;
  color:#111;
  min-height:42px;
  padding:9px 15px;
  border-radius:3px;
  font:800 12px/1.1 inherit;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.svmb-team-pick:hover{
  border-color:#111;
  transform:translateY(-1px);
  color:#111;
}
.svmb-team-pick.is-active{
  background:#111;
  border-color:#111;
  color:#fff;
  box-shadow:inset 0 -4px 0 var(--svmb-primary);
}
.svmb-team-filter-buttons{display:block!important;overflow:visible!important}
.svmb-team-filter-buttons .svmb-team-picker-buttons{width:100%}

/* Der Mannschaftsspielplan selbst scrollt nicht seitlich. */
.svmb-team-schedule-v2 .svmb-team-tabs{display:none!important}
.svmb-team-schedule-v2 .svmb-team-schedule-head{
  align-items:center;
  margin-top:0;
}
.svmb-team-schedule-v2 .svmb-team-schedule-panel[hidden]{display:none!important}
.svmb-team-schedule-v2 .svmb-team-schedule-panel.is-active{display:block}
.svmb-team-schedule-v2 .svmb-team-games-collapsible .svmb-game-list article:nth-child(n+6){display:none}
.svmb-team-schedule-v2 .svmb-team-schedule-panel.show-all-games .svmb-team-games-collapsible .svmb-game-list article{display:grid}

@media(max-width:720px){
  .svmb-team-picker,.svmb-team-filter-buttons{padding:14px;margin-bottom:18px}
  .svmb-team-picker-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .svmb-team-pick{width:100%;min-width:0;padding:9px 7px;font-size:11px;text-align:center;white-space:normal}
  .svmb-team-schedule-v2 .svmb-team-schedule-head{padding:16px;gap:12px}
}
@media(max-width:390px){
  .svmb-team-picker-buttons{grid-template-columns:1fr 1fr}
}


/* ============================================================
   1.14.7 – Alle Spiele: feste Breiten + Heim/Auswärts klar erkennbar
   ============================================================ */

/* Mannschaftsauswahl: alle Buttons exakt gleich breit und gleich hoch.
   Lange Bezeichnungen verändern nie die Containerbreite. */
.svmb-team-picker-buttons,
.svmb-team-filter-buttons .svmb-team-picker-buttons{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px;
  width:100%;
  overflow:visible!important;
}
.svmb-team-pick,
.svmb-team-filter-buttons .svmb-team-pick{
  width:100%!important;
  min-width:0!important;
  min-height:52px;
  height:52px;
  box-sizing:border-box;
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  text-align:center;
  white-space:normal;
  line-height:1.08;
  overflow:hidden;
}

/* Auch der Kopf des gewählten Teams bleibt immer exakt in der verfügbaren
   Breite; lange Überschriften dürfen den Container nicht aufziehen. */
.svmb-team-schedule-v2,
.svmb-team-schedule-v2 .svmb-team-schedule-panel,
.svmb-team-schedule-v2 .svmb-team-schedule-head{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.svmb-team-schedule-v2 .svmb-team-schedule-head>div{min-width:0;flex:1 1 auto}
.svmb-team-schedule-v2 .svmb-team-schedule-head h3{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Heim/Auswärts ist jetzt nicht nur Text, sondern ein klarer Status. */
.svmb-team-schedule-v2 .svmb-game-list article{
  position:relative;
  width:100%;
  box-sizing:border-box;
}
.svmb-team-schedule-v2 .svmb-game-list article.svmb-game-home{
  border-left:5px solid var(--svmb-primary);
}
.svmb-team-schedule-v2 .svmb-game-list article.svmb-game-away{
  border-left:5px solid #171717;
}
.svmb-team-schedule-v2 article.svmb-game-home .svmb-game-date{
  background:var(--svmb-primary);
}
.svmb-team-schedule-v2 article.svmb-game-away .svmb-game-date{
  background:#171717;
}
.svmb-game-heading{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}
.svmb-game-team-label{
  color:#666;
  font-weight:900;
}
.svmb-game-location-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:22px;
  padding:0 8px;
  font-size:9px;
  font-weight:900;
  line-height:1;
  letter-spacing:.09em;
  color:#fff;
}
.svmb-game-location-home{background:var(--svmb-primary)}
.svmb-game-location-away{background:#171717}

@media(max-width:900px){
  .svmb-team-picker-buttons,
  .svmb-team-filter-buttons .svmb-team-picker-buttons{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  .svmb-team-picker-buttons,
  .svmb-team-filter-buttons .svmb-team-picker-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .svmb-team-pick,
  .svmb-team-filter-buttons .svmb-team-pick{
    height:50px;
    min-height:50px;
    font-size:11px;
  }
  .svmb-team-schedule-v2 .svmb-team-schedule-head h3{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
}


/* 1.14.8 – kompakte Sponsor-Widgets mit maximal fünf zufälligen Partnern. */
.svmb-widget-partners{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.svmb-widget-partner-item{
  min-width:0;
  min-height:78px;
  padding:10px;
  border:1px solid #ece7df;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#111;
  overflow:hidden;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.svmb-widget-partner-item[hidden]{display:none!important}
.svmb-widget-partner-item:hover{transform:translateY(-2px);border-color:#d5cec4;box-shadow:0 5px 14px rgba(0,0,0,.06)}
.svmb-widget-partner-item img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.svmb-widget-partner-item b{font-size:11px;line-height:1.2;text-align:center;text-transform:uppercase}
.svmb-widget-partners .is-last-visible:nth-child(odd){grid-column:1/-1}
.svmb-widget-sponsor-focus .svmb-widget-sponsor{min-height:110px}
.svmb-widget-sponsor-focus .svmb-widget-sponsor[hidden]{display:none!important}
.svmb-widget-sponsor-focus .svmb-widget-sponsor img{max-height:78px!important;max-width:100%!important;object-fit:contain!important}
@media(max-width:480px){
  .svmb-widget-partners{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svmb-widget-partner-item{min-height:72px;padding:8px}
}


/* ============================================================
   1.14.9 – Alle Spiele: immer volle Breite + vollständige Teamnamen mobil
   ============================================================ */

/* Der komplette Spielplan belegt unabhängig vom aktiven Team immer die
   gesamte verfügbare Inhaltsbreite. Kein Inhalt darf den Container schmaler
   oder breiter ziehen. */
.svmb-team-schedule-v2,
.svmb-team-schedule-v2 > .svmb-panel-head,
.svmb-team-schedule-v2 .svmb-team-picker,
.svmb-team-schedule-v2 .svmb-team-picker-buttons,
.svmb-team-schedule-v2 .svmb-team-schedule-panel,
.svmb-team-schedule-v2 .svmb-team-schedule-head,
.svmb-team-schedule-v2 .svmb-team-games-collapsible,
.svmb-team-schedule-v2 .svmb-game-list,
.svmb-team-schedule-v2 .svmb-game-list article{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.svmb-team-schedule-v2{display:block!important}
.svmb-team-schedule-v2 .svmb-team-schedule-panel{display:none}
.svmb-team-schedule-v2 .svmb-team-schedule-panel.is-active{display:block!important}

/* Mannschaftsbuttons: gleiche Rasterbreite, aber keine abgeschnittenen Namen. */
.svmb-team-schedule-v2 .svmb-team-pick,
.svmb-team-filter-buttons .svmb-team-pick{
  height:auto!important;
  min-height:56px;
  overflow:visible!important;
  white-space:normal!important;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
  line-height:1.2;
}

/* Überschrift des aktiven Teams darf ebenfalls vollständig umbrechen. */
.svmb-team-schedule-v2 .svmb-team-schedule-head h3{
  width:100%;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word;
}

@media(max-width:620px){
  .svmb-team-schedule-v2 .svmb-team-picker,
  .svmb-team-filter-buttons{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box;
  }
  .svmb-team-schedule-v2 .svmb-team-picker-buttons,
  .svmb-team-filter-buttons .svmb-team-picker-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    gap:8px;
  }
  .svmb-team-schedule-v2 .svmb-team-pick,
  .svmb-team-filter-buttons .svmb-team-pick{
    min-height:62px;
    padding:10px 8px;
    font-size:11px;
    line-height:1.18;
  }
}

@media(max-width:360px){
  /* Auf sehr schmalen Geräten bleiben zwei Spalten erhalten, die Namen
     dürfen dafür beliebig viele Zeilen nutzen. */
  .svmb-team-schedule-v2 .svmb-team-pick,
  .svmb-team-filter-buttons .svmb-team-pick{
    min-height:66px;
    padding:9px 6px;
    font-size:10.5px;
  }
}


/* ============================================================
   1.14.11 – Alle Spiele: feste Vollbreite + Gegnername mobil komplett
   ============================================================ */
/* Der komplette Mannschaftsspielplan bleibt unabhängig vom aktiven Team
   immer ein vollbreiter Block. Kurze Kürzel dürfen den äußeren Container
   niemals auf Inhaltsbreite zusammenschrumpfen. */
.svmb-team-schedule-v2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex:1 1 100%!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  box-sizing:border-box!important;
}
.svmb-team-schedule-v2 > *,
.svmb-team-schedule-v2 .svmb-team-picker,
.svmb-team-schedule-v2 .svmb-team-picker-buttons,
.svmb-team-schedule-v2 .svmb-team-schedule-panel,
.svmb-team-schedule-v2 .svmb-team-schedule-head,
.svmb-team-schedule-v2 .svmb-team-games-collapsible,
.svmb-team-schedule-v2 .svmb-game-list{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Auf Smartphones müssen lange Gegner-/Vereinsnamen vollständig lesbar
   bleiben. Die Karte bleibt gleich breit und wächst nur in der Höhe. */
@media(max-width:620px){
  .svmb-team-schedule-v2 .svmb-game-list article{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .svmb-team-schedule-v2 .svmb-game-body{
    min-width:0!important;
    width:auto!important;
    overflow:visible!important;
  }
  .svmb-team-schedule-v2 .svmb-game-opponent,
  .svmb-team-schedule-v2 .svmb-game-team{
    min-width:0!important;
    width:100%!important;
    align-items:flex-start;
  }
  .svmb-team-schedule-v2 .svmb-game-opponent b,
  .svmb-team-schedule-v2 .svmb-game-team b{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    line-height:1.22!important;
  }
}


/* ============================================================
   1.14.12 – Alle Spiele: Hauptspalte wirklich dauerhaft volle Breite
   ============================================================
   Wichtig: Nicht nur der eigentliche Spielplan, sondern auch die ihn
   umgebenden WPBakery-/Theme-Container werden auf die verfügbare Breite
   gespannt. Dadurch kann die Breite beim Mannschaftswechsel nicht mehr
   vom Inhalt bzw. von kurzen/längeren Bezeichnungen abhängen. */
.svmb-page-main-schedule{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}
.svmb-page-main-schedule .svmb-schedule-width-lock,
.svmb-page-main-schedule .svmb-schedule-width-lock > .vc_column-inner,
.svmb-page-main-schedule .svmb-schedule-width-lock > .vc_column-inner > .wpb_wrapper,
.svmb-page-main-schedule .svmb-team-schedule-v2,
.svmb-page-main-schedule .svmb-team-schedule-v2 > *,
.svmb-page-main-schedule .svmb-team-schedule-panel,
.svmb-page-main-schedule .svmb-team-games-collapsible,
.svmb-page-main-schedule .svmb-game-list,
.svmb-page-main-schedule .svmb-game-list article{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
/* Das Theme setzt .prose standardmäßig auf max-width:820px. Auf der
   Spielplanseite darf diese Begrenzung nicht greifen, weil die Hauptspalte
   bereits durch das Sidebar-Grid definiert wird. */
.svmb-page-main.prose.svmb-page-main-schedule{
  max-width:none!important;
}
/* Aktive und inaktive Panels haben dieselbe geometrische Breite. */
.svmb-page-main-schedule .svmb-team-schedule-panel{
  inline-size:100%!important;
}
.svmb-page-main-schedule .svmb-team-schedule-panel.is-active{
  display:block!important;
}

@media(max-width:620px){
  /* Gegnername vollständig statt Ellipse; die Karte wächst nur nach unten. */
  .svmb-page-main-schedule .svmb-game-opponent b,
  .svmb-page-main-schedule .svmb-game-team b{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    max-width:100%!important;
  }
}


/* ---------- Fanshop 1.14.13: direkte Shop-Einbettung ---------- */
.svmb-fanshop { width: 100%; max-width: 100%; }
.svmb-fanshop .svmb-fanshop-box { margin-bottom: 22px; }
.svmb-fanshop-embed {
	width: 100%;
	max-width: 100%;
	background: #fff;
	border: 1px solid #e4e0da;
	box-shadow: 0 12px 32px rgba(0,0,0,.06);
	overflow: hidden;
}
.svmb-fanshop-frame {
	display: block;
	width: 100%;
	max-width: 100%;
	height: var(--svmb-shop-height, 900px);
	border: 0;
	background: #fff;
}
.svmb-fanshop-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px 18px;
	flex-wrap: wrap;
	padding: 12px 18px;
	border-top: 1px solid #eee;
	font-size: 13px;
	background: #f7f5f2;
}
.svmb-fanshop-fallback a { color: var(--svmb-primary); font-weight: 800; text-decoration: none; }
.svmb-fanshop-only-button { padding: 28px 0; text-align: center; }
@media (max-width: 720px) {
	.svmb-fanshop-frame { height: var(--svmb-shop-height-mobile, 720px); }
	.svmb-fanshop-fallback { align-items: flex-start; justify-content: flex-start; }
}

/* ============================================================
   1.14.17 – Tabellen-Auswahl, identisches Widget-Design, Teamhinweis Spiele
   ============================================================ */
.svmb-table-team-picker{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:0 0 10px;
}
.svmb-table-team-picker button{
  appearance:none;
  border:1px solid #dedad2;
  background:#f4f1eb;
  color:#111;
  min-height:38px;
  padding:7px 8px;
  font-family:var(--svmb-font-display);
  font-size:17px;
  line-height:1;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.svmb-table-team-picker button:hover,
.svmb-table-team-picker button.is-active{
  background:#111;
  border-color:#111;
  color:#fff;
}
.svmb-table-team-picker button.is-active{box-shadow:inset 0 -3px 0 var(--svmb-primary)}
.svmb-table-panel[hidden]{display:none!important}

/* Das Wappen belegt immer dieselbe Fläche. Fehlt ein Bild, bleibt die
   Geometrie identisch und der Vereinsname springt nicht nach links. */
.svmb-table-crest-slot{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:grid;
  place-items:center;
}
.svmb-table-crest-slot .svmb-crest{
  width:24px;
  height:24px;
  max-width:24px;
  max-height:24px;
  flex:0 0 24px;
}
.svmb-table-crest-placeholder{
  display:block;
  width:24px;
  height:24px;
  border:1px solid #dedad2;
  background:#f2efe9;
}
.svmb-own-row .svmb-table-crest-placeholder{background:rgba(255,255,255,.7);border-color:rgba(0,0,0,.08)}

/* Mini-Tabelle im Widget nutzt jetzt dieselbe Tabellenoptik wie die Startseite. */
.svmb-widget-table-full{overflow-x:auto}
.svmb-widget-table-full table{min-width:430px;font-size:11.5px}
.svmb-widget-table-full th,
.svmb-widget-table-full td{padding:8px 7px}
.svmb-widget-table-full th{font-size:8.5px}
.svmb-widget-table-full .svmb-table-team{gap:6px;min-width:150px}
.svmb-widget-table-full .svmb-table-team>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svmb-widget-table-full .svmb-table-crest-slot{width:22px;height:22px;flex-basis:22px}
.svmb-widget-table-full .svmb-table-crest-slot .svmb-crest,
.svmb-widget-table-full .svmb-table-crest-placeholder{width:20px;height:20px;max-width:20px;max-height:20px}

/* Auf der Startseite soll sofort sichtbar sein, welche Barth-Mannschaft spielt. */
.svmb-fixtures-block.is-frontpage .svmb-game-heading{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.svmb-fixtures-block.is-frontpage .svmb-game-team-name{
  display:inline-flex;
  align-items:center;
  min-height:19px;
  padding:3px 7px 2px;
  background:var(--svmb-primary);
  color:#fff;
  font-weight:900;
  font-size:9px;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.svmb-team-schedule-v2 .svmb-game-team-name,
.svmb-sidebar-widget .svmb-game-team-name{
  font-weight:900;
  font-size:10px;
  text-transform:uppercase;
}

@media(max-width:900px){
  .svmb-table-team-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  .svmb-table-team-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svmb-table-team-picker button{font-size:15px;min-height:36px}
  .svmb-fixtures-block.is-frontpage .svmb-game-team-name{font-size:8.5px}
}


/* 1.14.22: Heim/Auswärts-Farblogik auch auf den einzelnen Mannschaftsseiten.
 * "Alle Spiele" hatte diese Kennzeichnung bereits; dieselben Karten in den
 * Mannschafts-Tabs sollen sich identisch verhalten. */
.svmb-team-sports-panel .svmb-game-list article{
  position:relative;
  width:100%;
  box-sizing:border-box;
}
.svmb-team-sports-panel .svmb-game-list article.svmb-game-home{
  border-left:5px solid var(--svmb-primary);
}
.svmb-team-sports-panel .svmb-game-list article.svmb-game-away{
  border-left:5px solid #171717;
}
.svmb-team-sports-panel article.svmb-game-home .svmb-game-date{
  background:var(--svmb-primary);
}
.svmb-team-sports-panel article.svmb-game-away .svmb-game-date{
  background:#171717;
}


/* 1.14.24: Heim/Auswärts-Farblogik auf der Startseite identisch zu "Alle Spiele". */
.svmb-fixtures-block.is-frontpage .svmb-game-list article.svmb-game-home{
  border-left:5px solid var(--svmb-primary);
}
.svmb-fixtures-block.is-frontpage .svmb-game-list article.svmb-game-away{
  border-left:5px solid #171717;
}
.svmb-fixtures-block.is-frontpage article.svmb-game-home .svmb-game-date{
  background:var(--svmb-primary);
}
.svmb-fixtures-block.is-frontpage article.svmb-game-away .svmb-game-date{
  background:#171717;
}

/* ===== Fan-Engagement 1.15 ===== */
.svmb-support-hub,.svmb-coupons,.svmb-tipping{width:100%;max-width:1240px;margin:0 auto;padding:22px 0 48px}
.svmb-support-intro,.svmb-coupon-heading,.svmb-tip-hero{max-width:760px;margin-bottom:28px}.svmb-support-intro h2,.svmb-coupon-heading h2,.svmb-tip-hero h2{font-family:'Anton',sans-serif;font-size:clamp(34px,5vw,60px);line-height:1;margin:8px 0 12px}.svmb-support-intro p,.svmb-coupon-heading p,.svmb-tip-hero p{font-size:17px;line-height:1.65}
.svmb-support-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.svmb-support-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:#111;color:#fff!important;text-decoration:none!important;min-height:210px;border-bottom:5px solid var(--svmb-primary);transition:.2s}.svmb-support-card:hover{transform:translateY(-3px)}.svmb-support-icon svg{width:32px;height:32px;fill:var(--svmb-primary)}.svmb-support-card strong{font-size:19px}.svmb-support-card span:not(.svmb-support-icon){opacity:.78;line-height:1.45}.svmb-support-card em{margin-top:auto;color:#fff;font-style:normal;font-weight:800;font-size:12px;letter-spacing:.06em}
.svmb-support-projects{margin-top:48px}.svmb-support-projects>h3{font-family:'Anton',sans-serif;font-size:30px}.svmb-support-project{display:grid;grid-template-columns:280px 1fr;background:#fff;border:1px solid #e3e3e3;margin:16px 0;overflow:hidden}.svmb-support-project-img{width:100%;height:100%;min-height:230px;object-fit:cover}.svmb-support-project-body{padding:26px}.svmb-support-project-body h4{font-size:25px;margin:0 0 8px}.svmb-progress{height:12px;background:#e9e9e9;margin:18px 0 8px;overflow:hidden}.svmb-progress span{display:block;height:100%;background:var(--svmb-primary)}.svmb-progress-meta{display:flex;justify-content:space-between;margin-bottom:18px}.svmb-progress-meta b{color:var(--svmb-primary);font-size:20px}
.svmb-coupon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.svmb-coupon-card{background:#fff;border:1px solid #ddd;box-shadow:0 9px 30px rgba(0,0,0,.07);overflow:hidden}.svmb-coupon-logo{height:150px;display:flex;align-items:center;justify-content:center;padding:24px;background:#fafafa}.svmb-coupon-logo img{width:100%;height:100%;object-fit:contain}.svmb-coupon-body{padding:22px}.svmb-coupon-partner{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#777}.svmb-coupon-body h3{font-size:25px;margin:5px 0 8px}.svmb-coupon-body small{display:block;margin:8px 0 16px;color:#666}.svmb-coupon-secret{margin-top:16px;padding:16px;background:#111;color:#fff;text-align:center}.svmb-coupon-secret span{display:block;font-size:11px;letter-spacing:.12em;color:#bbb}.svmb-coupon-secret strong{display:block;font-size:25px;margin:4px 0}.svmb-coupon-link{display:inline-block;margin-top:12px;color:#fff!important;font-weight:800}
.svmb-tip-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px}.svmb-tip-profile{background:#111;color:#fff;padding:18px;margin-bottom:14px;display:flex;gap:16px;align-items:end}.svmb-tip-profile label{font-weight:800;flex:1}.svmb-tip-profile input{display:block;width:100%;margin-top:6px;padding:11px;border:0}.svmb-tip-profile span{font-size:12px;opacity:.7}.svmb-tip-game{background:#fff;border:1px solid #ddd;border-left:5px solid var(--svmb-primary);padding:18px;margin-bottom:12px}.svmb-tip-date{font-size:12px;text-transform:uppercase;font-weight:900;color:#777;margin-bottom:8px}.svmb-tip-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;font-size:17px}.svmb-tip-teams strong:last-child{text-align:right}.svmb-tip-inputs{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}.svmb-tip-inputs input{width:62px;height:46px;text-align:center;font-size:20px;font-weight:900;border:1px solid #bbb}.svmb-tip-submit{border:0;background:var(--svmb-primary);color:#fff;font-weight:900;padding:14px 16px;cursor:pointer}.svmb-tip-status{text-align:center;font-size:12px;font-weight:800;margin-top:8px;min-height:18px}.svmb-tip-ranking{background:#111;color:#fff;padding:22px;align-self:start;position:sticky;top:100px}.svmb-tip-ranking h3{font-family:'Anton',sans-serif;font-size:26px;margin-top:0}.svmb-tip-ranking ol{list-style:none;margin:0;padding:0}.svmb-tip-ranking li{display:grid;grid-template-columns:34px 1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.svmb-tip-ranking li b{color:#fff}.svmb-empty{padding:24px;background:#f3f2ee;text-align:center}
@media(max-width:900px){.svmb-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svmb-coupon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svmb-tip-layout{grid-template-columns:1fr}.svmb-tip-ranking{position:static}.svmb-support-project{grid-template-columns:1fr}.svmb-support-project-img{height:220px}}
@media(max-width:620px){.svmb-support-hub,.svmb-coupons,.svmb-tipping{padding-top:10px}.svmb-support-grid,.svmb-coupon-grid{grid-template-columns:1fr}.svmb-support-card{min-height:155px}.svmb-tip-profile{display:block}.svmb-tip-profile span{display:block;margin-top:8px}.svmb-tip-teams{font-size:15px;gap:7px}.svmb-tip-inputs{flex-wrap:wrap}.svmb-tip-submit{width:100%}.svmb-progress-meta{align-items:end;gap:10px}.svmb-support-project-body{padding:20px}}


/* 1.16.0 – großes Motor-Matchcenter */
.svmb-matchcenter-full-wrap{margin:24px 0 56px}.svmb-matchcenter-full{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0;overflow:hidden;border-radius:18px;background:#111;color:#fff;box-shadow:0 18px 45px rgba(0,0,0,.16)}
.svmb-matchcenter-full .svmb-match-tagcol{padding:32px 22px;background:#080808;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.svmb-matchcenter-full .svmb-match-main{padding:34px 38px}.svmb-matchcenter-full .svmb-teams{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center;gap:24px;margin:22px 0}.svmb-matchcenter-full .svmb-team{display:flex;align-items:center;gap:14px;font-size:20px}.svmb-matchcenter-full .svmb-team:last-child{justify-content:flex-end;text-align:right}.svmb-matchcenter-full .svmb-team img{width:70px;height:70px;object-fit:contain}.svmb-matchcenter-full .svmb-score{font-size:38px;font-weight:900;text-align:center;white-space:nowrap}.svmb-matchcenter-full .svmb-ticker{grid-column:1/-1;background:#fff;color:#111;padding:0}.svmb-matchcenter-full .svmb-ticker-rows{max-height:none}.svmb-matchcenter-full .svmb-ticker-row{display:grid;grid-template-columns:38px 64px minmax(0,1fr) 74px;gap:12px;align-items:center;padding:13px 24px;border-bottom:1px solid #ececec}.svmb-matchcenter-full .svmb-ticker-row:nth-child(even){background:#fafafa}.svmb-matchcenter-full .svmb-ticker-min{font-weight:800}.svmb-matchcenter-full .svmb-ticker-score{text-align:right;font-size:18px;font-weight:900}.svmb-matchcenter-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;padding:22px 24px;background:#f4f4f4}.svmb-matchcenter-empty{padding:26px;color:#666}.svmb-matchcenter-full .svmb-btn-ghost{border-color:#111;color:#111}
@media(max-width:760px){.svmb-matchcenter-full{grid-template-columns:1fr;border-radius:14px}.svmb-matchcenter-full .svmb-match-tagcol{padding:18px 20px;flex-direction:row;justify-content:space-between;align-items:center}.svmb-matchcenter-full .svmb-match-main{padding:24px 16px}.svmb-matchcenter-full .svmb-teams{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:8px}.svmb-matchcenter-full .svmb-team{flex-direction:column;gap:8px;text-align:center;font-size:14px}.svmb-matchcenter-full .svmb-team:last-child{justify-content:center;text-align:center}.svmb-matchcenter-full .svmb-team img{width:50px;height:50px}.svmb-matchcenter-full .svmb-score{font-size:26px}.svmb-matchcenter-full .svmb-ticker-row{grid-template-columns:28px 46px minmax(0,1fr) 50px;gap:7px;padding:11px 10px;font-size:13px}.svmb-matchcenter-actions{padding:16px}.svmb-matchcenter-actions .svmb-btn{flex:1 1 100%;text-align:center}}

/* 1.16.1 – Unterstützen-Widgets */
.svmb-widget-support{display:grid;gap:8px}.svmb-widget-support a{display:grid;grid-template-columns:32px 1fr 18px;gap:8px;align-items:center;padding:11px 10px;background:#111;color:#fff!important;text-decoration:none!important;border-left:4px solid var(--svmb-primary)}.svmb-widget-support a span{display:flex;align-items:center}.svmb-widget-support svg{width:22px;height:22px;fill:var(--svmb-primary)}.svmb-widget-support b{font-size:14px}.svmb-widget-support em{font-style:normal;font-weight:900}.svmb-widget-project>img{width:100%;height:150px;object-fit:cover;margin-bottom:12px}.svmb-widget-project>strong{display:block;font-size:18px;margin-bottom:12px}.svmb-widget-project-progress{height:10px;background:#e7e7e7;overflow:hidden;margin:10px 0 6px}.svmb-widget-project-progress span{display:block;height:100%;background:var(--svmb-primary)}.svmb-widget-project-meta{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-bottom:12px}.svmb-widget-project-meta b{color:var(--svmb-primary);font-size:19px}.svmb-widget-project-meta small{text-align:right}


/* 1.16.6 – echter nuScoreLive-Matchcenter */
.svmb-live-clock{margin-top:12px;font-family:"Bebas Neue",sans-serif;font-size:32px;line-height:1;color:var(--svmb-primary);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.svmb-live-connection{margin-top:5px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#777}
.svmb-live-connection[data-state="connected"]{color:#35a853}
.svmb-live-connection[data-state="error"]{color:#d93025}
.svmb-live-connection[data-state="connecting"]{color:#b08900}
.svmb-live-connection[data-state="finished"]{color:#777}
.svmb-matchcenter-full .svmb-live-clock{font-size:42px}
.svmb-live-event-row{animation:svmbLiveIn .28s ease-out}
@keyframes svmbLiveIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:767px){.svmb-live-clock{font-size:27px}.svmb-matchcenter-full .svmb-live-clock{font-size:32px}.svmb-live-connection{font-size:9px}}

/* 1.16.7 – Matchcenter sauber innerhalb des Seiteninhalts; kein 100vw-Offset im Full-View. */
.svmb-match-center-wrap.svmb-matchcenter-full-wrap{width:100%;max-width:100%;left:auto;margin-left:0;position:relative;background:transparent;border:0;box-sizing:border-box}
.svmb-matchcenter-full{width:100%;max-width:100%;margin:0;box-sizing:border-box}
.svmb-matchcenter-full .svmb-match-main,.svmb-matchcenter-full .svmb-ticker,.svmb-matchcenter-full .svmb-matchcenter-actions{min-width:0;box-sizing:border-box}
@media(max-width:760px){.svmb-matchcenter-full-wrap{margin:16px 0 36px!important}.svmb-matchcenter-full{overflow:hidden}.svmb-matchcenter-full .svmb-ticker{overflow-x:hidden}.svmb-matchcenter-full .svmb-ticker-msg{min-width:0;overflow-wrap:anywhere}}

/* 1.16.7 – Alle Spiele: Umschalter Kommende Spiele / Ergebnisse. */
.svmb-schedule-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 18px;padding-bottom:12px;border-bottom:1px solid #e8e3dc}
.svmb-schedule-tab{appearance:none;border:1px solid #d9d3ca;background:#fff;color:#111;padding:10px 14px;font:inherit;font-size:12px;font-weight:900;letter-spacing:.05em;cursor:pointer}
.svmb-schedule-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;background:#eee;border-radius:99px;font-size:10px}
.svmb-schedule-tab.is-active{background:#111;color:#fff;border-color:#111}
.svmb-schedule-tab.is-active span{background:var(--svmb-primary);color:#fff}
.svmb-schedule-view[hidden]{display:none!important}
.svmb-schedule-view .svmb-toggle-game-list{margin-top:14px}
.svmb-team-schedule-v2 .svmb-schedule-view .svmb-team-games-collapsible .svmb-game-list article:nth-child(n+6){display:none}
.svmb-team-schedule-v2 .svmb-schedule-view.is-expanded .svmb-team-games-collapsible .svmb-game-list article{display:grid}

/* Spielkarten sind jetzt echte Detail-Einstiege. */
.svmb-game-clickable{cursor:pointer;position:relative}
.svmb-game-clickable:focus{outline:3px solid rgba(210,0,0,.28);outline-offset:2px}
.svmb-game-open{display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:38px;color:#111;text-decoration:none;font-size:24px;font-weight:900;border-left:1px solid #ece7df}
.svmb-game-clickable:hover .svmb-game-open{background:#111;color:#fff}
.svmb-game-result-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0 10px}
.svmb-game-result-wrap .svmb-game-result{padding:0}
.svmb-game-report-badge{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--svmb-primary);white-space:nowrap}
@media(max-width:680px){.svmb-game-report-badge{display:none}.svmb-game-open{min-width:30px;font-size:20px}.svmb-schedule-tab{flex:1 1 auto;text-align:center}}
.svmb-game-list article.svmb-game-has-result{grid-template-columns:70px minmax(0,1fr) auto 38px}
@media(max-width:680px){.svmb-game-list article.svmb-game-has-result{grid-template-columns:62px minmax(0,1fr) auto 30px;gap:8px}}


/* 1.16.8 – Matchcenter auf normalen Inhaltsseiten robust zentrieren.
 * WPBakery/Theme-Container dürfen den Full-View nicht mehr nach links ziehen. */
.svmb-page-main .svmb-matchcenter-full-wrap,
.prose .svmb-matchcenter-full-wrap,
.svmb-matchcenter-full-wrap{
  width:100%!important;
  max-width:100%!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.svmb-page-main .svmb-matchcenter-full,
.prose .svmb-matchcenter-full,
.svmb-matchcenter-full{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.svmb-page-main .wpb_wrapper > .svmb-matchcenter-full-wrap{
  float:none!important;
}
@media(max-width:760px){
  .svmb-matchcenter-full-wrap{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ============================================================
   1.16.11 – Stabilitäts-/Layout-Fixes
   ============================================================ */

/* Startseite: der Öffnen-Pfeil bekommt eine echte, feste Spalte und darf
   niemals vom Karteninhalt überdeckt oder am rechten Rand abgeschnitten werden. */
.svmb-fixtures-block.is-frontpage .svmb-game-list article{
  grid-template-columns:58px minmax(0,1fr) 42px!important;
  padding-right:0!important;
  overflow:hidden!important;
}
.svmb-fixtures-block.is-frontpage .svmb-game-open{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:100%!important;
  box-sizing:border-box!important;
  justify-self:end!important;
  overflow:visible!important;
}
@media(max-width:720px){
  .svmb-fixtures-block.is-frontpage .svmb-game-list article{grid-template-columns:52px minmax(0,1fr) 36px!important}
  .svmb-fixtures-block.is-frontpage .svmb-game-open{width:36px!important;min-width:36px!important;max-width:36px!important}
}

/* „Alle Ergebnisse“ verhält sich geometrisch exakt wie „Alle Spiele“:
   volle verfügbare Breite, keine Größenänderung beim Mannschaftswechsel. */
.svmb-results-browser,
.svmb-results-browser > *,
.svmb-results-browser-panels,
.svmb-results-browser-panel,
.svmb-results-browser .svmb-results-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.svmb-results-browser-panel[hidden]{display:none!important}
.svmb-results-browser-panel.is-active{display:block!important}
.svmb-results-browser .svmb-team-picker-buttons{width:100%!important}
.svmb-results-browser .svmb-results-card{min-height:84px}

/* Ergebniszeilen können direkt Matchcenter/Spielbericht öffnen. */
a.svmb-result-row{color:inherit;text-decoration:none}
.svmb-result-row-clickable{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto 34px!important}
.svmb-result-row-clickable:hover{background:#f6f3ee}
.svmb-result-open{display:flex;align-items:center;justify-content:center;align-self:stretch;font-size:21px;font-weight:900;border-left:1px solid #ece7df;padding-left:9px}
.svmb-result-report-badge{display:inline-flex;width:max-content;margin-top:5px;padding:3px 6px;background:var(--svmb-primary);color:#fff;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}

/* Tabellen-Widget: niemals horizontales Scrollen erzwingen. Die Tabelle passt
   sich an die Seitenleiste an; der Teamname darf bei Bedarf umbrechen. */
.svmb-widget-table-full{overflow-x:hidden!important;width:100%!important;max-width:100%!important;min-width:0!important}
.svmb-widget-table-full .svmb-table{overflow:hidden!important;width:100%!important;max-width:100%!important;min-width:0!important}
.svmb-widget-table-full table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;font-size:10.5px!important}
.svmb-widget-table-full th,
.svmb-widget-table-full td{padding:7px 4px!important}
.svmb-widget-table-full th:nth-child(1),.svmb-widget-table-full td:nth-child(1){width:24px!important}
.svmb-widget-table-full th:nth-child(3),.svmb-widget-table-full td:nth-child(3){width:30px!important;text-align:center}
.svmb-widget-table-full th:nth-child(4),.svmb-widget-table-full td:nth-child(4){width:46px!important;text-align:center}
.svmb-widget-table-full th:nth-child(5),.svmb-widget-table-full td:nth-child(5){width:32px!important;text-align:center}
.svmb-widget-table-full .svmb-table-team{min-width:0!important;width:auto!important;gap:4px!important;display:flex!important}
.svmb-widget-table-full .svmb-table-team>span:last-child{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;line-height:1.1!important}
.svmb-widget-table-full .svmb-table-crest-slot{width:18px!important;height:18px!important;flex:0 0 18px!important}
.svmb-widget-table-full .svmb-table-crest-slot .svmb-crest,
.svmb-widget-table-full .svmb-table-crest-placeholder{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important}

/* ============================================================
   1.16.12 – Alle Ergebnisse: dieselbe echte Vollbreite wie Alle Spiele
   ============================================================ */
.svmb-page-main-results,
.svmb-page-main.prose.svmb-page-main-results{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}
.svmb-page-main-results .svmb-results-width-lock,
.svmb-page-main-results .svmb-results-width-lock > .vc_column-inner,
.svmb-page-main-results .svmb-results-width-lock > .vc_column-inner > .wpb_wrapper,
.svmb-page-main-results .svmb-results-browser,
.svmb-page-main-results .svmb-results-browser > *,
.svmb-page-main-results .svmb-results-browser-panels,
.svmb-page-main-results .svmb-results-browser-panel,
.svmb-page-main-results .svmb-results-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* 1.16.12 – Matchcenter-Spielverlauf: hoher Kontrast und klarere Ereigniszeilen. */
.svmb-matchcenter-full .svmb-ticker{
  background:#f3f1ed!important;
  color:#111!important;
  padding:18px!important;
}
.svmb-matchcenter-full .svmb-ticker-rows{
  display:grid!important;
  gap:8px!important;
}
.svmb-matchcenter-full .svmb-ticker-row{
  grid-template-columns:42px 66px minmax(0,1fr) 78px!important;
  gap:12px!important;
  min-height:58px!important;
  padding:12px 16px!important;
  background:#fff!important;
  border:1px solid #dedbd5!important;
  border-left:5px solid #171717!important;
  border-radius:8px!important;
  box-shadow:0 2px 8px rgba(0,0,0,.04)!important;
  color:#111!important;
}
.svmb-matchcenter-full .svmb-ticker-row:nth-child(even){background:#fff!important}
.svmb-matchcenter-full .svmb-ticker-icon{
  width:34px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:50%!important;background:#111!important;color:#fff!important;font-size:16px!important;font-weight:900!important;
}
.svmb-matchcenter-full .svmb-ticker-goal{background:var(--svmb-primary)!important}
.svmb-matchcenter-full .svmb-ticker-min{color:#111!important;font-size:14px!important;font-weight:900!important;font-variant-numeric:tabular-nums!important}
.svmb-matchcenter-full .svmb-ticker-msg{color:#171717!important;font-size:15px!important;font-weight:700!important;line-height:1.35!important}
.svmb-matchcenter-full .svmb-ticker-score{color:var(--svmb-primary)!important;font-size:20px!important;font-weight:900!important;background:#f5f2ed!important;border-radius:6px!important;padding:6px 8px!important;text-align:center!important}
@media(max-width:760px){
  .svmb-matchcenter-full .svmb-ticker{padding:10px!important}
  .svmb-matchcenter-full .svmb-ticker-row{grid-template-columns:32px 48px minmax(0,1fr) 54px!important;gap:7px!important;padding:10px 8px!important;border-radius:6px!important}
  .svmb-matchcenter-full .svmb-ticker-icon{width:28px!important;height:28px!important;font-size:13px!important}
  .svmb-matchcenter-full .svmb-ticker-min{font-size:12px!important}
  .svmb-matchcenter-full .svmb-ticker-msg{font-size:13px!important}
  .svmb-matchcenter-full .svmb-ticker-score{font-size:15px!important;padding:5px 4px!important}
}


/* ============================================================
   1.16.13 – Matchcenter höher + Ereignisse sauber ausrichten
   ============================================================ */
.svmb-matchcenter-full .svmb-ticker{
  max-height:620px!important;
  min-height:330px!important;
  overflow:hidden!important;
  padding:18px!important;
}
.svmb-matchcenter-full .svmb-ticker-rows{
  width:100%!important;
  min-height:0!important;
  max-height:584px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  padding-right:4px!important;
  box-sizing:border-box!important;
}
.svmb-matchcenter-full .svmb-ticker-row{
  width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:42px 76px minmax(0,1fr) 92px!important;
  align-items:center!important;
  column-gap:14px!important;
  min-height:66px!important;
  margin:0!important;
}
.svmb-matchcenter-full .svmb-ticker-icon{
  justify-self:center!important;
  align-self:center!important;
}
.svmb-matchcenter-full .svmb-ticker-min{
  justify-self:start!important;
  align-self:center!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.svmb-matchcenter-full .svmb-ticker-msg{
  min-width:0!important;
  align-self:center!important;
  overflow-wrap:anywhere!important;
}
.svmb-matchcenter-full .svmb-ticker-score{
  width:92px!important;
  min-width:92px!important;
  box-sizing:border-box!important;
  justify-self:end!important;
  align-self:center!important;
  white-space:nowrap!important;
}
.svmb-matchcenter-full .svmb-matchcenter-actions{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:760px){
  .svmb-matchcenter-full .svmb-ticker{
    min-height:300px!important;
    max-height:500px!important;
    padding:10px!important;
  }
  .svmb-matchcenter-full .svmb-ticker-rows{max-height:480px!important;padding-right:2px!important}
  .svmb-matchcenter-full .svmb-ticker-row{
    grid-template-columns:30px 46px minmax(0,1fr) 58px!important;
    column-gap:7px!important;
    min-height:56px!important;
  }
  .svmb-matchcenter-full .svmb-ticker-score{width:58px!important;min-width:58px!important}
}


/* ============================================================
   1.16.14 – Matchcenter: Ergebnis wirklich auf Kartenmitte
   ============================================================
   Der linke MATCH-CENTER-Block ist eine eigene Grid-Spalte. Bisher wurde der
   eigentliche Spielbereich nur in der verbleibenden rechten Fläche zentriert;
   dadurch lag der Spielstand optisch rechts von der Gesamtmitte. Auf Desktop
   kompensieren wir exakt die Breite der linken Spalte über zusätzlichen
   rechten Innenabstand. Mobil entfällt die Kompensation, weil der Block dort
   ohnehin über die ganze Breite läuft. */
@media (min-width:761px){
  .svmb-matchcenter-full .svmb-match-main{
    padding-left:38px!important;
    padding-right:208px!important; /* 38px Basis + 170px linke Matchcenter-Spalte */
  }
}
@media (max-width:760px){
  .svmb-matchcenter-full .svmb-match-main{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


/* ============================================================
   1.16.15 – Matchcenter-Score ohne Überlappung + echte Kartenmitte
   ============================================================ */
@media (min-width:761px){
  .svmb-matchcenter-full{
    --svmb-match-tag-width:170px;
  }
  .svmb-matchcenter-full .svmb-match-main{
    padding:34px 38px!important;
    overflow:visible;
  }
  .svmb-matchcenter-full .svmb-teams{
    grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr)!important;
    gap:24px!important;
    transform:translateX(calc(var(--svmb-match-tag-width) / -2));
    position:relative;
  }
  .svmb-matchcenter-full .svmb-team{
    min-width:0;
  }
  .svmb-matchcenter-full .svmb-team strong{
    display:block;
    min-width:0;
    max-width:290px;
    line-height:1.25;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:auto;
  }
  .svmb-matchcenter-full .svmb-team:first-child{
    justify-content:flex-end;
    text-align:right;
  }
  .svmb-matchcenter-full .svmb-team:last-child{
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .svmb-matchcenter-full .svmb-score{
    position:relative;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    font-size:clamp(44px,4.2vw,66px)!important;
    line-height:.9!important;
  }
}
@media (max-width:760px){
  .svmb-matchcenter-full .svmb-teams{transform:none!important;}
}


/* ============================================================
   1.16.16 – Startseite: Live-Ereignisse vollständig lesbar
   ============================================================
   Der kompakte Matchcenter reserviert rechts bewusst mehr Platz für
   Spielzeit, Torschütze und Zwischenstand. Lange Spielernamen dürfen in
   zwei Zeilen laufen statt am rechten Rand abgeschnitten zu werden. */
@media (min-width:981px){
  .svmb-match-center:not(.svmb-matchcenter-full){
    grid-template-columns:180px minmax(0,1fr) minmax(330px,380px)!important;
    gap:24px!important;
  }
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker{
    min-width:0;
    padding-left:18px;
  }
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-row{
    grid-template-columns:22px 42px minmax(0,1fr) 48px!important;
    column-gap:8px!important;
  }
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-msg{
    min-width:0;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-score{
    min-width:48px;
    text-align:right;
  }
}
@media (min-width:761px) and (max-width:980px){
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-msg{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere;
  }
}


/* ============================================================
   1.16.18 – Startseite: kompakter Live-Ticker kontrastreich
   ============================================================ */
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker{
  color:#111!important;
}
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-row{
  color:#111!important;
}
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-min{
  color:#666!important;
  font-weight:800!important;
  opacity:1!important;
}
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-msg{
  color:#171717!important;
  font-weight:800!important;
  opacity:1!important;
}
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-score{
  color:#111!important;
  font-weight:900!important;
  opacity:1!important;
}
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-row a,
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-row strong,
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-row span{
  text-shadow:none!important;
}

/* ============================================================
   1.16.19 – Kompaktes Livecenter: immer die letzten 5 Ereignisse
   ============================================================
   Desktop und Smartphone zeigen im kompakten Startseiten-Matchcenter
   fünf Ereignisse. Die Liste wächst mit den Zeilen statt nach 1–2
   Ereignissen intern zu scrollen oder abgeschnitten zu werden. */
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker{
  max-height:none!important;
  overflow:visible!important;
}
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-rows{
  max-height:none!important;
  overflow:visible!important;
  flex:none!important;
}
.svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-row{
  min-height:44px;
  box-sizing:border-box;
}
@media (max-width:760px){
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker{
    max-height:none!important;
    overflow:visible!important;
  }
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-rows{
    max-height:none!important;
    overflow:visible!important;
  }
  .svmb-match-center:not(.svmb-matchcenter-full) .svmb-ticker-row{
    min-height:42px;
  }
}

/* 1.16.20 – nuScoreLive Zeitstrafe */
.svmb-live-event[data-event-type="penalty"] .svmb-ticker-icon,
.svmb-ticker-row[data-event-type="penalty"] .svmb-ticker-icon { background:#111; color:#fff; }

/* ============================================================
   1.16.21 – Matchcenter: lange Mannschaftsnamen + 7-Meter-Tor
   ============================================================ */
.svmb-ticker-icon.svmb-ticker-seven_meter_goal,
.svmb-matchcenter-full .svmb-ticker-seven_meter_goal{
  background:var(--svmb-primary)!important;
  color:#fff!important;
}
@media (min-width:761px){
  .svmb-matchcenter-full .svmb-teams{
    grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr)!important;
    gap:18px!important;
  }
  .svmb-matchcenter-full .svmb-team{
    gap:12px!important;
    font-size:18px!important;
    line-height:1.18!important;
  }
  .svmb-matchcenter-full .svmb-team img,
  .svmb-matchcenter-full .svmb-team .svmb-crest{
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
  }
  .svmb-matchcenter-full .svmb-team strong{
    max-width:none!important;
    hyphens:none!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .svmb-matchcenter-full .svmb-team:first-child{
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .svmb-matchcenter-full .svmb-team:last-child{
    justify-content:flex-start!important;
  }
  .svmb-matchcenter-full .svmb-score{
    min-width:170px!important;
  }
}
@media (max-width:760px){
  .svmb-matchcenter-full .svmb-team strong{
    hyphens:none!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
}

/* Matchcenter 2.0 – Tabs, Live-Torschützen und Aufstellung */
.svmb-matchcenter-full .svmb-mc-tabs{grid-column:1/-1;display:flex;gap:8px;padding:18px 28px 0;background:#f4f2ee;border-top:1px solid #dedbd5;overflow-x:auto}
.svmb-matchcenter-full .svmb-mc-tabs button{appearance:none;border:0;background:#dedbd5;color:#252525;padding:12px 18px;font-weight:900;font-size:13px;letter-spacing:.04em;cursor:pointer;border-radius:7px 7px 0 0;white-space:nowrap}
.svmb-matchcenter-full .svmb-mc-tabs button.is-active{background:#e00000;color:#fff}
.svmb-matchcenter-full .svmb-mc-panel{display:none!important;grid-column:1/-1}
.svmb-matchcenter-full .svmb-mc-panel.is-active{display:block!important}
.svmb-matchcenter-full .svmb-mc-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:28px;background:#f4f2ee}
.svmb-matchcenter-full .svmb-mc-two-cols section{background:#fff;border:1px solid #ddd9d2;border-radius:12px;overflow:hidden}
.svmb-matchcenter-full .svmb-mc-two-cols h3{margin:0;padding:18px 20px;background:#111;color:#fff;font-size:18px}
.svmb-scorer-list>div,.svmb-lineup-list>div{display:grid;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #eee}
.svmb-scorer-list>div{grid-template-columns:28px minmax(0,1fr) auto}.svmb-lineup-list>div{grid-template-columns:minmax(0,1fr)}
.svmb-scorer-list>div:last-child,.svmb-lineup-list>div:last-child{border-bottom:0}.svmb-scorer-rank{font-weight:900;color:#999}.svmb-scorer-list strong,.svmb-lineup-list strong{color:#171717}.svmb-scorer-list>div>span:last-child{display:flex;align-items:center;gap:10px}.svmb-scorer-list small{font-weight:800;color:#777}.svmb-scorer-list b{display:grid;place-items:center;min-width:36px;height:36px;border-radius:8px;background:#f3f0eb;color:#d40000;font-size:18px}
@media(max-width:700px){.svmb-matchcenter-full .svmb-mc-tabs{padding:12px 12px 0}.svmb-matchcenter-full .svmb-mc-tabs button{padding:10px 12px;font-size:11px}.svmb-matchcenter-full .svmb-mc-two-cols{grid-template-columns:1fr;padding:14px;gap:14px}.svmb-matchcenter-full .svmb-mc-two-cols h3{font-size:16px;padding:14px}.svmb-scorer-list>div,.svmb-lineup-list>div{padding:10px 12px}}


/* 1.18.7 – automatische Spieldaten unter verknüpften News-/Spielberichten */
.svmb-report-matchdata{margin:46px 0 0;padding-top:34px;border-top:1px solid #dedbd5}
.svmb-report-matchdata-head{margin:0 0 18px}
.svmb-report-matchdata-head>span{display:inline-block;margin-bottom:6px;color:#d40000;font-size:12px;font-weight:900;letter-spacing:.12em}
.svmb-report-matchdata-head h2{margin:0;color:#141414;font-size:clamp(26px,4vw,38px);line-height:1;font-weight:950;letter-spacing:-.03em}
.svmb-report-matchdata-head p{max-width:760px;margin:10px 0 0;color:#666;font-size:14px;line-height:1.55}
.svmb-report-matchdata .svmb-match-center-wrap{margin-top:20px}
.svmb-report-matchdata .svmb-matchcenter-actions:empty{display:none}
@media(max-width:700px){.svmb-report-matchdata{margin-top:34px;padding-top:26px}.svmb-report-matchdata-head h2{font-size:28px}.svmb-report-matchdata-head p{font-size:13px}}

/* ============================================================
   1.18.9 – Matchcenter-Kopf komplett stabil + Aufstellung bereinigt
   ============================================================
   Vollansicht ohne alte Seitenleiste/Trennlinie. Mannschaften sind feste
   vertikale Blöcke: Logo oben, Name unten; das Ergebnis sitzt unabhängig
   davon in einer eigenen Mittelspalte. */
.svmb-matchcenter-full{
  grid-template-columns:1fr!important;
}
.svmb-matchcenter-full .svmb-match-main-full{
  grid-column:1/-1!important;
  position:relative;
  padding:34px 42px 38px!important;
  min-width:0;
  text-align:center;
  background:#111;
}
.svmb-matchcenter-full .svmb-mc-statusrow{
  position:absolute;
  top:28px;
  left:30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
  z-index:2;
}
.svmb-matchcenter-full .svmb-mc-statusrow .svmb-match-label{
  color:rgba(255,255,255,.28);
  font-size:11px;
  letter-spacing:.13em;
}
.svmb-matchcenter-full .svmb-mc-statusrow .svmb-tag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  background:#090909;
  color:#fff;
}
.svmb-matchcenter-full .svmb-match-league{
  display:block;
  margin:4px auto 22px;
  color:#8f8f92;
  font-size:13px;
  font-weight:900;
  letter-spacing:.11em;
  text-align:center;
  text-transform:uppercase;
}
.svmb-matchcenter-full .svmb-teams{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(170px,210px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:34px!important;
  margin:0 auto 24px!important;
  width:min(980px,100%);
}
.svmb-matchcenter-full .svmb-team{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-width:0!important;
  text-align:center!important;
}
.svmb-matchcenter-full .svmb-team img,
.svmb-matchcenter-full .svmb-team .svmb-crest{
  display:block!important;
  width:76px!important;
  height:76px!important;
  flex:0 0 76px!important;
  margin:0 auto!important;
  object-fit:contain!important;
}
.svmb-matchcenter-full .svmb-team strong{
  display:block!important;
  width:100%!important;
  max-width:300px!important;
  margin:0 auto!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.18!important;
  text-align:center!important;
  hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.svmb-matchcenter-full .svmb-score{
  align-self:center!important;
  justify-self:center!important;
  min-width:0!important;
  color:#fff!important;
  font-size:clamp(48px,6vw,76px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.04em;
  text-align:center!important;
  white-space:nowrap!important;
}
.svmb-matchcenter-full .svmb-meta{
  color:#b7b7b7!important;
  text-align:center!important;
}
.svmb-matchcenter-full .svmb-mc-tabs,
.svmb-matchcenter-full .svmb-mc-panel,
.svmb-matchcenter-full .svmb-matchcenter-actions{
  grid-column:1/-1!important;
}
@media (max-width:760px){
  .svmb-matchcenter-full .svmb-match-main-full{
    padding:24px 12px 26px!important;
  }
  .svmb-matchcenter-full .svmb-mc-statusrow{
    position:static;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    margin-bottom:14px;
  }
  .svmb-matchcenter-full .svmb-mc-statusrow .svmb-match-label{display:none;}
  .svmb-matchcenter-full .svmb-match-league{
    margin-bottom:16px;
    font-size:10px;
  }
  .svmb-matchcenter-full .svmb-teams{
    grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)!important;
    gap:8px!important;
    margin-bottom:18px!important;
  }
  .svmb-matchcenter-full .svmb-team{gap:7px!important;}
  .svmb-matchcenter-full .svmb-team img,
  .svmb-matchcenter-full .svmb-team .svmb-crest{
    width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
  }
  .svmb-matchcenter-full .svmb-team strong{
    max-width:150px!important;
    font-size:12px!important;
    line-height:1.15!important;
  }
  .svmb-matchcenter-full .svmb-score{
    font-size:29px!important;
  }
  .svmb-matchcenter-full .svmb-meta{
    font-size:12px!important;
  }
}


/* 1.18.10 – Matchcenter: Teamraster exakt zentrieren */
.svmb-matchcenter-full .svmb-teams{transform:none!important;left:auto!important;right:auto!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
@media (min-width:761px){
 .svmb-matchcenter-full .svmb-match-main-full{overflow:hidden!important}
 .svmb-matchcenter-full .svmb-teams{width:min(980px,100%)!important;max-width:100%!important}
 .svmb-matchcenter-full .svmb-team:first-child,.svmb-matchcenter-full .svmb-team:last-child{justify-content:flex-start!important;align-items:center!important;text-align:center!important}
}

/* 1.18.13 – News-Galerie: echte Vollbild-Lightbox, unabhängig von Theme-Bildregeln */
html.svmb-lightbox-open,body.svmb-lightbox-open{overflow:hidden!important}
.svmb-lightbox{position:fixed!important;inset:0!important;z-index:999999!important;display:block!important;background:rgba(0,0,0,.94)!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.svmb-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}
.svmb-lightbox-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important}
.svmb-lightbox-figure{position:absolute!important;inset:36px 92px 28px 92px!important;margin:0!important;padding:0!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;display:block!important;overflow:hidden!important}
.svmb-lightbox-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:calc(100% - 28px)!important;min-width:100%!important;min-height:calc(100% - 28px)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center center!important;box-shadow:none!important}
.svmb-lightbox-counter{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:22px!important;margin:0!important;color:#fff!important;text-align:center!important;font-size:13px!important;font-weight:800!important;letter-spacing:.08em!important;line-height:22px!important}
.svmb-lightbox-close,.svmb-lightbox-nav{appearance:none!important;border:0!important;color:#fff!important;background:rgba(20,20,20,.82)!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .16s ease,transform .16s ease!important;z-index:10!important}
.svmb-lightbox-close{position:absolute!important;top:20px!important;right:20px!important;width:48px!important;height:48px!important;border-radius:50%!important;font-size:36px!important;line-height:1!important;font-family:Arial,sans-serif!important;font-weight:300!important}
.svmb-lightbox-nav{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:52px!important;height:72px!important;border-radius:10px!important;font-size:54px!important;line-height:1!important}
.svmb-lightbox-prev{left:20px!important}.svmb-lightbox-next{right:20px!important}
.svmb-lightbox-close:hover,.svmb-lightbox-nav:hover{background:var(--svmb-primary,#e30613)!important}.svmb-lightbox-close:hover{transform:scale(1.04)!important}.svmb-lightbox-nav:hover{transform:translateY(-50%) scale(1.04)!important}
.svmb-lightbox-close:focus-visible,.svmb-lightbox-nav:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
.svmb-lightbox-nav[hidden]{display:none!important}
@media(max-width:760px){.svmb-lightbox-figure{inset:54px 12px 16px 12px!important}.svmb-lightbox-image{height:calc(100% - 26px)!important;min-height:calc(100% - 26px)!important}.svmb-lightbox-nav{top:auto!important;bottom:28px!important;width:44px!important;height:54px!important;font-size:42px!important;transform:none!important;background:rgba(20,20,20,.72)!important}.svmb-lightbox-prev{left:18px!important}.svmb-lightbox-next{right:18px!important}.svmb-lightbox-nav:hover{transform:scale(1.04)!important}.svmb-lightbox-close{top:10px!important;right:10px!important;width:42px!important;height:42px!important;font-size:31px!important}}

