/**
 * Slutspillet Data Engine — frontend-komponenter.
 * Mørk sportsdata-identitet. Isoleret .sde-namespace mod Elementor/tema.
 *
 * Designsystem (fase 17):
 *  - Tokens defineres på :root OG på sde-virtual, så ALLE komponenter arver
 *    dem konsistent uanset om de står i Elementor eller på en virtuel side.
 *  - Signatur: data-rytme (tabulære tal), live-puls i signalgrøn, og en
 *    diskret accent-kant på live/aktive elementer.
 */

:root {
	--sde-bg: #081320;
	--sde-surface: #11161D;
	--sde-surface-2: #161D26;
	--sde-border: #1D2A36;
	--sde-text: #FFFFFF;
	--sde-muted: #9BA8B5;
	--sde-live: #22C55E;
	--sde-data: #00B8F1;
	--sde-warning: #FACC15;
	--sde-danger: #EF4444;
	--sde-neutral: #6B7280;
	--sde-radius: 14px;
	--sde-radius-sm: 8px;
	--sde-gap: 16px;
	--sde-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--sde-font-display: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Alle plugin-komponenter deler tokens og box-sizing — uanset kontekst. */
[class^="sde-"],
[class*=" sde-"] {
	box-sizing: border-box;
}

.sde-livescore,
.sde-standings,
.sde-fixture-hero,
.sde-match-cards,
.sde-livebar,
.sde-league-dir,
.sde-sport-nav,
.sde-breadcrumbs,
.sde-league-nav,
.sde-timeline,
.sde-stat-bars,
.sde-lineups,
.sde-virtual-page {
	color: var(--sde-text);
	font-family: var(--sde-font);
}

/* Tabulære tal — signatur: fast optisk rytme i scores, minutter, point. */
.sde-num {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
	letter-spacing: 0.01em;
}

/* Virtuelle sider: konsistent vertikal rytme og titel-typografi. */
.sde-page__title {
	font-family: var(--sde-font-display);
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 20px;
	color: var(--sde-text);
}

.sde-section__title {
	font-family: var(--sde-font-display);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 32px 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--sde-border);
	color: var(--sde-text);
	scroll-margin-top: 80px;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Lille accent-markør foran sektionstitler — diskret data-kant. */
.sde-section__title::before {
	content: "";
	width: 3px;
	height: 1em;
	background: var(--sde-live);
	border-radius: 2px;
	flex-shrink: 0;
}

/* ---------- Livescore ---------- */
.sde-livescore__group {
	background: var(--sde-surface);
	border: 1px solid var(--sde-border);
	border-radius: var(--sde-radius);
	margin-bottom: var(--sde-gap);
	overflow: hidden;
}

.sde-livescore__league {
	margin: 0;
	padding: 12px 16px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--sde-muted);
	background: rgba(255, 255, 255, 0.02);
	border-bottom: 1px solid var(--sde-border);
}

.sde-fixture-row {
	display: grid;
	grid-template-columns: 48px 1fr auto 1fr;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-bottom: 1px solid var(--sde-border);
}

.sde-fixture-row:last-child {
	border-bottom: 0;
}

.sde-fixture-row__status {
	font-size: 12px;
	color: var(--sde-muted);
	font-variant-numeric: tabular-nums;
}

.sde-fixture-row--live .sde-fixture-row__status {
	color: var(--sde-live);
	font-weight: 600;
}

.sde-fixture-row__team {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.sde-fixture-row__team--away {
	flex-direction: row-reverse;
	text-align: right;
}

.sde-fixture-row__name {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14px;
}

.sde-fixture-row__score {
	font-weight: 700;
	font-size: 15px;
	white-space: nowrap;
}

.sde-logo {
	width: 24px;
	height: 24px;
	object-fit: contain;
	flex-shrink: 0;
}

.sde-logo--lg {
	width: 56px;
	height: 56px;
}

/* ---------- Standings ---------- */
.sde-standings-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--sde-surface);
	border: 1px solid var(--sde-border);
	border-radius: var(--sde-radius);
	overflow: hidden;
	table-layout: fixed;
}

.sde-standings-table th,
.sde-standings-table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid var(--sde-border);
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sde-standings-table th {
	color: var(--sde-muted);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.sde-col-num,
.sde-col-rank {
	text-align: center;
	width: 44px;
}

.sde-col-form {
	width: 120px;
}

.sde-standings-table .sde-col-team {
	width: auto;
}

/* Hold-cellen: logo + navn på linje, uden at bryde tabel-kolonnen */
.sde-standings-table td.sde-col-team {
	white-space: nowrap;
}
.sde-standings-table td.sde-col-team .sde-logo,
.sde-standings-table td.sde-col-team img {
	vertical-align: middle;
	margin-right: 8px;
}
.sde-standings-table td.sde-col-team .sde-fixture-row__name {
	vertical-align: middle;
}

.sde-points {
	font-weight: 800;
	color: var(--sde-data);
	font-family: var(--sde-font-display);
}

.sde-row--highlight {
	background: rgba(34, 197, 94, 0.08);
}

.sde-standings-table tbody tr {
	transition: background 0.12s ease;
}
.sde-standings-table tbody tr:hover {
	background: rgba(255, 255, 255, 0.025);
}
.sde-standings-table tbody tr:last-child td {
	border-bottom: none;
}

/* Form-badges */
.sde-form {
	display: inline-flex;
	gap: 3px;
}

.sde-form__dot {
	width: 18px;
	height: 18px;
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: 700;
	color: #081320;
}

.sde-form--win { background: var(--sde-live); }
.sde-form--draw { background: var(--sde-muted); }
.sde-form--loss { background: var(--sde-danger); color: #fff; }

/* ---------- Fixture hero ---------- */
.sde-fixture-hero {
	position: relative;
	background:
		radial-gradient(120% 100% at 50% 0%, rgba(0, 184, 241, 0.06), transparent 60%),
		var(--sde-surface);
	border: 1px solid var(--sde-border);
	border-radius: var(--sde-radius);
	padding: 28px 24px;
	text-align: center;
	overflow: hidden;
}

.sde-fixture-hero__league {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--sde-muted);
	margin-bottom: 22px;
}

.sde-fixture-hero__teams {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
}

.sde-fixture-hero__team {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.sde-fixture-hero__team img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.sde-fixture-hero__name {
	font-family: var(--sde-font-display);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.sde-fixture-hero__score {
	font-family: var(--sde-font-display);
	font-size: clamp(2.4rem, 8vw, 3.4rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	gap: 14px;
	line-height: 1;
}

.sde-fixture-hero__sep {
	color: var(--sde-border);
	font-weight: 400;
}

.sde-fixture-hero__status {
	margin-top: 18px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--sde-muted);
}

/* Live-status pulser diskret i signalgrøn. */
.sde-fixture-hero--live .sde-fixture-hero__status,
.sde-fixture-hero__status--live {
	color: var(--sde-live);
}
.sde-fixture-hero__status--live::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 7px;
	border-radius: 50%;
	background: var(--sde-live);
	animation: sde-pulse 1.6s ease-in-out infinite;
	vertical-align: middle;
}

@keyframes sde-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.4; transform: scale(0.7); }
}

@media (prefers-reduced-motion: reduce) {
	.sde-fixture-hero__status--live::before { animation: none; }
}

/* ---------- Empty / stale ---------- */
.sde-empty {
	background: var(--sde-surface);
	border: 1px solid var(--sde-border);
	border-radius: var(--sde-radius);
	padding: 24px;
	text-align: center;
	color: var(--sde-muted);
	font-size: 14px;
}

.sde-stale {
	font-size: 11px;
	color: var(--sde-muted);
	text-align: right;
	padding: 6px 4px 0;
	font-style: italic;
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	.sde-fixture-row {
		grid-template-columns: 40px 1fr auto 1fr;
		padding: 10px 12px;
	}

	.sde-fixture-row__name {
		font-size: 13px;
	}

	.sde-fixture-hero__score {
		font-size: 26px;
	}

	.sde-logo--lg {
		width: 44px;
		height: 44px;
	}
}

/* ---------- Odds ---------- */
.sde-odds-grid {
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 16px;
	color: var(--sde-text, #FFFFFF);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.sde-odds-grid__market {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--sde-muted, #9BA8B5);
	margin-bottom: 10px;
}

.sde-odds-row {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	border-bottom: 1px solid var(--sde-border, #1D2A36);
	font-size: 14px;
}

.sde-odds-row:last-child {
	border-bottom: 0;
}

.sde-odds-row__book {
	color: var(--sde-muted, #9BA8B5);
	font-size: 13px;
}

.sde-odds-row__value {
	font-weight: 700;
	color: var(--sde-data, #00B8F1);
	text-decoration: none;
	padding: 4px 10px;
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: 8px;
	font-variant-numeric: tabular-nums;
}

a.sde-odds-row__value:hover {
	border-color: var(--sde-data, #00B8F1);
}

.sde-odds-grid__updated {
	font-size: 11px;
	color: var(--sde-muted, #9BA8B5);
	font-style: italic;
	margin-top: 8px;
}

.sde-compliance {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--sde-border, #1D2A36);
	font-size: 11px;
	color: var(--sde-muted, #9BA8B5);
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

.sde-compliance__18plus {
	background: var(--sde-danger, #EF4444);
	color: #fff;
	font-weight: 700;
	border-radius: 4px;
	padding: 2px 6px;
	font-size: 11px;
}

.sde-empty--odds {
	font-size: 13px;
	padding: 16px;
}

/* ---------- Elementor / tema-kompatibilitet ---------- */
/* Reset så temaets globale styles ikke bryder komponenterne. */
.sde-livescore a,
.sde-standings a,
.sde-fixture-hero a,
.sde-odds-grid a {
	box-shadow: none;
	text-decoration: none;
}

.sde-livescore img,
.sde-standings img,
.sde-fixture-hero img,
.sde-odds-grid img {
	max-width: none;
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Sørg for at tabeller ikke arver tema-styling. */
.sde-standings-table,
.sde-standings-table th,
.sde-standings-table td {
	background-image: none;
}

/* Respektér brugerens reduced-motion-præference. */
@media (prefers-reduced-motion: reduce) {
	.sde-fixture-row--live .sde-fixture-row__status {
		animation: none;
	}
}

/* ---------- Virtuelle sider (routing) ---------- */
.sde-virtual-page {
	background: var(--sde-bg, #081320);
	color: var(--sde-text, #FFFFFF);
	min-height: 60vh;
	--sde-bg: #081320;
	--sde-surface: #11161D;
	--sde-border: #1D2A36;
	--sde-text: #FFFFFF;
	--sde-muted: #9BA8B5;
	--sde-live: #22C55E;
	--sde-data: #00B8F1;
	--sde-warning: #FACC15;
	--sde-danger: #EF4444;
	--sde-radius: 14px;
	--sde-gap: 16px;
}

.sde-virtual-page__inner {
	max-width: 1040px;
	margin: 0 auto;
	padding: 36px 20px 72px;
}

.sde-virtual-page .sde-empty {
	color: var(--sde-muted, #9BA8B5);
	padding: 24px 0;
}

/* Timeline */
.sde-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	overflow: hidden;
}

.sde-timeline__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	border-bottom: 1px solid var(--sde-border, #1D2A36);
	color: var(--sde-text, #FFFFFF);
	font-size: 14px;
}

.sde-timeline__item:last-child { border-bottom: 0; }
.sde-timeline__item--away { flex-direction: row-reverse; text-align: right; }
.sde-timeline__minute { color: var(--sde-muted, #9BA8B5); min-width: 36px; font-variant-numeric: tabular-nums; }
.sde-timeline__assist { color: var(--sde-muted, #9BA8B5); font-size: 12px; }

/* Statistik-bjælker */
.sde-stat-bars {
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 16px;
}

.sde-stat-bars__row {
	display: grid;
	grid-template-columns: 48px 1fr 48px;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	color: var(--sde-text, #FFFFFF);
	font-size: 14px;
}

.sde-stat-bars__label {
	text-align: center;
	color: var(--sde-muted, #9BA8B5);
	font-size: 12px;
}

.sde-stat-bars__row .sde-num:first-child { text-align: left; }
.sde-stat-bars__row .sde-num:last-child { text-align: right; }

/* Liga-liste på sportsforside */
.sde-league-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}

.sde-league-list a {
	display: block;
	padding: 14px 16px;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	color: var(--sde-text, #FFFFFF);
	text-decoration: none;
}

.sde-league-list a:hover { border-color: var(--sde-data, #00B8F1); }

/* ---------- Tving mørk baggrund på virtuelle sider (kun .sde-virtual) ---------- */
/* Dækker temaets ydre wrappers, så ingen hvide bånd vises over/under indhold. */
body.sde-virtual {
	background-color: #081320 !important;
}

body.sde-virtual #page,
body.sde-virtual .site,
body.sde-virtual #content,
body.sde-virtual .site-content,
body.sde-virtual #main,
body.sde-virtual .site-main,
body.sde-virtual .elementor-location-footer,
body.sde-virtual footer.elementor,
body.sde-virtual .page-content {
	background-color: #081320 !important;
}

/* ---------- Kampcenter-faner (ren CSS, ingen JS) ---------- */
.sde-tabs { margin-top: 16px; }
.sde-tabs__radio { position: absolute; opacity: 0; pointer-events: none; }
.sde-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	border-bottom: 1px solid var(--sde-border, #1D2A36);
	margin-bottom: 16px;
}
.sde-tabs__label {
	padding: 10px 16px;
	cursor: pointer;
	color: var(--sde-muted, #9BA8B5);
	font-weight: 600;
	font-size: 14px;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	user-select: none;
}
.sde-tabs__label:hover { color: var(--sde-text, #FFFFFF); }
.sde-tabs__panel { display: none; }

/* Vis panel hvis tilhørende radio er valgt (rækkefølge matcher tabs). */
.sde-tabs__radio--kamp:checked ~ .sde-tabs__panels .sde-tabs__panel--kamp,
.sde-tabs__radio--statistik:checked ~ .sde-tabs__panels .sde-tabs__panel--statistik,
.sde-tabs__radio--opstilling:checked ~ .sde-tabs__panels .sde-tabs__panel--opstilling,
.sde-tabs__radio--h2h:checked ~ .sde-tabs__panels .sde-tabs__panel--h2h,
.sde-tabs__radio--odds:checked ~ .sde-tabs__panels .sde-tabs__panel--odds,
.sde-tabs__radio--stilling:checked ~ .sde-tabs__panels .sde-tabs__panel--stilling {
	display: block;
}

/* Marker aktiv fane-label (grøn) */
.sde-tabs__radio--kamp:checked ~ .sde-tabs__nav .sde-tabs__label--kamp,
.sde-tabs__radio--statistik:checked ~ .sde-tabs__nav .sde-tabs__label--statistik,
.sde-tabs__radio--opstilling:checked ~ .sde-tabs__nav .sde-tabs__label--opstilling,
.sde-tabs__radio--h2h:checked ~ .sde-tabs__nav .sde-tabs__label--h2h,
.sde-tabs__radio--odds:checked ~ .sde-tabs__nav .sde-tabs__label--odds,
.sde-tabs__radio--stilling:checked ~ .sde-tabs__nav .sde-tabs__label--stilling {
	color: var(--sde-text, #FFFFFF);
	border-bottom-color: var(--sde-live, #22C55E);
}

/* Statistik-bjælker visuel track */
.sde-stat-bars__track {
	height: 6px;
	background: var(--sde-danger, #EF4444);
	border-radius: 3px;
	overflow: hidden;
	margin: 4px 0 12px;
}
.sde-stat-bars__fill {
	display: block;
	height: 100%;
	background: var(--sde-live, #22C55E);
}
.sde-stat-bars__val { min-width: 48px; }
.sde-stat-bars__val:last-child { text-align: right; }

/* Opstillinger */
.sde-lineups {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.sde-lineups__col {
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 12px 16px;
}
.sde-lineups__team { color: var(--sde-text, #FFFFFF); margin: 0 0 8px; font-size: 15px; }
.sde-lineups__formation { color: var(--sde-data, #00B8F1); font-size: 12px; font-weight: 600; }
.sde-lineups__list { list-style: none; margin: 0 0 8px; padding: 0; }
.sde-lineups__player { color: var(--sde-text, #FFFFFF); padding: 4px 0; font-size: 14px; }
.sde-lineups__num { display: inline-block; min-width: 22px; color: var(--sde-muted, #9BA8B5); font-variant-numeric: tabular-nums; }
.sde-lineups__pos { color: var(--sde-muted, #9BA8B5); font-size: 12px; }
.sde-lineups__bench-label { color: var(--sde-muted, #9BA8B5); font-size: 12px; text-transform: uppercase; margin: 8px 0 4px; letter-spacing: 0.04em; }
@media (max-width: 600px) { .sde-lineups { grid-template-columns: 1fr; } }

/* Head-to-head */
.sde-h2h { list-style: none; margin: 0; padding: 0; }
.sde-h2h__row {
	display: grid;
	grid-template-columns: 90px 1fr auto 1fr;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-bottom: 1px solid var(--sde-border, #1D2A36);
	color: var(--sde-text, #FFFFFF);
	font-size: 14px;
}
.sde-h2h__row:last-child { border-bottom: 0; }
.sde-h2h__teams--away { text-align: right; }
.sde-h2h__score { font-weight: 700; font-variant-numeric: tabular-nums; }
.sde-fixture-module { margin: 8px 0; }

/* ---------- Forside-komponenter (fase 15) ---------- */
/* Sport-nav topbar */
.sde-sport-nav {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 8px 0;
	-webkit-overflow-scrolling: touch;
}
.sde-sport-nav__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: 999px;
	color: var(--sde-text, #FFFFFF);
	text-decoration: none;
	white-space: nowrap;
	font-weight: 600;
	font-size: 14px;
}
.sde-sport-nav__item--active {
	background: var(--sde-live, #22C55E);
	border-color: var(--sde-live, #22C55E);
	color: #04210f;
}
.sde-sport-nav__count {
	background: rgba(255,255,255,0.12);
	border-radius: 999px;
	padding: 1px 8px;
	font-size: 12px;
}
.sde-sport-nav__item--active .sde-sport-nav__count { background: rgba(0,0,0,0.15); }

/* Livebar */
.sde-livebar {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding: 8px 0;
}
.sde-livebar__item {
	min-width: 200px;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 10px 14px;
}
.sde-livebar__league { font-size: 12px; margin-bottom: 6px; }
.sde-livebar__live { color: var(--sde-live, #22C55E); font-weight: 700; }
.sde-livebar__teams { display: flex; flex-direction: column; gap: 2px; color: var(--sde-text, #FFFFFF); font-size: 14px; }
.sde-livebar__score { color: var(--sde-live, #22C55E); font-weight: 700; }

/* Kampkort-grid */
.sde-match-cards {
	display: grid;
	gap: 12px;
}
.sde-match-cards--cards { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.sde-match-cards--list { grid-template-columns: 1fr; }
.sde-match-card {
	position: relative;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 14px 16px;
	transition: border-color 0.15s ease, transform 0.15s ease;
}
.sde-match-card__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--sde-muted);
	margin-bottom: 12px;
}
.sde-match-card__live {
	color: var(--sde-live, #22C55E);
	font-weight: 700;
}
.sde-match-card__live::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 5px;
	border-radius: 50%;
	background: var(--sde-live, #22C55E);
	animation: sde-pulse 1.6s ease-in-out infinite;
	vertical-align: middle;
}
.sde-match-card__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--sde-text, #FFFFFF);
	font-size: 15px;
	font-weight: 500;
	padding: 5px 0;
}
.sde-match-card__score {
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	font-family: var(--sde-font-display);
	min-width: 1.5em;
	text-align: right;
}

@media (prefers-reduced-motion: reduce) {
	.sde-match-card__live::before { animation: none; }
}

/* Liga-katalog */
.sde-league-dir {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
}
.sde-league-dir__item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 14px 16px;
	color: var(--sde-text, #FFFFFF);
	text-decoration: none;
}
.sde-league-dir__item:hover { border-color: var(--sde-data, #00B8F1); }
.sde-league-dir__name { font-weight: 600; }
.sde-league-dir__country { font-size: 12px; }

/* ---------- Klikbare data-rækker (links til kampcenter) ---------- */
a.sde-fixture-row,
a.sde-match-card,
a.sde-livebar__item {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}
a.sde-fixture-row:hover { background: rgba(255,255,255,0.03); }
a.sde-match-card:hover,
a.sde-livebar__item:hover {
	border-color: var(--sde-data, #00B8F1);
	transform: translateY(-2px);
}

/* ---------- Hold-links i tabeller (fase 16) ---------- */
a.sde-team-link {
	color: inherit;
	text-decoration: none;
}
a.sde-team-link:hover { color: var(--sde-data, #00B8F1); text-decoration: underline; }
.sde-team__leagues { margin: 0 0 16px; }
.sde-team__leagues a { color: var(--sde-data, #00B8F1); text-decoration: none; }
.sde-team__leagues a:hover { text-decoration: underline; }

/* ---------- Breadcrumbs (fase 16, synlige) ---------- */
.sde-breadcrumbs {
	font-size: 13px;
	color: var(--sde-muted, #9BA8B5);
	margin: 0 0 16px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.sde-breadcrumbs__link { color: var(--sde-muted, #9BA8B5); text-decoration: none; }
.sde-breadcrumbs__link:hover { color: var(--sde-data, #00B8F1); }
.sde-breadcrumbs__sep { color: var(--sde-border, #1D2A36); }
.sde-breadcrumbs__current { color: var(--sde-text, #FFFFFF); }

/* Grupperede stillinger (turneringer) */
.sde-standings__group {
	color: var(--sde-text, #FFFFFF);
	font-size: 15px;
	margin: 20px 0 8px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--sde-border, #1D2A36);
}
.sde-standings--grouped .sde-standings-table { margin-bottom: 8px; }

/* ---------- Liga-navigation (sektion-filtre) ---------- */
.sde-league-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 24px;
	border-bottom: 1px solid var(--sde-border, #1D2A36);
}
.sde-league-nav__item {
	padding: 10px 16px;
	color: var(--sde-muted, #9BA8B5);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.sde-league-nav__item:hover { color: var(--sde-text, #FFFFFF); }
.sde-league-nav__item.is-active {
	color: var(--sde-live, #22C55E);
	border-bottom-color: var(--sde-live, #22C55E);
}
.sde-section__title { scroll-margin-top: 80px; }

/* ---------- Kampkort: logo + navn på linje ---------- */
.sde-match-card__team {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.sde-match-card__team .sde-logo {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
.sde-match-card__team-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- Kampkort meta (runde + stadion) ---------- */
.sde-match-card__meta {
	font-size: 12px;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--sde-border, #1D2A36);
}

.sde-fixture-hero__venue {
	text-align: center;
	font-size: 12px;
	margin-top: 4px;
}

/* ---------- Section-wrapper med header + "Se alle" ---------- */
.sde-section { margin-bottom: 32px; }
.sde-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--sde-border, #1D2A36);
}
.sde-section__head .sde-section__title {
	margin: 0;
	border: none;
	padding: 0;
}
.sde-section__see-all {
	color: var(--sde-live, #22C55E);
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}
.sde-section__see-all:hover { color: var(--sde-data, #00B8F1); }

/* ---------- Grøn LIVE NU-blok (prototypens stribe) ---------- */
.sde-livebar-wrap {
	display: flex;
	align-items: stretch;
	gap: 12px;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 12px;
	overflow: hidden;
}
.sde-livebar-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 16px;
	border-radius: var(--sde-radius-sm, 8px);
	background: rgba(34, 197, 94, 0.12);
	color: var(--sde-live, #22C55E);
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.04em;
	white-space: nowrap;
	flex-shrink: 0;
}
.sde-livebar-badge__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sde-live, #22C55E);
}
.sde-livebar-badge.is-live .sde-livebar-badge__dot {
	animation: sde-pulse 1.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
	.sde-livebar-badge.is-live .sde-livebar-badge__dot { animation: none; }
}
@media (max-width: 640px) {
	.sde-livebar-wrap { flex-direction: column; }
	.sde-livebar-badge { padding: 8px 16px; justify-content: center; }
}

/* ---------- Livescore-filtre (faner + dropdowns) ---------- */
.sde-livescore-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
}
.sde-livescore-tabs {
	display: flex;
	gap: 4px;
	background: transparent;
	border: 0;
	border-radius: var(--sde-radius, 14px);
	padding: 0;
}
.sde-livescore-tab,
.sde-livescore-tabs button.sde-livescore-tab {
	appearance: none;
	-webkit-appearance: none;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--sde-muted, #9BA8B5);
	font-size: 14px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}
.sde-livescore-tab:hover { color: var(--sde-text, #FFFFFF); }
.sde-livescore-tab.is-active,
.sde-livescore-tabs button.sde-livescore-tab.is-active {
	background: var(--sde-live, #22C55E) !important;
	color: #07120A;
}
.sde-livescore-selects {
	display: flex;
	gap: 8px;
}
.sde-livescore-select {
	appearance: none;
	height: 42px;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	color: var(--sde-text, #FFFFFF);
	font-size: 14px;
	font-weight: 600;
	padding: 0 32px 0 14px;
	border-radius: var(--sde-radius, 14px);
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239BA8B5' d='M6 8L2 4h8z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
}
.sde-livescore-select:focus {
	outline: none;
	border-color: var(--sde-live, #22C55E);
}
.sde-livescore-clear {
	appearance: none;
	height: 42px;
	background: transparent;
	border: 1px solid var(--sde-border, #1D2A36);
	color: var(--sde-muted, #9BA8B5);
	font-size: 14px;
	font-weight: 600;
	padding: 0 16px;
	border-radius: var(--sde-radius, 14px);
	cursor: pointer;
	transition: color 0.15s, border-color 0.15s;
}
.sde-livescore-clear:hover {
	color: var(--sde-text, #FFFFFF);
	border-color: var(--sde-muted, #9BA8B5);
}
.sde-livescore__none {
	padding: 32px;
	text-align: center;
	color: var(--sde-muted, #9BA8B5);
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
}
@media (max-width: 640px) {
	.sde-livescore-filters { gap: 8px; }
	.sde-livescore-tabs { overflow-x: auto; width: 100%; }
	.sde-livescore-selects { width: 100%; }
	.sde-livescore-select { flex: 1; min-width: 0; }
	.sde-livescore-clear { width: 100%; }
}

/* ---------- Form-bobler i kampcenter-hero ---------- */
.sde-fixture-hero__form {
	display: flex;
	justify-content: center;
	margin-top: 10px;
}
.sde-fixture-hero__form .sde-form { justify-content: center; }

/* ---------- Liga-header med land + årstal ---------- */
.sde-livescore__league {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}
.sde-livescore__country {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--sde-data, #00B8F1);
	background: rgba(0, 184, 241, 0.12);
	padding: 2px 6px;
	border-radius: 6px;
}
.sde-livescore__league-name { font-weight: 700; }
.sde-livescore__country-name {
	font-size: 13px;
	font-weight: 500;
}

/* ---------- Kampcenter hero-meta (stadion, dommer) ---------- */
.sde-fixture-hero__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 20px;
	margin-top: 12px;
	font-size: 14px;
}
.sde-fixture-hero__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}
.sde-fixture-hero__meta-icon {
	font-size: 13px;
	opacity: 0.8;
}

/* ==================== Betting-hub (/betting/) ==================== */
.sde-betting-hub__title { font-size: 32px; font-weight: 800; margin: 0 0 8px; color: var(--sde-text, #FFFFFF); }
.sde-betting-hub__intro { color: var(--sde-muted, #9BA8B5); font-size: 16px; max-width: 760px; margin: 0 0 20px; line-height: 1.5; }
.sde-betting-hub__h2 { font-size: 22px; font-weight: 700; margin: 32px 0 16px; color: var(--sde-text, #FFFFFF); }

/* 18+ banner */
.sde-betting-banner {
	display: flex; align-items: center; gap: 12px;
	background: rgba(239,68,68,0.06);
	border: 1px solid rgba(239,68,68,0.3);
	border-radius: var(--sde-radius, 14px);
	padding: 14px 18px; margin-bottom: 8px;
	color: var(--sde-muted, #9BA8B5); font-size: 13px;
}
.sde-betting-banner__age {
	flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	border: 2px solid var(--sde-danger, #EF4444);
	color: var(--sde-danger, #EF4444); font-weight: 800; font-size: 12px;
}

/* Redaktionens valg-kort */
.sde-betting-featured { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sde-betting-card {
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 18px; display: flex; flex-direction: column; gap: 12px;
}
.sde-betting-card__head { display: flex; align-items: center; gap: 12px; }
.sde-betting-card__logo .sde-bm-logo,
.sde-betting-card__logo img { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; }
.sde-betting-card__name { display: block; font-weight: 700; font-size: 17px; color: var(--sde-text, #FFFFFF); }
.sde-betting-card__rating { display: block; color: var(--sde-live, #22C55E); font-weight: 600; font-size: 14px; }
.sde-betting-card__offer {
	background: var(--sde-bg, #081320);
	border-radius: 10px; padding: 10px 12px; font-weight: 600; color: var(--sde-text, #FFFFFF); font-size: 14px;
}
.sde-betting-card__meta { font-size: 13px; }
.sde-betting-card__actions { display: flex; gap: 8px; margin-top: auto; }

/* Knapper */
.sde-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 10px 16px; border-radius: 10px; font-weight: 700; font-size: 14px;
	text-decoration: none; cursor: pointer; border: 1px solid transparent; flex: 1; text-align: center;
}
.sde-btn--sm { padding: 6px 12px; font-size: 13px; flex: 0 0 auto; }
.sde-btn--ghost { background: transparent; border-color: var(--sde-border, #1D2A36); color: var(--sde-text, #FFFFFF); }
.sde-btn--ghost:hover { border-color: var(--sde-muted, #9BA8B5); }
.sde-btn--play {
	background: linear-gradient(90deg, var(--sde-live, #22C55E), var(--sde-data, #00B8F1));
	color: #07120A;
}
.sde-btn--play:hover { opacity: 0.92; }

/* Sammenligningstabel */
.sde-betting-table-wrap { overflow-x: auto; border: 1px solid var(--sde-border, #1D2A36); border-radius: var(--sde-radius, 14px); }
.sde-betting-table { width: 100%; border-collapse: collapse; background: var(--sde-surface, #11161D); }
.sde-betting-table th {
	text-align: left; padding: 14px 16px; font-size: 12px; text-transform: uppercase;
	letter-spacing: 0.04em; color: var(--sde-muted, #9BA8B5); border-bottom: 1px solid var(--sde-border, #1D2A36); font-weight: 700;
}
.sde-betting-table td { padding: 14px 16px; border-bottom: 1px solid var(--sde-border, #1D2A36); color: var(--sde-text, #FFFFFF); font-size: 14px; vertical-align: middle; }
.sde-betting-table tr:last-child td { border-bottom: 0; }
.sde-betting-table__bm { display: flex; align-items: center; gap: 10px; }
.sde-betting-table__bm img { width: 32px; height: 32px; border-radius: 8px; object-fit: cover; }
.sde-betting-table__bm a { color: var(--sde-text, #FFFFFF); text-decoration: none; font-weight: 600; }
.sde-betting-table__rating { color: var(--sde-live, #22C55E); font-weight: 700; font-size: 16px; }

/* SEO-brødtekst */
.sde-betting-hub__body { margin-top: 36px; max-width: 820px; color: var(--sde-muted, #9BA8B5); line-height: 1.6; }
.sde-betting-hub__body h2 { font-size: 20px; font-weight: 700; color: var(--sde-text, #FFFFFF); margin: 24px 0 10px; }
.sde-betting-hub__body p { margin: 0 0 14px; }

@media (max-width: 782px) {
	.sde-betting-featured { grid-template-columns: 1fr; }
	.sde-betting-hub__title { font-size: 26px; }
}

/* ==================== Bookmaker-anmeldelse (/betting/{navn}/) ==================== */
.sde-review { color: var(--sde-text, #FFFFFF); }
.sde-review__hero {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 24px; margin-bottom: 16px;
}
.sde-review__hero-main { display: flex; align-items: center; gap: 16px; }
.sde-review__logo img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; }
.sde-review__name { font-size: 28px; font-weight: 800; margin: 0; }
.sde-review__subtitle { color: var(--sde-live, #22C55E); font-weight: 600; margin-top: 4px; }
.sde-review__license {
	flex: 0 0 auto;
	background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.4);
	color: var(--sde-live, #22C55E); font-weight: 700; font-size: 14px;
	padding: 8px 14px; border-radius: 10px;
}
.sde-review__cta { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.sde-review__cta .sde-btn--play { flex: 1; padding: 16px; font-size: 16px; }
.sde-review__ad-label {
	flex: 0 0 auto; color: var(--sde-muted, #9BA8B5); font-size: 13px;
	border: 1px solid var(--sde-border, #1D2A36); border-radius: 10px; padding: 12px 16px;
}

.sde-review__grid { display: grid; grid-template-columns: 1fr 320px; gap: 24px; align-items: start; }
.sde-review__box {
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px);
	padding: 24px; margin-bottom: 16px;
}
.sde-review__box h2 { font-size: 20px; font-weight: 700; margin: 0 0 18px; }

/* Rating-bjælker */
.sde-review__bar-row { margin-bottom: 14px; }
.sde-review__bar-label { display: flex; justify-content: space-between; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.sde-review__bar-label span { font-weight: 800; }
.sde-review__bar { height: 8px; background: var(--sde-bg, #081320); border-radius: 99px; overflow: hidden; }
.sde-review__bar-fill { height: 100%; background: linear-gradient(90deg, var(--sde-live, #22C55E), var(--sde-data, #00B8F1)); border-radius: 99px; }

/* Fordele / ulemper */
.sde-review__proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.sde-review__pros, .sde-review__cons {
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px); padding: 20px;
}
.sde-review__pros h3 { color: var(--sde-live, #22C55E); margin: 0 0 12px; font-size: 16px; }
.sde-review__cons h3 { color: var(--sde-danger, #EF4444); margin: 0 0 12px; font-size: 16px; }
.sde-review__proscons ul { list-style: none; margin: 0; padding: 0; }
.sde-review__proscons li { padding: 4px 0; color: var(--sde-muted, #9BA8B5); font-size: 14px; }

.sde-review__about p { color: var(--sde-muted, #9BA8B5); line-height: 1.6; }
.sde-review__about h2, .sde-review__about h3 { color: var(--sde-text, #FFFFFF); }

/* Fakta-sidebar */
.sde-review__facts {
	background: var(--sde-surface, #11161D);
	border: 1px solid var(--sde-border, #1D2A36);
	border-radius: var(--sde-radius, 14px); padding: 20px; margin-bottom: 16px;
}
.sde-review__facts h3 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--sde-muted, #9BA8B5); margin: 0 0 14px; }
.sde-review__facts dl { margin: 0; }
.sde-review__facts dt { color: var(--sde-muted, #9BA8B5); font-size: 13px; margin-top: 10px; }
.sde-review__facts dd { margin: 2px 0 0; font-weight: 700; }
.sde-review__score-box {
	background: var(--sde-surface, #11161D);
	border: 1px solid rgba(34,197,94,0.4);
	border-radius: var(--sde-radius, 14px); padding: 24px; text-align: center;
}
.sde-review__score-num { font-size: 44px; font-weight: 800; color: var(--sde-live, #22C55E); line-height: 1; }
.sde-review__score-label { color: var(--sde-muted, #9BA8B5); font-size: 13px; margin-top: 6px; }

/* Ansvarligt spil */
.sde-review__rg { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sde-review__rg-item {
	background: var(--sde-bg, #081320); border-radius: 10px; padding: 12px 14px;
	color: var(--sde-muted, #9BA8B5); font-size: 14px;
}
.sde-review__rg-item.is-on { color: var(--sde-text, #FFFFFF); }
.sde-review__rg-mark { font-weight: 800; color: var(--sde-live, #22C55E); }
.sde-review__rg-note { font-size: 13px; margin: 14px 0 0; }

@media (max-width: 860px) {
	.sde-review__grid { grid-template-columns: 1fr; }
	.sde-review__hero { flex-direction: column; align-items: flex-start; }
	.sde-review__proscons { grid-template-columns: 1fr; }
	.sde-review__rg { grid-template-columns: 1fr; }
}

/* ==================== Odds-sammenligning (kampside Odds-fane) ==================== */
.sde-odds-compare__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.sde-odds-compare__head h3 { margin: 0; font-size: 18px; font-weight: 700; color: var(--sde-text, #FFFFFF); }
.sde-odds-compare__hint {
	font-size: 13px; font-weight: 600; color: var(--sde-live, #22C55E);
	background: rgba(34,197,94,0.1); padding: 4px 10px; border-radius: 8px;
}
.sde-odds-compare__table { width: 100%; border-collapse: collapse; }
.sde-odds-compare__table th {
	text-align: center; padding: 10px 8px; font-size: 12px; text-transform: uppercase;
	letter-spacing: 0.04em; color: var(--sde-muted, #9BA8B5); border-bottom: 1px solid var(--sde-border, #1D2A36); font-weight: 700;
}
.sde-odds-compare__table th:first-child { text-align: left; }
.sde-odds-compare__table td { padding: 12px 8px; text-align: center; border-bottom: 1px solid var(--sde-border, #1D2A36); }
.sde-odds-compare__table tr:last-child td { border-bottom: 0; }
.sde-odds-compare__bm { text-align: left !important; font-weight: 600; color: var(--sde-text, #FFFFFF); }
.sde-odds-compare__val {
	display: inline-block; min-width: 56px; padding: 8px 10px; border-radius: 8px;
	background: var(--sde-bg, #081320); font-weight: 700; color: var(--sde-text, #FFFFFF);
}
.sde-odds-compare__val.is-best {
	background: rgba(34,197,94,0.15); color: var(--sde-live, #22C55E);
	box-shadow: inset 0 0 0 1px rgba(34,197,94,0.5);
}
.sde-odds-compare__updated { font-size: 12px; margin-top: 10px; }

/* ==================== Odds market-vælger ==================== */
.sde-odds-market__radio { position: absolute; opacity: 0; pointer-events: none; }
.sde-odds-market__nav {
	display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px;
	border-bottom: 1px solid var(--sde-border, #1D2A36); padding-bottom: 12px;
}
.sde-odds-market__tab {
	cursor: pointer; padding: 8px 14px; border-radius: 8px;
	background: var(--sde-bg, #081320); color: var(--sde-muted, #9BA8B5);
	font-weight: 600; font-size: 13px; border: 1px solid var(--sde-border, #1D2A36);
	user-select: none;
}
.sde-odds-market__tab:hover { color: var(--sde-text, #FFFFFF); }

/* Panel-visning: vis kun det valgte markets panel */
.sde-odds-market__panel { display: none; }
.sde-odds-market__radio--1x2:checked ~ .sde-odds-market__panels .sde-odds-market__panel--1x2,
.sde-odds-market__radio--over_under:checked ~ .sde-odds-market__panels .sde-odds-market__panel--over_under,
.sde-odds-market__radio--btts:checked ~ .sde-odds-market__panels .sde-odds-market__panel--btts,
.sde-odds-market__radio--dnb:checked ~ .sde-odds-market__panels .sde-odds-market__panel--dnb,
.sde-odds-market__radio--ah:checked ~ .sde-odds-market__panels .sde-odds-market__panel--ah {
	display: block;
}

/* Aktiv fane-markering (grøn) */
.sde-odds-market__radio--1x2:checked ~ .sde-odds-market__nav .sde-odds-market__tab--1x2,
.sde-odds-market__radio--over_under:checked ~ .sde-odds-market__nav .sde-odds-market__tab--over_under,
.sde-odds-market__radio--btts:checked ~ .sde-odds-market__nav .sde-odds-market__tab--btts,
.sde-odds-market__radio--dnb:checked ~ .sde-odds-market__nav .sde-odds-market__tab--dnb,
.sde-odds-market__radio--ah:checked ~ .sde-odds-market__nav .sde-odds-market__tab--ah {
	background: rgba(34,197,94,0.12);
	color: var(--sde-live, #22C55E);
	border-color: rgba(34,197,94,0.5);
}

/* Hvis kun ét market (ingen nav/radio): vis panelet altid */
.sde-odds-market__panel.is-visible { display: block; }
