:root {
  --void: #0E1113;
  --graphite: #14171A;
  --plinth: #1E2226;
  --steel: #2C3237;
  --primer: #8B9096;
  --white: #F4F5F6;
  --bronze: #A8875C;
  --fits: #3E9B6B;
  --check: #C4863A;
  --panel: #14171A;
  --wrap: 1440px;
  --section-gap: 72px;
  --header-h: 72px;
  --header-h: 72px;
  --brandbar-h: 46px;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; background: var(--void); }
body, button, input, select, textarea { font-family: "Archivo", system-ui, sans-serif; }
body.rbk-storefront { overflow-x: clip; margin: 0; background: var(--void); color: var(--white); font-size: 16px; line-height: 1.55; }
body.rbk-storefront::after { content: ""; position: fixed; inset: 0; z-index: 9999; pointer-events: none; opacity: .03; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); }
::selection { color: var(--void); background: var(--white); }
body.rbk-storefront a { color: var(--bronze); }
body.rbk-storefront a:hover, body.rbk-storefront a:focus-visible { color: var(--white); text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
body.rbk-storefront .rbk-wordmark, body.rbk-storefront .rbk-btn, body.rbk-storefront .button, body.rbk-storefront .wp-element-button, body.rbk-storefront .wc-block-components-button, body.rbk-storefront .rbk-socials a { text-decoration: none; }
body.rbk-storefront .rbk-wordmark { color: var(--white); }
img { max-width: 100%; height: auto; }
svg { width: 22px; height: 22px; }
:focus-visible { outline: 2px solid var(--white) !important; outline-offset: 4px; }
.rbk-wrap { width: min(calc(100% - 48px), var(--wrap)); margin-inline: auto; }
.rbk-muted { color: var(--primer); }
.rbk-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.rbk-label { margin: 0 0 16px; color: var(--primer); font-size: 11px; font-weight: 600; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.rbk-chassis-code { font-stretch: expanded; font-variation-settings: "wdth" 125; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
h1, h2, h3, h4, h5, h6 { margin-block: 0 .45em; color: var(--white); font-weight: 300; line-height: 1.06; letter-spacing: -.025em; }
h1 { font-size: clamp(46px, 7vw, 96px); }
h2 { font-size: clamp(34px, 4.4vw, 64px); }
h3 { font-size: clamp(22px, 2vw, 30px); }
p { margin-block: 0 1em; }
/* Scene rhythm: margin-top only (never padding) so adjacent gaps collapse to one, never sum.
   Specificity raised above `.entry-content > *` (below), which resets margin-top/bottom to 0
   on every direct child and would otherwise win on source order alone. */
body.rbk-storefront .rbk-section { margin-top: var(--section-gap); }
.rbk-section > header:not(.rbk-section-head) { max-width: 760px; margin-bottom: 56px; }
.rbk-section > header > p:not(.rbk-label), .rbk-info-page header > p:not(.rbk-label) { color: var(--primer); }
.rbk-section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 56px; }
.rbk-section-head > a { display: inline-flex; align-items: center; gap: 12px; color: var(--bronze); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.rbk-section-head > a:hover, .rbk-section-head > a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }

/* GeneratePress shell is replaced, not visually covered. */
.site-header, .main-navigation, .page-header, .entry-header { display: none !important; }
.site-footer { display: block !important; background: transparent !important; }
.site, .site-content, .content-area, .site-main, .inside-article, .entry-content { max-width: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; color: inherit; }
.content-area { float: none !important; width: 100% !important; }
.widget-area { display: none !important; }
.container.grid-container { width: 100%; max-width: none; }
.entry-content > * { margin-top: 0; margin-bottom: 0; }

/* Header and overlays */
.rbk-site-header { position: sticky; top: 0; z-index: 400; height: var(--header-h); border-bottom: 1px solid var(--steel); background: rgba(14,17,19,.92); backdrop-filter: blur(18px); }
.rbk-header-inner { display: flex; align-items: center; justify-content: space-between; width: min(calc(100% - 48px), var(--wrap)); height: 100%; margin-inline: auto; }
.rbk-wordmark { display: inline-flex; flex: 0 1 200px; align-items: center; width: clamp(150px,14vw,200px); min-width: 0; text-decoration: none; }
.rbk-wordmark img { display: block; width: 100%; height: auto; aspect-ratio: 1502.26 / 131.5; }
.rbk-header-inner nav { display: flex; align-items: stretch; height: 100%; }
.rbk-header-link { display: inline-flex; align-items: center; gap: 10px; min-width: 80px; min-height: 48px; padding: 0 20px; border: 0; border-left: 1px solid var(--steel); border-radius: 0; background: transparent; color: var(--bronze); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.rbk-header-link:hover, .rbk-header-link:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-cart-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border: 1px solid var(--steel); border-radius: 2px; color: var(--primer); font-size: 9px; }
.rbk-icon-btn { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--steel); border-radius: 0; background: transparent; color: var(--white); cursor: pointer; }
.rbk-products-panel, .rbk-brand-menu { position: fixed; top: calc(var(--header-h) + var(--brandbar-h)); left: 0; right: 0; z-index: 398; visibility: hidden; overflow: auto; max-height: calc(100svh - var(--header-h) - var(--brandbar-h)); border-bottom: 1px solid var(--steel); background: var(--graphite); opacity: 0; transform: translateY(-8px); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.rbk-products-panel[aria-hidden="false"], .rbk-brand-menu[aria-hidden="false"] { visibility: visible; opacity: 1; transform: none; }
.rbk-products-panel__inner, .rbk-brand-menu__inner { width: min(calc(100% - 48px), var(--wrap)); margin-inline: auto; padding-block: 32px; }
.rbk-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.rbk-panel-heading .rbk-label { margin: 0; }
.rbk-products-panel ul, .rbk-brand-menu ul { margin: 0; padding: 0; list-style: none; }
.rbk-products-panel > div > ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--steel); border-left: 1px solid var(--steel); }
.rbk-products-panel li { min-width: 0; }
.rbk-products-panel a { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 14px; min-height: 58px; padding: 12px 18px; border-right: 1px solid var(--steel); border-bottom: 1px solid var(--steel); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.rbk-products-panel a:hover, .rbk-products-panel a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-products-panel small { color: var(--primer); font-size: 10px; }
.rbk-brand-bar { position: sticky; top: var(--header-h); z-index: 399; height: var(--brandbar-h); overflow-x: auto; border-bottom: 1px solid var(--steel); background: var(--plinth); scrollbar-width: none; }
.rbk-brand-bar::-webkit-scrollbar { display: none; }
.rbk-brand-bar__inner { display: flex; align-items: stretch; width: min(calc(100% - 48px),var(--wrap)); min-width: max-content; height: 100%; margin-inline: auto; }
.rbk-brand-item { display: flex; }
.rbk-brand-item > button, .rbk-brand-disabled { display: inline-flex; align-items: center; justify-content: center; min-height: 45px; padding: 0 24px; border: 0; border-right: 1px solid var(--steel); border-radius: 0; background: transparent; font: 600 12px/1 "Archivo",system-ui,sans-serif; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.rbk-brand-item:first-child > button, .rbk-brand-bar__inner > .rbk-brand-disabled:first-child { border-left: 1px solid var(--steel); }
.rbk-brand-item > button { color: var(--primer); cursor: pointer; }
.rbk-brand-item > button:hover, .rbk-brand-item > button:focus-visible, .rbk-brand-item > button[aria-expanded="true"] { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-brand-disabled { color: var(--primer); cursor: default; }
.rbk-brand-models { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid var(--steel); background: var(--steel); }
.rbk-brand-models section { min-width: 0; padding: 24px; background: var(--graphite); }
.rbk-brand-models h2 { font-size: 22px; }
.rbk-brand-models a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; border-top: 1px solid var(--steel); text-decoration: none; }
.rbk-brand-models a:hover, .rbk-brand-models a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-drawer { position: fixed; inset: 0; z-index: 600; overflow: auto; visibility: hidden; background: var(--void); opacity: 0; transform: translateY(-12px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.rbk-drawer[aria-hidden="false"] { visibility: visible; opacity: 1; transform: none; }
.rbk-drawer__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; height: var(--header-h); padding-inline: max(24px, calc((100% - var(--wrap))/2)); border-bottom: 1px solid var(--steel); background: var(--void); }
.rbk-drawer__body { width: min(calc(100% - 48px), var(--wrap)); margin-inline: auto; padding-block: 72px; }
.rbk-catalog-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 1px; border: 1px solid var(--steel); background: var(--steel); }
.rbk-catalog-column { min-width: 0; min-height: 420px; padding: 32px; background: var(--graphite); }
.rbk-catalog-column h2 { font-size: 22px; font-stretch: expanded; font-variation-settings: "wdth" 120; font-weight: 700; letter-spacing: .04em; }
.rbk-catalog-model { margin-top: 36px; }
.rbk-catalog-model h3 { margin-bottom: 16px; color: var(--primer); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-catalog-model ul { margin: 0; padding: 0; list-style: none; }
.rbk-catalog-model a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; min-height: 48px; border-top: 1px solid var(--steel); text-decoration: none; }
.rbk-catalog-model a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rbk-catalog-model a:hover, .rbk-catalog-model a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-search-panel { position: fixed; top: 0; left: 0; right: 0; z-index: 610; display: grid; grid-template-columns: 1fr auto; gap: 24px; visibility: hidden; padding: 40px max(24px, calc((100% - var(--wrap))/2)); border-bottom: 1px solid var(--steel); background: var(--graphite); opacity: 0; transform: translateY(-12px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.rbk-search-panel[aria-hidden="false"] { visibility: visible; opacity: 1; transform: none; }
.rbk-search-panel form label { display: block; margin-bottom: 12px; color: var(--primer); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-search-panel form > div { display: grid; grid-template-columns: 1fr auto; }
.rbk-search-panel input { height: 56px; }
.rbk-scrim { position: fixed; inset: 0; z-index: 590; background: rgba(14,17,19,.82); }
body.rbk-overlay-open { overflow: hidden; }

/* Controls */
.rbk-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button, .wp-element-button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; padding: 14px 28px !important; border: 1px solid var(--steel) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--white) !important; font: 600 11px/1 "Archivo",system-ui,sans-serif !important; letter-spacing: .14em !important; text-decoration: none !important; text-transform: uppercase !important; cursor: pointer; }
.rbk-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { border-color: var(--bronze) !important; color: var(--bronze) !important; }
.rbk-btn--primary, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .checkout-button, .wc-block-cart__submit-button { border-color: var(--white) !important; background: var(--white) !important; color: var(--void) !important; }
.rbk-btn--primary:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { border-color: var(--white) !important; background: var(--white) !important; color: var(--void) !important; }
input, select, textarea, .select2-container .select2-selection { min-height: 48px; padding: 12px 14px; border: 1px solid var(--steel) !important; border-radius: 0 !important; background: var(--graphite) !important; box-shadow: none !important; color: var(--white) !important; }
select { color-scheme: dark; }
select option, select optgroup { background-color: var(--graphite) !important; color: var(--white) !important; }

/* Custom listbox: fine-pointer devices only. Coarse-pointer devices keep the native select untouched. */
.rbk-select { display: none; position: relative; }
@media (pointer: fine) {
  select[data-rbk-enhanced] { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
  .rbk-select { display: block; }
}
.rbk-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--steel); border-radius: 0; background: var(--graphite); color: var(--white); font: 400 16px/1.3 "Archivo",system-ui,sans-serif; text-align: left; cursor: pointer; }
.rbk-home-selector .rbk-select-trigger { min-height: 24px; padding: 0; border: 0; background: transparent; font-size: 14px; }
.rbk-select-trigger::after { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-right: 1px solid var(--primer); border-bottom: 1px solid var(--primer); transform: rotate(45deg) translateY(-2px); }
.rbk-select-trigger:not(:disabled):hover { border-color: var(--bronze); }
.rbk-select-trigger:focus-visible { outline: 2px solid var(--bronze); outline-offset: 2px; }
.rbk-select-trigger:disabled { color: var(--primer); cursor: not-allowed; }
.rbk-select.is-open .rbk-select-trigger { border-color: var(--bronze); }
.rbk-select-list { position: absolute; z-index: 40; left: 0; top: 100%; margin: 4px 0 0; padding: 4px 0; min-width: 100%; max-height: 280px; overflow-y: auto; list-style: none; border: 1px solid var(--steel); border-radius: 0; background: var(--plinth); box-shadow: none; }
.rbk-select-list:focus-visible { outline: 2px solid var(--white); outline-offset: -2px; }
.rbk-select-list li { padding: 11px 14px; color: var(--white); font: 400 16px/1.3 "Archivo",system-ui,sans-serif; white-space: nowrap; cursor: pointer; }
.rbk-select-list li.is-active { background: var(--graphite); color: var(--bronze); }
.rbk-select-list li[aria-selected="true"] { color: var(--bronze); }
.rbk-select-list li[aria-disabled="true"] { color: var(--steel); cursor: default; }
label { color: var(--primer); font-size: 12px; }

/* Home */
.rbk-hero { position: relative; aspect-ratio: 21 / 9; min-height: 0; overflow: hidden; border-bottom: 1px solid var(--steel); }
.rbk-hero__media, .rbk-hero__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.rbk-hero__veil { position: absolute; inset: 0; background: rgba(14,17,19,.49); }
.rbk-hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: end; height: 100%; min-height: 0; padding-block: 96px 56px; }
.rbk-hero .rbk-chassis-code { margin-bottom: 16px; color: var(--bronze); }
.rbk-hero h1 { max-width: 13ch; margin-bottom: 20px; }
.rbk-hero__content > p:not(.rbk-chassis-code) { max-width: 600px; margin-bottom: 34px; color: #d1d4d6; }
.rbk-photo-credit { position: absolute; right: 20px; bottom: 16px; z-index: 2; color: var(--primer); font-size: 9px; letter-spacing: .08em; text-decoration: none; }
.rbk-home-selector { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; width: min(100%, 900px); border: 1px solid var(--steel); background: rgba(14,17,19,.92); backdrop-filter: blur(14px); }
.rbk-home-selector label { display: block; padding: 11px 14px; border-right: 1px solid var(--steel); }
.rbk-selector label span { display: block; margin-bottom: 4px; font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-home-selector select { width: 100%; min-height: 24px; padding: 0; border: 0 !important; background: transparent !important; font-size: 14px; }
.rbk-home-selector select:disabled, .rbk-home-selector select:disabled + .rbk-select .rbk-select-trigger { color: var(--primer); cursor: not-allowed; }
/* 00:40:34 request: "Find parts" sits beside the fields, disabled/--primer until a chassis is chosen, then --white primary. */
/* Fill the grid cell exactly like the original "Save car" button (00:57:50 reference): no margin, no centering, full row height via default grid stretch. */
.rbk-home-selector [data-rbk-find-parts] { min-height: 100%; border-radius: 0; }
.rbk-home-selector [data-rbk-find-parts]:disabled { border-color: var(--steel) !important; background: transparent !important; color: var(--primer) !important; cursor: not-allowed; }
.rbk-before-after__stage { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 540px; overflow: hidden; border: 1px solid var(--steel); }
.rbk-ba-image { position: relative; min-height: 540px; background-image: url("../images/hero-desktop.webp"); background-position: center 48%; background-size: cover; }
.rbk-ba-image::after { content: ""; position: absolute; inset: 0; background: rgba(14,17,19,.30); }
.rbk-ba-image--before { filter: grayscale(1) brightness(.72); }
.rbk-ba-image span { position: absolute; top: 20px; left: 20px; z-index: 1; font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-before-after__stage > i { position: absolute; top: 0; bottom: 0; left: 50%; z-index: 3; width: 1px; background: var(--white); }
.rbk-before-after__stage > b { position: absolute; right: 24px; bottom: 24px; z-index: 3; }
.rbk-before-after__stage.is-wiping .rbk-ba-image--after { animation: rbk-wipe 1.1s cubic-bezier(.65,0,.35,1) both; }
@keyframes rbk-wipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.rbk-chassis-rail { margin-top: var(--section-gap); padding-block: 56px; border-block: 1px solid var(--steel); background: var(--graphite); }
.rbk-chassis-rail .rbk-wrap > div { display: flex; width: 100%; max-width: 100%; overflow-x: auto; margin-top: 24px; border-left: 1px solid var(--steel); -webkit-overflow-scrolling: touch; }
.rbk-chassis-rail a { display: flex; align-items: center; justify-content: space-between; flex: 1 0 220px; min-height: 96px; padding: 24px; border: 1px solid var(--steel); border-left: 0; text-decoration: none; }
.rbk-chassis-rail a:hover, .rbk-chassis-rail a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-chassis-rail .rbk-chassis-code { font-size: 24px; }
.rbk-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid var(--steel); background: var(--steel); }
.rbk-category-grid > a { padding: 20px; background: var(--graphite); text-decoration: none; }
.rbk-category-grid > a:hover, .rbk-category-grid > a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-category-grid > a > span { display: block; margin-top: 18px; font-size: 19px; }
.rbk-category-grid > a > small { color: var(--primer); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.rbk-part-shape { position: relative; display: grid; place-items: center; aspect-ratio: 16/10; overflow: hidden; background: var(--plinth); }
.rbk-part-shape::before { content: ""; width: 70%; height: 26%; border: 1px solid #41484e; border-radius: 55% 45% 18% 18% / 70% 70% 30% 30%; background: radial-gradient(circle at 50% 5%, #3b4248, var(--plinth) 68%); box-shadow: 0 24px 18px -24px #000; transform: perspective(500px) rotateX(58deg); }
.rbk-part-shape--1::before { width: 70%; height: 12%; border-radius: 50% 10% 40% 20%; }
.rbk-part-shape--2::before { width: 18%; height: 64%; border-radius: 25% 45% 20% 30%; transform: perspective(500px) rotateY(32deg); }
.rbk-part-shape--3::before { width: 62%; height: 16%; border-radius: 8% 8% 50% 50%; }
.rbk-conversions { margin-top: var(--section-gap); padding-block: var(--section-gap); border-block: 1px solid var(--steel); background: var(--graphite); }
.rbk-conversions .rbk-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; align-items: center; }
.rbk-conversions p:not(.rbk-label) { max-width: 58ch; color: var(--primer); }
.rbk-conversion-diagram { position: relative; width: 100%; max-width: 100%; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--steel); background: var(--plinth); }
.rbk-conversion-diagram img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rbk-conversion-diagram span { position: absolute; right: 18px; bottom: 16px; color: var(--primer); font-size: 9px; letter-spacing: .14em; }
.rbk-macro-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--steel); }
.rbk-macro-strip figure { position: relative; margin: 0; background: var(--graphite); }
.rbk-macro-strip picture, .rbk-macro-strip img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.rbk-macro-strip figcaption { position: absolute; left: 16px; bottom: 14px; padding: 5px 8px; background: rgba(14,17,19,.82); font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-statement { margin-top: var(--section-gap); text-align: center; display: flow-root; }
.rbk-statement .rbk-label { margin-bottom: 24px; }
.rbk-statement h2 { max-width: 22ch; margin-inline: auto; font-size: clamp(38px,5.2vw,72px); font-weight: 300; }
.rbk-customer-grid { display: flex; width: 100%; max-width: 100%; overflow-x: auto; gap: 1px; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; background: var(--steel); }
.rbk-customer-grid::-webkit-scrollbar { display: none; }
.rbk-customer-grid:focus-visible { outline: 2px solid var(--bronze); outline-offset: 4px; }
.rbk-customer-card { flex: 0 0 clamp(300px,27vw,380px); min-width: 0; scroll-snap-align: start; background: var(--graphite); }
.rbk-customer-card > img { display: block; width: 100%; height: auto; }
.rbk-customer-card__copy { padding: 20px; }
.rbk-customer-card__copy h3 { margin: 0 0 8px; font-size: 20px; font-weight: 500; }
.rbk-customer-card__copy p { margin: 0; color: var(--primer); font-size: 13px; }
/* Trailing space before the footer: the footer lives outside .entry-content, so it can never collapse with this margin. Kept in step with --section-gap. */
.rbk-home-products { margin-bottom: var(--section-gap); }
.rbk-home-products .woocommerce { margin-top: 48px; }
.rbk-trust { padding-block: 28px; border-block: 1px solid var(--steel); background: var(--graphite); }
.rbk-trust .rbk-wrap { display: grid; grid-template-columns: repeat(4,1fr); }
.rbk-trust span { padding: 10px 20px; border-left: 1px solid var(--steel); color: var(--primer); font-size: 10px; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

/* Product cards, archives and product detail */
.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { color: var(--primer); font-size: 11px; letter-spacing: .08em; }
.woocommerce .woocommerce-breadcrumb { margin: 40px auto; width: min(calc(100% - 48px),var(--wrap)); }
.woocommerce .products { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px !important; margin: 0 !important; border: 1px solid var(--steel); background: var(--steel); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0 0 22px !important; border: 0 !important; border-radius: 0 !important; background: var(--graphite) !important; box-shadow: none !important; }
.woocommerce ul.products li.product > a { text-decoration: none; }
.woocommerce ul.products li.product .rbk-product-visual { width: 100%; margin: 0; }
.woocommerce ul.products li.product .rbk-product-plane { aspect-ratio: 4/3; }
.woocommerce ul.products li.product .rbk-gallery-index { display: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .rbk-fit, .woocommerce ul.products li.product .button { margin: 14px 18px 0 !important; }
.woocommerce ul.products li.product .rbk-card-chassis { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 18px 0; }
.rbk-card-chassis span { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 7px; border: 1px solid var(--steel); border-radius: 2px; color: var(--primer); font-size: 9px; font-stretch: expanded; font-variation-settings: "wdth" 125; font-weight: 700; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--white) !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.3; }
.woocommerce ul.products li.product > a:hover .woocommerce-loop-product__title, .woocommerce ul.products li.product > a:focus-visible .woocommerce-loop-product__title { color: var(--white) !important; text-decoration: underline; text-underline-offset: .18em; }
.woocommerce ul.products li.product .price { display: block; color: var(--white) !important; font-size: 15px !important; font-variant-numeric: tabular-nums; }
.woocommerce ul.products li.product .button { width: calc(100% - 36px); }
.rbk-product-plane { position: relative; display: grid; place-items: center; min-height: 480px; overflow: hidden; border: 1px solid var(--steel); background: radial-gradient(circle at 50% 42%, #353c42, var(--plinth) 68%); }
.rbk-product-plane::after { content: ""; position: absolute; left: 20%; right: 20%; bottom: 18%; height: 20px; border-radius: 50%; background: rgba(0,0,0,.62); filter: blur(10px); }
.rbk-product-plane i { position: relative; z-index: 1; width: min(70%,520px); height: 23%; border: 1px solid #4a5258; border-radius: 56% 44% 20% 20% / 70% 70% 30% 30%; background: #252a2f; transform: perspective(700px) rotateX(58deg); }
.rbk-product-plane > span { position: absolute; left: 18px; bottom: 16px; z-index: 2; color: #646b70; font-size: 9px; letter-spacing: .14em; }
.rbk-product-plane > b { position: absolute; right: 18px; top: 16px; z-index: 2; color: var(--primer); font-size: 11px; }
.rbk-gallery-index { display: flex; gap: 1px; margin-top: 1px; }
.rbk-gallery-index span { flex: 1; padding: 10px; border: 1px solid var(--steel); color: var(--primer); font-size: 9px; text-align: center; }
.single-product .site-main { width: min(calc(100% - 48px),var(--wrap)); margin-inline: auto !important; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(360px,.8fr); gap: 72px; padding-block: 56px; }
.woocommerce div.product::before, .woocommerce div.product::after { display: none; }
.single-product .woocommerce-tabs, .single-product .related.products, .single-product .upsells.products { display: none !important; }
.woocommerce div.product .rbk-product-visual { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce div.product .summary { grid-column: 2; grid-row: 1; float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product .product_title { font-size: clamp(34px,4vw,58px); font-weight: 300; }
.woocommerce div.product p.price { margin: 24px 0 4px; color: var(--white) !important; font-size: 22px !important; font-variant-numeric: tabular-nums; }
.rbk-vat { margin-bottom: 28px; color: var(--primer); font-size: 11px; }
.rbk-product-fitment-copy { max-width: 58ch; color: var(--primer); font-size: 13px; }
.rbk-product-fitment-copy strong { color: var(--white); }
@media (max-width: 700px) { .rbk-vat { margin-bottom: 12px; } .woocommerce div.product p.price { margin: 6px 0 4px; } }
/* Static specification tag (e.g. a conversion's starting chassis), not a live vehicle-check state (23:59:44 request). */
.rbk-fit { display: inline-flex; align-items: center; gap: 8px; width: max-content; max-width: 100%; padding: 7px 10px; border: 1px solid var(--steel); border-radius: 2px; color: var(--primer); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
/* Equipment qualifiers listed as product specification facts (23:59:44 request). */
.rbk-qualifiers { margin-top: 24px; padding: 20px; border: 1px solid var(--steel); background: var(--graphite); }
.rbk-qualifiers ul { margin: 12px 0 0; padding: 0; list-style: none; }
.rbk-qualifiers li { padding: 8px 0; border-top: 1px solid var(--steel); color: var(--primer); font-size: 13px; }
.rbk-qualifiers li:first-child { border-top: 0; }
.woocommerce div.product > .rbk-required, .woocommerce div.product > .rbk-spec, .woocommerce div.product > .rbk-confidence-note, .woocommerce div.product > .rbk-purchase, .woocommerce div.product > .rbk-aftercare { grid-column: 1 / -1; width: 100%; margin: 0; }
.rbk-required, .rbk-spec, .rbk-purchase, .rbk-aftercare { padding-block: 56px; border-top: 1px solid var(--steel); }
.rbk-required > p:last-child { color: var(--primer); }
.rbk-spec > div { display: grid; grid-template-columns: 260px 1fr; padding: 16px 0; border-top: 1px solid var(--steel); }
.rbk-spec dt { color: var(--primer); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-spec dd { margin: 0; }
.rbk-confidence-note { padding: 20px 24px; border-left: 1px solid var(--bronze); background: var(--graphite); color: var(--primer); }
.rbk-confidence-note b { color: var(--white); }
.rbk-purchase form.cart { display: flex; gap: 12px; margin: 0 !important; }
.woocommerce .quantity .qty { width: 80px; }
.rbk-aftercare { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; }
.rbk-aftercare p:last-child { color: var(--primer); }
.rbk-mobile-buy { display: none; }
.rbk-archive-intro { clear: both; margin: 0 0 56px; padding: 42px; border-left: 1px solid var(--bronze); background: var(--graphite); }
.rbk-archive-intro h1 { max-width: 18ch; font-size: clamp(38px,5vw,70px); }
.rbk-archive-intro > p:last-child { max-width: 72ch; color: var(--primer); }
.rbk-archive-intro .rbk-chassis-distinction { margin-top: 18px; padding-left: 18px; border-left: 1px solid var(--bronze); color: var(--white); }
.tax-product_cat .site-main, .tax-chassis .site-main, .post-type-archive-product .site-main { width: min(calc(100% - 48px),var(--wrap)); margin-inline: auto !important; padding-block: 56px 120px !important; }
.woocommerce nav.woocommerce-pagination ul { border: 1px solid var(--steel) !important; border-radius: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li { border-right: 1px solid var(--steel) !important; }
.woocommerce nav.woocommerce-pagination ul li span, .woocommerce nav.woocommerce-pagination ul li a { min-width: 48px; min-height: 48px; padding: 14px !important; background: var(--graphite) !important; color: var(--white) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--white) !important; color: var(--void) !important; }
.rbk-empty { max-width: 760px; padding: 72px 0; }

/* Content pages, cart, checkout and notices */
.rbk-info-page { padding-block: 96px var(--section-gap); }
.rbk-info-page > header { max-width: 900px; margin-bottom: 80px; }
.rbk-info-page > header p:last-child { max-width: 68ch; font-size: 19px; }
.rbk-info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid var(--steel); background: var(--steel); }
.rbk-info-grid > div { min-height: 180px; padding: 28px; background: var(--graphite); }
.rbk-info-grid span { color: var(--bronze); }
.rbk-info-section { display: grid; grid-template-columns: minmax(180px,.55fr) minmax(0,1.45fr); gap: 24px 72px; padding-block: 56px; border-top: 1px solid var(--steel); }
.rbk-info-section > .rbk-label { grid-column: 1; }
.rbk-info-section > h2 { grid-column: 1; margin: 0; font-size: clamp(28px,3vw,42px); }
.rbk-info-section > .rbk-prose { grid-column: 2; grid-row: 1 / span 2; max-width: 760px; color: var(--primer); }
.rbk-prose p:first-child, .rbk-prose ul:first-child, .rbk-prose ol:first-child, .rbk-prose dl:first-child { margin-top: 0; }
.rbk-prose li + li { margin-top: 12px; }
.rbk-prose dt { margin-top: 24px; color: var(--white); font-weight: 600; }
.rbk-prose dd { margin: 6px 0 0; }
.rbk-request-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; max-width: 980px; margin: 72px 0 0 auto; padding: 32px; border: 1px solid var(--steel); background: var(--graphite); }
.rbk-request-form label { display: grid; gap: 8px; color: var(--primer); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.rbk-request-form input, .rbk-request-form textarea { width: 100%; }
.rbk-request-form input[type="file"] { min-height: 56px; padding: 14px; }
.rbk-request-form small { letter-spacing: 0; text-transform: none; }
.rbk-form-wide { grid-column: 1 / -1; }
.rbk-form-consent { display: flex !important; flex-direction: row; align-items: start; gap: 12px !important; letter-spacing: 0 !important; text-transform: none !important; }
.rbk-form-consent input { flex: 0 0 auto; width: 20px; height: 20px; }
.rbk-honeypot { position: absolute; left: -10000px; }
.rbk-form-notice { max-width: 980px; margin: 0 0 24px auto; padding: 18px; border: 1px solid var(--check); background: var(--graphite); }
.rbk-form-notice--success { border-color: var(--fits); }

/* First-class conversion hub and conversion pages */
.rbk-conversion-hub, .rbk-conversion-single { overflow: clip; }
.rbk-conversion-hero { padding-block: 56px var(--section-gap); border-bottom: 1px solid var(--steel); }
.rbk-conversion-hero > .rbk-wrap, .rbk-conversion-single__hero { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); align-items: center; gap: 72px; }
.rbk-conversion-hero h1, .rbk-conversion-identity h1 { max-width: 13ch; font-size: clamp(46px,6vw,88px); font-weight: 300; }
.rbk-conversion-hero p:last-child, .rbk-conversion-identity > p { max-width: 52ch; color: var(--primer); }
.rbk-conversion-wipe { position: relative; min-height: 520px; overflow: hidden; border: 1px solid var(--steel); background: var(--plinth); }
.rbk-conversion-side { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; }
.rbk-conversion-side--after { clip-path: inset(0 0 0 50%); background: var(--graphite); }
.rbk-conversion-side i { width: 68%; height: 23%; border: 1px solid #4a5258; background: #252a2f; transform: perspective(700px) rotateX(58deg); }
.rbk-conversion-side span { position: absolute; left: 18px; bottom: 16px; color: var(--primer); font-size: 9px; font-style: normal; font-weight: 600; letter-spacing: .14em; }
.rbk-conversion-side--after span { left: auto; right: 18px; }
.rbk-conversion-wipe > em { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--white); transform: translateX(-50%); }
.rbk-conversion-wipe > b { position: absolute; z-index: 2; top: 18px; right: 18px; color: var(--bronze); font-size: 12px; }
.rbk-conversion-wipe.is-wiping .rbk-conversion-side--after { animation: rbk-conversion-wipe 900ms cubic-bezier(.22,.61,.36,1) both; }
@keyframes rbk-conversion-wipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 50%); } }
.rbk-conversion-wipe--compact { min-height: 260px; border: 0; border-bottom: 1px solid var(--steel); }
.rbk-conversion-wipe--compact .rbk-conversion-side span { display: none; }
.rbk-conversion-definition { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; }
.rbk-conversion-definition > div { display: grid; gap: 22px; }
.rbk-conversion-definition > div p { margin: 0; color: var(--primer); font-size: 18px; }
.rbk-conversion-types { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid var(--steel); background: var(--steel); }
.rbk-conversion-types article { min-height: 290px; padding: 32px; background: var(--graphite); }
.rbk-type-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border: 1px solid var(--bronze); border-radius: 2px; color: var(--bronze); font-size: 10px; font-weight: 600; letter-spacing: .14em; }
.rbk-conversion-types h3 { margin-top: 38px; font-size: 24px; }
.rbk-conversion-types p, .rbk-conversion-types small { color: var(--primer); }
.rbk-conversion-types small { display: block; margin-top: 32px; border-top: 1px solid var(--steel); padding-top: 16px; }
.rbk-conversion-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid var(--steel); background: var(--steel); }
.rbk-conversion-card { min-width: 0; background: var(--graphite); }
.rbk-conversion-card__body { padding: 26px; }
.rbk-conversion-card__body > div:first-child { display: flex; align-items: center; gap: 12px; color: var(--primer); font-size: 10px; text-transform: uppercase; }
.rbk-conversion-card h3 { min-height: 3.3em; margin-top: 28px; font-size: 21px; line-height: 1.1; }
.rbk-conversion-card p { color: var(--primer); }
.rbk-conversion-price { color: var(--white) !important; font-size: 22px; }
.rbk-card-link { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin-top: 24px; border-top: 1px solid var(--steel); text-decoration: none; }
.rbk-card-link svg { width: 20px; }
.rbk-conversion-steps { display: grid; grid-template-columns: repeat(4,1fr); margin: 48px 0 0; padding: 0; border: 1px solid var(--steel); list-style: none; }
.rbk-conversion-steps li { min-height: 190px; padding: 26px; border-right: 1px solid var(--steel); background: var(--graphite); }
.rbk-conversion-steps li:last-child { border-right: 0; }
.rbk-conversion-steps b { color: var(--bronze); font-size: 12px; letter-spacing: .14em; }
.rbk-conversion-steps p { margin-top: 48px; }
.rbk-honest { padding-block: var(--section-gap); border-block: 1px solid var(--steel); background: var(--graphite); }
.rbk-honest h2 { max-width: 16ch; }
.rbk-honest .rbk-wrap > div:last-child { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin-top: 48px; background: var(--steel); }
.rbk-honest .rbk-wrap > div:last-child > p, .rbk-extra-grid article { margin: 0; padding: 28px; background: var(--plinth); color: var(--primer); }
.rbk-honest b, .rbk-extra-grid h3 { color: var(--white); }
.rbk-faq details { border-top: 1px solid var(--steel); }
.rbk-faq details:last-child { border-bottom: 1px solid var(--steel); }
.rbk-faq summary { position: relative; padding: 24px 48px 24px 0; cursor: pointer; font-size: 18px; list-style: none; }
.rbk-faq summary::after { content: "+"; position: absolute; right: 0; color: var(--bronze); }
.rbk-faq details[open] summary::after { content: "−"; }
.rbk-faq details p { max-width: 72ch; padding: 0 0 26px; color: var(--primer); }
.single-rbk_conversion .site-main { width: 100%; max-width: none; margin: 0 !important; }
.single-rbk_conversion .inside-article { padding: 0 !important; }
.rbk-conversion-single__hero { padding-block: 56px var(--section-gap); }
.rbk-conversion-identity > div { display: flex; flex-wrap: wrap; gap: 12px 22px; align-items: center; margin-top: 32px; color: var(--primer); font-size: 11px; text-transform: uppercase; }
.rbk-conversion-mobile-summary { display: none !important; }
.rbk-conversion-order { display: grid; grid-template-columns: .65fr 1.35fr; gap: 72px; padding-block: var(--section-gap); border-top: 1px solid var(--steel); }
.rbk-tier-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--steel); }
.rbk-tier-grid article { padding: 30px; background: var(--graphite); }
.rbk-tier-grid strong { display: block; margin-block: 22px; font-size: 28px; font-weight: 400; }
.rbk-tier-grid p:not(.rbk-label) { min-height: 4.5em; color: var(--primer); }
.rbk-conversion-disclaimer { grid-column: 1 / -1; margin: 0; padding: 22px 26px; border: 1px solid var(--bronze); color: var(--white); font-size: 17px; }
.rbk-conversion-fitment { display: grid; grid-template-columns: .7fr 1.3fr; gap: 72px; padding-block: var(--section-gap); border-top: 1px solid var(--steel); }
.rbk-conversion-fitment .rbk-fit { margin-top: 24px; }
.rbk-conversion-fitment dl { margin: 0; }
.rbk-conversion-fitment dl > div { display: grid; grid-template-columns: 220px 1fr; padding: 16px 0; border-top: 1px solid var(--steel); }
.rbk-conversion-fitment dt { color: var(--primer); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-conversion-fitment dd { margin: 0; }
.rbk-conversion-fitment > .rbk-btn { grid-column: 2; justify-self: start; }
.rbk-conversion-components { padding-block: var(--section-gap); border-top: 1px solid var(--steel); }
.rbk-component-table { margin-top: 48px; border: 1px solid var(--steel); }
.rbk-component-row { display: grid; grid-template-columns: 1.4fr 1.2fr .55fr 1fr .65fr .75fr; align-items: center; min-height: 64px; border-bottom: 1px solid var(--steel); }
.rbk-component-row:last-child { border-bottom: 0; }
.rbk-component-row > * { min-width: 0; padding: 14px 16px; }
.rbk-component-row > span { color: var(--primer); }
.rbk-component-row--head { color: var(--primer); font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-extra-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--steel); }
.rbk-not-change ul { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: 48px 0 0; padding: 1px; background: var(--steel); list-style: none; }
.rbk-not-change li { min-height: 130px; padding: 26px; background: var(--graphite); color: var(--primer); }
.rbk-conversion-technical { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; padding-block: var(--section-gap); border-top: 1px solid var(--steel); background: var(--steel); }
.rbk-conversion-technical > div { padding: 28px; background: var(--graphite); }
.rbk-conversion-technical h2 { font-size: 24px; }
.rbk-conversion-technical p:not(.rbk-label), .rbk-conversion-technical li { color: var(--primer); }
.rbk-fitment-page { margin-top: var(--section-gap); }
.rbk-fitment-page > h2 { margin-bottom: 40px; }
.rbk-vin-form, .rbk-contact-form { display: grid; max-width: 760px; gap: 16px; margin-top: 56px; padding: 32px; border: 1px solid var(--steel); background: var(--graphite); }
.rbk-vin-form label, .rbk-contact-form label { display: grid; gap: 8px; }
.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main, .error404 .site-main, .search .site-main { width: min(calc(100% - 48px),var(--wrap)); margin-inline: auto !important; padding-block: 72px 120px !important; }
.woocommerce table.shop_table, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register, .wc-block-components-sidebar-layout, .wc-block-components-totals-wrapper { border: 1px solid var(--steel) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.woocommerce-cart .wc-block-components-button, .woocommerce-checkout .wc-block-components-button, .woocommerce-account button, .woocommerce-account .button,
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-address-form__address_2-toggle, .wc-block-checkout__terms, .wc-block-components-panel, .wc-block-components-totals-item,
.wc-block-cart-items, .wc-block-components-order-summary, .wc-block-components-sidebar { border-radius: 0 !important; box-shadow: none !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-form .wc-block-components-text-input input { border: 1px solid var(--steel) !important; background: var(--graphite) !important; color: var(--white) !important; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block, .woocommerce-checkout .wp-block-woocommerce-checkout, .woocommerce-account .woocommerce { color: var(--white); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 18px !important; border-color: var(--steel) !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner { border: 1px solid var(--steel) !important; border-left: 1px solid var(--bronze) !important; border-radius: 0 !important; background: var(--graphite) !important; box-shadow: none !important; color: var(--white) !important; }
.select2-dropdown, .select2-results { border-color: var(--steel) !important; background: var(--graphite) !important; color: var(--white) !important; }
.error404 .site-main { min-height: 62vh; }
.error404 .page-title { max-width: 16ch; font-size: clamp(46px,7vw,86px); font-weight: 300; }

/* Footer */
.rbk-footer { border-top: 1px solid var(--steel); background: var(--panel); }
.rbk-footer__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 56px; padding-block: 80px; }
.rbk-footer h2 { color: var(--primer); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rbk-footer ul { margin: 22px 0 0; padding: 0; list-style: none; }
.rbk-footer li + li { margin-top: 9px; }
.rbk-footer a { text-decoration: none; }
.rbk-footer a:hover, .rbk-footer a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: .18em; }
.rbk-newsletter > label { display: block; margin-bottom: 12px; color: var(--white); font-size: 16px; }
.rbk-newsletter > div { display: grid; grid-template-columns: 1fr auto; }
.rbk-footer__base { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 56px; padding-block: 36px; border-top: 1px solid var(--steel); }
.rbk-footer__copyright { padding-block: 20px; border-top: 1px solid var(--steel); color: var(--primer); font-size: 11px; }
.rbk-socials { display: flex; gap: 8px; }
.rbk-socials a { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--steel); }
.rbk-socials a:hover, .rbk-socials a:focus-visible { border-color: var(--white); color: var(--white); text-decoration: none; }
.rbk-socials svg { width: 21px; height: 21px; }

@media (max-width: 767px) {
  /* Mobile keeps the existing viewport-height composition and 4:5 art direction. */
  .rbk-hero { aspect-ratio: auto; min-height: calc(100svh - var(--header-h) - var(--brandbar-h)); }
  .rbk-hero__content { height: auto; min-height: calc(100svh - var(--header-h) - var(--brandbar-h)); }
}

@media (max-width: 980px) {
  /* Same value as desktop right now — kept as its own breakpoint so tablet can diverge again without touching anything else. */
  :root { --section-gap: 72px; }
  .rbk-header-link { min-width: 56px; padding-inline: 16px; }
  .rbk-header-link > span { display: none; }
  .rbk-header-link[data-rbk-products] > span { display: inline; }
  .rbk-products-panel > div > ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rbk-catalog-grid { grid-template-columns: 1fr 1fr; }
  .rbk-category-grid, .woocommerce .products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rbk-conversions .rbk-wrap { gap: 48px; }
  .woocommerce div.product { gap: 40px; }
  .rbk-trust .rbk-wrap { grid-template-columns: 1fr 1fr; }
  .rbk-footer__grid { grid-template-columns: 1fr 1fr; }
  .rbk-conversion-hero > .rbk-wrap, .rbk-conversion-single__hero { gap: 40px; }
  .rbk-conversion-grid { grid-template-columns: 1fr 1fr; }
  .rbk-component-row { grid-template-columns: 1.2fr 1fr .55fr .9fr .65fr; }
  .rbk-component-row > *:last-child { grid-column: 1 / -1; border-top: 1px solid var(--steel); }
}

@media (max-width: 700px) {
  /* Same value as desktop right now — kept as its own breakpoint so mobile can diverge again without touching anything else. */
  :root { --section-gap: 72px; --header-h: 64px; --brandbar-h: 48px; }
  .rbk-wrap, .rbk-header-inner, .rbk-drawer__body { width: min(calc(100% - 32px),var(--wrap)); }
  .rbk-header-inner nav { margin-right: -8px; }
  .rbk-header-link { min-width: 48px; padding-inline: 12px; }
  .rbk-header-link[data-rbk-products] { gap: 7px; padding-inline: 10px; }
  .rbk-header-link[data-rbk-products] svg { width: 18px; }
  .rbk-wordmark { flex-basis: 128px; width: clamp(96px,28vw,128px); }
  .rbk-cart-count { position: absolute; top: 9px; right: 2px; background: var(--void); }
  .rbk-header-link:last-child { position: relative; }
  .rbk-drawer__body { padding-block: 36px; }
  .rbk-products-panel, .rbk-brand-menu { bottom: 0; z-index: 600; max-height: none; background: var(--void); }
  .rbk-products-panel__inner, .rbk-brand-menu__inner { width: min(calc(100% - 32px),var(--wrap)); padding-block: 24px 48px; }
  .rbk-products-panel > div > ul { grid-template-columns: 1fr; }
  .rbk-products-panel a { min-height: 52px; }
  .rbk-brand-bar__inner { width: max-content; min-width: 100%; margin: 0; }
  .rbk-brand-item > button, .rbk-brand-disabled { min-height: 47px; padding-inline: 18px; }
  .rbk-brand-models { grid-template-columns: 1fr; }
  .rbk-catalog-grid { grid-template-columns: 1fr; }
  .rbk-catalog-column { min-height: auto; padding: 24px; }
  .rbk-catalog-model a { min-height: 52px; }
  .rbk-search-panel { grid-template-columns: 1fr auto; padding-block: 22px; }
  .rbk-search-panel form > div { grid-template-columns: 1fr; gap: 8px; }
  .rbk-hero { min-height: calc(100svh - var(--header-h) - var(--brandbar-h)); }
  .rbk-hero__media img { object-position: center 54%; }
  .rbk-hero__veil { background: rgba(14,17,19,.54); }
  .rbk-hero__content { justify-content: end; min-height: calc(100svh - var(--header-h) - var(--brandbar-h)); padding-block: 36px 22px; }
  .rbk-hero h1 { font-size: clamp(40px,12vw,58px); }
  .rbk-hero__content > p:not(.rbk-chassis-code) { margin-bottom: 18px; font-size: 14px; }
  .rbk-home-selector { grid-template-columns: 1fr 1fr; }
  .rbk-home-selector label:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--steel); }
  .rbk-home-selector .rbk-btn { grid-column: 1 / -1; }
  .rbk-photo-credit { display: none; }
  .rbk-section-head { align-items: start; flex-direction: column; margin-bottom: 36px; }
  .rbk-before-after__stage { min-height: 430px; }
  .rbk-ba-image { min-height: 430px; }
  .rbk-category-grid, .woocommerce .products { grid-template-columns: 1fr; }
  .rbk-conversions .rbk-wrap { grid-template-columns: 1fr; }
  .rbk-conversion-diagram { min-height: 0; }
  .rbk-macro-strip { grid-template-columns: 1fr 1fr; }
  .rbk-customer-grid { touch-action: pan-x; }
  .rbk-customer-card { flex-basis: 78%; }
  /* Full-bleed unification (2026-09-05 21:15): Before/After stage, Assembly map and Customer
     cars break out of .rbk-wrap's side gutter to match the macro strip, which already has
     no wrap ancestor. Heading text above each block keeps the normal .rbk-wrap padding;
     only the media/scroll containers themselves go edge-to-edge. Card copy padding is
     untouched, so text still sits clear of the card/screen edge. */
  /* Base rules set max-width:100% on .rbk-conversion-diagram and .rbk-customer-grid (see
     non-mobile rules above); that clamps width:calc(100% + 32px) straight back down to
     100%, which is why the first two attempts silently had no effect on just these two
     elements. max-width:none here removes that clamp so the full-bleed width can apply. */
  .rbk-before-after__stage, .rbk-conversion-diagram, .rbk-customer-grid { width: calc(100% + 32px); max-width: none; margin-inline: -16px; }
  .rbk-conversion-diagram { border-left: 0; border-right: 0; }
  .rbk-before-after__stage { border-radius: 0; }
  .rbk-info-grid { grid-template-columns: 1fr; }
  .rbk-trust .rbk-wrap { grid-template-columns: 1fr; }
  .rbk-trust span { border-bottom: 1px solid var(--steel); }
  .single-product .site-main { width: min(calc(100% - 32px),var(--wrap)); }
  .woocommerce div.product { display: block; padding-block: 12px 100px; }
  .woocommerce div.product .rbk-product-visual { margin-bottom: 14px; }
  .rbk-product-plane { min-height: 200px; }
  .woocommerce div.product .summary { display: flex; flex-direction: column; }
  .woocommerce div.product .product_title { margin-bottom: .2em; font-size: 26px; }
  .woocommerce div.product .rbk-fit { order: 3; margin-bottom: 20px; }
  .woocommerce div.product p.price { order: 1; }
  .woocommerce div.product .rbk-vat { order: 2; }
  .woocommerce div.product .rbk-qualifiers { order: 4; }
  .rbk-spec > div { grid-template-columns: 1fr; gap: 5px; }
  .rbk-aftercare { grid-template-columns: 1fr; gap: 36px; }
  .rbk-mobile-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 380; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 10px 16px; border-top: 1px solid var(--steel); background: var(--plinth); }
  .rbk-footer__base { grid-template-columns: 1fr; }
  .rbk-footer__grid { grid-template-columns: 1fr 1fr; align-items: start; column-gap: 28px; row-gap: 40px; }
  .rbk-footer__base { align-items: start; gap: 28px; }
  .rbk-info-section { grid-template-columns: 1fr; gap: 14px; padding-block: 42px; }
  .rbk-info-section > .rbk-label, .rbk-info-section > h2, .rbk-info-section > .rbk-prose { grid-column: 1; grid-row: auto; }
  .rbk-request-form { grid-template-columns: 1fr; margin-top: 48px; padding: 22px; }
  .rbk-form-wide { grid-column: 1; }
  .rbk-info-page { padding-block: 64px 100px; }
  .rbk-conversion-hero { padding-block: 24px 72px; }
  .rbk-conversion-hero > .rbk-wrap, .rbk-conversion-single__hero, .rbk-conversion-definition, .rbk-conversion-order, .rbk-conversion-fitment { grid-template-columns: 1fr; gap: 36px; }
  .rbk-conversion-hero h1, .rbk-conversion-identity h1 { font-size: 42px; }
  .rbk-conversion-wipe { min-height: 190px; }
  .rbk-conversion-wipe--compact { min-height: 220px; }
  .rbk-conversion-types, .rbk-conversion-grid, .rbk-tier-grid, .rbk-conversion-steps, .rbk-honest .rbk-wrap > div:last-child, .rbk-extra-grid, .rbk-not-change ul, .rbk-conversion-technical { grid-template-columns: 1fr; }
  .rbk-conversion-types article { min-height: 230px; }
  .rbk-conversion-steps li { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--steel); }
  .rbk-conversion-steps li:last-child { border-bottom: 0; }
  .rbk-conversion-steps p { margin-top: 26px; }
  .rbk-conversion-single__hero { padding-block: 24px 72px; }
  .rbk-conversion-single__hero { gap: 22px; }
  .rbk-conversion-identity h1 { margin-bottom: 12px; font-size: 34px; }
  .rbk-conversion-identity > p { margin-bottom: 12px; }
  .rbk-conversion-identity > div:not(.rbk-conversion-mobile-summary) { margin-top: 16px; }
  .rbk-conversion-mobile-summary { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px !important; padding-top: 16px; border-top: 1px solid var(--steel); }
  .rbk-conversion-mobile-summary strong { color: var(--white); font-size: 16px; font-weight: 400; text-transform: none; }
  .rbk-conversion-order, .rbk-conversion-fitment { padding-block: 72px; }
  .rbk-conversion-disclaimer { grid-column: 1; }
  .rbk-conversion-fitment dl > div { grid-template-columns: 1fr; gap: 6px; }
  .rbk-conversion-fitment > .rbk-btn { grid-column: 1; }
  .rbk-component-row, .rbk-component-row--head { grid-template-columns: 1fr; }
  .rbk-component-row--head { display: none; }
  .rbk-component-row { padding-block: 12px; }
  .rbk-component-row > * { padding-block: 6px; }
  .rbk-component-row > *:last-child { border-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .rbk-before-after__stage.is-wiping .rbk-ba-image--after { animation: none; }
  .rbk-conversion-wipe.is-wiping .rbk-conversion-side--after { animation: none; }
}
