/* ============ Reset + primitives ============ */
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}

/*cats are cute and very very soft*/
/*let's see if this works*/

/* ============ Tokens (brand, colours, layout) ============ */
:root{
  /* Brand */
  --brand: #00b3a4;
  --brand-ink: #001726;
  --brand-ghost: color-mix(in oklab, var(--brand) 20%, white);

  /* Base surfaces (DARK is default) */
  --bg: #020617;
  --bg-alt: #050816;
  --surface-header: rgba(2, 6, 23, 0.96);
  --surface-elevated: #020617;

  /* Ink */
  --ink-strong: #f9fafb;
  --ink-muted: #cbd5f5;

  /* Borders */
  --border-subtle: rgba(148, 163, 184, 0.5);

  /* Legacy aliases so existing rules keep working */
  --text: var(--ink-strong);
  --bd: 1px solid var(--border-subtle);

  /* Per-series accents */
  --sl1-bg: rgba(15, 185, 165, 0.12);
  --sl1-fg: #0fb9a5;

  --sl2-bg: rgba(16, 179, 220, 0.12);
  --sl2-fg: #10b3dc;

  --fs1-bg: rgba(232, 30, 54, 0.12);
  --fs1-fg: #e00000;

  --fs2-bg: rgba(255, 125, 0, 0.12);
  --fs2-fg: #df9220;

  --aca-bg: rgba(121, 39, 168, 0.12);
  --aca-fg: #7927a8;

  /* Layout */
  --wrap: 1280px; /* site max width */
  --header-h: 64px;

  /* Greys / cards */
  --card:#020617;
  --elev:#020617;
  --muted: var(--ink-muted);

  /* spacing scale */
  --s-0:0; --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem;
  --s-5:1.25rem; --s-6:1.5rem; --s-7:2rem; --s-8:2.5rem;

  /* type scale */
  --fs-0:.8125rem; --fs-1:.9375rem; --fs-2:1rem; --fs-3:1.125rem; --fs-4:1.375rem; --fs-5:1.75rem; --fs-6:2.5rem;

  /* radii */
  --r-1:10px; --r-2:16px;

  /* Typography */
  --ff-sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  --ff-head:"Space Grotesk",var(--ff-sans);
}

/* Light mode overrides */
html[data-theme="light"]{
  --bg: #f4f5f7;
  --bg-alt: #ffffff;
  --surface-header: rgba(255,255,255,0.96);
  --surface-elevated: #ffffff;

  --ink-strong: #0f172a;
  --ink-muted: #4b5563;
  --border-subtle: rgba(148,163,184,0.5);

  --card:#ffffff;
  --elev:#f9fafb;
  --muted: var(--ink-muted);

  --text: var(--ink-strong);
}

/* LIGHT MODE OVERRIDES */
html[data-theme="light"] {
  --surface: #f5f7fa;
  --surface-alt: #ffffff;
}


/* ============ Typography system ============ */
html{font-feature-settings:"ss01" 1,"cv02" 1,"cv03" 1; scroll-padding-top: calc(var(--header-h) + 8px);}
body{
  font-family:var(--ff-sans);
  font-weight:400;
  color:var(--text);
  background:var(--bg);
}
h1,h2,h3,.h1,.h2,.h3{
  font-family:var(--ff-head);
  font-weight:700;
  letter-spacing:.2px;
  margin:0 0 var(--s-4);
}
h1{font-size:clamp(2.2rem,3.2vw,3rem)}
h2{font-size:clamp(1.6rem,2.2vw,2rem)}
h3{font-size:clamp(1.2rem,1.6vw,1.25rem)}
p{margin:0 0 var(--s-4)}
.muted{color:var(--muted)}
.tiny{font-size:var(--fs-0)}

/* ============ Global links & brand accents ============ */
a,.menu-primary a:hover{color:var(--brand)}
a:hover{color:var(--brand-ink)}

/* Container */
.container{max-width:var(--wrap);margin:0 auto;padding:0 var(--s-4)}

/* ============ Sections & utilities ============ */
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4)}
.stack>*+*{margin-top:var(--s-4)}
.inline-list{display:inline-flex;gap:1rem;flex-wrap:wrap;margin-left:.5rem}


/* Form */
.account__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.account__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.account__label {
  font-weight: 600;
  font-size: 0.9rem;
}

.account__input {
  border-radius: 0.5rem;
  border: 1px solid color-mix(in oklab, var(--brand) 25%, transparent);
  padding: 0.5rem 0.75rem;
  background: var(--bg-alt, #020617);
  color: inherit;
}

.account__input:focus {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

/* Notices */
.account__notice {
  margin-bottom: 1.5rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  font-size: 0.9rem;
}

.account__notice--error {
  background: color-mix(in oklab, red 20%, transparent);
  border: 1px solid color-mix(in oklab, red 45%, transparent);
}

.account__notice--success {
  background: color-mix(in oklab, var(--brand) 20%, transparent);
  border: 1px solid color-mix(in oklab, var(--brand) 45%, transparent);
}

.account__actions {
  margin-top: 0.5rem;
}

.account__help,
.account__note {
  font-size: 0.8rem;
  opacity: 0.8;
}


/* ============ Hero (final consolidated) ============ */
.hero{
  position:relative;min-height:70vh;display:flex;align-items:flex-end;
  border-bottom:var(--bd);overflow:hidden;
}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,.35)),
    radial-gradient(1200px 60% at 50% 100%,rgba(0,0,0,.40),transparent 70%);
}
.hero-inner{position:relative;padding:clamp(2rem,4vw,4rem) 0}
.hero-title{color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.65)}
.hero-sub{color:#e5e7eb;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.hero-panel{
  display:inline-block;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:.5rem .75rem;box-shadow:0 8px 24px rgba(0,0,0,.35);
  backdrop-filter:saturate(120%) blur(4px);
}
@media (max-width:768px){ .hero{min-height:60vh} }

/* ============ Buttons (single source of truth) ============ */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.6rem .9rem;border-radius:var(--r-1);
  border:0;background:var(--brand);color:#fff;cursor:pointer;
  font-weight:600;letter-spacing:.2px;
}
.btn:hover{filter:brightness(.95) saturate(115%)}
.btn-ghost{
  background:transparent;border:1px solid var(--brand);color:var(--brand)
}
.btn-ghost:hover{background:var(--brand-ghost);color:var(--brand-ink)}

/* ============ Cards (with depth) ============ */
.card{
  background:var(--card);border:var(--bd);border-radius:var(--r-2);
  overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 10px 30px rgba(0,0,0,.25),0 1px 0 rgba(255,255,255,.03) inset;
}
.card-media{aspect-ratio:16/9;background:#111}
.ph-media{height:100%;aspect-ratio:16/9;background:linear-gradient(90deg,#1c2026,#222833,#1c2026)}
.card-body{padding:var(--s-4)}
.card-title{margin:0 0 .25rem}
.card-meta{margin:0 0 .5rem}

/* ============ Tables ============ */
.table-wrap{overflow-x:auto;border:var(--bd);border-radius:var(--r-2);background:var(--card)}
.table-wrap table{width:100%;border-collapse:collapse}
.table-wrap th,.table-wrap td{padding:.6rem .75rem;border-bottom:var(--bd)}
.table-wrap tr:hover{background:rgba(255,255,255,.03)}

/* ============ Tabs ============ */
.tabs .tablist{display:flex;gap:.25rem;margin-bottom:var(--s-4)}
.tabs [role=tab]{border:var(--bd);background:var(--card);padding:.5rem .75rem;border-radius:var(--r-1);cursor:pointer}
.tabs [role=tab][aria-selected=true]{background:var(--brand);color:#fff}

/* ============ Alerts ============ */
.alert{display:flex;gap:.6rem;align-items:center;border-radius:var(--r-1);padding:.75rem .9rem;background:var(--elev);border:var(--bd)}
.alert .alert-dot{width:.6rem;height:.6rem;border-radius:999px;display:inline-block}
.alert-info .alert-dot{background:var(--info)}
.alert-warn .alert-dot{background:var(--warn)}
.alert-success .alert-dot{background:var(--ok)}

/* ============ Forms ============ */
input,select{background:var(--card);border:var(--bd);border-radius:var(--r-1);padding:.5rem .6rem}
.filters{display:flex;gap:.5rem;align-items:center}

/* ——— Brand lock (override any leftover palette rules) ——— */
.btn{ background: var(--brand) !important; border-color: transparent !important; color:#fff !important; }
.btn:hover{ filter: brightness(.95) saturate(115%) !important; }
.btn-ghost{ background:transparent !important; border:1px solid var(--brand) !important; color:var(--brand) !important; }
.btn-ghost:hover{ background:var(--brand-ghost) !important; color:var(--brand-ink) !important; }
.nav-accent{ background: var(--brand) !important; }
a, .menu-primary a:hover{ color: var(--brand) !important; }
a:hover{ color: var(--brand-ink) !important; }

.wp-block-button__link,
a.button, .button, input[type=submit], button[type=submit]{
  background:var(--brand) !important; border-color:transparent !important; color:#fff !important;
}
.wp-block-button__link.is-style-outline{
  background:transparent !important; color:var(--brand) !important; border:1px solid var(--brand) !important;
}

/* Section rhythm: extra air above headings */
.section {
  padding: clamp(1.75rem, 3.5vw, 3rem) 0;
}
.section-head{ margin-bottom: clamp(1rem, 2vw, 1.25rem); }

/* Tighter vertical rhythm on the home template */
body.page-template-page-home .section.home-block {
  padding-top: clamp(1rem, 2vw, 1.75rem);
  padding-bottom: clamp(1rem, 2vw, 1.75rem);
}

/* === GPVWC-scoped tokens (beats any global :root overrides) === */
body.gpvwc{
  --brand: #00b3a4;
  --brand-ink: #002f2b;
  --brand-ghost: color-mix(in oklab, var(--brand) 20%, white);
}

/* Last-resort locks (if a plugin hard-codes colours) */
body.gpvwc .btn{ background: var(--brand) !important; border-color: transparent !important; color:#fff !important; }
body.gpvwc .btn:hover{ filter: brightness(.95) saturate(115%) !important; }
body.gpvwc .btn-ghost{ background:transparent !important; border:1px solid var(--brand) !important; color:var(--brand) !important; }
body.gpvwc .btn-ghost:hover{ background:var(--brand-ghost) !important; color:var(--brand-ink) !important; }
body.gpvwc .nav-accent{ background: var(--brand) !important; }
body.gpvwc a, body.gpvwc .menu-primary a:hover{ color: var(--brand) !important; }
body.gpvwc a:hover{ color: var(--brand-ink) !important; }

/* Cover Gutenberg buttons too */
body.gpvwc .wp-block-button__link,
body.gpvwc a.button, body.gpvwc .button,
body.gpvwc input[type=submit], body.gpvwc button[type=submit]{
  background: var(--brand) !important; color:#fff !important; border-color:transparent !important;
}
body.gpvwc .wp-block-button__link.is-style-outline{
  background:transparent !important; color:var(--brand) !important; border:1px solid var(--brand) !important;
}

/* Scope fonts to this theme */
body.gpvwc{ font-family: var(--ff-sans) !important; }
body.gpvwc h1, body.gpvwc h2, body.gpvwc h3,
body.gpvwc .h1, body.gpvwc .h2, body.gpvwc .h3{
  font-family: var(--ff-head) !important;
}

/* HERO – Home */
.home-hero {
  position: relative;
  overflow: hidden;
  min-height: 660px;
  color: var(--gpvwc-hero-fg, #fff);
}
.home-hero__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  filter: brightness(0.5);
  z-index: 0;
}
.home-hero__inner {
  position: relative;
  z-index: 1;
}
.home-hero__label {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}
.home-hero__title {
  font-size: clamp(2.4rem, 3.4vw, 3.2rem);
  margin-bottom: 0.5rem;
}
.home-hero__meta {
  font-size: 1rem;
  opacity: 0.9;
  margin-bottom: 1.5rem;
}
.home-hero__inner.section {
  padding-top: clamp(1.75rem, 3vw, 2.75rem);
  padding-bottom: clamp(1.25rem, 2.5vw, 2.25rem);
}

/* UPCOMING GRID */
.home-upcoming__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
}
.home-upcoming__card {
  border-radius: 0.9rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(0,0,0,0.2);
}
.home-upcoming__card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.4rem;
}
.home-upcoming__series-code {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  border: 1px solid currentColor;
  opacity: 0.9;
}
.home-upcoming__series-name {
  font-size: 1rem;
  margin: 0;
}
.home-upcoming__event-title {
  font-weight: 500;
  margin-bottom: 0.2rem;
}
.home-upcoming__event-meta {
  font-size: 0.9rem;
  opacity: 0.85;
}
.home-upcoming__footer {
  margin-top: 0.9rem;
}

/* Per-series accents */
.home-upcoming__card--sl1 { border-color:#0fb9a5; }
.home-upcoming__card--sl1 .home-upcoming__series-code { color:#0fb9a5; }
.home-upcoming__card--sl2 { border-color:#10b3dc; }
.home-upcoming__card--sl2 .home-upcoming__series-code { color:#10b3dc; }
.home-upcoming__card--fs1 { border-color:#e81e36; }
.home-upcoming__card--fs1 .home-upcoming__series-code { color:#e81e36; }
.home-upcoming__card--fs2 { border-color:#ff7d00; }
.home-upcoming__card--fs2 .home-upcoming__series-code { color:#ff7d00; }
.home-upcoming__card--aca { border-color:#7927a8; }
.home-upcoming__card--aca .home-upcoming__series-code { color:#7927a8; }
.home-upcoming__card--wgt { border-color:#0620d4; }
.home-upcoming__card--wgt .home-upcoming__series-code { color:#0620d4; }
.home-upcoming__card--generic { border-color:rgba(255,255,255,0.12); }

.home-series-tab {
  border-radius: 999px;
  padding-inline: var(--s-2);
  padding-block: calc(var(--s-1) * 0.75);
  font-weight: 600;
}
.home-series-tab[aria-selected="true"].home-series-tab--sl1 {
  background: var(--sl1-bg);
  color: var(--sl1-fg);
}
.home-series-tab[aria-selected="true"].home-series-tab--sl2 {
  background: var(--sl2-bg);
  color: var(--sl2-fg);
}
.home-series-tab[aria-selected="true"].home-series-tab--fs1 {
  background: var(--fs1-bg);
  color: var(--fs1-fg);
}
.home-series-tab[aria-selected="true"].home-series-tab--fs2 {
  background: var(--fs2-bg);
  color: var(--fs2-fg);
}
.home-series-tab[aria-selected="true"].home-series-tab--aca {
  background: var(--aca-bg);
  color: var(--aca-fg);
}

/* =========================================================
   GPVWC 2026 — core components
   ========================================================= */

/* Responsive Embeds */
.embed-16x9{ position:relative; padding-top:56.25%; width:100%; }
.embed-16x9 iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.embed-1x1{ position:relative; padding-top:100%; width:100%; }
.embed-1x1 iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; background:#000; }

/* Grids & helpers */
.grid{ display:grid; gap: clamp(1rem, 2vw, 1.5rem); }
.grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 960px){ .grid-3{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .grid-3{ grid-template-columns: 1fr; } }

.grid-4{ display:grid; gap: var(--s-4); grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width:1200px){ .grid-4{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 960px){ .grid-4{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .grid-4{ grid-template-columns: 1fr; } }

.list-plain{ margin:0; padding-left:1.25rem; }
.list-plain li{ margin:.35rem 0; }

/* YouTube Grid */
.yt-grid{ display:grid; gap: var(--s-4); grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width:960px){ .yt-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .yt-grid{ grid-template-columns: 1fr; } }
.yt-card{ display:flex; flex-direction:column; gap:.5rem; }
.yt-thumb{ aspect-ratio:16/9; background:#111; border-radius: var(--r-2); overflow:hidden; border: var(--bd); display:block; }
.yt-thumb img, .yt-thumb iframe{ width:100%; height:100%; object-fit:cover; display:block; }
.yt-title{ font-size: var(--fs-1); line-height:1.3; margin:0; }

/* Instagram widget polish */
.ig-section iframe.lightwidget-widget{
  width:100%; border:0; overflow:hidden;
  border-radius: var(--r-2);
  margin-top: 1rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* Badges & Flags */
.badge{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.25rem .5rem; border-radius:999px;
  font-weight:600; font-size:.75rem;
}
.badge-race{ background: var(--brand); color:#fff; }
.badge-test{ background:#fff; border:1px solid var(--brand); color: var(--brand); }

.flag{
  display:inline-block; width:20px; height:14px; vertical-align:middle;
  border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.08); object-fit:cover;
}

/* Home layout bits */
#this-week {
  margin-top: clamp(0.25rem, 1vw, 0.75rem);
}
.section.home-block{
  max-width: var(--wrap);
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(1rem, 2vw, 1.75rem);
  padding-bottom: clamp(1rem, 2vw, 1.75rem);
}
.section.home-block > .container{
  max-width: 100%;
}
.home-standings{
  width: 100%;
}
.home-standings .section-head{
  margin-bottom: var(--s-4);
}
.home-media-grid{
  display: grid;
  gap: clamp(1.4rem, 3vw, 2.25rem);
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  align-items: start;
}
.home-media-grid__item{
  display: flex;
}
.home-media-block{
  border: var(--bd);
  border-radius: var(--r-2);
  padding: clamp(1rem, 2vw, 1.5rem);
  background: var(--card);
  width: 100%;
}
.home-media-block .section-head{
  margin-bottom: var(--s-4);
}
.yt-section{ margin-bottom: var(--s-4); }
.ig-section iframe{ display:block; }

/* =========================================
   News – Single article
   ====================================== */

.news-single {
  margin: 0;
}
.news-single__hero {
  position: relative;
  width: 100%;
  min-height: 520px;
  padding: 140px 16px 72px;
  display: flex;
  align-items: flex-end;
  background-color: #000;
  background-size: cover;
  background-position: center 25%;
  background-repeat: no-repeat;
}
.news-single__hero--has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.2) 0%,
    rgba(0, 0, 0, 0.7) 60%,
    rgba(0, 0, 0, 0.9) 100%
  );
  z-index: 1;
}
.news-single__category-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  margin-bottom: 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.news-single__hero-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
}
.news-single__hero-inner {
  max-width: 960px;
  margin: 0 auto;
}
.news-single__title {
  margin: 0 0 16px;
  font-size: 32px;
  line-height: 1.15;
}
.news-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}
.news-single__meta-item {
  display: inline-flex;
  align-items: center;
}
.news-single__meta-separator {
  margin: 0 4px;
  opacity: 0.6;
}

/* Body */
.news-single__body {
  padding: 32px 16px 64px;
  background: radial-gradient(circle at top, #171b2b 0, #05060a 55%);
}
.news-single__body-inner {
  max-width: 960px;
  margin: 0 auto;
}

/* Content / embeds */
.news-single__content {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
}
.news-single__content p {
  margin: 0 0 1.1em;
}
.news-single__content h2,
.news-single__content h3,
.news-single__content h4 {
  margin: 1.8em 0 0.6em;
  font-weight: 600;
}
.news-single__content a {
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.news-single__content a:hover {
  border-bottom-color: rgba(255, 255, 255, 0.55);
}

/* Embeds */
.news-single__content .wp-block-embed,
.news-single__content .embed-responsive,
.news-single__content iframe[src*="youtube.com"],
.news-single__content iframe[src*="youtu.be"],
.news-single__content iframe[src*="instagram.com"] {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 24px 0;
}
.news-single__content .wp-block-embed__wrapper,
.news-single__content iframe[src*="youtube.com"],
.news-single__content iframe[src*="youtu.be"],
.news-single__content iframe[src*="instagram.com"] {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}
@supports not (aspect-ratio: 16 / 9) {
  .news-single__content .wp-block-embed,
  .news-single__content iframe[src*="youtube.com"],
  .news-single__content iframe[src*="youtu.be"],
  .news-single__content iframe[src*="instagram.com"] {
    padding-bottom: 56.25%;
    height: 0;
  }
  .news-single__content iframe[src*="youtube.com"],
  .news-single__content iframe[src*="youtu.be"],
  .news-single__content iframe[src*="instagram.com"] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
  }
}

/* Pagination inside post content */
.news-single__pagination {
  margin-top: 32px;
  font-size: 14px;
}

/* Prev / next nav */
.news-single__post-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.news-single__post-nav-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(15, 16, 24, 0.9);
  text-decoration: none;
  color: inherit;
}
.news-single__post-nav-item--prev { text-align:left; }
.news-single__post-nav-item--next { text-align:right; }
.news-single__post-nav-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.7;
}
.news-single__post-nav-title {
  font-size: 14px;
  font-weight: 500;
}

/* Related posts */
.news-single__related {
  margin-top: 48px;
}
.news-single__related-heading {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 600;
}
.news-single__related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* News cards */
.news-card {
  background: rgba(9, 11, 18, 0.95);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.news-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.news-card__thumb-wrapper {
  position: relative;
  overflow: hidden;
}
.news-card__thumb {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.news-card__thumb--placeholder {
  background: radial-gradient(circle at top, #2a2f45 0, #141622 70%);
}
.news-card__content {
  padding: 12px 14px 14px;
}
.news-card__date {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
}
.news-card__title {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 500;
}
.news-card__excerpt {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
}

/* =========================================
   News – Archive
   ====================================== */
.site-main--news-archive {
  background: #05060a;
  color: #ffffff;
}
.news-archive__hero {
  padding: 56px 16px 32px;
  background: radial-gradient(circle at top, #1b2138 0, #05060a 70%);
}
.news-archive__hero-inner {
  max-width: 960px;
  margin: 0 auto;
}
.news-archive__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.7;
}
.news-archive__title {
  margin: 0 0 12px;
  font-size: 28px;
}
.news-archive__description {
  max-width: 640px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}
.news-archive__body {
  padding: 24px 16px 64px;
}
.news-archive__body-inner {
  max-width: 960px;
  margin: 0 auto;
}
.news-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.news-archive__pagination {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}
.news-archive__empty {
  margin-top: 24px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}

/* =========================================
   Responsive – News
   ====================================== */
@media (max-width: 900px) {
  .news-single__hero {
    min-height: 320px;
    padding: 96px 16px 40px;
  }
  .news-single__title {
    font-size: 26px;
  }
  .news-single__body-inner,
  .news-archive__hero-inner,
  .news-archive__body-inner {
    max-width: 100%;
  }
  .news-archive__grid,
  .news-single__related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .news-single__hero {
    min-height: 260px;
    padding: 80px 16px 28px;
  }
  .news-single__title {
    font-size: 22px;
  }
  .news-single__meta {
    font-size: 12px;
  }
  .news-single__post-nav {
    grid-template-columns: minmax(0, 1fr);
  }
  .news-archive__grid,
  .news-single__related-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .news-card__thumb {
    height: 160px;
  }
}

/* =========================================
   News – Light vs dark mode (simplified)
   ====================================== */

/* Always use light background for article body */
.site-main--news-single,
.news-single__body {
  background: var(--bg);
  color: var(--text);
}
.news-single__content {
  color: var(--text);
}
.news-single__content a {
  border-bottom-color: rgba(0, 0, 0, 0.2);
}
.news-single__content a:hover {
  border-bottom-color: rgba(0, 0, 0, 0.4);
}

/* Related cards use the standard light card treatment */
.news-card {
  background: var(--card);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bd);
}
.news-card__date {
  color: var(--muted);
}
.news-card__excerpt {
  color: var(--muted);
}

/* Final news single overrides */
body.single-post .news-single__hero {
  background-position: center center;
}
body.single-post .news-single__title {
  color: #ffffff !important;
  text-shadow: 0 3px 20px rgba(0,0,0,0.6);
}
body.single-post .news-single__meta {
  color: rgba(255,255,255,0.85) !important;
}
body.single-post .news-single__category-pill {
  color: #ffffff !important;
  background: rgba(0,0,0,0.45);
  border-color: rgba(255,255,255,0.6);
}

/* NEWS ARCHIVE / CATEGORY — LIGHT MODE */
html[data-theme="light"] .site-main--news-archive,
html:not([data-theme]) .site-main--news-archive {
  background: var(--bg);
  color: var(--text);
}
html[data-theme="light"] .news-archive__hero,
html:not([data-theme]) .news-archive__hero {
  background: var(--bg);
}
html[data-theme="light"] .news-archive__body,
html:not([data-theme]) .news-archive__body {
  background: var(--bg);
}
html[data-theme="light"] .news-card,
html:not([data-theme]) .news-card {
  background: var(--card);
  border-color: var(--bd);
}
html[data-theme="light"] .news-card__date,
html:not([data-theme]) .news-card__date {
  color: var(--muted);
}
html[data-theme="light"] .news-card__excerpt,
html:not([data-theme]) .news-card__excerpt {
  color: var(--muted);
}

/* =========================================
   GLOBAL SITE HEADER (matches header.php)
   ====================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--surface-header);
  border-bottom: 1px solid var(--border-subtle);
  backdrop-filter: blur(10px);
}

/* Main header row: logo | nav | actions */
.site-header__inner {
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 1rem var(--s-4); /* a bit more vertical air */
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* Branding */
.site-header__branding {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.site-header__branding img.custom-logo,
.site-header__branding .custom-logo-link img {
  max-height: 44px; /* was 56px */
  width: auto;
  height: auto;
}
@media (max-width: 768px) {
  .site-header__branding img.custom-logo,
  .site-header__branding .custom-logo-link img {
    max-height: 38px;
  }
}

/* Nav */
.site-header__nav {
  flex: 1 1 auto;
  min-width: 0;
}
.site-header__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.site-header__menu li {
  margin: 0;
}
.site-header__menu > li > a {
  text-decoration: none;
  font-size: var(--fs-0);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-muted);
  padding: 0.35rem 0;
}
.site-header__menu > li > a:hover,
.site-header__menu > li > a:focus-visible,
.site-header__menu > li.current-menu-item > a {
  color: var(--ink-strong);
}

/* Auth button in header – force white text on brand background */
.site-header__auth .btn-primary,
.site-header__auth .btn-primary:visited {
  color: #fff;
}

.site-header__auth .btn-primary:hover,
.site-header__auth .btn-primary:focus {
  color: #fff;
}


/* Actions: theme toggle + search */
.site-header__actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

/* Search column */
.site-header__search {
  flex: 0 1 260px;
}

/* Auth cluster */
.site-header__auth {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  white-space: nowrap;
}

.site-header__auth-name {
  max-width: 11rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-header__auth-link {
  text-decoration: none;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  color: var(--ink-muted);
}

.site-header__auth-link:hover,
.site-header__auth-link:focus-visible {
  border-color: var(--border-subtle);
  color: var(--ink-strong);
}

.site-header__auth-link--primary {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff !important;
}


/* Theme toggle */
.theme-toggle {
  border-radius: 999px;
  border: 1px solid var(--border-subtle);
  background: var(--surface-elevated);
  padding: 0.25rem 0.6rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
  font-size: 0.85rem;
  line-height: 1;
}
.theme-toggle__icon {
  font-size: 0.9rem;
  opacity: 0.45;
}
html[data-theme="light"] .theme-toggle__icon--sun,
html[data-theme="dark"]  .theme-toggle__icon--moon {
  opacity: 1;
}

/* Search in header */
.site-header .search-form {
  display: flex;
  align-items: stretch;
  margin: 0;
}
.site-header .search-field {
  flex: 1 1 auto;
  min-width: 0;
  border-radius: 999px 0 0 999px;
  border: 1px solid var(--border-subtle);
  padding: 0.55rem 0.9rem;
  min-width: 210px;
  background: var(--surface-elevated);
  color: var(--ink-strong);
}
.site-header .search-submit {
  border-radius: 0 999px 999px 0;
  border: none;
  padding: 0.55rem 1.4rem;
  font-weight: 600;
  cursor: pointer;
  background: var(--brand);
  color: var(--brand-ink);
}
.site-header .search-submit:hover {
  filter: brightness(1.08);
}

/* Admin bar offset */
@media (min-width: 783px) {
  body.admin-bar .site-header { top: 32px; }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

/* Responsive header behaviour */
@media (max-width: 960px) {
  .site-header__inner {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }
  .site-header__actions {
    width: 100%;
    justify-content: flex-end;
    order: 2;
  }
  .site-header__nav {
    width: 100%;
    order: 3;
  }
}
@media (max-width: 768px) {
  .site-header .search-field,
  .site-header .search-submit {
    font-size: 0.875rem;
    padding-inline: 0.5rem;
  }
}

/* =========================================
   Auth pages (login / register)
   ====================================== */

.site-main--auth {
  background: var(--bg);
}
.auth-layout {
  display: flex;
  justify-content: center;
}
.auth-card {
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  border-radius: 20px;
  padding: 2rem 2rem 2.25rem;
  box-shadow: 0 8px 32px rgba(0,0,0,0.08);
  background: var(--card);
}
.auth-card .card-body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Title & subtitle */
.auth-title {
  margin-bottom: 0.75rem;
}
.auth-subtitle {
  margin-bottom: 1.25rem;
  font-size: var(--fs-1);
  color: var(--muted);
  line-height: 1.45;
}

/* Labels & inputs */
.auth-card label {
  font-weight: 500;
  margin-bottom: 0.35rem;
  display: inline-block;
}
.auth-card input[type="text"],
.auth-card input[type="password"],
.auth-card input[type="email"] {
  width: 100%;
  border-radius: var(--r-1);
  border: 1px solid var(--border-subtle);
  padding: 0.55rem 0.75rem;
  background: var(--card);
}

/* Buttons */
.auth-card .button,
.auth-card input[type="submit"] {
  margin-top: 0.5rem;
}
.auth-card .btn,
.auth-card input[type="submit"] {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Meta line */
.auth-meta {
  margin-top: 1rem;
  font-size: var(--fs-0);
  color: var(--muted);
  text-align: center;
}
.auth-meta a {
  font-weight: 600;
}

/* Register form extras */
.auth-card form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.auth-card .password-hints,
.auth-card .gpvwc-password-rules {
  margin-top: -0.5rem;
  font-size: 0.85rem;
  color: var(--muted);
  line-height: 1.4;
}
.auth-card .g-recaptcha {
  margin: 0.5rem 0 0.25rem;
}

/* Hide the internal standings cards from the tabs shortcode –
   we only use the tabs to switch the summary blocks below. */
.home-standings .tabs .grid {
  display: none;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--border-subtle);
  background: var(--surface-elevated);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.theme-toggle__icon {
  position: absolute;
  font-size: 14px;
  line-height: 1;
  transition: opacity 0.25s ease;
  opacity: 0;
}

html[data-theme="light"] .theme-toggle__icon--sun { opacity: 1; }
html[data-theme="dark"]  .theme-toggle__icon--moon { opacity: 1; }

.site-header__auth-link--primary {
  background: var(--brand);
  border-color: var(--brand);
  color: #ffffff !important;
}

.site-header__auth-link--primary:hover {
  filter: brightness(1.1);
  color: #ffffff !important;
}
.home-standings__flag img {
  width: 16px;
  height: 11px;
  margin-right: 6px;
  border-radius: 2px;
  display: inline-block;
}

@media (max-width: 768px) {
  .site-header__inner {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .site-header__actions {
    width: 100%;
    margin-top: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .site-header__search {
    flex: 1 1 100%;
    order: 2;
  }

  .site-header__auth {
    order: 3;
  }

  #themeToggle {
    order: 1;
  }
}
/* === Theme toggle – compact pill with single icon === */
#themeToggle.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 24px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--bd);
  background: var(--card);
}

/* Icons inside the toggle */
.theme-toggle__icon {
  width: 16px;
  height: 16px;
  line-height: 1;
  opacity: 0;
  transition: opacity 0.2s ease;
  color: var(--info);
}

.theme-toggle__icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
}


.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 26px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--brand);
  background: transparent;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  background: rgba(0,179,164,0.1);
}

.theme-toggle__icon {
  width: 18px;
  height: 18px;
  color: var(--brand);
  position: absolute;
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* Show sun in light mode */
html[data-theme="light"] .theme-toggle__icon--sun,
html:not([data-theme]) .theme-toggle__icon--sun {
  opacity: 1;
}

/* Show moon in dark mode */
html[data-theme="dark"] .theme-toggle__icon--moon {
  opacity: 1;
}

/* Fix header auth button contrast */
.site-header__auth .btn-primary,
.site-header__auth .btn-primary:visited {
  color: #ffffff !important;
}

.site-header__auth .btn-primary:hover,
.site-header__auth .btn-primary:focus {
  color: #ffffff !important;
}

/* Account page */

.section.account {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.account__layout {
  display: grid;
  gap: 2rem;
}

@media (min-width: 768px) {
  .account__layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.5fr);
  }
}

.account__panel {
  border-radius: 0.75rem;
  padding: 1.5rem;
  background: var(--card);               /* <-- key line */
  border: 1px solid var(--border-subtle);
}

.account__subtitle {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.account__note {
  margin-top: 1rem;
  font-size: 0.9rem;
  opacity: 0.8;
}


/* ========== Series selector ========== */

.series-selector {
  padding: 3rem 0 4rem;
}

.series-selector__header {
  max-width: 720px;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.series-selector__title {
  font-size: clamp(2rem, 3vw, 2.4rem);
  margin-bottom: 0.5rem;
}

.series-selector__intro {
  color: var(--ink-muted, #7a7f88);
  font-size: 0.95rem;
}

/* Card list (column on mobile, grid on desktop) */
.series-selector__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 900px) {
  .series-selector__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

/* Card base – hero-style tile */
.series-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 1.1rem 1.2rem;
  border-radius: 0.9rem;
  border: 1px solid rgba(255,255,255,0.1);
  background: #000; /* mostly covered by hero image */
  text-decoration: none;
  color: inherit;
  isolation: isolate;
  min-height: 190px;
  overflow: hidden;
  transition:
    transform 0.15s ease-out,
    box-shadow 0.15s ease-out,
    border-color 0.15s ease-out,
    background 0.15s ease-out;
}

/* Light mode: still allow it to sit nicely */
html[data-theme="light"] .series-card,
html:not([data-theme]) .series-card {
  border-color: var(--border-subtle);
}

.series-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.32);
}
.series-card__overlay {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* Stronger presence + gradient at bottom for readability */
  opacity: 0.7;
  mix-blend-mode: normal;
}

.series-card__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  width: 100%;
}

/* Label: dark pill so text is always readable over the hero */
.series-card__label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.25rem 0.7rem;
  border-radius: 0.9rem;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(3px);
}

.series-card__code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid currentColor;
}

.series-card__name {
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0;
}


.series-card__desc {
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--ink-muted, #a0a4b0);
}

/* ========== Series hub hero ========== */

.series-hub {
  background: var(--bg, #05060a);
}

.series-hero {
  position: relative;
  padding: 3.5rem 0 3rem;
  overflow: hidden;
}

.series-hero__bg {
  position: absolute;
  inset: 0;
  opacity: 0.28;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  mix-blend-mode: screen;
  pointer-events: none;
}

.series-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.series-hero__label {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.series-hero__code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.1rem;
  padding: 0.15rem 0.7rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid currentColor;
  background: rgba(0,0,0,0.5);
}

.series-hero__name {
  font-size: clamp(2.1rem, 3.2vw, 2.6rem);
  font-weight: 700;
  margin: 0;
}

.series-hero__desc {
  max-width: 640px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--ink-muted, #a0a4b0);
}

.series-hub__content {
  padding: 2.5rem 0 4rem;
}

/* ========== Per-series accents + shared hero/card backgrounds ========== */
/* Backgrounds wired once and reused for both cards and hero. */

.series-card--sl1,
.series-hub--sl1 .series-hero {
  border-color: #0fb9a5;
}

.series-card--sl1 .series-card__code,
.series-hub--sl1 .series-hero__code {
  color: #0fb9a5;
}

.series-card--sl1 .series-card__overlay,
.series-hero--sl1 .series-hero__bg {
  background-image: url('/wp-content/themes/gpvwc2026/assets/heroes/series-sl1.jpg');
}

.series-card--sl2,
.series-hub--sl2 .series-hero {
  border-color: #10b3dc;
}

.series-card--sl2 .series-card__code,
.series-hub--sl2 .series-hero__code {
  color: #10b3dc;
}

.series-card--sl2 .series-card__overlay,
.series-hero--sl2 .series-hero__bg {
  background-image: url('/wp-content/themes/gpvwc2026/assets/heroes/series-sl2.jpg');
}

.series-card--fs1,
.series-hub--fs1 .series-hero {
  border-color: #e81e36;
}

.series-card--fs1 .series-card__code,
.series-hub--fs1 .series-hero__code {
  color: #e81e36;
}

.series-card--fs1 .series-card__overlay,
.series-hero--fs1 .series-hero__bg {
  background-image: url('/wp-content/themes/gpvwc2026/assets/heroes/series-fs1.jpg');
}

.series-card--fs2,
.series-hub--fs2 .series-hero {
  border-color: #ff7d00;
}

.series-card--fs2 .series-card__code,
.series-hub--fs2 .series-hero__code {
  color: #ff7d00;
}

.series-card--fs2 .series-card__overlay,
.series-hero--fs2 .series-hero__bg {
  background-image: url('/wp-content/themes/gpvwc2026/assets/heroes/series-fs2.jpg');
}

.series-card--aca,
.series-hub--aca .series-hero {
  border-color: #7927a8;
}

.series-card--aca .series-card__code,
.series-hub--aca .series-hero__code {
  color: #7927a8;
}

.series-card--aca .series-card__overlay,
.series-hero--aca .series-hero__bg {
  background-image: url('/wp-content/themes/gpvwc2026/assets/heroes/series-aca.jpg');
}

/* Force white text on the header "Register" pill */
.site-header__auth .site-header__auth-link--primary,
.site-header__auth .site-header__auth-link--primary:visited {
  color: #ffffff !important;
}

.site-header__auth .btn-primary,
.site-header__auth .btn-primary:visited {
  color: #ffffff !important;
}

/* Series hub – mini standings list: left-align everything */
.series-hub__mini-list,
.series-hub__mini-list li,
.series-hub__mini-pos,
.series-hub__mini-name,
.series-hub__mini-points {
  text-align: left;
}
