/* =====================================================================
   Painted Desert Tribune — livestream UI.
   ---------------------------------------------------------------------
   Shared styles for: site-wide live banner, home-page hero takeover,
   /live/ archive page, single stream page, "Live" nav indicator, and the
   HLS <video> wrapper.
   ===================================================================== */

/* ── Live banner (site-wide) ───────────────────────────────────────── */
.pdt-live-banner {
	position: relative;
	background: linear-gradient(90deg, #B83020 0%, #C4622D 65%, #B83020 100%);
	color: #fff;
	font-family: 'Libre Franklin', sans-serif;
	padding: 10px 36px;
	display: flex;
	align-items: center;
	gap: 16px;
	box-shadow: 0 2px 0 rgba(0,0,0,0.10), 0 6px 20px rgba(184,48,32,0.18);
	z-index: 1100;
	border-bottom: 2px solid rgba(0,0,0,0.18);
}
.pdt-live-banner .pdt-live-pulse {
	width: 10px;
	height: 10px;
	background: #fff;
	border-radius: 50%;
	animation: pdt-live-pulse 1.4s ease-in-out infinite;
	flex-shrink: 0;
	margin-right: 2px;
}
@keyframes pdt-live-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0.85); transform: scale(1); }
	50%      { box-shadow: 0 0 0 9px rgba(255,255,255,0); transform: scale(1.15); }
}
.pdt-live-banner .pdt-live-tag {
	background: #fff;
	color: #B83020;
	font-weight: 700;
	font-size: 10.5px;
	letter-spacing: 2.4px;
	padding: 4px 10px 5px;
	text-transform: uppercase;
	border-radius: 2px;
	flex-shrink: 0;
}
.pdt-live-banner .pdt-live-text {
	flex: 1;
	font-size:var(--text-md);
	line-height: 1.3;
	min-width: 0;
}
.pdt-live-banner .pdt-live-text strong {
	font-weight: 700;
	font-size: 15px;
}
.pdt-live-banner .pdt-live-cat {
	opacity: 0.85;
	font-size:var(--text-sm);
	margin-left: 6px;
}
.pdt-live-banner .pdt-live-cta {
	background: #1A0A02;
	color: #fff;
	padding: 8px 18px;
	font-size:var(--text-xs);
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: background var(--dur-base);
	flex-shrink: 0;
}
.pdt-live-banner .pdt-live-cta:hover { background: #2A1208; }

@media (max-width: 720px) {
	.pdt-live-banner { padding: 8px 14px; gap: 10px; }
	.pdt-live-banner .pdt-live-text { font-size: 13px; }
	.pdt-live-banner .pdt-live-cta { padding: 6px 12px; font-size: 10.5px; letter-spacing: 1.2px; }
	.pdt-live-banner .pdt-live-cat { display: none; }
}

/* ── HLS player wrapper ────────────────────────────────────────────── */
.pdt-stream-player {
	position: relative;
	background: #000;
	aspect-ratio: 16/9;
	overflow: hidden;
	border: 1px solid #2A1208;
}
.pdt-stream-player video {
	width: 100%;
	height: 100%;
	display: block;
	background: #000;
}
.pdt-stream-iframe-wrap {
	position: relative;
	background: #000;
	aspect-ratio: 16/9;
	overflow: hidden;
}
.pdt-stream-iframe-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.pdt-stream-empty {
	background: #2A1208;
	color: #E8C9A0;
	padding: 60px 40px;
	text-align: center;
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	border: 1px dashed rgba(232,201,160,0.3);
}

/* ── Home-page live hero block ─────────────────────────────────────── */
.pdt-live-hero {
	background: linear-gradient(160deg, #1A0A02 0%, #3A1808 60%, #6E2A1A 100%);
	color: #F5EFE2;
	padding: 28px 0 32px;
	margin-bottom: 12px;
	position: relative;
}
.pdt-live-hero::before {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 4px;
	background: repeating-linear-gradient(to right, #B83020 0 50px, #C4622D 50px 90px, #E8A820 90px 130px, #C9A87A 130px 175px);
}
.pdt-live-hero .pdt-live-hero-inner {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 32px;
	align-items: start;
}
.pdt-live-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #B83020;
	color: #fff;
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	font-weight: 700;
	letter-spacing: 2.4px;
	padding: 5px 12px 6px;
	text-transform: uppercase;
	border-radius: 2px;
	margin-bottom: 14px;
}
.pdt-live-hero-eyebrow .pdt-live-pulse {
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 50%;
	animation: pdt-live-pulse 1.4s ease-in-out infinite;
}
.pdt-live-hero h1 {
	font-family: 'Noto Serif', Georgia, serif;
	font-weight: 700;
	font-size: 38px;
	line-height: 1.08;
	color: #F5EFE2;
	margin: 0 0 12px;
}
.pdt-live-hero .pdt-live-cat-line {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size:var(--text-body);
	color: rgba(245,239,226,0.65);
	margin-bottom: 16px;
}
.pdt-live-hero .pdt-live-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	font-family: 'Libre Franklin', sans-serif;
	font-size: 12px;
	color: rgba(245,239,226,0.55);
	margin-bottom: 16px;
}
.pdt-live-hero .pdt-live-meta strong { color: #F5EFE2; font-weight: 600; }
.pdt-live-hero .pdt-live-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.pdt-live-hero .pdt-live-actions a {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	padding: 11px 22px;
	text-decoration: none;
	transition: background var(--dur-base), color var(--dur-base);
}
.pdt-live-hero .pdt-live-actions .primary {
	background: #1DADA0;
	color: #fff;
}
.pdt-live-hero .pdt-live-actions .primary:hover { background: #2ABCAA; }
.pdt-live-hero .pdt-live-actions .secondary {
	background: transparent;
	color: rgba(245,239,226,0.85);
	border: 1px solid rgba(245,239,226,0.35);
}
.pdt-live-hero .pdt-live-actions .secondary:hover {
	border-color: rgba(245,239,226,0.85);
	color: #F5EFE2;
}

@media (max-width: 900px) {
	.pdt-live-hero .pdt-live-hero-inner { grid-template-columns: 1fr; }
	.pdt-live-hero h1 { font-size: 30px; }
}

/* ── Stream cards (used on /live/ archive) ─────────────────────────── */
.pdt-stream-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 22px;
}
.pdt-stream-card {
	background: #fff;
	border: 1px solid rgba(196,98,45,0.12);
	border-top: 3px solid var(--terracotta, #C4622D);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s, box-shadow 0.15s;
}
.pdt-stream-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 22px rgba(28,14,6,0.10);
}
.pdt-stream-card.is-live { border-top-color: #B83020; }
.pdt-stream-card.is-ended { border-top-color: #7A8268; }

.pdt-stream-card-thumb {
	aspect-ratio: 16/9;
	overflow: hidden;
	background: #1A0A02;
	position: relative;
}
.pdt-stream-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdt-stream-card-thumb .placeholder {
	position: absolute;
	inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: rgba(232,201,160,0.6);
	font-family: 'Noto Serif', serif;
	font-size: 36px;
	background: linear-gradient(135deg, #2A1208, #1A0A02);
}
.pdt-stream-card-thumb .pdt-live-pill,
.pdt-stream-card-thumb .pdt-status-pill {
	position: absolute;
	top: 12px; left: 12px;
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-2xs);
	font-weight: 700;
	letter-spacing: 1.6px;
	padding: 4px 9px;
	border-radius: 2px;
	text-transform: uppercase;
	color: #fff;
	display: inline-flex; align-items: center; gap: 6px;
}
.pdt-stream-card-thumb .pdt-live-pill { background: #B83020; }
.pdt-stream-card-thumb .pdt-live-pill .pdt-live-pulse {
	width: 7px; height: 7px; background: #fff; border-radius: 50%;
	animation: pdt-live-pulse 1.4s ease-in-out infinite;
}
.pdt-stream-card-thumb .pdt-status-pill.scheduled { background: #1DADA0; }
.pdt-stream-card-thumb .pdt-status-pill.ended     { background: #7A8268; }

.pdt-stream-card-body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.pdt-stream-card-body .pdt-stream-cat {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--terracotta, #C4622D);
	margin-bottom: 6px;
}
.pdt-stream-card-body h3 {
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.25;
	margin: 0 0 8px;
	color: var(--ink, #1B130C);
}
.pdt-stream-card-body .pdt-stream-when {
	font-family: 'Libre Baskerville', serif;
	font-size:var(--text-md);
	font-style: italic;
	color: #7A5A3A;
	margin-top: auto;
	padding-top: 10px;
}

/* ── Single stream page ───────────────────────────────────────────── */
.pdt-stream-single {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 36px;
	padding-bottom: 48px;
}
.pdt-stream-single .pdt-stream-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-sm);
	color: var(--ink-3, #6B5C4D);
	margin: 14px 0 18px;
}
.pdt-stream-single h1 {
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size: 36px;
	line-height: 1.1;
	margin: 18px 0 4px;
	color: var(--ink, #1B130C);
}
.pdt-stream-single .pdt-stream-cat-line {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size:var(--text-body);
	color: #7A5A3A;
	margin-bottom: 14px;
}
.pdt-stream-single .pdt-stream-body { font-family: 'Libre Baskerville', serif; font-size:var(--text-body); line-height: 1.6; color: var(--ink, #1B130C); }

@media (max-width: 900px) {
	.pdt-stream-single { grid-template-columns: 1fr; }
}

/* ── "Live" nav link pulse (only when something's live) ────────────── */
.main-nav a.pdt-nav-live {
	color: #C4622D !important;
	font-weight: 700;
}
.main-nav a.pdt-nav-live::before {
	content: "";
	display: inline-block;
	width: 7px; height: 7px;
	background: #B83020;
	border-radius: 50%;
	margin-right: 6px;
	margin-bottom: 1px;
	vertical-align: middle;
	animation: pdt-live-pulse 1.4s ease-in-out infinite;
}

/* =====================================================================
   APPENDIX A — Kind-aware livestream UI
   ---------------------------------------------------------------------
   Added when livestreaming was extended into sports / government kinds.
   Everything above this line is pre-existing and untouched.
   ===================================================================== */

/* ── Banner color tints by kind ───────────────────────────────────── */
.pdt-live-banner-sports {
	background: linear-gradient(90deg, #2A1208 0%, #6E2A1A 50%, #B83020 100%);
}
.pdt-live-banner-government {
	background: linear-gradient(90deg, #38452f 0%, var(--color-section-civic-ink) 60%, #64775f 100%);
}
.pdt-live-banner-government .pdt-live-tag { color: var(--color-section-civic-ink); }
.pdt-live-banner-breaking {
	background: linear-gradient(90deg, #7A0F0F 0%, #B83020 50%, #E03030 100%);
}

/* ── Sports takeover hero (front page) ─────────────────────────────── */
.pdt-live-hero-sports {
	background: radial-gradient(ellipse at top right, #6E2A1A 0%, #2A1208 60%, #0E0604 100%);
	color: #F5EFE2;
	padding: 30px 0 40px;
	position: relative;
	overflow: hidden;
}
.pdt-live-hero-sports .pdt-live-hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 15% 30%, rgba(228, 168, 32, 0.10), transparent 40%),
		radial-gradient(circle at 85% 70%, rgba(29, 173, 160, 0.10), transparent 40%);
	z-index: 0;
}
.pdt-live-hero-sports > .page-wrap { position: relative; z-index: 1; }

.pdt-hero-sports-grid {
	display: grid;
	grid-template-columns: 1.05fr 1.4fr;
	gap: 36px;
	align-items: center;
}
.pdt-hero-sports-info h1 {
	font-family: 'Noto Serif', Georgia, serif;
	font-weight: 700;
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.05;
	color: #F5EFE2;
	margin: 0 0 18px;
}
.pdt-hero-scoreboard {
	display: grid;
	grid-template-columns: 1fr 88px 1fr;
	gap: 14px;
	align-items: stretch;
	background: rgba(10, 4, 2, 0.55);
	border: 1px solid rgba(245, 239, 226, 0.10);
	padding: 16px 18px 18px;
	margin-bottom: 12px;
	box-shadow: inset 0 1px 0 rgba(245, 239, 226, 0.06);
}
.pdt-hero-scoreboard .hero-team {
	position: relative;
	padding: 6px 4px 6px 14px;
	border-left: 4px solid var(--team-color, #C4622D);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.pdt-hero-scoreboard .hero-team-bar {
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: var(--team-color, #C4622D);
}
.pdt-hero-scoreboard .hero-team-side {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.55);
	margin-bottom: 4px;
}
.pdt-hero-scoreboard .hero-team-name {
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size:var(--text-lg);
	line-height: 1.1;
	color: #F5EFE2;
	margin-bottom: 4px;
}
.pdt-hero-scoreboard .hero-team-score {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size: 46px;
	line-height: 1;
	letter-spacing: 1px;
	color: var(--team-color, #F5EFE2);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.pdt-hero-scoreboard .hero-mid {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-left: 1px solid rgba(245, 239, 226, 0.14);
	border-right: 1px solid rgba(245, 239, 226, 0.14);
	color: rgba(245, 239, 226, 0.85);
}
.pdt-hero-scoreboard .hero-mid .period {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	font-weight: 700;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: #E8A820;
	margin-bottom: 4px;
}
.pdt-hero-scoreboard .hero-mid .clock {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size: 25px;
	letter-spacing: 1.2px;
	color: #F5EFE2;
}
.pdt-hero-venue {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size:var(--text-md);
	color: rgba(245, 239, 226, 0.6);
	margin-bottom: 4px;
}
.pdt-hero-sports-player .pdt-stream-player {
	border: 1px solid rgba(245, 239, 226, 0.12);
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}

@media (max-width: 900px) {
	.pdt-hero-sports-grid { grid-template-columns: 1fr; }
	.pdt-hero-scoreboard .hero-team-score { font-size: 44px; }
}

/* ── Government takeover hero (front page) ─────────────────────────── */
.pdt-live-hero-gov {
	background: linear-gradient(160deg, #20281c 0%, #38452f 60%, var(--color-section-civic-ink) 100%);
}
.pdt-live-hero-gov .pdt-live-hero-eyebrow { background: var(--color-section-civic-ink); }
.pdt-live-hero-gov::before {
	background: repeating-linear-gradient(to right, var(--color-section-civic-ink) 0 50px, #64775f 50px 90px, #C9A87A 90px 130px, var(--color-section-civic-ink) 130px 175px);
}
.pdt-hero-agenda-chips {
	margin: 14px 0 16px;
}
.pdt-hero-agenda-chips .chips-eyebrow {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.55);
	margin-bottom: 8px;
}
.pdt-hero-agenda-chips ul {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: 5px;
}
.pdt-hero-agenda-chips li {
	display: grid;
	grid-template-columns: 78px 1fr;
	gap: 10px;
	font-family: 'Libre Franklin', sans-serif;
	font-size: 13px;
	color: rgba(245, 239, 226, 0.88);
	align-items: baseline;
}
.pdt-hero-agenda-chips li .t {
	font-family: ui-monospace, Menlo, monospace;
	font-size: 11.5px;
	color: #E8A820;
	letter-spacing: 0.4px;
}
.pdt-hero-agenda-chips li.more {
	grid-template-columns: 1fr;
	font-style: italic;
	font-size: 12px;
	color: rgba(245, 239, 226, 0.55);
}

/* ── Single sports stream stage ────────────────────────────────────── */
.pdt-sports-stage {
	background: radial-gradient(ellipse at top, #2A1208 0%, #18080F 60%, #0A0402 100%);
	color: #F5EFE2;
	padding: 26px 0 50px;
	position: relative;
}
.pdt-sports-stage .pdt-sports-stage-bg {
	position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(circle at 10% 20%, rgba(228, 168, 32, 0.08), transparent 45%),
		radial-gradient(circle at 90% 80%, rgba(29, 173, 160, 0.08), transparent 45%);
}
.pdt-sports-stage > .page-wrap { position: relative; z-index: 1; }
.pdt-sports-breadcrumb {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	color: rgba(245, 239, 226, 0.45);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 4px 0 18px;
}
.pdt-sports-breadcrumb a { color: rgba(245, 239, 226, 0.55); text-decoration: none; }
.pdt-sports-breadcrumb a:hover { color: #E8A820; }
.pdt-sports-breadcrumb .sep { margin: 0 8px; color: rgba(245, 239, 226, 0.25); }

.pdt-scoreboard {
	background: rgba(10, 4, 2, 0.62);
	border: 1px solid rgba(245, 239, 226, 0.10);
	padding: 14px 22px 18px;
	margin-bottom: 18px;
	box-shadow: inset 0 1px 0 rgba(245, 239, 226, 0.05), 0 8px 26px rgba(0, 0, 0, 0.35);
}
.pdt-scoreboard.is-live { border-color: rgba(184, 48, 32, 0.40); }
.pdt-scoreboard-status {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: 'Libre Franklin', sans-serif;
	font-size: 11.5px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.65);
	margin-bottom: 14px;
}
.pdt-scoreboard-status .label {
	background: #B83020;
	color: #fff;
	padding: 3px 10px 4px;
	border-radius: 2px;
	font-weight: 700;
}
.pdt-scoreboard-status .label.upcoming { background: #1DADA0; }
.pdt-scoreboard-status .label.final    { background: #7A8268; }
.pdt-scoreboard-status .pdt-live-pulse { width: 10px; height: 10px; background: #E03030; }
.pdt-scoreboard-status .sport { font-weight: 700; color: #E8A820; }
.pdt-scoreboard-status .venue { font-style: italic; color: rgba(245, 239, 226, 0.55); letter-spacing: 0.4px; text-transform: none; font-size: 13px; }

.pdt-scoreboard-grid {
	display: grid;
	grid-template-columns: 1fr 110px 1fr;
	gap: 18px;
	align-items: stretch;
}
.pdt-scoreboard-team {
	position: relative;
	padding: 8px 8px 8px 18px;
	border-left: 4px solid var(--team-color, #C4622D);
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	gap: 6px 18px;
	align-items: center;
}
.pdt-scoreboard-team .team-bar {
	position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
	background: var(--team-color, #C4622D);
}
.pdt-scoreboard-team .team-meta {
	grid-column: 1; grid-row: 1;
	display: flex; align-items: baseline; gap: 14px;
	font-family: 'Libre Franklin', sans-serif;
}
.pdt-scoreboard-team .team-side {
	font-size:var(--text-2xs);
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.45);
}
.pdt-scoreboard-team .team-rec {
	font-size:var(--text-xs);
	color: #E8A820;
	letter-spacing: 0.4px;
}
.pdt-scoreboard-team .team-name {
	grid-column: 1; grid-row: 2;
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.1;
	color: #F5EFE2;
}
.pdt-scoreboard-team .team-score {
	grid-column: 2; grid-row: 1 / span 2;
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size: 62px;
	line-height: 0.9;
	letter-spacing: 1px;
	color: var(--team-color, #F5EFE2);
	text-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
	align-self: center;
}

.pdt-scoreboard-mid {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-left: 1px solid rgba(245, 239, 226, 0.10);
	border-right: 1px solid rgba(245, 239, 226, 0.10);
	color: rgba(245, 239, 226, 0.85);
}
.pdt-scoreboard-mid .period {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	font-weight: 700;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: #E8A820;
	margin-bottom: 4px;
}
.pdt-scoreboard-mid .clock {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size: 30px;
	letter-spacing: 1.2px;
	color: #F5EFE2;
	margin-bottom: 4px;
}
.pdt-scoreboard-mid .vs {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 9px;
	letter-spacing: 2px;
	color: rgba(245, 239, 226, 0.35);
	font-weight: 700;
}

@media (max-width: 720px) {
	.pdt-scoreboard-grid { grid-template-columns: 1fr; gap: 12px; }
	.pdt-scoreboard-mid { border-left: 0; border-right: 0; border-top: 1px solid rgba(245, 239, 226, 0.10); border-bottom: 1px solid rgba(245, 239, 226, 0.10); padding: 10px 0; }
	.pdt-scoreboard-team .team-score { font-size: 56px; }
}

/* Player + side rail */
.pdt-sports-player-row {
	display: grid;
	grid-template-columns: 1.55fr 1fr;
	gap: 28px;
	align-items: start;
	margin-bottom: 28px;
}
.pdt-sports-player .pdt-stream-player {
	border: 1px solid rgba(245, 239, 226, 0.10);
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.45);
	margin-bottom: 18px;
}
.pdt-sports-titlebar h1 {
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size: clamp(26px, 2.5vw, 36px);
	line-height: 1.08;
	color: #F5EFE2;
	margin: 4px 0 6px;
}
.pdt-sports-cat {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size:var(--text-base);
	color: rgba(245, 239, 226, 0.6);
	margin-bottom: 10px;
}
.pdt-sports-meta {
	display: flex; flex-wrap: wrap; gap: 10px;
	font-family: 'Libre Franklin', sans-serif;
	font-size: 12px;
	color: rgba(245, 239, 226, 0.55);
	margin-bottom: 14px;
}
.pdt-sports-meta strong { color: #F5EFE2; font-weight: 600; }
.pdt-sports-meta a { color: #E8A820; text-decoration: none; border-bottom: 1px solid rgba(232, 168, 32, 0.4); }
.pdt-sports-blurb {
	font-family: 'Libre Baskerville', serif;
	font-size:var(--text-base);
	line-height: 1.6;
	color: rgba(245, 239, 226, 0.82);
	max-width: 60ch;
}
.pdt-sports-blurb p { margin: 0 0 12px; }

/* Side rail */
.pdt-sports-rail .sidebar-widget { background: rgba(10, 4, 2, 0.55); padding: 16px 18px; border: 1px solid rgba(245, 239, 226, 0.08); }
.pdt-sports-rail .sidebar-widget div[style*="color:var(--ink)"] { color: #F5EFE2 !important; }
.pdt-next-card {
	background: linear-gradient(135deg, #C4622D 0%, #B83020 100%);
	color: #F5EFE2;
	padding: 18px 20px;
	margin-bottom: 18px;
	border: 1px solid rgba(245, 239, 226, 0.15);
	box-shadow: 0 8px 22px rgba(184, 48, 32, 0.25);
}
.pdt-next-eyebrow {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-2xs);
	font-weight: 700;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.7);
	margin-bottom: 6px;
}
.pdt-next-matchup {
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size:var(--text-xl);
	line-height: 1.15;
	color: #F5EFE2;
	margin-bottom: 6px;
}
.pdt-next-when {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-sm);
	color: rgba(245, 239, 226, 0.8);
	margin-bottom: 2px;
}
.pdt-next-venue {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size: 13px;
	color: rgba(245, 239, 226, 0.65);
}

@media (max-width: 900px) {
	.pdt-sports-player-row { grid-template-columns: 1fr; }
}

/* Roster band */
.pdt-rosters {
	background: rgba(245, 239, 226, 0.04);
	border: 1px solid rgba(245, 239, 226, 0.08);
	padding: 22px 24px 26px;
	margin-bottom: 28px;
}
.pdt-rosters-header {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 600;
	font-size: 18px;
	letter-spacing: 3px;
	color: #E8A820;
	text-transform: uppercase;
	margin-bottom: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(232, 168, 32, 0.25);
}
.pdt-rosters-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pdt-roster {
	background: rgba(10, 4, 2, 0.40);
	border: 1px solid rgba(245, 239, 226, 0.06);
	border-top: 3px solid var(--team-color, #C4622D);
	padding: 14px 16px 16px;
}
.pdt-roster-head {
	display: flex; align-items: baseline; gap: 10px;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(245, 239, 226, 0.08);
}
.pdt-roster-head .dot {
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--team-color, #C4622D);
	flex-shrink: 0;
	transform: translateY(2px);
}
.pdt-roster-head .name {
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size: 18px;
	color: #F5EFE2;
	flex: 1;
}
.pdt-roster-head .count {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 10.5px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.45);
}
.pdt-roster ul { list-style: none; margin: 0; padding: 0; }
.pdt-roster li {
	display: grid;
	grid-template-columns: 38px 1fr auto auto;
	gap: 10px;
	align-items: baseline;
	padding: 6px 0;
	border-bottom: 1px dashed rgba(245, 239, 226, 0.06);
	font-family: 'Libre Franklin', sans-serif;
	font-size: 13px;
	color: rgba(245, 239, 226, 0.85);
}
.pdt-roster li:last-child { border-bottom: 0; }
.pdt-roster li .num {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size:var(--text-body);
	color: var(--team-color, #C4622D);
	letter-spacing: 0.5px;
}
.pdt-roster li .pname {
	font-family: 'Noto Serif', serif;
	font-weight: 700;
	font-size: 15px;
	color: #F5EFE2;
}
.pdt-roster li .pos {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #E8A820;
	background: rgba(232, 168, 32, 0.12);
	padding: 2px 7px;
	border-radius: 2px;
}
.pdt-roster li .yr {
	font-size:var(--text-xs);
	color: rgba(245, 239, 226, 0.45);
	letter-spacing: 0.6px;
}

@media (max-width: 720px) {
	.pdt-rosters-grid { grid-template-columns: 1fr; }
}

/* Standings band on the sports stage */
.pdt-sports-standings-band {
	background: rgba(10, 4, 2, 0.45);
	border: 1px solid rgba(245, 239, 226, 0.08);
	padding: 20px 24px 24px;
	margin-bottom: 16px;
}
.pdt-sports-standings-eyebrow {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 600;
	font-size:var(--text-base);
	letter-spacing: 3px;
	color: #1DADA0;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.pdt-sports-standings-band .standings-card { background: transparent; padding: 0; border: 0; }

/* ── Government single page ───────────────────────────────────────── */
.pdt-gov-stage {
	background: linear-gradient(180deg, #FAF4E5 0%, #F5EFE2 100%);
	padding: 24px 0 50px;
}
.pdt-gov-breadcrumb {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	color: color-mix(in srgb, var(--color-section-civic) 55%, transparent);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 4px 0 16px;
}
.pdt-gov-breadcrumb a { color: color-mix(in srgb, var(--color-section-civic) 60%, transparent); text-decoration: none; }
.pdt-gov-breadcrumb a:hover { color: var(--color-section-civic-ink); }
.pdt-gov-breadcrumb .sep { margin: 0 8px; color: color-mix(in srgb, var(--color-section-civic) 30%, transparent); }

.pdt-gov-titlebar {
	border-bottom: 3px solid var(--color-section-civic-ink);
	padding-bottom: 16px;
	margin-bottom: 22px;
}
.pdt-gov-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	font-weight: 700;
	letter-spacing: 2px;
	padding: 5px 12px 6px;
	text-transform: uppercase;
	border-radius: 2px;
	margin-bottom: 14px;
	color: #fff;
}
.pdt-gov-status.is-live      { background: #B83020; }
.pdt-gov-status.is-scheduled { background: #1DADA0; }
.pdt-gov-status.is-ended     { background: #7A8268; }
.pdt-gov-status .pdt-live-pulse { background: #fff; width: 8px; height: 8px; }
.pdt-gov-titlebar h1 {
	font-family: 'Noto Serif', Georgia, serif;
	font-weight: 700;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.08;
	color: #1B130C;
	margin: 4px 0 6px;
}
.pdt-gov-body-line {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	font-size:var(--text-body);
	color: var(--color-section-civic-ink);
}

.pdt-gov-grid {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 32px;
	align-items: start;
}
.pdt-gov-player-wrap .pdt-stream-player {
	border: 1px solid color-mix(in srgb, var(--color-section-civic) 15%, transparent);
	box-shadow: 0 12px 30px color-mix(in srgb, var(--color-section-civic) 10%, transparent);
}
.pdt-gov-meta {
	display: flex; flex-wrap: wrap; gap: 10px;
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-sm);
	color: #5C6B82;
	margin: 14px 0 18px;
}
.pdt-gov-meta strong { color: #1B130C; font-weight: 600; }
.pdt-gov-meta a { color: var(--color-section-civic-ink); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--color-section-civic) 40%, transparent); }
.pdt-gov-blurb {
	font-family: 'Libre Baskerville', serif;
	font-size:var(--text-body);
	line-height: 1.6;
	color: #1B130C;
	max-width: 64ch;
	margin-bottom: 24px;
}

/* Transcript pane */
.pdt-gov-transcript-wrap {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--color-section-civic) 15%, transparent);
	border-left: 4px solid var(--color-section-civic-ink);
	padding: 20px 24px 24px;
	margin-top: 8px;
}
.pdt-gov-transcript-eyebrow {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 2.6px;
	text-transform: uppercase;
	color: var(--color-section-civic-ink);
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid color-mix(in srgb, var(--color-section-civic) 18%, transparent);
	display: flex; align-items: center; gap: 12px;
}
.pdt-gov-transcript-eyebrow .updating {
	color: #B83020;
	font-style: italic;
	letter-spacing: 1.2px;
	font-weight: 600;
	text-transform: none;
	font-size:var(--text-xs);
}
.pdt-gov-transcript-text {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size:var(--text-base);
	line-height: 1.65;
	color: #1B130C;
	max-height: 540px;
	overflow-y: auto;
	padding-right: 8px;
}
.pdt-gov-transcript-text p { margin: 0 0 12px; }
.pdt-gov-transcript-text p:has(strong:first-child),
.pdt-gov-transcript-text p strong { color: var(--color-section-civic-ink); }

/* Agenda jump list */
.pdt-agenda {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--color-section-civic) 15%, transparent);
	border-top: 3px solid var(--color-section-civic-ink);
	padding: 16px 18px 18px;
	margin-bottom: 18px;
	position: sticky;
	top: 16px;
}
.pdt-agenda-eyebrow {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: var(--color-section-civic-ink);
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid color-mix(in srgb, var(--color-section-civic) 15%, transparent);
}
.pdt-agenda-list { list-style: none; margin: 0; padding: 0; counter-reset: agenda; }
.pdt-agenda-list li { counter-increment: agenda; margin-bottom: 4px; }
.pdt-agenda-jump {
	display: grid;
	grid-template-columns: 26px 86px 1fr;
	gap: 8px;
	align-items: baseline;
	width: 100%;
	background: transparent;
	border: 0;
	border-left: 3px solid transparent;
	padding: 8px 6px 8px 8px;
	text-align: left;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
	font: inherit;
	color: #1B130C;
}
.pdt-agenda-jump::before {
	content: counter( agenda );
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 600; text-transform: uppercase;
	font-size:var(--text-md);
	color: color-mix(in srgb, var(--color-section-civic) 55%, transparent);
	letter-spacing: 0.6px;
}
.pdt-agenda-jump .t {
	font-family: ui-monospace, Menlo, monospace;
	font-size: 12px;
	color: #B83020;
	font-weight: 600;
}
.pdt-agenda-jump .lbl {
	font-family: 'Noto Serif', serif;
	font-weight: 600;
	font-size:var(--text-md);
	line-height: 1.3;
	color: #1B130C;
}
.pdt-agenda-jump:hover {
	background: color-mix(in srgb, var(--color-section-civic) 6%, transparent);
	border-left-color: var(--color-section-civic-ink);
}
.pdt-agenda-jump.is-active {
	background: color-mix(in srgb, var(--color-section-civic) 10%, transparent);
	border-left-color: #B83020;
}

@media (max-width: 900px) {
	.pdt-gov-grid { grid-template-columns: 1fr; }
	.pdt-agenda { position: static; }
}

/* ── Sports-section streams band (category-sports.php) ─────────────── */
.pdt-sports-streams-band {
	background: linear-gradient(135deg, #2A1208 0%, #6E2A1A 100%);
	color: #F5EFE2;
	padding: 22px 24px 26px;
	margin: 18px 0 24px;
	border: 1px solid rgba(245, 239, 226, 0.08);
}
.pdt-sports-streams-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(245, 239, 226, 0.10);
	gap: 16px;
	flex-wrap: wrap;
}
.pdt-sports-streams-eyebrow {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 600;
	font-size: 18px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #E8A820;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.pdt-sports-streams-eyebrow.live { color: #fff; }
.pdt-sports-streams-eyebrow .pdt-live-pulse { width: 10px; height: 10px; background: #E03030; }
.pdt-sports-streams-more {
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-xs);
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.7);
	text-decoration: none;
	border-bottom: 1px solid rgba(245, 239, 226, 0.3);
}
.pdt-sports-streams-more:hover { color: #E8A820; border-bottom-color: #E8A820; }
.pdt-sports-streams-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
}
.pdt-sports-streams-grid .pdt-stream-card { background: rgba(245, 239, 226, 0.04); border-color: rgba(245, 239, 226, 0.10); }
.pdt-sports-streams-grid .pdt-stream-card-body { background: transparent; }
.pdt-sports-streams-grid .pdt-stream-card-body h3 { color: #F5EFE2; }
.pdt-sports-streams-grid .pdt-stream-card-body .pdt-stream-cat { color: #E8A820; }
.pdt-sports-streams-grid .pdt-stream-card-body .pdt-stream-when { color: rgba(245, 239, 226, 0.55); }

/* =====================================================================
   APPENDIX B — Two-color team treatment + mascot logos
   ---------------------------------------------------------------------
   Both `--team-color` (primary) and `--team-color-2` (secondary) are
   inline-set on each team block; secondary defaults to a warm gold via
   the var() fallback so legacy single-color streams still render.
   ===================================================================== */

/* ── Single-page scoreboard team blocks ─────────────────────────────── */
.pdt-scoreboard-team {
	/* Layout becomes 5-col to fit the logo, while keeping the score
	   spanning two rows on the right. */
	grid-template-columns: 56px 1fr auto;
}
.pdt-scoreboard-team .team-bar-2 {
	position: absolute;
	left: 4px; top: 0; bottom: 0;
	width: 2px;
	background: var(--team-color-2, #E8A820);
	opacity: 0.85;
}
.pdt-scoreboard-team .team-logo {
	grid-column: 1; grid-row: 1 / span 2;
	width: 56px; height: 56px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(245, 239, 226, 0.06);
	border: 1px solid var(--team-color-2, rgba(232, 168, 32, 0.4));
	margin-left: 6px;
	overflow: hidden;
}
.pdt-scoreboard-team .team-logo img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.pdt-scoreboard-team .team-logo .team-mono {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size: 26px;
	letter-spacing: 1px;
	color: var(--team-color, #C4622D);
	background: #fff;
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
}
.pdt-scoreboard-team .team-meta { grid-column: 2; }
.pdt-scoreboard-team .team-name { grid-column: 2; }
.pdt-scoreboard-team .team-score {
	grid-column: 3;
	color: var(--team-color, #F5EFE2);
	text-shadow:
		0 0 0 var(--team-color-2, transparent),
		2px 2px 0 var(--team-color-2, rgba(0,0,0,0)),
		0 4px 18px rgba(0, 0, 0, 0.4);
}
.pdt-scoreboard-team .team-rec {
	color: var(--team-color-2, #E8A820);
}
.pdt-scoreboard-team .team-name {
	background-image: linear-gradient(to right, var(--team-color-2, transparent), var(--team-color-2, transparent));
	background-size: 36px 2px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	padding-bottom: 4px;
}

@media (max-width: 720px) {
	.pdt-scoreboard-team { grid-template-columns: 48px 1fr auto; }
	.pdt-scoreboard-team .team-logo { width: 48px; height: 48px; }
	.pdt-scoreboard-team .team-logo .team-mono { font-size: 24px; }
}

/* ── Front-page sports hero scoreboard ─────────────────────────────── */
.pdt-hero-scoreboard .hero-team {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	grid-template-rows: auto auto;
	column-gap: 10px;
	row-gap: 2px;
	padding: 6px 4px 6px 14px;
	align-items: center;
}
.pdt-hero-scoreboard .hero-team .hero-team-bar-2 {
	position: absolute;
	left: 4px; top: 0; bottom: 0;
	width: 2px;
	background: var(--team-color-2, #E8A820);
	opacity: 0.85;
}
.pdt-hero-scoreboard .hero-team .hero-team-logo {
	grid-column: 1; grid-row: 1 / span 2;
	width: 44px; height: 44px;
	background: #fff;
	border: 2px solid var(--team-color-2, #E8A820);
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.pdt-hero-scoreboard .hero-team .hero-team-logo img { width: 100%; height: 100%; object-fit: cover; }
.pdt-hero-scoreboard .hero-team .hero-team-logo .hero-team-mono {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size:var(--text-xl);
	color: var(--team-color, #C4622D);
}
.pdt-hero-scoreboard .hero-team-side  { grid-column: 2; grid-row: 1; }
.pdt-hero-scoreboard .hero-team-name  { grid-column: 2; grid-row: 2; }
.pdt-hero-scoreboard .hero-team-score {
	grid-column: 3; grid-row: 1 / span 2; align-self: center;
	text-shadow: 2px 2px 0 var(--team-color-2, rgba(0,0,0,0)), 0 3px 12px rgba(0, 0, 0, 0.45);
}

/* ── Roster head accent (second color underline) ───────────────────── */
.pdt-roster {
	border-top: 3px solid var(--team-color, #C4622D);
	box-shadow: inset 0 -2px 0 var(--team-color-2, transparent);
}
.pdt-roster-head { border-bottom-color: var(--team-color-2, rgba(245, 239, 226, 0.18)); }
.pdt-roster li .pos {
	background: color-mix(in srgb, var(--team-color-2, #E8A820) 22%, transparent);
	color: var(--team-color-2, #E8A820);
}

/* Standings band sport accent uses primary color when set inline. */

/* =====================================================================
   APPENDIX C — Broadcast sponsor placements
   ---------------------------------------------------------------------
   "Tasteful" means: small caps tagline, hairline rules, monochrome where
   possible. No drop shadows, no boxy ads, no big CTAs. Three variants:
     .pdt-sponsor--eyebrow  inline beside the LIVE pill
     .pdt-sponsor--banner   above-scoreboard / below-body strip
     .pdt-sponsor--card     between-section panel
   Add .on-dark when a variant lives on a dark hero background.
   ===================================================================== */

.pdt-sponsor {
	color: #1B130C;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: transform 0.15s ease, opacity 0.15s ease;
}
.pdt-sponsor:hover { opacity: 1; transform: translateY(-1px); }
.pdt-sponsor .pdt-sponsor-tagline {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	/* Tagline now reads in the brand-accent terracotta instead of neutral gray —
	   same size, more editorial intent. */
	color: var(--terracotta, #C4622D);
	white-space: nowrap;
}
/* Network-bug dot before the tagline ties every variant together. */
.pdt-sponsor .pdt-sponsor-tagline::before {
	content: "";
	display: inline-block;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: currentColor;
	margin-right: 7px;
	transform: translateY(-1px);
	opacity: 0.85;
}
.pdt-sponsor .pdt-sponsor-name {
	font-family: 'Noto Serif', Georgia, serif;
	/* +100 weight for confidence without changing size. */
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.2px;
	color: #1B130C;
}
.pdt-sponsor .pdt-sponsor-logo {
	max-height: 26px;
	width: auto;
	display: block;
}
/* on-dark recolors for hero placements: warm gold tagline on the maroon stage. */
.pdt-sponsor.on-dark { color: #F5EFE2; }
.pdt-sponsor.on-dark .pdt-sponsor-tagline { color: #E8A820; }
.pdt-sponsor.on-dark .pdt-sponsor-name { color: #F5EFE2; }

/* ── Variant: eyebrow — beside the LIVE pill ──────────────────────── */
.pdt-live-hero-eyebrow-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.pdt-sponsor--eyebrow {
	padding: 6px 12px 6px 14px;
	border-left: 1px solid rgba(245, 239, 226, 0.18);
	min-height: 28px;
}
/* When the eyebrow sits on a light/cream background (general single, etc.) */
.pdt-sponsor--eyebrow:not(.on-dark) {
	border-left: 1px solid rgba(27, 19, 12, 0.15);
}
.pdt-sponsor--eyebrow .pdt-sponsor-logo { max-height: 22px; }

@media (max-width: 720px) {
	.pdt-live-hero-eyebrow-row { gap: 8px; }
	.pdt-sponsor--eyebrow { padding-left: 0; border-left: 0; }
}

/* ── Variant: banner — full-width strip above scoreboard / below body ─ */
.pdt-sponsor--banner {
	display: grid;
	grid-template-columns: 1fr auto auto auto 1fr;
	align-items: center;
	gap: 14px;
	padding: 10px 12px;
	margin: 14px 0 6px;
	color: #1B130C;
	/* Faint warm tint defines the sponsor zone without screaming. */
	background: linear-gradient(90deg, rgba(196, 98, 45, 0) 0%, rgba(196, 98, 45, 0.05) 50%, rgba(196, 98, 45, 0) 100%);
}
.pdt-sponsor--banner .rule {
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(196, 98, 45, 0.35), transparent);
	min-width: 30px;
}
.pdt-sponsor--banner .pdt-sponsor-tagline {
	color: var(--terracotta, #C4622D);
	font-size: 10.5px;
	letter-spacing: 2.6px;
}
.pdt-sponsor--banner .pdt-sponsor-name { font-size:var(--text-base); font-weight: 800; }
.pdt-sponsor--banner .pdt-sponsor-logo { max-height: 32px; }

/* When the banner is rendered inside the dark sports stage */
.pdt-sports-stage .pdt-sponsor--banner,
.pdt-live-hero-sports .pdt-sponsor--banner {
	color: #F5EFE2;
	background: linear-gradient(90deg, rgba(232, 168, 32, 0) 0%, rgba(232, 168, 32, 0.10) 50%, rgba(232, 168, 32, 0) 100%);
}
.pdt-sports-stage .pdt-sponsor--banner .rule,
.pdt-live-hero-sports .pdt-sponsor--banner .rule {
	background: linear-gradient(to right, transparent, rgba(232, 168, 32, 0.40), transparent);
}
.pdt-sports-stage .pdt-sponsor--banner .pdt-sponsor-tagline,
.pdt-live-hero-sports .pdt-sponsor--banner .pdt-sponsor-tagline {
	color: #E8A820;
}
.pdt-sports-stage .pdt-sponsor--banner .pdt-sponsor-name,
.pdt-live-hero-sports .pdt-sponsor--banner .pdt-sponsor-name {
	color: #F5EFE2;
}

/* ── Variant: card — between-section panel ────────────────────────── */
.pdt-sponsor--card {
	display: grid;
	grid-template-rows: auto auto;
	gap: 8px;
	background: linear-gradient(90deg, #FBF6E9 0%, #F5EBD3 100%);
	border: 1px solid rgba(196, 98, 45, 0.22);
	border-left: 4px solid var(--terracotta, #C4622D);
	padding: 12px 18px 14px;
	margin: 14px 0;
	color: #1B130C;
	text-decoration: none;
}
.pdt-sponsor--card .pdt-sponsor-eyebrow {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 2.6px;
	text-transform: uppercase;
	color: var(--terracotta, #C4622D);
	display: inline-flex;
	align-items: center;
}
.pdt-sponsor--card .pdt-sponsor-eyebrow::before {
	content: "";
	display: inline-block;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: currentColor;
	margin-right: 7px;
	transform: translateY(-1px);
	opacity: 0.9;
}
.pdt-sponsor--card .pdt-sponsor-card-body {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.pdt-sponsor--card .pdt-sponsor-logo { max-height: 44px; }
.pdt-sponsor--card .pdt-sponsor-tagline {
	display: block;
	color: rgba(122, 46, 10, 0.85); /* deeper terracotta — small caps still readable */
	margin-bottom: 2px;
}
.pdt-sponsor--card .pdt-sponsor-tagline::before { display: none; } /* dot already on the eyebrow above */
.pdt-sponsor--card .pdt-sponsor-name { font-size: 18px; font-weight: 800; line-height: 1.2; }

/* =====================================================================
   APPENDIX D — Livestream-native standings
   ---------------------------------------------------------------------
   Replaces the green-palette standings card from sports.css when shown
   inside the maroon livestream stage. The two teams playing in the live
   game are highlighted with their primary colors as left rails.
   ===================================================================== */

/* Suppress the original green-palette card the previous renderer drew. */
.pdt-sports-stage .pdt-sports-standings-band { background: transparent; border: 0; padding: 0; margin-bottom: 8px; }
.pdt-sports-stage .pdt-sports-standings-band .pdt-sports-standings-eyebrow { display: none; }

.pdt-ls-standings {
	color: #F5EFE2;
	background: linear-gradient(180deg, rgba(245, 239, 226, 0.04) 0%, rgba(10, 4, 2, 0.18) 100%);
	border: 1px solid rgba(245, 239, 226, 0.10);
	border-top: 2px solid #E8A820;
	padding: 18px 22px 18px;
}

/* Header row */
.pdt-ls-standings-head {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 14px;
	padding-bottom: 14px;
	margin-bottom: 8px;
	border-bottom: 1px solid rgba(232, 168, 32, 0.20);
}
.pdt-ls-standings-head .title-block h4 {
	font-family: 'Noto Serif', Georgia, serif;
	font-weight: 700;
	font-size:var(--text-xl);
	line-height: 1.05;
	color: #F5EFE2;
	margin: 0 0 4px;
	letter-spacing: 0.2px;
}
.pdt-ls-standings-head .title-block .sub {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 10.5px;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: #E8A820;
}
.pdt-ls-standings-head .updated {
	text-align: right;
	font-family: 'Libre Franklin', sans-serif;
}
.pdt-ls-standings-head .updated .lbl {
	display: block;
	font-size: 9.5px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.45);
	margin-bottom: 2px;
}
.pdt-ls-standings-head .updated .t {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size: 18px;
	letter-spacing: 1.6px;
	color: #F5EFE2;
}

/* Rows */
.pdt-ls-standings-rows .rowhead,
.pdt-ls-standings-rows .srow {
	display: grid;
	grid-template-columns: 38px minmax(0, 1.6fr) 84px minmax(120px, 1fr) 64px;
	gap: 14px;
	align-items: center;
}

.pdt-ls-standings-rows .rowhead {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.40);
	padding: 8px 4px;
	border-bottom: 1px dashed rgba(245, 239, 226, 0.10);
}
.pdt-ls-standings-rows .rowhead .pos { text-align: center; }
.pdt-ls-standings-rows .rowhead .rec,
.pdt-ls-standings-rows .rowhead .pct,
.pdt-ls-standings-rows .rowhead .streak { text-align: center; }

.pdt-ls-standings-rows .srow {
	padding: 8px 4px 8px 8px;
	margin: 0 -4px;
	border-left: 3px solid transparent;
	border-bottom: 1px solid rgba(245, 239, 226, 0.05);
	transition: background 0.15s ease;
}
.pdt-ls-standings-rows .srow:last-child { border-bottom: 0; }
.pdt-ls-standings-rows .srow:hover { background: rgba(245, 239, 226, 0.04); }

/* Position numeral — Bodoni serif, gold for top 3 */
.pdt-ls-standings-rows .srow .pos {
	font-family: 'Noto Serif', Georgia, serif;
	font-weight: 700;
	font-size:var(--text-xl);
	line-height: 1;
	letter-spacing: 0.4px;
	color: rgba(245, 239, 226, 0.30);
	text-align: center;
}
.pdt-ls-standings-rows .srow.is-top3 .pos { color: #E8A820; }
.pdt-ls-standings-rows .srow.is-leader .pos { color: #FFC72C; text-shadow: 0 0 12px rgba(255, 199, 44, 0.30); }

/* Team cell */
.pdt-ls-standings-rows .srow .team {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.pdt-ls-standings-rows .srow .team .dot {
	width: 10px; height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
	box-shadow: 0 0 0 2px rgba(245, 239, 226, 0.06);
}
.pdt-ls-standings-rows .srow .team .name {
	font-family: 'Noto Serif', Georgia, serif;
	font-weight: 700;
	font-size: 15px;
	color: #F5EFE2;
	line-height: 1.15;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pdt-ls-standings-rows .srow .team .game-tag {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	padding: 2px 7px 3px;
	border-radius: 2px;
	color: #1A0A02;
	flex-shrink: 0;
}
.pdt-ls-standings-rows .srow .team .game-tag.home { background: var(--row-color, #C4622D); color: #fff; }
.pdt-ls-standings-rows .srow .team .game-tag.away { background: var(--row-color, #C4622D); color: #fff; }

/* Record */
.pdt-ls-standings-rows .srow .rec {
	font-family: var(--font-accent, 'Libre Franklin', sans-serif); font-weight: 700;
	font-size:var(--text-lg);
	letter-spacing: 1.4px;
	color: #F5EFE2;
	text-align: center;
}

/* Win % with progress bar */
.pdt-ls-standings-rows .srow .pct {
	display: grid;
	grid-template-columns: 1fr 50px;
	gap: 10px;
	align-items: center;
}
.pdt-ls-standings-rows .srow .pct .pct-bar {
	position: relative;
	height: 4px;
	background: rgba(245, 239, 226, 0.08);
	border-radius: 2px;
	overflow: hidden;
}
.pdt-ls-standings-rows .srow .pct .pct-fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, rgba(232, 168, 32, 0.6) 0%, #E8A820 100%);
}
.pdt-ls-standings-rows .srow.is-leader .pct .pct-fill {
	background: linear-gradient(90deg, rgba(255, 199, 44, 0.7) 0%, #FFC72C 100%);
}
.pdt-ls-standings-rows .srow .pct .pct-num {
	font-family: ui-monospace, Menlo, monospace;
	font-size:var(--text-sm);
	color: rgba(245, 239, 226, 0.85);
	text-align: right;
	letter-spacing: 0.2px;
}

/* Streak — green for W, red for L */
.pdt-ls-standings-rows .srow .streak {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-align: center;
	color: rgba(245, 239, 226, 0.45);
}
.pdt-ls-standings-rows .srow .streak.win  { color: #5FBF7F; }
.pdt-ls-standings-rows .srow .streak.loss { color: #E07060; }

/* Highlight rows: home and away of the live game */
.pdt-ls-standings-rows .srow.is-current-game {
	background: rgba(245, 239, 226, 0.06);
	border-left-color: var(--row-color, #C4622D);
	box-shadow: inset 0 0 0 1px rgba(245, 239, 226, 0.06);
}
.pdt-ls-standings-rows .srow.is-current-game .name { color: #fff; }
.pdt-ls-standings-rows .srow.is-current-game::before {
	content: ""; /* spacing already handled by border-left */
}

/* Foot legend */
.pdt-ls-standings-foot {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dashed rgba(245, 239, 226, 0.10);
	font-family: 'Libre Franklin', sans-serif;
	font-size:var(--text-2xs);
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.45);
}
.pdt-ls-standings-foot .dot {
	width: 8px; height: 8px; border-radius: 50%;
	display: inline-block;
}
.pdt-ls-standings-foot .lbl { font-weight: 600; }

/* Mobile collapse */
@media (max-width: 720px) {
	.pdt-ls-standings { padding: 14px 14px 14px; }
	.pdt-ls-standings-rows .rowhead,
	.pdt-ls-standings-rows .srow {
		grid-template-columns: 28px minmax(0, 1.4fr) 64px 60px;
		gap: 8px;
	}
	.pdt-ls-standings-rows .rowhead .pct,
	.pdt-ls-standings-rows .srow .pct {
		display: none;
	}
	.pdt-ls-standings-rows .srow .pos { font-size: 18px; }
	.pdt-ls-standings-rows .srow .team .name { font-size:var(--text-md); }
	.pdt-ls-standings-rows .srow .rec { font-size:var(--text-base); }
}

/* Card on the dark sports stage */
.pdt-sports-stage .pdt-sponsor--card {
	background: rgba(245, 239, 226, 0.05);
	border-color: rgba(245, 239, 226, 0.10);
	border-left-color: #E8A820;
	color: #F5EFE2;
}
.pdt-sports-stage .pdt-sponsor--card .pdt-sponsor-eyebrow { color: #E8A820; }
.pdt-sports-stage .pdt-sponsor--card .pdt-sponsor-tagline { color: rgba(245, 239, 226, 0.6); }
.pdt-sports-stage .pdt-sponsor--card .pdt-sponsor-name    { color: #F5EFE2; }
