/* ==========================================================================
   SportsVexa — main stylesheet (v1.1 redesign)
   Mobile-first. Breakpoints: 600 / 768 / 1024 / 1200 / 1440.
   Rhythm: dark "broadcast" top (header → ticker → newsroom → score centre),
   light editorial middle, sport-tinted spotlights, dark video/tournament bands.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
	/* Brand */
	--sv-primary: #1f5eff;
	--sv-primary-600: color-mix(in srgb, var(--sv-primary) 80%, #000);
	--sv-primary-50: color-mix(in srgb, var(--sv-primary) 7%, #fff);
	--sv-accent: #22d3ee;

	/* Dark scale */
	--sv-ink: #05070f;
	--sv-navy-950: #070b18;
	--sv-navy-900: #0a1022;
	--sv-navy-850: #0d1429;
	--sv-navy-800: #121b35;
	--sv-navy-700: #1c2748;
	--sv-glass: rgba(255, 255, 255, 0.05);
	--sv-glass-2: rgba(255, 255, 255, 0.09);
	--sv-line-dark: rgba(255, 255, 255, 0.09);

	/* Light scale */
	--sv-bg: #f2f4f8;
	--sv-surface: #ffffff;
	--sv-surface-2: #f7f8fb;
	--sv-paper: #f6f3ec;
	--sv-border: #e3e7ef;
	--sv-border-strong: #cbd3e1;
	--sv-text: #0b1222;
	--sv-text-2: #2f3b52;
	--sv-muted: #5a6680;
	--sv-on-dark: #f3f6ff;
	--sv-on-dark-muted: #9ba8c4;
	--sv-on-dark-border: rgba(255, 255, 255, 0.1);

	/* Status */
	--sv-live: #ff2e55;
	--sv-live-ink: #d1123a;
	--sv-success: #16c784;
	--sv-success-ink: #0a7a4b;

	/* Sport accents: vivid (fills, dark bg) + ink (text on light) */
	--sv-cat: var(--sv-primary);
	--sv-cat-ink: var(--sv-primary);

	/* Type */
	--sv-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--sv-font-serif: "Iowan Old Style", "Charter", "Georgia", "Times New Roman", serif;
	--sv-font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;
	--sv-fs-xs: 0.75rem;
	--sv-fs-sm: 0.875rem;
	--sv-fs-base: 1rem;
	--sv-fs-md: 1.0625rem;
	--sv-fs-lg: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
	--sv-fs-xl: clamp(1.35rem, 1.15rem + 0.8vw, 1.75rem);
	--sv-fs-2xl: clamp(1.6rem, 1.25rem + 1.6vw, 2.5rem);
	--sv-fs-3xl: clamp(1.9rem, 1.3rem + 2.6vw, 3.4rem);
	--sv-fs-hero: clamp(1.75rem, 1.2rem + 2.4vw, 3.15rem);

	/* Space */
	--sv-s1: 4px;
	--sv-s2: 8px;
	--sv-s3: 12px;
	--sv-s4: 16px;
	--sv-s5: 20px;
	--sv-s6: 24px;
	--sv-s8: 32px;
	--sv-s10: 40px;
	--sv-s12: 48px;
	--sv-s16: 64px;
	--sv-section: clamp(40px, 5vw, 72px);

	/* Shape & depth */
	--sv-r-xs: 4px;
	--sv-r-sm: 6px;
	--sv-r: 10px;
	--sv-r-lg: 14px;
	--sv-r-pill: 999px;
	--sv-shadow-sm: 0 1px 2px rgba(11, 18, 34, 0.06);
	--sv-shadow: 0 1px 2px rgba(11, 18, 34, 0.05), 0 12px 28px -14px rgba(11, 18, 34, 0.28);
	--sv-shadow-lg: 0 30px 60px -28px rgba(3, 6, 16, 0.65);

	/* Layout */
	--sv-container: 1320px;
	--sv-gutter: 16px;
	--sv-header-h: 60px;
	--sv-admin-bar: 0px;
	--sv-tabbar-h: 0px;
	--sv-sticky-top: calc(var(--sv-header-h) + var(--sv-admin-bar) + 20px);
	--sv-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--sv-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

@media (min-width: 768px) {
	:root { --sv-gutter: 24px; --sv-header-h: 70px; }
}
@media (min-width: 1200px) {
	:root { --sv-gutter: 32px; }
}
.admin-bar { --sv-admin-bar: 32px; }
@media (max-width: 782px) { .admin-bar { --sv-admin-bar: 46px; } }
@media (max-width: 767px) { .sv-has-tabbar { --sv-tabbar-h: 64px; } }

[data-sport="cricket"] { --sv-cat: #19c37d; --sv-cat-ink: #057a4c; }
[data-sport="football"] { --sv-cat: #7c5cff; --sv-cat-ink: #5638e0; }
[data-sport="basketball"] { --sv-cat: #ff7a1a; --sv-cat-ink: #c2410c; }
[data-sport="tennis"] { --sv-cat: #c5e03a; --sv-cat-ink: #4f6b00; }
[data-sport="other"] { --sv-cat: #22d3ee; --sv-cat-ink: #0e7490; }
[data-sport="all"], [data-sport="default"] { --sv-cat: var(--sv-primary); --sv-cat-ink: var(--sv-primary); }

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--sv-header-h) + var(--sv-admin-bar) + 20px);
}
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
body {
	margin: 0;
	background: var(--sv-bg);
	color: var(--sv-text);
	font-family: var(--sv-font);
	font-size: var(--sv-fs-base);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
	font-feature-settings: "ss01", "cv11";
}
body.sv-menu-open, body.sv-search-open { overflow: hidden; }
@media (max-width: 767px) {
	.sv-has-tabbar { padding-bottom: calc(var(--sv-tabbar-h) + env(safe-area-inset-bottom, 0px)); }
}
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
svg { flex-shrink: 0; }
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--sv-s3);
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: inherit;
}
p { margin: 0 0 var(--sv-s4); }
ul, ol { margin: 0; padding: 0; }
a { color: var(--sv-primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--sv-primary-600); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--sv-accent); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--sv-primary); color: #fff; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
	top: 8px;
	left: 8px;
	z-index: 100000;
	padding: 12px 18px;
	background: #fff;
	color: var(--sv-navy-900);
	font-weight: 700;
	border-radius: var(--sv-r);
	box-shadow: var(--sv-shadow-lg);
}
.sv-container {
	width: 100%;
	max-width: var(--sv-container);
	margin-inline: auto;
	padding-inline: var(--sv-gutter);
}
.sv-icon { display: inline-block; vertical-align: middle; }

.alignleft { float: left; margin: 0 var(--sv-s6) var(--sv-s4) 0; }
.alignright { float: right; margin: 0 0 var(--sv-s4) var(--sv-s6); }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { font-size: var(--sv-fs-sm); color: var(--sv-muted); }
.sticky, .bypostauthor { display: block; }

/* ---------- 3. Primitives ---------- */
.sv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 20px;
	border: 1.5px solid transparent;
	border-radius: var(--sv-r-pill);
	font-size: var(--sv-fs-sm);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s var(--sv-ease), color 0.2s, border-color 0.2s, transform 0.2s var(--sv-ease), box-shadow 0.2s;
}
.sv-btn:active { transform: translateY(1px); }
.sv-btn--primary { background: var(--sv-primary); color: #fff; box-shadow: 0 10px 24px -12px color-mix(in srgb, var(--sv-primary) 90%, transparent); }
.sv-btn--primary:hover { background: var(--sv-primary-600); color: #fff; transform: translateY(-1px); }
.sv-btn--outline { background: var(--sv-surface); color: var(--sv-text); border-color: var(--sv-border-strong); }
.sv-btn--outline:hover { border-color: var(--sv-text); color: var(--sv-text); transform: translateY(-1px); box-shadow: var(--sv-shadow); }
.sv-btn--outline.is-done { pointer-events: none; opacity: 0.6; }
.sv-btn--glass { background: var(--sv-glass); color: var(--sv-on-dark); border-color: var(--sv-line-dark); }
.sv-btn--glass:hover { background: var(--sv-glass-2); color: #fff; }
.sv-btn--lg { min-height: 52px; padding: 14px 26px; font-size: var(--sv-fs-base); }
.sv-btn[aria-busy="true"] { opacity: 0.7; pointer-events: none; }

.sv-icon-btn {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--sv-r);
	background: transparent;
	color: var(--sv-on-dark);
	transition: background-color 0.2s var(--sv-ease);
}
.sv-icon-btn:hover { background: var(--sv-glass-2); }
.sv-icon-btn--light { color: var(--sv-on-dark); }

.sv-badge {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: var(--sv-s2);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sv-cat-ink);
}
.sv-badge::before {
	content: "";
	width: 14px;
	height: 3px;
	border-radius: 2px;
	background: var(--sv-cat);
}
a.sv-badge:hover { color: var(--sv-text); }
.sv-badge--solid {
	padding: 6px 9px;
	border-radius: var(--sv-r-xs);
	background: var(--sv-cat);
	color: var(--sv-ink);
}
.sv-badge--solid::before { display: none; }
[data-sport="football"] .sv-badge--solid, .sv-badge--solid[data-sport="football"],
[data-sport="default"] .sv-badge--solid, .sv-badge--solid[data-sport="default"] { color: #fff; }
a.sv-badge--solid:hover { color: inherit; filter: brightness(1.08); }
.sv-badge--text::before { width: 10px; }

.sv-chip-mini {
	display: inline-flex;
	align-items: center;
	padding: 3px 7px;
	border-radius: var(--sv-r-xs);
	background: var(--sv-cat);
	color: var(--sv-ink);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sv-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	margin: 0;
	font-size: var(--sv-fs-xs);
	font-weight: 500;
	color: var(--sv-muted);
}
.sv-meta__author { font-weight: 700; color: var(--sv-text-2); }
.sv-meta__sep { opacity: 0.55; }
.sv-meta__avatar img { width: 28px; height: 28px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.35); }

.sv-dot {
	display: inline-block;
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}
.sv-dot--live { background: var(--sv-live); box-shadow: 0 0 0 0 rgba(255, 46, 85, 0.6); }
@media (prefers-reduced-motion: no-preference) {
	.sv-dot--live { animation: sv-pulse 1.8s infinite; }
}
@keyframes sv-pulse {
	0% { box-shadow: 0 0 0 0 rgba(255, 46, 85, 0.55); }
	70% { box-shadow: 0 0 0 8px rgba(255, 46, 85, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 46, 85, 0); }
}

.sv-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	border-radius: var(--sv-r-xs);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	background: var(--sv-surface-2);
	color: var(--sv-muted);
	border: 1px solid var(--sv-border);
}
.sv-status--live { background: rgba(255, 46, 85, 0.12); color: var(--sv-live-ink); border-color: rgba(255, 46, 85, 0.3); }
.sv-status--upcoming { background: var(--sv-primary-50); color: var(--sv-primary-600); border-color: color-mix(in srgb, var(--sv-primary) 22%, #fff); }
.sv-status--finished { background: #ecfbf3; color: var(--sv-success-ink); border-color: #c4ecd7; }
.sv-status--postponed, .sv-status--cancelled { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }

.sv-demo-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: var(--sv-r-xs);
	background: #fef3c7;
	color: #854d0e;
	border: 1px dashed #d4a017;
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: middle;
	white-space: nowrap;
}

.sv-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 38px;
	padding: 6px 14px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-r-pill);
	background: var(--sv-surface);
	color: var(--sv-text-2);
	font-size: var(--sv-fs-sm);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.2s var(--sv-ease);
}
.sv-chip:hover { border-color: var(--sv-cat-ink); color: var(--sv-cat-ink); }
.sv-chip.is-active { background: var(--sv-navy-900); border-color: var(--sv-navy-900); color: #fff; }
.sv-chips {
	display: flex;
	gap: var(--sv-s2);
	padding-block: var(--sv-s5) 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.sv-chips::-webkit-scrollbar { display: none; }

.sv-admin-hint { margin: 0; font-size: var(--sv-fs-xs); opacity: 0.8; }
.sv-admin-hint a { color: inherit; }
.sv-hint {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: var(--sv-s4) 0;
	padding: 12px 16px;
	border: 1px dashed var(--sv-border-strong);
	border-radius: var(--sv-r);
	background: var(--sv-surface);
	color: var(--sv-muted);
	font-size: var(--sv-fs-sm);
}
.sv-hint em { opacity: 0.75; }

/* Horizontal rails (swipe on touch, arrows on desktop) */
.sv-rail {
	display: grid;
	grid-auto-flow: column;
	gap: var(--sv-s4);
	margin-inline: calc(var(--sv-gutter) * -1);
	padding: 4px var(--sv-gutter) var(--sv-s4);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--sv-gutter);
	scrollbar-width: none;
}
.sv-rail::-webkit-scrollbar { display: none; }
.sv-rail > * { scroll-snap-align: start; }
.sv-rail-nav { display: none; gap: 6px; }
.sv-rail-nav__btn {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--sv-border);
	border-radius: 50%;
	background: var(--sv-surface);
	color: var(--sv-text);
	transition: all 0.2s var(--sv-ease);
}
.sv-rail-nav__btn:hover:not(:disabled) { background: var(--sv-navy-900); border-color: var(--sv-navy-900); color: #fff; }
.sv-rail-nav__btn:disabled { opacity: 0.35; cursor: default; }
@media (min-width: 1024px) {
	.sv-rail-nav { display: inline-flex; }
}

/* ---------- 4. Utility strip ---------- */
.sv-utility {
	position: relative;
	z-index: 901;
	background: var(--sv-ink);
	color: var(--sv-on-dark-muted);
	font-size: 0.75rem;
}
.sv-utility__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sv-s4);
	min-height: 32px;
}
.sv-utility__date { margin: 0; white-space: nowrap; letter-spacing: 0.02em; }
.sv-utility__nav { display: flex; align-items: center; gap: var(--sv-s4); }
.sv-utility__links { display: flex; gap: var(--sv-s4); list-style: none; }
.sv-utility__links a, .sv-utility__search {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--sv-on-dark);
	font-size: 0.75rem;
	font-weight: 600;
	text-decoration: none;
	opacity: 0.85;
	transition: opacity 0.2s, color 0.2s;
}
.sv-utility__links a:hover, .sv-utility__search:hover { opacity: 1; color: var(--sv-accent); }
.sv-utility .sv-dot { width: 6px; height: 6px; }
@media (max-width: 599px) {
	.sv-utility__date, .sv-utility__search { display: none; }
	.sv-utility__inner { justify-content: center; }
}

/* ---------- 5. Header ---------- */
.sv-header {
	position: sticky;
	top: var(--sv-admin-bar);
	z-index: 900;
	color: var(--sv-on-dark);
	transition: margin 0.3s var(--sv-ease);
}
@media (max-width: 600px) {
	.admin-bar .sv-header { top: 0; }
}
.sv-header__bar {
	background: var(--sv-navy-900);
	border-bottom: 1px solid transparent;
	transition: background-color 0.3s var(--sv-ease), border-color 0.3s, box-shadow 0.3s;
}
.sv-header__inner {
	display: flex;
	align-items: center;
	gap: var(--sv-s4);
	height: var(--sv-header-h);
	transition: height 0.3s var(--sv-ease);
}
/* Compact on scroll: the bar shrinks and a matching margin keeps page flow stable (no jump). */
.sv-header.is-scrolled { margin-bottom: 10px; }
.sv-header.is-scrolled .sv-header__inner { height: calc(var(--sv-header-h) - 10px); }
.sv-header.is-scrolled .sv-header__bar {
	background: color-mix(in srgb, var(--sv-navy-900) 82%, transparent);
	border-color: var(--sv-line-dark);
	box-shadow: 0 12px 30px -16px rgba(0, 0, 0, 0.7);
}
@supports (backdrop-filter: blur(12px)) {
	.sv-header.is-scrolled .sv-header__bar { backdrop-filter: saturate(1.5) blur(14px); }
}
.sv-header__brand { flex: 0 0 auto; }
.sv-header__actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }

.sv-brand { margin: 0; font-size: inherit; line-height: 1; }
.sv-brand .custom-logo-link { display: inline-flex; align-items: center; max-width: 100%; line-height: 0; }
/*
 * Uploaded logo size: widths come from Customizer → Site Identity as CSS variables
 * (--sv-logo-w desktop, --sv-logo-w-m mobile). Height is always auto, so proportions are kept.
 * The min() caps below only protect the header layout; they never enlarge the logo.
 * --sv-logo-ratio (width / height of the upload) caps the width at the height the header can hold,
 * so the image box always matches the painted logo (no empty clickable strip).
 */
.sv-brand .custom-logo {
	display: block;
	width: auto; /* Footer and other contexts keep the original 40px-tall logo. */
	max-width: 100%;
	height: auto;
	max-height: 40px;
	transform-origin: left center;
	transition: transform 0.3s var(--sv-ease);
}
.sv-brand--header .custom-logo {
	--sv-logo-cap: calc((var(--sv-header-h) - 12px) * var(--sv-logo-ratio, 100));
	width: min(var(--sv-logo-w-m, 58vw), 58vw, var(--sv-logo-cap));
	max-height: calc(var(--sv-header-h) - 12px); /* Never taller than the header bar. */
	object-fit: contain;
	object-position: left center;
}
@media (min-width: 768px) {
	.sv-brand--header .custom-logo { width: min(var(--sv-logo-w, 40vw), 40vw, var(--sv-logo-cap)); }
}
@media (min-width: 1024px) {
	/* Full navigation is visible from here: leave it room. */
	.sv-brand--header .custom-logo { width: min(var(--sv-logo-w, 22vw), 22vw, var(--sv-logo-cap)); }
}
@media (min-width: 1200px) {
	.sv-brand--header .custom-logo { width: min(var(--sv-logo-w, 26vw), 26vw, var(--sv-logo-cap)); }
}
.sv-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
	font-size: 1.35rem;
	font-weight: 900;
	letter-spacing: -0.04em;
	transform-origin: left center;
	transition: transform 0.3s var(--sv-ease);
}
.sv-wordmark:hover { color: #fff; }
.sv-wordmark__mark {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	color: #fff;
	background: linear-gradient(135deg, var(--sv-primary) 0%, var(--sv-accent) 120%);
	box-shadow: 0 8px 20px -8px color-mix(in srgb, var(--sv-primary) 90%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.sv-wordmark__mark svg { width: 20px; height: 20px; }
.sv-wordmark__b { color: var(--sv-accent); }
.sv-header.is-scrolled .sv-wordmark, .sv-header.is-scrolled .custom-logo { transform: scale(0.92); }
@media (min-width: 768px) { .sv-wordmark { font-size: 1.5rem; } }

.sv-live-btn {
	display: none;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 14px 8px 12px;
	border-radius: var(--sv-r-pill);
	background: linear-gradient(135deg, rgba(255, 46, 85, 0.18), rgba(255, 46, 85, 0.06));
	border: 1px solid rgba(255, 46, 85, 0.35);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s, border-color 0.2s, transform 0.2s var(--sv-ease);
}
.sv-live-btn:hover { color: #fff; border-color: var(--sv-live); transform: translateY(-1px); background: rgba(255, 46, 85, 0.25); }
.sv-live-btn__dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--sv-live); }
@media (prefers-reduced-motion: no-preference) {
	.sv-live-btn__dot::after {
		content: "";
		position: absolute;
		inset: -4px;
		border-radius: 50%;
		border: 2px solid var(--sv-live);
		animation: sv-ring 1.8s var(--sv-ease-out) infinite;
	}
}
@keyframes sv-ring {
	from { transform: scale(0.5); opacity: 1; }
	to { transform: scale(1.8); opacity: 0; }
}
@media (min-width: 480px) { .sv-live-btn { display: inline-flex; } }

.sv-burger { position: relative; display: block; width: 20px; height: 14px; }
.sv-burger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.25s var(--sv-ease), opacity 0.2s, top 0.25s var(--sv-ease);
}
.sv-burger span:nth-child(1) { top: 0; }
.sv-burger span:nth-child(2) { top: 6px; width: 70%; }
.sv-burger span:nth-child(3) { top: 12px; }
[aria-expanded="true"] .sv-burger span:nth-child(1) { top: 6px; transform: rotate(45deg); }
[aria-expanded="true"] .sv-burger span:nth-child(2) { opacity: 0; }
[aria-expanded="true"] .sv-burger span:nth-child(3) { top: 6px; transform: rotate(-45deg); }

.sv-progress { position: absolute; left: 0; right: 0; bottom: -3px; height: 3px; pointer-events: none; }
.sv-progress span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--sv-primary), var(--sv-accent));
	transform: scaleX(0);
	transform-origin: left;
}
.sv-header.is-scrolled .sv-progress { bottom: 7px; }

/* Navigation — mobile drawer */
.sv-nav {
	position: fixed;
	top: var(--sv-nav-top, var(--sv-header-h));
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 899;
	overflow-y: auto;
	overscroll-behavior: contain;
	background:
		radial-gradient(600px 300px at 100% 0%, color-mix(in srgb, var(--sv-primary) 22%, transparent), transparent 70%),
		var(--sv-navy-950);
	border-top: 1px solid var(--sv-line-dark);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	transition: opacity 0.25s var(--sv-ease), transform 0.3s var(--sv-ease-out), visibility 0s linear 0.3s;
}
.sv-nav.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.25s var(--sv-ease), transform 0.3s var(--sv-ease-out), visibility 0s;
}
.sv-nav__inner { padding: var(--sv-s4) var(--sv-gutter) calc(var(--sv-s10) + var(--sv-tabbar-h)); }
.sv-menu { list-style: none; }
.sv-menu > li { border-bottom: 1px solid var(--sv-line-dark); }
.sv-menu li { position: relative; display: flex; flex-wrap: wrap; align-items: center; }
.sv-menu a {
	flex: 1;
	display: flex;
	align-items: center;
	min-height: 54px;
	padding: 6px 2px;
	color: var(--sv-on-dark);
	font-size: 1.125rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-decoration: none;
}
.sv-menu a:hover, .sv-menu .current-menu-item > a, .sv-menu .current-menu-ancestor > a { color: var(--sv-accent); }
.sv-submenu-toggle {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: var(--sv-r);
	background: var(--sv-glass);
	color: var(--sv-on-dark);
}
.sv-submenu-toggle svg { transition: transform 0.2s var(--sv-ease); }
.sv-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.sv-menu .sub-menu { display: none; flex-basis: 100%; list-style: none; padding: 0 0 var(--sv-s3) var(--sv-s4); }
.sv-menu .sub-menu a { min-height: 44px; font-size: var(--sv-fs-base); font-weight: 600; color: var(--sv-on-dark-muted); }
.sv-menu .is-open > .sub-menu { display: block; }
.sv-nav__mobile-extra { margin-top: var(--sv-s6); }

/* Mega menu (mobile: accordion inside the drawer) */
.sv-mega-wrap { border-bottom: 1px solid var(--sv-line-dark); }
.sv-mega-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 54px;
	padding: 6px 2px;
	border: 0;
	background: none;
	color: var(--sv-on-dark);
	font-size: 1.125rem;
	font-weight: 800;
	text-align: left;
}
.sv-mega-toggle svg { transition: transform 0.25s var(--sv-ease); }
.sv-mega-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.sv-mega { display: none; padding-bottom: var(--sv-s5); }
.sv-mega-wrap.is-open .sv-mega { display: block; }
.sv-mega .sv-container { padding: 0; }
.sv-mega__grid { display: grid; gap: var(--sv-s6); }
.sv-mega__heading {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 var(--sv-s3);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-on-dark-muted);
}
.sv-mega__sports { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; list-style: none; }
.sv-mega__sports a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 8px 10px;
	border-radius: var(--sv-r);
	background: var(--sv-glass);
	border: 1px solid var(--sv-line-dark);
	color: var(--sv-on-dark);
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s var(--sv-ease);
}
.sv-mega__sports a:hover { border-color: var(--sv-cat); background: color-mix(in srgb, var(--sv-cat) 14%, transparent); color: #fff; }
.sv-mega__glyph {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: color-mix(in srgb, var(--sv-cat) 20%, transparent);
	color: var(--sv-cat);
}
.sv-mega__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 12px; list-style: none; }
.sv-mega__links a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	color: var(--sv-on-dark);
	font-size: var(--sv-fs-sm);
	font-weight: 600;
	text-decoration: none;
}
.sv-mega__links a .sv-icon { color: var(--sv-accent); opacity: 0.8; }
.sv-mega__links a:hover { color: var(--sv-accent); }
.sv-mega__matches { display: grid; gap: 8px; }
.sv-mega__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	margin-top: 4px;
	color: var(--sv-accent);
	font-size: var(--sv-fs-sm);
	font-weight: 700;
	text-decoration: none;
}
.sv-mega__col--feature { display: none; }
.sv-mega__story { display: block; color: var(--sv-on-dark); text-decoration: none; }
.sv-mega__story-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--sv-r); margin-bottom: 10px; background: var(--sv-navy-800); }
.sv-mega__story-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--sv-ease-out); }
.sv-mega__story:hover img { transform: scale(1.05); }
.sv-mega__story-title { display: block; font-weight: 800; line-height: 1.3; }
.sv-mega__story:hover .sv-mega__story-title { color: var(--sv-accent); }

/* Navigation — desktop */
@media (min-width: 1024px) {
	.sv-header__menu-btn { display: none; }
	.sv-nav {
		position: static;
		flex: 1;
		display: flex;
		justify-content: center;
		overflow: visible;
		background: none;
		border: 0;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}
	.sv-nav__inner { display: flex; align-items: center; padding: 0; }
	.sv-nav__mobile-extra { display: none; }
	.sv-menu { display: flex; align-items: center; gap: 2px; }
	.sv-menu > li { border: 0; flex-wrap: nowrap; }
	.sv-menu > li > a, .sv-mega-toggle {
		position: relative;
		min-height: 44px;
		padding: 8px 14px;
		font-size: 0.9375rem;
		font-weight: 700;
		border-radius: var(--sv-r);
		color: rgba(243, 246, 255, 0.88);
	}
	.sv-menu > li > a::after, .sv-mega-toggle::after {
		content: "";
		position: absolute;
		left: 14px;
		right: 14px;
		bottom: 3px;
		height: 2px;
		border-radius: 2px;
		background: var(--sv-accent);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.25s var(--sv-ease-out);
	}
	.sv-menu > li[data-sport] > a::after { background: var(--sv-cat); }
	.sv-menu > li > a:hover::after,
	.sv-menu > .current-menu-item > a::after,
	.sv-menu > .current-menu-ancestor > a::after,
	.sv-mega-toggle:hover::after,
	.sv-mega-toggle[aria-expanded="true"]::after { transform: scaleX(1); }
	.sv-menu > li > a:hover, .sv-mega-toggle:hover, .sv-mega-toggle[aria-expanded="true"] { color: #fff; }
	.sv-menu > .current-menu-item > a { color: #fff; }
	.sv-submenu-toggle { width: 28px; height: 28px; margin-left: -10px; background: none; }
	.sv-menu .sub-menu {
		position: absolute;
		top: calc(100% + 8px);
		left: 0;
		z-index: 10;
		display: block;
		min-width: 220px;
		padding: 8px;
		background: var(--sv-navy-900);
		border: 1px solid var(--sv-line-dark);
		border-radius: var(--sv-r-lg);
		box-shadow: var(--sv-shadow-lg);
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity 0.18s var(--sv-ease), transform 0.18s var(--sv-ease), visibility 0s linear 0.18s;
	}
	.sv-menu li:hover > .sub-menu, .sv-menu li:focus-within > .sub-menu, .sv-menu .is-open > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition-delay: 0s;
	}
	.sv-menu .sub-menu li { display: block; }
	.sv-menu .sub-menu a { min-height: 40px; padding: 8px 12px; border-radius: var(--sv-r-sm); font-size: var(--sv-fs-sm); color: var(--sv-on-dark); }
	.sv-menu .sub-menu a:hover { background: var(--sv-glass-2); }

	.sv-mega-wrap { border: 0; }
	.sv-mega-toggle { display: inline-flex; gap: 4px; width: auto; }
	.sv-mega {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: block;
		padding: var(--sv-s8) 0 var(--sv-s8);
		background:
			radial-gradient(700px 300px at 85% 0%, color-mix(in srgb, var(--sv-primary) 26%, transparent), transparent 70%),
			var(--sv-navy-950);
		border-top: 1px solid var(--sv-line-dark);
		border-bottom: 1px solid var(--sv-line-dark);
		box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.8);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity 0.22s var(--sv-ease), transform 0.3s var(--sv-ease-out), visibility 0s linear 0.3s;
	}
	.sv-mega-wrap.is-open .sv-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.sv-mega .sv-container { padding-inline: var(--sv-gutter); }
	.sv-mega__grid { grid-template-columns: 1.1fr 1.2fr 1fr 1fr; gap: var(--sv-s10); }
	.sv-mega__sports { grid-template-columns: 1fr; }
	.sv-mega__col--feature { display: block; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
	.sv-mega__grid { grid-template-columns: 1fr 1.2fr 1fr; }
	.sv-mega__col--feature { display: none; }
	.sv-menu > li > a, .sv-mega-toggle { padding-inline: 10px; }
}

/* ---------- 6. Search ---------- */
.sv-search-form { position: relative; display: flex; align-items: center; gap: var(--sv-s2); width: 100%; }
.sv-search-form__icon { position: absolute; left: 18px; color: var(--sv-muted); pointer-events: none; display: flex; }
.sv-search-form__input {
	flex: 1;
	min-width: 0;
	height: 54px;
	padding: 0 16px 0 50px;
	border: 1.5px solid var(--sv-border-strong);
	border-radius: var(--sv-r-pill);
	background: var(--sv-surface);
	color: var(--sv-text);
	font-size: var(--sv-fs-base);
	transition: border-color 0.2s, box-shadow 0.2s;
}
.sv-search-form__input:focus { outline: none; border-color: var(--sv-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--sv-primary) 20%, transparent); }
.sv-search-form__submit { height: 54px; flex: 0 0 auto; }
@media (max-width: 420px) { .sv-search-form__submit { padding-inline: 16px; } }

.sv-search-overlay { position: fixed; inset: 0; z-index: 1000; }
.sv-search-overlay__backdrop { position: absolute; inset: 0; background: rgba(5, 7, 15, 0.72); backdrop-filter: blur(6px); }
.sv-search-overlay__panel {
	position: relative;
	padding: calc(var(--sv-admin-bar) + var(--sv-s8)) 0 var(--sv-s10);
	background:
		radial-gradient(700px 260px at 50% 0%, color-mix(in srgb, var(--sv-primary) 30%, transparent), transparent 70%),
		var(--sv-navy-900);
	color: var(--sv-on-dark);
	box-shadow: var(--sv-shadow-lg);
	animation: sv-drop 0.3s var(--sv-ease-out);
}
@media (max-width: 600px) { .sv-search-overlay__panel { padding-top: var(--sv-s6); } }
@keyframes sv-drop { from { transform: translateY(-20px); opacity: 0; } to { transform: none; opacity: 1; } }
.sv-search-overlay__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--sv-s4); }
.sv-search-overlay__title { margin: 0; font-size: var(--sv-fs-xl); }
.sv-search-overlay .sv-search-form__input { border-color: transparent; height: 60px; font-size: var(--sv-fs-md); }
.sv-search-overlay .sv-search-form__submit { height: 60px; }
.sv-search-overlay__suggest { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sv-s2); margin-top: var(--sv-s4); font-size: var(--sv-fs-sm); color: var(--sv-on-dark-muted); }
.sv-search-overlay__suggest .sv-chip { background: var(--sv-glass); border-color: var(--sv-line-dark); color: var(--sv-on-dark); }
.sv-search-overlay__suggest .sv-chip:hover { border-color: var(--sv-accent); color: var(--sv-accent); }

/* ---------- 7. Ticker ---------- */
.sv-ticker {
	background: var(--sv-navy-850);
	border-top: 1px solid var(--sv-line-dark);
	border-bottom: 1px solid var(--sv-line-dark);
	color: var(--sv-on-dark);
	font-size: var(--sv-fs-sm);
}
.sv-ticker__inner { display: flex; align-items: center; gap: var(--sv-s3); min-height: 44px; }
.sv-ticker__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	margin: 0;
	padding: 7px 18px 7px 10px;
	border-radius: var(--sv-r-xs);
	background: var(--sv-primary);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
}
.sv-ticker--breaking .sv-ticker__label { background: var(--sv-live); }
.sv-ticker__pulse { width: 7px; height: 7px; border-radius: 50%; background: #fff; }
@media (prefers-reduced-motion: no-preference) {
	.sv-ticker__pulse { animation: sv-blink 1.2s steps(2, jump-none) infinite; }
}
@keyframes sv-blink { 50% { opacity: 0.25; } }
.sv-ticker__viewport {
	position: relative;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 48px), transparent);
}
.sv-ticker__track { display: flex; width: max-content; list-style: none; animation: sv-marquee var(--sv-ticker-duration, 60s) linear infinite; }
.sv-ticker:hover .sv-ticker__track, .sv-ticker:focus-within .sv-ticker__track, .sv-ticker.is-paused .sv-ticker__track { animation-play-state: paused; }
.sv-ticker__item { display: flex; align-items: center; white-space: nowrap; }
.sv-ticker__item::after { content: ""; width: 4px; height: 4px; margin-inline: 22px; border-radius: 50%; background: var(--sv-on-dark-muted); opacity: 0.6; }
.sv-ticker__item a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--sv-on-dark); font-weight: 600; text-decoration: none; }
.sv-ticker__item time { font-size: 0.75rem; font-weight: 800; color: var(--sv-accent); font-variant-numeric: tabular-nums; }
.sv-ticker__item a:hover span { text-decoration: underline; text-decoration-color: var(--sv-accent); }
.sv-ticker__toggle {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border: 1px solid var(--sv-line-dark);
	border-radius: 50%;
	background: var(--sv-glass);
	color: var(--sv-on-dark);
}
.sv-ticker__pause { width: 9px; height: 10px; border-inline: 3px solid currentColor; }
.sv-ticker__toggle[aria-pressed="true"] .sv-ticker__pause {
	width: 0;
	height: 0;
	border-inline: 0;
	border-left: 9px solid currentColor;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	margin-left: 3px;
}
@keyframes sv-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.sv-ticker__viewport { overflow-x: auto; mask-image: none; }
	.sv-ticker__track { animation: none; }
	.sv-ticker__item[aria-hidden="true"], .sv-ticker__toggle { display: none; }
}

/* ---------- 8. Ads ---------- */
.sv-ad {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin-block: var(--sv-s6);
	text-align: center;
	clear: both;
}
.sv-ad__label {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 970px;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--sv-muted);
}
.sv-ad__label::before, .sv-ad__label::after { content: ""; flex: 1; height: 1px; background: var(--sv-border); }
.sv-ad__slot { display: flex; justify-content: center; width: 100%; max-width: 100%; overflow: hidden; }
.sv-ad__slot--placeholder {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 90px;
	padding: var(--sv-s4);
	border: 1px dashed var(--sv-border-strong);
	border-radius: var(--sv-r-sm);
	background: repeating-linear-gradient(135deg, var(--sv-surface-2) 0 8px, var(--sv-surface) 8px 16px);
	color: var(--sv-muted);
}
.sv-ad__size { font-weight: 800; font-size: var(--sv-fs-sm); color: var(--sv-text-2); font-variant-numeric: tabular-nums; }
.sv-ad__hint { font-size: var(--sv-fs-xs); max-width: 420px; }
.sv-ad-row { padding-block: var(--sv-s6); }
.sv-ad-row .sv-ad { margin: 0; }
.sv-ad--header-top { margin-block: var(--sv-s5); }
.sv-ad--header-top .sv-ad__slot--placeholder, .sv-ad--home-leaderboard .sv-ad__slot--placeholder, .sv-ad--between-sections .sv-ad__slot--placeholder { max-width: 970px; }
.sv-ad--sidebar .sv-ad__slot--placeholder { min-height: 250px; }
.sv-ad--sidebar .sv-ad__label { max-width: none; }
.sv-ad--in-content .sv-ad__slot--placeholder { min-height: 250px; max-width: 336px; }
.sv-ad--mobile-only { margin-block: var(--sv-s5); }
.sv-ad--mobile-only .sv-ad__slot--placeholder { min-height: 100px; max-width: 320px; }
.sv-ad--in-grid { grid-column: 1 / -1; margin: 0; }
@media (min-width: 768px) { .sv-ad--mobile-only { display: none; } }
@media (max-width: 767px) { .sv-ad--header-top { display: none; } }

/* ---------- 9. Sections & headings ---------- */
.sv-section { padding-block: var(--sv-section); }
.sv-section--flush { padding-block: var(--sv-s6) 0; }

.sv-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--sv-s3) var(--sv-s4);
	margin-bottom: var(--sv-s6);
}
.sv-section-head__main { min-width: 0; margin-right: auto; }
.sv-section-head__kicker {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sv-cat-ink);
}
.sv-section-head__kicker::before { content: ""; width: 18px; height: 2px; background: currentColor; }
.sv-section-head__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: var(--sv-fs-2xl);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 1.05;
}
.sv-section-head__icon {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: color-mix(in srgb, var(--sv-cat) 14%, transparent);
	color: var(--sv-cat-ink);
}
.sv-section-head__extra { display: flex; align-items: center; gap: var(--sv-s2); }
.sv-section-head__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	color: var(--sv-text);
	font-size: var(--sv-fs-sm);
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}
.sv-section-head__link .sv-icon { transition: transform 0.25s var(--sv-ease-out); color: var(--sv-cat-ink); }
.sv-section-head__link:hover { color: var(--sv-cat-ink); }
.sv-section-head__link:hover .sv-icon { transform: translateX(4px); }

/* Dark bands share heading colours */
.sv-video .sv-section-head, .sv-tournaments .sv-section-head, .sv-spotlight--c .sv-section-head { color: #fff; }
.sv-video .sv-section-head__kicker, .sv-tournaments .sv-section-head__kicker { color: var(--sv-accent); }
.sv-video .sv-section-head__icon, .sv-tournaments .sv-section-head__icon { background: var(--sv-glass-2); color: var(--sv-accent); }
.sv-video .sv-section-head__link, .sv-tournaments .sv-section-head__link { color: #fff; }
.sv-video .sv-section-head__link .sv-icon, .sv-tournaments .sv-section-head__link .sv-icon { color: var(--sv-accent); }

/* ---------- 10. Grids ---------- */
.sv-grid { display: grid; gap: var(--sv-s6) var(--sv-s5); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) {
	.sv-grid--2, .sv-grid--3, .sv-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.sv-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sv-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sv-grid { gap: var(--sv-s8) var(--sv-s6); }
}
.sv-list { display: grid; gap: var(--sv-s4); }

/* ---------- 11. Cards ---------- */
.sv-card { position: relative; display: flex; min-width: 0; }
.sv-card__media { position: relative; overflow: hidden; background: var(--sv-navy-800); }
.sv-card__media .sv-img, .sv-card__media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--sv-ease-out), filter 0.4s;
}
.sv-card:hover .sv-card__media .sv-img, .sv-card:focus-within .sv-card__media .sv-img { transform: scale(1.05); }
.sv-card__body { min-width: 0; }
.sv-card__title { margin: 0 0 var(--sv-s2); font-weight: 800; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.sv-card__link {
	color: inherit;
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0% 2px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.35s var(--sv-ease-out), color 0.2s;
}
.sv-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.sv-card:hover .sv-card__link { background-size: 100% 2px; }
.sv-card__link:hover { color: inherit; }
.sv-card__link:focus-visible { outline: none; }
.sv-card__link:focus-visible::after { outline: 3px solid var(--sv-accent); outline-offset: 2px; border-radius: var(--sv-r); }
.sv-card__excerpt { margin: 0 0 var(--sv-s3); color: var(--sv-text-2); font-size: var(--sv-fs-sm); line-height: 1.55; }
.sv-card__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 6px; font-size: var(--sv-fs-xs); color: var(--sv-muted); }
.sv-card__eyebrow .sv-badge { margin: 0; }
.sv-card__play {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(5, 7, 15, 0.6);
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(6px);
	transition: transform 0.3s var(--sv-ease-out), background-color 0.2s;
}
.sv-card__play--lg { width: 58px; height: 58px; left: 50%; top: 50%; bottom: auto; transform: translate(-50%, -50%); }
.sv-card:hover .sv-card__play { background: var(--sv-primary); border-color: var(--sv-primary); }
.sv-card:hover .sv-card__play--lg { transform: translate(-50%, -50%) scale(1.08); }

/* News card — editorial, frameless */
.sv-card--news { flex-direction: column; gap: var(--sv-s3); }
.sv-card--news .sv-card__media { aspect-ratio: 16 / 10; border-radius: var(--sv-r); }
.sv-card--news .sv-card__body { display: flex; flex-direction: column; flex: 1; }
.sv-card--news .sv-card__title { font-size: 1.125rem; line-height: 1.28; }
.sv-card--news .sv-meta { margin-top: auto; }
.sv-card--news-lead .sv-card__media { aspect-ratio: 16 / 9; border-radius: var(--sv-r-lg); }
.sv-card--news-lead .sv-card__title { font-size: var(--sv-fs-2xl); line-height: 1.1; letter-spacing: -0.03em; }
.sv-card--news-lead .sv-card__excerpt { font-size: var(--sv-fs-md); max-width: 62ch; }
.sv-card--news-flat .sv-card__title { font-size: 1.0625rem; }

/* Featured — cinematic */
.sv-card--featured {
	flex-direction: column;
	justify-content: flex-end;
	min-height: 100%;
	border-radius: var(--sv-r-lg);
	overflow: hidden;
	background: var(--sv-navy-900);
	color: #fff;
	isolation: isolate;
}
.sv-card--featured .sv-card__media { position: absolute; inset: 0; z-index: -1; }
.sv-card--featured .sv-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(5, 7, 15, 0) 25%, rgba(5, 7, 15, 0.55) 55%, rgba(5, 7, 15, 0.94) 100%),
		linear-gradient(90deg, rgba(5, 7, 15, 0.35), transparent 60%);
}
.sv-card--featured .sv-card__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(0deg, color-mix(in srgb, var(--sv-cat) 38%, transparent), transparent 55%);
	opacity: 0;
	transition: opacity 0.5s var(--sv-ease);
	mix-blend-mode: screen;
}
.sv-card--featured:hover .sv-card__media::before { opacity: 0.5; }
.sv-card--featured .sv-card__body { position: relative; padding: var(--sv-s5); padding-top: 38%; }
.sv-card__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: var(--sv-s3); }
.sv-card__kicker .sv-badge { margin: 0; }
.sv-card__flag {
	padding: 5px 8px;
	border-radius: var(--sv-r-xs);
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.sv-card--featured .sv-card__title { font-size: var(--sv-fs-xl); line-height: 1.12; text-wrap: balance; text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35); }
.sv-card--featured .sv-card__link { background-image: linear-gradient(var(--sv-accent), var(--sv-accent)); }
.sv-card--featured .sv-card__excerpt { color: rgba(243, 246, 255, 0.82); display: none; }
.sv-card--featured .sv-meta { color: var(--sv-on-dark-muted); }
.sv-card--featured .sv-meta__author { color: #fff; }
@media (min-width: 600px) {
	.sv-card--featured .sv-card__body { padding: var(--sv-s8); padding-top: 30%; }
	.sv-card--featured .sv-card__excerpt { display: block; max-width: 60ch; font-size: var(--sv-fs-base); }
}
.sv-card--hero .sv-card__title { font-size: var(--sv-fs-hero); letter-spacing: -0.035em; line-height: 1.04; }
.sv-card--hero .sv-card__body { padding-top: 55%; }
@media (min-width: 1024px) {
	.sv-card--hero .sv-card__body { padding: var(--sv-s10); padding-top: 0; }
	.sv-card--hero { min-height: 560px; }
	.sv-card--hero .sv-card__excerpt { font-size: var(--sv-fs-md); }
}
.sv-card--wide .sv-card__title { font-size: var(--sv-fs-2xl); }
@media (min-width: 1024px) { .sv-card--wide { min-height: 460px; } .sv-card--wide .sv-card__body { padding-top: 0; } }

/* Compact row */
.sv-card--compact { align-items: flex-start; gap: var(--sv-s3); }
.sv-card--compact .sv-card__media { flex: 0 0 108px; aspect-ratio: 16 / 11; border-radius: var(--sv-r-sm); }
.sv-card--compact .sv-card__title { font-size: 0.9375rem; line-height: 1.3; margin-bottom: 6px; }
.sv-card--compact .sv-badge { margin-bottom: 6px; }
@media (min-width: 1200px) { .sv-card--compact .sv-card__media { flex-basis: 124px; } }

/* Text row */
.sv-card--text .sv-card__title { font-size: 1.0625rem; line-height: 1.3; }
.sv-card--text .sv-badge { margin-bottom: 6px; }

/* Horizontal (search / lists) */
.sv-card--horizontal {
	flex-direction: column;
	background: var(--sv-surface);
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-r-lg);
	overflow: hidden;
	transition: box-shadow 0.3s var(--sv-ease), transform 0.3s var(--sv-ease), border-color 0.3s;
}
.sv-card--horizontal:hover { box-shadow: var(--sv-shadow); transform: translateY(-2px); border-color: var(--sv-border-strong); }
.sv-card--horizontal .sv-card__media { aspect-ratio: 16 / 9; }
.sv-card--horizontal .sv-card__body { padding: var(--sv-s4) var(--sv-s5) var(--sv-s5); }
.sv-card--horizontal .sv-card__title { font-size: var(--sv-fs-lg); line-height: 1.25; }
@media (min-width: 600px) {
	.sv-card--horizontal { flex-direction: row; }
	.sv-card--horizontal .sv-card__media { flex: 0 0 36%; aspect-ratio: auto; min-height: 190px; }
	.sv-card--horizontal .sv-card__body { padding: var(--sv-s5) var(--sv-s6); align-self: center; }
}

/* Rank row (trending, sidebars) */
.sv-card--rank { align-items: center; gap: var(--sv-s4); padding-block: var(--sv-s4); }
.sv-card__rank {
	flex: 0 0 auto;
	width: 2.2ch;
	font-size: clamp(2.2rem, 1.8rem + 1.4vw, 3.25rem);
	font-weight: 900;
	line-height: 0.85;
	letter-spacing: -0.06em;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--sv-border-strong);
	font-variant-numeric: tabular-nums;
	transition: -webkit-text-stroke-color 0.3s, color 0.3s;
}
.sv-card--rank:hover .sv-card__rank { -webkit-text-stroke-color: var(--sv-primary); }
.sv-card--rank .sv-card__body { flex: 1; }
.sv-card--rank .sv-card__title { font-size: 1.0625rem; line-height: 1.3; margin: 0; }
.sv-card--rank .sv-card__media { flex: 0 0 76px; aspect-ratio: 1; border-radius: var(--sv-r-sm); }

/* Video card */
.sv-card--video { flex-direction: column; gap: var(--sv-s3); }
.sv-card--video .sv-card__media { aspect-ratio: 16 / 9; border-radius: var(--sv-r); }
.sv-card--video .sv-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(5, 7, 15, 0.6)); }
.sv-card__duration {
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 2;
	padding: 3px 7px;
	border-radius: var(--sv-r-xs);
	background: rgba(5, 7, 15, 0.85);
	color: #fff;
	font-size: var(--sv-fs-xs);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}
.sv-card--video .sv-card__title { font-size: 0.9375rem; line-height: 1.3; }

/* Player card (portrait) */
.sv-card--player {
	flex-direction: column;
	justify-content: flex-end;
	min-height: 360px;
	border-radius: var(--sv-r-lg);
	overflow: hidden;
	background: var(--sv-navy-900);
	color: #fff;
	isolation: isolate;
}
.sv-card--player .sv-card__media { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--sv-cat) 45%, var(--sv-navy-800)), var(--sv-navy-950) 75%); }
.sv-card--player .sv-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(5, 7, 15, 0.92) 85%); }
.sv-card__silhouette {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	padding-bottom: 30%;
	font-size: 4.5rem;
	font-weight: 900;
	letter-spacing: -0.05em;
	color: rgba(255, 255, 255, 0.14);
	background:
		radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.1) 0 18%, transparent 18.5%),
		radial-gradient(ellipse 60% 40% at 50% 95%, rgba(255, 255, 255, 0.08) 0 60%, transparent 61%);
}
.sv-card--player .sv-card__body { padding: var(--sv-s5); }
.sv-card--player .sv-card__eyebrow { color: var(--sv-on-dark-muted); }
.sv-card--player .sv-card__title { font-size: 1.375rem; margin-bottom: 4px; }
.sv-card--player .sv-card__link { background-image: linear-gradient(var(--sv-cat), var(--sv-cat)); }
.sv-card__sub { margin: 0; font-size: var(--sv-fs-sm); color: var(--sv-on-dark-muted); }
.sv-card__more {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 12px;
	margin: 0;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.45s var(--sv-ease-out), opacity 0.3s, margin 0.3s;
}
.sv-card__more div { min-width: 0; }
.sv-card__more dt { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sv-on-dark-muted); }
.sv-card__more dd { margin: 0; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sv-card--player:hover .sv-card__more, .sv-card--player:focus-within .sv-card__more { max-height: 200px; opacity: 1; margin-top: var(--sv-s3); padding-top: var(--sv-s3); border-top: 1px solid var(--sv-line-dark); }
@media (hover: none) { .sv-card__more { max-height: 200px; opacity: 1; margin-top: var(--sv-s3); } }

/* Profile cards (team / tournament archive) */
.sv-card--profile {
	align-items: center;
	gap: var(--sv-s4);
	padding: var(--sv-s4);
	background: var(--sv-surface);
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-r-lg);
	transition: box-shadow 0.25s var(--sv-ease), border-color 0.25s, transform 0.25s;
}
.sv-card--profile:hover { box-shadow: var(--sv-shadow); border-color: var(--sv-cat); transform: translateY(-2px); }
.sv-card__avatar {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--sv-navy-700), var(--sv-navy-900));
	color: #fff;
}
.sv-card__avatar--logo { border-radius: var(--sv-r); background: var(--sv-surface-2); color: var(--sv-cat-ink); border: 1px solid var(--sv-border); }
.sv-card__avatar .sv-img { width: 100%; height: 100%; object-fit: cover; }
.sv-card__avatar--logo .sv-img { object-fit: contain; padding: 6px; }
.sv-card__initials { font-weight: 900; font-size: 1.125rem; letter-spacing: -0.02em; }
.sv-card--profile .sv-card__title { font-size: var(--sv-fs-base); margin-bottom: 2px; }
.sv-card--profile .sv-badge { margin-bottom: 4px; }
.sv-img--placeholder { background: var(--sv-navy-800); }

/* ---------- 12. Hero newsroom ---------- */
.sv-hero {
	position: relative;
	padding-block: var(--sv-s5) var(--sv-s8);
	background:
		radial-gradient(1000px 500px at 90% -20%, color-mix(in srgb, var(--sv-primary) 34%, transparent), transparent 70%),
		radial-gradient(700px 400px at -10% 110%, color-mix(in srgb, var(--sv-accent) 12%, transparent), transparent 70%),
		var(--sv-navy-900);
	color: var(--sv-on-dark);
	overflow: hidden;
}
.sv-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(180deg, #000, transparent 80%);
	pointer-events: none;
}
.sv-hero .sv-container { position: relative; }
.sv-hero__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--sv-s4); margin-bottom: var(--sv-s4); }
.sv-hero__label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.sv-hero__label-mark { width: 26px; height: 3px; background: linear-gradient(90deg, var(--sv-primary), var(--sv-accent)); border-radius: 2px; }
.sv-hero__updated { margin: 0; font-size: var(--sv-fs-xs); color: var(--sv-on-dark-muted); }
.sv-hero__grid { display: grid; gap: var(--sv-s4); }
.sv-hero__lead .sv-card--featured { box-shadow: var(--sv-shadow-lg); }
.sv-hero__stack { list-style: none; }
.sv-hero__stack li {
	position: relative;
	padding-block: var(--sv-s4);
	border-bottom: 1px solid var(--sv-line-dark);
}
.sv-hero__stack li:last-child { border-bottom: 0; }
.sv-hero .sv-card--compact .sv-card__media { flex-basis: 116px; border-radius: var(--sv-r); }
.sv-hero .sv-card--compact .sv-card__title { font-size: 1rem; }
.sv-hero .sv-card--compact .sv-meta { color: var(--sv-on-dark-muted); }
.sv-hero .sv-card--compact .sv-badge { color: var(--sv-cat); }
.sv-hero .sv-card--compact .sv-card__link { background-image: linear-gradient(var(--sv-accent), var(--sv-accent)); }
.sv-hero--empty { padding-block: var(--sv-s10); }
@media (min-width: 768px) {
	.sv-hero .sv-card--compact .sv-card__media { flex-basis: 168px; }
	.sv-hero .sv-card--compact .sv-card__title { font-size: 1.125rem; line-height: 1.25; }
}
@media (min-width: 1024px) {
	.sv-hero { padding-block: var(--sv-s6) var(--sv-s10); }
	.sv-hero__grid { grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: var(--sv-s8); align-items: stretch; }
	.sv-hero--solo .sv-hero__grid { grid-template-columns: 1fr; }
	.sv-hero__stack { display: flex; flex-direction: column; justify-content: space-between; }
	.sv-hero__stack li { padding-block: 0; flex: 1; display: flex; align-items: center; }
	.sv-hero__stack li + li { padding-top: var(--sv-s4); }
	.sv-hero__stack li:not(:last-child) { padding-bottom: var(--sv-s4); }
	.sv-hero__stack .sv-card { width: 100%; }
}

/* ---------- 13. Score centre ---------- */
.sv-scorecenter {
	position: relative;
	padding-block: var(--sv-s8) var(--sv-s10);
	background: linear-gradient(180deg, var(--sv-navy-950), #080d1c);
	color: var(--sv-on-dark);
	border-top: 1px solid var(--sv-line-dark);
}
.sv-scorecenter::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--sv-accent) 50%, transparent), transparent);
}
.sv-scorecenter__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sv-s3); margin-bottom: var(--sv-s5); }
.sv-scorecenter__title-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.sv-scorecenter__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: var(--sv-fs-xl);
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.sv-scorecenter__icon {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(255, 46, 85, 0.14);
	color: var(--sv-live);
}
.sv-scorecenter__count {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 10px;
	border-radius: var(--sv-r-pill);
	background: rgba(255, 46, 85, 0.12);
	color: #ff8aa0;
	font-size: var(--sv-fs-xs);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.sv-scorecenter__note { font-size: var(--sv-fs-xs); color: var(--sv-on-dark-muted); }
.sv-scorecenter__all { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: #fff; font-size: var(--sv-fs-sm); font-weight: 800; text-decoration: none; }
.sv-scorecenter__all .sv-icon { color: var(--sv-accent); transition: transform 0.25s var(--sv-ease-out); }
.sv-scorecenter__all:hover { color: var(--sv-accent); }
.sv-scorecenter__all:hover .sv-icon { transform: translateX(4px); }
.sv-scorecenter__controls { display: flex; align-items: center; justify-content: space-between; gap: var(--sv-s3); margin-bottom: var(--sv-s4); }
.sv-scorecenter__controls .sv-rail-nav__btn { background: var(--sv-glass); border-color: var(--sv-line-dark); color: #fff; }
.sv-scorecenter__controls .sv-rail-nav__btn:hover:not(:disabled) { background: #fff; color: var(--sv-ink); }
.sv-scorecenter__empty { margin: 0; padding: var(--sv-s6); color: var(--sv-on-dark-muted); }

.sv-tabs {
	display: flex;
	gap: 4px;
	padding: 4px;
	max-width: 100%;
	overflow-x: auto;
	scrollbar-width: none;
	background: var(--sv-glass);
	border: 1px solid var(--sv-line-dark);
	border-radius: var(--sv-r-pill);
}
.sv-tabs::-webkit-scrollbar { display: none; }
.sv-tab {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	min-height: 40px;
	padding: 8px 16px;
	border: 0;
	border-radius: var(--sv-r-pill);
	background: transparent;
	color: var(--sv-on-dark-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: background-color 0.25s var(--sv-ease), color 0.2s;
}
.sv-tab:hover { color: #fff; }
.sv-tab[aria-selected="true"] { background: #fff; color: var(--sv-ink); box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.6); }
.sv-tab[data-empty="true"] { opacity: 0.5; }

.sv-scorecenter__rail { grid-auto-columns: minmax(270px, 84%); }
@media (min-width: 600px) { .sv-scorecenter__rail { grid-auto-columns: minmax(280px, 46%); } }
@media (min-width: 1024px) {
	.sv-scorecenter__rail { grid-auto-columns: calc((100% - 3 * var(--sv-s4)) / 4); margin-inline: 0; padding-inline: 0; }
}

.sv-score {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sv-s3);
	padding: 14px 16px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
	border: 1px solid var(--sv-line-dark);
	border-radius: var(--sv-r-lg);
	color: var(--sv-on-dark);
	transition: transform 0.3s var(--sv-ease), border-color 0.3s, background-color 0.3s, box-shadow 0.3s;
	overflow: hidden;
}
.sv-score::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--sv-cat); opacity: 0.9; }
.sv-score:hover { transform: translateY(-3px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 20px 40px -24px rgba(0, 0, 0, 0.9); }
.sv-score--live { background: linear-gradient(180deg, rgba(255, 46, 85, 0.12), rgba(255, 255, 255, 0.025) 60%); border-color: rgba(255, 46, 85, 0.3); }
.sv-score--live::before { background: var(--sv-live); }
.sv-score.is-entering { animation: sv-fade-up 0.35s var(--sv-ease-out) both; }
.sv-score__head { display: flex; align-items: center; justify-content: space-between; gap: var(--sv-s2); }
.sv-score__comp { display: flex; align-items: center; gap: 8px; min-width: 0; }
.sv-score__glyph { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: color-mix(in srgb, var(--sv-cat) 18%, transparent); color: var(--sv-cat); flex: 0 0 auto; }
.sv-score__tournament { font-size: 0.75rem; font-weight: 700; color: var(--sv-on-dark-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-score .sv-status { background: var(--sv-glass-2); border-color: transparent; color: var(--sv-on-dark-muted); }
.sv-score .sv-status--live { background: var(--sv-live); color: #fff; }
.sv-score .sv-status--live .sv-dot { background: #fff; animation: none; }
.sv-score .sv-status--finished { background: rgba(22, 199, 132, 0.15); color: #5ee6ad; }
.sv-score .sv-status--upcoming { background: color-mix(in srgb, var(--sv-primary) 22%, transparent); color: #a9c1ff; }
.sv-score__teams { display: grid; gap: 10px; }
.sv-score__team { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.sv-score__name { font-weight: 700; font-size: 0.9375rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-score__value { display: flex; flex-direction: column; align-items: flex-end; font-weight: 900; font-size: 1.125rem; line-height: 1; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.sv-score__value small { margin-top: 3px; font-size: 0.6875rem; font-weight: 600; color: var(--sv-on-dark-muted); }
.sv-score--finished .sv-score__team:not(.is-winner) { opacity: 0.6; }
.sv-score__team.is-winner .sv-score__name::after { content: ""; display: inline-block; width: 0; height: 0; margin-left: 8px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 6px solid var(--sv-success); vertical-align: middle; }
.sv-score--upcoming .sv-score__teams { grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--sv-s3); }
.sv-score--upcoming .sv-score__team { grid-column: 1; }
.sv-score__kickoff { grid-column: 2; grid-row: 1 / span 2; display: flex; align-items: center; padding-left: var(--sv-s3); border-left: 1px solid var(--sv-line-dark); }
.sv-score__kickoff time { display: flex; flex-direction: column; align-items: flex-end; }
.sv-score__kickoff strong { font-size: 1.125rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.sv-score__kickoff span { font-size: 0.6875rem; color: var(--sv-on-dark-muted); font-weight: 600; }
.sv-score__foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--sv-line-dark); }
.sv-score__line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 0.8125rem; font-weight: 700; color: var(--sv-on-dark); }
.sv-score__line--result { color: #5ee6ad; }
.sv-score__period { padding: 2px 7px; border-radius: var(--sv-r-xs); background: rgba(255, 46, 85, 0.18); color: #ff9db0; font-size: 0.6875rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.sv-score__info { display: flex; flex-wrap: wrap; gap: 3px 12px; margin: 0; font-size: 0.6875rem; color: var(--sv-on-dark-muted); }
.sv-score__info span { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.sv-score__venue { overflow: hidden; }
.sv-score__link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.sv-score__link:focus-visible { outline: 3px solid var(--sv-accent); outline-offset: -3px; }
.sv-score .sv-countdown { background: color-mix(in srgb, var(--sv-primary) 22%, transparent); color: #c7d6ff; }

/* Light-context score cards (archives, match & tournament pages) */
.sv-cpt-archive .sv-score, .sv-layout .sv-score {
	background: var(--sv-surface);
	border-color: var(--sv-border);
	color: var(--sv-text);
	box-shadow: var(--sv-shadow-sm);
}
.sv-cpt-archive .sv-score--live, .sv-layout .sv-score--live { background: linear-gradient(180deg, #fff3f5, #fff 60%); border-color: #ffc9d4; }
.sv-cpt-archive .sv-score__tournament, .sv-layout .sv-score__tournament,
.sv-cpt-archive .sv-score__info, .sv-layout .sv-score__info,
.sv-cpt-archive .sv-score__value small, .sv-layout .sv-score__value small,
.sv-cpt-archive .sv-score__kickoff span, .sv-layout .sv-score__kickoff span { color: var(--sv-muted); }
.sv-cpt-archive .sv-score__glyph, .sv-layout .sv-score__glyph { color: var(--sv-cat-ink); }
.sv-cpt-archive .sv-score__foot, .sv-layout .sv-score__foot,
.sv-cpt-archive .sv-score__kickoff, .sv-layout .sv-score__kickoff { border-color: var(--sv-border); }
.sv-cpt-archive .sv-score__line, .sv-layout .sv-score__line { color: var(--sv-text-2); }
.sv-cpt-archive .sv-score__line--result, .sv-layout .sv-score__line--result { color: var(--sv-success-ink); }
.sv-cpt-archive .sv-score .sv-status, .sv-layout .sv-score .sv-status { background: var(--sv-surface-2); color: var(--sv-muted); }
.sv-cpt-archive .sv-score .sv-status--live, .sv-layout .sv-score .sv-status--live { background: var(--sv-live); color: #fff; }
.sv-cpt-archive .sv-score .sv-status--finished, .sv-layout .sv-score .sv-status--finished { background: #e9f9f1; color: var(--sv-success-ink); }
.sv-cpt-archive .sv-score .sv-status--upcoming, .sv-layout .sv-score .sv-status--upcoming { background: var(--sv-primary-50); color: var(--sv-primary-600); }
.sv-cpt-archive .sv-score .sv-countdown, .sv-layout .sv-score .sv-countdown { background: var(--sv-primary-50); color: var(--sv-primary-600); }
.sv-cpt-archive .sv-score__period, .sv-layout .sv-score__period { color: var(--sv-live-ink); background: #ffe4ea; }
.sv-cpt-archive .sv-score:hover, .sv-layout .sv-score:hover { border-color: var(--sv-border-strong); box-shadow: var(--sv-shadow); }

/* Team badge */
.sv-team-badge {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	overflow: hidden;
	border-radius: 50%;
	background: linear-gradient(135deg, color-mix(in srgb, var(--sv-cat) 30%, #1a2445), color-mix(in srgb, var(--sv-cat) 10%, #0d1429));
	border: 1px solid color-mix(in srgb, var(--sv-cat) 35%, transparent);
	color: #fff;
}
.sv-team-badge img { width: 100%; height: 100%; object-fit: contain; padding: 3px; background: #fff; }
.sv-team-badge__initials { font-weight: 900; letter-spacing: -0.02em; line-height: 1; }
.sv-team-badge--xs { width: 22px; height: 22px; font-size: 0.5rem; }
.sv-team-badge--sm { width: 30px; height: 30px; font-size: 0.625rem; }
.sv-team-badge--md { width: 52px; height: 52px; font-size: 0.8125rem; }
.sv-team-badge--lg { width: 72px; height: 72px; font-size: 1.125rem; }
@media (min-width: 768px) { .sv-team-badge--lg { width: 96px; height: 96px; font-size: 1.375rem; } }

/* Mini match row (mega menu, quick panels, tournament cards) */
.sv-mini {
	position: relative;
	padding: 10px 12px;
	border-radius: var(--sv-r);
	background: var(--sv-glass);
	border: 1px solid var(--sv-line-dark);
	transition: border-color 0.2s, background-color 0.2s;
}
.sv-mini:hover { border-color: rgba(255, 255, 255, 0.22); background: var(--sv-glass-2); }
.sv-mini__meta { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 6px; font-size: 0.6875rem; color: var(--sv-on-dark-muted); }
.sv-mini__comp { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 700; }
.sv-mini__state { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; font-weight: 700; }
.sv-mini__state.is-live { color: #ff8aa0; }
.sv-mini__team { display: flex; align-items: center; gap: 8px; margin: 0; padding-block: 2px; font-size: var(--sv-fs-sm); font-weight: 700; }
.sv-mini__name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-mini__score { font-weight: 900; font-variant-numeric: tabular-nums; }
.sv-mini--finished .sv-mini__team:not(.is-winner) { opacity: 0.65; }
.sv-mini__link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
/* Light context */
.sv-spotlight:not(.sv-spotlight--c) .sv-mini { background: var(--sv-surface); border-color: var(--sv-border); color: var(--sv-text); }
.sv-spotlight:not(.sv-spotlight--c) .sv-mini:hover { border-color: var(--sv-cat); }
.sv-spotlight:not(.sv-spotlight--c) .sv-mini__meta { color: var(--sv-muted); }
.sv-spotlight:not(.sv-spotlight--c) .sv-mini__state.is-live { color: var(--sv-live-ink); }

/* Fixture card */
.sv-fixture {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sv-s4);
	padding: var(--sv-s4) var(--sv-s4) var(--sv-s5);
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-r-lg);
	background: var(--sv-surface);
	text-align: center;
	transition: box-shadow 0.3s var(--sv-ease), border-color 0.3s, transform 0.3s var(--sv-ease);
	overflow: hidden;
}
.sv-fixture::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--sv-cat); transform: scaleX(0.2); transform-origin: left; transition: transform 0.4s var(--sv-ease-out); }
.sv-fixture:hover { box-shadow: var(--sv-shadow); border-color: var(--sv-border-strong); transform: translateY(-3px); }
.sv-fixture:hover::before { transform: scaleX(1); }
.sv-fixture__comp { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; font-size: var(--sv-fs-xs); color: var(--sv-muted); font-weight: 700; min-width: 0; }
.sv-fixture__glyph { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: color-mix(in srgb, var(--sv-cat) 14%, transparent); color: var(--sv-cat-ink); flex: 0 0 auto; }
.sv-fixture__tournament { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-fixture__teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: var(--sv-s2); }
.sv-fixture__team { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; }
.sv-fixture__name { font-weight: 800; font-size: var(--sv-fs-sm); line-height: 1.25; overflow-wrap: anywhere; }
.sv-fixture__vs { align-self: center; margin-top: -18px; font-size: 0.6875rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sv-muted); }
.sv-fixture__when { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.sv-fixture__date { display: flex; flex-direction: column; font-size: var(--sv-fs-xs); color: var(--sv-muted); font-weight: 600; }
.sv-fixture__date strong { font-size: 1.375rem; font-weight: 900; color: var(--sv-text); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.sv-fixture__venue { display: inline-flex; align-items: center; justify-content: center; gap: 4px; margin: 0; font-size: var(--sv-fs-xs); color: var(--sv-muted); }
.sv-fixture__link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.sv-fixture__link:focus-visible { outline: 3px solid var(--sv-accent); outline-offset: -3px; }
.sv-fixture--compact { padding: var(--sv-s3); text-align: left; gap: 8px; }
.sv-fixture--compact .sv-fixture__comp { justify-content: flex-start; }
.sv-fixture--compact .sv-fixture__teams { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.sv-fixture--compact .sv-fixture__team { flex-direction: row; }
.sv-fixture--compact .sv-fixture__vs { display: none; }
.sv-fixture--compact .sv-fixture__when { flex-direction: row; justify-content: space-between; }
.sv-fixture--compact .sv-fixture__date { flex-direction: row; gap: 6px; align-items: baseline; }
.sv-fixture--compact .sv-fixture__date strong { font-size: var(--sv-fs-sm); }

.sv-countdown {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 3px 10px;
	border-radius: var(--sv-r-pill);
	background: var(--sv-primary-50);
	color: var(--sv-primary-600);
	font-size: var(--sv-fs-xs);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}
.sv-countdown:empty { display: none; }
.sv-countdown.is-soon { background: #fff4e5; color: #9a4d00; }
.sv-countdown.is-started { background: rgba(255, 46, 85, 0.12); color: var(--sv-live-ink); }

/* ---------- 14. Latest stream ---------- */
.sv-latest__top { display: grid; gap: var(--sv-s6); margin-bottom: var(--sv-s10); }
.sv-latest__stack { list-style: none; padding: var(--sv-s2) var(--sv-s5); background: var(--sv-surface); border: 1px solid var(--sv-border); border-radius: var(--sv-r-lg); }
.sv-latest__stack li { padding-block: var(--sv-s4); border-bottom: 1px solid var(--sv-border); }
.sv-latest__stack li:last-child { border-bottom: 0; }
.sv-latest__grid { padding-top: var(--sv-s8); border-top: 1px solid var(--sv-border); }
.sv-latest__grid:empty { display: none; }
@media (min-width: 1024px) {
	.sv-latest__top { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sv-s8); align-items: start; }
	.sv-latest__stack { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; }
}
.sv-loadmore { display: flex; justify-content: center; margin-top: var(--sv-s10); }
.sv-loadmore .sv-btn { min-width: 240px; }
.is-new { animation: sv-fade-up 0.45s var(--sv-ease-out) both; }
@keyframes sv-fade-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.sv-home-widgets .widget { background: var(--sv-surface); border: 1px solid var(--sv-border); border-radius: var(--sv-r-lg); padding: var(--sv-s5); }

/* ---------- 15. Sport switcher ---------- */
.sv-sportnav { background: var(--sv-surface); border-block: 1px solid var(--sv-border); padding-block: var(--sv-s5); }
.sv-sportnav__list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(200px, 1fr);
	gap: var(--sv-s3);
	list-style: none;
	margin-inline: calc(var(--sv-gutter) * -1);
	padding: 2px var(--sv-gutter);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.sv-sportnav__list::-webkit-scrollbar { display: none; }
.sv-sportnav__list > li { scroll-snap-align: start; }
@media (min-width: 1200px) { .sv-sportnav__list { margin-inline: 0; padding-inline: 0; overflow: visible; grid-auto-columns: minmax(0, 1fr); } }
.sv-sportnav__text { overflow: hidden; }
.sv-sportnav__name { overflow: hidden; text-overflow: ellipsis; }
.sv-sportnav__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	height: 100%;
	padding: 12px 14px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-r-lg);
	background: var(--sv-surface);
	color: var(--sv-text);
	text-decoration: none;
	overflow: hidden;
	isolation: isolate;
	transition: border-color 0.3s, transform 0.3s var(--sv-ease), box-shadow 0.3s;
}
.sv-sportnav__item::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(135deg, color-mix(in srgb, var(--sv-cat) 16%, #fff), #fff 70%);
	opacity: 0;
	transition: opacity 0.3s;
}
.sv-sportnav__item:hover { border-color: var(--sv-cat); transform: translateY(-2px); box-shadow: var(--sv-shadow); color: var(--sv-text); }
.sv-sportnav__item:hover::before { opacity: 1; }
.sv-sportnav__glyph {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--sv-cat) 14%, transparent);
	color: var(--sv-cat-ink);
	transition: background-color 0.3s, color 0.3s;
}
.sv-sportnav__item:hover .sv-sportnav__glyph { background: var(--sv-cat); color: var(--sv-ink); }
[data-sport="all"] .sv-sportnav__item:hover .sv-sportnav__glyph, [data-sport="football"] .sv-sportnav__item:hover .sv-sportnav__glyph { color: #fff; }
.sv-sportnav__text { display: flex; flex-direction: column; min-width: 0; }
.sv-sportnav__name { font-weight: 900; font-size: 0.9375rem; letter-spacing: 0.02em; text-transform: uppercase; }
.sv-sportnav__count { font-size: var(--sv-fs-xs); color: var(--sv-muted); }
.sv-sportnav__arrow { margin-left: auto; color: var(--sv-muted); transition: transform 0.25s var(--sv-ease-out), color 0.2s; }
.sv-sportnav__item:hover .sv-sportnav__arrow { transform: translateX(3px); color: var(--sv-cat-ink); }

/* ---------- 16. Sport spotlights ---------- */
.sv-spotlight { padding-block: var(--sv-section); background: var(--sv-surface); }
.sv-spotlight--b { background: linear-gradient(180deg, var(--sv-bg), var(--sv-surface-2)); }
.sv-spotlight--c {
	background:
		radial-gradient(900px 400px at 100% 0%, color-mix(in srgb, var(--sv-cat) 18%, transparent), transparent 70%),
		var(--sv-navy-900);
	color: var(--sv-on-dark);
}
.sv-spotlight__head {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sv-s3) var(--sv-s4);
	margin-bottom: var(--sv-s6);
	padding-bottom: var(--sv-s4);
	border-bottom: 1px solid var(--sv-border);
}
.sv-spotlight__head::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 72px; height: 3px; background: var(--sv-cat); border-radius: 2px; }
.sv-spotlight--c .sv-spotlight__head { border-color: var(--sv-line-dark); }
.sv-spotlight__glyph {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: var(--sv-cat);
	color: var(--sv-ink);
	box-shadow: 0 10px 24px -12px var(--sv-cat);
}
[data-sport="football"] .sv-spotlight__glyph { color: #fff; }
.sv-spotlight__title { margin: 0; font-size: var(--sv-fs-2xl); font-weight: 900; letter-spacing: -0.03em; text-transform: uppercase; }
.sv-spotlight__subs { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.sv-spotlight__subs a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 4px 12px;
	border-radius: var(--sv-r-pill);
	background: var(--sv-surface-2);
	border: 1px solid var(--sv-border);
	color: var(--sv-text-2);
	font-size: var(--sv-fs-xs);
	font-weight: 700;
	text-decoration: none;
}
.sv-spotlight__subs a:hover { border-color: var(--sv-cat); color: var(--sv-cat-ink); }
.sv-spotlight__all { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-left: auto; color: inherit; font-size: var(--sv-fs-sm); font-weight: 800; text-decoration: none; }
.sv-spotlight__all .sv-icon { color: var(--sv-cat-ink); transition: transform 0.25s var(--sv-ease-out); }
.sv-spotlight--c .sv-spotlight__all .sv-icon { color: var(--sv-cat); }
.sv-spotlight__all:hover { color: var(--sv-cat-ink); }
.sv-spotlight--c .sv-spotlight__all:hover { color: var(--sv-cat); }
.sv-spotlight__all:hover .sv-icon { transform: translateX(4px); }

.sv-spotlight__grid { display: grid; gap: var(--sv-s6); }
.sv-spotlight__lead .sv-card--featured { min-height: 340px; }
.sv-spotlight__supports { display: grid; gap: var(--sv-s6); }
.sv-spotlight__list { list-style: none; }
.sv-spotlight__list li { padding-block: var(--sv-s4); border-bottom: 1px solid var(--sv-border); }
.sv-spotlight__list li:first-child { padding-top: 0; }
.sv-spotlight__list li:last-child { border-bottom: 0; }
.sv-spotlight__panel { display: grid; gap: var(--sv-s3); align-content: start; }
.sv-spotlight__row {
	display: grid;
	gap: var(--sv-s4) var(--sv-s6);
	margin-top: var(--sv-s8);
	padding-top: var(--sv-s6);
	border-top: 1px solid var(--sv-border);
}
.sv-spotlight--c .sv-spotlight__row { border-color: var(--sv-line-dark); }
.sv-spotlight--c .sv-card--compact .sv-meta { color: var(--sv-on-dark-muted); }
.sv-spotlight--c .sv-card--compact .sv-badge { color: var(--sv-cat); }
@media (min-width: 600px) {
	.sv-spotlight__supports { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sv-spotlight__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.sv-spotlight__row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sv-spotlight__row .sv-card--compact { flex-direction: column; }
	.sv-spotlight__row .sv-card--compact .sv-card__media { flex-basis: auto; width: 100%; aspect-ratio: 16 / 9; }
	.sv-spotlight__lead .sv-card--featured { min-height: 460px; }

	.sv-spotlight--a .sv-spotlight__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 3fr); }
	.sv-spotlight--a.has-panel .sv-spotlight__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr); }
	.sv-spotlight--a .sv-spotlight__supports { grid-template-columns: 1fr; align-content: start; }
	.sv-spotlight--b .sv-spotlight__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.sv-spotlight--b.has-panel .sv-spotlight__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); }
	.sv-spotlight--c.has-panel .sv-spotlight__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
}

/* Quick panel modules */
.sv-qp {
	display: block;
	padding: var(--sv-s4);
	border-radius: var(--sv-r-lg);
	background: var(--sv-surface-2);
	border: 1px solid var(--sv-border);
	color: var(--sv-text);
	text-decoration: none;
}
.sv-qp .sv-mini + .sv-mini { margin-top: 8px; }
.sv-spotlight--c .sv-qp { background: var(--sv-glass); border-color: var(--sv-line-dark); color: var(--sv-on-dark); }
.sv-qp__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	font-size: 0.6875rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-cat-ink);
}
.sv-spotlight--c .sv-qp__title { color: var(--sv-cat); }
a.sv-qp { transition: border-color 0.25s, transform 0.25s var(--sv-ease), box-shadow 0.25s; }
a.sv-qp:hover { border-color: var(--sv-cat); transform: translateY(-2px); box-shadow: var(--sv-shadow); color: inherit; }
.sv-qp__tour, .sv-qp__player { display: flex; align-items: center; gap: 12px; }
.sv-qp__tour strong, .sv-qp__player strong { display: block; font-size: 1rem; line-height: 1.25; }
.sv-qp__tour > .sv-icon { margin-left: auto; color: var(--sv-cat-ink); }
.sv-qp__tour-logo {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--sv-cat), color-mix(in srgb, var(--sv-cat) 50%, #000));
	color: #fff;
	overflow: hidden;
}
.sv-qp__tour-logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 4px; }
.sv-qp__state { display: block; font-size: var(--sv-fs-xs); color: var(--sv-muted); margin-top: 2px; }
.sv-spotlight--c .sv-qp__state { color: var(--sv-on-dark-muted); }
.sv-qp__avatar {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--sv-cat) 60%, #1a2445), #0a1022);
	color: #fff;
	font-weight: 900;
	border: 2px solid var(--sv-cat);
}
.sv-qp__avatar img { width: 100%; height: 100%; object-fit: cover; }
.sv-qp__rank { list-style: none; }
.sv-qp__rank li { display: flex; gap: 12px; padding-block: 8px; border-top: 1px solid var(--sv-border); }
.sv-qp__rank li:first-child { border-top: 0; padding-top: 0; }
.sv-qp__rank span { font-size: 1.5rem; font-weight: 900; line-height: 1; color: var(--sv-cat-ink); font-variant-numeric: tabular-nums; min-width: 1ch; }
.sv-qp__rank a { color: inherit; font-weight: 700; font-size: var(--sv-fs-sm); line-height: 1.35; text-decoration: none; }
.sv-qp__rank a:hover { text-decoration: underline; }

/* ---------- 17. Trending ranking ---------- */
.sv-trending { background: var(--sv-bg); }
.sv-trending__grid { display: grid; gap: var(--sv-s6); }
.sv-trending__top { position: relative; }
.sv-trending__big {
	position: absolute;
	top: -0.18em;
	left: 14px;
	z-index: 3;
	font-size: clamp(4.5rem, 3rem + 6vw, 8rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.07em;
	color: transparent;
	-webkit-text-stroke: 2px rgba(255, 255, 255, 0.9);
	pointer-events: none;
	text-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}
.sv-trending__top .sv-card--featured { min-height: 380px; }
.sv-trending__top .sv-card--featured .sv-card__title { font-size: var(--sv-fs-xl); }
.sv-trending__list { list-style: none; }
.sv-trending__list li { border-bottom: 1px solid var(--sv-border); }
.sv-trending__list li:last-child { border-bottom: 0; }
.sv-trending__list .sv-card__rank { -webkit-text-stroke-color: color-mix(in srgb, var(--sv-primary) 55%, var(--sv-border-strong)); }
@media (min-width: 1024px) {
	.sv-trending__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sv-s10); }
	.sv-trending__grid.is-solo { grid-template-columns: minmax(0, 1fr); }
	.sv-trending__list { display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
}

/* ---------- 18. Fixtures strip ---------- */
.sv-fixtures { background: var(--sv-surface); border-block: 1px solid var(--sv-border); }
.sv-fixtures__rail { grid-auto-columns: minmax(260px, 78%); }
@media (min-width: 600px) { .sv-fixtures__rail { grid-auto-columns: minmax(260px, 44%); } }
@media (min-width: 1024px) { .sv-fixtures__rail { grid-auto-columns: calc((100% - 3 * var(--sv-s4)) / 4); margin-inline: 0; padding-inline: 0; } }

/* ---------- 19. Tournament & player spotlights ---------- */
.sv-tournaments {
	background:
		radial-gradient(900px 400px at 0% 0%, color-mix(in srgb, var(--sv-primary) 22%, transparent), transparent 70%),
		var(--sv-navy-950);
	color: var(--sv-on-dark);
}
.sv-tournaments__rail { grid-auto-columns: minmax(270px, 84%); }
@media (min-width: 600px) { .sv-tournaments__rail { grid-auto-columns: minmax(280px, 46%); } }
@media (min-width: 1024px) { .sv-tournaments__rail { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; margin-inline: 0; padding-inline: 0; } }
.sv-tcard {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sv-s4);
	padding: var(--sv-s5);
	border-radius: var(--sv-r-lg);
	border: 1px solid var(--sv-line-dark);
	background:
		radial-gradient(420px 220px at 100% 0%, color-mix(in srgb, var(--sv-cat) 30%, transparent), transparent 70%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015));
	overflow: hidden;
	transition: transform 0.3s var(--sv-ease), border-color 0.3s;
}
.sv-tcard:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--sv-cat) 60%, transparent); }
.sv-tcard__head { display: flex; align-items: center; gap: var(--sv-s3); }
.sv-tcard__logo {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--sv-cat), color-mix(in srgb, var(--sv-cat) 45%, #000));
	color: #fff;
	overflow: hidden;
	box-shadow: 0 12px 24px -12px var(--sv-cat);
}
.sv-tcard__logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 6px; }
.sv-tcard__sport { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sv-cat); }
.sv-tcard__title { margin: 0; font-size: 1.1875rem; line-height: 1.2; }
.sv-tcard__title a { color: #fff; text-decoration: none; }
.sv-tcard__title a:hover { color: var(--sv-cat); }
.sv-tcard__facts { display: flex; flex-wrap: wrap; gap: 6px 14px; list-style: none; font-size: var(--sv-fs-xs); color: var(--sv-on-dark-muted); }
.sv-tcard__facts li { display: inline-flex; align-items: center; gap: 5px; }
.sv-tcard__matches { display: grid; gap: 6px; }
.sv-tcard__label { margin: 4px 0 0; font-size: 0.625rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sv-on-dark-muted); }
.sv-tcard__more { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; margin-top: auto; color: #fff; font-size: var(--sv-fs-sm); font-weight: 800; text-decoration: none; }
.sv-tcard__more .sv-icon { color: var(--sv-cat); transition: transform 0.25s var(--sv-ease-out); }
.sv-tcard__more:hover { color: var(--sv-cat); }
.sv-tcard__more:hover .sv-icon { transform: translateX(4px); }

.sv-players { background: var(--sv-bg); }
.sv-players__rail { grid-auto-columns: minmax(220px, 70%); }
@media (min-width: 600px) { .sv-players__rail { grid-auto-columns: minmax(220px, 36%); } }
@media (min-width: 1024px) { .sv-players__rail { grid-auto-columns: calc((100% - 5 * var(--sv-s4)) / 6); margin-inline: 0; padding-inline: 0; } }
.sv-players__rail .sv-card--player { min-height: 340px; }

/* ---------- 20. Video centre ---------- */
.sv-video {
	position: relative;
	background: var(--sv-ink);
	color: var(--sv-on-dark);
	overflow: hidden;
}
.sv-video__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(800px 420px at 20% 0%, color-mix(in srgb, var(--sv-primary) 28%, transparent), transparent 70%),
		radial-gradient(600px 400px at 100% 100%, color-mix(in srgb, var(--sv-accent) 12%, transparent), transparent 70%);
	pointer-events: none;
}
.sv-video .sv-container { position: relative; }
.sv-video__grid { display: grid; gap: var(--sv-s6); }
.sv-video__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sv-s5) var(--sv-s4); }
.sv-video .sv-card__link { color: var(--sv-on-dark); background-image: linear-gradient(var(--sv-accent), var(--sv-accent)); }
.sv-video .sv-meta { color: var(--sv-on-dark-muted); }
.sv-card--video-feature { position: relative; display: block; border-radius: var(--sv-r-lg); overflow: hidden; }
.sv-card--video-feature .sv-card__media { aspect-ratio: 16 / 9; border-radius: 0; }
.sv-card--video-feature .sv-card__media::after { background: linear-gradient(180deg, transparent 35%, rgba(5, 7, 15, 0.92)); }
.sv-card--video-feature .sv-card__play--lg { width: 76px; height: 76px; border-width: 2px; }
.sv-card--video-feature .sv-card__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: var(--sv-s5); }
.sv-card--video-feature .sv-card__title { font-size: var(--sv-fs-xl); line-height: 1.15; }
.sv-card--video-feature .sv-card__duration { top: 14px; right: 14px; bottom: auto; }
@media (max-width: 599px) {
	.sv-card--video-feature .sv-card__body { position: static; padding: var(--sv-s4) 0 0; }
	.sv-card--video-feature .sv-card__title { font-size: var(--sv-fs-lg); }
}
@media (min-width: 1024px) {
	.sv-video__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sv-s8); }
	.sv-video__grid.is-solo { grid-template-columns: minmax(0, 1fr); }
	.sv-card--video-feature .sv-card__body { padding: var(--sv-s8); }
}

/* ---------- 21. Most read ---------- */
.sv-mostread { background: var(--sv-surface); }
.sv-mostread__list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(230px, 72%);
	gap: var(--sv-s5);
	list-style: none;
	margin-inline: calc(var(--sv-gutter) * -1);
	padding: 0 var(--sv-gutter) var(--sv-s2);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.sv-mostread__list::-webkit-scrollbar { display: none; }
.sv-mostread__item { scroll-snap-align: start; }
@media (min-width: 600px) { .sv-mostread__list { grid-auto-columns: minmax(230px, 40%); } }
@media (min-width: 1024px) { .sv-mostread__list { grid-auto-flow: row; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-inline: 0; padding-inline: 0; overflow: visible; } }
.sv-card--ranked { flex-direction: column; gap: var(--sv-s3); height: 100%; padding-top: var(--sv-s2); border-top: 3px solid var(--sv-text); }
.sv-card__num {
	font-size: 3.25rem;
	font-weight: 900;
	line-height: 0.9;
	letter-spacing: -0.06em;
	background: linear-gradient(135deg, var(--sv-primary), var(--sv-accent));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-variant-numeric: tabular-nums;
}
.sv-card--ranked .sv-card__media { aspect-ratio: 16 / 10; border-radius: var(--sv-r); }
.sv-card--ranked .sv-card__title { font-size: 1rem; line-height: 1.3; }

/* ---------- 22. Editorial picks ---------- */
.sv-picks { background: var(--sv-paper); border-block: 1px solid #e7e1d3; }
.sv-picks__head { text-align: center; margin-bottom: var(--sv-s8); }
.sv-picks__kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #8a5d08; }
.sv-picks__title { margin: 0; font-family: var(--sv-font-serif); font-size: var(--sv-fs-3xl); font-weight: 700; font-style: italic; letter-spacing: -0.02em; }
.sv-pick { position: relative; }
.sv-pick__title { font-family: var(--sv-font-serif); font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; margin: 0 0 var(--sv-s3); }
.sv-pick .sv-card__link { background-image: linear-gradient(#9a6b12, #9a6b12); }
.sv-pick:hover .sv-card__link { background-size: 100% 2px; }
.sv-pick__excerpt { font-family: var(--sv-font-serif); font-size: 1.0625rem; line-height: 1.6; color: var(--sv-text-2); }
.sv-pick__byline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: var(--sv-fs-sm); color: var(--sv-muted); }
.sv-pick__byline img { width: 32px; height: 32px; border-radius: 50%; }
.sv-pick__byline strong { color: var(--sv-text); }
.sv-pick--lead { display: grid; gap: var(--sv-s6); padding-bottom: var(--sv-s8); margin-bottom: var(--sv-s8); border-bottom: 1px solid #e0d8c5; }
.sv-pick__media { aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--sv-r-sm); background: var(--sv-navy-800); }
.sv-pick__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--sv-ease-out); }
.sv-pick--lead:hover .sv-pick__media img { transform: scale(1.04); }
.sv-pick--lead .sv-pick__title { font-size: var(--sv-fs-2xl); line-height: 1.12; }
.sv-picks__more { display: grid; gap: var(--sv-s6); }
.sv-picks__more .sv-pick { padding-top: var(--sv-s5); border-top: 3px solid var(--sv-text); }
.sv-picks__more .sv-pick__title { font-size: 1.3rem; }
.sv-pick__quote { display: block; margin-bottom: var(--sv-s2); color: #c49a3a; }
@media (min-width: 768px) {
	.sv-pick--lead { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: var(--sv-s10); }
	.sv-picks__more { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sv-s8); }
}

/* ---------- 23. Newsletter ---------- */
.sv-newsletter { padding-block: var(--sv-section); background: var(--sv-bg); }
.sv-newsletter__box {
	position: relative;
	display: grid;
	gap: var(--sv-s8);
	padding: var(--sv-s10) var(--sv-s5);
	overflow: hidden;
	border-radius: 20px;
	background:
		radial-gradient(600px 300px at 100% 0%, color-mix(in srgb, var(--sv-accent) 28%, transparent), transparent 70%),
		radial-gradient(500px 300px at 0% 100%, color-mix(in srgb, var(--sv-primary) 38%, transparent), transparent 70%),
		var(--sv-navy-950);
	color: var(--sv-on-dark);
	box-shadow: var(--sv-shadow-lg);
	isolation: isolate;
}
.sv-newsletter__art { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.sv-newsletter__art span { position: absolute; top: -30%; width: 140px; height: 180%; background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.06), transparent); transform: rotate(24deg); }
.sv-newsletter__art span:nth-child(1) { right: 12%; }
.sv-newsletter__art span:nth-child(2) { right: 26%; width: 60px; }
.sv-newsletter__art span:nth-child(3) { right: 34%; width: 20px; }
.sv-newsletter__kicker { display: flex; align-items: center; gap: 8px; margin: 0 0 var(--sv-s3); font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sv-accent); }
.sv-newsletter__title { margin: 0 0 var(--sv-s3); font-size: clamp(2rem, 1.3rem + 3vw, 3.5rem); font-weight: 900; letter-spacing: -0.045em; line-height: 1; text-wrap: balance; }
.sv-newsletter__text { margin: 0 0 var(--sv-s5); color: var(--sv-on-dark-muted); font-size: var(--sv-fs-md); max-width: 48ch; }
.sv-newsletter__perks { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; font-size: var(--sv-fs-sm); font-weight: 600; }
.sv-newsletter__perks li { display: inline-flex; align-items: center; gap: 6px; }
.sv-newsletter__perks .sv-icon { color: var(--sv-success); }
.sv-newsletter__form { align-self: center; }
.sv-newsletter__label { display: block; margin-bottom: 8px; font-size: var(--sv-fs-sm); font-weight: 700; }
.sv-newsletter__row { display: flex; flex-direction: column; gap: var(--sv-s2); }
.sv-newsletter__row input {
	flex: 1;
	min-width: 0;
	height: 56px;
	padding: 0 20px;
	border: 1.5px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--sv-r-pill);
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
	font-size: var(--sv-fs-base);
}
.sv-newsletter__row input::placeholder { color: var(--sv-on-dark-muted); }
.sv-newsletter__row input:focus { outline: none; border-color: var(--sv-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--sv-accent) 25%, transparent); }
.sv-newsletter__row .sv-btn { height: 56px; }
.sv-newsletter__msg { min-height: 1.4em; margin: var(--sv-s2) 0 0; font-size: var(--sv-fs-sm); font-weight: 600; color: var(--sv-accent); }
.sv-newsletter__msg.is-error { color: #fda4af; }
.sv-newsletter__fine { margin: 0; font-size: var(--sv-fs-xs); color: var(--sv-on-dark-muted); }
.sv-newsletter__fine a { color: var(--sv-on-dark); }
@media (min-width: 600px) { .sv-newsletter__row { flex-direction: row; } }
@media (min-width: 1024px) { .sv-newsletter__box { grid-template-columns: 1.15fr 1fr; padding: var(--sv-s16); gap: var(--sv-s12); } }

/* ---------- 24. Layout with sidebar ---------- */
.sv-layout {
	display: grid;
	gap: var(--sv-s10);
	grid-template-columns: minmax(0, 1fr);
	padding-block: var(--sv-s8) var(--sv-s16);
}
.sv-main { min-width: 0; }
@media (min-width: 1024px) {
	.sv-layout:not(.sv-layout--page) { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sv-s10); }
}
@media (min-width: 1200px) {
	.sv-layout:not(.sv-layout--page) { grid-template-columns: minmax(0, 1fr) 352px; gap: var(--sv-s12); }
}
.sv-layout--page { max-width: calc(820px + 2 * var(--sv-gutter)); }
.sv-sidebar__inner { display: flex; flex-direction: column; gap: var(--sv-s6); height: 100%; }
.sv-sidebar .sv-ad { margin: 0; }
@media (min-width: 1024px) { .sv-ad--sticky { position: sticky; top: var(--sv-sticky-top); } }

.sv-panel, .sv-widget { padding: var(--sv-s5); background: var(--sv-surface); border: 1px solid var(--sv-border); border-radius: var(--sv-r-lg); }
.sv-widget .sv-panel { padding: 0; border: 0; }
.sv-panel__title, .sv-widget__title {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 var(--sv-s3);
	padding-bottom: var(--sv-s3);
	border-bottom: 1px solid var(--sv-border);
	font-size: 0.8125rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.sv-panel__title::after, .sv-widget__title::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 40px; height: 2px; background: var(--sv-primary); }
.sv-panel__title .sv-icon { color: var(--sv-primary); }
.sv-panel__list { list-style: none; }
.sv-panel__list > li { border-bottom: 1px solid var(--sv-border); }
.sv-panel__list > li:last-child { border-bottom: 0; }
.sv-panel--thumbs .sv-panel__list > li { padding-block: var(--sv-s3); }
.sv-panel .sv-card--rank { padding-block: var(--sv-s3); gap: var(--sv-s3); }
.sv-panel .sv-card--rank .sv-card__title { font-size: 0.9375rem; }
.sv-panel .sv-card__rank { font-size: 2rem; }
.sv-panel--numbered .sv-card--rank .sv-card__media { display: none; }
.sv-panel--ranked .sv-card--rank .sv-card__media { flex-basis: 64px; }
.sv-panel--ranked .sv-card__rank { color: var(--sv-text); -webkit-text-stroke: 0; font-size: 1.5rem; }
.sv-panel__fixtures { display: grid; gap: var(--sv-s2); }
.sv-panel__more { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: var(--sv-s2); font-size: var(--sv-fs-sm); font-weight: 700; text-decoration: none; }
.sv-widget ul:not([class]) { list-style: none; }
.sv-widget ul:not([class]) li { padding-block: 8px; border-bottom: 1px solid var(--sv-border); }

/* ---------- 25. Archive heads, filters, pagination, empty ---------- */
.sv-archive-head {
	position: relative;
	padding-block: var(--sv-s6) var(--sv-s10);
	background:
		radial-gradient(900px 420px at 100% 0%, color-mix(in srgb, var(--sv-cat) 30%, transparent), transparent 70%),
		var(--sv-navy-900);
	color: var(--sv-on-dark);
	overflow: hidden;
}
.sv-archive-head::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(90deg, transparent, #000 60%);
	pointer-events: none;
}
.sv-archive-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--sv-cat), var(--sv-accent)); }
.sv-archive-head .sv-container { position: relative; }
.sv-archive-head__row { display: flex; align-items: center; gap: var(--sv-s5); }
.sv-archive-head__glyph {
	display: none;
	place-items: center;
	flex: 0 0 auto;
	width: 88px;
	height: 88px;
	border-radius: 22px;
	background: var(--sv-cat);
	color: var(--sv-ink);
	box-shadow: 0 20px 40px -20px var(--sv-cat);
}
[data-sport="football"] .sv-archive-head__glyph, [data-sport="default"] .sv-archive-head__glyph { color: #fff; }
@media (min-width: 768px) { .sv-archive-head__glyph { display: inline-grid; } }
.sv-archive-head__media img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255, 255, 255, 0.15); }
.sv-archive-head__eyebrow { margin: 0 0 8px; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sv-cat); }
.sv-archive-head[data-sport="default"] .sv-archive-head__eyebrow, .sv-archive-head:not([data-sport]) .sv-archive-head__eyebrow { color: var(--sv-accent); }
.sv-archive-head__title { margin: 0; font-size: clamp(2.2rem, 1.2rem + 4.5vw, 4.5rem); font-weight: 900; letter-spacing: -0.05em; line-height: 0.95; text-transform: uppercase; overflow-wrap: anywhere; }
.sv-archive-head--search .sv-archive-head__title, .sv-archive-head--author .sv-archive-head__title { text-transform: none; font-size: var(--sv-fs-3xl); letter-spacing: -0.035em; line-height: 1.05; }
.sv-archive-head__query { color: var(--sv-accent); }
.sv-archive-head__desc { max-width: 70ch; margin-top: var(--sv-s4); color: var(--sv-on-dark-muted); font-size: var(--sv-fs-md); }
.sv-archive-head__desc p:last-child { margin-bottom: 0; }
.sv-archive-head__count { display: inline-flex; align-items: center; gap: 8px; margin: var(--sv-s4) 0 0; padding: 5px 12px; border-radius: var(--sv-r-pill); background: var(--sv-glass); border: 1px solid var(--sv-line-dark); font-size: var(--sv-fs-xs); font-weight: 700; color: var(--sv-on-dark); }
.sv-archive-head__search { max-width: 760px; margin-top: var(--sv-s6); }
.sv-archive-head__search .sv-search-form__input { height: 62px; font-size: var(--sv-fs-md); border-color: transparent; }
.sv-archive-head__search .sv-search-form__submit { height: 62px; }
.sv-archive-head .sv-social { margin-top: var(--sv-s4); }
@media (min-width: 768px) {
	.sv-archive-head { padding-block: var(--sv-s8) var(--sv-s12); }
	.sv-archive-head__media img { width: 120px; height: 120px; }
}

.sv-filterbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sv-s3); margin-bottom: var(--sv-s6); }
.sv-filterbar .sv-chips { padding: 0; flex: 1; min-width: 0; }
.sv-segment { display: inline-flex; padding: 3px; border-radius: var(--sv-r-pill); background: var(--sv-surface); border: 1px solid var(--sv-border); }
.sv-segment a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border-radius: var(--sv-r-pill); color: var(--sv-text-2); font-size: var(--sv-fs-xs); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.sv-segment a[aria-current] { background: var(--sv-navy-900); color: #fff; }

.sv-archive-package { display: grid; gap: var(--sv-s5); margin-bottom: var(--sv-s10); }
.sv-archive-package__side { display: grid; gap: var(--sv-s5); }
.sv-archive-package .sv-card--featured { min-height: 320px; }
@media (min-width: 768px) {
	.sv-archive-package { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
	.sv-archive-package .sv-card--hero { min-height: 480px; }
	.sv-archive-package__side .sv-card--featured { min-height: 0; }
	.sv-archive-package__side .sv-card--featured .sv-card__body { padding: var(--sv-s5); padding-top: 34%; }
	.sv-archive-package__side .sv-card--featured .sv-card__title { font-size: 1.1875rem; }
}
.sv-archive-lead { margin-bottom: var(--sv-s8); }

.sv-breadcrumbs { margin-bottom: var(--sv-s5); font-size: var(--sv-fs-xs); }
.sv-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; list-style: none; }
.sv-breadcrumbs li { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.sv-breadcrumbs li + li::before { content: ""; width: 5px; height: 5px; border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg); opacity: 0.5; }
.sv-breadcrumbs a { color: inherit; opacity: 0.85; text-decoration: none; font-weight: 700; padding-block: 6px; }
.sv-breadcrumbs a:hover { opacity: 1; text-decoration: underline; }
.sv-breadcrumbs [aria-current] { opacity: 0.6; max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sv-archive-head .sv-breadcrumbs, .sv-scoreboard .sv-breadcrumbs, .sv-profile-head .sv-breadcrumbs, .sv-article-hero .sv-breadcrumbs { color: var(--sv-on-dark-muted); }

.sv-pagination { margin-top: var(--sv-s12); }
.sv-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; }
.sv-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 46px;
	height: 46px;
	padding: 0 12px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-r);
	background: var(--sv-surface);
	color: var(--sv-text);
	font-weight: 800;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	transition: all 0.2s var(--sv-ease);
}
.sv-pagination a.page-numbers:hover { border-color: var(--sv-text); transform: translateY(-1px); }
.sv-pagination .current { background: var(--sv-navy-900); border-color: var(--sv-navy-900); color: #fff; }
.sv-pagination .dots { border: 0; background: none; }

.sv-empty { padding: var(--sv-s12) var(--sv-s6); text-align: center; background: var(--sv-surface); border: 1px dashed var(--sv-border-strong); border-radius: var(--sv-r-lg); }
.sv-empty .sv-search-form { max-width: 520px; margin: var(--sv-s5) auto 0; }
.sv-empty--dark { background: var(--sv-glass); border-color: var(--sv-line-dark); color: var(--sv-on-dark); }
.sv-empty--dark p { color: var(--sv-on-dark-muted); }
.sv-cpt-archive { padding-bottom: var(--sv-s16); }
.sv-cpt-archive .sv-grid { margin-bottom: var(--sv-s4); }

/* ---------- 26. Footer ---------- */
.sv-footer {
	position: relative;
	padding-top: var(--sv-s12);
	background: var(--sv-ink);
	color: var(--sv-on-dark-muted);
	font-size: var(--sv-fs-sm);
	overflow: hidden;
}
.sv-footer__glow { position: absolute; left: 50%; top: -240px; width: 900px; height: 480px; transform: translateX(-50%); background: radial-gradient(closest-side, color-mix(in srgb, var(--sv-primary) 30%, transparent), transparent); pointer-events: none; }
.sv-footer .sv-container { position: relative; }
.sv-footer__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--sv-s6); padding-bottom: var(--sv-s10); border-bottom: 1px solid var(--sv-line-dark); }
.sv-footer__about { margin: var(--sv-s4) 0 0; max-width: 46ch; font-size: var(--sv-fs-base); }
.sv-footer__cta { display: flex; flex-wrap: wrap; gap: var(--sv-s2); }
.sv-footer__grid { display: grid; gap: var(--sv-s8); grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: var(--sv-s10); }
.sv-footer__heading { margin: 0 0 var(--sv-s3); font-size: 0.6875rem; font-weight: 900; letter-spacing: 0.16em; text-transform: uppercase; color: #fff; }
.sv-footer__links { list-style: none; }
.sv-footer__links a, .sv-footer__missing {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	color: var(--sv-on-dark-muted);
	text-decoration: none;
	transition: color 0.2s, transform 0.2s var(--sv-ease);
}
.sv-footer__links a:hover { color: #fff; transform: translateX(3px); }
.sv-footer__missing { opacity: 0.45; text-decoration: line-through dotted; cursor: help; }
.sv-footer__widgets .sv-widget { background: none; border: 0; padding: 0; color: inherit; }
.sv-footer__widgets .sv-widget__title { color: #fff; border-color: var(--sv-line-dark); }
.sv-social { display: flex; flex-wrap: wrap; gap: var(--sv-s2); list-style: none; }
.sv-social a {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--sv-glass);
	border: 1px solid var(--sv-line-dark);
	color: var(--sv-on-dark);
	transition: all 0.25s var(--sv-ease);
}
.sv-social a:hover { background: var(--sv-primary); border-color: var(--sv-primary); color: #fff; transform: translateY(-2px); }
.sv-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sv-s4); padding-block: var(--sv-s6); border-top: 1px solid var(--sv-line-dark); }
.sv-footer__copy { margin: 0; }
.sv-footer__bottom .sv-admin-hint { max-width: 280px; }
.sv-footer__top-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--sv-on-dark); font-weight: 700; text-decoration: none; }
.sv-footer__top-link .sv-icon { transition: transform 0.25s var(--sv-ease-out); }
.sv-footer__top-link:hover { color: var(--sv-accent); }
.sv-footer__top-link:hover .sv-icon { transform: translateY(-3px); }
@media (min-width: 768px) { .sv-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- 27. Mobile tab bar & back to top ---------- */
.sv-tabbar { display: none; }
@media (max-width: 767px) {
	.sv-has-tabbar .sv-tabbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 950;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		height: calc(var(--sv-tabbar-h) + env(safe-area-inset-bottom, 0px));
		padding-bottom: env(safe-area-inset-bottom, 0px);
		background: color-mix(in srgb, var(--sv-navy-950) 92%, transparent);
		border-top: 1px solid var(--sv-line-dark);
		box-shadow: 0 -12px 30px -18px rgba(0, 0, 0, 0.8);
	}
}
@supports (backdrop-filter: blur(12px)) {
	.sv-tabbar { backdrop-filter: saturate(1.5) blur(14px); }
}
.sv-tabbar__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 0;
	padding: 6px 2px;
	border: 0;
	background: none;
	color: var(--sv-on-dark-muted);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: color 0.2s;
}
.sv-tabbar__item:hover, .sv-tabbar__item.is-active, .sv-tabbar__item[aria-expanded="true"] { color: #fff; }
.sv-tabbar__item.is-active::before { content: ""; position: absolute; top: 0; left: 30%; right: 30%; height: 2px; border-radius: 0 0 2px 2px; background: var(--sv-accent); }
.sv-tabbar__item .sv-icon { transition: transform 0.2s var(--sv-ease); }
.sv-tabbar__item:active .sv-icon { transform: scale(0.9); }
.sv-tabbar__live { position: relative; display: inline-flex; }
.sv-tabbar__live .sv-dot { position: absolute; top: -1px; right: -3px; width: 7px; height: 7px; }

.sv-to-top {
	position: fixed;
	right: 16px;
	bottom: calc(16px + var(--sv-tabbar-h) + env(safe-area-inset-bottom, 0px));
	z-index: 940;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--sv-navy-900);
	color: #fff;
	border: 1px solid var(--sv-line-dark);
	box-shadow: var(--sv-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px) scale(0.9);
	transition: opacity 0.3s, transform 0.35s var(--sv-ease-out), visibility 0s linear 0.35s, background-color 0.2s;
}
.sv-to-top.is-visible { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.sv-to-top:hover { background: var(--sv-primary); color: #fff; }

/* ---------- 28. 404 ---------- */
.sv-404__hero {
	position: relative;
	padding-block: var(--sv-s16);
	text-align: center;
	color: var(--sv-on-dark);
	overflow: hidden;
	background:
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.025) 0 64px, transparent 64px 128px),
		radial-gradient(800px 360px at 50% 0%, color-mix(in srgb, var(--sv-primary) 40%, transparent), transparent 70%),
		var(--sv-navy-900);
}
.sv-404__inner { max-width: 760px; }
.sv-404__pitch { position: relative; display: inline-block; margin-bottom: var(--sv-s4); }
.sv-404__code { display: block; font-size: clamp(5rem, 3rem + 10vw, 10rem); font-weight: 900; line-height: 1; letter-spacing: -0.07em; color: transparent; -webkit-text-stroke: 2px color-mix(in srgb, var(--sv-accent) 70%, #fff); }
.sv-404__ball { position: absolute; right: -18px; top: 6px; width: 36px; height: 36px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #cfe8ff 60%, #8fb6ff); box-shadow: 0 10px 24px -6px rgba(34, 211, 238, 0.6); }
@media (prefers-reduced-motion: no-preference) { .sv-404__ball { animation: sv-bounce 2.2s var(--sv-ease) infinite; } }
@keyframes sv-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }
.sv-404__eyebrow { margin-bottom: var(--sv-s2); font-size: var(--sv-fs-xs); font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sv-accent); }
.sv-404__title { font-size: var(--sv-fs-3xl); letter-spacing: -0.035em; text-wrap: balance; }
.sv-404__text { color: var(--sv-on-dark-muted); max-width: 56ch; margin-inline: auto; }
.sv-404__search { max-width: 580px; margin: var(--sv-s6) auto; }

/* ---------- 29. Layout guards ---------- */
.sv-hero__grid > *, .sv-spotlight__grid > *, .sv-latest__top > *, .sv-trending__grid > *, .sv-video__grid > *, .sv-mega__grid > *, .sv-footer__grid > * { min-width: 0; }
.sv-hero__lead, .sv-spotlight__lead, .sv-trending__top, .sv-archive-package__main { display: flex; flex-direction: column; }
.sv-hero__lead > .sv-card--featured, .sv-spotlight__lead > .sv-card--featured, .sv-trending__top > .sv-card--featured, .sv-archive-package__main > .sv-card--featured { flex: 1; }
.sv-fixture__when { margin-top: auto; }
.sv-rail > *, .sv-tcard, .sv-mini, .sv-qp { min-width: 0; }
.sv-mini__comp { min-width: 0; }
.sv-footer__grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.sv-trending__top .sv-card--featured .sv-card__media::after {
	background:
		linear-gradient(180deg, rgba(5, 7, 15, 0.55) 0%, rgba(5, 7, 15, 0) 30%, rgba(5, 7, 15, 0.55) 60%, rgba(5, 7, 15, 0.94) 100%);
}
.sv-sportnav__name { white-space: nowrap; }
.sv-archive-package-wrap { padding-top: var(--sv-s8); }
.sv-archive-package-wrap + .sv-layout { padding-top: var(--sv-s4); }
.sv-filterbar__title { margin: 0; font-size: var(--sv-fs-xl); font-weight: 900; letter-spacing: -0.03em; }
.sv-search-types { padding: 0 0 var(--sv-s6); }
.sv-archive-head--search .sv-archive-head__search { margin-top: var(--sv-s5); }
.sv-archive-head__text { min-width: 0; }
@media (min-width: 1200px) {
	.sv-sportnav__arrow { display: none; }
	.sv-sportnav__item { padding-inline: 12px; }
}
.sv-spotlight__row { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important; }

/* ---------- 30. Misc & motion preferences ---------- */
.sv-home__page { max-width: 820px; }
.sv-full-width { padding-block: var(--sv-s8); }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
	.sv-card:hover .sv-card__media .sv-img { transform: none; }
}

/* ---------- 31. Core block widgets (if added to widget areas) ---------- */
.sv-widget .wp-block-heading, .sv-widget h2 { margin: 0 0 var(--sv-s3); font-size: 0.8125rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.sv-widget .wp-block-search__label { display: block; margin-bottom: 6px; font-size: var(--sv-fs-sm); font-weight: 700; }
.sv-widget .wp-block-search__inside-wrapper { display: flex; gap: 6px; }
.sv-widget .wp-block-search__input { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border: 1.5px solid var(--sv-border-strong); border-radius: var(--sv-r-pill); background: var(--sv-surface); }
.sv-widget .wp-block-search__button { height: 44px; padding: 0 16px; border: 0; border-radius: var(--sv-r-pill); background: var(--sv-navy-900); color: #fff; font-weight: 700; }
.sv-widget .wp-block-latest-posts, .sv-widget .wp-block-latest-comments, .sv-widget .wp-block-archives, .sv-widget .wp-block-categories { list-style: none; padding: 0; margin: 0; }
.sv-widget .wp-block-latest-posts li, .sv-widget .wp-block-latest-comments li, .sv-widget .wp-block-archives li, .sv-widget .wp-block-categories li { padding-block: 8px; border-bottom: 1px solid var(--sv-border); }
.sv-widget .wp-block-latest-posts a, .sv-widget .wp-block-archives a, .sv-widget .wp-block-categories a { color: var(--sv-text); font-weight: 700; text-decoration: none; }
.sv-widget .wp-block-latest-posts a:hover, .sv-widget .wp-block-archives a:hover, .sv-widget .wp-block-categories a:hover { color: var(--sv-primary); }

/* Phones: supporting spotlight stories as compact rows to keep the page scannable. */
@media (max-width: 599px) {
	.sv-spotlight__supports { gap: var(--sv-s4); }
	.sv-spotlight__supports .sv-card--news { flex-direction: row; align-items: flex-start; gap: var(--sv-s3); }
	.sv-spotlight__supports .sv-card--news .sv-card__media { flex: 0 0 116px; aspect-ratio: 16 / 11; border-radius: var(--sv-r-sm); }
	.sv-spotlight__supports .sv-card--news .sv-card__title { font-size: 0.9375rem; }
	.sv-spotlight__supports .sv-card--news .sv-meta span:not(.sv-meta__sep):last-child,
	.sv-spotlight__supports .sv-card--news .sv-meta__sep { display: none; }
}

/* Live-update hooks */
.sv-score__value small:empty, .sv-score__period:empty { display: none; }
.sv-score.is-updated .sv-score__value [data-sv-part="main"] { animation: sv-flash 1.2s var(--sv-ease-out); }
@keyframes sv-flash { 0% { color: var(--sv-accent); } 100% { color: inherit; } }
.sv-score__updated { display: block; margin-top: 4px; font-size: 0.625rem; color: var(--sv-on-dark-muted); }
