/* ---- chicane (Chicane — Clubman circuit racing series 287) -----------------
   THE STRUCTURAL MOVE: the sponsor strip is TYPE, not picture files. A plain
   bullet list is unhooked from the 760px text measure, dropped onto a slightly
   raised panel and run full bleed as six evenly spaced marks in one gapped row
   — the shortest band on the page — so a series can carry a sponsor rail with
   no logo assets at all. Everything else is one unbroken tarmac ground cut only
   by hairlines, content held to a 1000px measure so the black gutters do most
   of the composing, and the red kept to three jobs: the slab button, the
   leading standings row and the small eyebrows. It never fills a panel. Bands
   are reached by CLASS or by :has(), never :nth-of-type, and nothing inside the
   header is positioned, ordered or reversed. */
body.t-chicane.ws-body {
  --bg: #0b0c0d; --fg: #9aa0a6; --heading: #f2f3f5; --text: #9aa0a6; --muted: #6f767c;
  --chc-red: #e03a20; --chc-line: #23262a; --chc-panel: #101215;
  --hero-a: rgba(6, 7, 8, .34); --hero-b: rgba(6, 7, 8, .80);
}
body.t-chicane { background: var(--bg); }

/* a flat row of short one-word items beside the wordmark — type only */
/* SEVEN links beside a long, heavily tracked wordmark overflowed the bar at
   1280px and wrapped, which pushed the wordmark below its own menu. The type
   tightens rather than the row breaking — the header must stay one line. */
body.t-chicane .ws-nav-inner { flex-wrap: nowrap; gap: 22px; }
body.t-chicane .ws-brand { color: var(--heading); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
body.t-chicane .ws-nav-links { flex-wrap: nowrap; gap: 15px; }
body.t-chicane .ws-nav-links a { font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; opacity: .9; }

/* the top band is a banner, not a poster: 70vh, centred, one solid slab */
body.t-chicane .ws-hero { min-height: 70vh; }
body.t-chicane .ws-hero h1 { font-size: clamp(30px, 5.2vw, 56px); font-weight: 800; letter-spacing: -.03em; line-height: 1.04; text-transform: uppercase; text-shadow: none; }
body.t-chicane.ws-body .btn.brand, body.t-chicane.ws-body .ws-hero-cta.btn.brand, body.t-chicane.ws-body .ws-cta .btn.brand { background: var(--chc-red); color: #ffffff; border-radius: 0; box-shadow: none; text-transform: uppercase; letter-spacing: .16em; font-size: 11.5px; font-weight: 700; padding: 16px 34px; }

/* one ground the whole way down — the zebra tint goes, a hairline replaces it */
body.t-chicane.ws-body .ws-section, body.t-chicane.ws-body .ws-section:nth-child(even):not(.ws-cta):not(.ws-shoplink) { background: transparent; border-top: 1px solid var(--chc-line); padding: 84px 0; }
body.t-chicane .ws-section .ws-container:not(.ws-narrow) { max-width: 1000px; }
body.t-chicane .ws-h2, body.t-chicane .ws-story-copy h2 { color: var(--heading); text-align: left; text-transform: uppercase; font-weight: 800; font-size: clamp(21px, 2.7vw, 30px); letter-spacing: -.01em; margin: 0 0 24px; }
body.t-chicane .ws-sub, body.t-chicane .ws-story-copy p, body.t-chicane .ws-feature p, body.t-chicane .ws-member p, body.t-chicane .ws-col p, body.t-chicane .ws-cta-inner p { color: var(--text); text-align: left; margin-left: 0; max-width: 64ch; font-size: 14.5px; line-height: 1.75; }

/* ★ THE MOVE — the sponsor rail, set in our own type, edge to edge */
body.t-chicane .ws-listblock:has(.ws-list-bullet) { background: var(--chc-panel); border-top: 1px solid var(--chc-line); border-bottom: 1px solid var(--chc-line); padding: 0; }
body.t-chicane .ws-listblock:has(.ws-list-bullet) .ws-container { max-width: none; padding: 0 24px; }
body.t-chicane .ws-list-bullet { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 30px; list-style: none; margin: 0; padding: 0; }
body.t-chicane .ws-list-bullet li { margin: 0; padding: 21px 0; text-align: center; color: var(--muted); font-size: 10.5px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; line-height: 1.4; }

/* standings — ruled rows, tabular figures, the leader in the signal colour */
body.t-chicane .ws-list-number { list-style: decimal-leading-zero; margin: 26px 0 0 38px; padding: 0; }
body.t-chicane .ws-list-number li { border-top: 1px solid var(--chc-line); margin: 0; padding: 15px 0 15px 12px; color: var(--text); font-size: 14.5px; line-height: 1.5; font-variant-numeric: tabular-nums; }
body.t-chicane .ws-list-number li:first-child { color: var(--chc-red); }

/* the stat cluster and the driver cards share one instrument-panel rule */
body.t-chicane .ws-features-grid, body.t-chicane .ws-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 26px; }
body.t-chicane .ws-feature, body.t-chicane .ws-member { text-align: left; padding: 2px 0 2px 18px; border-left: 1px solid var(--chc-line); }
body.t-chicane .ws-feature h3, body.t-chicane .ws-member strong, body.t-chicane .ws-col-h, body.t-chicane .ws-field label { color: var(--heading); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; line-height: 1.5; }
body.t-chicane .ws-gallery-cap span, body.t-chicane .ws-member span { color: var(--chc-red); font-size: 10px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }

/* paddock cards — picture over a small headline, no body paragraph */
body.t-chicane .ws-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 22px; }
body.t-chicane .ws-gallery-cap strong { color: var(--heading); font-size: 14.5px; font-weight: 600; line-height: 1.42; }
body.t-chicane .ws-gallery-item img, body.t-chicane .ws-story-media img, body.t-chicane .ws-member-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; margin: 0 0 13px; }

/* the onboard wall — eight stills, contained, all but gapless */
body.t-chicane .ws-photogrid-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; max-width: 1000px; margin: 0 auto; padding: 0 22px; }

/* the results sheet — every placing on its own ruled line */
body.t-chicane .ws-col p { border-top: 1px solid var(--chc-line); padding: 13px 0 0; margin: 0 0 13px; font-variant-numeric: tabular-nums; }

/* the teaser band takes a photograph where the brand colour would flood it */
body.t-chicane.ws-body .ws-cta { background-color: #050607; background-image: linear-gradient(rgba(5, 6, 7, .70), rgba(5, 6, 7, .88)), url("/media/samples/chc_band.jpg"); background-size: cover; background-position: center; padding: 120px 0; }
body.t-chicane .ws-cta-inner h2 { color: var(--heading); text-align: center; text-transform: uppercase; font-weight: 800; font-size: clamp(30px, 5.4vw, 58px); letter-spacing: -.03em; line-height: 1.02; margin: 0 0 16px; }

/* the entry band closes the page on true black */
body.t-chicane.ws-body .ws-contact { background: #050607; padding: 96px 0 104px; }
body.t-chicane .ws-field input, body.t-chicane .ws-field textarea, body.t-chicane .ws-field select { background: var(--chc-panel); border: 1px solid var(--chc-line); border-radius: 0; color: var(--heading); padding: 13px 12px; }
/* the three race-office lines are form-heading blocks; `order` drops them under
   the form, where a race office belongs. Nothing in the header is touched. */
body.t-chicane .ws-form-heading, body.t-chicane .ws-form-heading h3 { order: 1; margin: 0; color: var(--muted); font-size: 12.5px; font-weight: 500; letter-spacing: .03em; text-transform: none; }

/* every count still fills its rows: 4→2, 6→3, 8→2 */
@media (max-width: 900px) {
  body.t-chicane .ws-features-grid, body.t-chicane .ws-team-grid, body.t-chicane .ws-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.t-chicane .ws-list-bullet { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.t-chicane .ws-photogrid-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* night — the tarmac goes wet-black and the flag red gets a shade hotter */
html[data-theme="dark"] body.t-chicane.ws-body {
  --bg: #050607; --fg: #8b9196; --heading: #e9ebec; --text: #8b9196; --muted: #626a6f;
  --chc-red: #ef4326; --chc-line: #1a1d20; --chc-panel: #0b0d0f;
  --hero-a: rgba(0, 0, 0, .42); --hero-b: rgba(0, 0, 0, .86);
}
html[data-theme="dark"] body.t-chicane { background: var(--bg); }
html[data-theme="dark"] body.t-chicane.ws-body .ws-cta { background-color: #000000; background-image: linear-gradient(rgba(0, 0, 0, .78), rgba(0, 0, 0, .92)), url("/media/samples/chc_band.jpg"); }
html[data-theme="dark"] body.t-chicane.ws-body .ws-contact { background: #000000; }
