/**
 * VfR Mannheim – Spieldaten: front-end styles.
 *
 * Self-contained port of the match-center, fixture and table components of
 * the VfR design system (vfr.css). Everything is driven by custom properties
 * on .vfr-sd, so Elementor's style controls or a few lines of theme CSS can
 * recolour the components without overriding selectors.
 */

.vfr-sd {
	--vfr-navy: #0B2140;
	--vfr-navy-2: #122E57;
	--vfr-red: #E52A3D;
	--vfr-red-text: #C4172B;
	--vfr-blue: #1858A1;
	--vfr-ink: #15181D;
	--vfr-g7: #4A4F57;
	--vfr-g5: #767C86;
	--vfr-g3: #D5D8DD;
	--vfr-g1: #F1F2F4;
	--vfr-white: #FFFFFF;
	--vfr-dark-text: #C9D4E6;
	--vfr-dark-muted: #9DB2D1;
	--vfr-dark-line: rgba(255, 255, 255, 0.16);
	--vfr-dark-ph: #1D3A64;
	--vfr-win: #1B7F3B;
	--vfr-loss: #C4172B;
	--vfr-draw: #4A4F57;
	--vfr-next-bg: #EEF4FB;
	--vfr-me-bg: #E8F0FA;
	--vfr-home-tag: #FFB3BB;
	--vfr-cond: 'Barlow Condensed', 'Arial Narrow', Impact, sans-serif;
	--vfr-sans: 'Barlow', 'Helvetica Neue', Helvetica, sans-serif;
	--vfr-wrap: 1360px;
	--vfr-gutter: 40px;

	box-sizing: border-box;
	font-family: var(--vfr-sans);
	color: var(--vfr-ink);
	line-height: 1.55;
}

.vfr-sd *,
.vfr-sd *::before,
.vfr-sd *::after {
	box-sizing: border-box;
}

.vfr-sd p,
.vfr-sd h1,
.vfr-sd h2,
.vfr-sd h3,
.vfr-sd h4 {
	margin: 0;
}

.vfr-sd img {
	display: block;
	max-width: 100%;
}

.vfr-sd a {
	color: inherit;
}

/* --- Shared atoms ------------------------------------------------------- */

.vfr-sd-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 700 14px/1 var(--vfr-cond);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--vfr-g7);
}

.vfr-sd-eyebrow::before {
	content: "";
	width: 24px;
	height: 3px;
	background: var(--vfr-red);
	flex: none;
}

.vfr-sd-eyebrow--dark,
.vfr-sd--dark .vfr-sd-eyebrow,
.vfr-sd-mc .vfr-sd-eyebrow {
	color: var(--vfr-dark-text);
}

.vfr-sd-meta {
	display: block;
	font: 700 13px/1 var(--vfr-cond);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vfr-g7);
	margin-bottom: 14px;
}

.vfr-sd-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 700 16px/1 var(--vfr-cond);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vfr-blue);
	text-decoration: none;
	border-bottom: 2px solid currentColor;
	padding-bottom: 3px;
}

a.vfr-sd-link:hover,
a:hover > .vfr-sd-link {
	color: var(--vfr-red-text);
}

.vfr-sd-link--w {
	color: var(--vfr-white);
}

a.vfr-sd-link--w:hover,
a:hover > .vfr-sd-link--w {
	color: #FFD5DA;
}

.vfr-sd-tag {
	display: inline-flex;
	align-items: center;
	height: 26px;
	padding: 0 10px;
	font: 700 12px/1 var(--vfr-cond);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	background: var(--vfr-navy);
	color: var(--vfr-white);
	white-space: nowrap;
}

.vfr-sd-tag--red {
	background: var(--vfr-red);
}

.vfr-sd-tag--live {
	animation: vfr-sd-pulse 1.8s ease-in-out infinite;
}

@keyframes vfr-sd-pulse {
	50% {
		opacity: 0.55;
	}
}

.vfr-sd-metaline {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}

.vfr-sd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	font: 700 19px/1 var(--vfr-cond);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;
	border: 2px solid transparent;
	cursor: pointer;
	white-space: nowrap;
	border-radius: 2px;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.vfr-sd-btn--red {
	background: var(--vfr-red);
	color: var(--vfr-white);
	border-color: var(--vfr-red);
}

.vfr-sd-btn--red:hover {
	background: #C9172B;
	border-color: #C9172B;
	color: var(--vfr-white);
}

.vfr-sd-btn--ghost {
	background: transparent;
	color: var(--vfr-ink);
	border-color: var(--vfr-ink);
}

.vfr-sd-btn--ghost:hover {
	background: var(--vfr-ink);
	color: var(--vfr-white);
}

.vfr-sd-btn--ghost-w {
	background: transparent;
	color: var(--vfr-white);
	border-color: var(--vfr-white);
}

.vfr-sd-btn--ghost-w:hover {
	background: var(--vfr-white);
	color: var(--vfr-navy);
}

.vfr-sd-btn--sm {
	min-height: 44px;
	padding: 0 18px;
	font-size: 16px;
}

.vfr-sd-btn--lg {
	min-height: 60px;
	padding: 0 32px;
	font-size: 21px;
}

/* Crests: white circle, crest inside; dashed placeholder without an image. */
.vfr-sd-crest {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--vfr-white);
	overflow: hidden;
}

.vfr-sd-crest img {
	width: 52px;
	height: 52px;
	object-fit: contain;
}

.vfr-sd-crest--ph {
	background: var(--vfr-dark-ph);
	border: 1px dashed rgba(255, 255, 255, 0.4);
	font: 700 11px/1 var(--vfr-cond);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vfr-dark-text);
}

.vfr-sd-crest--lg {
	width: 136px;
	height: 136px;
}

.vfr-sd-crest--lg img {
	width: 112px;
	height: 112px;
}

.vfr-sd-crest--lg.vfr-sd-crest--ph {
	font-size: 16px;
}

.vfr-sd-crest--sm {
	width: 28px;
	height: 28px;
	background: transparent;
}

.vfr-sd-crest--sm img {
	width: 24px;
	height: 24px;
}

.vfr-sd-crest--sm.vfr-sd-crest--ph {
	font-size: 0;
	border-color: var(--vfr-g3);
	background: var(--vfr-g1);
}

.vfr-sd-empty {
	margin-top: 10px;
	font-size: 15px;
	color: var(--vfr-g7);
}

.vfr-sd--dark.vfr-sd--empty,
.vfr-sd-mc.vfr-sd--empty {
	background: var(--vfr-navy);
	color: var(--vfr-white);
	padding: 32px;
}

.vfr-sd--dark.vfr-sd--empty .vfr-sd-empty,
.vfr-sd-mc.vfr-sd--empty .vfr-sd-empty {
	color: var(--vfr-dark-text);
}

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

.vfr-sd-mc {
	position: relative;
	color: var(--vfr-white);
}

.vfr-sd-mc--section {
	background: var(--vfr-navy);
	overflow: hidden;
}

.vfr-sd-mc__lines {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.vfr-sd-mc__lines i {
	position: absolute;
	width: 720px;
	height: 720px;
	border: 2px solid rgba(255, 255, 255, 0.09);
	border-radius: 50%;
}

.vfr-sd-mc__lines i:first-child {
	left: -360px;
	top: -250px;
}

.vfr-sd-mc__lines i:last-child {
	right: -360px;
	bottom: -420px;
}

.vfr-sd-mc__inner {
	position: relative;
}

.vfr-sd-mc--section .vfr-sd-mc__inner {
	max-width: var(--vfr-wrap);
	margin: 0 auto;
	padding: 0 var(--vfr-gutter);
}

.vfr-sd-mc__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--vfr-dark-line);
	padding: 22px 0;
}

/* Stage: upcoming match in focus, previous/next match as quieter side panels. */
.vfr-sd-mc__stage {
	display: grid;
	grid-template-columns: 1fr 2.1fr 1fr;
	align-items: stretch;
}

.vfr-sd-mc__side {
	padding: 44px 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	color: var(--vfr-white);
	text-decoration: none;
	opacity: 0.78;
	transition: opacity 0.2s;
}

a.vfr-sd-mc__side:hover {
	opacity: 1;
	color: var(--vfr-white);
}

.vfr-sd-mc__label {
	font: 700 13px/1 var(--vfr-cond);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--vfr-dark-muted);
}

.vfr-sd-mc__mini {
	display: flex;
	gap: 10px;
}

.vfr-sd-mc__result {
	font: 800 56px/1 var(--vfr-cond);
	color: var(--vfr-white);
}

.vfr-sd-mc__result i {
	font-style: normal;
	margin: 0 8px;
	color: var(--vfr-red);
}

.vfr-sd-mc__result--time {
	color: var(--vfr-dark-text);
}

.vfr-sd-mc__pair {
	font: 700 18px/1.15 var(--vfr-cond);
	text-transform: uppercase;
	color: var(--vfr-dark-text);
}

.vfr-sd-mc__main {
	background: var(--vfr-navy-2);
	border-top: 4px solid var(--vfr-red);
	padding: 44px 48px 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 26px;
	text-align: center;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
	position: relative;
	z-index: 1;
}

.vfr-sd-mc__main .vfr-sd-metaline {
	justify-content: center;
}

.vfr-sd-mc__meta {
	font: 600 14px/1 var(--vfr-sans);
	color: var(--vfr-dark-text);
}

.vfr-sd-mc__teams {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.vfr-sd-mc__team {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}

.vfr-sd-mc__team b {
	font: 700 32px/1 var(--vfr-cond);
	text-transform: uppercase;
}

.vfr-sd-mc__vs {
	font: 800 40px/1 var(--vfr-cond);
	color: var(--vfr-dark-muted);
	text-transform: uppercase;
}

.vfr-sd-mc__when {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.vfr-sd-mc__kick {
	font: 800 96px/1 var(--vfr-cond);
	letter-spacing: -0.01em;
}

.vfr-sd-mc__when span {
	font: 700 18px/1 var(--vfr-cond);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--vfr-dark-text);
}

.vfr-sd-mc__count {
	display: flex;
	gap: 10px;
}

.vfr-sd-mc__count div {
	min-width: 84px;
	padding: 12px 10px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.vfr-sd-mc__count b {
	font: 800 40px/1 var(--vfr-cond);
	font-variant-numeric: tabular-nums;
}

.vfr-sd-mc__count span {
	font: 700 12px/1 var(--vfr-cond);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--vfr-dark-muted);
}

.vfr-sd-mc__count.is-past {
	opacity: 0.5;
}

.vfr-sd-mc__cta {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}

.vfr-sd-mc__empty {
	font: 700 24px/1.15 var(--vfr-cond);
	text-transform: uppercase;
	color: var(--vfr-dark-text);
}

/* Strip of the following fixtures under the stage. */
.vfr-sd-mc__strip {
	display: grid;
	grid-template-columns: repeat(var(--vfr-strip-cols, 3), minmax(0, 1fr));
	border-top: 1px solid var(--vfr-dark-line);
}

.vfr-sd-mc__strip-item {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-decoration: none;
	color: var(--vfr-white);
	border-right: 1px solid var(--vfr-dark-line);
}

.vfr-sd-mc__strip-item:first-child {
	padding-left: 0;
}

.vfr-sd-mc__strip-item:last-child {
	padding-right: 0;
	border-right: 0;
}

.vfr-sd-mc__strip-meta {
	font: 700 13px/1 var(--vfr-cond);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vfr-dark-muted);
}

.vfr-sd-mc__strip-item--home .vfr-sd-mc__strip-meta {
	color: var(--vfr-home-tag);
}

.vfr-sd-mc__strip-pair {
	font: 700 20px/1.1 var(--vfr-cond);
	text-transform: uppercase;
}

a.vfr-sd-mc__strip-item:hover .vfr-sd-mc__strip-pair {
	color: var(--vfr-dark-text);
}

/* --- Next match card ---------------------------------------------------- */

.vfr-sd-next {
	background: var(--vfr-white);
	color: var(--vfr-ink);
	padding: 24px;
	border-radius: 2px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.vfr-sd-next--dark {
	background: var(--vfr-navy);
	color: var(--vfr-white);
}

.vfr-sd-next__meta {
	font: 600 13px/1 var(--vfr-sans);
	color: var(--vfr-g7);
}

.vfr-sd-next--dark .vfr-sd-next__meta {
	color: var(--vfr-dark-text);
}

.vfr-sd-next__pair {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.vfr-sd-next__teams {
	font: 800 32px/1 var(--vfr-cond);
	text-transform: uppercase;
}

.vfr-sd-next__crest,
.vfr-sd-next .vfr-sd-crest {
	width: 44px;
	height: 44px;
	background: transparent;
}

.vfr-sd-next .vfr-sd-crest img {
	width: 44px;
	height: 44px;
}

.vfr-sd-next .vfr-sd-crest--ph {
	font-size: 0;
	border-color: var(--vfr-g3);
}

.vfr-sd-next__kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	border-top: 1px solid var(--vfr-g3);
	padding-top: 14px;
}

.vfr-sd-next--dark .vfr-sd-next__kpis {
	border-top-color: var(--vfr-dark-line);
}

.vfr-sd-kpi {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.vfr-sd-kpi b {
	font: 800 36px/1 var(--vfr-cond);
	letter-spacing: -0.02em;
}

.vfr-sd-kpi span {
	font: 700 14px/1.2 var(--vfr-cond);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vfr-g7);
}

.vfr-sd-next--dark .vfr-sd-kpi span {
	color: var(--vfr-dark-text);
}

.vfr-sd-next__buttons {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.vfr-sd-next--dark .vfr-sd-btn--ghost {
	color: var(--vfr-white);
	border-color: var(--vfr-white);
}

.vfr-sd-next--dark .vfr-sd-btn--ghost:hover {
	background: var(--vfr-white);
	color: var(--vfr-navy);
}

/* --- Last result panel -------------------------------------------------- */

.vfr-sd-last {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 32px;
	border-radius: 2px;
	text-align: center;
	text-decoration: none;
	background: var(--vfr-navy);
	color: var(--vfr-white);
}

.vfr-sd-last--light {
	background: var(--vfr-g1);
	color: var(--vfr-ink);
}

.vfr-sd-last--light .vfr-sd-mc__label {
	color: var(--vfr-g7);
}

.vfr-sd-last--light .vfr-sd-mc__result,
.vfr-sd-last--light .vfr-sd-mc__pair {
	color: var(--vfr-ink);
}

.vfr-sd-last--light .vfr-sd-link--w {
	color: var(--vfr-blue);
}

.vfr-sd-last--light .vfr-sd-crest--ph {
	background: var(--vfr-white);
	border-color: var(--vfr-g3);
	color: var(--vfr-g5);
}

/* --- Schedule ----------------------------------------------------------- */

.vfr-sd-month {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 32px 0 8px;
}

.vfr-sd-month:first-of-type {
	margin-top: 0;
}

.vfr-sd-month b {
	font: 800 28px/1 var(--vfr-cond);
	text-transform: uppercase;
}

.vfr-sd-month i {
	flex: 1;
	height: 1px;
	background: var(--vfr-g3);
}

.vfr-sd-rows {
	display: flex;
	flex-direction: column;
}

.vfr-sd-row {
	display: grid;
	grid-template-columns: 140px 1fr 110px 1fr 150px;
	align-items: center;
	gap: 20px;
	padding: 16px 0;
	border-top: 1px solid var(--vfr-g3);
	text-decoration: none;
	color: var(--vfr-ink);
}

.vfr-sd-row:last-child {
	border-bottom: 1px solid var(--vfr-g3);
}

.vfr-sd-schedule--nolink .vfr-sd-row,
.vfr-sd-row:not([href]) {
	grid-template-columns: 140px 1fr 110px 1fr;
}

.vfr-sd-row__d {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.vfr-sd-row__d b {
	font: 700 18px/1 var(--vfr-cond);
	text-transform: uppercase;
}

.vfr-sd-row__d span {
	font-size: 13px;
	color: var(--vfr-g7);
}

.vfr-sd-row__t {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 700 22px/1 var(--vfr-cond);
	text-transform: uppercase;
}

.vfr-sd-row__t--away {
	justify-content: flex-end;
	text-align: right;
}

.vfr-sd-row--home .vfr-sd-row__t--own {
	color: var(--vfr-blue);
}

.vfr-sd-row__mid {
	text-align: center;
}

.vfr-sd-res {
	font: 800 32px/1 var(--vfr-cond);
	font-variant-numeric: tabular-nums;
}

.vfr-sd-res--w {
	color: var(--vfr-win);
}

.vfr-sd-res--l {
	color: var(--vfr-loss);
}

.vfr-sd-res--d {
	color: var(--vfr-draw);
}

.vfr-sd-res--live {
	color: var(--vfr-red);
	animation: vfr-sd-pulse 1.8s ease-in-out infinite;
}

.vfr-sd-row__kick {
	display: block;
	font: 800 24px/1 var(--vfr-cond);
	text-align: center;
	color: var(--vfr-blue);
}

.vfr-sd-row__kick--off {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vfr-g7);
}

.vfr-sd-row__act {
	display: flex;
	justify-content: flex-end;
}

.vfr-sd-row--next {
	background: var(--vfr-next-bg);
	margin: 0 -16px;
	padding: 16px;
}

.vfr-sd-row--cancelled .vfr-sd-row__t {
	color: var(--vfr-g5);
	text-decoration: line-through;
}

/* Compact variant: the team page's navy section. */
.vfr-sd-schedule--compact {
	color: var(--vfr-white);
}

.vfr-sd-schedule--compact .vfr-sd-meta {
	color: var(--vfr-dark-text);
}

.vfr-sd-schedule--compact .vfr-sd-row {
	grid-template-columns: 150px 1fr 120px 1fr 160px;
	gap: 20px;
	padding: 18px 0;
	border-color: var(--vfr-dark-line);
	color: var(--vfr-white);
}

.vfr-sd-schedule--compact .vfr-sd-row:not([href]) {
	grid-template-columns: 150px 1fr 120px 1fr;
}

.vfr-sd-schedule--compact .vfr-sd-row__d span {
	color: var(--vfr-dark-text);
}

.vfr-sd-schedule--compact .vfr-sd-row__t {
	color: var(--vfr-dark-text);
}

.vfr-sd-schedule--compact .vfr-sd-row__t--own,
.vfr-sd-schedule--compact .vfr-sd-row--home .vfr-sd-row__t--own {
	color: var(--vfr-white);
}

.vfr-sd-schedule--compact .vfr-sd-res {
	font-size: 34px;
	letter-spacing: 0.02em;
	color: var(--vfr-white);
}

.vfr-sd-schedule--compact .vfr-sd-res--live {
	color: var(--vfr-red);
}

.vfr-sd-schedule--compact .vfr-sd-row__kick {
	font-size: 26px;
	color: var(--vfr-white);
}

.vfr-sd-schedule--compact .vfr-sd-row__kick--off {
	color: var(--vfr-dark-muted);
}

.vfr-sd-schedule--compact .vfr-sd-row--next {
	background: rgba(229, 42, 61, 0.14);
}

.vfr-sd-schedule--compact .vfr-sd-row--next .vfr-sd-row__d b {
	color: var(--vfr-home-tag);
}

.vfr-sd-schedule--compact .vfr-sd-crest--sm.vfr-sd-crest--ph {
	background: var(--vfr-dark-ph);
	border-color: rgba(255, 255, 255, 0.4);
}

/* --- Standings ---------------------------------------------------------- */

.vfr-sd-tscroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.vfr-sd-std {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	color: inherit;
}

.vfr-sd-std th {
	text-align: left;
	font: 700 13px/1 var(--vfr-cond);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vfr-g7);
	padding: 12px 10px;
	border-bottom: 2px solid var(--vfr-ink);
	background: transparent;
}

.vfr-sd-std th abbr {
	text-decoration: none;
	border: 0;
}

.vfr-sd-std td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--vfr-g3);
	vertical-align: middle;
	background: transparent;
}

.vfr-sd-std td.vfr-sd-std__n {
	font: 800 20px/1 var(--vfr-cond);
	text-align: center;
	width: 2.5em;
}

.vfr-sd-std th.vfr-sd-std__n {
	text-align: center;
}

.vfr-sd-std__team {
	white-space: nowrap;
}

.vfr-sd-std__team .vfr-sd-crest {
	vertical-align: middle;
	margin-right: 8px;
}

.vfr-sd-std__team a {
	color: inherit;
	text-decoration: none;
}

.vfr-sd-std__team a:hover {
	color: var(--vfr-blue);
}

.vfr-sd-std td.vfr-sd-std__r,
.vfr-sd-std th.vfr-sd-std__r {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.vfr-sd-std .vfr-sd-std__pts {
	font: 800 20px/1 var(--vfr-cond);
}

.vfr-sd-std tr.vfr-sd-std__row--me td {
	background: var(--vfr-me-bg);
	font-weight: 700;
}

.vfr-sd-std__legend {
	margin-top: 12px;
	font-size: 13px;
	color: var(--vfr-g7);
}

/* Dark variant: the team page's navy section. */
.vfr-sd-standings--dark {
	color: var(--vfr-white);
}

.vfr-sd-standings--dark .vfr-sd-meta {
	color: var(--vfr-dark-text);
}

.vfr-sd-standings--dark .vfr-sd-std th {
	color: var(--vfr-dark-text);
	border-bottom-color: rgba(255, 255, 255, 0.4);
}

.vfr-sd-standings--dark .vfr-sd-std td {
	border-bottom-color: var(--vfr-dark-line);
}

.vfr-sd-standings--dark .vfr-sd-std tr.vfr-sd-std__row--me td {
	background: rgba(255, 255, 255, 0.12);
}

.vfr-sd-standings--dark .vfr-sd-std__team a:hover {
	color: var(--vfr-dark-text);
}

.vfr-sd-standings--dark .vfr-sd-std__legend {
	color: var(--vfr-dark-text);
}

.vfr-sd-standings--dark .vfr-sd-crest--sm.vfr-sd-crest--ph {
	background: var(--vfr-dark-ph);
	border-color: rgba(255, 255, 255, 0.4);
}

/* --- Responsive --------------------------------------------------------- */

@media (max-width: 1100px) {
	.vfr-sd-mc__stage {
		grid-template-columns: 1fr 1fr;
	}

	.vfr-sd-mc__main {
		grid-column: 1 / -1;
		order: -1;
	}

	.vfr-sd-mc__side + .vfr-sd-mc__side {
		border-left: 1px solid var(--vfr-dark-line);
	}
}

@media (max-width: 720px) {
	.vfr-sd {
		--vfr-gutter: 16px;
	}

	.vfr-sd-mc__main {
		padding: 32px 16px 36px;
		margin: 0 calc(-1 * var(--vfr-gutter));
	}

	.vfr-sd-mc--embed .vfr-sd-mc__main {
		margin: 0;
	}

	.vfr-sd-mc__teams {
		gap: 8px;
	}

	.vfr-sd-crest--lg {
		width: 88px;
		height: 88px;
	}

	.vfr-sd-crest--lg img {
		width: 72px;
		height: 72px;
	}

	.vfr-sd-mc__team b {
		font-size: 20px;
	}

	.vfr-sd-mc__vs {
		font-size: 24px;
	}

	.vfr-sd-mc__kick {
		font-size: 64px;
	}

	.vfr-sd-mc__count div {
		min-width: 70px;
	}

	.vfr-sd-mc__count b {
		font-size: 32px;
	}

	.vfr-sd-mc__side {
		padding: 28px 8px;
	}

	.vfr-sd-mc__result {
		font-size: 40px;
	}

	.vfr-sd-mc__mini .vfr-sd-crest {
		width: 48px;
		height: 48px;
	}

	.vfr-sd-mc__mini .vfr-sd-crest img {
		width: 38px;
		height: 38px;
	}

	.vfr-sd-mc__strip {
		grid-template-columns: 1fr;
	}

	.vfr-sd-mc__strip-item {
		padding: 16px 0;
		border-right: 0;
		border-bottom: 1px solid var(--vfr-dark-line);
	}

	.vfr-sd-mc__strip-item:last-child {
		border-bottom: 0;
	}

	.vfr-sd-row,
	.vfr-sd-row:not([href]),
	.vfr-sd-schedule--compact .vfr-sd-row,
	.vfr-sd-schedule--compact .vfr-sd-row:not([href]) {
		grid-template-columns: 1fr auto 1fr;
		gap: 10px;
	}

	.vfr-sd-row__d,
	.vfr-sd-row__act {
		grid-column: 1 / -1;
	}

	.vfr-sd-row__t {
		font-size: 18px;
	}

	.vfr-sd-row__act {
		justify-content: flex-start;
	}

	.vfr-sd-next__teams {
		font-size: 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vfr-sd-tag--live,
	.vfr-sd-res--live {
		animation: none;
	}
}
