/* ==========================================================================
   Split Rivalry look for every page (body.rvs-site).
   Archivo is the only typeface. Pages run full width; the site header sits
   transparently on a yellow/red split band that opens every page; titles
   live in a black strip; the footer is black. Shared components are
   squared off and use team-colour tags.

   style.css and match-center.css force the 1000px box, fonts and a white
   footer with !important, so the overrides here need it too.
   ========================================================================== */

:root {
	--rvs-a: #FFCB05;
	--rvs-a-soft: #FFF8D6;
	--rvs-b: #D6111E;
	--rvs-b-soft: #FDE5E6;
	--rvs-ink: #121212;
	--rvs-paper: #FFFFFF;
	--rvs-soft: #F5F5F2;
	--rvs-line: #ECECEA;
	--rvs-muted: #5C5C5C;
	--rvs-font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-family-base: var(--rvs-font);
	--font-heading: var(--rvs-font);
}

/* ---- One typeface ---- */
body.rvs-site { font-family: var(--rvs-font) !important; background: var(--rvs-paper) !important; color: var(--rvs-ink); }
/* The parent theme sets overflow-x: hidden on body, which makes body a scroll box and stops sticky bars from sticking.
   clip blocks sideways scrolling the same way without that side effect. */
body.rvs-site { overflow-x: clip !important; overflow-y: visible !important; }
body.rvs-site *:not(svg):not(svg *):not(code):not(pre):not(kbd) { font-family: var(--rvs-font) !important; }
/* ...except WordPress's icon font: admin bar icons and dashicons are glyphs, and show as empty boxes in Archivo */
body.rvs-site #wpadminbar .ab-icon,
body.rvs-site #wpadminbar .ab-icon::before,
body.rvs-site #wpadminbar .ab-item::before,
body.rvs-site #wpadminbar .ab-item::after,
body.rvs-site #wpadminbar #adminbarsearch::before,
body.rvs-site .dashicons,
body.rvs-site .dashicons-before::before { font-family: dashicons !important; }
body.rvs-site h1, body.rvs-site h2 { font-weight: 900 !important; letter-spacing: -0.8px; text-wrap: balance; }
body.rvs-site h3, body.rvs-site h4 { font-weight: 800 !important; letter-spacing: -0.2px; }
/* Type scale for the whole site: page titles stay in caps, section headings are calmer and in normal case */
body.rvs-site .page-hero-title { text-transform: uppercase; line-height: 1.02; color: var(--rvs-ink); }
body.rvs-site main h2,
body.rvs-site .rivalry-title,
body.rvs-site .section-title,
body.rvs-site .seo-title { text-transform: none; line-height: 1.15; letter-spacing: -0.4px; color: var(--rvs-ink); font-weight: 800 !important; }
body.rvs-site main h2 { font-size: clamp(22px, 2.6vw, 27px); }
body.rvs-site main h3 { font-size: 16px; }
body.rvs-site main p, body.rvs-site main li { font-size: 15.5px; line-height: 1.65; }

/* ---- Legal pages: readable document headings, not display titles ---- */
body.rvs-site .csk-legal-card .csk-article-body h2 { font-size: 20px; font-weight: 700 !important; text-transform: none; letter-spacing: -0.2px; line-height: 1.3; margin-block: 32px 12px; }
body.rvs-site .csk-legal-card .csk-article-body h3 { font-size: 16px; font-weight: 700 !important; text-transform: none; line-height: 1.35; }

/* ---- Full width ---- */
body.rvs-site .csk-site-wrapper { max-width: none !important; box-shadow: none !important; border: 0 !important; position: relative; background: var(--rvs-paper); }
/* One gutter for header, hero, content and footer so every left edge lines up */
body.rvs-site .csk-container { max-width: 1120px !important; max-inline-size: 1120px !important; padding-inline: 24px; }
.rvs-wrap { max-width: 1120px; margin-inline: auto; padding-inline: 24px; }

/* ---- Inner pages: dark header with white text; stays sticky (homepage overrides below) ---- */
body.rvs-site .csk-header { background: var(--rvs-ink) !important; border: 0 !important; border-bottom: 1px solid #2A2A2A !important; box-shadow: none !important; }
body.rvs-site .csk-header .csk-container { padding-inline: 24px; }
body.rvs-site .csk-menu .menu-item > a { font-weight: 600; color: var(--rvs-ink); background: transparent; }
body.rvs-site .csk-menu .menu-item > a:hover,
body.rvs-site .csk-menu .menu-item.active > a { color: var(--rvs-ink); background: rgba(255, 255, 255, 0.35); }
body.rvs-site .header-ticket-cta { background: var(--rvs-ink) !important; color: #FFFFFF !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-weight: 700; }
body.rvs-site .header-ticket-cta:hover { background: #2A2A2A !important; }
body.rvs-site .header-ticket-cta .cta-ticket-icon, body.rvs-site .header-ticket-cta .cta-arrow { display: none; }
body.rvs-site .mobile-menu-toggle { background: var(--rvs-ink); border-color: var(--rvs-ink); border-radius: 0; }
body.rvs-site .mobile-menu-toggle span { background: #FFFFFF; }

/* ---- Every page opens on the split band, then a black title strip ---- */
.rvs-band,
body.rvs-site .csk-page-hero::before,
body.rvs-site .blog-header-hero::before,
body.rvs-site .stadium-hero-banner::before,
body.rvs-site .csk-breadcrumbs-wrapper::before {
	content: "";
	display: block;
	height: 64px;
	background: linear-gradient(104deg, var(--rvs-a) 0 54%, var(--rvs-b) 54% 100%);
}
body.rvs-site .csk-page-hero,
body.rvs-site .blog-header-hero,
body.rvs-site .stadium-hero-banner,
body.rvs-site .csk-breadcrumbs-wrapper {
	background: var(--rvs-ink) !important;
	color: #FFFFFF !important;
	padding-top: 0 !important;
	padding-bottom: 26px !important;
	border: 0 !important;
	margin-bottom: 0 !important;
	position: relative;
	overflow: visible;
}
body.rvs-site .stadium-hero-banner::after, body.rvs-site .stadium-hero-overlay { display: none !important; }
body.rvs-site .csk-page-hero::before, body.rvs-site .blog-header-hero::before, body.rvs-site .stadium-hero-banner::before, body.rvs-site .csk-breadcrumbs-wrapper::before { margin-bottom: 22px; position: static; opacity: 1; inset: auto; }
/* The header now carries the split, so the band under it collapses to spacing only */
.rvs-band { display: none; }
body.rvs-site .csk-page-hero::before, body.rvs-site .blog-header-hero::before, body.rvs-site .stadium-hero-banner::before, body.rvs-site .csk-breadcrumbs-wrapper::before { height: 0 !important; background: none !important; }
body.rvs-site .csk-page-hero *, body.rvs-site .blog-header-hero *, body.rvs-site .stadium-hero-banner * { color: inherit; }
body.rvs-site .csk-page-hero h1, body.rvs-site .blog-header-hero h1, body.rvs-site .stadium-hero-banner h1,
body.rvs-site .page-hero-title, body.rvs-site .stadium-hero-title, body.rvs-site .blog-hero-title { color: #FFFFFF !important; text-transform: uppercase; font-size: clamp(26px, 3.4vw, 38px) !important; line-height: 1.05; margin: 8px 0 10px; }
body.rvs-site .csk-page-hero p, body.rvs-site .blog-header-hero p, body.rvs-site .stadium-hero-banner p { color: #BDBDBD !important; }
body.rvs-site .csk-breadcrumbs a, body.rvs-site .match-breadcrumbs a, body.rvs-site .stadium-breadcrumbs a { color: #BDBDBD !important; }
body.rvs-site .breadcrumb-current, body.rvs-site .match-breadcrumbs .current, body.rvs-site .stadium-breadcrumbs .breadcrumb-current { color: var(--rvs-a) !important; }
body.rvs-site .meta-badge, body.rvs-site .stadium-hero-tag { background: #2A2A2A !important; color: #FFFFFF !important; border-radius: 0 !important; border: 0 !important; }

/* page-hero.php (the data pages) */
.rvs-page-hero .rvs-strip { background: var(--rvs-ink); color: #FFFFFF; }
.rvs-page-hero-in { padding-block: 22px 28px; display: grid; gap: 8px; justify-items: start; }
.rvs-crumbs { display: flex; gap: 8px; font-size: 13px; color: #BDBDBD; }
.rvs-crumbs a { color: #BDBDBD; text-decoration: none; }
.rvs-crumbs a:hover { color: #FFFFFF; }
.rvs-crumbs [aria-current] { color: var(--rvs-a); font-weight: 700; }
.rvs-page-kicker { font-size: 11.5px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: var(--rvs-a); }
.rvs-page-hero h1 { margin: 0; color: #FFFFFF; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.02; text-transform: uppercase; max-width: 22ch; }
.rvs-page-lead { margin: 4px 0 0; color: #BDBDBD; font-size: 15.5px; line-height: 1.6; max-width: 72ch; }
.rvs-page-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; margin: 14px 0 0; width: 100%; max-width: 760px; }
.rvs-page-stats div { background: #1E1E1E; padding: 12px 14px; }
.rvs-page-stats div:first-child { box-shadow: inset 4px 0 0 var(--rvs-a); }
.rvs-page-stats div:nth-child(2) { box-shadow: inset 4px 0 0 var(--rvs-b); }
.rvs-page-stats dt { font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: #A8A8A8; }
.rvs-page-stats dd { margin: 4px 0 0; font-size: 22px; font-weight: 900; color: #FFFFFF; font-variant-numeric: tabular-nums; }

/* ---- Shared components, squared off in the split style ---- */
body.rvs-site .section-kicker, body.rvs-site .seo-kicker { color: var(--rvs-b) !important; font-weight: 800 !important; letter-spacing: 1.2px; }
body.rvs-site .rivalry-header-row, body.rvs-site .card-editorial-header, body.rvs-site .seo-masthead { border-bottom: 2px solid var(--rvs-line) !important; }
body.rvs-site .card-heading { font-weight: 900 !important; text-transform: uppercase; letter-spacing: -0.3px; }
body.rvs-site .rv-section-lead, body.rvs-site .seo-lead, body.rvs-site .seo-prose-block p { color: var(--rvs-muted); }

/* Team tags */
body.rvs-site .badge-win-csk, body.rvs-site .team-tag.csk-tag, body.rvs-site .fbadge.f-csk, body.rvs-site .team-score-badge.csk-bg { background: var(--rvs-a) !important; color: var(--rvs-ink) !important; border-radius: 0 !important; font-weight: 800 !important; text-transform: uppercase; }
body.rvs-site .badge-win-rcb, body.rvs-site .team-tag.rcb-tag, body.rvs-site .fbadge.f-rcb, body.rvs-site .team-score-badge.rcb-bg { background: var(--rvs-b) !important; color: #FFFFFF !important; border-radius: 0 !important; font-weight: 800 !important; text-transform: uppercase; }

/* Tables */
body.rvs-site .editorial-records-table, body.rvs-site .editorial-standings-table, body.rvs-site .editorial-stats-table, body.rvs-site .vault-editorial-table { border: 0 !important; border-radius: 0 !important; }
body.rvs-site .editorial-records-table th, body.rvs-site .editorial-standings-table th, body.rvs-site .editorial-stats-table th, body.rvs-site .vault-editorial-table th { background: transparent !important; color: var(--rvs-muted) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: 0.8px; font-size: 11px !important; border-bottom: 2px solid var(--rvs-ink) !important; }
body.rvs-site .editorial-records-table td, body.rvs-site .editorial-standings-table td, body.rvs-site .editorial-stats-table td, body.rvs-site .vault-editorial-table td { border-bottom: 2px solid var(--rvs-line) !important; }
body.rvs-site .editorial-records-table tr.rv-total-row td { background: var(--rvs-soft) !important; font-weight: 800; }
body.rvs-site .seo-table-wrap, body.rvs-site .clean-table-responsive { border-radius: 0 !important; }

/* Cards, tallies, pills, buttons */
body.rvs-site .phase-card, body.rvs-site .tactical-card, body.rvs-site .ind-record-card, body.rvs-site .venue-stat-cell, body.rvs-site .stat-cell, body.rvs-site .hub-link-item, body.rvs-site .csk-card { border-radius: 0 !important; box-shadow: none !important; background: var(--rvs-soft) !important; border: 0 !important; }
body.rvs-site .phase-badge { color: var(--rvs-b) !important; font-weight: 800; }
body.rvs-site .rivalry-tally-bar, body.rvs-site .tally-team-side, body.rvs-site .rivalry-visual-bar, body.rvs-site .bar-fill-csk, body.rvs-site .bar-fill-rcb { border-radius: 0 !important; }
body.rvs-site .csk-tally { background: var(--rvs-a-soft) !important; border-color: var(--rvs-a) !important; }
body.rvs-site .rcb-tally { background: var(--rvs-b-soft) !important; border-color: var(--rvs-b) !important; }
body.rvs-site .bar-fill-csk { background: var(--rvs-a) !important; }
body.rvs-site .bar-fill-rcb { background: var(--rvs-b) !important; }
body.rvs-site .header-link, body.rvs-site .link-stats-cta, body.rvs-site .f-action-link, body.rvs-site .rv-hero-link { background: var(--rvs-ink) !important; color: #FFFFFF !important; border: 0 !important; border-radius: 0 !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: 0.4px; font-size: 12px !important; padding: 8px 12px !important; text-decoration: none !important; }
body.rvs-site .header-link:hover, body.rvs-site .link-stats-cta:hover, body.rvs-site .f-action-link:hover { background: #2A2A2A !important; }
body.rvs-site .csk-editorial-subnav { border-bottom: 2px solid var(--rvs-line) !important; box-shadow: none !important; }
body.rvs-site .pill-btn { border-radius: 0 !important; font-weight: 700 !important; }
body.rvs-site .pill-btn.active { background: var(--rvs-ink) !important; color: #FFFFFF !important; }
body.rvs-site .rv-filters input, body.rvs-site .rv-filters select, body.rvs-site input[type="search"], body.rvs-site input[type="email"], body.rvs-site input[type="text"], body.rvs-site textarea, body.rvs-site select { border-radius: 0 !important; }
body.rvs-site .btn, body.rvs-site button[type="submit"] { border-radius: 0 !important; }
body.rvs-site .csk-faq-item { border-radius: 0 !important; box-shadow: none !important; border: 0 !important; border-bottom: 2px solid var(--rvs-line) !important; background: transparent !important; }
body.rvs-site .csk-faq-summary { font-weight: 800 !important; }
body.rvs-site .fixture-editorial-item { border-radius: 0 !important; box-shadow: none !important; border: 0 !important; border-bottom: 2px solid var(--rvs-line) !important; background: transparent !important; }
body.rvs-site .f-date-badge { border-radius: 0 !important; background: var(--rvs-ink) !important; color: #FFFFFF !important; }
body.rvs-site .f-date-badge * { color: #FFFFFF !important; }

/* ---- About / Contact ---- */
.rvs-btn { display: inline-block; background: var(--rvs-ink); color: #FFFFFF !important; border: 0; border-radius: 0; padding: 13px 22px; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: 0.4px; text-decoration: none !important; cursor: pointer; transition: background 0.15s, color 0.15s; }
.rvs-btn:hover { background: var(--rvs-a); color: var(--rvs-ink) !important; }
.rvs-page-cta { margin-top: 18px; }
.rvs-link-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--rvs-line); border: 1px solid var(--rvs-line); }
.rvs-link-grid a { background: var(--rvs-paper); padding: 20px 18px; display: grid; gap: 6px; align-content: start; text-decoration: none !important; color: var(--rvs-ink); transition: background 0.15s; }
.rvs-link-grid a:hover { background: var(--rvs-a-soft); }
.rvs-link-grid a:nth-child(even):hover { background: var(--rvs-b-soft); }
.rvs-link-grid strong { font-weight: 900; font-size: 15px; text-transform: uppercase; letter-spacing: 0.2px; }
.rvs-link-grid strong::after { content: " \2192"; font-weight: 400; }
.rvs-link-grid span { font-size: 14px; line-height: 1.5; color: var(--rvs-muted); }
.rvs-contact { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.rvs-form { display: grid; gap: 16px; }
.rvs-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rvs-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; color: var(--rvs-ink); }
body.rvs-site .rvs-form input, body.rvs-site .rvs-form select, body.rvs-site .rvs-form textarea { width: 100%; border: 1px solid #D6D6D3; border-radius: 0; background: var(--rvs-paper); padding: 12px 14px; font-size: 15px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--rvs-ink); box-shadow: none; }
body.rvs-site .rvs-form input:focus, body.rvs-site .rvs-form select:focus, body.rvs-site .rvs-form textarea:focus { outline: none; border-color: var(--rvs-ink); box-shadow: inset 0 0 0 1px var(--rvs-ink); }
.rvs-form textarea { resize: vertical; min-height: 150px; }
.rvs-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rvs-form-foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--rvs-muted); }
.rvs-notice { padding: 14px 16px; font-size: 15px; line-height: 1.5; margin-bottom: 16px; border-left: 4px solid; }
.rvs-notice.is-ok { background: var(--rvs-a-soft); border-color: var(--rvs-a); }
.rvs-notice.is-error { background: var(--rvs-b-soft); border-color: var(--rvs-b); }
.rvs-inboxes { background: var(--rvs-soft); padding: 22px; display: grid; gap: 16px; }
body.rvs-site .rvs-inboxes h3 { margin: 0; font-size: 13px; text-transform: uppercase; letter-spacing: 0.8px; }
.rvs-inboxes div { display: grid; gap: 2px; padding-top: 14px; border-top: 1px solid #DEDEDA; }
.rvs-inboxes span { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; color: var(--rvs-muted); }
.rvs-inboxes a { font-size: 15px; font-weight: 700; color: var(--rvs-ink) !important; word-break: break-all; }
.rvs-inboxes a:hover { color: var(--rvs-b) !important; }
@media (max-width: 860px) {
	.rvs-link-grid { grid-template-columns: 1fr 1fr; }
	.rvs-contact { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 560px) {
	.rvs-link-grid, .rvs-form-row { grid-template-columns: 1fr; }
}

/* ---- Footer: wordmark, top pages as tiles, one row of small links ---- */
.rvs-footer { background: var(--rvs-ink); color: #A8A8A8; margin-block-start: auto; }
.rvs-footer a { text-decoration: none !important; }
.rvs-footer-main { padding-block: 44px 30px; }
.rvs-footer-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.rvs-footer .rvs-footer-mark { font-weight: 900; font-size: 28px; letter-spacing: -0.5px; text-transform: uppercase; white-space: nowrap; color: #FFFFFF; }
.rvs-footer-mark .c { color: var(--rvs-a); }
.rvs-footer-mark .r { color: var(--rvs-b); }
.rvs-footer-mark i { font-style: italic; font-size: 0.7em; margin-inline: 0.12em; color: #FFFFFF; }
.rvs-footer-social { display: flex; gap: 8px; }
.rvs-footer .rvs-footer-social a { width: 36px; height: 36px; display: grid; place-items: center; background: #1E1E1E; color: #FFFFFF; transition: background 0.15s, color 0.15s; }
.rvs-footer .rvs-footer-social a:hover { background: var(--rvs-a); color: var(--rvs-ink); }
.rvs-footer-tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: #2A2A2A; border: 1px solid #2A2A2A; }
.rvs-footer .rvs-footer-tiles a { background: var(--rvs-ink); padding: 22px 16px; min-height: 92px; display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; color: #FFFFFF; font-weight: 800; font-size: 14px; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.3px; transition: background 0.15s, color 0.15s; }
.rvs-footer-tiles a::after { content: "\2192"; font-weight: 400; opacity: 0.5; }
.rvs-footer .rvs-footer-tiles a:hover { background: var(--rvs-a); color: var(--rvs-ink); }
.rvs-footer .rvs-footer-tiles a:nth-child(even):hover { background: var(--rvs-b); color: #FFFFFF; }
.rvs-footer-links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 22px; font-size: 13px; }
.rvs-footer .rvs-footer-links a { color: #A8A8A8; }
.rvs-footer .rvs-footer-links a:hover { color: #FFFFFF; }
.rvs-footer-bottom { border-top: 1px solid #2A2A2A; padding-block: 16px; text-align: center; }
.rvs-footer-bottom p { margin: 0; font-size: 12px; line-height: 1.6; color: #A8A8A8; }
@media (max-width: 860px) {
	.rvs-footer-tiles { grid-template-columns: repeat(2, 1fr); }
	.rvs-footer .rvs-footer-tiles a { min-height: 76px; padding: 18px 14px; }
}
@media print { .rvs-footer { display: none !important; } }

@media (max-width: 920px) {
	body.rvs-site .csk-container, body.rvs-site .csk-header .csk-container, .rvs-wrap { padding-inline: 16px; }
	body.rvs-site .csk-nav.mobile-open { background: #FFFFFF; }
	body.rvs-site .csk-nav.mobile-open .menu-item > a { color: var(--rvs-ink); }
}
@media (max-width: 760px) {
	.rvs-page-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rvs-page-stats dd { font-size: 17px; }
	.rvs-page-stats div { padding: 10px 12px; }
	.rvs-band, body.rvs-site .csk-page-hero::before, body.rvs-site .blog-header-hero::before, body.rvs-site .stadium-hero-banner::before, body.rvs-site .csk-breadcrumbs-wrapper::before { height: 40px; }
}
@media (max-width: 640px) {
	body.rvs-site .header-ticket-cta { display: none; }
}

/* Blog index: the breadcrumb bar above carries the band, so its header continues the black strip */
body.rvs-site .csk-breadcrumbs-wrapper + .blog-header-hero::before { display: none; }
body.rvs-site .csk-breadcrumbs-wrapper:has(+ .blog-header-hero) { padding-bottom: 0 !important; }
body.rvs-site .blog-header-hero { padding-top: 14px !important; }
body.rvs-site .csk-breadcrumbs-wrapper .breadcrumbs-list, body.rvs-site .csk-breadcrumbs-wrapper .breadcrumbs-list a { color: #BDBDBD !important; }
body.rvs-site .blog-cat-pill { background: #1E1E1E !important; border: 1px solid #333 !important; color: #E0E0E0 !important; border-radius: 0 !important; font-weight: 700; }
body.rvs-site .blog-cat-pill:hover, body.rvs-site .blog-cat-pill.active { background: var(--rvs-a) !important; color: var(--rvs-ink) !important; border-color: var(--rvs-a) !important; }
body.rvs-site .blog-kicker-badge { background: var(--rvs-b) !important; color: #FFFFFF !important; border-radius: 0 !important; }

/* Stadium guide venue pills in the black strip */
body.rvs-site .stadium-pill-btn { background: #1E1E1E !important; border: 1px solid #333 !important; color: #E0E0E0 !important; border-radius: 0 !important; font-weight: 700; }
body.rvs-site .stadium-pill-btn:hover, body.rvs-site .stadium-pill-btn.active { background: var(--rvs-a) !important; color: var(--rvs-ink) !important; border-color: var(--rvs-a) !important; }
body.rvs-site .stadium-pill-btn.active * { color: var(--rvs-ink) !important; }
/* Blog post sidebar match card */
body.rvs-site .sidebar-widget { border-radius: 0 !important; box-shadow: none !important; }
body.rvs-site .sidebar-live-pill { border-radius: 0 !important; }
body.rvs-site .sidebar-widget-cta-btn { background: var(--rvs-ink) !important; color: #FFFFFF !important; border-radius: 0 !important; }

/* ==========================================================================
   Blog index in the split style
   ========================================================================== */
/* Cover: the post's photo, or a yellow/red split with both crests */
.rvs-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rvs-cover { display: flex; align-items: center; justify-content: center; gap: 6%; width: 100%; height: 100%; min-height: 180px; background: linear-gradient(104deg, var(--rvs-a) 0 52%, var(--rvs-b) 52% 100%); }
.rvs-cover img { width: 24%; max-width: 120px; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.2)); }
.rvs-cover b { font-weight: 900; font-size: clamp(16px, 2.4vw, 28px); text-transform: uppercase; color: var(--rvs-ink); background: #FFFFFF; padding: 4px 10px; }

body.rvs-site .featured-lead-article { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: var(--rvs-soft) !important; overflow: hidden; margin-top: 28px; }
body.rvs-site .lead-media-wrap { height: auto !important; min-height: 320px; background: var(--rvs-ink) !important; border-radius: 0 !important; }
body.rvs-site .lead-media-wrap > a { display: block; height: 100%; }
body.rvs-site .lead-badge { background: var(--rvs-ink) !important; color: #FFFFFF !important; border-radius: 0 !important; font-weight: 800; letter-spacing: 0.8px; }
body.rvs-site .lead-body-content { padding: 28px !important; display: grid; align-content: center; gap: 12px; }
body.rvs-site .lead-category-tag, body.rvs-site .card-badge-pill { background: var(--rvs-a) !important; color: var(--rvs-ink) !important; border-radius: 0 !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: 0.6px; }
body.rvs-site .lead-article-title { font-size: clamp(24px, 3vw, 34px) !important; line-height: 1.05 !important; text-transform: uppercase; margin: 0 !important; }
body.rvs-site .lead-article-title a, body.rvs-site .blog-card-title a { color: var(--rvs-ink) !important; text-decoration: none; }
body.rvs-site .lead-article-title a:hover, body.rvs-site .blog-card-title a:hover { text-decoration: underline; text-decoration-color: var(--rvs-b); text-underline-offset: 4px; }
body.rvs-site .lead-article-excerpt, body.rvs-site .blog-card-desc { color: var(--rvs-muted) !important; line-height: 1.6; }
body.rvs-site .lead-footer-row { border-top: 2px solid var(--rvs-line) !important; padding-top: 14px; gap: 12px; flex-wrap: wrap; }
body.rvs-site .lead-read-link { background: var(--rvs-ink) !important; color: #FFFFFF !important; padding: 10px 14px !important; border-radius: 0 !important; font-weight: 800 !important; text-transform: uppercase; font-size: 12.5px !important; letter-spacing: 0.4px; text-decoration: none !important; }
body.rvs-site .lead-read-link:hover { background: #2A2A2A !important; }
body.rvs-site .author-name, body.rvs-site .card-byline { color: var(--rvs-muted) !important; font-weight: 600; }

body.rvs-site .feed-section-header { border-bottom: 2px solid var(--rvs-ink) !important; padding-bottom: 10px; margin-top: 44px; }
body.rvs-site .feed-title { text-transform: uppercase; font-weight: 900 !important; font-size: clamp(24px, 3.4vw, 34px) !important; margin: 0; }
body.rvs-site .feed-count { color: var(--rvs-muted) !important; font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: 0.6px; }
body.rvs-site .blog-cards-grid { gap: 20px !important; }
body.rvs-site .blog-card-item { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: var(--rvs-paper) !important; border-top: 4px solid var(--rvs-ink) !important; transition: border-color 0.15s ease; }
body.rvs-site .blog-card-item:hover { border-top-color: var(--rvs-b) !important; transform: none !important; }
body.rvs-site .blog-card-thumb-wrap { height: 180px; border-radius: 0 !important; background: var(--rvs-soft) !important; }
body.rvs-site .blog-card-thumb-wrap > a { display: block; height: 100%; }
body.rvs-site .card-badge-pill { background: var(--rvs-ink) !important; color: #FFFFFF !important; }
body.rvs-site .blog-card-body { padding: 16px 2px 4px !important; gap: 8px; }
body.rvs-site .card-meta-line { color: var(--rvs-muted) !important; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px; }
body.rvs-site .blog-card-title { font-size: 18px !important; line-height: 1.25 !important; font-weight: 800 !important; }
body.rvs-site .blog-card-footer { border-top: 2px solid var(--rvs-line) !important; padding-top: 10px; }
body.rvs-site .card-arrow-link { background: var(--rvs-ink) !important; color: #FFFFFF !important; border-radius: 0 !important; width: 32px; height: 32px; display: inline-grid !important; place-items: center; text-decoration: none !important; }
body.rvs-site .card-arrow-link:hover { background: var(--rvs-b) !important; }
@media (max-width: 760px) {
	body.rvs-site .featured-lead-article { grid-template-columns: 1fr; }
	body.rvs-site .lead-media-wrap { min-height: 200px; }
	body.rvs-site .lead-body-content { padding: 20px !important; }
}

/* ---- Text logo "CSK VS RCB" (RCB in italic) in the header on every page ---- */
body.rvs-site .csk-header .site-brand-logo { display: none; }
body.rvs-site .csk-logo-text { display: inline-block; font-weight: 900; font-size: 22px; line-height: 1; letter-spacing: -0.5px; text-transform: uppercase; color: var(--rvs-ink); white-space: nowrap; }
body.rvs-site .csk-logo-text i { font-style: italic; color: inherit; }

/* ---- Inner pages: white text on the dark header ---- */
body.rvs-site:not(.rvs-home) .csk-logo-text { color: #FFFFFF; }
body.rvs-site:not(.rvs-home) .csk-header .csk-menu .menu-item > a { color: #FFFFFF; }
body.rvs-site:not(.rvs-home) .csk-header .csk-menu .menu-item > a:hover,
body.rvs-site:not(.rvs-home) .csk-header .csk-menu .menu-item.active > a { color: #FFFFFF; background: rgba(255, 255, 255, 0.14); }
body.rvs-site:not(.rvs-home) .header-ticket-cta { background: #FFFFFF !important; color: var(--rvs-ink) !important; }
body.rvs-site:not(.rvs-home) .header-ticket-cta:hover { background: #E6E6E6 !important; }
body.rvs-site:not(.rvs-home) .mobile-menu-toggle { border-color: #FFFFFF; }
@media (max-width: 920px) {
	body.rvs-site:not(.rvs-home) .csk-nav.mobile-open .menu-item > a { color: var(--rvs-ink); }
}

/* ---- Homepage: the header merges into the split first fold ---- */
body.rvs-home .csk-header { position: absolute !important; inset: 0 0 auto; z-index: 40; background: transparent !important; border-bottom: 0 !important; }
body.rvs-home .csk-menu .menu-item > a:hover,
body.rvs-home .csk-menu .menu-item.active > a { background: rgba(255, 255, 255, 0.35); }
body.rvs-home .rvs-split { min-height: 460px; }
body.rvs-home .rvs-half { padding-top: 110px; }
@media (max-width: 640px) {
	body.rvs-site .csk-logo-text { font-size: 19px; }
	body.rvs-home .rvs-split { min-height: 0; }
	body.rvs-home .rvs-half { padding-top: 84px; }
}

/* ---- Header: Seasons dropdown (hover or keyboard focus on desktop, inline list in the phone menu) ---- */
body.rvs-site .rvs-has-sub { position: relative; }
body.rvs-site .rvs-caret { font-size: 10px; margin-left: 2px; }
body.rvs-site .rvs-sub { display: none; position: absolute; top: 100%; left: 0; z-index: 200; margin: 0; padding: 10px; list-style: none; background: #FFFFFF; border: 1px solid var(--rvs-line); box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14); grid-template-columns: repeat(4, 64px); gap: 2px; }
body.rvs-site .rvs-has-sub:hover > .rvs-sub,
body.rvs-site .rvs-has-sub:focus-within > .rvs-sub { display: grid; }
body.rvs-site .rvs-sub li { margin: 0; }
body.rvs-site .csk-header .rvs-sub a { display: block; padding: 7px 8px; font-size: 13.5px; font-weight: 700; color: var(--rvs-ink) !important; background: transparent; text-align: center; text-decoration: none; }
body.rvs-site .csk-header .rvs-sub a:hover,
body.rvs-site .csk-header .rvs-sub a[aria-current="page"] { background: var(--rvs-ink); color: #FFFFFF !important; }
body.rvs-site .rvs-sub .rvs-sub-all { grid-column: 1 / -1; border-top: 1px solid var(--rvs-line); margin-top: 4px; padding-top: 4px; }
body.rvs-site .csk-header .rvs-sub .rvs-sub-all a { text-align: left; }
@media (max-width: 920px) {
	body.rvs-site .rvs-sub { display: grid; position: static; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 2px 0 8px 12px; border: 0; box-shadow: none; background: transparent; }
	body.rvs-site .rvs-caret { display: none; }
	body.rvs-site .csk-nav.mobile-open .csk-menu .rvs-sub a { justify-content: center !important; padding: 7px 4px !important; font-size: 13.5px !important; border-bottom: 0 !important; }
	body.rvs-site .csk-nav.mobile-open .csk-menu .rvs-sub .rvs-sub-all a { justify-content: flex-start !important; }
}

/* ---- Back-to-top button (Astra's #ast-scroll-top): square ink button like the header CTA ---- */
body.rvs-site #ast-scroll-top { width: 44px; height: 44px; padding: 0; display: none; align-items: center; justify-content: center; right: 16px; bottom: 16px; background: var(--rvs-ink) !important; color: #FFFFFF !important; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 0 !important; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22); line-height: 1; transition: background-color 0.15s ease, transform 0.15s ease; }
body.rvs-site #ast-scroll-top[style*="block"] { display: flex !important; }
body.rvs-site #ast-scroll-top:hover { background: var(--rvs-b) !important; transform: translateY(-2px); }
body.rvs-site #ast-scroll-top:focus-visible { outline: 2px solid var(--rvs-a); outline-offset: 2px; }
body.rvs-site #ast-scroll-top .ast-icon.icon-arrow svg { width: 14px; height: 14px; margin: 0; fill: currentColor; }

/* ---- Team logos: each logo in a plain white circle (no ring, no shadow) ---- */
body.rvs-site .rvs-crest,
body.rvs-site .rvs-cover img,
body.rvs-site .rvs-bug-crest,
body.rvs-site .rvs-side-team img,
body.rvs-site .f-crest {
	box-sizing: border-box;
	object-fit: contain;
	background: #FFFFFF;
	border-radius: 50%;
	filter: none;
	box-shadow: none;
}
body.rvs-site .rvs-crest { width: 112px; height: 112px; padding: 14px; }
body.rvs-site .rvs-cover img { padding: 4%; }
body.rvs-site .rvs-bug-crest { width: 40px; height: 40px; flex-basis: 40px; padding: 4px; }
body.rvs-site .rvs-side-team img { width: 32px; height: 32px; padding: 3px; }
body.rvs-site .f-crest { width: 22px; height: 22px; padding: 2px; }
@media (max-width: 640px) {
	body.rvs-site .rvs-crest { width: 68px; height: 68px; padding: 8px; }
	body.rvs-site .rvs-bug-crest { width: 34px; height: 34px; flex-basis: 34px; padding: 3px; }
}
/* Hero: lift the logo clear of the team name */
body.rvs-site .rvs-half .rvs-crest { margin-bottom: 22px; }
@media (max-width: 640px) {
	body.rvs-site .rvs-half .rvs-crest { margin-bottom: 12px; }
}
