/*
Theme Name: GTC Slipstream
Theme URI: https://gtchampions.com
Author: GT Champions
Description: Slipstream Elite — a modern, broadcast-grade theme for GT Champions. Edit the homepage visually in the block editor; displays live championship standings and styles the Auto Sports Tournament (AST) plugin's tables to match.
Version: 1.1.40
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: gtc-slipstream
*/

/* ============================================================
   SLIPSTREAM ELITE · design tokens
   These mirror theme.json so the block editor and the front end
   stay in sync. Change a brand color in ONE place: theme.json.
   ============================================================ */
:root{
  --azure:#11A0CA; --sky:#4BB3CE; --gold:#FFBD54; --cream:#E5E6D6;
  --gunmetal:#989898; --black:#0B0E12; --carbon:#12161C; --carbon-2:#1A2029;
  --line:#252C36; --white:#F6F8F9;
  --font-display:'Orbitron',sans-serif;
  --font-cond:'Saira Condensed',sans-serif;
  --font-body:'Saira',sans-serif;
  --font-serif:'Lora',Georgia,serif;
  --maxw:1240px; --r:14px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
body{margin:0;background:var(--black);color:var(--cream);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--azure);text-decoration:none}
a:hover{color:var(--sky)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.05;letter-spacing:.01em;color:var(--white)}
.gtc-wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}

/* skip link / a11y */
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:8px;top:8px;z-index:200;background:var(--gold);color:#10141a;padding:10px 16px;border-radius:8px}
:focus-visible{outline:2px solid var(--azure);outline-offset:2px}

/* eyebrow + speed line */
.gtc-eyebrow{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.28em;font-size:13px;color:var(--azure);display:inline-flex;align-items:center;gap:12px}
.gtc-eyebrow::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--azure),var(--gold))}
.gtc-title-line{position:relative;display:inline-block;padding-bottom:14px}
.gtc-title-line::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:70px;background:linear-gradient(90deg,var(--azure),var(--gold));border-radius:2px}

/* buttons (also styles core button blocks) */
.gtc-btn,.wp-block-button__link{
  font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:15px;
  display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:9px;
  background:var(--gold);color:#10141a;border:1px solid transparent;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.gtc-btn:hover,.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 26px -10px rgba(255,189,84,.55);color:#10141a}
.gtc-btn.ghost,.is-style-outline .wp-block-button__link{background:transparent;color:var(--cream);border-color:var(--line)}
.gtc-btn.ghost:hover,.is-style-outline .wp-block-button__link:hover{border-color:var(--azure);color:var(--cream)}
.gtc-btn.azure{background:var(--azure);color:#05222b}

/* ===================== header ===================== */
.gtc-util{border-bottom:1px solid var(--line);background:#080a0e;font-size:13px}
.gtc-util .gtc-wrap{display:flex;align-items:center;justify-content:space-between;min-height:38px;flex-wrap:wrap}
.gtc-util a{color:var(--gunmetal)}.gtc-util a:hover{color:var(--cream)}
.gtc-util .socials{display:flex;gap:18px;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.gtc-util .sponsor{display:flex;align-items:center;gap:10px;color:var(--gunmetal);font-family:var(--font-cond);letter-spacing:.1em;text-transform:uppercase}
.gtc-util .sponsor img{height:18px;opacity:.85}

.gtc-header{position:relative;z-index:50;background:rgba(8,10,14,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.gtc-header .gtc-wrap{display:flex;align-items:center;gap:24px;min-height:74px}
.gtc-brand img{height:34px;width:auto}
.gtc-brand .txt{font-family:var(--font-display);font-weight:900;font-size:22px;letter-spacing:.04em;color:var(--white);text-transform:uppercase}
.gtc-nav{display:flex;gap:4px;margin-left:6px}
.gtc-nav a{font-family:var(--font-cond);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:15px;color:var(--cream);padding:10px 13px;border-radius:8px;transition:background .2s,color .2s}
.gtc-nav a:hover{color:var(--white);background:#ffffff0a}
.gtc-nav li{position:relative}
.gtc-nav > .menu-item-has-children{padding-bottom:6px}   /* hover bridge: li height covers the gap */
.gtc-nav .sub-menu{
  display:none;position:absolute;top:100%;left:0;
  min-width:210px;list-style:none;margin:0;padding:8px;
  background:rgba(8,10,14,.97);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 12px 32px rgba(0,0,0,.55);z-index:200;
  flex-direction:column;gap:2px}
.gtc-nav .menu-item-has-children.is-hovered > .sub-menu,
.gtc-nav .menu-item-has-children:focus-within > .sub-menu{display:flex}
.gtc-nav .sub-menu a{padding:9px 14px;font-size:14px;border-radius:7px;white-space:nowrap;display:block;letter-spacing:.08em}
.gtc-nav .sub-menu a:hover{background:#ffffff12;color:var(--white)}
/* Top-level parent: downward chevron */
.gtc-nav > .menu-item-has-children > a::after{content:"▾";font-size:10px;margin-left:6px;color:var(--gunmetal)}
/* Nested parent: rightward chevron + flyout positioning */
.gtc-nav .sub-menu .menu-item-has-children > a{display:flex;justify-content:space-between;align-items:center;gap:8px}
.gtc-nav .sub-menu .menu-item-has-children > a::after{content:"›";font-size:16px;padding-left:8px;color:var(--gunmetal)}
.gtc-nav .sub-menu .sub-menu{top:-8px;left:100%;margin-left:0}
.gtc-spacer{flex:1}
.gtc-head-cta{display:flex;align-items:center;gap:12px}
.gtc-live-dot{width:8px;height:8px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 0 0 rgba(255,77,77,.6);animation:gtcpulse 1.8s infinite}
@keyframes gtcpulse{70%{box-shadow:0 0 0 9px rgba(255,77,77,0)}100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}}
.gtc-burger{display:none;background:none;border:0;color:var(--cream);font-size:28px;cursor:pointer;line-height:1}

/* ===================== hero (front page default) ===================== */
.gtc-hero{position:relative;overflow:hidden;padding:90px 0 80px;border-bottom:1px solid var(--line)}
.gtc-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 80% -10%,rgba(17,160,202,.20),transparent 60%),radial-gradient(90% 70% at 10% 110%,rgba(255,189,84,.10),transparent 55%)}
.gtc-hero::after{content:"";position:absolute;top:-10%;right:-6%;width:46%;height:130%;background:linear-gradient(115deg,transparent 20%,rgba(75,179,206,.5),rgba(255,189,84,.42),rgba(168,85,247,.35),transparent 78%);filter:blur(34px);opacity:.5;transform:skewX(-14deg);pointer-events:none;animation:gtcdrift 14s ease-in-out infinite alternate}
@keyframes gtcdrift{to{transform:skewX(-14deg) translateX(-26px)}}
.gtc-hero .gtc-wrap{position:relative;z-index:2}
.gtc-hero h1{font-size:clamp(46px,7vw,92px);text-transform:uppercase}
.gtc-hero .lede{font-family:var(--font-serif);font-style:italic;font-size:clamp(19px,2.4vw,26px);color:var(--gold);margin:18px 0 6px;max-width:38ch}
.gtc-hero p.sub{color:var(--gunmetal);max-width:52ch;margin:14px 0 30px}
.gtc-hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}

/* ===================== sections ===================== */
.gtc-band{padding:80px 0}
.gtc-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.gtc-sec-head h2{font-size:clamp(30px,4.4vw,48px);text-transform:uppercase}
.gtc-sec-head p{color:var(--gunmetal);max-width:48ch;margin:10px 0 0}

/* ===================== tournament cards ===================== */
.gtc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gtc-card{background:var(--carbon);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.gtc-card:hover{transform:translateY(-6px);border-color:#2f5a68;box-shadow:0 26px 50px -28px rgba(17,160,202,.5)}
.gtc-card .thumb{position:relative;aspect-ratio:16/9;background:#0d1116;overflow:hidden}
.gtc-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gtc-card:hover .thumb img{transform:scale(1.05)}
.gtc-pill{position:absolute;top:12px;left:12px;font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11px;padding:5px 11px;border-radius:6px;backdrop-filter:blur(6px)}
.gtc-pill.live{background:rgba(255,77,77,.16);color:#ff6b6b;border:1px solid #ff6b6b66}
.gtc-pill.open{background:rgba(75,179,206,.16);color:var(--sky);border:1px solid #4bb3ce66}
.gtc-pill.soon{background:rgba(255,189,84,.16);color:var(--gold);border:1px solid #ffbd5466}
.gtc-pill.ended{background:rgba(152,152,152,.16);color:var(--gunmetal);border:1px solid #98989866}
.gtc-card .sim{position:absolute;bottom:12px;right:12px;font-family:var(--font-cond);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);background:#0b0e12cc;padding:4px 9px;border-radius:5px;border:1px solid var(--line)}
.gtc-card .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.gtc-card h3{font-family:var(--font-cond);font-weight:700;font-size:23px;text-transform:uppercase;letter-spacing:.02em;color:var(--white);line-height:1.05}
.gtc-card .meta{font-family:var(--font-cond);font-size:13px;letter-spacing:.06em;color:var(--azure);text-transform:uppercase}
.gtc-card .desc{font-size:14.5px;color:var(--gunmetal);flex:1}
.gtc-card .lnk{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--gold)}
.gtc-card .lnk:hover{color:var(--white)}

/* ===================== content / posts / pages ===================== */
.gtc-content{padding:60px 0}
.gtc-article{max-width:820px;margin:0 auto}
.gtc-article h1.entry-title{font-size:clamp(34px,5vw,58px);text-transform:uppercase;margin:0 0 10px}
.gtc-meta{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--gunmetal);margin-bottom:30px}
.entry-content{font-size:17px}
.entry-content h2{font-size:30px;margin:38px 0 14px;text-transform:uppercase}
.entry-content h3{font-size:23px;margin:30px 0 12px;font-family:var(--font-cond);font-weight:700;text-transform:uppercase;color:var(--cream)}
.entry-content a{color:var(--azure);text-decoration:underline;text-underline-offset:3px}
.entry-content blockquote{border-left:3px solid var(--gold);margin:24px 0;padding:6px 0 6px 22px;font-family:var(--font-serif);font-style:italic;color:var(--gold);font-size:21px}
.entry-content img,.entry-content figure{border-radius:var(--r);margin:24px 0}
.entry-content ul,.entry-content ol{padding-left:22px}
.entry-content code{background:var(--carbon-2);padding:2px 6px;border-radius:5px;font-size:.9em}

/* ===================== footer ===================== */
.gtc-footer{border-top:1px solid var(--line);background:#080a0e;padding:54px 0 28px;margin-top:10px}
.gtc-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.gtc-footer img.logo{height:30px;margin-bottom:16px}
.gtc-footer p.tag{color:var(--gunmetal);font-size:14.5px;max-width:34ch}
.gtc-footer h4{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--cream);margin:0 0 14px}
.gtc-footer .menu,.gtc-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.gtc-footer ul a{color:var(--gunmetal);font-size:14.5px}
.gtc-footer ul a:hover{color:var(--azure)}
.gtc-foot-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--gunmetal);font-size:13px;font-family:var(--font-cond);letter-spacing:.06em;flex-wrap:wrap;gap:12px}

/* ===================== responsive ===================== */
@media(max-width:980px){
  .gtc-cards{grid-template-columns:1fr 1fr}
  .gtc-foot-grid{grid-template-columns:1fr 1fr}
  .gtc-nav,.gtc-head-cta .gtc-login{display:none}
  .gtc-burger{display:block}
  .gtc-nav.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;background:#0a0d11;border-bottom:1px solid var(--line);padding:14px 26px;gap:2px;margin:0}
  .gtc-nav.open > .menu-item-has-children{padding-bottom:0}   /* cancel desktop hover-bridge */
  .gtc-nav.open .menu-item-has-children > a{display:flex;justify-content:space-between;align-items:center}
  .gtc-nav.open .sub-menu{position:static;box-shadow:none;border:none;background:transparent;border-radius:0;padding:2px 0 4px 14px;min-width:0;margin-left:0}
  .gtc-nav.open .menu-item-has-children.is-hovered > .sub-menu,
  .gtc-nav.open .menu-item-has-children:focus-within > .sub-menu{display:none}
  .gtc-nav.open .menu-item-has-children.is-open > .sub-menu{display:flex}
}
@media(max-width:620px){
  .gtc-cards{grid-template-columns:1fr}
  .gtc-util .sponsor{display:none}
  .gtc-foot-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===================== series cards (core column blocks) ===================== */
.gtc-cards.wp-block-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0}
.gtc-cards.wp-block-columns > .gtc-card.wp-block-column{
  background:var(--carbon);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;padding:0;display:flex;flex-direction:column;
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.gtc-cards.wp-block-columns > .gtc-card.wp-block-column:hover{
  transform:translateY(-6px);border-color:#2f5a68;box-shadow:0 26px 50px -28px rgba(17,160,202,.5)}
.gtc-card .gtc-card-img{margin:0;aspect-ratio:16/9;background:#0d1116;overflow:hidden}
.gtc-card .gtc-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.gtc-card .gtc-card-status{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--azure);margin:16px 20px 0}
.gtc-card > h3{font-family:var(--font-cond);font-weight:700;font-size:22px;text-transform:uppercase;color:var(--white);line-height:1.1;margin:6px 20px 0}
.gtc-card > p:not(.gtc-card-status){color:var(--gunmetal);font-size:14.5px;margin:10px 20px 0}
.gtc-card .wp-block-buttons{margin:16px 20px 20px}

/* helper note + standings feature band */
.gtc-note{color:var(--gunmetal);font-size:13.5px;font-style:italic;max-width:60ch;margin:10px 0 18px}
.gtc-standings-feature{background:linear-gradient(180deg,#0c1014,transparent)}

@media(max-width:980px){ .gtc-cards.wp-block-columns{grid-template-columns:1fr 1fr} }
@media(max-width:620px){ .gtc-cards.wp-block-columns{grid-template-columns:1fr} }

/* ===================== pattern section layout =====================
   WordPress renders the homepage pattern's groups as is-layout-flow (it strips
   the constrained wrapper), so we make the full-bleed sections carry a centered
   1240 content column via padding. Works on the published page without relying
   on block layout classes. */
.gtc-hero, .gtc-band{
  padding-left:max(26px, calc((100% - var(--maxw)) / 2));
  padding-right:max(26px, calc((100% - var(--maxw)) / 2));
}
/* button blocks inside page content must not inherit entry-content link styles */
.entry-content .wp-block-button__link{text-decoration:none;color:#10141a}
.entry-content .is-style-outline .wp-block-button__link,
.entry-content .is-style-outline .wp-block-button__link:hover{color:var(--cream)}

/* ===================== homepage: series + standings sidebar ===================== */
.gtc-series-layout{display:flex;gap:34px;align-items:flex-start}
.gtc-main-col{flex:1 1 auto;min-width:0}
.gtc-aside-col{flex:0 0 322px}
.gtc-standings-card{background:var(--carbon);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 24px}
.gtc-standings-card > h3{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:20px;color:var(--white);margin:6px 0 4px}
.gtc-standings-card .gtc-eyebrow{font-size:12px}
.gtc-standings-card .wp-block-buttons{margin-top:16px}
.gtc-standings-card .wp-block-button__link{width:100%;justify-content:center}
@media(max-width:900px){
  .gtc-series-layout{flex-direction:column}
  .gtc-aside-col{flex-basis:auto;width:100%}
  .gtc-standings-card{position:static}
}

/* #3 series card image: show whole image, uniform box (no crop) */
.gtc-card .gtc-card-img{display:flex;align-items:center;justify-content:center;background:#0d1116}
.gtc-card .gtc-card-img img{object-fit:contain}

/* #5 sticky top bar: socials + header stick together, offset under the admin bar */
.gtc-topbar{position:sticky;top:0;z-index:60}
.admin-bar .gtc-topbar{top:32px}
@media(max-width:782px){ .admin-bar .gtc-topbar{top:46px} }

/* ===================== homepage body: main column + sticky side rail =====================
   The rail runs from under the hero toward the footer (sticky), holding the
   standings panel and any sponsor pieces. The main column is the height driver,
   so leftover space lives in the rail, not as a blank gap in the main area. */
.gtc-body{
  padding-top:72px; padding-bottom:80px;
  padding-left:max(26px, calc((100% - var(--maxw)) / 2));
  padding-right:max(26px, calc((100% - var(--maxw)) / 2));
}
.gtc-body-layout{ display:flex; gap:42px; align-items:flex-start }
.gtc-main-col{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:76px }
.gtc-side-col{ flex:0 0 322px; display:flex; flex-direction:column; gap:22px }
.gtc-block{ display:flex; flex-direction:column; gap:16px }
.gtc-block .gtc-cards{ margin-top:8px }

/* sponsor / partner card in the side rail */
.gtc-side-promo{ background:linear-gradient(160deg,var(--carbon-2),var(--carbon)); border:1px solid var(--line); border-radius:var(--r); padding:24px; text-align:center }
.gtc-side-promo > h3{ font-family:var(--font-cond); font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:19px; margin:6px 0 8px; color:var(--white) }
.gtc-side-promo > p{ color:var(--gunmetal); font-size:14px; margin:0 0 16px }
.gtc-side-promo .wp-block-button__link{ width:100%; justify-content:center }

@media(max-width:1024px){
  .gtc-body-layout{ flex-direction:column }
  .gtc-side-col{ position:static; flex-basis:auto; width:100%; max-width:560px; margin:0 auto }
  .gtc-main-col{ gap:56px }
}

/* #3 hero gradient overlays must not intercept clicks on the hero buttons */
.gtc-hero::before, .gtc-hero::after{ pointer-events:none }
.gtc-hero > *{ position:relative; z-index:1 }

/* partner/sponsor cards in the side rail.
   The FIRST promo card is the featured (Global) partner - prominent + gold-accented.
   Any promo card AFTER it is a secondary partner - understated, smaller logo. */
.gtc-side-promo figure{ margin:0 0 14px }
.gtc-side-promo img{ display:block; width:auto; max-width:100%; max-height:74px; margin:0 auto 14px; object-fit:contain }
.gtc-side-promo{ border-color:rgba(255,189,84,.5); box-shadow:0 12px 30px rgba(0,0,0,.35), 0 0 22px rgba(255,189,84,.07) }
.gtc-side-promo > .gtc-eyebrow{ color:var(--gold) }
.gtc-side-promo ~ .gtc-side-promo{ border-color:var(--line); box-shadow:none }
.gtc-side-promo ~ .gtc-side-promo > .gtc-eyebrow{ color:var(--sky) }
.gtc-side-promo ~ .gtc-side-promo img{ max-height:40px }
.gtc-side-promo ~ .gtc-side-promo > h3{ font-size:17px }

/* #4 clickable YouTube icon beside the GTC-TV heading */
.gtc-tv-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:nowrap }
.gtc-tv-head .gtc-title-line{ margin:0 }
.gtc-yt-link{ display:inline-flex; align-items:center; flex:0 0 auto; line-height:0; filter:drop-shadow(0 2px 6px rgba(0,0,0,.4)); transition:transform .15s ease }
.gtc-yt-link:hover{ transform:translateY(-1px) scale(1.05) }
.gtc-yt-link svg{ width:42px; height:auto; display:block }
@media(max-width:600px){ .gtc-yt-link svg{ width:34px } }

/* ===================== footer: global sponsor + partner strip =====================
   Global Sponsor (gold label, full-colour logo) appears above Other Partners
   when one partner has the "Global Sponsor" checkbox ticked. Partner logos are
   greyscale + dimmed at rest; full colour on hover. Both strips are hidden when
   no matching gtc_partner posts are published. */
.gtc-foot-global{
  border-top:1px solid var(--line);
  margin-top:36px;
  padding-top:26px;
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
.gtc-foot-global-label{
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  color:var(--gold);
  white-space:nowrap;
  flex:0 0 auto;
}
.gtc-global-link{
  display:inline-flex;
  align-items:center;
  line-height:0;
  opacity:.9;
  transition:opacity .2s;
}
.gtc-global-link:hover{ opacity:1 }
.gtc-global-logo{
  height:44px;
  width:auto;
  max-width:200px;
  object-fit:contain;
  display:block;
}
.gtc-foot-partners{
  border-top:1px solid var(--line);
  margin-top:20px;
  padding-top:20px;
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.gtc-foot-partners-label{
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  color:var(--gunmetal);
  white-space:nowrap;
  flex:0 0 auto;
}
.gtc-foot-partner-logos{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}
.gtc-partner-link{
  display:inline-flex;
  align-items:center;
  opacity:.5;
  filter:grayscale(1) brightness(1.6);
  transition:opacity .2s,filter .2s;
  line-height:0;
}
.gtc-partner-link:hover{
  opacity:1;
  filter:none;
}
.gtc-partner-logo{
  height:28px;
  width:auto;
  max-width:130px;
  object-fit:contain;
  display:block;
}

/* ===================== platform badge (standings heading) =====================
   Small platform logo (iRacing / GT7) inline-left of the standings heading,
   identifying which sim the displayed results are from. Output by the
   [gtc_platform] shortcode. The supplied logos sit on white, so we frame each
   as a clean rounded tile rather than a raw rectangle on the dark card. */
.gtc-standings-card > h3{ display:flex; align-items:center; gap:9px }
.gtc-platform-icon{
  flex:0 0 auto; width:26px; height:26px; object-fit:contain;
  background:#fff; border:1px solid var(--line); border-radius:6px;
  box-shadow:0 1px 4px rgba(0,0,0,.35);
}

/* ===================== band eyebrow stacking =====================
   In standalone band sections (e.g. inserted patterns) the eyebrow and the
   heading are both inline-level, so they'd share one line. The rail blocks on
   the homepage avoid this by flexing each child onto its own row; bands don't,
   so we make the eyebrow block-level here to push the heading onto the line
   below it. Scoped to .gtc-band so centered partner-card eyebrows are unaffected. */
.gtc-band .gtc-eyebrow{ display:flex }

/* ===================== series page template (template-series.php) =====================
   A blank-canvas page (no auto title band) whose layout is owned by the
   "GTC - Series Page" pattern. Full-bleed header image, then a stack of
   moveable gtc-band sections. */
.gtc-series-header{ width:100%; border-bottom:1px solid var(--line) }
.gtc-series-header .gtc-series-header-img{ margin:0; border-radius:0 }
.gtc-series-header .gtc-series-header-img img{ width:100%; max-height:clamp(220px,34vw,460px); object-fit:cover; border-radius:0 }
.gtc-series .gtc-band h1.gtc-title-line{ font-size:clamp(34px,5vw,58px); text-transform:uppercase }
.gtc-schedule-img{ margin-top:8px }
.gtc-regulations-img img{ width:100%; aspect-ratio:922/1024; object-fit:cover; border-radius:var(--r) }
/* registration form drop-zone: replace the Custom HTML block with a real embed/shortcode */
.gtc-series-embed{ border:1px dashed var(--line); border-radius:var(--r); padding:26px; text-align:center; color:var(--gunmetal); background:#0d1116; font-size:14.5px; margin:6px 0 4px }
.gtc-series-embed code{ color:var(--gold); background:var(--carbon-2); padding:2px 6px; border-radius:5px }

/* ==========================================================================
   MOBILE: alignfull breakout
   Gutenberg's block renderer handles alignfull escape on desktop, but Firefox
   mobile keeps alignfull sections constrained inside .entry-content / .gtc-wrap.
   body has overflow-x:hidden so negative-margin bleed is clipped by Firefox.
   Fix: strip the gtc-wrap horizontal padding on mobile so entry-content fills
   the full body width, and alignfull sections naturally span edge-to-edge.
   The gtc-band padding-left/right (via max() calc) then becomes the sole
   horizontal gutter inside each full-width section.
   ========================================================================== */
@media (max-width: 767px) {
    .gtc-wrap {
        padding-left:  0;
        padding-right: 0;
    }
}
