/* September 2026: keep purchase information close to the product at every width. */
html body.race-home .fan-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(24px, 4vw, 64px) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(32px, 5vw, 72px) clamp(24px, 5vw, 80px) !important;
}
html body.race-home .fan-hero > img {
  position: relative !important;
  inset: auto !important;
  grid-column: 2;
  grid-row: 1;
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  aspect-ratio: 1.15;
  object-fit: cover !important;
  border-radius: 18px !important;
  z-index: 1;
}
html body.race-home .fan-hero-copy {
  grid-column: 1;
  grid-row: 1;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 680px !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 2;
}
html body.race-home .fan-hero h1 {
  font-size: clamp(36px, 4.1vw, 64px) !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}
html body.race-home .fan-hero .theme-kicker { display: none !important; }
html body.race-home .fan-hero p { font-size: 17px !important; line-height: 1.65 !important; }
html body.race-home .fan-hero .hero-actions { margin-top: 24px !important; }
html body .product-ad-copy h1 { text-wrap: balance; }
html body .product-official-note:empty { display: none; }
html body .product-variant-choice { min-height: 48px; }
html body #product-mp-button + #product-add-cart-button { display: flex !important; pointer-events: auto !important; }
html body .product-buy-panel .integration-note { font-size: 13px; line-height: 1.5; }
html body .product-buy-panel { grid-template-columns: minmax(0, 1fr) !important; }
html body .product-buy-panel > * { min-width: 0 !important; max-width: 100% !important; }
html body .product-buy-panel .product-price { font-size: clamp(30px, 2.5vw, 40px) !important; line-height: 1.15 !important; }
html body .product-buy-panel .product-variant-options { grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)) !important; }
html body .product-buy-panel .product-variant-choice { min-width: 0 !important; }
@media (min-width: 1100px) {
  html body .product-ad-page .product-ad-hero {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) minmax(320px, 380px) !important;
    align-items: center !important;
    min-height: 0 !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  html body .product-ad-page .product-ad-hero > * { min-width: 0 !important; }
}
html body .product-gallery-rail img { object-fit: contain; }
html body .product-info { display: block; }
html body .product-info > details { padding: 14px 0; border-bottom: 1px solid var(--line); }
html body .product-info > details > summary { cursor: pointer; font-size: 17px; font-weight: 700; min-height: 32px; }
html body .product-info > details > summary:focus-visible { outline: 3px solid #e5b900; outline-offset: 4px; }
html body .product-info > details > p { font-size: 15px; line-height: 1.6; max-width: 76ch; }
html body .product-combo-section { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html body :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #e5b900;
  outline-offset: 4px;
}
html body .skip-to-content {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 999999;
  padding: 14px 20px;
  background: #ffdf57;
  color: #111;
  border-radius: 8px;
  font-weight: 700;
}
html body .skip-to-content:focus { top: 12px; }
@media (max-width: 760px) {
  html body .product-page { padding-top: 0 !important; }
  html body.configurator-lite-page .configurator-hero { margin: 0 14px 12px !important; padding: 16px !important; }
  html body.configurator-lite-page .configurator-hero h1,
  html body.flight-config-lite .flight-hero-copy h1,
  html body .vr-config-hero h1 { font-size: 28px !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
  html body.configurator-lite-page .section-heading h2,
  html body.configurator-lite-page .ecosystem-stage-header h3 { font-size: 22px !important; line-height: 1.2 !important; }
  html body.configurator-lite-page .ecosystem-switch { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.configurator-lite-page .ecosystem-card { min-width: 0 !important; padding: 12px !important; gap: 8px !important; }
  html body.configurator-lite-page .ecosystem-card::after { position: static; grid-row: 1; justify-self: start; font-size: 10px; padding: 6px 8px; }
  html body.configurator-lite-page .ecosystem-card :is(strong, b) { display: none !important; }
  html body.configurator-lite-page .ecosystem-card small { font-size: 12px !important; line-height: 1.4 !important; }
  html body.flight-config-lite .flight-hero { padding: 20px 14px !important; min-height: 0 !important; }
  html body.flight-config-lite .flight-hero-panel,
  html body.flight-config-lite .flight-trust-strip,
  html body .vr-config-hero-card { display: none !important; }
  html body.flight-config-lite .flight-hero-copy > p:not(.eyebrow),
  html body .vr-config-hero > div > p:not(.eyebrow) { font-size: 15px !important; line-height: 1.5 !important; }
  html body .vr-config-hero { padding: 22px 16px !important; min-height: 0 !important; }
  html body .vr-bundle-discount { padding: 16px !important; margin-block: 12px !important; }
  html body .vr-bundle-discount h2 { font-size: 20px !important; line-height: 1.25 !important; }
  html body .vr-bundle-discount p { font-size: 14px !important; line-height: 1.5 !important; }
  html body.ready-race-page .fan-hero { padding: 20px 16px !important; min-height: 0 !important; gap: 16px !important; }
  html body.ready-race-page .fan-hero > img { height: 160px !important; min-height: 0 !important; object-fit: cover !important; }
  html body.ready-race-page .fan-hero h1 { font-size: 28px !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
  html body.ready-race-page .fan-hero p { font-size: 15px !important; line-height: 1.5 !important; }
  html body.cart-page .checkout-page-shell { padding-top: 20px !important; }
  html body.cart-page .checkout-stepper { margin-block: 8px 20px !important; }
  html body.cart-page .checkout-panel-heading h1 { font-size: 26px !important; line-height: 1.15 !important; }
  html body.cart-page .checkout-session-note { font-size: 13px; line-height: 1.5; }
  html body.race-home .fan-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    padding: 28px 20px !important;
  }
  html body.race-home .fan-hero-copy { grid-column: 1; grid-row: 1; }
  html body.race-home .fan-hero > img {
    grid-column: 1; grid-row: 2;
    aspect-ratio: 1.6;
    max-height: 280px !important;
  }
  html body.race-home .fan-hero :is(h1,p,.hero-actions) {
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
  }
  html body.race-home .fan-hero h1 { font-size: clamp(34px, 9vw, 44px) !important; }
  html body.race-home .fan-hero p { font-size: 16px !important; }
  html body .product-ad-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 20px 16px !important;
    min-height: 0 !important;
  }
  html body .product-ad-hero > .product-ad-copy { order: 0; padding: 12px !important; }
  html body .product-ad-hero > .product-ad-media { order: 1; min-height: 0 !important; height: 170px !important; padding: 8px !important; }
  html body .product-ad-hero > .product-buy-panel { order: 2; padding: 16px !important; gap: 10px !important; }
  html body .product-buy-panel .product-price { margin: 6px 0 !important; }
  html body .product-ad-media > img { max-height: 160px !important; height: 100% !important; object-fit: contain !important; }
  html body .product-ad-copy h1 { font-size: 28px !important; line-height: 1.12 !important; margin: 8px 0 !important; }
  html body .product-ad-copy .product-ad-subtitle { display: none !important; }
  html body .product-ad-copy > p:not(.eyebrow) { font-size: 15px !important; line-height: 1.5 !important; margin: 12px 0 !important; }
  html body .product-ad-highlights { gap: 6px !important; margin: 12px 0 0 !important; }
  html body .product-ad-highlights span { font-size: 10px !important; padding: 7px 9px !important; }
  html body .product-gallery-rail { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .product-gallery-rail figure { min-width: 0 !important; }
  html body .product-combo-section { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  html body *, html body *::before, html body *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
