/*
Theme Name: LRL — Latvia Racing League
Theme URI:
Author: Avalinto
Description: Latvia Racing League — iRacing/LMU līgas vietne. Braucēju profili, čempionāta tabulas, kalendārs, posmu paziņojumi, Garage 61 dati. Būvēta uz core-base.
Version: 0.2.0
Text Domain: lrl
*/

/* ══ Pamats ════════════════════════════════════════════════════════ */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 84px; /* sticky galvenes augstums enkuriem */
}

body {
	margin: 0;
	font-family: var( --cb-font-body );
	font-size: var( --cb-body-md );
	line-height: var( --cb-lh-body );
	color: var( --cb-text-body );
	background: var( --cb-surface-page );
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
	font-family: var( --cb-font-display );
	color: var( --cb-text-strong );
	line-height: var( --cb-lh-heading );
	font-weight: var( --cb-weight-display );
}

img { max-width: 100%; height: auto; display: block; }

/* Sekciju virsraksts — kondensēts, drukāts, ar smalku līniju zem tā */
.cb-section > .cb-container > h2,
.lrl-join__intro h2 {
	font-size: var( --cb-display-md );
	text-transform: uppercase;
	letter-spacing: .01em;
}

/* Tumšās joslas — pārslēdz TIKAI semantiskos tokenus, komponenti pielāgojas paši */
.site-head,
.lrl-hero,
.lrl-live,
.site-foot {
	--cb-text-strong: var( --cb-text-inverse );
	--cb-text-body: var( --cb-text-inverse-muted );
	--cb-text-muted: var( --cb-text-inverse-muted );
	--cb-border-default: var( --cb-border-dark );
	color: var( --cb-text-body );
}

/* Poga uz tumša fona — caurspīdīga ar gaišu malu, aizpildās uz hover */
.cb-btn--hero {
	background: transparent;
	border-color: color-mix( in srgb, var( --cb-text-inverse ) 45%, transparent );
	color: var( --cb-text-inverse );
}
.cb-btn--hero:hover {
	background: var( --cb-text-inverse );
	border-color: var( --cb-text-inverse );
	color: var( --cb-surface-darker );
}

/* ══ Galvene ═══════════════════════════════════════════════════════ */
.site-head {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var( --cb-surface-dark );
	border-bottom: var( --cb-border-w ) solid var( --cb-border-dark );
}
.site-head__inner {
	display: flex;
	align-items: center;
	gap: var( --cb-space-6 );
	min-height: 72px;
}
/* Header konteiners līdzināts ar satura konteineru (.rbf-wrap), lai logo ir vienā līnijā ar lapas saturu. */
.site-head .cb-container {
	max-width: 1500px;
	padding-inline: clamp( 20px, 4vw, 48px );
}
.brand {
	display: inline-flex;
	align-items: center;
	gap: var( --cb-space-3 );
	text-decoration: none;
	color: var( --cb-text-inverse );
}
.brand__mark {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: 1.75rem;
	letter-spacing: .02em;
	line-height: 1;
	color: var( --cb-text-inverse );
	background: var( --rbf-accent );
	padding: 4px 8px;
	border-radius: var( --cb-radius-sm );
}
.brand__name {
	font-family: var( --rb-font-data );
	font-weight: 600;
	font-size: 12px;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var( --cb-text-inverse );
}
.brand--logo { display: inline-flex; align-items: center; }
.brand--logo .custom-logo { max-height: 44px; width: auto; display: block; }
.site-nav {
	display: flex;
	align-items: center;
	gap: var( --cb-space-5 );
	margin-inline-start: auto;
}
.site-nav a {
	font-family: var( --rb-font-data );
	font-weight: 500;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .1em;
	text-decoration: none;
	color: var( --cb-text-inverse-muted );
	transition: color var( --cb-dur-base ) var( --cb-ease-out );
}
.site-nav a:hover { color: var( --cb-text-inverse ); }
.site-head__cta {
	display: flex;
	align-items: center;
	gap: var( --cb-space-4 );
}
.site-head__login {
	font-family: var( --rb-font-data );
	font-weight: 500;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .1em;
	text-decoration: none;
	color: var( --cb-text-inverse-muted );
}
.site-head__login:hover { color: var( --cb-text-inverse ); }

/* ══ Hero — nākošais posms ═════════════════════════════════════════ */
.lrl-hero {
	position: relative;
	background: var( --cb-surface-dark );
	padding-block: clamp( 48px, 6vw, 88px );
	overflow: hidden;
}
/* Smalks karmīna akcents augšā + diagonāls tonis, lai fons nav pliks */
.lrl-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient( 120% 90% at 100% 0%, color-mix( in srgb, var( --cb-accent-600 ) 26%, transparent ) 0%, transparent 55% );
	pointer-events: none;
}
.lrl-hero--photo::before {
	background:
		var( --cb-scrim-side ),
		var( --lrl-hero-img ) center / cover no-repeat;
}
.lrl-hero__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var( --cb-space-5 );
}
.lrl-hero__label {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-ui );
	font-size: var( --cb-body-md );
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var( --cb-text-inverse-muted );
	margin: 0;
}
.lrl-hero__sep { color: var( --cb-accent-500 ); }

.lrl-hero__title {
	font-size: clamp( 2.6rem, 1rem + 7vw, 5.5rem );
	line-height: .92;
	text-transform: uppercase;
	letter-spacing: .005em;
	margin: 0;
}
.lrl-hero__lead { max-width: var( --cb-measure ); margin: 0; }

.lrl-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var( --cb-space-3 ) var( --cb-space-5 );
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-ui );
	font-size: var( --cb-body-md );
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var( --cb-text-inverse-muted );
}
.lrl-hero__meta li { display: inline-flex; align-items: center; gap: var( --cb-space-2 ); }
.lrl-flag {
	font-size: var( --cb-caption );
	letter-spacing: .1em;
	padding: 2px 7px;
	border: var( --cb-border-w ) solid var( --cb-border-dark );
	border-radius: var( --cb-radius-sm );
	color: var( --cb-text-inverse );
}
.lrl-hero__cta { display: flex; flex-wrap: wrap; gap: var( --cb-space-3 ); margin: 0; }

/* Countdown */
.lrl-cd {
	display: flex;
	align-items: flex-start;
	gap: var( --cb-space-5 );
	font-family: var( --cb-font-display );
	font-variant-numeric: tabular-nums;
}
.lrl-cd__unit { display: flex; flex-direction: column; align-items: flex-start; }
.lrl-cd__num {
	font-size: clamp( 2.8rem, 1rem + 8vw, 6rem );
	font-weight: var( --cb-weight-display );
	line-height: .9;
	color: var( --cb-text-inverse );
}
.lrl-cd__lab {
	margin-top: var( --cb-space-2 );
	font-size: var( --cb-caption );
	font-weight: var( --cb-weight-ui );
	text-transform: uppercase;
	letter-spacing: .16em;
	color: var( --cb-accent-500 );
}

/* ══ Live josla ════════════════════════════════════════════════════ */
.lrl-live {
	background: var( --cb-surface-darker );
	border-top: var( --cb-border-w-thick ) solid var( --cb-surface-accent );
	padding-block: var( --cb-space-7 );
}
.lrl-live__grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	gap: var( --cb-space-7 );
	align-items: start;
}
.lrl-live__head {
	display: flex;
	align-items: center;
	gap: var( --cb-space-3 );
	margin-bottom: var( --cb-space-4 );
}
.lrl-live__title { font-size: var( --cb-heading-lg ); text-transform: uppercase; letter-spacing: .02em; }
.lrl-live__count {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-body-sm );
	color: var( --cb-text-inverse );
	background: var( --cb-surface-accent );
	border-radius: var( --cb-radius-pill );
	min-width: 22px;
	padding: 1px 8px;
	text-align: center;
}

.lrl-dot {
	width: 10px; height: 10px;
	border-radius: var( --cb-radius-pill );
	background: var( --cb-neutral-600 );
	flex: 0 0 auto;
}
.lrl-dot.is-live {
	background: var( --cb-success );
	animation: lrl-pulse 2s var( --cb-ease-out ) infinite;
}
@keyframes lrl-pulse {
	0%   { box-shadow: 0 0 0 0 color-mix( in srgb, var( --cb-success ) 55%, transparent ); }
	70%  { box-shadow: 0 0 0 8px color-mix( in srgb, var( --cb-success ) 0%, transparent ); }
	100% { box-shadow: 0 0 0 0 color-mix( in srgb, var( --cb-success ) 0%, transparent ); }
}
@media ( prefers-reduced-motion: reduce ) { .lrl-dot.is-live { animation: none; } }

.lrl-drivers { list-style: none; margin: 0; padding: 0; }
.lrl-driver {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "name meta" "where ago";
	column-gap: var( --cb-space-4 );
	row-gap: 2px;
	padding-block: var( --cb-space-3 );
	border-top: var( --cb-border-w ) solid var( --cb-border-dark );
}
.lrl-driver:first-child { border-top: 0; padding-top: 0; }
.lrl-driver__name  { grid-area: name; font-family: var( --cb-font-display ); font-weight: var( --cb-weight-ui ); text-transform: uppercase; letter-spacing: .02em; color: var( --cb-text-inverse ); }
.lrl-driver__where { grid-area: where; font-size: var( --cb-body-sm ); color: var( --cb-text-inverse-muted ); }
.lrl-driver__meta  { grid-area: meta; text-align: right; font-family: var( --cb-font-display ); font-variant-numeric: tabular-nums; color: var( --cb-text-inverse-muted ); display: inline-flex; gap: var( --cb-space-3 ); justify-content: flex-end; }
.lrl-driver__best  { color: var( --cb-accent-500 ); }
.lrl-driver__ago   { grid-area: ago; text-align: right; font-size: var( --cb-caption ); color: var( --cb-text-quiet ); }

.lrl-live__empty { color: var( --cb-text-inverse-muted ); max-width: 46ch; margin: 0; }
.lrl-live__emptycta { margin: var( --cb-space-4 ) 0 0; }

.lrl-topcard {
	padding: var( --cb-space-6 );
	background: color-mix( in srgb, var( --cb-text-inverse ) 4%, transparent );
	border: var( --cb-border-w ) solid var( --cb-border-dark );
	border-radius: var( --cb-radius-lg );
}
.lrl-topcard__title {
	font-size: var( --cb-body-sm );
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var( --cb-accent-500 );
	margin: 0 0 var( --cb-space-3 );
}
.lrl-topcard__name {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-display-sm );
	text-transform: uppercase;
	line-height: 1;
	color: var( --cb-text-inverse );
	margin: 0 0 var( --cb-space-4 );
}
.lrl-topcard__stat { margin: 0; color: var( --cb-text-inverse-muted ); font-size: var( --cb-body-sm ); }
.lrl-topcard__num {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-display-md );
	line-height: 1;
	color: var( --cb-accent-500 );
	margin-right: var( --cb-space-1 );
}
.lrl-topcard__hint { margin: 0; color: var( --cb-text-inverse-muted ); font-size: var( --cb-body-sm ); }

/* ══ Kā pievienoties ═══════════════════════════════════════════════ */
.lrl-join {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: var( --cb-space-7 );
	align-items: start;
}
.lrl-join__intro { position: sticky; top: 104px; }
.lrl-join__steps { margin: 0; }

/* ══ Kājene ════════════════════════════════════════════════════════ */
.site-foot {
	background: var( --cb-surface-dark );
	padding-block: var( --cb-space-7 ) var( --cb-space-5 );
}
.site-foot__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: var( --cb-space-6 );
	align-items: start;
}
.site-foot__tagline { color: var( --cb-text-inverse-muted ); max-width: 40ch; margin: var( --cb-space-3 ) 0 0; }
.site-foot__nav { display: flex; flex-direction: column; gap: var( --cb-space-2 ); }
.site-foot__nav a {
	font-family: var( --cb-font-display );
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: var( --cb-body-sm );
	color: var( --cb-text-inverse-muted );
	text-decoration: none;
}
.site-foot__nav a:hover { color: var( --cb-text-inverse ); }
.site-foot__jointitle {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-heading-lg );
	text-transform: uppercase;
	color: var( --cb-text-inverse );
	margin: 0 0 var( --cb-space-3 );
}
.site-foot__bottom {
	margin-top: var( --cb-space-6 );
	padding-top: var( --cb-space-4 );
	border-top: var( --cb-border-w ) solid var( --cb-border-dark );
	font-size: var( --cb-caption );
	color: var( --cb-text-quiet );
}

/* ══ Responsīvs ════════════════════════════════════════════════════ */
@media ( max-width: 860px ) {
	.site-nav { display: none; }
	.brand__name { display: none; }
	.lrl-live__grid,
	.lrl-join,
	.site-foot__grid { grid-template-columns: 1fr; }
	.lrl-join__intro { position: static; }
	.lrl-cd { gap: var( --cb-space-4 ); }
}

/* ══ Discord poga ══════════════════════════════════════════════════ */
.lrl-discord {
	display: inline-flex;
	align-items: center;
	gap: var( --cb-space-2 );
	text-decoration: none;
	color: var( --cb-text-inverse-muted );
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-ui );
	font-size: var( --cb-body-sm );
	text-transform: uppercase;
	letter-spacing: .04em;
	transition: color var( --cb-dur-base ) var( --cb-ease-out );
}
.lrl-discord:hover { color: var( --cb-text-inverse ); }
.lrl-discord__ico { width: 22px; height: 22px; display: block; }
/* Galvenē rādām tikai ikonu (logo), tekstu slēpjam */
.site-head__discord .lrl-discord__lab { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ══ Kopīgi: sekcijas galva, avatari, karogi, atzīmes ══════════════ */
.lrl-sec-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var( --cb-space-4 );
	margin-bottom: var( --cb-space-6 );
	padding-bottom: var( --cb-space-3 );
	border-bottom: var( --cb-border-w ) solid var( --cb-border-default );
}
.lrl-sec-head h2 { font-size: var( --cb-display-md ); text-transform: uppercase; letter-spacing: .01em; }
.lrl-sec-head__sub { color: var( --cb-accent-500 ); }
.lrl-sec-head__link {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-ui );
	font-size: var( --cb-body-sm );
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var( --cb-text-accent );
	text-decoration: none;
	white-space: nowrap;
}
.lrl-sec-head__link:hover { text-decoration: underline; }
.lrl-sec-head--dark { border-color: var( --cb-border-dark ); }

/* Avatars (SVG vietturis vai img) */
.lrl-av { border-radius: var( --cb-radius-pill ); display: block; flex: 0 0 auto; }
img.lrl-av { object-fit: cover; }
.lrl-av--ph circle { fill: var( --cb-neutral-800 ); }
.lrl-av--ph text {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: 16px;
	fill: var( --cb-neutral-0 );
	letter-spacing: .02em;
}

/* Karodzini */
.lrl-flag { display: inline-flex; align-items: center; }
.lrl-flag--svg svg { display: block; border-radius: 2px; box-shadow: 0 0 0 1px color-mix( in srgb, var( --cb-neutral-900 ) 30%, transparent ); }
.lrl-flag--txt {
	font-family: var( --cb-font-display );
	font-size: var( --cb-caption );
	letter-spacing: .08em;
	padding: 1px 6px;
	border: var( --cb-border-w ) solid var( --cb-border-default );
	border-radius: var( --cb-radius-sm );
}

.lrl-tag {
	font-family: var( --cb-font-display );
	font-size: var( --cb-caption );
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var( --cb-text-inverse-muted );
	border: var( --cb-border-w ) solid var( --cb-border-dark );
	border-radius: var( --cb-radius-sm );
	padding: 1px 7px;
}
.lrl-demo-note {
	margin: var( --cb-space-4 ) 0 0;
	font-size: var( --cb-caption );
	color: var( --cb-text-muted );
	font-style: italic;
}

/* ══ Kopvertejums — top 3 kartites ═════════════════════════════════ */
.lrl-champtop {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: var( --cb-space-5 );
	align-items: end;
	margin-bottom: var( --cb-space-6 );
}
.lrl-champcard {
	position: relative;
	min-height: 210px;
	padding: var( --cb-space-5 );
	background: var( --cb-surface-dark );
	border-radius: var( --cb-radius-lg );
	border-top: 3px solid var( --lrl-metal, var( --cb-accent-500 ) );
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	--cb-text-strong: var( --cb-text-inverse );
	--cb-text-muted: var( --cb-text-inverse-muted );
}
.lrl-champcard--1 { order: 2; min-height: 244px; --lrl-metal: var( --lrl-gold ); }
.lrl-champcard--2 { order: 1; --lrl-metal: var( --lrl-silver ); }
.lrl-champcard--3 { order: 3; --lrl-metal: var( --lrl-bronze ); }
.lrl-champcard__pos {
	position: absolute;
	top: var( --cb-space-4 );
	left: var( --cb-space-5 );
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-display-sm );
	line-height: 1;
	text-transform: uppercase;
	color: var( --lrl-metal );
}
.lrl-champcard__pos span { display: block; font-size: var( --cb-caption ); letter-spacing: .12em; color: var( --cb-text-inverse-muted ); }
.lrl-champcard__av {
	position: absolute;
	right: var( --cb-space-3 );
	top: 50%;
	transform: translateY( -46% );
	opacity: .95;
}
.lrl-champcard__av .lrl-av { width: 96px; height: 96px; }
.lrl-champcard__body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var( --cb-space-1 ); }
.lrl-champcard__flag { margin-bottom: var( --cb-space-2 ); }
.lrl-champcard__name { font-family: var( --cb-font-display ); font-size: var( --cb-heading-lg ); text-transform: uppercase; line-height: 1; color: var( --cb-text-inverse ); }
.lrl-champcard__team { font-size: var( --cb-body-sm ); color: var( --cb-text-inverse-muted ); }
.lrl-champcard__pts {
	margin-top: var( --cb-space-2 );
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-display-sm );
	line-height: 1;
	color: var( --cb-text-inverse );
}
.lrl-champcard__pts span { font-family: var( --cb-font-body ); font-weight: var( --cb-weight-body ); font-size: var( --cb-body-sm ); color: var( --cb-text-inverse-muted ); text-transform: uppercase; letter-spacing: .08em; margin-left: var( --cb-space-1 ); }

/* ══ Kopvertejuma tabula ═══════════════════════════════════════════ */
.lrl-table-wrap { overflow-x: auto; }
.lrl-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.lrl-table th {
	text-align: left;
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-ui );
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: var( --cb-caption );
	color: var( --cb-text-muted );
	padding: var( --cb-space-3 );
	border-bottom: var( --cb-border-w ) solid var( --cb-border-strong );
}
.lrl-table td { padding: var( --cb-space-3 ); border-bottom: var( --cb-border-w ) solid var( --cb-border-default ); font-size: var( --cb-body-sm ); vertical-align: middle; }
.lrl-table__pos { color: var( --cb-text-muted ); font-family: var( --cb-font-display ); font-weight: var( --cb-weight-ui ); width: 4ch; }
.lrl-table__driver { display: inline-flex; align-items: center; gap: var( --cb-space-3 ); }
.lrl-table__driver .lrl-av { width: 34px; height: 34px; }
.lrl-table__name { font-family: var( --cb-font-display ); font-weight: var( --cb-weight-ui ); text-transform: uppercase; letter-spacing: .02em; color: var( --cb-text-strong ); }
.lrl-table__natcell { display: inline-flex; align-items: center; gap: var( --cb-space-2 ); }
.lrl-table__team { color: var( --cb-text-body ); }
.lrl-table__pts, .lrl-table th.lrl-table__pts { text-align: right; font-family: var( --cb-font-display ); font-weight: var( --cb-weight-display ); font-variant-numeric: tabular-nums; color: var( --cb-text-strong ); }

/* ══ Podiums (pedejais posms) ══════════════════════════════════════ */
.lrl-podium {
	background: var( --cb-surface-dark );
	padding-block: var( --cb-space-8 );
	--cb-text-strong: var( --cb-text-inverse );
	--cb-text-body: var( --cb-text-inverse-muted );
	--cb-text-muted: var( --cb-text-inverse-muted );
	--cb-border-default: var( --cb-border-dark );
	color: var( --cb-text-body );
}
.lrl-podium__grid { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: var( --cb-space-5 ); align-items: end; }
.lrl-pcard {
	position: relative;
	padding: var( --cb-space-5 );
	background: var( --cb-surface-darker );
	border: var( --cb-border-w ) solid var( --cb-border-dark );
	border-top: 3px solid var( --lrl-metal, var( --cb-accent-500 ) );
	border-radius: var( --cb-radius-lg );
	display: flex;
	flex-direction: column;
	gap: var( --cb-space-3 );
}
.lrl-pcard.is-1 { order: 2; --lrl-metal: var( --lrl-gold ); }
.lrl-pcard.is-2 { order: 1; --lrl-metal: var( --lrl-silver ); }
.lrl-pcard.is-3 { order: 3; --lrl-metal: var( --lrl-bronze ); }
.lrl-pcard__rank {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-display-sm );
	line-height: 1;
	color: var( --lrl-metal );
}
.lrl-pcard__av .lrl-av { width: 72px; height: 72px; }
.lrl-pcard__name { font-family: var( --cb-font-display ); font-size: var( --cb-heading-lg ); text-transform: uppercase; line-height: 1; color: var( --cb-text-inverse ); margin-top: var( --cb-space-2 ); }
.lrl-pcard__team { font-size: var( --cb-body-sm ); color: var( --cb-text-inverse-muted ); }
.lrl-pcard__facts { display: flex; gap: var( --cb-space-6 ); margin: 0; padding-top: var( --cb-space-3 ); border-top: var( --cb-border-w ) solid var( --cb-border-dark ); }
.lrl-pcard__facts dt { font-size: var( --cb-caption ); text-transform: uppercase; letter-spacing: .08em; color: var( --cb-text-quiet ); }
.lrl-pcard__facts dd { margin: 2px 0 0; font-family: var( --cb-font-display ); font-weight: var( --cb-weight-ui ); font-size: var( --cb-body-lg ); color: var( --cb-text-inverse ); }
.lrl-pcard__pts { color: var( --cb-accent-500 ); }
.lrl-pcard__badges { display: flex; flex-wrap: wrap; gap: var( --cb-space-2 ); }
.lrl-badge2 {
	font-family: var( --cb-font-display );
	font-size: var( --cb-caption );
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var( --cb-text-inverse );
	background: color-mix( in srgb, var( --cb-text-inverse ) 10%, transparent );
	border-radius: var( --cb-radius-sm );
	padding: 2px 8px;
}

/* ══ Responsivs (rezultati) ════════════════════════════════════════ */
@media ( max-width: 860px ) {
	.lrl-champtop,
	.lrl-podium__grid { grid-template-columns: 1fr; }
	.lrl-champcard,
	.lrl-pcard { order: 0; min-height: 0; }
	.lrl-champcard__av .lrl-av { width: 76px; height: 76px; }
}

/* ══ Trases karte (SVG vietturis) ══════════════════════════════════ */
.lrl-trackmap { display: block; width: 100%; height: auto; }
.lrl-trackmap__base { fill: none; stroke: color-mix( in srgb, var( --cb-neutral-0 ) 12%, transparent ); stroke-width: 12; stroke-linejoin: round; }
.lrl-trackmap__line { fill: none; stroke: var( --cb-accent-500 ); stroke-width: 3.5; stroke-linejoin: round; }
.lrl-trackmap__sf { fill: var( --cb-neutral-0 ); }

/* ══ Kalendāra hero ════════════════════════════════════════════════ */
.lrl-cal-hero {
	position: relative;
	background: var( --cb-surface-dark );
	padding-block: clamp( 40px, 5vw, 72px );
	overflow: hidden;
	--cb-text-strong: var( --cb-text-inverse );
	--cb-text-body: var( --cb-text-inverse-muted );
	--cb-text-muted: var( --cb-text-inverse-muted );
	--cb-border-default: var( --cb-border-dark );
	color: var( --cb-text-body );
}
.lrl-cal-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient( 120% 90% at 100% 0%, color-mix( in srgb, var( --cb-accent-600 ) 24%, transparent ) 0%, transparent 55% );
}
.lrl-cal-hero.lrl-hero--photo::before {
	background: var( --cb-scrim-side ), var( --lrl-hero-img ) center / cover no-repeat;
}
.lrl-cal-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: var( --cb-space-7 );
	align-items: center;
}
.lrl-cal-hero__head { display: flex; flex-direction: column; align-items: flex-start; gap: var( --cb-space-4 ); }
.lrl-cal-hero__eyebrow {
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-ui );
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: var( --cb-body-sm );
	color: var( --cb-accent-500 );
	margin: 0;
}
.lrl-cal-hero__card {
	justify-self: end;
	width: 100%;
	max-width: 340px;
	padding: var( --cb-space-5 );
	background: color-mix( in srgb, var( --cb-neutral-900 ) 62%, transparent );
	border: var( --cb-border-w ) solid var( --cb-border-dark );
	border-radius: var( --cb-radius-lg );
	backdrop-filter: blur( 4px );
}
.lrl-cal-hero__cardlab,
.lrl-cal-hero__cardpos {
	display: block;
	font-family: var( --cb-font-display );
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: var( --cb-caption );
	color: var( --cb-text-inverse-muted );
}
.lrl-cal-hero__cardpos { text-align: right; color: var( --cb-accent-500 ); }
.lrl-cal-hero__map { margin: var( --cb-space-3 ) 0; }

/* ══ Posmu josla ═══════════════════════════════════════════════════ */
.lrl-cal-strip {
	background: var( --cb-surface-darker );
	border-top: var( --cb-border-w-thick ) solid var( --cb-surface-accent );
	padding-block: var( --cb-space-5 );
	--cb-text-body: var( --cb-text-inverse-muted );
	color: var( --cb-text-body );
}
.lrl-cal-strip__row {
	display: flex;
	gap: var( --cb-space-6 );
	list-style: none;
	margin: 0;
	padding: 0 0 var( --cb-space-2 );
	overflow-x: auto;
}
.lrl-cal-stop { flex: 0 0 auto; }
.lrl-cal-stop a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var( --cb-space-2 );
	min-width: 76px;
	text-decoration: none;
	color: var( --cb-text-inverse-muted );
	transition: color var( --cb-dur-base ) var( --cb-ease-out );
}
.lrl-cal-stop a:hover { color: var( --cb-text-inverse ); }
.lrl-cal-stop__flag {
	width: 46px;
	height: 46px;
	border-radius: var( --cb-radius-pill );
	display: grid;
	place-items: center;
	background: var( --cb-surface-dark );
	border: var( --cb-border-w ) solid var( --cb-border-dark );
	overflow: hidden;
}
.lrl-cal-stop__flag .lrl-flag--svg svg { width: 30px; height: 20px; }
.lrl-cal-stop__date { font-family: var( --cb-font-display ); font-weight: var( --cb-weight-ui ); text-transform: uppercase; font-size: var( --cb-body-sm ); }
.lrl-cal-stop__name { font-size: var( --cb-caption ); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.lrl-cal-stop.is-next { color: var( --cb-text-inverse ); }
.lrl-cal-stop.is-next .lrl-cal-stop__flag { border-color: var( --cb-accent-500 ); box-shadow: 0 0 0 2px var( --cb-accent-500 ); }
.lrl-cal-stop.is-next .lrl-cal-stop__date { color: var( --cb-accent-500 ); }
.lrl-cal-stop.is-past { opacity: .55; }

/* ══ Posmu kartītes ════════════════════════════════════════════════ */
.lrl-cal-grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 280px, 1fr ) );
	gap: var( --cb-space-5 );
}
.lrl-rcard {
	display: flex;
	flex-direction: column;
	background: var( --cb-surface-page );
	border: var( --cb-border-w ) solid var( --cb-border-default );
	border-radius: var( --cb-radius-lg );
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	box-shadow: var( --cb-shadow-card );
	transition: transform var( --cb-dur-base ) var( --cb-ease-out ), box-shadow var( --cb-dur-base ) var( --cb-ease-out );
}
.lrl-rcard:hover { transform: translateY( -3px ); box-shadow: var( --cb-shadow-raised ); }
.lrl-rcard.is-past { opacity: .82; }
.lrl-rcard.is-next { border-color: var( --cb-accent-500 ); box-shadow: 0 0 0 1px var( --cb-accent-500 ), var( --cb-shadow-card ); }
.lrl-rcard__media {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var( --cb-surface-dark );
	display: grid;
	place-items: center;
	overflow: hidden;
}
.lrl-rcard__media img { width: 100%; height: 100%; object-fit: cover; }
.lrl-rcard__media .lrl-trackmap { width: 74%; }
.lrl-rcard__num {
	position: absolute;
	top: var( --cb-space-3 );
	left: var( --cb-space-4 );
	font-family: var( --cb-font-display );
	font-weight: var( --cb-weight-display );
	font-size: var( --cb-display-sm );
	line-height: 1;
	color: var( --cb-text-inverse );
	text-shadow: 0 2px 8px rgba( 0, 0, 0, .5 );
}
.lrl-rcard__status {
	position: absolute;
	top: var( --cb-space-3 );
	right: var( --cb-space-3 );
	font-family: var( --cb-font-display );
	font-size: var( --cb-caption );
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 2px 8px;
	border-radius: var( --cb-radius-sm );
	color: var( --cb-text-inverse );
	background: color-mix( in srgb, var( --cb-neutral-900 ) 70%, transparent );
}
.lrl-rcard.is-next .lrl-rcard__status { background: var( --cb-surface-accent ); }
.lrl-rcard__body { padding: var( --cb-space-5 ); display: flex; flex-direction: column; gap: var( --cb-space-2 ); }
.lrl-rcard__track { font-family: var( --cb-font-display ); font-size: var( --cb-heading-md ); text-transform: uppercase; letter-spacing: .01em; color: var( --cb-text-strong ); line-height: 1.05; }
.lrl-rcard__meta { display: flex; align-items: center; gap: var( --cb-space-2 ); font-size: var( --cb-body-sm ); color: var( --cb-text-body ); }
.lrl-rcard__sub { font-size: var( --cb-body-sm ); color: var( --cb-text-muted ); }
.lrl-rcard__dot { color: var( --cb-text-quiet ); }

@media ( max-width: 860px ) {
	.lrl-cal-hero__inner { grid-template-columns: 1fr; }
	.lrl-cal-hero__card { justify-self: stretch; max-width: none; }
}

/* ══════════ Race Broadcast kalendārs ══════════ */
.rb-cal {
	background-color: var( --rb-bg );
	background-image: repeating-linear-gradient( 45deg, var( --rb-stripe ) 0 1px, transparent 1px 14px );
	color: var( --rb-ink );
	font-family: var( --rb-font-display );
	padding-block: clamp( 28px, 4vw, 44px ) clamp( 40px, 6vw, 72px );
}
.rb-wrap { max-width: 1180px; margin: 0 auto; padding-inline: clamp( 20px, 5vw, 80px ); }

.rb-eyebrow {
	margin: 0 0 clamp( 22px, 3vw, 36px );
	font-family: var( --rb-font-display );
	font-weight: 600;
	font-size: 22px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var( --rb-ink-muted );
}

/* Meta josla (tumša tinte) */
.rb-metabar {
	display: grid;
	grid-template-columns: 1fr 1.35fr 1fr;
	background: var( --rb-ink );
	color: var( --rb-on-ink );
}
.rb-metabar__cell { padding: 20px 26px; display: flex; flex-direction: column; gap: 8px; }
.rb-metabar__cell + .rb-metabar__cell { border-left: 1px solid color-mix( in srgb, var( --rb-on-ink ) 16%, transparent ); }
.rb-metabar__lab { font-family: var( --rb-font-data ); font-weight: 500; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var( --rb-ink-muted ); }
.rb-metabar__val { font-family: var( --rb-font-data ); font-weight: 600; font-size: 24px; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; text-transform: uppercase; }

/* UP NEXT kartīte + foto pārklāšanās */
.rb-hero { position: relative; margin-top: 40px; }
.rb-card {
	position: relative;
	z-index: 2;
	display: block;
	text-decoration: none;
	color: var( --rb-ink );
	background: var( --rb-surface );
	box-shadow: var( --rb-shadow );
	border-radius: var( --rb-radius );
	padding: 26px 30px 0;
}
.rb-card__top { display: flex; align-items: center; gap: 12px; }
.rb-card__name {
	margin-top: 22px;
	font-family: var( --rb-font-display );
	font-weight: 800;
	font-size: clamp( 56px, 11vw, 132px );
	line-height: 0.85;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}
.rb-split {
	display: grid;
	grid-template-columns: repeat( var( --rb-cols, 2 ), 1fr );
	margin-top: 24px;
	border-top: 1px solid var( --rb-hairline );
}
.rb-split__cell {
	padding: 16px 0;
	font-family: var( --rb-font-data );
	font-weight: 600;
	font-size: 18px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
}
.rb-split__cell + .rb-split__cell { border-left: 1px solid var( --rb-hairline ); padding-left: 26px; }

.rb-hero__photo { position: relative; z-index: 1; margin-top: -120px; height: clamp( 200px, 28vw, 340px ); overflow: hidden; }
.rb-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Žetoni */
.rb-badge {
	background: var( --rb-state );
	color: var( --rb-on-ink );
	font-family: var( --rb-font-display );
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 8px 14px;
	border-radius: var( --rb-radius );
}
.rb-badge--sm { font-size: 15px; padding: 5px 9px; }
.rb-pill {
	border: 1px solid var( --rb-hairline );
	color: var( --rb-ink );
	font-family: var( --rb-font-data );
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 7px 11px;
	border-radius: var( --rb-radius );
	font-variant-numeric: tabular-nums;
	background: var( --rb-surface );
}
.rb-pill--sm { font-size: 13px; padding: 5px 9px; }
.rb-status {
	margin-left: auto;
	background: var( --rb-state );
	color: var( --rb-on-ink );
	font-family: var( --rb-font-display );
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: var( --rb-radius );
}

/* Saraksts */
.rb-rows { display: flex; flex-direction: column; gap: 14px; margin-top: 34px; }
.rb-row {
	display: block;
	text-decoration: none;
	color: var( --rb-ink );
	background: var( --rb-surface );
	border: 1px solid var( --rb-hairline );
	border-left: 4px solid var( --rb-ink );
	border-radius: var( --rb-radius );
	box-shadow: var( --rb-shadow-sm );
	padding: 16px 22px 16px 20px;
	transition: border-color 180ms cubic-bezier( 0.2, 0, 0, 1 );
}
.rb-row:hover { border-left-color: var( --rb-state ); }
.rb-row.is-past { opacity: 0.45; }
.rb-row__top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.rb-row__name {
	font-family: var( --rb-font-display );
	font-weight: 800;
	font-size: clamp( 34px, 6vw, 62px );
	line-height: 0.85;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}
.rb-row__fmt {
	margin-top: 8px;
	font-family: var( --rb-font-data );
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
}
.rb-row__done { margin-left: auto; font-family: var( --rb-font-data ); font-weight: 500; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var( --rb-ink-muted ); }

@media ( max-width: 720px ) {
	.rb-metabar { grid-template-columns: 1fr 1fr; }
	.rb-metabar__cell:nth-child(3) { border-left: 0; border-top: 1px solid color-mix( in srgb, var( --rb-on-ink ) 16%, transparent ); grid-column: 1 / -1; }
	.rb-hero__photo { margin-top: -80px; }
}
