:root {
  --kion-black: #02060c;
  --kion-void: #040a13;
  --kion-dark: #07101d;
  --kion-navy: #081a31;
  --kion-blue: #1aa7ff;
  --kion-blue-soft: rgba(26, 167, 255, .18);
  --kion-lime: #b7ff2a;
  --kion-lime-soft: rgba(183, 255, 42, .18);
  --kion-text: #f4f8ff;
  --kion-muted: #93a3b8;
  --kion-card: rgba(7, 16, 29, .82);
  --kion-card-strong: rgba(10, 24, 43, .94);
  --kion-border: rgba(183, 255, 42, .18);
  --kion-blue-border: rgba(26, 167, 255, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(26,167,255,.12), transparent 32rem),
    radial-gradient(circle at 92% 12%, rgba(183,255,42,.07), transparent 24rem),
    linear-gradient(180deg, var(--kion-black) 0%, var(--kion-void) 46%, #02050a 100%);
  color: var(--kion-text);
  line-height: 1.6;
}
body:before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 78%);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; border-radius: 18px; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(2, 6, 12, .86);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(183,255,42,.2);
  box-shadow: 0 10px 34px rgba(0,0,0,.42);
}
.site-header:after {
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--kion-blue), var(--kion-lime), transparent);
  opacity: .82;
}
.nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: #02060c;
  background: linear-gradient(135deg, var(--kion-lime), var(--kion-blue));
  font-weight: 1000;
  box-shadow: 0 0 28px rgba(183,255,42,.22), inset 0 0 0 1px rgba(255,255,255,.25);
}
.primary-nav ul { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; }
.primary-nav a { color: var(--kion-muted); font-weight: 800; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.primary-nav a:hover { color: var(--kion-lime); text-shadow: 0 0 16px rgba(183,255,42,.4); }
.menu-toggle { display: none; border: 1px solid var(--kion-border); background: rgba(183,255,42,.08); color: var(--kion-text); border-radius: 999px; padding: 8px 14px; }

.hero-section {
  position: relative;
  overflow: hidden;
  padding: 126px 0 102px;
  background:
    linear-gradient(115deg, rgba(2,6,12,.96) 0%, rgba(4,10,19,.94) 42%, rgba(8,26,49,.82) 100%),
    radial-gradient(circle at 12% 18%, rgba(26,167,255,.18), transparent 24rem),
    radial-gradient(circle at 82% 8%, rgba(183,255,42,.12), transparent 22rem);
}
.hero-section:before {
  content: "KION";
  position: absolute;
  right: -42px;
  top: 56px;
  font-size: clamp(96px, 18vw, 250px);
  line-height: 1;
  font-weight: 1000;
  letter-spacing: -.08em;
  color: rgba(255,255,255,.025);
}
.hero-section:after {
  content: "";
  position: absolute;
  inset: auto -10% -95px -10%;
  height: 230px;
  background: linear-gradient(90deg, transparent, rgba(26,167,255,.20), rgba(183,255,42,.22), transparent);
  transform: rotate(-3deg);
  filter: blur(.2px);
}
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 46px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--kion-lime); text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 1000; margin-bottom: 12px; }
.eyebrow:before { content: ""; width: 34px; height: 2px; background: linear-gradient(90deg, var(--kion-lime), var(--kion-blue)); box-shadow: 0 0 16px rgba(183,255,42,.42); }
h1, h2, h3 { line-height: 1.04; margin: 0 0 18px; }
h1 { font-size: clamp(46px, 7vw, 88px); max-width: 880px; letter-spacing: -.055em; }
h2 { font-size: clamp(30px, 4vw, 54px); letter-spacing: -.035em; }
p { color: var(--kion-muted); margin: 0 0 20px; }
.hero-copy p { font-size: 20px; max-width: 700px; color: #bcc9d8; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.button { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 14px 23px; font-weight: 1000; border: 1px solid var(--kion-border); text-transform: uppercase; letter-spacing: .04em; font-size: 13px; }
.button-primary { background: linear-gradient(135deg, var(--kion-lime), #d8ff74); color: #02060c; border-color: rgba(183,255,42,.7); box-shadow: 0 0 30px rgba(183,255,42,.20); }
.button-primary:hover { transform: translateY(-1px); box-shadow: 0 0 42px rgba(183,255,42,.30); }
.button-secondary { color: var(--kion-text); background: rgba(26,167,255,.08); border-color: rgba(26,167,255,.26); }
.button-secondary:hover { color: var(--kion-lime); border-color: var(--kion-lime); }
.hero-panel { display: grid; gap: 14px; }
.stat-card, .card, .cta-box, .timeline-item {
  background: linear-gradient(180deg, var(--kion-card-strong), rgba(4,10,19,.88));
  border: 1px solid var(--kion-border);
  border-left: 3px solid var(--kion-lime);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 22px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
}
.stat-card { position: relative; overflow: hidden; }
.stat-card:after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at top right, rgba(26,167,255,.14), transparent 50%); pointer-events: none; }
.stat-card span { display: block; color: var(--kion-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .14em; }
.stat-card strong { display: block; font-size: 31px; color: var(--kion-text); }

.section { position: relative; padding: 88px 0; }
.surface { background: rgba(2,6,12,.52); border-top: 1px solid rgba(26,167,255,.12); border-bottom: 1px solid rgba(183,255,42,.12); }
.two-column { display: grid; grid-template-columns: .85fr 1.15fr; gap: 42px; align-items: start; }
.section-heading { max-width: 780px; margin-bottom: 36px; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card { transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.card:hover { transform: translateY(-3px); border-color: rgba(183,255,42,.48); box-shadow: 0 28px 90px rgba(0,0,0,.46), 0 0 34px rgba(26,167,255,.08); }
.card h3 { font-size: 24px; }
.card a { color: var(--kion-lime); font-weight: 1000; text-transform: uppercase; font-size: 13px; letter-spacing: .05em; }
.placeholder { min-height: 220px; }
.timeline { display: grid; gap: 14px; }
.timeline-item { display: flex; justify-content: space-between; gap: 18px; align-items: center; border-left-color: var(--kion-blue); }
.timeline-item strong { font-size: 20px; }
.timeline-item span { color: var(--kion-muted); }
.integration-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.integration-list div, .logo-strip span {
  padding: 18px;
  border-radius: 18px;
  background: rgba(7,16,29,.78);
  border: 1px solid var(--kion-blue-border);
  color: var(--kion-text);
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.integration-list div:before { content: "▰"; color: var(--kion-lime); margin-right: 10px; }
.logo-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.logo-strip span { text-align: center; color: #c8d4e4; text-transform: uppercase; letter-spacing: .06em; }
.cta-section { padding: 96px 0; background: radial-gradient(circle at center, rgba(183,255,42,.10), transparent 34rem), linear-gradient(135deg, rgba(2,6,12,.96), rgba(8,26,49,.76)); }
.cta-box { text-align: center; max-width: 880px; border-left: 1px solid var(--kion-border); border-top: 3px solid var(--kion-lime); }
.cta-box p { margin-left: auto; margin-right: auto; max-width: 700px; }
.site-footer { border-top: 1px solid rgba(183,255,42,.14); background: #02060c; padding: 56px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 30px; }
.footer-grid h3, .footer-grid h4 { margin-top: 0; }
.footer-bottom { text-align: center; color: var(--kion-muted); border-top: 1px solid rgba(183,255,42,.12); padding: 18px; margin-top: 34px; font-size: 14px; }
.page-content { max-width: 900px; }
.post-card { padding: 24px 0; border-bottom: 1px solid rgba(183,255,42,.12); }

@media (max-width: 820px) {
  .menu-toggle { display: inline-flex; }
  .primary-nav { display: none; position: absolute; top: 78px; left: 0; right: 0; padding: 20px; background: rgba(2,6,12,.98); border-bottom: 1px solid var(--kion-border); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { flex-direction: column; }
  .hero-section { padding: 92px 0 76px; }
  .hero-grid, .two-column, .footer-grid { grid-template-columns: 1fr; }
  .card-grid, .logo-strip, .integration-list { grid-template-columns: 1fr; }
  .timeline-item { align-items: flex-start; flex-direction: column; }
}

/* Kion logo header integration */
.brand-logo {
  min-width: 172px;
}
.brand-logo img,
.brand-logo .custom-logo {
  display: block;
  width: auto;
  height: 62px;
  max-width: 230px;
  object-fit: contain;
  border-radius: 0;
  filter: drop-shadow(0 0 18px rgba(26,167,255,.22));
  transition: transform .18s ease, filter .18s ease;
}
.brand-logo:hover img,
.brand-logo:hover .custom-logo {
  transform: translateY(-1px) scale(1.02);
  filter: drop-shadow(0 0 20px rgba(183,255,42,.30)) drop-shadow(0 0 24px rgba(26,167,255,.24));
}
.site-header {
  background:
    radial-gradient(circle at 8% 50%, rgba(26,167,255,.16), transparent 18rem),
    linear-gradient(180deg, rgba(2,6,12,.96), rgba(4,10,19,.92));
}
.nav-wrap {
  min-height: 88px;
}
@media (max-width: 820px) {
  .brand-logo { min-width: 132px; }
  .brand-logo img,
  .brand-logo .custom-logo { height: 50px; max-width: 170px; }
  .nav-wrap { min-height: 74px; }
  .primary-nav { top: 74px; }
}

/* v1.4: forced visible Kion header logo */
.brand-logo {
  flex: 0 0 auto;
  min-width: 240px;
  line-height: 0;
}
.brand-logo .kion-header-logo {
  display: block !important;
  width: 240px !important;
  max-width: 240px !important;
  height: auto !important;
  max-height: 118px !important;
  object-fit: contain;
  border-radius: 0 !important;
  filter: drop-shadow(0 0 14px rgba(26,167,255,.42)) drop-shadow(0 0 10px rgba(183,255,42,.18));
}
.site-header .nav-wrap {
  min-height: 112px;
  padding: 10px 0;
}
@media (max-width: 820px) {
  .brand-logo { min-width: 180px; }
  .brand-logo .kion-header-logo {
    width: 180px !important;
    max-width: 180px !important;
  }
  .site-header .nav-wrap { min-height: 86px; }
  .primary-nav { top: 86px; }
}

/* v1.6: centered Kion lion background, 70vh height */
body {
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(26,167,255,.14), transparent 34rem),
    radial-gradient(circle at 92% 12%, rgba(183,255,42,.08), transparent 26rem),
    linear-gradient(180deg, var(--kion-black) 0%, var(--kion-void) 46%, #02050a 100%);
}

body::after {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, rgba(2, 6, 12, .92) 0%, rgba(2, 6, 12, .38) 42%, rgba(2, 6, 12, .92) 100%),
    linear-gradient(180deg, rgba(2, 6, 12, .78) 0%, rgba(2, 6, 12, .24) 44%, rgba(2, 6, 12, .80) 100%),
    url('../img/kion-lion-background.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 70vh;
  opacity: .42;
}

.site-main,
.site-footer,
.site-header {
  position: relative;
  z-index: 1;
}

.hero-section,
.surface,
.cta-section {
  background-color: rgba(2, 6, 12, .58);
}

@media (max-width: 820px) {
  body::after {
    background-size: auto 58vh;
    background-position: center center;
    opacity: .28;
  }
}


/* v1.7: animated Kion depth, moving light streaks and sponsor bar */
body::after {
  opacity: .56;
  filter:
    brightness(1.38)
    contrast(1.18)
    saturate(1.12)
    drop-shadow(0 0 34px rgba(26, 167, 255, .22))
    drop-shadow(0 0 62px rgba(183, 255, 42, .16));
  animation: kionBackgroundPulse 7.5s ease-in-out infinite;
}

@keyframes kionBackgroundPulse {
  0%, 100% {
    opacity: .48;
    filter: brightness(1.24) contrast(1.12) saturate(1.05) drop-shadow(0 0 24px rgba(26,167,255,.16)) drop-shadow(0 0 46px rgba(183,255,42,.10));
  }
  50% {
    opacity: .64;
    filter: brightness(1.52) contrast(1.23) saturate(1.16) drop-shadow(0 0 44px rgba(26,167,255,.28)) drop-shadow(0 0 86px rgba(183,255,42,.20));
  }
}

.kion-light-streaks {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
}

.kion-light-streaks .streak {
  position: absolute;
  left: -35vw;
  width: 34vw;
  height: 2px;
  border-radius: 999px;
  opacity: 0;
  transform: rotate(-16deg);
  background: linear-gradient(90deg, transparent, rgba(26,167,255,.05), rgba(183,255,42,.72), rgba(255,255,255,.82), rgba(26,167,255,.28), transparent);
  box-shadow: 0 0 18px rgba(183,255,42,.40), 0 0 42px rgba(26,167,255,.20);
  animation: kionLightSweep 8s linear infinite;
}

.kion-light-streaks .streak-one { top: 24%; animation-delay: 0s; }
.kion-light-streaks .streak-two { top: 54%; animation-delay: 2.6s; width: 46vw; }
.kion-light-streaks .streak-three { top: 78%; animation-delay: 5.1s; width: 28vw; background: linear-gradient(90deg, transparent, rgba(26,167,255,.70), rgba(255,255,255,.70), rgba(183,255,42,.28), transparent); }

@keyframes kionLightSweep {
  0% { transform: translate3d(-10vw, 0, 0) rotate(-16deg); opacity: 0; }
  9% { opacity: .62; }
  48% { opacity: .44; }
  70% { opacity: 0; }
  100% { transform: translate3d(150vw, -18vh, 0) rotate(-16deg); opacity: 0; }
}

.sponsor-bar {
  position: sticky;
  top: 112px;
  z-index: 9;
  overflow: hidden;
  border-bottom: 1px solid rgba(183,255,42,.18);
  background:
    linear-gradient(90deg, rgba(2,6,12,.94), rgba(8,26,49,.90), rgba(2,6,12,.94));
  box-shadow: 0 12px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.035);
}

.sponsor-bar::before,
.sponsor-bar::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 90px;
  z-index: 2;
  pointer-events: none;
}
.sponsor-bar::before { left: 0; background: linear-gradient(90deg, #02060c, transparent); }
.sponsor-bar::after { right: 0; background: linear-gradient(270deg, #02060c, transparent); }

.sponsor-track {
  display: flex;
  width: max-content;
  gap: 38px;
  align-items: center;
  min-height: 42px;
  padding: 0 38px;
  animation: kionSponsorScroll 32s linear infinite;
}

.sponsor-track span {
  color: #dbe8f6;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: .88;
  text-shadow: 0 0 14px rgba(26,167,255,.22);
}

.sponsor-track span:nth-child(3n+1) { color: var(--kion-lime); }
.sponsor-track span:nth-child(3n+2) { color: #8ed9ff; }

.sponsor-track span::before {
  content: "◆";
  margin-right: 38px;
  color: rgba(183,255,42,.54);
  font-size: 9px;
  vertical-align: 1px;
}

@keyframes kionSponsorScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.site-main,
.site-footer,
.site-header,
.sponsor-bar {
  position: relative;
  z-index: 2;
}

@media (max-width: 820px) {
  .sponsor-bar { top: 86px; }
  .sponsor-track { min-height: 36px; gap: 26px; animation-duration: 24s; }
  .sponsor-track span { font-size: 11px; letter-spacing: .11em; }
  .kion-light-streaks .streak { width: 58vw; }
  body::after { opacity: .40; }
}

@media (prefers-reduced-motion: reduce) {
  body::after,
  .kion-light-streaks .streak,
  .sponsor-track {
    animation: none !important;
  }
  .kion-light-streaks { display: none; }
}

/* v1.8: Driver profile + future iRacing stat fields */
.driver-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.driver-avatar-placeholder {
  display: grid;
  place-items: center;
  min-height: 150px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 20%, rgba(183,255,42,.18), transparent 18rem),
    linear-gradient(135deg, rgba(26,167,255,.18), rgba(2,6,12,.88));
  border: 1px solid rgba(183,255,42,.22);
  color: rgba(244,248,255,.72);
  font-size: 42px;
  font-weight: 1000;
  letter-spacing: -.08em;
  text-shadow: 0 0 26px rgba(26,167,255,.34);
}
.driver-avatar-large { min-height: 280px; font-size: 72px; }
.driver-role {
  color: var(--kion-lime);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 1000;
}
.driver-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.driver-meta.stacked { flex-direction: column; }
.driver-meta span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(26,167,255,.08);
  border: 1px solid rgba(26,167,255,.20);
  color: #c8d4e4;
  font-size: 12px;
  font-weight: 900;
}
.driver-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.driver-stats div {
  padding: 14px;
  border-radius: 16px;
  background: rgba(2,6,12,.58);
  border: 1px solid rgba(183,255,42,.16);
}
.driver-stats small {
  display: block;
  color: var(--kion-muted);
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: 10px;
  font-weight: 900;
  margin-bottom: 6px;
}
.driver-stats strong {
  display: block;
  color: var(--kion-text);
  font-size: 18px;
}
.driver-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: auto;
}
.driver-profile-section { padding-top: 80px; }
.driver-profile-grid {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 34px;
  align-items: start;
}
.driver-profile-card,
.driver-profile-content,
.integration-note {
  background: linear-gradient(180deg, var(--kion-card-strong), rgba(4,10,19,.88));
  border: 1px solid var(--kion-border);
  border-radius: 28px;
  box-shadow: 0 22px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
}
.driver-profile-card { padding: 24px; border-top: 3px solid var(--kion-lime); }
.driver-profile-card h1 { font-size: clamp(34px, 4vw, 54px); }
.driver-profile-card .button { margin-top: 22px; width: 100%; }
.driver-profile-content { padding: 34px; border-left: 3px solid var(--kion-blue); }
.driver-stats-large { grid-template-columns: repeat(4, 1fr); margin: 24px 0; }
.driver-stats-large strong { font-size: 20px; }
.driver-bio { color: var(--kion-muted); }
.integration-note {
  margin-top: 24px;
  padding: 18px;
  color: #c8d4e4;
  border-left: 3px solid var(--kion-lime);
}
.integration-note strong { color: var(--kion-lime); }

@media (max-width: 900px) {
  .driver-profile-grid { grid-template-columns: 1fr; }
  .driver-stats-large { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .driver-stats, .driver-stats-large { grid-template-columns: 1fr; }
}


/* Kion Driver Stats v1.9 */
.kion-data-panel {
    margin-top: 26px;
    padding: 22px;
    border: 1px solid rgba(42, 224, 255, 0.16);
    background: linear-gradient(135deg, rgba(5, 10, 24, 0.88), rgba(2, 6, 14, 0.96));
    border-radius: 22px;
    box-shadow: 0 18px 60px rgba(0,0,0,0.32), inset 0 0 0 1px rgba(174,255,0,0.05);
}
.kion-data-panel h3 {
    margin: 0 0 14px;
    color: var(--kion-lime, #b6ff00);
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 0.95rem;
}
.kion-class-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px;
}
.kion-class-card {
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,0.035);
    border: 1px solid rgba(255,255,255,0.08);
}
.kion-class-card h4 {
    margin: 0 0 10px;
    color: #fff;
}
.kion-class-card span {
    display: block;
    color: rgba(255,255,255,0.68);
    font-size: 0.9rem;
    margin: 5px 0;
}
.kion-class-card strong { color: #fff; }
.kion-results-table-wrap { overflow-x: auto; }
.kion-results-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}
.kion-results-table th,
.kion-results-table td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    text-align: left;
    color: rgba(255,255,255,0.78);
}
.kion-results-table th {
    color: var(--kion-blue-light, #2ae0ff);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}


/* v2.1: Pro dynamic sponsor bar + partner grid */
.partner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 18px;
}

.partner-card {
  min-height: 128px;
  padding: 22px;
  border: 1px solid rgba(183,255,42,.14);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(5,13,24,.90), rgba(10,26,48,.62));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 40px rgba(0,0,0,.20);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.partner-card:hover {
  transform: translateY(-3px);
  border-color: rgba(183,255,42,.42);
  box-shadow: 0 0 34px rgba(183,255,42,.10), 0 20px 44px rgba(0,0,0,.24);
}

.partner-card a {
  color: inherit;
  text-decoration: none;
  width: 100%;
}

.partner-logo-wrap {
  min-height: 58px;
  display: grid;
  place-items: center;
}

.partner-logo-wrap img {
  max-height: 64px;
  max-width: 180px;
  width: auto;
  object-fit: contain;
  filter: saturate(1.03) brightness(1.06);
}

.partner-logo-wrap span {
  color: #dbe8f6;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.partner-card small {
  display: block;
  margin-top: 12px;
  color: rgba(183,255,42,.78);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sponsor-track:hover {
  animation-play-state: paused;
}

.sponsor-entry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  position: relative;
}

.sponsor-entry a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: none;
}

.sponsor-logo-img {
  display: block;
  max-height: 26px;
  max-width: 150px;
  width: auto;
  object-fit: contain;
  filter: grayscale(.12) brightness(1.12) drop-shadow(0 0 10px rgba(26,167,255,.12));
  opacity: .88;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}

.sponsor-entry:hover .sponsor-logo-img {
  opacity: 1;
  transform: scale(1.04);
  filter: grayscale(0) brightness(1.24) drop-shadow(0 0 16px rgba(183,255,42,.28));
}

.sponsor-text {
  color: #dbe8f6;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: .88;
  text-shadow: 0 0 14px rgba(26,167,255,.22);
}

.sponsor-entry:nth-child(3n+1) .sponsor-text { color: var(--kion-lime); }
.sponsor-entry:nth-child(3n+2) .sponsor-text { color: #8ed9ff; }

.sponsor-entry::before {
  content: "◆";
  margin-right: 38px;
  color: rgba(183,255,42,.54);
  font-size: 9px;
  vertical-align: 1px;
}

@media (max-width: 820px) {
  .sponsor-logo-img { max-height: 22px; max-width: 120px; }
  .sponsor-entry::before { margin-right: 26px; }
}

/* Kion Settings powered footer */
.footer-contact {
    font-style: normal;
    display: grid;
    gap: 6px;
    color: rgba(255,255,255,0.72);
}
.footer-contact span { display: block; }
.footer-contact a,
.kion-social-links a {
    color: inherit;
    text-decoration: none;
}
.footer-contact a:hover,
.kion-social-links a:hover {
    color: var(--kion-lime, #b6ff00);
    text-shadow: 0 0 12px rgba(182,255,0,.35);
}
.kion-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.kion-social-link {
    border: 1px solid rgba(182,255,0,.25);
    background: rgba(182,255,0,.06);
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* v2.3: Pro Race Calendar */
.calendar-heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  max-width: none;
}
.pro-calendar-section {
  overflow: hidden;
}
.next-race-card {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  border-radius: 32px;
  border: 1px solid rgba(183,255,42,.24);
  background:
    radial-gradient(circle at 80% 10%, rgba(183,255,42,.14), transparent 24rem),
    linear-gradient(135deg, rgba(2,6,12,.96), rgba(8,26,49,.78));
  box-shadow: 0 34px 110px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.05);
  margin-bottom: 28px;
}
.next-race-card:before {
  content: "NEXT RACE";
  position: absolute;
  right: -18px;
  top: 18px;
  font-size: clamp(48px, 8vw, 130px);
  font-weight: 1000;
  letter-spacing: -.08em;
  color: rgba(255,255,255,.035);
  pointer-events: none;
}
.next-race-bg {
  position: absolute;
  inset: 0;
  opacity: .16;
}
.next-race-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  filter: grayscale(1) contrast(1.22);
}
.next-race-content {
  position: relative;
  z-index: 1;
  max-width: 760px;
  padding: clamp(28px, 6vw, 62px);
}
.next-race-content h3 {
  font-size: clamp(36px, 6vw, 76px);
  letter-spacing: -.055em;
  margin-top: 12px;
}
.next-race-meta,
.event-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}
.next-race-meta span,
.event-tags span,
.calendar-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(26,167,255,.09);
  border: 1px solid rgba(26,167,255,.22);
  color: #d7e5f4;
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.event-tags span.kion-result-pill {
  border-color: rgba(26,167,255,.78);
  background: rgba(26,167,255,.13);
  color: #dff3ff;
  box-shadow: 0 0 18px rgba(26,167,255,.18), inset 0 0 0 1px rgba(255,255,255,.04);
}

.calendar-status {
  background: rgba(183,255,42,.12);
  border-color: rgba(183,255,42,.34);
  color: var(--kion-lime);
}
.status-live {
  background: rgba(255,60,60,.13);
  border-color: rgba(255,80,80,.42);
  color: #ff8b8b;
}
.status-finished {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  color: #b8c4d2;
}
.status-cancelled {
  background: rgba(255,140,0,.12);
  border-color: rgba(255,140,0,.32);
  color: #ffbd72;
}
.race-countdown {
  display: grid;
  grid-template-columns: repeat(3, minmax(95px, 1fr));
  gap: 12px;
  max-width: 430px;
  margin-top: 24px;
}
.race-countdown div {
  padding: 16px;
  border-radius: 20px;
  background: rgba(2,6,12,.58);
  border: 1px solid rgba(183,255,42,.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.race-countdown strong {
  display: block;
  font-size: 32px;
  line-height: 1;
  color: var(--kion-text);
}
.race-countdown small {
  color: var(--kion-muted);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  font-size: 10px;
}
.pro-calendar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.calendar-event-card {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 18px;
  padding: 18px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(10,24,43,.92), rgba(4,10,19,.86));
  border: 1px solid rgba(183,255,42,.14);
  border-left: 3px solid var(--kion-lime);
  box-shadow: 0 20px 64px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.035);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.calendar-event-card:hover {
  transform: translateY(-3px);
  border-color: rgba(183,255,42,.36);
  box-shadow: 0 28px 90px rgba(0,0,0,.42), 0 0 34px rgba(26,167,255,.08);
}
.status-border-live { border-left-color: #ff5d5d; }
.status-border-finished { border-left-color: #7f8a99; }
.status-border-cancelled { border-left-color: #ffbd72; }
.event-date-box {
  display: grid;
  place-items: center;
  text-align: center;
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 0, rgba(183,255,42,.18), transparent 8rem),
    rgba(2,6,12,.62);
  border: 1px solid rgba(26,167,255,.20);
  min-height: 104px;
}
.event-date-box strong {
  display: block;
  font-size: 36px;
  line-height: 1;
  color: var(--kion-text);
}
.event-date-box span {
  display: block;
  color: var(--kion-lime);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-top: 6px;
}
.event-card-topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.event-card-topline > span:first-child {
  color: var(--kion-muted);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.event-card-body h3 {
  font-size: 24px;
  margin-bottom: 8px;
}
.event-card-body h3 a:hover {
  color: var(--kion-lime);
}
.event-result {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(183,255,42,.08);
  border: 1px solid rgba(183,255,42,.18);
  color: #dff6b7;
  font-weight: 900;
  font-size: 13px;
}
@media (max-width: 820px) {
  .calendar-heading { align-items: flex-start; flex-direction: column; }
  .pro-calendar-grid { grid-template-columns: 1fr; }
  .calendar-event-card { grid-template-columns: 1fr; }
  .event-date-box { min-height: 84px; place-items: start; padding: 16px; }
  .race-countdown { grid-template-columns: repeat(3, 1fr); }
  .race-countdown div { padding: 12px; }
  .race-countdown strong { font-size: 24px; }
}


/* v2.4: Pro Calendar+ track maps and race notes */
.calendar-trackmap-link {
  display: block;
  margin: 2px 0 14px;
}
.calendar-trackmap {
  width: 100%;
  max-height: 150px;
  object-fit: contain;
  border-radius: 18px;
  padding: 10px;
  background: radial-gradient(circle at 50% 0, rgba(183,255,42,.10), transparent 10rem), rgba(2,6,12,.46);
  border: 1px solid rgba(26,167,255,.16);
}
.race-notes-preview {
  max-width: 760px;
  margin: 14px 0 0;
  color: var(--kion-muted);
  font-size: 15px;
  line-height: 1.65;
}
.race-notes-preview.small {
  font-size: 13px;
  line-height: 1.55;
  margin-top: 12px;
}
.event-detail-trackmap {
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  border-radius: 22px;
  padding: 14px;
  margin-bottom: 18px;
  background: rgba(2,6,12,.48);
  border: 1px solid rgba(183,255,42,.16);
}
.race-notes-full {
  padding: 16px 18px;
  margin-bottom: 18px;
  border-radius: 18px;
  background: rgba(183,255,42,.06);
  border: 1px solid rgba(183,255,42,.16);
  color: var(--kion-text);
}

/* v2.5: Smart race highlight + result/lineup blocks */
.next-race-card.highlight-finished {
  border-color: rgba(26,167,255,.30);
  background:
    radial-gradient(circle at 78% 8%, rgba(26,167,255,.16), transparent 24rem),
    linear-gradient(135deg, rgba(2,6,12,.97), rgba(7,20,38,.82));
}
.next-race-card.highlight-finished:before { content: "LAST RACE"; }
.next-race-card.highlight-upcoming:before { content: "NEXT RACE"; }
.highlight-result-box,
.highlight-lineup-box,
.event-lineup {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(2,6,12,.58);
  border: 1px solid rgba(26,167,255,.20);
  color: var(--kion-text);
}
.highlight-result-box strong {
  display: block;
  color: var(--kion-lime);
  font-size: 16px;
  margin-bottom: 6px;
}
.highlight-result-box p,
.highlight-lineup-box p {
  margin: 0;
  color: var(--kion-muted);
  line-height: 1.6;
}
.highlight-lineup-box small {
  display: block;
  color: var(--kion-lime);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 1000;
  margin-bottom: 8px;
}
.event-lineup {
  font-size: 13px;
  color: var(--kion-muted);
  padding: 10px 12px;
}

/* v2.6: Compact homepage calendar + dedicated calendar hub */
.compact-calendar-section {
  position: relative;
  overflow: hidden;
}
.compact-calendar-section:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(183,255,42,.05) 42%, transparent 70%);
  pointer-events: none;
}
.compact-race-highlight {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 34%) 1fr;
  gap: 26px;
  align-items: center;
  padding: 24px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 80% 8%, rgba(183,255,42,.14), transparent 24rem),
    linear-gradient(135deg, rgba(2,6,12,.96), rgba(7,20,38,.84));
  border: 1px solid rgba(183,255,42,.24);
  box-shadow: 0 30px 80px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.03);
}
.compact-race-highlight.highlight-finished {
  background:
    radial-gradient(circle at 80% 8%, rgba(26,167,255,.16), transparent 24rem),
    linear-gradient(135deg, rgba(2,6,12,.96), rgba(7,20,38,.84));
  border-color: rgba(26,167,255,.28);
}
.compact-race-map {
  min-height: 190px;
  display: grid;
  place-items: center;
  border-radius: 24px;
  padding: 18px;
  background: rgba(2,6,12,.55);
  border: 1px solid rgba(26,167,255,.18);
}
.compact-race-map img {
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  filter: drop-shadow(0 0 24px rgba(183,255,42,.18));
}
.compact-race-map span {
  font-size: 38px;
  font-weight: 1000;
  color: rgba(183,255,42,.82);
  letter-spacing: .10em;
}
.compact-race-copy h3 {
  margin: 12px 0 8px;
  font-size: clamp(28px, 4vw, 52px);
  line-height: .95;
  letter-spacing: -.04em;
}
.compact-race-copy p {
  margin: 0 0 16px;
  color: var(--kion-muted);
  font-size: 16px;
}
.race-countdown.compact {
  justify-content: flex-start;
  margin: 18px 0;
}
.mini-calendar-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.mini-calendar-item {
  display: block;
  padding: 18px;
  border-radius: 20px;
  background: rgba(2,6,12,.58);
  border: 1px solid rgba(26,167,255,.16);
  text-decoration: none;
  color: var(--kion-text);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.mini-calendar-item:hover {
  transform: translateY(-3px);
  border-color: rgba(183,255,42,.35);
  box-shadow: 0 18px 46px rgba(0,0,0,.25), 0 0 24px rgba(183,255,42,.08);
}
.mini-calendar-item small {
  display: block;
  color: var(--kion-lime);
  text-transform: uppercase;
  letter-spacing: .10em;
  font-weight: 900;
  margin-bottom: 8px;
}
.mini-calendar-item strong {
  display: block;
  font-size: 18px;
  margin-bottom: 6px;
}
.mini-calendar-item span {
  display: block;
  color: var(--kion-muted);
  font-size: 13px;
}
.calendar-page-hero {
  padding-bottom: 44px;
}
@media (max-width: 850px) {
  .compact-race-highlight {
    grid-template-columns: 1fr;
  }
  .mini-calendar-strip {
    grid-template-columns: 1fr;
  }
}


/* v2.7: Dynamic event detail hero label */
.next-race-card[data-hero-label]::before {
  content: attr(data-hero-label);
}
.next-race-card.event-detail-finished::before {
  color: rgba(127,138,153,.11);
}
.next-race-card.event-detail-finished {
  border-color: rgba(127,138,153,.32);
  background:
    radial-gradient(circle at 80% 10%, rgba(127,138,153,.13), transparent 24rem),
    linear-gradient(135deg, rgba(2,6,12,.96), rgba(11,18,30,.86));
}
.next-race-card.event-detail-upcoming {
  border-color: rgba(183,255,42,.28);
}

/* Kion v2.8 event detail navigation */
.event-detail-navigation {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0 34px;
}
.event-nav-button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 64px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 255, 156, 0.28);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(5, 7, 13, 0.86), rgba(10, 24, 50, 0.72));
    color: #ffffff;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 0.03em;
    box-shadow: 0 0 26px rgba(0, 255, 156, 0.08);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.event-nav-button span {
    margin-top: 5px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}
.event-nav-button:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 255, 156, 0.8);
    box-shadow: 0 0 36px rgba(0, 255, 156, 0.18), 0 0 42px rgba(0, 140, 255, 0.14);
}
@media (max-width: 900px) {
    .event-detail-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .event-detail-navigation { grid-template-columns: 1fr; }
}

/* Kion v3.0 Core Stable polish */
.race-notes-full,
.race-notes-full p,
.driver-meta.stacked span,
.event-summary,
.event-summary p {
  font-size: 15px;
  line-height: 1.65;
}

.kion-driver-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.kion-driver-pill {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(183,255,42,.25);
  background: rgba(183,255,42,.08);
  color: var(--kion-text);
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.kion-driver-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(183,255,42,.75);
  box-shadow: 0 0 22px rgba(183,255,42,.16);
}
.event-lineup-text {
  color: var(--kion-muted);
  font-size: 14px;
  line-height: 1.6;
}
.highlight-lineup-box.compact-lineup {
  margin-top: 14px;
}
.event-nav-disabled {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.4);
}
.event-nav-disabled:hover {
  transform: none;
  border-color: rgba(0, 255, 156, 0.28);
  box-shadow: 0 0 26px rgba(0, 255, 156, 0.08);
}
.drivers-directory-grid .driver-card h3 a {
  color: var(--kion-text);
  text-decoration: none;
}
.drivers-directory-card {
  min-height: 100%;
}
.calendar-event-card .event-lineup .kion-driver-pill-list {
  margin-top: 8px;
}
.calendar-event-card .event-lineup .kion-driver-pill {
  font-size: 12px;
  padding: 6px 9px;
}


/* v3.0.3: Global Kion atmosphere
   The sponsor bar and moving light streaks are intentionally site-wide, including
   homepage, calendar, drivers, event details and /login/garage61. */
body .kion-light-streaks {
  display: block;
}
body .sponsor-bar {
  display: block;
}
.kion-oauth-callback {
  position: relative;
  z-index: 3;
}
.kion-oauth-callback code {
  color: var(--kion-lime);
}

/* v3.0.4: force global sponsor bar and moving light streaks visible site-wide */
.kion-light-streaks {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  mix-blend-mode: screen;
}
.kion-light-streaks .streak {
  display: block !important;
  visibility: visible !important;
  opacity: 0;
  min-width: 320px;
  height: 3px !important;
  box-shadow: 0 0 22px rgba(183,255,42,.55), 0 0 56px rgba(26,167,255,.35) !important;
}
.sponsor-bar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  min-height: 44px !important;
  width: 100% !important;
  background: linear-gradient(90deg, rgba(2,6,12,.98), rgba(8,26,49,.96), rgba(2,6,12,.98)) !important;
  border-top: 1px solid rgba(183,255,42,.22) !important;
  border-bottom: 1px solid rgba(183,255,42,.28) !important;
}
.sponsor-track {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  width: max-content !important;
  animation: kionSponsorScroll 34s linear infinite !important;
}
.sponsor-entry,
.sponsor-text {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}
.sponsor-text {
  color: var(--kion-lime) !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}
.site-header { z-index: 1000 !important; }
.site-main, .site-footer { position: relative; z-index: 3; }
@media (prefers-reduced-motion: reduce) {
  .kion-light-streaks .streak, .sponsor-track { animation: none !important; }
}


/* Kion v3.0.5: visible status badges for compact homepage calendar cards */
.mini-calendar-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.mini-calendar-meta small {
  margin-bottom: 0;
}
.mini-status-pill {
  flex: 0 0 auto;
  font-size: 10px;
  padding: 6px 9px;
  border-radius: 999px;
  letter-spacing: .08em;
  line-height: 1;
  box-shadow: 0 0 18px rgba(0,0,0,.18);
}
.mini-calendar-item.mini-status-upcoming {
  background:
    radial-gradient(circle at 92% 12%, rgba(26,167,255,.12), transparent 12rem),
    rgba(2,6,12,.58);
}
.mini-calendar-item.mini-status-finished {
  background:
    radial-gradient(circle at 92% 12%, rgba(127,138,153,.14), transparent 12rem),
    rgba(2,6,12,.58);
}
.mini-calendar-item.mini-status-live {
  background:
    radial-gradient(circle at 92% 12%, rgba(255,59,59,.14), transparent 12rem),
    rgba(2,6,12,.58);
}
.mini-calendar-item.mini-status-finished strong,
.mini-calendar-item.mini-status-finished span:not(.calendar-status) {
  opacity: .78;
}
.status-finished {
  color: rgba(223,230,238,.88);
  border-color: rgba(127,138,153,.35);
  background: rgba(127,138,153,.12);
}
.status-upcoming {
  color: var(--kion-lime);
  border-color: rgba(183,255,42,.28);
  background: rgba(183,255,42,.08);
}
.status-next {
  color: var(--kion-lime);
  border-color: rgba(183,255,42,.38);
  background: rgba(183,255,42,.12);
}
.status-live {
  color: #ff9b9b;
  border-color: rgba(255,59,59,.36);
  background: rgba(255,59,59,.12);
}
.status-cancelled {
  color: rgba(223,230,238,.72);
  border-color: rgba(127,138,153,.25);
  background: rgba(127,138,153,.08);
}

/* Kion v3.1 Stint Planner Foundation */
.stint-planner-hero .hero-panel .stat-card strong { font-size: 1.25rem; }
.login-required-card { max-width: 760px; margin: 0 auto; text-align: center; }
.planner-event-select { display: flex; gap: 16px; align-items: center; margin-bottom: 24px; }
.planner-event-select select { width: min(520px, 100%); padding: 12px 14px; border-radius: 14px; background: rgba(6, 12, 24, .9); color: #fff; border: 1px solid rgba(65, 180, 255, .35); }
.planner-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 24px; align-items: start; }
.planner-driver-list { position: sticky; top: 110px; }
.planner-driver-row { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08); display: grid; gap: 4px; }
.planner-driver-row a { color: #fff; font-weight: 800; text-decoration: none; }
.planner-driver-row a:hover { color: var(--kion-lime, #b6ff00); }
.planner-driver-row small { color: rgba(255,255,255,.68); }
.planner-card-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:18px; }
.stint-table-wrap { overflow-x: auto; border-radius: 18px; border: 1px solid rgba(255,255,255,.08); }
.stint-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.stint-table th, .stint-table td { padding: 10px; border-bottom: 1px solid rgba(255,255,255,.08); vertical-align: top; }
.stint-table th { text-align: left; color: rgba(255,255,255,.75); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; background: rgba(255,255,255,.04); }
.stint-table input, .stint-table select, .stint-table textarea { width: 100%; border-radius: 10px; border: 1px solid rgba(65,180,255,.25); background: rgba(3,8,18,.92); color: #fff; padding: 9px 10px; }
.stint-table textarea { resize: vertical; }
.planner-actions { margin-top: 18px; }
.kion-alert { padding: 12px 14px; border-radius: 14px; margin: 0 0 16px; background: rgba(65,180,255,.12); border: 1px solid rgba(65,180,255,.35); color: rgba(255,255,255,.88); }
.kion-alert.success { background: rgba(182,255,0,.12); border-color: rgba(182,255,0,.36); }
.driver-data-source { display:inline-flex; margin-left: 6px; padding: 2px 7px; border-radius: 99px; font-size: 10px; text-transform: uppercase; letter-spacing:.08em; border: 1px solid rgba(182,255,0,.35); color: var(--kion-lime, #b6ff00); background: rgba(182,255,0,.08); vertical-align: middle; }
.driver-ops-meta { margin-top: 14px; display:grid; gap:8px; }
.driver-ops-meta span { display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.78); }
.driver-ops-meta strong { color:#fff; }
@media (max-width: 900px) { .planner-layout { grid-template-columns: 1fr; } .planner-driver-list { position: static; } .planner-event-select { flex-direction: column; align-items: stretch; } }


/* v3.1.1: prevent horizontal page scrolling while keeping planner table usable */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
.site, .site-main, main, .container, .section, .surface, .card {
  max-width: 100%;
}
.planner-layout, .planner-table-card, .stint-planner-section, .stint-table-wrap {
  min-width: 0;
  max-width: 100%;
}
.planner-table-card {
  overflow: hidden;
}
.stint-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.stint-table {
  max-width: 100%;
}
@media (max-width: 1100px) {
  .stint-table { min-width: 860px; }
}
@media (max-width: 700px) {
  .stint-table { min-width: 760px; }
}
.kion-alert.warning {
  border-color: rgba(255, 193, 7, .35);
  background: rgba(255, 193, 7, .08);
}

/* Kion v3.1.2 — Stint Planner Wizard */
html, body { max-width: 100%; overflow-x: hidden; }
.stint-planner-section, .stint-planner-section * { box-sizing: border-box; }
.planner-wizard { display: grid; gap: 24px; min-width: 0; }
.planner-step-card { overflow: hidden; min-width: 0; }
.planner-step-heading { display: flex; gap: 16px; align-items: center; margin-bottom: 18px; min-width: 0; }
.planner-step-number { width: 42px; height: 42px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(186,255,0,.12); border: 1px solid rgba(186,255,0,.45); color: var(--kion-lime, #baff00); font-weight: 900; flex: 0 0 auto; }
.planner-event-summary-grid, .driver-picker-grid, .availability-grid, .planner-field-grid { display: grid; gap: 14px; min-width: 0; }
.planner-event-summary-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.planner-event-summary-grid > div { padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(255,255,255,.035); min-width: 0; }
.planner-event-summary-grid span, .planner-help-text { color: var(--muted, #9da7bd); font-size: 13px; }
.planner-event-summary-grid strong { display: block; margin-top: 5px; overflow-wrap: anywhere; }
.driver-picker-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.driver-picker-card { display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; align-items: start; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(5, 10, 22, .82); cursor: pointer; min-width: 0; }
.driver-picker-card input { margin-top: 3px; }
.driver-picker-name { font-weight: 800; overflow-wrap: anywhere; }
.driver-picker-card small { grid-column: 2; color: var(--muted, #9da7bd); }
.availability-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.availability-card, .stint-edit-card { padding: 16px; border: 1px solid rgba(255,255,255,.08); border-radius: 20px; background: rgba(255,255,255,.035); min-width: 0; }
.availability-card-head, .stint-edit-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; min-width: 0; }
.availability-card-head strong, .stint-edit-card-head strong { overflow-wrap: anywhere; }
.availability-card-head small { color: var(--kion-lime, #baff00); flex: 0 0 auto; }
.planner-field-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.planner-field-grid label, .availability-card label, .stint-edit-card label { display: grid; gap: 6px; color: var(--muted, #9da7bd); font-size: 13px; min-width: 0; }
.planner-field-grid input, .planner-field-grid select, .availability-card textarea, .stint-edit-card textarea, .stint-edit-card input, .stint-edit-card select, .planner-event-select select { width: 100%; max-width: 100%; min-width: 0; }
.stint-card-list { display: grid; gap: 16px; min-width: 0; }
.stint-planner-form, .planner-setup-form { min-width: 0; }
.stint-table-wrap { overflow: visible !important; }
.stint-table { display: none; }
@media (max-width: 700px) {
  .planner-step-heading, .availability-card-head, .stint-edit-card-head { align-items: flex-start; flex-direction: column; }
  .planner-step-number { width: 36px; height: 36px; }
}

/* v3.1.3 hourly stint availability */
.hourly-availability-grid,
.coverage-slot-grid {
    max-width: 100%;
    overflow-x: hidden;
}
.hourly-availability-card {
    width: 100%;
    max-width: 100%;
}
.hour-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    margin: 16px 0;
    max-width: 100%;
}
.hour-checkbox {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
    cursor: pointer;
    overflow-wrap: anywhere;
}
.hour-checkbox input {
    align-self: flex-start;
}
.hour-checkbox span {
    font-size: 13px;
    font-weight: 800;
}
.hour-checkbox small {
    opacity: .68;
    font-size: 11px;
}
.hour-checkbox:has(input:checked),
.hour-checkbox.is-checked {
    border-color: rgba(0,255,156,.75);
    box-shadow: 0 0 18px rgba(0,255,156,.12);
    background: rgba(0,255,156,.08);
}
.coverage-board {
    margin-top: 24px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;
    background: rgba(0,0,0,.20);
}
.compact-heading {
    margin-bottom: 14px;
}
.coverage-slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}
.coverage-slot {
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.12);
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}
.coverage-slot strong,
.coverage-slot small {
    overflow-wrap: anywhere;
}
.coverage-slot.covered {
    background: rgba(0,255,156,.08);
    border-color: rgba(0,255,156,.28);
}
.coverage-slot.uncovered {
    background: rgba(255,55,85,.16);
    border-color: rgba(255,55,85,.65);
    box-shadow: 0 0 20px rgba(255,55,85,.14);
}
@media (max-width: 700px) {
    .hour-checkbox-grid,
    .coverage-slot-grid {
        grid-template-columns: 1fr;
    }
}

/* Kion v3.1.4 Strategy Stint Planner */
.strategy-wizard .planner-step-card { overflow: visible; }
.strategy-driver-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; margin-top: 18px; }
.strategy-driver-card { border: 1px solid rgba(0,255,156,.18); background: rgba(4,10,22,.72); border-radius: 18px; padding: 18px; box-shadow: 0 12px 35px rgba(0,0,0,.22); }
.strategy-card-head { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.strategy-card-head strong { color:#fff; font-size: 1.05rem; }
.strategy-card-head small { color: rgba(255,255,255,.64); line-height: 1.5; }
.strategy-field-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.strategy-driver-card textarea, .strategy-driver-card input, .strategy-driver-card select,
.strategy-stint-card textarea, .strategy-stint-card input, .strategy-stint-card select { max-width: 100%; box-sizing: border-box; }
.strategy-stint-card { border: 1px solid rgba(57,148,255,.18); background: linear-gradient(180deg, rgba(10,18,36,.9), rgba(5,9,18,.94)); }
.stint-planner-section, .stint-planner-section * { max-width: 100%; box-sizing: border-box; }
.stint-planner-section { overflow-x: hidden; }
.hour-checkbox-grid, .coverage-slot-grid { overflow: visible; }
@media (max-width: 760px) {
  .strategy-driver-grid, .planner-field-grid, .strategy-field-grid { grid-template-columns: 1fr !important; }
  .hour-checkbox-grid { grid-template-columns: 1fr !important; }
}


/* v3.1.5 Auto stint slots */
.auto-slot-plan-form {
    width: 100%;
}
.auto-stint-slot-list {
    display: grid;
    gap: 16px;
    width: 100%;
}
.auto-stint-slot-card {
    border: 1px solid rgba(79, 216, 255, 0.18);
    border-radius: 18px;
    padding: 18px;
    background: rgba(5, 10, 22, 0.72);
    box-shadow: 0 12px 40px rgba(0,0,0,0.18);
    overflow: hidden;
}
.auto-stint-slot-card.missing-driver-coverage {
    border-color: rgba(255, 63, 86, 0.72);
    background: linear-gradient(135deg, rgba(70, 8, 18, 0.88), rgba(10, 14, 28, 0.88));
}
.auto-stint-slot-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.auto-stint-slot-head strong {
    display: block;
    font-size: 1.05rem;
}
.auto-stint-slot-head span {
    color: rgba(255,255,255,0.72);
    font-size: 0.92rem;
}
.stint-coverage-badge {
    border-radius: 999px;
    padding: 7px 11px;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}
.stint-coverage-badge.available {
    color: #061018;
    background: #adff2f;
    box-shadow: 0 0 18px rgba(173,255,47,0.22);
}
.stint-coverage-badge.missing {
    color: #fff;
    background: rgba(255, 63, 86, 0.92);
    box-shadow: 0 0 18px rgba(255,63,86,0.26);
}
.auto-stint-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.strategy-notes-textarea,
.strategy-driver-card textarea,
.auto-stint-slot-card textarea {
    min-height: 150px;
    resize: vertical;
    line-height: 1.55;
}
@media (max-width: 720px) {
    .auto-stint-slot-head {
        flex-direction: column;
    }
    .stint-coverage-badge {
        white-space: normal;
    }
}

/* v3.1.6 Compact horizontal strategy notes */
.strategy-notes-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
    width: 100%;
}
.strategy-notes-row label {
    min-width: 0;
}
.strategy-notes-textarea.compact-horizontal-note,
.strategy-driver-card textarea.compact-horizontal-note,
.auto-stint-slot-card textarea.compact-horizontal-note {
    min-height: 84px;
    max-height: 140px;
    font-size: 12.5px;
    line-height: 1.35;
    padding: 9px 10px;
    resize: vertical;
    white-space: pre-wrap;
}
.strategy-driver-card .strategy-notes-row textarea {
    width: 100%;
}
.auto-stint-slot-card textarea.compact-horizontal-note {
    min-height: 64px;
}
@media (max-width: 980px) {
    .strategy-notes-row {
        grid-template-columns: 1fr;
    }
}


/* v3.1.7 Optional notes + fixed event car/class */
.planner-event-summary-grid div strong {
    overflow-wrap: anywhere;
}
.planner-optional-notes {
    margin-top: 12px;
    width: 100%;
}
.planner-note-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.planner-note-toggle-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    cursor: pointer;
    border: 1px solid rgba(173,255,47,.25);
    background: rgba(173,255,47,.08);
    color: #dfffb0;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.planner-note-toggle-label::before {
    content: '+';
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: rgba(173,255,47,.18);
}
.planner-note-toggle:checked + .planner-note-toggle-label::before {
    content: '–';
}
.planner-note-drawer {
    display: none;
    margin-top: 10px;
}
.planner-note-toggle:checked ~ .planner-note-drawer {
    display: grid;
}
.strategy-notes-row.planner-note-drawer {
    grid-template-columns: 1fr;
    gap: 8px;
}
.strategy-notes-textarea.compact-horizontal-note,
.strategy-driver-card textarea.compact-horizontal-note,
.auto-stint-slot-card textarea.compact-horizontal-note,
.single-line-note {
    min-height: 38px !important;
    max-height: 74px !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    padding: 7px 9px !important;
}
.final-plan-notes .planner-note-drawer {
    grid-template-columns: 1fr;
}
.final-plan-notes textarea.single-line-note {
    width: 100%;
}
.auto-stint-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
@media (min-width: 900px) {
    .strategy-notes-row.planner-note-drawer {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* v3.1.8 Application-style Stint Planner Wizard */
.kion-app-wizard {
    display: block;
}
.kion-wizard-progress {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 22px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    background: rgba(3, 8, 18, .72);
    box-shadow: 0 18px 50px rgba(0,0,0,.25);
    position: sticky;
    top: 86px;
    z-index: 20;
    backdrop-filter: blur(12px);
}
.kion-wizard-step {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
    color: rgba(255,255,255,.72);
    padding: 12px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    cursor: pointer;
    transition: .2s ease;
}
.kion-wizard-step span {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(255,255,255,.08);
    color: #fff;
    flex: 0 0 auto;
}
.kion-wizard-step.is-active {
    color: #061018;
    background: linear-gradient(135deg, #adff2f, #58d6ff);
    border-color: rgba(173,255,47,.85);
    box-shadow: 0 0 28px rgba(173,255,47,.18);
}
.kion-wizard-step.is-active span,
.kion-wizard-step.is-complete span {
    background: rgba(0,0,0,.28);
}
.kion-wizard-step.is-complete {
    border-color: rgba(173,255,47,.28);
    color: #dfffb0;
    background: rgba(173,255,47,.08);
}
.kion-wizard-panel {
    display: none;
    animation: kionWizardFade .22s ease-out;
}
.kion-wizard-panel.is-active {
    display: block;
}
@keyframes kionWizardFade {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.kion-wizard-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
    flex-wrap: wrap;
}
.kion-wizard-actions .button-secondary {
    border-color: rgba(255,255,255,.18);
}
.coverage-summary {
    margin-bottom: 14px;
    padding: 13px 15px;
    border-radius: 16px;
    font-weight: 900;
    letter-spacing: .02em;
    border: 1px solid rgba(255,255,255,.1);
}
.coverage-summary.success {
    color: #061018;
    background: linear-gradient(135deg, #adff2f, #58d6ff);
    border-color: rgba(173,255,47,.75);
}
.coverage-summary.warning {
    color: #fff5cc;
    background: rgba(255, 193, 7, .12);
    border-color: rgba(255, 193, 7, .38);
}
.coverage-summary.danger {
    color: #fff;
    background: rgba(255, 63, 86, .18);
    border-color: rgba(255, 63, 86, .68);
    box-shadow: 0 0 22px rgba(255,63,86,.14);
}
.coverage-summary.neutral {
    color: rgba(255,255,255,.76);
    background: rgba(255,255,255,.045);
}
.kion-app-wizard .planner-step-card {
    margin-bottom: 0;
}
@media (max-width: 900px) {
    .kion-wizard-progress {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        position: static;
    }
}
@media (max-width: 560px) {
    .kion-wizard-progress {
        grid-template-columns: 1fr;
    }
    .kion-wizard-step {
        justify-content: flex-start;
    }
    .kion-wizard-actions {
        justify-content: stretch;
    }
    .kion-wizard-actions .button {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* Kion v3.1.9 hourly coverage indicators */
.hour-checkbox {
    position: relative;
    min-height: 72px;
}
.hour-checkbox .slot-coverage-indicator {
    position: absolute;
    top: 9px;
    right: 10px;
}
.slot-coverage-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .04em;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.86);
}
.slot-coverage-indicator.needs-driver {
    color: #ffdde4;
    border-color: rgba(255,55,85,.70);
    background: rgba(255,55,85,.18);
    box-shadow: 0 0 16px rgba(255,55,85,.14);
}
.slot-coverage-indicator.single-driver {
    color: #fff5d6;
    border-color: rgba(255,196,77,.65);
    background: rgba(255,196,77,.14);
}
.slot-coverage-indicator.covered {
    color: #d7ffe9;
    border-color: rgba(0,255,156,.55);
    background: rgba(0,255,156,.13);
    box-shadow: 0 0 16px rgba(0,255,156,.10);
}
.coverage-slot {
    position: relative;
    padding-right: 58px;
}
.coverage-slot > .slot-coverage-indicator {
    position: absolute;
    top: 10px;
    right: 10px;
}
.coverage-slot.single-covered {
    background: rgba(255,196,77,.10);
    border-color: rgba(255,196,77,.50);
    box-shadow: 0 0 18px rgba(255,196,77,.08);
}

/* Kion v3.1.11 radio stint assignment + visual timeline */
.stint-driver-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0 14px;
    width: 100%;
}
.stint-driver-radio-card {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 150px;
    max-width: 100%;
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(79, 216, 255, 0.22);
    background: rgba(7, 13, 28, 0.82);
    color: rgba(255,255,255,0.84);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
    overflow: hidden;
}
.stint-driver-radio-card:hover {
    transform: translateY(-1px);
    border-color: rgba(173,255,47,0.58);
    box-shadow: 0 0 20px rgba(173,255,47,0.12);
}
.stint-driver-radio-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.stint-driver-radio-card .radio-dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.42);
    box-shadow: inset 0 0 0 4px rgba(5,10,22,0.95);
    flex: 0 0 auto;
}
.stint-driver-radio-card input:checked + .radio-dot {
    border-color: #adff2f;
    background: #adff2f;
    box-shadow: 0 0 14px rgba(173,255,47,0.45), inset 0 0 0 3px rgba(5,10,22,0.95);
}
.stint-driver-radio-card:has(input:checked) {
    border-color: rgba(173,255,47,0.92);
    background: linear-gradient(135deg, rgba(173,255,47,0.18), rgba(79,216,255,0.10));
    box-shadow: 0 0 26px rgba(173,255,47,0.14);
    color: #fff;
}
.radio-driver-name {
    font-weight: 800;
    font-size: 0.88rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.final-stint-detail-grid {
    margin-top: 10px;
}
.stint-visual-plan {
    margin-top: 26px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(79,216,255,0.20);
    background: linear-gradient(180deg, rgba(7,13,28,0.78), rgba(3,6,14,0.82));
    box-shadow: 0 18px 50px rgba(0,0,0,0.22);
    overflow: hidden;
}
.compact-heading {
    margin-bottom: 10px;
}
.stint-timeline-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin: 16px 0 18px;
}
.stint-timeline-block {
    min-height: 92px;
    border-radius: 16px;
    padding: 12px;
    color: #061018;
    box-shadow: 0 10px 32px rgba(0,0,0,0.22), inset 0 0 0 1px rgba(255,255,255,0.24);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}
.stint-timeline-block strong,
.stint-timeline-block span,
.stint-timeline-block em {
    display: block;
    position: relative;
    z-index: 1;
}
.stint-timeline-block strong {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.stint-timeline-block span {
    font-weight: 900;
    font-size: 0.98rem;
}
.stint-timeline-block em {
    font-style: normal;
    font-weight: 900;
    font-size: 0.9rem;
}
.stint-timeline-block.is-unassigned {
    color: rgba(255,255,255,0.86);
    background: linear-gradient(135deg, rgba(255,63,86,0.70), rgba(30,12,20,0.94));
    box-shadow: 0 0 28px rgba(255,63,86,0.16);
}
.stint-timeline-table-wrap {
    width: 100%;
    overflow-x: auto;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
}
.stint-timeline-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 0;
}
.stint-timeline-table th,
.stint-timeline-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    font-size: 0.88rem;
}
.stint-timeline-table th {
    color: rgba(255,255,255,0.62);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.72rem;
}
.driver-table-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    color: #061018;
    font-weight: 900;
    background: rgba(255,255,255,0.12);
}
@media (max-width: 700px) {
    .stint-driver-radio-card { min-width: 100%; }
    .stint-timeline-grid { grid-template-columns: 1fr; }
    .stint-timeline-table th:nth-child(3),
    .stint-timeline-table td:nth-child(3),
    .stint-timeline-table th:nth-child(4),
    .stint-timeline-table td:nth-child(4),
    .stint-timeline-table th:nth-child(5),
    .stint-timeline-table td:nth-child(5) { display: none; }
}


/* Kion v3.1.12 compact final plan: show available drivers only */
.auto-stint-slot-list {
    gap: 10px;
}
.auto-stint-slot-card {
    padding: 12px;
    border-radius: 14px;
}
.auto-stint-slot-head {
    align-items: center;
    margin-bottom: 8px;
}
.auto-stint-slot-head strong {
    font-size: 0.96rem;
}
.auto-stint-slot-head span {
    font-size: 0.82rem;
}
.stint-coverage-badge {
    padding: 5px 8px;
    font-size: 0.68rem;
}
.stint-driver-radio-group.compact-available-only {
    gap: 6px;
    margin: 8px 0 8px;
}
.stint-driver-radio-card[style*="display:none"] {
    display: none !important;
}
.stint-driver-radio-card {
    min-width: 0;
    padding: 7px 10px;
    gap: 6px;
    border-radius: 999px;
}
.stint-driver-radio-card .radio-dot {
    width: 12px;
    height: 12px;
    border-width: 2px;
}
.radio-driver-name {
    font-size: 0.78rem;
}
.final-stint-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 8px;
    margin-top: 6px;
}
.final-stint-detail-grid label {
    font-size: 0.72rem;
}
.final-stint-detail-grid input {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 0.78rem;
}
.final-plan-notes {
    margin-top: 6px;
}
.final-plan-notes .planner-note-toggle-label {
    font-size: 0.74rem;
    padding: 5px 8px;
}
@media (max-width: 760px) {
    .auto-stint-slot-head {
        align-items: flex-start;
    }
    .final-stint-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* v3.2 Strategy Engine */
.strategy-engine-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  margin: 18px 0 22px;
}
.strategy-engine-summary > div {
  border: 1px solid rgba(173,255,47,.18);
  background: linear-gradient(135deg, rgba(0,255,156,.08), rgba(79,216,255,.06));
  border-radius: 14px;
  padding: 12px 14px;
}
.strategy-engine-summary span { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.58); margin-bottom:4px; }
.strategy-engine-summary strong { color:#adff2f; font-size:18px; }
.auto-stint-slot-card .auto-stint-slot-head span { font-size: 12px; opacity:.82; }
@media (max-width: 900px) { .strategy-engine-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .strategy-engine-summary { grid-template-columns: 1fr; } }

/* v3.2.1 planner engineering controls */
.planner-inline-edit-field label {
    display: grid;
    gap: 6px;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.planner-inline-edit-field input,
.manual-stint-time-controls input {
    width: 100%;
    background: rgba(4, 10, 24, .84);
    border: 1px solid rgba(79, 216, 255, .28);
    color: #fff;
    border-radius: 12px;
    padding: 10px 12px;
}
.manual-stint-time-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    gap: 10px;
    margin: 10px 0 12px;
    padding: 10px;
    border: 1px solid rgba(173,255,47,.16);
    border-radius: 14px;
    background: rgba(3, 8, 18, .42);
}
.manual-stint-time-controls label {
    display: grid;
    gap: 5px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.64);
}
.manual-stint-time-controls small {
    grid-column: 1 / -1;
    color: rgba(173,255,47,.76);
    font-size: 11px;
}
@media (max-width: 680px) {
    .manual-stint-time-controls { grid-template-columns: 1fr; }
}

/* v3.3.0 Driver registration / planner access */
.narrow-container{max-width:980px;margin:0 auto}.kion-driver-register-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#eaf3ff}.form-grid.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kion-driver-register-form input{width:100%;box-sizing:border-box;border:1px solid rgba(0,255,156,.22);background:rgba(3,8,18,.8);color:#fff;border-radius:14px;padding:13px 14px;outline:none}.kion-driver-register-form input:focus{border-color:#00ff9c;box-shadow:0 0 0 3px rgba(0,255,156,.12)}.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}.notice-card.success-card{border-color:rgba(0,255,156,.45)}.notice-card.error-card{border-color:rgba(255,70,70,.55);background:rgba(90,0,0,.12)}.muted{opacity:.78}.login-required-card .button-secondary{margin-left:10px}@media(max-width:760px){.form-grid.two-col{grid-template-columns:1fr}.login-required-card .button-secondary{margin-left:0;margin-top:10px}}

/* v3.3.3 - Readable lime button fix */
.button-primary,
.kion-button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="button"].button-primary,
.primary-nav .button-primary,
.primary-nav a.button-primary,
.site-header .button-primary,
.site-header a.button-primary,
.login-required-card .button-primary,
.kion-driver-register-form .button-primary,
.kion-wizard-actions .button-primary,
.button-row .button-primary,
a.button.button-primary {
    color: #02060c !important;
    text-shadow: none !important;
}
.button-primary *,
.kion-button-primary *,
a.button.button-primary * {
    color: #02060c !important;
    text-shadow: none !important;
}
.button-primary:hover,
.kion-button-primary:hover,
a.button.button-primary:hover {
    color: #02060c !important;
}
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a,
.primary-nav .current-menu-ancestor > a {
    color: var(--kion-lime) !important;
}
.primary-nav a.button-primary,
.primary-nav .current-menu-item > a.button-primary,
.primary-nav .current_page_item > a.button-primary {
    color: #02060c !important;
}

/* Kion v3.5 Garage61 Data Mapping */
.kion-sync-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin: 8px 0 16px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(184,255,0,.14);
    color: #dfff5f;
    border: 1px solid rgba(184,255,0,.35);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.kion-sync-badge.muted,
.kion-synced-strategy-hint.muted {
    opacity: .75;
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.12);
    color: rgba(255,255,255,.72);
}
.kion-garage61-synced-panel {
    border: 1px solid rgba(184,255,0,.22);
    box-shadow: 0 0 35px rgba(0,180,255,.07), inset 0 0 28px rgba(184,255,0,.035);
}
.compact-stats strong { font-size: clamp(16px, 1.6vw, 22px); }
.kion-synced-strategy-hint {
    display: block;
    margin: 8px 0 12px;
    padding: 9px 11px;
    border-radius: 12px;
    border: 1px solid rgba(0,180,255,.22);
    background: rgba(0,180,255,.08);
    color: rgba(255,255,255,.84);
    font-size: 12px;
    line-height: 1.4;
}
.kion-synced-strategy-hint span {
    display: block;
    margin-bottom: 3px;
    color: #b8ff00;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* Kion v3.5.3 Garage61 data mapping UI */
.kion-g61-event-ref {
    border: 1px solid rgba(0,255,156,.22);
    background: linear-gradient(135deg, rgba(0,255,156,.08), rgba(35,120,255,.06));
    border-radius: 14px;
    padding: 12px;
    margin: 10px 0 14px;
}
.kion-g61-ref-head {
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    margin-bottom:10px;
}
.kion-g61-ref-head span,
.kion-sync-badge {
    display:inline-flex;
    align-items:center;
    width:max-content;
    border:1px solid rgba(0,255,156,.35);
    background:rgba(0,255,156,.12);
    color:#9fffd2;
    border-radius:999px;
    padding:4px 9px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.kion-sync-badge.muted,
.kion-g61-ref-head small { color:rgba(255,255,255,.62); }
.kion-g61-ref-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}
.kion-g61-ref-grid div {
    background:rgba(5,9,18,.58);
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    padding:8px;
}
.kion-g61-ref-grid small { display:block; color:rgba(255,255,255,.58); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.kion-g61-ref-grid strong { display:block; color:#fff; font-size:13px; margin-top:2px; }
.kion-g61-ref-context { display:block; margin-top:8px; color:rgba(255,255,255,.6); }
.kion-garage61-records-panel .kion-results-table-wrap { margin-top:14px; }
@media (max-width: 760px) { .kion-g61-ref-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }


/* Kion v3.7 Strategy Intelligence */
.kion-event-car-strip{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;align-items:stretch}.kion-event-car-pill{display:flex;gap:10px;align-items:center;border:1px solid rgba(157,255,0,.22);background:rgba(5,10,20,.72);border-radius:16px;padding:8px 10px;box-shadow:0 0 20px rgba(0,180,255,.08)}.kion-event-car-img{width:74px;height:44px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(157,255,0,.16))}.kion-car-img-placeholder{width:74px;height:44px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.2);border-radius:10px;color:rgba(255,255,255,.55);font-size:11px}.kion-event-car-pill strong{display:block;font-size:12px;color:#fff}.kion-event-car-pill small{display:block;color:rgba(255,255,255,.64);font-size:11px}.kion-strategy-intel-panel{border:1px solid rgba(157,255,0,.22);background:linear-gradient(135deg,rgba(10,20,38,.92),rgba(2,6,14,.92));border-radius:22px;padding:18px;margin:18px 0 24px;box-shadow:0 0 40px rgba(0,180,255,.08)}.kion-strategy-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}.kion-strategy-context>div{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px}.kion-strategy-context span{display:block;color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.kion-strategy-context strong{display:block;color:#fff;margin-top:4px}.kion-strategy-intel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.kion-driver-intel-card{border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);border-radius:16px;padding:12px}.kion-driver-intel-card strong{display:block;color:#fff}.kion-driver-intel-card small{display:block;color:rgba(255,255,255,.55)}.kion-driver-intel-card ul{margin:10px 0 8px 18px;color:rgba(255,255,255,.78);font-size:12px}.kion-driver-intel-card p{color:rgba(255,255,255,.65);font-size:12px;margin:10px 0}.kion-admin-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 16px}.planner-event-summary-grid .kion-event-car-strip{grid-column:1/-1}


/* Kion v3.8 Strategy AI Engine */
.kion-strategy-ai-recommendations{margin:18px 0;padding:18px;border:1px solid rgba(91,244,124,.25);border-radius:18px;background:linear-gradient(135deg,rgba(3,9,24,.92),rgba(6,30,50,.72));box-shadow:0 0 28px rgba(91,244,124,.08)}
.strategy-ai-rank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}
.strategy-ai-rank-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.04)}
.strategy-ai-rank-card ul{grid-column:1/-1;margin:6px 0 0 18px;padding:0;font-size:12px;line-height:1.45;color:rgba(255,255,255,.76)}
.rank-badge,.score-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800;font-size:12px;white-space:nowrap}
.rank-badge{min-width:34px;height:34px;background:#5bf47c;color:#04120a;box-shadow:0 0 18px rgba(91,244,124,.25)}
.score-pill{padding:6px 9px;background:rgba(22,155,255,.18);border:1px solid rgba(22,155,255,.35);color:#d7f0ff}
.kion-event-car-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.kion-event-car-pill{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.kion-event-car-img{width:54px;height:34px;object-fit:contain}.kion-car-img-placeholder{width:54px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(91,244,124,.12);font-size:10px;color:#5bf47c}.kion-event-car-pill small{display:block;color:rgba(255,255,255,.62);font-size:11px}


/* v3.8.2 larger calendar/event car visuals */
.kion-event-car-strip{
  gap:18px !important;
}
.kion-event-car-pill{
  padding:16px 18px !important;
  border-radius:20px !important;
}
.kion-event-car-img{
  width:160px !important;
  height:90px !important;
  object-fit:contain !important;
}
.kion-car-img-placeholder{
  width:160px !important;
  height:90px !important;
}
.kion-event-car-pill strong{
  font-size:16px !important;
  margin-top:6px;
}


/* Kion v3.8.3 definitive calendar car visual fix
   Forces large car presentation and removes metadata everywhere the event car strip is used. */
.kion-event-car-strip,
.kion-event-car-strip.kion-large-car-strip {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
    margin: 18px 0 22px !important;
    width: 100% !important;
}
.kion-event-car-pill,
.kion-event-car-pill.kion-large-car-pill {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    min-height: 230px !important;
    padding: 18px 22px !important;
    border-radius: 24px !important;
    background: radial-gradient(circle at 50% 18%, rgba(0, 255, 156, .10), rgba(5, 10, 20, .82) 54%, rgba(0, 0, 0, .42)) !important;
    border: 1px solid rgba(157, 255, 0, .24) !important;
    box-shadow: 0 0 34px rgba(0, 180, 255, .10), inset 0 0 30px rgba(255,255,255,.025) !important;
    text-align: center !important;
}
.kion-event-car-img,
.kion-event-car-img.kion-large-car-img,
.kion-event-car-pill img {
    width: min(100%, 360px) !important;
    height: 170px !important;
    max-width: 360px !important;
    max-height: 170px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 0 22px rgba(157,255,0,.18)) drop-shadow(0 0 32px rgba(0,180,255,.13)) !important;
}
.kion-car-img-placeholder,
.kion-large-car-placeholder {
    width: min(100%, 360px) !important;
    height: 170px !important;
    max-width: 360px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px dashed rgba(157,255,0,.28) !important;
    border-radius: 18px !important;
    background: rgba(91,244,124,.08) !important;
    color: rgba(157,255,0,.72) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
}
.kion-event-car-title,
.kion-event-car-pill > div {
    width: 100% !important;
}
.kion-event-car-pill strong,
.kion-event-car-title strong {
    display: block !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    margin: 0 !important;
}
.kion-event-car-pill small,
.kion-event-car-pill .car-meta,
.kion-event-car-pill .car-class,
.kion-event-car-pill .car-fuel,
.kion-event-car-pill .car-details,
.kion-event-car-strip small {
    display: none !important;
}
@media (max-width: 760px) {
    .kion-event-car-strip,
    .kion-event-car-strip.kion-large-car-strip {
        grid-template-columns: 1fr !important;
    }
    .kion-event-car-pill,
    .kion-event-car-pill.kion-large-car-pill {
        min-height: 200px !important;
    }
    .kion-event-car-img,
    .kion-event-car-img.kion-large-car-img,
    .kion-event-car-pill img,
    .kion-car-img-placeholder,
    .kion-large-car-placeholder {
        height: 145px !important;
        max-height: 145px !important;
    }
}

/* v3.8.4 Calendar car placement: only show car visuals in the large next-event highlight */
.next-race-card .next-race-car-visuals {
    margin: 20px 0 10px;
}
.next-race-card .next-race-car-visuals .kion-event-car-strip,
.next-race-card .next-race-car-visuals .kion-event-car-strip.kion-large-car-strip {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 18px;
    flex-wrap: wrap;
    margin: 0;
}
.next-race-card .next-race-car-visuals .kion-event-car-pill,
.next-race-card .next-race-car-visuals .kion-large-car-pill {
    min-width: 240px;
    max-width: 360px;
    flex: 1 1 260px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 16px 18px 14px;
    border-radius: 22px;
    background: rgba(2, 8, 18, .68);
    border: 1px solid rgba(157,255,0,.28);
    box-shadow: 0 0 34px rgba(0,180,255,.10), inset 0 0 24px rgba(157,255,0,.04);
}
.next-race-card .next-race-car-visuals .kion-event-car-img,
.next-race-card .next-race-car-visuals .kion-large-car-img {
    width: min(100%, 320px) !important;
    height: 170px !important;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 0 18px rgba(157,255,0,.22));
}
.next-race-card .next-race-car-visuals .kion-car-img-placeholder,
.next-race-card .next-race-car-visuals .kion-large-car-placeholder {
    width: min(100%, 320px) !important;
    height: 170px !important;
    display: grid;
    place-items: center;
}
.next-race-card .next-race-car-visuals .kion-event-car-title {
    margin-top: 10px;
    text-align: center;
}
.next-race-card .next-race-car-visuals .kion-event-car-title strong {
    font-size: 16px;
    line-height: 1.25;
    color: #fff;
}
.pro-calendar-grid .kion-event-car-strip,
.calendar-event-card .kion-event-car-strip {
    display: none !important;
}
@media (max-width: 720px) {
    .next-race-card .next-race-car-visuals .kion-event-car-pill,
    .next-race-card .next-race-car-visuals .kion-large-car-pill {
        min-width: 0;
        flex-basis: 100%;
    }
    .next-race-card .next-race-car-visuals .kion-event-car-img,
    .next-race-card .next-race-car-visuals .kion-large-car-img,
    .next-race-card .next-race-car-visuals .kion-car-img-placeholder,
    .next-race-card .next-race-car-visuals .kion-large-car-placeholder {
        height: 130px !important;
    }
}


/* v3.8.5 Driver directory/profile visual + metadata fix */
.driver-directory-card > img,
.driver-card > img.wp-post-image {
  width: 100%;
  height: 260px;
  object-fit: contain !important;
  object-position: center center;
  background: radial-gradient(circle at 50% 20%, rgba(183,255,42,.10), transparent 16rem), rgba(2,6,12,.44);
  border: 1px solid rgba(183,255,42,.14);
  padding: 8px;
}
.driver-profile-card > img,
.driver-profile-card img.wp-post-image {
  width: 100%;
  max-height: 520px;
  object-fit: contain !important;
  object-position: center center;
  background: radial-gradient(circle at 50% 15%, rgba(26,167,255,.12), transparent 18rem), rgba(2,6,12,.52);
  border: 1px solid rgba(183,255,42,.14);
  padding: 10px;
}
.driver-directory-card .driver-profile-summary,
.driver-profile-card .driver-profile-summary {
  color: rgba(244,248,255,.86);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}
@media (max-width: 720px) {
  .driver-directory-card > img,
  .driver-card > img.wp-post-image { height: 220px; }
  .driver-profile-card > img,
  .driver-profile-card img.wp-post-image { max-height: 420px; }
}

/* v3.8.6 Driver page layout unification
   Uses the same Kion card/grid language as Calendar and Stint Planner. */
.drivers-directory-section {
    position: relative;
}
.kion-unified-driver-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 22px;
    align-items: stretch;
}
.kion-driver-directory-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.kion-driver-card-media {
    display: grid;
    place-items: center;
    min-height: 310px;
    padding: 16px;
    margin: 0;
    text-decoration: none;
    background:
        radial-gradient(circle at 50% 18%, rgba(183,255,42,.14), transparent 17rem),
        radial-gradient(circle at 72% 35%, rgba(26,167,255,.12), transparent 16rem),
        rgba(2, 6, 12, .54);
    border-bottom: 1px solid rgba(183,255,42,.14);
}
.kion-driver-card-image,
.kion-driver-card-media img,
.kion-driver-directory-card img.wp-post-image {
    width: 100% !important;
    max-width: 340px !important;
    height: 280px !important;
    max-height: 280px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block;
    margin: 0 auto;
    border-radius: 20px;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.kion-driver-card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}
.kion-driver-card-body h3 a {
    color: var(--kion-text, #f4f8ff);
    text-decoration: none;
}
.kion-driver-card-body h3 a:hover {
    color: var(--kion-lime, #b6ff00);
}
.kion-driver-summary {
    color: rgba(244,248,255,.86);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
    margin: 0;
}
.kion-driver-meta-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.kion-driver-meta-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.045);
    color: rgba(244,248,255,.78);
    font-size: 12px;
    font-weight: 800;
}
.kion-driver-card-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: auto;
}
.kion-driver-card-stats > div {
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(183,255,42,.16);
    background: rgba(0,0,0,.20);
}
.kion-driver-card-stats small {
    display: block;
    color: rgba(244,248,255,.62);
    font-size: 10px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.kion-driver-card-stats strong {
    display: block;
    color: #fff;
    margin-top: 6px;
    font-size: 18px;
}
.kion-driver-actions {
    margin-top: 6px;
}
/* Override older driver image rules only inside the unified page. */
.kion-unified-driver-grid .driver-directory-card > img,
.kion-unified-driver-grid .driver-card > img.wp-post-image {
    height: auto !important;
    object-fit: contain !important;
}
@media (max-width: 760px) {
    .kion-unified-driver-grid {
        grid-template-columns: 1fr;
    }
    .kion-driver-card-media {
        min-height: 250px;
    }
    .kion-driver-card-image,
    .kion-driver-card-media img,
    .kion-driver-directory-card img.wp-post-image {
        height: 230px !important;
        max-height: 230px !important;
    }
    .kion-driver-card-stats {
        grid-template-columns: 1fr;
    }
}


/* v3.8.7 Drivers page route/layout hard reset
   Prevent old page-builder/featured-image hero styling from leaking into /drivers/. */
body.post-type-archive-kion_driver .drivers-page-hero,
body.page-template-page-drivers .drivers-page-hero,
body.page-id .drivers-page-hero {
  min-height: auto !important;
  background:
    linear-gradient(115deg, rgba(2,6,12,.96) 0%, rgba(4,10,19,.94) 42%, rgba(8,26,49,.82) 100%),
    radial-gradient(circle at 12% 18%, rgba(26,167,255,.18), transparent 24rem),
    radial-gradient(circle at 82% 8%, rgba(183,255,42,.12), transparent 22rem) !important;
  background-image:
    linear-gradient(115deg, rgba(2,6,12,.96) 0%, rgba(4,10,19,.94) 42%, rgba(8,26,49,.82) 100%),
    radial-gradient(circle at 12% 18%, rgba(26,167,255,.18), transparent 24rem),
    radial-gradient(circle at 82% 8%, rgba(183,255,42,.12), transparent 22rem) !important;
}
body.post-type-archive-kion_driver .drivers-page-hero img,
body.page-template-page-drivers .drivers-page-hero img {
  display: initial;
}
body.post-type-archive-kion_driver .kion-unified-driver-grid,
body.page-template-page-drivers .kion-unified-driver-grid {
  width: 100%;
}


/* v3.8.9 Drivers page template conflict guard */
body.kion-drivers-directory .wp-block-cover,
body.kion-drivers-directory .entry-header,
body.kion-drivers-directory .page-hero,
body.kion-drivers-directory .wp-block-template-part {
    display: none !important;
}

/* v3.9.1 Home/Partners route consistency */
.kion-page-hero {
  min-height: auto;
  padding-top: clamp(56px, 8vw, 104px);
  padding-bottom: clamp(48px, 7vw, 92px);
}
.kion-partner-directory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px;
}
.kion-partner-directory-card {
  min-height: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.kion-partner-directory-card a {
  color: inherit;
  text-decoration: none;
  display: block;
  width: 100%;
}
.kion-partner-directory-card .partner-logo-wrap {
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.kion-partner-directory-card img {
  max-width: min(220px, 90%);
  max-height: 86px;
  object-fit: contain;
}


/* v3.9.9 Partner page lime heading with Kion light-blue accent line */
.kion-partner-single-page .partner-about-heading,
.kion-partner-single-page .page-content > h2:first-child {
    color: var(--kion-lime, #b7ff2a) !important;
    text-shadow: 0 0 18px rgba(183, 255, 42, 0.22);
    border-left: 4px solid var(--kion-light-blue, #53c5ff);
    padding-left: 14px;
    margin-bottom: 18px;
    box-shadow: inset 4px 0 0 rgba(83, 197, 255, 0.12);
}

/* v3.9.11: Full-width sponsor bar viewport fix */
.sponsor-bar,
body .sponsor-bar {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: 0 !important;
  right: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.sponsor-bar .sponsor-track,
body .sponsor-bar .sponsor-track {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 56px !important;
  min-width: max-content !important;
  padding-left: 0 !important;
  padding-right: 56px !important;
  margin-left: 0 !important;
  transform-origin: left center !important;
}

.sponsor-bar .sponsor-entry,
body .sponsor-bar .sponsor-entry {
  flex: 0 0 auto !important;
}

.sponsor-bar .sponsor-logo-img {
  max-height: 34px !important;
  max-width: 180px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 820px) {
  .sponsor-bar,
  body .sponsor-bar {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .sponsor-bar .sponsor-track {
    gap: 34px !important;
    padding-right: 34px !important;
  }
}


/* v3.9.12: Sponsor bar logo no-crop fix
   Partner logos must render as full transparent PNG/SVG style assets, not as circular/oval cropped thumbnails. */
.sponsor-bar,
body .sponsor-bar {
  overflow: hidden !important;
}

.sponsor-bar .sponsor-track,
body .sponsor-bar .sponsor-track {
  overflow: visible !important;
  align-items: center !important;
}

.sponsor-bar .sponsor-entry,
body .sponsor-bar .sponsor-entry,
.sponsor-bar .sponsor-entry a,
body .sponsor-bar .sponsor-entry a {
  overflow: visible !important;
  border-radius: 0 !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.sponsor-bar .sponsor-logo-img,
body .sponsor-bar .sponsor-logo-img,
.sponsor-entry img.sponsor-logo-img,
.sponsor-entry a img.sponsor-logo-img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-height: 44px !important;
  max-width: 220px !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  border-radius: 0 !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sponsor-bar img,
body .sponsor-bar img {
  border-radius: 0 !important;
  clip-path: none !important;
  object-fit: contain !important;
}

@media (max-width: 820px) {
  .sponsor-bar .sponsor-logo-img,
  body .sponsor-bar .sponsor-logo-img {
    max-height: 36px !important;
    max-width: 170px !important;
  }
}


/* v3.9.13: Sponsor bar logo scale balance - theme-level fix
   Slightly smaller than v3.9.12 while preserving full transparent logo visibility. */
.sponsor-bar .sponsor-logo-img,
body .sponsor-bar .sponsor-logo-img,
.sponsor-bar .sponsor-entry img,
body .sponsor-bar .sponsor-entry img,
.sponsor-entry img.sponsor-logo-img,
.sponsor-entry a img.sponsor-logo-img {
  height: 38px !important;
  max-height: 38px !important;
  width: auto !important;
  max-width: 190px !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  border-radius: 0 !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  background: transparent !important;
  padding: 0 8px !important;
}

.sponsor-bar .sponsor-track,
body .sponsor-bar .sponsor-track {
  min-height: 52px !important;
  gap: 32px !important;
}

@media (max-width: 820px) {
  .sponsor-bar .sponsor-logo-img,
  body .sponsor-bar .sponsor-logo-img,
  .sponsor-bar .sponsor-entry img,
  body .sponsor-bar .sponsor-entry img {
    height: 32px !important;
    max-height: 32px !important;
    max-width: 150px !important;
  }
  .sponsor-bar .sponsor-track,
  body .sponsor-bar .sponsor-track {
    min-height: 44px !important;
    gap: 24px !important;
  }
}


/* =========================================================
   v3.9.19 Frontpage driver section hotfix
   Compact role-focused cards only; full stats stay on profiles.
========================================================= */
.kion-frontpage-driver-group {
  margin-top: 36px;
}

.kion-frontpage-driver-group:first-of-type {
  margin-top: 0;
}

.kion-frontpage-driver-group-title {
  margin: 0 0 18px;
  color: var(--kion-lime);
  font-size: 24px;
  letter-spacing: -.02em;
}

.kion-frontpage-driver-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 18px;
}

.kion-frontpage-driver-card {
  border-radius: 22px;
  border: 1px solid rgba(183,255,42,.14);
  background: linear-gradient(180deg, rgba(8,26,49,.86), rgba(7,16,29,.94));
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.kion-frontpage-driver-card:hover {
  transform: translateY(-3px);
  border-color: rgba(183,255,42,.36);
  box-shadow: 0 16px 36px rgba(0,0,0,.28);
}

.kion-frontpage-driver-link {
  display: flex;
  min-height: 214px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 18px 14px;
  text-align: center;
  color: inherit;
}

.kion-frontpage-driver-photo img,
.kion-frontpage-driver-photo .driver-avatar-placeholder {
  width: 88px;
  height: 88px;
  min-height: 88px;
  border-radius: 50%;
  object-fit: cover;
}

.kion-frontpage-driver-photo img {
  border: 2px solid rgba(183,255,42,.22);
}

.kion-frontpage-driver-photo .driver-avatar-placeholder {
  font-size: 24px;
  letter-spacing: -.06em;
}

.kion-frontpage-driver-card h3 {
  margin: 4px 0 0;
  font-size: 16px;
  line-height: 1.25;
}

.kion-frontpage-role-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.kion-frontpage-role-badges span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(26,167,255,.12);
  border: 1px solid rgba(26,167,255,.22);
  color: #d8f3ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* =========================================================
   v3.9.21 Frontpage compact driver cards + Kion role frames
   Keeps existing frontpage structure intact.
========================================================= */

.kion-frontpage-driver-grid {
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 10px;
}

.kion-frontpage-driver-card {
  border-radius: 16px;
  border-color: rgba(183,255,42,.20);
}

.kion-frontpage-driver-link {
  min-height: 108px;
  gap: 5px;
  padding: 9px 7px;
}

.kion-frontpage-driver-photo img,
.kion-frontpage-driver-photo .driver-avatar-placeholder {
  width: 44px;
  height: 44px;
  min-height: 44px;
  border-radius: 50%;
}

.kion-frontpage-driver-photo img {
  border: 1px solid rgba(183,255,42,.48);
  box-shadow: 0 0 14px rgba(183,255,42,.12);
}

.kion-frontpage-driver-photo .driver-avatar-placeholder {
  font-size: 13px;
}

.kion-frontpage-driver-card h3 {
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.18;
}

.kion-frontpage-role-badges {
  gap: 4px;
  margin-top: 1px;
}

.kion-frontpage-role-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 3px 6px;
  border-radius: 999px;
  border: 1px solid rgba(183,255,42,.62);
  background: linear-gradient(180deg, rgba(183,255,42,.10), rgba(26,167,255,.08));
  color: #eaffc2;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 0 12px rgba(183,255,42,.08);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .kion-frontpage-driver-grid {
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
  }

  .kion-frontpage-driver-link {
    min-height: 102px;
  }
}

/* =========================================================
   v3.9.22 Frontpage driver image size correction
   Keeps compact cards and Kion role frames, restores avatar presence.
========================================================= */

.kion-frontpage-driver-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 14px;
}

.kion-frontpage-driver-link {
  min-height: 168px;
  gap: 8px;
  padding: 14px 10px;
}

.kion-frontpage-driver-photo img,
.kion-frontpage-driver-photo .driver-avatar-placeholder {
  width: 76px;
  height: 76px;
  min-height: 76px;
  border-radius: 50%;
}

.kion-frontpage-driver-photo img {
  border: 2px solid rgba(183,255,42,.48);
  box-shadow: 0 0 18px rgba(183,255,42,.14);
}

.kion-frontpage-driver-photo .driver-avatar-placeholder {
  font-size: 20px;
}

.kion-frontpage-driver-card h3 {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.22;
}

.kion-frontpage-role-badges {
  gap: 5px;
  margin-top: 2px;
}

.kion-frontpage-role-badges span {
  min-height: 20px;
  padding: 4px 7px;
  font-size: 9px;
}

@media (max-width: 720px) {
  .kion-frontpage-driver-grid {
    grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  }

  .kion-frontpage-driver-link {
    min-height: 154px;
  }

  .kion-frontpage-driver-photo img,
  .kion-frontpage-driver-photo .driver-avatar-placeholder {
    width: 68px;
    height: 68px;
    min-height: 68px;
  }
}


/* =========================================================
   v3.9.23 Frontpage driver card visibility correction
   Hard override + cache-busted asset version.
========================================================= */

.kion-frontpage-driver-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 22px !important;
}

.kion-frontpage-driver-card {
  border-radius: 24px !important;
  border: 1px solid rgba(183,255,42,.26) !important;
  background: linear-gradient(180deg, rgba(8,26,49,.90), rgba(7,16,29,.96)) !important;
}

.kion-frontpage-driver-link {
  min-height: 270px !important;
  gap: 12px !important;
  padding: 24px 18px !important;
}

.kion-frontpage-driver-photo img,
.kion-frontpage-driver-photo .driver-avatar-placeholder {
  width: 140px !important;
  height: 140px !important;
  min-height: 140px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.kion-frontpage-driver-photo img {
  border: 3px solid rgba(183,255,42,.55) !important;
  box-shadow: 0 0 24px rgba(183,255,42,.18) !important;
}

.kion-frontpage-driver-photo .driver-avatar-placeholder {
  font-size: 30px !important;
}

.kion-frontpage-driver-card h3 {
  margin: 6px 0 0 !important;
  font-size: 18px !important;
  line-height: 1.22 !important;
}

.kion-frontpage-role-badges {
  gap: 7px !important;
  margin-top: 3px !important;
}

.kion-frontpage-role-badges span {
  min-height: 25px !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(183,255,42,.72) !important;
  background: linear-gradient(180deg, rgba(183,255,42,.12), rgba(26,167,255,.09)) !important;
  color: #eaffc2 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 0 14px rgba(183,255,42,.10) !important;
}

@media (max-width: 720px) {
  .kion-frontpage-driver-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 16px !important;
  }

  .kion-frontpage-driver-link {
    min-height: 220px !important;
    padding: 18px 12px !important;
  }

  .kion-frontpage-driver-photo img,
  .kion-frontpage-driver-photo .driver-avatar-placeholder {
    width: 110px !important;
    height: 110px !important;
    min-height: 110px !important;
  }
}


/* =========================================================
   v3.9.24 Square Driver Images
========================================================= */

.kion-home-driver-avatar img,
.kion-home-driver-avatar .driver-avatar-placeholder {
    border-radius: 18px !important;
    width: 140px !important;
    height: 140px !important;
    object-fit: cover !important;
    border: 2px solid rgba(183,255,42,.45) !important;
    box-shadow: 0 0 18px rgba(183,255,42,.18);
}


/* =========================================================
   v3.9.25 Frontpage Square Driver Photo Override
   Correct selector for the actual frontpage driver cards.
========================================================= */

.home .kion-frontpage-driver-photo img,
.front-page .kion-frontpage-driver-photo img,
.kion-frontpage-driver-card .kion-frontpage-driver-photo img,
.kion-frontpage-driver-photo img {
  width: 140px !important;
  height: 140px !important;
  min-width: 140px !important;
  min-height: 140px !important;
  max-width: 140px !important;
  max-height: 140px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 18px !important;
  object-fit: cover !important;
  overflow: hidden !important;
  border: 3px solid rgba(183,255,42,.55) !important;
  box-shadow: 0 0 24px rgba(183,255,42,.18) !important;
}

.home .kion-frontpage-driver-photo .driver-avatar-placeholder,
.front-page .kion-frontpage-driver-photo .driver-avatar-placeholder,
.kion-frontpage-driver-card .kion-frontpage-driver-photo .driver-avatar-placeholder,
.kion-frontpage-driver-photo .driver-avatar-placeholder {
  width: 140px !important;
  height: 140px !important;
  min-width: 140px !important;
  min-height: 140px !important;
  max-width: 140px !important;
  max-height: 140px !important;
  border-radius: 18px !important;
}

@media (max-width: 720px) {
  .home .kion-frontpage-driver-photo img,
  .front-page .kion-frontpage-driver-photo img,
  .kion-frontpage-driver-card .kion-frontpage-driver-photo img,
  .kion-frontpage-driver-photo img,
  .home .kion-frontpage-driver-photo .driver-avatar-placeholder,
  .front-page .kion-frontpage-driver-photo .driver-avatar-placeholder,
  .kion-frontpage-driver-card .kion-frontpage-driver-photo .driver-avatar-placeholder,
  .kion-frontpage-driver-photo .driver-avatar-placeholder {
    width: 110px !important;
    height: 110px !important;
    min-width: 110px !important;
    min-height: 110px !important;
    max-width: 110px !important;
    max-height: 110px !important;
    border-radius: 16px !important;
  }
}


/* =========================================================
   v3.9.27 Lion Driver Placeholder
========================================================= */

.kion-lion-placeholder {
    width: 140px;
    height: 140px;
    border-radius: 18px;
    border: 3px solid rgba(183,255,42,.55);
    background:
        linear-gradient(rgba(5,12,22,.55), rgba(5,12,22,.72)),
        url('../images/kion-lion-bg.png') center center / cover no-repeat;
    box-shadow: 0 0 24px rgba(183,255,42,.18);
}


/* =========================================================
   v3.9.28 Lion Placeholder Real Image Fix
   Uses the existing Kion lion asset as an actual image instead of
   a fragile CSS background file.
========================================================= */

.kion-frontpage-driver-photo .kion-lion-placeholder,
.home .kion-frontpage-driver-photo .kion-lion-placeholder,
.front-page .kion-frontpage-driver-photo .kion-lion-placeholder,
.kion-frontpage-driver-card .kion-frontpage-driver-photo .kion-lion-placeholder {
    width: 140px !important;
    height: 140px !important;
    min-width: 140px !important;
    min-height: 140px !important;
    max-width: 140px !important;
    max-height: 140px !important;
    border-radius: 18px !important;
    border: 3px solid rgba(183,255,42,.55) !important;
    background: radial-gradient(circle at center, rgba(26,167,255,.18), rgba(5,12,22,.92) 68%) !important;
    box-shadow: 0 0 24px rgba(183,255,42,.18) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 14px !important;
    color: transparent !important;
    font-size: 0 !important;
}

.kion-frontpage-driver-photo .kion-lion-placeholder img.kion-lion-placeholder-img,
.home .kion-frontpage-driver-photo .kion-lion-placeholder img.kion-lion-placeholder-img,
.front-page .kion-frontpage-driver-photo .kion-lion-placeholder img.kion-lion-placeholder-img,
.kion-frontpage-driver-card .kion-frontpage-driver-photo .kion-lion-placeholder img.kion-lion-placeholder-img {
    width: 86% !important;
    height: 86% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 86% !important;
    max-height: 86% !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    box-shadow: none !important;
    display: block !important;
}

@media (max-width: 720px) {
    .kion-frontpage-driver-photo .kion-lion-placeholder,
    .home .kion-frontpage-driver-photo .kion-lion-placeholder,
    .front-page .kion-frontpage-driver-photo .kion-lion-placeholder,
    .kion-frontpage-driver-card .kion-frontpage-driver-photo .kion-lion-placeholder {
        width: 110px !important;
        height: 110px !important;
        min-width: 110px !important;
        min-height: 110px !important;
        max-width: 110px !important;
        max-height: 110px !important;
        border-radius: 16px !important;
        padding: 11px !important;
    }
}


/* =========================================================
   v3.9.29 Driver Profile Lion Placeholder
========================================================= */

.driver-profile-card .kion-lion-profile-placeholder {
    width: 100%;
    max-width: 360px;
    aspect-ratio: 1 / 1;
    margin: 0 auto 20px;
    border-radius: 24px;
    border: 3px solid rgba(183,255,42,.55);
    background: radial-gradient(circle at center, rgba(26,167,255,.18), rgba(5,12,22,.92) 68%);
    box-shadow: 0 0 32px rgba(183,255,42,.16), inset 0 0 28px rgba(26,167,255,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.driver-profile-card .kion-lion-profile-placeholder .kion-lion-placeholder-img {
    width: 76%;
    height: 76%;
    object-fit: contain;
    opacity: .92;
    filter: drop-shadow(0 0 18px rgba(26,167,255,.26));
}


/* =========================================================
   v3.9.32 Driver Profile iRacing Class Tabs
========================================================= */

.kion-license-tabs {
  margin: 24px 0 28px;
}

.kion-license-tab-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.kion-license-tab-button {
  appearance: none;
  border: 1px solid rgba(183,255,42,.28);
  background: linear-gradient(180deg, rgba(8,26,49,.92), rgba(7,16,29,.96));
  color: #d8f3ff;
  border-radius: 999px;
  padding: 10px 15px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease;
}

.kion-license-tab-button:hover,
.kion-license-tab-button.is-active {
  color: var(--kion-lime);
  border-color: rgba(183,255,42,.78);
  box-shadow: 0 0 22px rgba(183,255,42,.14);
  transform: translateY(-1px);
}

.kion-license-tab-panel {
  display: none;
}

.kion-license-tab-panel.is-active {
  display: block;
}

.kion-license-tab-panel .driver-stats-large {
  border: 1px solid rgba(183,255,42,.14);
  border-radius: 22px;
  padding: 18px;
  background: radial-gradient(circle at top left, rgba(26,167,255,.10), rgba(4,10,18,.68) 58%);
}

@media (max-width: 720px) {
  .kion-license-tab-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  .kion-license-tab-button {
    width: 100%;
  }
}


/* =========================================================
   v3.9.36 Driver Profile Sync Debug
========================================================= */

.kion-profile-sync-debug {
  margin: 14px 0 22px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed rgba(183,255,42,.38);
  background: rgba(183,255,42,.06);
  color: #d8f3ff;
  font-size: 13px;
}


/* =========================================================
   v3.10.0 Garage61 Lap Intelligence Core
========================================================= */

.kion-lap-intelligence-card {
  border: 1px solid rgba(183,255,42,.18);
  border-radius: 18px;
  background: radial-gradient(circle at top left, rgba(26,167,255,.08), rgba(4,10,18,.86) 62%);
  padding: 18px;
}


/* =========================================================
   v3.10.2 Garage61 Synced Statistics Records
========================================================= */

.kion-g61-activity-panel .driver-stats-large {
  margin-top: 14px;
}

.kion-g61-activity-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.kion-g61-activity-lists h4 {
  margin: 0 0 10px;
  color: var(--kion-lime);
}

.kion-g61-activity-lists ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.kion-g61-activity-lists li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 11px;
  border-radius: 12px;
  border: 1px solid rgba(183,255,42,.16);
  background: rgba(5,12,22,.58);
}

.kion-g61-activity-meta {
  margin: 16px 0 0;
  color: #94a3b8;
  font-size: 13px;
}

@media (max-width: 780px) {
  .kion-g61-activity-lists {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   v3.10.16 Compact Driver Class Stats
========================================================= */

.kion-license-tab-panel {
  position: relative;
}

.kion-class-updated-badge {
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 2;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(216, 243, 255, .70);
  border: 1px solid rgba(183,255,42,.20);
  background: rgba(5,12,22,.76);
  border-radius: 999px;
  padding: 7px 9px;
}

.kion-license-tab-panel .driver-stats-large {
  padding-top: 38px;
}

@media (max-width: 720px) {
  .kion-class-updated-badge {
    position: static;
    display: inline-flex;
    margin: 0 0 10px;
  }

  .kion-license-tab-panel .driver-stats-large {
    padding-top: 18px;
  }
}


/* =========================================================
   v3.10.20 Compact Homepage Hero
========================================================= */

.home .hero-section,
.home .kion-hero,
.front-page .hero-section,
.front-page .kion-hero {
  min-height: auto !important;
  padding-top: clamp(42px, 5vw, 78px) !important;
  padding-bottom: clamp(32px, 4vw, 58px) !important;
}

.home .hero-grid,
.home .kion-hero-grid,
.front-page .hero-grid,
.front-page .kion-hero-grid {
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: center !important;
}

.home .hero-title,
.home .kion-hero-title,
.front-page .hero-title,
.front-page .kion-hero-title {
  font-size: clamp(52px, 6.2vw, 92px) !important;
  line-height: .98 !important;
  letter-spacing: -0.06em !important;
  max-width: 820px !important;
  margin-bottom: 20px !important;
}

.home .hero-copy,
.home .kion-hero-copy,
.front-page .hero-copy,
.front-page .kion-hero-copy {
  font-size: clamp(17px, 1.55vw, 23px) !important;
  line-height: 1.48 !important;
  max-width: 840px !important;
  margin-bottom: 26px !important;
}

.home .hero-eyebrow,
.home .kion-hero-eyebrow,
.front-page .hero-eyebrow,
.front-page .kion-hero-eyebrow {
  margin-bottom: 22px !important;
}

.home .hero-actions,
.home .kion-hero-actions,
.front-page .hero-actions,
.front-page .kion-hero-actions {
  gap: 14px !important;
}

.home .hero-card,
.home .kion-hero-card,
.home .hero-stat-card,
.home .kion-hero-stat-card,
.front-page .hero-card,
.front-page .kion-hero-card,
.front-page .hero-stat-card,
.front-page .kion-hero-stat-card {
  min-height: 108px !important;
  padding: 24px 30px !important;
  border-radius: 24px !important;
}

.home .hero-card small,
.home .kion-hero-card small,
.home .hero-stat-card small,
.home .kion-hero-stat-card small,
.front-page .hero-card small,
.front-page .kion-hero-card small,
.front-page .hero-stat-card small,
.front-page .kion-hero-stat-card small {
  font-size: 13px !important;
  letter-spacing: .18em !important;
  margin-bottom: 14px !important;
}

.home .hero-card strong,
.home .kion-hero-card strong,
.home .hero-stat-card strong,
.home .kion-hero-stat-card strong,
.front-page .hero-card strong,
.front-page .kion-hero-card strong,
.front-page .hero-stat-card strong,
.front-page .kion-hero-stat-card strong {
  font-size: clamp(28px, 2.6vw, 38px) !important;
  line-height: 1.05 !important;
}

@media (max-width: 900px) {
  .home .hero-section,
  .home .kion-hero,
  .front-page .hero-section,
  .front-page .kion-hero {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .home .hero-title,
  .home .kion-hero-title,
  .front-page .hero-title,
  .front-page .kion-hero-title {
    font-size: clamp(42px, 11vw, 64px) !important;
  }

  .home .hero-card,
  .home .kion-hero-card,
  .home .hero-stat-card,
  .home .kion-hero-stat-card,
  .front-page .hero-card,
  .front-page .kion-hero-card,
  .front-page .hero-stat-card,
  .front-page .kion-hero-stat-card {
    min-height: 92px !important;
    padding: 20px 22px !important;
  }
}


/* =========================================================
   v3.10.21 Compact Hero Text Block
========================================================= */

.home .hero-title,
.home .kion-hero-title,
.front-page .hero-title,
.front-page .kion-hero-title {
  font-size: clamp(42px, 4.8vw, 74px) !important;
  line-height: 0.96 !important;
  max-width: 620px !important;
  margin-bottom: 14px !important;
}

.home .hero-copy,
.home .kion-hero-copy,
.front-page .hero-copy,
.front-page .kion-hero-copy {
  font-size: clamp(15px, 1.05vw, 19px) !important;
  line-height: 1.42 !important;
  max-width: 620px !important;
  margin-bottom: 18px !important;
}

.home .hero-actions,
.home .kion-hero-actions,
.front-page .hero-actions,
.front-page .kion-hero-actions {
  margin-top: 10px !important;
}

@media (max-width: 900px) {
  .home .hero-title,
  .home .kion-hero-title,
  .front-page .hero-title,
  .front-page .kion-hero-title {
    font-size: clamp(34px, 10vw, 54px) !important;
    max-width: 100% !important;
  }

  .home .hero-copy,
  .home .kion-hero-copy,
  .front-page .hero-copy,
  .front-page .kion-hero-copy {
    max-width: 100% !important;
  }
}


/* =========================================================
   v3.10.22 Compact Partner Banner Spacing
========================================================= */

.kion-partner-banner,
.partner-banner,
.kion-sponsor-bar,
.kion-partners-bar {
  margin-bottom: 18px !important;
}

.kion-partner-banner + section,
.partner-banner + section,
.kion-sponsor-bar + section,
.kion-partners-bar + section {
  padding-top: 18px !important;
}

.home .kion-partner-banner + section,
.home .partner-banner + section,
.home .kion-sponsor-bar + section,
.home .kion-partners-bar + section {
  margin-top: 0 !important;
}


/* =========================================================
   v3.10.23 Partner/Sponsor Logo Shape Fix
========================================================= */

.kion-partner-card img,
.kion-sponsor-card img,
.partner-card img,
.sponsor-card img,
.kion-partner-logo img,
.kion-sponsor-logo img,
.partner-logo img,
.sponsor-logo img,
.kion-partners-grid img,
.kion-sponsors-grid img {
  border-radius: 0 !important;
  clip-path: none !important;
  overflow: visible !important;
}

.kion-partner-card,
.kion-sponsor-card,
.partner-card,
.sponsor-card {
  overflow: hidden;
}


/* =========================================================
   v3.10.24 Main Partner Logo Radius Override
========================================================= */

.kion-main-partner img,
.kion-main-partner-logo img,
.main-partner img,
.main-partner-logo img,
.kion-featured-partner img,
.kion-featured-partner-logo img,
.kion-main-sponsor img,
.kion-main-sponsor-logo img {
  border-radius: 0 !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  clip-path: none !important;
  overflow: visible !important;
}

.kion-main-partner,
.main-partner,
.kion-featured-partner,
.kion-main-sponsor {
  overflow: visible !important;
}


/* =========================================================
   v3.10.25 Featured Image Original Shape Preservation
========================================================= */

img.wp-post-image,
.partner-featured-image img,
.kion-featured-image img,
.kion-partner-featured-image img,
.kion-driver-featured-image img,
.featured-image img,
.post-thumbnail img {
  border-radius: 0 !important;
  clip-path: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  object-fit: contain !important;
  overflow: visible !important;
}

.partner-featured-image,
.kion-featured-image,
.kion-partner-featured-image,
.kion-driver-featured-image,
.featured-image,
.post-thumbnail {
  overflow: visible !important;
}


/* =========================================================
   v3.10.26 Uniform Moving Partner/Sponsor Banner Logos
========================================================= */

.kion-sponsor-bar img,
.kion-partner-banner img,
.kion-partners-bar img,
.partner-banner img,
.sponsor-banner img,
.kion-logo-marquee img,
.logo-marquee img,
.kion-sponsor-track img,
.kion-partner-track img {
  height: auto !important;
  max-height: 42px !important;
  width: auto !important;
  max-width: 170px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
  clip-path: none !important;
  transform: none !important;
}

.kion-sponsor-bar .partner-logo,
.kion-partner-banner .partner-logo,
.kion-partners-bar .partner-logo,
.partner-banner .partner-logo,
.sponsor-banner .partner-logo,
.kion-logo-marquee .partner-logo,
.logo-marquee .partner-logo,
.kion-sponsor-track .partner-logo,
.kion-partner-track .partner-logo,
.kion-sponsor-bar a,
.kion-partner-banner a,
.kion-partners-bar a,
.partner-banner a,
.sponsor-banner a {
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.kion-sponsor-bar img[alt*="Contest" i],
.kion-partner-banner img[alt*="Contest" i],
.kion-partners-bar img[alt*="Contest" i],
.partner-banner img[alt*="Contest" i],
.sponsor-banner img[alt*="Contest" i],
.kion-sponsor-bar img[alt*="Garage61" i],
.kion-partner-banner img[alt*="Garage61" i],
.kion-partners-bar img[alt*="Garage61" i],
.partner-banner img[alt*="Garage61" i],
.sponsor-banner img[alt*="Garage61" i],
.kion-sponsor-bar img[alt*="F1" i],
.kion-partner-banner img[alt*="F1" i],
.kion-partners-bar img[alt*="F1" i],
.partner-banner img[alt*="F1" i],
.sponsor-banner img[alt*="F1" i] {
  max-height: 34px !important;
  max-width: 150px !important;
}

@media (max-width: 720px) {
  .kion-sponsor-bar img,
  .kion-partner-banner img,
  .kion-partners-bar img,
  .partner-banner img,
  .sponsor-banner img,
  .kion-logo-marquee img,
  .logo-marquee img,
  .kion-sponsor-track img,
  .kion-partner-track img {
    max-height: 34px !important;
    max-width: 140px !important;
  }

  .kion-sponsor-bar .partner-logo,
  .kion-partner-banner .partner-logo,
  .kion-partners-bar .partner-logo,
  .partner-banner .partner-logo,
  .sponsor-banner .partner-logo,
  .kion-logo-marquee .partner-logo,
  .logo-marquee .partner-logo,
  .kion-sponsor-track .partner-logo,
  .kion-partner-track .partner-logo,
  .kion-sponsor-bar a,
  .kion-partner-banner a,
  .kion-partners-bar a,
  .partner-banner a,
  .sponsor-banner a {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }
}


/* Kion v3.10.32 - Mini calendar result badge (loaded stylesheet) */
.mini-calendar-item .mini-calendar-result-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-top: 10px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(26,167,255,.82) !important;
  background: linear-gradient(135deg, rgba(26,167,255,.17), rgba(26,167,255,.06)) !important;
  color: #dff3ff !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  opacity: 1 !important;
  box-shadow:
    0 0 18px rgba(26,167,255,.20),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

.mini-calendar-item .mini-calendar-result-badge .mini-calendar-result-label {
  display: inline !important;
  color: rgba(223,243,255,.78) !important;
  font-size: inherit !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}











/* Kion v3.10.39 - Render track image next to result pill */
.mini-calendar-item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 248px;
}

.mini-calendar-item .mini-calendar-status {
  display: none !important;
}

.mini-calendar-item .mini-calendar-meta:first-of-type {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 26px !important;
}

.mini-calendar-item .calendar-status.mini-status-pill {
  margin-left: auto !important;
  white-space: nowrap !important;
}

.mini-calendar-item .mini-calendar-track {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(214,224,239,.62) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.mini-calendar-bottom-row {
  display: grid !important;
  grid-template-columns: max-content minmax(118px, 1fr) !important;
  align-items: end !important;
  gap: 14px !important;
  margin-top: auto !important;
}

.mini-calendar-bottom-row .mini-calendar-result-badge {
  margin-top: 0 !important;
  align-self: end !important;
}

.mini-calendar-track-image.result-side-image {
  display: block !important;
  width: 100% !important;
  max-width: 172px !important;
  height: 76px !important;
  justify-self: end !important;
  overflow: hidden !important;
  border-radius: 11px !important;
  border: 1px solid rgba(34,167,255,.34) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: 0 0 16px rgba(34,167,255,.14) !important;
}

.mini-calendar-track-image.result-side-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 520px) {
  .mini-calendar-bottom-row {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .mini-calendar-track-image.result-side-image {
    justify-self: start !important;
    max-width: 100% !important;
  }
}


/* Kion v3.10.40 - Keep finished race track image uncropped */
.mini-calendar-track-image.result-side-image {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
}

.mini-calendar-track-image.result-side-image img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}


/* Kion v3.10.41 - Default car placeholder styling */
.kion-car-image-wrap,
.event-car-placeholder,
.kion-car-placeholder {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(34,167,255,.22);
  background: linear-gradient(135deg, rgba(7,20,36,.94), rgba(11,31,53,.86));
  box-shadow: 0 0 18px rgba(34,167,255,.10);
}

.kion-car-image-wrap img,
.event-car-placeholder img,
.kion-car-placeholder img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.kion-car-placeholder {
  border-style: dashed;
  border-color: rgba(34,167,255,.42);
  opacity: .9;
}

.kion-car-placeholder::after {
  content: "CAR TBA";
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(166,255,0,.44);
  background: rgba(166,255,0,.08);
  color: rgba(232,255,190,.92);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 0 12px rgba(166,255,0,.14);
}


/* Kion v3.10.43 - Strategy page Garage61 sync button */
.strategy-sync-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.kion-garage61-planner-sync-form {
  margin-left: auto;
}

.kion-g61-sync-button {
  border-color: rgba(34,167,255,.70) !important;
  background: linear-gradient(135deg, rgba(34,167,255,.22), rgba(34,167,255,.08)) !important;
  color: #dff3ff !important;
  box-shadow: 0 0 16px rgba(34,167,255,.16) !important;
  white-space: nowrap;
}

.kion-planner-sync-notice {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 14px 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(34,167,255,.30);
  background: rgba(34,167,255,.08);
  color: rgba(223,243,255,.92);
  box-shadow: 0 0 16px rgba(34,167,255,.10);
}

.kion-planner-sync-notice.success {
  border-color: rgba(166,255,0,.32);
  background: rgba(166,255,0,.06);
}

.kion-planner-sync-notice.warning {
  border-color: rgba(255,190,80,.36);
  background: rgba(255,190,80,.07);
}

.kion-planner-sync-notice span {
  color: rgba(214,224,239,.72);
  font-size: .86rem;
}

@media (max-width: 720px) {
  .strategy-sync-heading {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .kion-garage61-planner-sync-form {
    grid-column: 1 / -1;
    margin-left: 0;
  }

  .kion-g61-sync-button {
    width: 100%;
  }
}


/* Kion v3.10.44 - Inline coverage check */
.kion-inline-coverage-check {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.kion-inline-coverage-header {
  margin-bottom: 16px;
}

.kion-inline-coverage-header h4 {
  margin: 6px 0;
  color: #dff3ff;
  font-size: 1.05rem;
}

.kion-inline-coverage-header p {
  margin: 0;
  color: rgba(214,224,239,.68);
  font-size: .92rem;
}


/* Kion v3.10.47 - Strategy car filter */
.kion-strategy-car-filter {
  display: flex;
  align-items: end;
  gap: 14px;
  flex-wrap: wrap;
  margin: 16px 0 18px;
  padding: 14px;
  border: 1px solid rgba(34,167,255,.20);
  border-radius: 16px;
  background: rgba(34,167,255,.055);
}

.kion-strategy-car-filter label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 260px;
}

.kion-strategy-car-filter label span {
  color: rgba(214,224,239,.72);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.kion-strategy-car-filter select {
  min-height: 40px;
}

.kion-strategy-car-filter small {
  color: rgba(214,224,239,.62);
  max-width: 520px;
  line-height: 1.35;
}

.kion-strategy-car-intel-panel {
  margin-top: 14px;
}


/* Kion v3.10.48 - Step 4 only shows drivers selected in step 2 */
.kion-step4-selected-driver-warning {
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,190,80,.35);
  background: rgba(255,190,80,.08);
  color: rgba(255,236,205,.92);
  font-weight: 700;
}

.strategy-driver-card.is-not-selected-for-event {
  display: none !important;
}


/* Kion v3.10.51 - Planner draft preservation for car filter reloads */
.kion-strategy-car-filter::after {
  content: "Unsaved planner input is temporarily preserved when changing this filter.";
  color: rgba(214,224,239,.52);
  font-size: .78rem;
}


/* Kion v3.10.52 - Track-aware used car filter */
.kion-strategy-car-filter small {
  color: rgba(166,255,0,.68);
}


/* Kion v3.10.56 - Garage61 planner sync status clarity */
.kion-planner-sync-notice small {
  color: rgba(166,255,0,.72);
  font-size: .82rem;
  line-height: 1.35;
}


/* Kion v3.10.57 - G61 selected driver filtering */
[data-step4-g61-intel-panel] .kion-driver-intel-card.is-not-selected-for-event {
  display: none !important;
}

[data-step4-g61-intel-panel].has-no-selected-drivers .kion-strategy-intel-grid {
  display: none !important;
}


/* Kion v3.10.58 - Recommended order selected drivers only */
[data-step4-recommendations-panel] .is-not-selected-for-event {
  display: none !important;
}


/* Kion v3.10.59 - AI recommendation strict selected driver filter */
[data-step4-recommendations-panel] .strategy-ai-rank-card.is-not-selected-for-event {
  display: none !important;
}


/* Kion v3.10.60 - Per-driver G61 car selector */
.kion-driver-g61-car-selector {
  margin: 14px 0 16px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(34,167,255,.18);
  background: rgba(34,167,255,.055);
}

.kion-driver-g61-car-selector-head {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 10px;
}

.kion-driver-g61-car-selector-head strong {
  color: #dff3ff;
  font-size: .92rem;
}

.kion-driver-g61-car-selector-head small {
  color: rgba(214,224,239,.58);
  font-size: .78rem;
}

.kion-driver-g61-car-radio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.kion-driver-g61-car-radio {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  cursor: pointer;
}

.kion-driver-g61-car-radio:has(input:checked) {
  border-color: rgba(166,255,0,.42);
  background: rgba(166,255,0,.075);
  box-shadow: 0 0 14px rgba(166,255,0,.10);
}

.kion-driver-g61-car-radio span {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.kion-driver-g61-car-radio strong {
  color: rgba(223,243,255,.96);
  font-size: .82rem;
}

.kion-driver-g61-car-radio small {
  color: rgba(214,224,239,.60);
  font-size: .72rem;
}


/* Kion v3.10.61 - Team car recommendation */
.kion-team-car-recommendation {
  margin: 18px 0;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(34,167,255,.24);
  background: rgba(34,167,255,.055);
  box-shadow: 0 0 18px rgba(34,167,255,.08);
}

.kion-recommended-team-car {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 14px 0;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(166,255,0,.36);
  background: rgba(166,255,0,.07);
}

.kion-recommended-team-car span,
.kion-team-car-option small,
.kion-team-car-option em,
.kion-team-car-debug small {
  color: rgba(214,224,239,.66);
}

.kion-recommended-team-car strong {
  color: #dff3ff;
  font-size: 1.28rem;
}

.kion-team-car-table {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.kion-team-car-option {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  cursor: pointer;
}

.kion-team-car-option:has(input:checked) {
  border-color: rgba(166,255,0,.42);
  background: rgba(166,255,0,.075);
}

.kion-team-car-option span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.kion-team-car-option strong {
  color: #dff3ff;
}

.kion-team-car-option em {
  font-style: normal;
  font-size: .78rem;
}

.kion-team-car-debug {
  margin-top: 14px;
  color: rgba(214,224,239,.76);
}

.kion-team-car-debug-grid {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.kion-team-car-debug-grid div {
  padding: 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}

.kion-team-car-debug-grid code {
  display: block;
  margin-top: 4px;
  white-space: normal;
  color: rgba(166,255,0,.78);
}


/* Kion v3.10.65 - Step 4 team-car selected-driver filter */
.kion-step4-scope-note {
  margin: 12px 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(166,255,0,.24);
  background: rgba(166,255,0,.055);
  color: rgba(232,255,190,.86);
  font-size: .84rem;
  font-weight: 700;
}

[data-step4-team-car-recommendation] .is-not-selected-for-event {
  display: none !important;
}

.kion-team-car-debug.has-no-selected-drivers::after {
  content: "No selected step-2 drivers in this debug set.";
  display: block;
  margin-top: 10px;
  color: rgba(214,224,239,.62);
}


/* Kion v3.10.66 - Compact team-car recommendation grid */
.kion-team-car-table {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch;
}

.kion-team-car-option {
  height: 100%;
  min-height: 118px;
  padding: 10px !important;
}

.kion-team-car-option span {
  gap: 3px !important;
}

.kion-team-car-option strong {
  font-size: .9rem;
  line-height: 1.2;
}

.kion-team-car-option small {
  font-size: .72rem;
  line-height: 1.3;
}

.kion-team-car-option em {
  margin-top: auto;
  font-size: .7rem;
  line-height: 1.2;
}

@media (min-width: 1600px) {
  .kion-team-car-table {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1100px) and (max-width: 1599px) {
  .kion-team-car-table {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1099px) {
  .kion-team-car-table {
    grid-template-columns: 1fr !important;
  }
}


/* Kion v3.10.67 - Classified team-car grid */
.kion-team-car-class-groups {
  display: grid;
  gap: 16px;
  margin-top: 14px;
}

.kion-team-car-class-group {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
}

.kion-team-car-class-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.kion-team-car-class-heading strong {
  color: #dff3ff;
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.kion-team-car-class-heading small {
  color: rgba(166,255,0,.72);
  font-size: .75rem;
  font-weight: 800;
}


/* Kion v3.10.68 - Collapsible car class groups */
.kion-team-car-class-group {
  overflow: hidden;
}

.kion-team-car-class-heading {
  cursor: pointer;
  list-style: none;
}

.kion-team-car-class-heading::-webkit-details-marker {
  display: none;
}

.kion-team-car-class-heading::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-left: auto;
  border-radius: 999px;
  border: 1px solid rgba(34,167,255,.32);
  color: rgba(166,255,0,.86);
  font-weight: 900;
  line-height: 1;
}

.kion-team-car-class-group[open] .kion-team-car-class-heading::after {
  content: "–";
}

.kion-team-car-class-group:not([open]) {
  padding-bottom: 12px;
}

.kion-team-car-class-group:not([open]) .kion-team-car-class-heading {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.kion-team-car-class-group[open] .kion-team-car-table {
  animation: kionClassGroupReveal .18s ease-out;
}

@keyframes kionClassGroupReveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* Kion v3.10.69 - Shared car check */
.kion-shared-car-check {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 12px 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: .86rem;
}

.kion-shared-car-check.success {
  border: 1px solid rgba(166,255,0,.38);
  background: rgba(166,255,0,.07);
  color: rgba(232,255,190,.94);
}

.kion-shared-car-check.warning {
  border: 1px solid rgba(255,190,80,.38);
  background: rgba(255,190,80,.075);
  color: rgba(255,236,205,.94);
}

.kion-shared-car-check span {
  color: rgba(214,224,239,.70);
}

.kion-team-car-option.is-shared-by-all {
  border-color: rgba(166,255,0,.45) !important;
  box-shadow: 0 0 16px rgba(166,255,0,.10);
}

.kion-shared-car-badge {
  display: inline-flex;
  width: fit-content;
  margin-top: 3px;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: .64rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.kion-shared-car-badge.success {
  border: 1px solid rgba(166,255,0,.42);
  background: rgba(166,255,0,.08);
  color: rgba(232,255,190,.96);
}

.kion-shared-car-badge.partial {
  border: 1px solid rgba(255,190,80,.30);
  background: rgba(255,190,80,.07);
  color: rgba(255,236,205,.82);
}


/* Kion v3.10.70 - Track match debug panel */
.kion-track-match-debug-panel {
  margin: 16px 0;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(34,167,255,.22);
  background: rgba(34,167,255,.045);
}

.kion-track-match-debug-panel summary {
  cursor: pointer;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
}

.kion-track-match-debug-panel summary::-webkit-details-marker {
  display: none;
}

.kion-track-match-debug-panel summary strong {
  color: #dff3ff;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.kion-track-match-debug-panel summary small {
  color: rgba(166,255,0,.76);
  font-weight: 800;
}

.kion-track-debug-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.kion-track-debug-card {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.kion-track-debug-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.kion-track-debug-head strong {
  color: #dff3ff;
}

.kion-track-debug-head small {
  color: rgba(214,224,239,.62);
}

.kion-track-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.kion-track-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 999px;
  font-size: .74rem;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
}

.kion-track-chip strong {
  color: rgba(223,243,255,.9);
  font-weight: 800;
}

.kion-track-chip small {
  color: rgba(214,224,239,.58);
}

.kion-track-chip.is-match {
  border-color: rgba(166,255,0,.42);
  background: rgba(166,255,0,.075);
}

.kion-track-chip.is-match strong,
.kion-track-chip.is-match small {
  color: rgba(232,255,190,.95);
}

[data-step4-track-debug] .is-not-selected-for-event {
  display: none !important;
}


/* Kion v3.10.71 - Final plan live availability */
.final-slot-empty-message {
  margin-top: 10px;
}


/* Kion v3.10.74 - Driver last activity card */
.kion-driver-last-activity-panel {
  border-color: rgba(34,167,255,.24);
  background: rgba(34,167,255,.045);
}

.kion-driver-last-activity-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.kion-driver-last-activity-details span {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 9px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}

.kion-driver-last-activity-details small {
  color: rgba(214,224,239,.58);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .68rem;
  font-weight: 800;
}

.kion-driver-last-activity-details strong {
  color: #dff3ff;
  font-size: .88rem;
}

.kion-driver-last-activity-note {
  display: block;
  margin-top: 10px;
  color: rgba(166,255,0,.72);
  font-size: .78rem;
}


/* Kion v3.10.76 - G61 statistics debug panel */
.kion-g61-statistics-debug-panel {
  margin-top: 14px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,190,80,.30);
  background: rgba(255,190,80,.055);
}

.kion-g61-statistics-debug-panel summary {
  cursor: pointer;
  color: rgba(255,236,205,.95);
  font-weight: 800;
}

.kion-g61-statistics-debug-panel p {
  color: rgba(214,224,239,.72);
  font-size: .84rem;
}

.kion-g61-statistics-debug-panel textarea {
  width: 100%;
  min-height: 240px;
  margin-top: 8px;
  border-radius: 10px;
  background: rgba(0,0,0,.25);
  color: rgba(223,243,255,.92);
  border: 1px solid rgba(255,255,255,.12);
  font-family: Consolas, Monaco, monospace;
  font-size: 12px;
}


/* Kion v3.10.77 - Mobile optimisation layer */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
}

.container,
.site-container,
.wrap {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .container {
    width: min(100% - 28px, 100%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .section,
  .hero-section,
  .surface,
  .stint-planner-section,
  .pro-calendar-section,
  .driver-profile-section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .hero-grid,
  .calendar-heading,
  .section-heading,
  .driver-profile-grid,
  .footer-grid,
  .site-footer .container,
  .planner-step-heading,
  .strategy-sync-heading {
    grid-template-columns: 1fr !important;
    display: grid;
    gap: 18px;
  }

  .hero-copy h1,
  .section-heading h2,
  .calendar-heading h2 {
    font-size: clamp(2rem, 9vw, 3.2rem) !important;
    line-height: .95 !important;
    letter-spacing: -.04em;
  }

  .hero-copy p,
  .section-heading p,
  .calendar-heading p {
    font-size: .98rem !important;
    line-height: 1.55 !important;
  }

  .hero-actions,
  .calendar-actions,
  .driver-profile-card .button,
  .driver-profile-card .button + .button {
    width: 100%;
  }

  .hero-actions,
  .calendar-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .button,
  button.button,
  input[type="submit"].button {
    width: 100%;
    justify-content: center;
    text-align: center;
    min-height: 44px;
  }

  .card,
  .hero-panel,
  .stat-card,
  .kion-data-panel,
  .driver-profile-card,
  .driver-profile-content,
  .planner-step-card {
    border-radius: 18px !important;
  }
}

/* Header / navigation */
@media (max-width: 900px) {
  .site-header,
  .kion-header,
  header.site-header {
    position: relative !important;
    top: auto !important;
  }

  .site-header .container,
  .kion-header-inner,
  .main-navigation,
  .primary-menu,
  .menu {
    max-width: 100%;
  }

  .main-navigation ul,
  .primary-menu,
  .menu {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }

  .main-navigation a,
  .primary-menu a,
  .menu a {
    padding: 9px 10px !important;
    font-size: .82rem !important;
  }
}

/* Frontpage / cards */
@media (max-width: 900px) {
  .race-grid,
  .calendar-grid,
  .kion-calendar-grid,
  .drivers-grid,
  .team-grid,
  .partners-grid,
  .sponsor-grid,
  .kion-class-grid,
  .driver-stats,
  .driver-stats-large,
  .kion-license-tab-buttons,
  .kion-driver-last-activity-details {
    grid-template-columns: 1fr !important;
  }

  .race-card,
  .event-card,
  .driver-card,
  .partner-card,
  .sponsor-card {
    min-width: 0 !important;
  }

  .driver-card img,
  .race-card img,
  .event-card img,
  .featured-image,
  .wp-post-image {
    width: 100%;
    object-fit: contain;
  }

  .kion-moving-partners,
  .partner-marquee,
  .sponsor-marquee {
    max-width: 100vw;
    overflow: hidden;
  }
}

/* Calendar / event result cards */
@media (max-width: 900px) {
  .calendar-event-card,
  .kion-event-card,
  .race-result-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .event-status-pill,
  .result-pill,
  .finished-pill,
  .calendar-pill {
    position: static !important;
    width: fit-content;
    max-width: 100%;
  }

  .event-trackmap,
  .calendar-trackmap,
  .race-trackmap,
  .finished-trackmap {
    width: 100% !important;
    max-width: 220px !important;
    justify-self: start !important;
    object-fit: contain !important;
  }
}

/* Driver profile */
@media (max-width: 900px) {
  .driver-profile-grid {
    align-items: stretch !important;
  }

  .driver-profile-card {
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }

  .driver-profile-card img,
  .driver-avatar-large,
  .kion-lion-profile-placeholder {
    width: min(100%, 280px) !important;
    margin-left: auto;
    margin-right: auto;
  }

  .driver-meta,
  .driver-meta.stacked {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .driver-meta span {
    max-width: 100%;
  }

  .kion-license-tab-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .kion-license-tab-button {
    width: 100%;
  }

  .kion-results-table-wrap,
  .kion-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }

  .kion-results-table,
  table {
    min-width: 720px;
  }

  .kion-g61-statistics-debug-panel textarea {
    min-height: 200px;
    font-size: 11px;
  }
}

/* Stint planner / strategy wizard */
@media (max-width: 900px) {
  .planner-wizard,
  .strategy-wizard,
  .kion-app-wizard {
    max-width: 100%;
  }

  .kion-wizard-progress {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .kion-wizard-step {
    width: 100%;
    min-width: 0;
    padding: 9px 8px !important;
    font-size: .78rem !important;
  }

  .planner-step-heading,
  .strategy-sync-heading {
    align-items: stretch !important;
  }

  .planner-step-number {
    width: 38px !important;
    height: 38px !important;
  }

  .kion-garage61-planner-sync-link,
  .kion-g61-sync-button {
    width: 100% !important;
  }

  .planner-field-grid,
  .strategy-field-grid,
  .auto-stint-grid,
  .final-stint-detail-grid,
  .manual-stint-time-controls,
  .driver-picker-grid,
  .availability-grid,
  .coverage-board,
  .strategy-driver-grid,
  .kion-strategy-intel-grid,
  .kion-team-car-table,
  .kion-track-debug-grid {
    grid-template-columns: 1fr !important;
  }

  .availability-table,
  .coverage-board,
  .auto-stint-slot-list,
  .stint-driver-radio-group,
  .kion-track-chip-grid {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .availability-driver-row,
  .coverage-slot,
  .auto-stint-slot-card,
  .strategy-driver-card,
  .kion-driver-intel-card,
  .kion-team-car-option,
  .kion-track-debug-card {
    min-width: 0 !important;
  }

  .auto-stint-slot-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .stint-coverage-badge,
  .slot-coverage-indicator {
    width: fit-content;
  }

  .kion-strategy-car-filter {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }

  .kion-strategy-car-filter label {
    min-width: 0 !important;
  }

  .kion-team-car-class-heading,
  .kion-track-match-debug-panel summary {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center;
  }

  .kion-team-car-class-heading small,
  .kion-track-match-debug-panel summary small {
    grid-column: 1 / -1;
  }
}

/* Very small phones */
@media (max-width: 520px) {
  .container {
    width: min(100% - 20px, 100%) !important;
  }

  .hero-copy h1,
  .section-heading h2,
  .calendar-heading h2 {
    font-size: clamp(1.85rem, 11vw, 2.55rem) !important;
  }

  .eyebrow {
    font-size: .68rem !important;
    letter-spacing: .12em !important;
  }

  .card,
  .kion-data-panel,
  .planner-step-card,
  .driver-profile-card {
    padding: 16px !important;
  }

  .kion-wizard-progress {
    grid-template-columns: 1fr !important;
  }

  .kion-track-chip-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .kion-track-chip,
  .result-pill,
  .event-status-pill,
  .calendar-pill {
    width: 100%;
    justify-content: space-between;
  }

  .kion-team-car-option {
    grid-template-columns: 1fr !important;
  }

  .kion-team-car-option input[type="radio"] {
    justify-self: start;
  }
}


/* Kion v3.10.78 - Dedicated mobile driver profile optimisation */
@media (max-width: 900px) {
  body.single-kion_driver .driver-profile-section {
    padding-top: 22px !important;
  }

  body.single-kion_driver .driver-profile-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-kion_driver .driver-profile-card,
  body.single-kion_driver .driver-profile-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-kion_driver .driver-profile-card {
    position: relative !important;
    top: auto !important;
    padding: 18px !important;
    text-align: center;
  }

  body.single-kion_driver .driver-profile-card > img,
  body.single-kion_driver .driver-profile-card .wp-post-image,
  body.single-kion_driver .driver-avatar-placeholder,
  body.single-kion_driver .driver-avatar-large,
  body.single-kion_driver .kion-lion-profile-placeholder {
    display: block !important;
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: contain !important;
    margin: 0 auto 14px !important;
  }

  body.single-kion_driver .driver-role {
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  body.single-kion_driver .driver-profile-card h1 {
    font-size: clamp(1.75rem, 9vw, 2.6rem) !important;
    line-height: 1 !important;
    margin: 10px 0 !important;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  body.single-kion_driver .driver-profile-summary {
    font-size: .95rem !important;
    line-height: 1.45 !important;
  }

  body.single-kion_driver .driver-meta.stacked,
  body.single-kion_driver .driver-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }

  body.single-kion_driver .driver-meta span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center;
    overflow-wrap: anywhere;
  }

  body.single-kion_driver .driver-profile-card .button {
    display: flex !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  body.single-kion_driver .driver-profile-content {
    padding: 18px !important;
  }

  body.single-kion_driver .driver-profile-content > h2 {
    font-size: clamp(1.65rem, 7vw, 2.3rem) !important;
    line-height: 1.05 !important;
  }

  body.single-kion_driver .kion-license-tabs {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  body.single-kion_driver .kion-license-tab-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.single-kion_driver .kion-license-tab-button {
    width: 100% !important;
    min-height: 42px;
    justify-content: center;
    text-align: center;
    white-space: normal !important;
  }

  body.single-kion_driver .kion-license-tab-panel {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    box-sizing: border-box !important;
  }

  body.single-kion_driver .kion-class-updated-badge {
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 12px;
  }

  body.single-kion_driver .driver-stats,
  body.single-kion_driver .driver-stats-large {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.single-kion_driver .driver-stats > div,
  body.single-kion_driver .driver-stats-large > div {
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center;
  }

  body.single-kion_driver .driver-stats strong,
  body.single-kion_driver .driver-stats-large strong {
    font-size: clamp(1rem, 5vw, 1.35rem) !important;
    overflow-wrap: anywhere;
  }

  body.single-kion_driver .kion-data-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }

  body.single-kion_driver .kion-data-panel h3 {
    font-size: 1.15rem !important;
    line-height: 1.2 !important;
  }

  body.single-kion_driver .kion-data-panel p {
    font-size: .94rem !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
  }

  body.single-kion_driver .kion-driver-last-activity-details,
  body.single-kion_driver .kion-class-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.single-kion_driver .kion-results-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 14px;
  }

  body.single-kion_driver .kion-results-table-wrap::after {
    content: "Swipe sideways to view full table";
    display: block;
    padding: 8px 2px 0;
    color: rgba(214,224,239,.52);
    font-size: .72rem;
    text-align: center;
  }

  body.single-kion_driver .kion-results-table {
    min-width: 760px !important;
    width: 760px !important;
  }

  body.single-kion_driver .kion-results-table th,
  body.single-kion_driver .kion-results-table td {
    padding: 9px 10px !important;
    font-size: .78rem !important;
    white-space: nowrap;
  }

  body.single-kion_driver .kion-profile-sync-debug,
  body.single-kion_driver .kion-g61-statistics-debug-panel {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }

  body.single-kion_driver .kion-g61-statistics-debug-panel textarea {
    width: 100% !important;
    min-height: 180px !important;
    max-width: 100% !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 520px) {
  body.single-kion_driver .driver-profile-section .container {
    width: calc(100% - 18px) !important;
  }

  body.single-kion_driver .driver-profile-card,
  body.single-kion_driver .driver-profile-content,
  body.single-kion_driver .kion-data-panel {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  body.single-kion_driver .driver-profile-card > img,
  body.single-kion_driver .driver-profile-card .wp-post-image,
  body.single-kion_driver .driver-avatar-placeholder,
  body.single-kion_driver .driver-avatar-large,
  body.single-kion_driver .kion-lion-profile-placeholder {
    width: min(100%, 210px) !important;
    max-width: 210px !important;
  }

  body.single-kion_driver .driver-profile-card h1 {
    font-size: clamp(1.55rem, 11vw, 2.2rem) !important;
  }

  body.single-kion_driver .driver-meta span,
  body.single-kion_driver .driver-stats > div,
  body.single-kion_driver .driver-stats-large > div,
  body.single-kion_driver .kion-driver-last-activity-details span {
    padding: 10px !important;
  }
}


/* Kion v3.10.79 - Driver cards: remove duplicate plain meta, keep pills */
.driver-card .driver-meta:not(.stacked),
.driver-card .driver-profile-summary,
.driver-card .driver-card-summary,
.driver-card .driver-card-meta,
.kion-driver-card .driver-meta:not(.stacked),
.kion-driver-card .driver-profile-summary,
.kion-driver-card .driver-card-summary,
.kion-driver-card .driver-card-meta {
  display: none !important;
}

/* Keep actual pill/badge metadata visible */
.driver-card .driver-pill,
.driver-card .driver-pills,
.driver-card .driver-badge,
.driver-card .driver-badges,
.driver-card .driver-role,
.driver-card .kion-pill,
.driver-card .kion-driver-pill,
.driver-card .kion-driver-tags,
.driver-card .driver-tags,
.kion-driver-card .driver-pill,
.kion-driver-card .driver-pills,
.kion-driver-card .driver-badge,
.kion-driver-card .driver-badges,
.kion-driver-card .driver-role,
.kion-driver-card .kion-pill,
.kion-driver-card .kion-driver-pill,
.kion-driver-card .kion-driver-tags,
.kion-driver-card .driver-tags {
  display: flex !important;
}

/* If the duplicate text is rendered as plain paragraphs/spans directly under the card, hide only known meta wrappers. */
.drivers-grid .driver-card > .driver-meta,
.drivers-grid .driver-card > .driver-profile-summary,
.drivers-grid .driver-card > .driver-card-summary,
.team-grid .driver-card > .driver-meta,
.team-grid .driver-card > .driver-profile-summary,
.team-grid .driver-card > .driver-card-summary {
  display: none !important;
}
