/* Option B homepage (Pass AS, switch ma_home_v19): white, near-black and the logo red; every corner 6px; light by default, dark on request. Loaded instead of style.css on the homepage only. */
@font-face { font-family: "Archivo"; src: url(../fonts/Archivo.woff2) format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url(../fonts/PublicSans.woff2) format("woff2"); font-weight: 100 900; font-display: swap; }

/* Tokens: --accent fills buttons and the call band; --accent-ink is the red used for text and icons, lighter in dark mode so it stays readable */
:root {
  color-scheme: light;
  --bg: #FFFFFF;
  --surface: #F2F2F3;
  --raise: #FFFFFF;
  --ink: #111214;
  --ink-2: #474A50;
  --line: #D9DADD;
  --field: #6B6E74;
  --accent: #C8102E;
  --accent-hover: #A30C25;
  --accent-ink: #C8102E;
  --on-accent: #FFFFFF;
  --band: #C8102E;
  --plate: transparent;
  --plate-pad: 0px;
  --shadow: 0 22px 44px -26px rgba(17, 18, 20, .38);
  --font-display: "Archivo", "Arial Narrow", Arial, sans-serif;
  --font-body: "Public Sans", Arial, sans-serif;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --r: 6px;
  --gutter: clamp(20px, 3.5vw, 48px);
  --sec: clamp(72px, 8vw, 120px);
  --header-h: 80px;
  --bar-h: 0px;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0E0F11;
  --surface: #17191C;
  --raise: #1C1E22;
  --ink: #F1F2F4;
  --ink-2: #B3B6BC;
  --line: #2C2F34;
  --field: #8D9097;
  --accent: #C8102E;
  --accent-hover: #E01836;
  --accent-ink: #FF7383;
  --band: #A80D26;
  --plate: #FFFFFF;
  --plate-pad: 6px;
  --shadow: 0 22px 44px -26px rgba(0, 0, 0, .8);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--header-h) + 16px); -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(200, 16, 46, .15); }
a, button, input, select, summary { touch-action: manipulation; }
body { margin: 0; font: 400 21px/1.6 var(--font-body); color: var(--ink); background: var(--bg); padding-bottom: var(--bar-h); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ink); text-underline-offset: 4px; }
p { margin: 0; }
h1, h2, h3 { margin: 0; font-family: var(--font-display); font-weight: 800; font-stretch: 108%; letter-spacing: -.02em; line-height: 1.04; text-wrap: balance; }
[hidden] { display: none !important; }
:focus-visible { outline: 4px solid var(--accent-ink); outline-offset: 3px; }
svg.i { width: 1.15em; height: 1.15em; flex: none; fill: currentColor; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mark { color: var(--accent-ink); }
.wrap { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }
.sec { padding: var(--sec) 0; }
.skip { position: absolute; left: 16px; top: -100px; z-index: 100; padding: 14px 20px; border-radius: var(--r); background: var(--ink); color: var(--bg); font-weight: 700; text-decoration: none; }
.skip:focus { top: 12px; }

/* Type scale: body 21px, nothing under 20px, headings from 28px */
.h1 { font-size: clamp(40px, 4.2vw, 62px); font-stretch: 110%; line-height: 1.02; }
.h2 { font-size: clamp(34px, 3.6vw, 54px); }
.h3 { font-size: clamp(26px, 2vw, 30px); font-stretch: 104%; line-height: 1.15; }
.lead { font-size: clamp(21px, 1.5vw, 24px); line-height: 1.55; color: var(--ink-2); max-width: 36em; }

/* Buttons: solid red for the main action, an ink outline for the second; one 6px corner */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 60px; padding: 0 28px; border-radius: var(--r); font: 700 21px/1.2 var(--font-body); white-space: nowrap; background: var(--accent); color: var(--on-accent); text-decoration: none; border: 2px solid var(--accent); cursor: pointer; transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease); }
.btn:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.btn:active { transform: translateY(1px); }
.btn .i { transition: transform .2s var(--ease); }
.btn:hover .i-go { transform: translateX(3px); }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn--ghost:hover { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.btn--sm { min-height: 52px; padding: 0 20px; font-size: 20px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 767px) { .btn { min-height: 64px; width: 100%; white-space: normal; text-align: center; padding: 10px 20px; } .btn--sm { width: auto; min-height: 56px; } }

/* Header: one row; a red underline marks the link you point at */
.header { position: sticky; top: 0; z-index: 50; background: var(--bg); border-bottom: 1px solid var(--line); transition: box-shadow .2s var(--ease); }
.header.is-stuck { box-shadow: 0 8px 24px -18px rgba(17, 18, 20, .45); }
.header__in { --hgap: 16px; height: var(--header-h); display: flex; align-items: center; gap: var(--hgap); }
.logo { display: inline-flex; flex: none; border-radius: var(--r); }
.logo img { height: 34px; width: auto; background: var(--plate); padding: var(--plate-pad); border-radius: var(--r); box-sizing: content-box; }
.nav { display: flex; margin-left: auto; align-self: stretch; }
.nav__list { display: flex; margin: 0; padding: 0; list-style: none; }
.nav__item { position: relative; display: flex; align-items: stretch; }
.nav__link { display: flex; align-items: center; font-weight: 600; font-size: 20px; white-space: nowrap; text-decoration: none; padding: 0 10px; border-top: 3px solid transparent; border-bottom: 3px solid transparent; }
.has-sub .nav__link { padding-right: 2px; }
.nav__item:hover .nav__link, .nav__item.is-open .nav__link { border-bottom-color: var(--accent); }
.nav__toggle { display: flex; align-items: center; justify-content: center; width: 26px; margin-right: 4px; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.nav__toggle svg { width: 18px; height: 18px; transition: transform .2s var(--ease); }
.nav__item.is-open .nav__toggle svg, .nav__item:hover .nav__toggle svg { transform: rotate(180deg); }
/* The dropdown: a white panel under the item, links 52px tall; opens on hover, on the arrow button and while focus is inside */
.nav__sub { position: absolute; top: 100%; left: 0; z-index: 60; min-width: 300px; margin: 0; padding: 8px; list-style: none; background: var(--raise); border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: 0 0 var(--r) var(--r); box-shadow: 0 24px 44px -24px rgba(17, 18, 20, .45); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s var(--ease), transform .15s var(--ease), visibility 0s linear .15s; }
.nav__item:hover .nav__sub, .nav__item.is-open .nav__sub, .nav__item:focus-within:not(.is-closed-by-key) .nav__sub { opacity: 1; visibility: visible; transform: none; transition: opacity .15s var(--ease), transform .15s var(--ease), visibility 0s; }
.nav__item:last-child .nav__sub { left: auto; right: 0; }
.nav__sub a { display: flex; align-items: center; min-height: 52px; padding: 0 14px; border-radius: var(--r); font-weight: 600; color: var(--ink); text-decoration: none; white-space: nowrap; }
.nav__sub a:hover { background: var(--surface); color: var(--accent-ink); }
.btn--call { min-height: 52px; padding: 0 20px; font-size: 20px; flex: none; }
.theme-btn { width: 52px; height: 52px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r); border: 2px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; transition: background .2s var(--ease), color .2s var(--ease); }
.theme-btn:hover { background: var(--ink); color: var(--bg); }
.theme-btn svg { width: 24px; height: 24px; }
.theme-btn__sun, :root[data-theme="dark"] .theme-btn__moon { display: none; }
:root[data-theme="dark"] .theme-btn__sun { display: block; }
.menu-btn { display: none; min-height: 52px; padding: 0 20px; font-size: 20px; width: auto; flex: none; }
/* Search: a square button that drops a full-width search band under the header; on the homepage it waits until the hero's own search bar has scrolled away */
.search-btn { width: 52px; height: 52px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r); border: 2px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; transition: background .2s var(--ease), color .2s var(--ease), opacity .2s var(--ease); }
.search-btn:hover, .search-btn[aria-expanded="true"] { background: var(--ink); color: var(--bg); }
.search-btn svg { width: 24px; height: 24px; }
.hsearch { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 16px 0; background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: 0 16px 28px -22px rgba(17, 18, 20, .45); }
.hsearch.is-open { display: block; }
.hsearch .sform { max-width: 880px; margin: 0 auto; }
/* One search field recipe for the header and the hero: a 2px ink box, the submit button joined to its right end */
.sform { display: flex; align-items: stretch; }
.sform input { flex: 1 1 auto; min-width: 0; min-height: 64px; padding: 0 20px; font: 400 21px var(--font-body); color: var(--ink); background: var(--bg); border: 2px solid var(--ink); border-right: 0; border-radius: var(--r) 0 0 var(--r); }
.sform input::placeholder { color: var(--ink-2); opacity: 1; }
.sform input:focus, .sform input:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--accent-ink); }
.sform input::-webkit-search-cancel-button { -webkit-appearance: none; }
.sform__go { min-height: 64px; border-radius: 0 var(--r) var(--r) 0; padding: 0 26px; }
.sform__go svg { width: 22px; height: 22px; }
/* Wide screens: the header row gets a wider frame than the page so logo, menu, phone, theme and search all fit on one line */
/* While the hero search is on screen the header button folds away to zero width, so nothing is left as a gap; it slides back in once the hero search scrolls off */
@media (min-width: 1280px) { .header .wrap { max-width: 1440px; padding: 0 32px; } .search-btn { transition: width .25s var(--ease), margin .25s var(--ease), border-width .25s var(--ease), opacity .2s var(--ease), background .2s var(--ease), color .2s var(--ease); overflow: hidden; } .header.hero-search-in-view .search-btn { width: 0; border-width: 0; margin-left: calc(-1 * var(--hgap)); opacity: 0; visibility: hidden; } }
@media (min-width: 1280px) and (max-width: 1439px) { .logo img { height: 26px; } .nav__link { padding: 0 6px; } .has-sub .nav__link { padding-right: 0; } .nav__toggle { width: 22px; margin-right: 0; } .nav__toggle svg { width: 16px; height: 16px; } .btn--call { padding: 0 14px; } .header__in { --hgap: 10px; } }
@media (max-width: 1279px) { .nav { display: none; } .menu-btn { display: inline-flex; } .btn--call { margin-left: auto; } }
@media (min-width: 768px) and (max-width: 1023px) { .theme-btn { display: none; } }
@media (max-width: 767px) {
  :root { --header-h: 68px; --bar-h: 92px; }
  html { scroll-padding-top: 152px; }
  .logo img { height: 28px; }
  .btn--call, .theme-btn, .search-btn { display: none; }
  .menu-btn { margin-left: auto; }
  /* Phones: the search field is always there, a second row of the sticky header (Jeff's standing rule) */
  .hsearch { display: block; position: static; padding: 0 0 10px; border: 0; box-shadow: none; }
  .hsearch .sform { padding: 0 var(--gutter); }
  .sform input { min-height: 56px; padding: 0 14px; font-size: 20px; }
  .sform__go { min-height: 56px; width: 60px; padding: 0; }
  .sform__go span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (max-width: 374px) { .logo img { height: 23px; } .header__in { gap: 10px; } .menu-btn { padding: 0 16px; } }

/* Phone menu: a full screen of words, every page visible, no nested taps */
.menu { overscroll-behavior: contain; border: 0; padding: 0; margin: 0; max-width: 100vw; max-height: 100dvh; width: 100vw; height: 100dvh; background: var(--bg); color: var(--ink); }
.menu::backdrop { background: rgba(17, 18, 20, .5); }
.menu__in { padding: 0 var(--gutter) 48px; }
.menu__top { height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.menu__group { padding: 18px 0; border-bottom: 1px solid var(--line); }
.menu__head { display: inline-flex; align-items: center; gap: 10px; font: 800 30px/1.1 var(--font-display); font-stretch: 108%; letter-spacing: -.02em; color: var(--ink); text-decoration: none; padding: 8px 0; }
.menu__head svg { color: var(--accent-ink); }
.menu__links { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.menu__links a { display: block; padding: 10px 0; color: var(--ink-2); text-decoration: none; }
.menu__links a:hover { color: var(--accent-ink); text-decoration: underline; }
.menu__contact { display: grid; gap: 12px; padding-top: 24px; }
@media (max-width: 560px) { .menu__links { grid-template-columns: 1fr; } }
body.menu-open { overflow: hidden; }

/* Worded light/dark switch (phone menu and footer) */
.appearance { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.appearance__opt { font: inherit; color: var(--ink-2); background: transparent; border: 2px solid transparent; border-radius: var(--r); padding: 4px 14px; min-height: 44px; cursor: pointer; }
.appearance__opt:hover { color: var(--ink); }
.appearance__opt[aria-pressed="true"] { color: var(--ink); border-color: var(--ink); }
.menu .appearance { margin-top: 12px; color: var(--ink-2); }

/* Hero, after the live site's: lot and showroom photos crossfade full bleed behind the words (shaded on the left for reading), a van from the lot on a white card on the right */
.hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; color: #FFFFFF; background: #111214; }
.hero__bg { position: absolute; inset: 0; z-index: -2; margin: 0; padding: 0; list-style: none; }
.hero__bg li { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s var(--ease); }
.hero__bg li.is-active { opacity: 1; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.js .hero__bg li.is-active img { animation: drift 9s linear both; }
@keyframes drift { from { transform: scale(1.06); } to { transform: none; } }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(14, 15, 17, .88) 0%, rgba(14, 15, 17, .80) 40%, rgba(14, 15, 17, .48) 68%, rgba(14, 15, 17, .32) 100%); }
.hero__grid { width: 100%; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 40px 64px; align-items: center; padding-top: clamp(36px, 6vh, 80px); padding-bottom: clamp(36px, 6vh, 80px); }
/* The live site's own headline, one phrase per line */
.hero .h1 { color: #FFFFFF; font-size: clamp(40px, 4.6vw, 68px); font-stretch: 100%; line-height: 1; letter-spacing: -.03em; }
.hero .h1__line { display: block; }
.hero .h1 .mark { color: #FF4D63; }
.hero .lead { margin-top: 18px; color: rgba(255, 255, 255, .92); }
.hero .actions { margin-top: 28px; }
.hero .btn--ghost { color: #FFFFFF; border-color: #FFFFFF; }
.hero .btn--ghost:hover { background: #FFFFFF; color: #111214; }
.hero :focus-visible { outline-color: #FFFFFF; }
.hero__search { margin-top: 26px; max-width: 640px; }
.hero__label { display: block; margin-bottom: 8px; font-weight: 700; color: #FFFFFF; }
.hero .sform input { background: #FFFFFF; color: #111214; border-color: #FFFFFF; }
.hero .sform input::placeholder { color: #474A50; }
/* The van card: one van at a time, white, so the price reads like a sticker on the lot */
.vancard { color: var(--ink); background: var(--raise); border-radius: var(--r); overflow: hidden; box-shadow: 0 34px 70px -30px rgba(0, 0, 0, .75); }
.vancard__link { display: block; color: inherit; text-decoration: none; }
.vancard__media { display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface); }
.vancard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .8s var(--ease); }
.vancard__media img.is-in { opacity: 0; }
.vancard__body { display: grid; gap: 4px; padding: 16px 22px 18px; }
.vancard__tag { font-weight: 700; color: var(--accent-ink); }
.vancard__name { font: 800 26px/1.15 var(--font-display); font-stretch: 104%; letter-spacing: -.015em; }
.vancard__meta { color: var(--ink-2); }
.vancard__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.vancard__price { font: 800 30px/1 var(--font-display); font-stretch: 108%; font-variant-numeric: tabular-nums; }
.vancard__go { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--accent-ink); }
.vancard__link:hover .vancard__name { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.vancard__all { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; border-top: 1px solid var(--line); font-weight: 700; color: var(--ink); text-decoration: none; }
.vancard__all:hover { background: var(--surface); }
.vancard :focus-visible { outline-color: var(--accent-ink); outline-offset: -4px; }
/* Pause: one white plate in the hero's lower right corner; stops the photos and the van card */
.show-pause { position: absolute; right: var(--gutter); bottom: 16px; z-index: 2; width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: var(--r); background: rgba(255, 255, 255, .94); color: #111214; cursor: pointer; box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .6); }
.show-pause:hover { background: #FFFFFF; }
.show-pause:focus-visible { outline: 4px solid #FFFFFF; outline-offset: 2px; box-shadow: 0 0 0 7px #111214; }
.show-pause svg { width: 24px; height: 24px; }
.show-pause .i-play, .show-pause[aria-pressed="true"] .i-pause { display: none; }
.show-pause[aria-pressed="true"] .i-play { display: block; }
@media (max-width: 1023px) { .hero__grid { grid-template-columns: minmax(0, 1fr); } .vancard { max-width: 560px; } }
@media (max-width: 767px) {
  .hero { align-items: stretch; }
  .hero::before { background: rgba(14, 15, 17, .78); }
  .hero__grid { padding: 24px var(--gutter) 84px; gap: 28px; }
  .hero .h1 { font-size: 34px; line-height: 1.04; }
  .hero .lead { margin-top: 12px; }
  .hero .actions { margin-top: 22px; }
  .hero__search { display: none; }
  .vancard__name { font-size: 24px; }
}
@media (max-width: 374px) { .hero .h1 { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { .hero__bg li, .vancard__media img { transition: none; } .js .hero__bg li.is-active img { animation: none; } }
/* Laptop and desktop (1024px up): the hero and the stats strip fit the first screen under the header (Jeff: "the whole thing should show", "even the stats"); the hero takes the height that is left */
@media (min-width: 1024px) {
  .fold { display: flex; flex-direction: column; height: calc(100vh - var(--header-h)); height: calc(100svh - var(--header-h)); min-height: 560px; max-height: 1120px; }
  .admin-bar .fold { height: calc(100svh - var(--header-h) - 32px); }
  .fold .hero { flex: 1 1 auto; min-height: 0; }
  .fold .hero .h1 { font-size: clamp(40px, min(4.6vw, 8.4vh), 68px); }
  .fold .vancard__media { aspect-ratio: auto; height: clamp(150px, 30vh, 300px); }
  .fold__facts { flex: none; }
  .fold .facts { margin: clamp(14px, 2.4vh, 24px) 0 clamp(12px, 2vh, 20px); }
  .fold .fact { padding-top: clamp(12px, 1.8vh, 20px); padding-bottom: clamp(12px, 1.8vh, 20px); }
  .fold .fact__big { font-size: clamp(34px, 4.6vh, 46px); }
}
@media (min-width: 1024px) and (max-height: 800px) { .fold .hero__grid { padding-top: 24px; padding-bottom: 24px; } .fold .hero .lead { margin-top: 12px; } .fold .hero .actions { margin-top: 20px; } .fold .hero__search { margin-top: 18px; } .fold .hero .sform input, .fold .hero .sform__go { min-height: 56px; } }
/* Proof strip directly under the hero: the three facts a buyer checks first */
.facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(40px, 4vw, 56px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact { padding: 24px 28px 24px 0; display: flex; align-items: center; gap: 16px; }
.fact + .fact { padding-left: 28px; border-left: 1px solid var(--line); }
.fact__big { font: 800 46px/1 var(--font-display); font-stretch: 110%; letter-spacing: -.03em; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.fact__big .i { width: 30px; height: 30px; color: var(--accent-ink); }
.fact__txt { color: var(--ink-2); line-height: 1.35; }
.fact a { color: inherit; }
@media (max-width: 1023px) { .fact__big { font-size: 38px; } }
@media (max-width: 767px) {
  .facts { grid-template-columns: 1fr; margin-top: 36px; }
  .fact, .fact + .fact { padding: 16px 0; border-left: 0; }
  .fact + .fact { border-top: 1px solid var(--line); }
  .fact__big { font-size: 34px; min-width: 104px; }
}

/* Section heads: headline and its line stacked on the left, the section's one action on the right */
.head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; margin-bottom: clamp(32px, 4vw, 52px); }
.head .lead { margin-top: 14px; }
@media (max-width: 767px) { .head .btn { width: 100%; } }

/* Vans: six cards, price in display type; rows on phones so each name stays readable */
.vgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; margin: 0; padding: 0; }
.vcard { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; text-decoration: none; color: var(--ink); background: var(--raise); transition: border-color .2s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.vcard:hover { border-color: var(--ink); box-shadow: var(--shadow); transform: translateY(-2px); }
.vcard__media { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--surface); }
.vcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.vcard:hover .vcard__media img { transform: scale(1.04); }
.vcard__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.vcard__name { font: 800 27px/1.1 var(--font-display); font-stretch: 104%; letter-spacing: -.015em; }
.vcard__meta { color: var(--ink-2); }
.vcard__foot { margin-top: auto; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); }
.vcard__price { font: 800 32px/1 var(--font-display); font-stretch: 108%; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.vcard__go { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--accent-ink); }
.vcard__go .i { transition: transform .2s var(--ease); }
.vcard:hover .vcard__go .i { transform: translateX(3px); }
@media (max-width: 1023px) { .vgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .vgrid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .vcard { flex-direction: row; align-items: stretch; }
  .vcard:hover { transform: none; }
  .vcard__media { width: 124px; aspect-ratio: auto; flex: none; }
  .vcard__body { padding: 14px 16px; gap: 2px; }
  .vcard__name { font-size: 23px; }
  .vcard__meta { font-size: 20px; line-height: 1.4; }
  .vcard__foot { padding-top: 8px; border-top: 0; }
  .vcard__price { font-size: 26px; }
  .vcard__go { display: none; }
}

/* Equipment: an uneven grid (one big tile, four small, one wide) so it never reads as the van grid again */
.cats { background: var(--surface); }
.bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "a a b c" "a a d e" "f f f f"; gap: 20px; list-style: none; margin: 0; padding: 0; }
.bento > li { display: flex; }
.bento > li:nth-child(1) { grid-area: a; }
.bento > li:nth-child(2) { grid-area: b; }
.bento > li:nth-child(3) { grid-area: c; }
.bento > li:nth-child(4) { grid-area: d; }
.bento > li:nth-child(5) { grid-area: e; }
.bento > li:nth-child(6) { grid-area: f; }
.tile { display: flex; flex-direction: column; width: 100%; background: var(--raise); border-radius: var(--r); overflow: hidden; text-decoration: none; color: var(--ink); border: 1px solid transparent; transition: border-color .2s var(--ease), box-shadow .25s var(--ease); }
.tile:hover { border-color: var(--ink); box-shadow: var(--shadow); }
.tile__media { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: var(--surface); }
.tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.tile:hover .tile__media img { transform: scale(1.04); }
.tile__body { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px 20px; }
.tile__name { display: flex; align-items: center; justify-content: space-between; gap: 12px; font: 800 26px/1.15 var(--font-display); font-stretch: 104%; letter-spacing: -.015em; }
.tile__name .i { color: var(--accent-ink); transition: transform .2s var(--ease); }
.tile:hover .tile__name .i { transform: translateX(4px); }
.tile__desc { color: var(--ink-2); line-height: 1.45; }
.tile--big .tile__media { aspect-ratio: auto; flex: 1; min-height: 300px; }
.tile--big .tile__body { padding: 22px 26px 26px; }
.tile--big .tile__name { font-size: clamp(30px, 2.6vw, 38px); }
.tile--wide { flex-direction: row; }
.tile--wide .tile__media { width: 44%; aspect-ratio: auto; min-height: 260px; flex: none; }
.tile--wide .tile__body { justify-content: center; padding: 32px clamp(24px, 4vw, 56px); gap: 10px; }
.tile--wide .tile__name { font-size: clamp(30px, 2.6vw, 38px); justify-content: flex-start; }
.tile--wide .tile__go { margin-top: 12px; align-self: flex-start; }
.tile--wide:hover .tile__go { background: var(--ink); color: var(--bg); }
@media (max-width: 1023px) {
  .bento { grid-template-columns: 1fr 1fr; grid-template-areas: "a a" "b c" "d e" "f f"; }
  .tile--big .tile__media { min-height: 0; aspect-ratio: 16 / 9; flex: none; }
}
@media (max-width: 767px) {
  .bento { grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "b" "c" "d" "e" "f"; gap: 12px; }
  .tile:not(.tile--big) { flex-direction: row; align-items: stretch; }
  .tile:not(.tile--big) .tile__media { width: 124px; aspect-ratio: auto; min-height: 112px; flex: none; }
  .tile:not(.tile--big) .tile__body { padding: 14px 16px; justify-content: center; }
  .tile__name { font-size: 23px; }
  .tile--big .tile__name, .tile--wide .tile__name { font-size: 27px; }
  .tile__desc { font-size: 20px; }
  .tile--wide .tile__go { display: none; }
}

/* Reviews: the rating as one big number, the families' own words beside it */
.rgrid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px 80px; align-items: start; }
.rating__num { font: 800 clamp(104px, 11vw, 168px)/.88 var(--font-display); font-stretch: 110%; letter-spacing: -.045em; }
.stars { display: flex; gap: 4px; margin: 18px 0 12px; color: var(--accent-ink); }
.stars .i { width: 30px; height: 30px; }
.rating .lead { margin-bottom: 24px; }
.quotes { display: grid; }
.quote { margin: 0; padding: 30px 0; border-top: 1px solid var(--line); }
.quote:first-child { padding-top: 0; border-top: 0; }
.quote p { font: 700 clamp(26px, 2.2vw, 34px)/1.25 var(--font-display); font-stretch: 100%; letter-spacing: -.012em; text-wrap: pretty; }
.quote figcaption { margin-top: 12px; color: var(--ink-2); }
@media (max-width: 1023px) { .rgrid { grid-template-columns: minmax(0, 1fr); } }

/* Budget: the lot from above, then the promise */
.split { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 40px 72px; align-items: center; }
.split img { border-radius: var(--r); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.split .lead { margin-top: 18px; }
.split .actions { margin-top: 30px; }
@media (max-width: 1023px) { .split { grid-template-columns: minmax(0, 1fr); } }

/* Finder: one framed panel; the question on the left, big answer rows on the right */
.finder { border-top: 1px solid var(--line); }
.finder__call { margin-top: 16px; font-weight: 600; }
.finder__call a { color: var(--accent-ink); }
.quiz { border: 2px solid var(--ink); border-radius: var(--r); padding: clamp(24px, 3.4vw, 48px); background: var(--raise); }
.quiz__step { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 64px; }
.quiz__progress { font-weight: 700; color: var(--accent-ink); }
.quiz__q, .quiz__result-name { font-size: clamp(34px, 3.4vw, 48px); line-height: 1.05; margin-top: 10px; }
.quiz__q:focus:not(:focus-visible), .quiz__result-name:focus:not(:focus-visible) { outline: none; }
.quiz__note, .quiz__why { margin-top: 16px; color: var(--ink-2); }
.quiz__nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.quiz__options { display: grid; align-content: start; }
.quiz__opt { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; padding: 14px 12px; margin: 0 -12px; border-bottom: 1px solid var(--line); border-radius: var(--r); text-decoration: none; color: var(--ink); font-weight: 600; font-size: 22px; line-height: 1.3; transition: background .15s var(--ease); }
.quiz__opt .i { color: var(--accent-ink); transition: transform .2s var(--ease); }
.quiz__opt:hover { background: var(--surface); }
.quiz__opt:hover .i { transform: translateX(4px); }
.quiz__side { display: grid; gap: 16px; align-content: start; }
.quiz__small { color: var(--ink-2); }
.quiz__small a { color: var(--accent-ink); }
@media (max-width: 1023px) { .quiz__step { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { .quiz { padding: 22px 18px; } .quiz__opt { font-size: 21px; min-height: 72px; } }

/* Why us: the number first, then the showroom and four reasons */
.why { background: var(--surface); }
.why__title { max-width: 18em; }
.why__title .big { display: block; font-size: clamp(72px, 8vw, 116px); line-height: .9; letter-spacing: -.045em; color: var(--accent-ink); }
.wgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 72px; margin-top: 52px; align-items: start; }
.video { position: relative; display: block; border-radius: var(--r); overflow: hidden; color: #FFFFFF; text-decoration: none; }
.video img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; transition: transform .6s var(--ease); }
.video:hover img { transform: scale(1.03); }
.video__btn { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 20px; border-radius: var(--r); background: var(--accent); font-weight: 700; }
.video__cap { margin-top: 12px; color: var(--ink-2); }
.proofs { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 40px; }
.proof { border-top: 3px solid var(--ink); padding-top: 18px; }
.proof img { width: 64px; height: auto; margin-bottom: 12px; }
.proof p { margin-top: 10px; color: var(--ink-2); }
@media (max-width: 1023px) { .wgrid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { .proofs { grid-template-columns: 1fr; gap: 28px; } }

/* Payment calculator: the payment is the headline and counts to each new answer */
.calc { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 64px; border: 1px solid var(--line); border-radius: var(--r); padding: clamp(24px, 3.4vw, 48px); background: var(--raise); }
.calc__label { font-weight: 700; color: var(--ink-2); }
.calc__pay { display: block; font: 800 clamp(72px, 8vw, 120px)/1 var(--font-display); font-stretch: 110%; letter-spacing: -.035em; margin-top: 8px; font-variant-numeric: tabular-nums; }
.calc__per { font-size: 22px; color: var(--ink-2); }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
.field label { display: block; font-weight: 700; margin-bottom: 8px; }
.field input, .field select { width: 100%; min-height: 60px; padding: 0 16px; font: 400 21px var(--font-body); color: var(--ink); background: var(--bg); border: 2px solid var(--field); border-radius: var(--r); }
.field input:focus, .field select:focus { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-ink) 25%, transparent); }
.calc__foot { grid-column: 1 / -1; display: grid; gap: 8px; color: var(--ink-2); border-top: 1px solid var(--line); padding-top: 20px; }
.calc__foot a { color: var(--ink); }
@media (max-width: 1023px) { .calc { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .fields { grid-template-columns: 1fr; } }

/* Brands: a ruled grid, logos in their own colours (on a light plate in dark mode) */
.logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.logos li { display: flex; align-items: center; justify-content: center; height: 132px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.logos img { max-height: 48px; width: auto; max-width: 100%; object-fit: contain; }
:root[data-theme="dark"] .logos li { background: #F4F4F5; }
@media (max-width: 1023px) { .logos { grid-template-columns: repeat(3, 1fr); } .logos li:last-child { grid-column: span 3; } }
@media (max-width: 560px) { .logos { grid-template-columns: 1fr 1fr; } .logos li { height: 104px; } .logos li:last-child { grid-column: auto; } }

/* Call band: the page's one colour block, the logo red */
.call { background: var(--band); color: #FFFFFF; padding: var(--sec) 0; }
.call :focus-visible { outline-color: #FFFFFF; }
.cgrid2 { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px 72px; align-items: end; }
.call .lead { color: #FFFFFF; margin-top: 14px; }
.call__num { display: block; margin: 20px 0 28px; font: 800 clamp(52px, 5.6vw, 92px)/1 var(--font-display); font-stretch: 110%; letter-spacing: -.035em; color: #FFFFFF; text-decoration: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.call__num:hover { text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 8px; }
.call .btn { background: #FFFFFF; color: #A30C25; border-color: #FFFFFF; }
.call .btn:hover { background: #FFE9EC; border-color: #FFE9EC; }
.call .btn--ghost { background: transparent; color: #FFFFFF; border-color: #FFFFFF; }
.call .btn--ghost:hover { background: #FFFFFF; color: #A30C25; }
.call__card { border: 2px solid rgba(255, 255, 255, .55); border-radius: var(--r); padding: 28px; display: grid; gap: 8px; }
.call__open { font-weight: 700; }
.call__card .btn { margin-top: 12px; justify-self: start; }
@media (max-width: 1023px) { .cgrid2 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { .call__num { font-size: 10.4vw; font-stretch: 100%; } .call__card .btn { justify-self: stretch; } }

/* Footer */
.footer { padding: 72px 0 40px; border-top: 1px solid var(--line); }
.footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px; }
.footer__brand { display: grid; gap: 12px; align-content: start; justify-items: start; }
.footer__brand .logo img { height: 36px; }
.signoff { font: 800 30px/1.12 var(--font-display); font-stretch: 108%; letter-spacing: -.02em; margin: 6px 0; }
.footer__brand a { color: var(--ink); }
.footer h2 { font: 800 28px/1.1 var(--font-display); font-stretch: 104%; margin-bottom: 14px; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer li a { display: block; padding: 7px 0; color: var(--ink-2); text-decoration: none; }
.footer li a:hover { color: var(--accent-ink); text-decoration: underline; }
.footer__legal { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; color: var(--ink-2); font-size: 20px; }
.footer__legal a { color: var(--ink-2); }
.footer__legal .appearance { margin-left: auto; }
@media (max-width: 1023px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer__grid { grid-template-columns: minmax(0, 1fr); } .footer__legal .appearance { margin-left: 0; } }
.footer__brand a, .tile__name, .vcard__name { overflow-wrap: anywhere; }
.tile__body, .vcard__body { min-width: 0; }

/* Phone action bar: steps aside while the call band (the same three actions, full size) is on screen */
.bar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; grid-template-columns: 1.25fr 1fr 1.25fr; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--bg); border-top: 1px solid var(--line); box-shadow: 0 -10px 24px -18px rgba(17, 18, 20, .4); transition: transform .4s var(--ease); }
.bar a { min-height: 60px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 6px; border-radius: var(--r); font: 700 20px/1 var(--font-body); text-decoration: none; white-space: nowrap; }
.bar .i { width: 22px; height: 22px; }
.bar__call { background: var(--accent); color: #FFFFFF; }
.bar__text, .bar__dir { border: 2px solid var(--ink); color: var(--ink); }
.bar--off { transform: translateY(110%); }
@media (max-width: 767px) { .bar { display: grid; } }
@media (max-width: 374px) { .bar { grid-template-columns: 1.1fr .75fr 1.35fr; gap: 6px; } .bar a { padding: 0 4px; } .bar__dir .i { display: none; } }

/* Reveal on scroll; off under reduced motion */
.js .rv { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease), transform .7s var(--ease); transition-delay: calc(var(--i, 0) * 80ms); }
.js .rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .rv { opacity: 1; transform: none; transition: none; }
  .js .hero__photo img { animation: none; }
  *, *::before, *::after { transition-duration: 0s !important; scroll-behavior: auto !important; }
}

/* WordPress: the admin bar (logged-in only) sits above the sticky header */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.footer__social { display: flex; gap: 16px; flex-wrap: wrap; }

/* ══ PASS AT (2026-10-22): Option B inner pages. Van inventory first; shared pieces (page head, breadcrumb, forms) are reused by every inner page ══ */

/* Desktop menu: the section you are in keeps its red underline */
.nav__link.is-current { border-bottom-color: var(--accent); }

/* Page head: breadcrumb, title, one line, then quick links */
.phead { padding: clamp(28px, 4vw, 56px) 0 clamp(24px, 3vw, 40px); border-bottom: 1px solid var(--line); }
.crumbs { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 14px; color: var(--ink-2); }
.crumbs a { color: var(--ink-2); }
.crumbs [aria-current] { color: var(--ink); font-weight: 600; }
.phead .h1 { font-size: clamp(36px, 4.4vw, 64px); max-width: 20em; }
.phead .lead { margin-top: 14px; }
.chips { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.chip { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 12px 0 18px; border: 2px solid var(--ink); border-radius: var(--r); font-weight: 700; color: var(--ink); text-decoration: none; transition: background .2s var(--ease), color .2s var(--ease); }
.chip:hover { background: var(--ink); color: var(--bg); }
.chip__n { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 8px; border-radius: var(--r); background: var(--accent); color: #FFFFFF; font-size: 20px; font-variant-numeric: tabular-nums; }

/* Inventory: filters in a column on the left (all visible, no dropdowns), vans on the right */
.inv { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 40px; padding-bottom: var(--sec); }
/* Not sticky: a sticky column scrolled inside itself and hid the Show Vans button; ticking a box applies it at once instead */
.inv__filters { min-width: 0; }
.filters__hint { margin-top: 6px; color: var(--ink-2); }
.filters__toggle { display: none; }
.filters__title { font: 800 28px/1.1 var(--font-display); font-stretch: 104%; }
.ff { min-width: 0; margin: 0; padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); }
.ff legend { float: left; width: 100%; padding: 0; margin-bottom: 6px; font-weight: 700; }
.ff-check { clear: both; display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.ff-check input { -webkit-appearance: none; appearance: none; flex: none; display: grid; place-content: center; width: 26px; height: 26px; margin: 0; border: 2px solid var(--field); border-radius: var(--r); background: var(--bg); cursor: pointer; }
.ff-check input:checked { background: var(--accent); border-color: var(--accent); }
.ff-check input:checked::after { content: ""; width: 12px; height: 7px; border: 3px solid #FFFFFF; border-top: 0; border-right: 0; transform: translate(0, -2px) rotate(-45deg); }
.ff-check input:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 2px; }
.ff-check:hover input { border-color: var(--ink); }
.ff-range { clear: both; display: flex; align-items: center; gap: 10px; }
.ff-range label { flex: 1 1 0; min-width: 0; }
.ff-range input { width: 100%; min-height: 56px; padding: 0 12px; font: 400 20px var(--font-body); color: var(--ink); background: var(--bg); border: 2px solid var(--field); border-radius: var(--r); }
.ff-range input:focus { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-ink) 25%, transparent); }
.filters__actions { display: grid; gap: 10px; padding-top: 20px; }
.filters__actions .btn { width: 100%; }
.inv__count { margin-bottom: 16px; font-weight: 600; color: var(--ink-2); }
.vgrid--inv { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* "Shop by what you need": four plain-language shortcuts after the sixth van */
.shopby { grid-column: 1 / -1; padding: clamp(20px, 2.6vw, 32px); background: var(--surface); border-radius: var(--r); }
.shopby__list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.shopby__item { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px 20px; background: var(--raise); border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); text-decoration: none; transition: border-color .2s var(--ease); }
.shopby__item:hover { border-color: var(--ink); }
.shopby__head { font: 800 24px/1.15 var(--font-display); font-stretch: 104%; }
.shopby__body { color: var(--ink-2); line-height: 1.45; }
.shopby__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; font-weight: 700; color: var(--accent-ink); }

/* Page numbers: big square buttons */
.pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 40px; }
.pager__nums { display: flex; flex-wrap: wrap; gap: 8px; }
.pager__n { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 52px; padding: 0 10px; border: 2px solid var(--line); border-radius: var(--r); font-weight: 700; color: var(--ink); text-decoration: none; }
.pager__n:hover { border-color: var(--ink); }
.pager__n.is-current { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.pager__note { margin-top: 14px; text-align: center; color: var(--ink-2); }
.empty { padding: 36px; background: var(--surface); border-radius: var(--r); }
.empty p { margin-top: 10px; }
.empty a { color: var(--accent-ink); font-weight: 600; }

/* Lead form panel: the ask on the left, the form on the right */
.lead-form { background: var(--surface); }
.panel-form { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 64px; align-items: start; }
.panel-form .lead { margin-top: 14px; }
.panel-form__call { margin-top: 24px; font-weight: 700; }
.panel-form__call a { color: var(--accent-ink); }
.panel-form__addr { margin-top: 12px; color: var(--ink-2); }

/* WPForms in the Option B look: its own variables, so the plugin keeps its layout and validation */
.b-form div.wpforms-container-full, .b-form .wpforms-container {
  margin: 0;
  --wpforms-field-border-radius: 6px; --wpforms-field-border-size: 2px; --wpforms-field-border-color: var(--field);
  --wpforms-field-background-color: var(--bg); --wpforms-field-text-color: var(--ink); --wpforms-label-color: var(--ink);
  --wpforms-label-sublabel-color: var(--ink-2); --wpforms-label-error-color: var(--accent-ink);
  --wpforms-button-border-radius: 6px; --wpforms-button-background-color: var(--accent); --wpforms-button-border-color: var(--accent); --wpforms-button-text-color: #FFFFFF;
  --wpforms-field-size-input-height: 60px; --wpforms-field-size-font-size: 21px; --wpforms-field-size-line-height: 1.4; --wpforms-field-size-padding-h: 16px; --wpforms-field-size-input-spacing: 18px;
  --wpforms-label-size-font-size: 20px; --wpforms-label-size-line-height: 1.4; --wpforms-button-size-font-size: 21px; --wpforms-button-size-height: 60px; --wpforms-button-size-padding-h: 28px; --wpforms-button-size-margin-top: 16px;
}
.b-form .wpforms-form, .b-form .wpforms-form input, .b-form .wpforms-form textarea, .b-form .wpforms-form select, .b-form .wpforms-form button { font-family: var(--font-body) !important; }
.b-form .wpforms-form .wpforms-field-label { font-weight: 700 !important; }
.b-form .wpforms-form textarea { min-height: 140px; }
/* The plugin's own field rules outrank its variables, so the fields are set directly; !important only here, on Option B pages only */
.b-form .wpforms-container .wpforms-form .wpforms-field { padding: 0 0 18px !important; }
.b-form .wpforms-container .wpforms-form .wpforms-field-label { margin: 0 0 8px !important; font-size: 20px !important; line-height: 1.4 !important; color: var(--ink) !important; }
.b-form .wpforms-container .wpforms-form .wpforms-required-label { color: var(--accent-ink) !important; }
.b-form .wpforms-container .wpforms-form .wpforms-field-description, .b-form .wpforms-container .wpforms-form .wpforms-field-sublabel { margin-top: 6px !important; font-size: 20px !important; line-height: 1.45 !important; color: var(--ink-2) !important; }
.b-form .wpforms-container .wpforms-form .wpforms-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.b-form .wpforms-container .wpforms-form .wpforms-field textarea,
.b-form .wpforms-container .wpforms-form .wpforms-field select { width: 100% !important; max-width: 100% !important; min-height: 60px !important; padding: 12px 16px !important; font-size: 21px !important; line-height: 1.4 !important; color: var(--ink) !important; background: var(--bg) !important; border: 2px solid var(--field) !important; border-radius: var(--r) !important; box-shadow: none !important; }
.b-form .wpforms-container .wpforms-form .wpforms-field textarea { min-height: 150px !important; }
.b-form .wpforms-container .wpforms-form .wpforms-field input::placeholder, .b-form .wpforms-container .wpforms-form .wpforms-field textarea::placeholder { color: var(--ink-2) !important; opacity: 1 !important; }
.b-form .wpforms-container .wpforms-form .wpforms-submit-container { padding: 6px 0 0 !important; }
.b-form .wpforms-container .wpforms-form button.wpforms-submit { min-height: 60px !important; padding: 0 28px !important; font-size: 21px !important; font-weight: 700 !important; color: #FFFFFF !important; background: var(--accent) !important; border: 2px solid var(--accent) !important; border-radius: var(--r) !important; box-shadow: none !important; }
.b-form .wpforms-container .wpforms-form button.wpforms-submit:hover { background: var(--accent-hover) !important; border-color: var(--accent-hover) !important; }
.b-form .wpforms-container .wpforms-form label.wpforms-error, .b-form .wpforms-container .wpforms-form em.wpforms-error { font-size: 20px !important; color: var(--accent-ink) !important; }
.b-form .wpforms-form .wpforms-submit { font-weight: 700 !important; }
.b-form .wpforms-form input:focus, .b-form .wpforms-form textarea:focus { border-color: var(--accent-ink) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-ink) 25%, transparent) !important; outline: none !important; }

@media (max-width: 1023px) {
  .inv { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 24px; }
  .inv__filters { position: static; max-height: none; overflow: visible; padding-right: 0; }
  .filters__toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 0 20px; border: 2px solid var(--ink); border-radius: var(--r); font-weight: 700; cursor: pointer; list-style: none; }
  .filters__toggle::-webkit-details-marker { display: none; }
  .filters__toggle::after { content: "Show"; margin-left: auto; color: var(--accent-ink); }
  .filters[open] .filters__toggle::after { content: "Hide"; }
  .filters__n { padding: 2px 10px; border-radius: var(--r); background: var(--accent); color: #FFFFFF; font-size: 20px; }
  .filters__title { display: none; }
  .filters__form { padding: 4px 4px 8px; }
  .panel-form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .vgrid--inv { grid-template-columns: minmax(0, 1fr); }
  .shopby__list { grid-template-columns: minmax(0, 1fr); }
  .chips { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; margin-top: 18px; }
  .chip { width: 100%; justify-content: space-between; min-height: 52px; padding: 0 8px 0 14px; }
  .phead .lead { font-size: 20px; }
  .pager .btn { width: auto; }
  .b-form .wpforms-form .wpforms-submit { width: 100% !important; }
}

/* Van page: title, then the photos on the left and the price box on the right; details, the question form and more vans below */
.vhead { padding: clamp(24px, 3vw, 44px) 0 clamp(20px, 2.4vw, 32px); }
.backlink { display: none; align-items: center; gap: 8px; min-height: 48px; font-weight: 700; color: var(--ink); text-decoration: none; }
.vhead .h1 { font-size: clamp(34px, 4vw, 58px); }
.vhead__trim { color: var(--ink-2); font-weight: 700; }
.vhead__price { display: none; }
.vmain { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); grid-template-areas: "gallery buy" "body buy"; gap: 32px 48px; align-items: start; padding-bottom: var(--sec); }
.gallery { grid-area: gallery; min-width: 0; }
.buybox { grid-area: buy; position: sticky; top: calc(var(--header-h) + 20px); padding: 26px; border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); box-shadow: var(--shadow); }
.admin-bar .buybox { top: calc(var(--header-h) + 52px); }
.vbody { grid-area: body; min-width: 0; }
.gallery__stage { position: relative; border-radius: var(--r); overflow: hidden; background: var(--surface); }
.gallery__open { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.gallery__main { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--surface); }
.gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: var(--r); background: rgba(255, 255, 255, .94); color: #111214; cursor: pointer; box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .6); }
.gallery__nav svg { width: 26px; height: 26px; }
.gallery__nav--prev { left: 14px; }
.gallery__nav--next { right: 14px; }
.gallery__nav:hover { background: #FFFFFF; }
.gallery__count { position: absolute; left: 14px; bottom: 14px; padding: 6px 14px; border-radius: var(--r); background: rgba(17, 18, 20, .82); color: #FFFFFF; font-weight: 700; }
.gallery__thumbs { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; }
.gallery__thumb { display: block; width: 100%; padding: 0; border: 3px solid transparent; border-radius: var(--r); overflow: hidden; background: var(--surface); cursor: pointer; }
.gallery__thumb img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.gallery__thumb:hover { border-color: var(--line); }
.gallery__thumb.is-current { border-color: var(--accent); }
.gallery__none { display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 32px; text-align: center; background: var(--surface); border-radius: var(--r); }
.gallery__none a { color: var(--accent-ink); font-weight: 700; }
/* Full-size photos: the whole screen, dark, one big Close button */
.lightbox { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 72px 16px 56px; border: 0; background: #0B0C0E; color: #FFFFFF; overscroll-behavior: contain; }
.lightbox[open] { display: grid; place-items: center; }
.lightbox::backdrop { background: #0B0C0E; }
.lightbox__img { max-width: 100%; max-height: calc(100dvh - 140px); object-fit: contain; }
.lightbox__close { position: absolute; top: 12px; right: 12px; background: #FFFFFF; color: #111214; border-color: #FFFFFF; }
.lightbox__close:hover { background: #FFE9EC; border-color: #FFE9EC; }
.lightbox__count { position: absolute; left: 16px; top: 22px; font-weight: 700; }
.lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: var(--r); background: #FFFFFF; color: #111214; cursor: pointer; }
.lightbox__nav svg { width: 28px; height: 28px; }
.lightbox__nav--prev { left: 16px; }
.lightbox__nav--next { right: 16px; }
.lightbox :focus-visible { outline: 4px solid #FFFFFF; outline-offset: 3px; }
/* Price box */
.buybox__sold { display: inline-block; margin-bottom: 8px; padding: 4px 14px; border-radius: var(--r); background: var(--ink); color: var(--bg); font-weight: 800; }
.buybox__was { color: var(--ink-2); text-decoration: line-through; }
.buybox__price { font: 800 clamp(44px, 4vw, 58px)/1 var(--font-display); font-stretch: 108%; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.keyfacts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); }
.keyfacts dt { color: var(--ink-2); font-size: 20px; }
.keyfacts dd { margin: 0; font-weight: 700; line-height: 1.3; }
.buybox__ctas { display: grid; gap: 10px; margin-top: 22px; }
.buybox__ctas .btn { width: 100%; }
.buybox__finance { margin-top: 16px; text-align: center; }
.buybox__finance a { color: var(--accent-ink); font-weight: 700; }
.buybox__visit, .buybox__note { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink-2); line-height: 1.45; }
.buybox__note { color: var(--ink); font-weight: 700; }
/* Details */
.specs { margin-top: 24px; }
.specs__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; margin-top: 24px; }
.specs__group dl { margin: 12px 0 0; }
.specs__row { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--line); }
.specs__row dt { color: var(--ink-2); }
.specs__row dd { margin: 0; font-weight: 700; text-align: right; overflow-wrap: anywhere; min-width: 0; }
.specs__code { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.features { margin-top: 48px; }
.features__list { margin: 20px 0 0; padding: 0; list-style: none; columns: 2; column-gap: 40px; }
.features__list li { break-inside: avoid; position: relative; padding: 8px 0 8px 30px; line-height: 1.4; }
.features__list li::before { content: ""; position: absolute; left: 4px; top: 16px; width: 12px; height: 7px; border: 3px solid var(--accent-ink); border-top: 0; border-right: 0; transform: rotate(-45deg); }
@media (max-width: 1023px) {
  .vmain { grid-template-columns: minmax(0, 1fr); grid-template-areas: "gallery" "buy" "body"; }
  .buybox { position: static; box-shadow: none; }
  .specs__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .crumbs { display: none; }
  .backlink { display: inline-flex; margin-bottom: 4px; }
  .vhead .h1 { font-size: 32px; }
  .vhead__price { display: block; margin-top: 8px; font: 800 38px/1.1 var(--font-display); font-stretch: 108%; font-variant-numeric: tabular-nums; }
  .vhead__price .buybox__was { font: 400 21px var(--font-body); margin-right: 6px; }
  .buybox > .buybox__price, .buybox > .buybox__was, .buybox > .buybox__sold { display: none; }
  .buybox .keyfacts { margin-top: 0; padding-top: 0; border-top: 0; }
  .vmain { gap: 20px; }
  .gallery__nav { width: 56px; height: 56px; }
  .gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .gallery__thumbs li:nth-child(n+9) { display: none; }
  .buybox { padding: 20px; }
  .features__list { columns: 1; }
  .lightbox__nav { width: 52px; height: 52px; top: auto; bottom: 12px; transform: none; }
  .lightbox__nav--prev { left: 12px; }
  .lightbox__nav--next { right: 12px; }
  .lightbox__img { max-height: calc(100dvh - 170px); }
}


/* ══ PASS AU (2026-10-22): Option B content pages. The page head comes from the old photo hero; .bc holds the page's own editor content, restyled here ══ */

/* Page head: breadcrumb, a short label, the title, one line and the page's own buttons; its photo on the right */
.ptop { padding: clamp(28px, 4vw, 56px) 0 clamp(36px, 4vw, 64px); border-bottom: 1px solid var(--line); }
.ptop__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px 64px; align-items: center; }
.ptop:not(.ptop--photo) .ptop__grid { grid-template-columns: minmax(0, 1fr); }
.ptop__kicker { margin-bottom: 8px; font-weight: 700; color: var(--accent-ink); }
.ptop .h1 { font-size: clamp(38px, 4.6vw, 68px); }
.ptop .lead { margin-top: 16px; }
.ptop .actions { margin-top: 28px; }
.ptop__media { display: grid; gap: 14px; }
.ptop__photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); background: var(--surface); }
.ptop__card .ma-page-hero__card, .ptop__card .ma-v7-ticket { display: grid; gap: 2px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); color: var(--ink); text-decoration: none; }
.ptop__card .ma-page-hero__card-kicker, .ptop__card .ma-v7-ticket-kicker { font-weight: 700; color: var(--accent-ink); }
.ptop__card .ma-page-hero__card-title, .ptop__card .ma-v7-ticket-count { font: 800 26px/1.15 var(--font-display); font-stretch: 104%; }
.ptop__card .ma-page-hero__card-sub { color: var(--ink-2); }
.ptop__card .ma-page-hero__card-link, .ptop__card .ma-v7-ticket-link { margin-top: 6px; font-weight: 700; color: var(--accent-ink); }
.ptop__card a.ma-v7-ticket:hover { border-color: var(--ink); }

/* Content: every block sits in the page width; sections alternate white and grey where the editor asked for it */
.bc { --measure: 68ch; }
.bc > .wp-block-group, .bc > section { padding: clamp(48px, 6vw, 88px) 0; }
.bc > .wp-block-group + .wp-block-group:not(.ma-content-section--alt):not(.ma-call-strip), .bc > section + section:not(.ma-callband) { border-top: 1px solid var(--line); }
.bc .wp-block-group__inner-container, .bc .ma-svc-section__inner { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }
.bc .ma-content-section--alt, .bc .ma-svc-section--photo { background: var(--surface); }
/* WordPress's constrained layout centres every block at its own width; here everything shares one left edge */
.bc .is-layout-constrained > * { margin-left: 0 !important; margin-right: 0 !important; max-width: var(--measure); }
.bc .is-layout-constrained > :is(h2, h3, .wp-block-buttons, .wpforms-container, .ma-estimator) { max-width: none; }
.bc .ma-estimator, .bc .ma-call-strip .wpforms-container { max-width: 980px !important; }
.bc h2, .bc .ma-svc-section__heading, .bc .ma-splitband__heading { font-size: clamp(32px, 3.2vw, 48px); line-height: 1.06; max-width: 22em; }
.bc h3 { margin-top: 36px; font-size: clamp(26px, 2vw, 30px); line-height: 1.15; }
.bc h2 + h3 { margin-top: 28px; }
.bc p, .bc li { max-width: var(--measure); }
.bc p { margin-top: 14px; }
.bc h2 + p, .bc h3 + p { margin-top: 12px; }
.bc .ma-findus__lead { color: var(--ink); }
.bc a:not(.btn):not([class*="ma-v7-btn"]):not(.wp-block-button__link):not(.ma-callband__number) { color: var(--ink); text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.bc .has-text-align-center { text-align: left; }
.bc .wp-block-list, .bc .bc-list { margin: 14px 0 0; padding-left: 1.2em; }
.bc li + li { margin-top: 6px; }
/* Section labels: kept, but in plain red bold instead of small capitals */
.bc .ma-svc-section__eyebrow, .bc .ma-splitband__eyebrow { margin: 0 0 8px; font-weight: 700; color: var(--accent-ink); }
.bc .ma-hero-rule { display: none; }
.bc .ma-hero-dot { color: var(--accent-ink); }

/* Ticks for checklists, the same mark as the van features list */
.bc .ma-checklist { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 36px; max-width: 980px; }
.bc .ma-checklist--tight { grid-template-columns: minmax(0, 1fr); }
.bc .ma-checklist li { position: relative; margin: 0; padding: 8px 0 8px 32px; line-height: 1.4; }
.bc .ma-checklist li::before { content: ""; position: absolute; left: 4px; top: 16px; width: 12px; height: 7px; border: 3px solid var(--accent-ink); border-top: 0; border-right: 0; transform: rotate(-45deg); }

/* Photo and text side by side */
.bc .ma-splitband { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 64px; align-items: center; max-width: 1320px; margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.bc .ma-splitband__img { width: 100%; height: auto; border-radius: var(--r); }
.bc .ma-splitband__content p { margin-top: 14px; }

/* Equipment photo grids: three across, the whole photo on a white plate, the caption under it */
.bc .ma-adaptive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; margin: 28px 0 8px; }
.bc .ma-adaptive-grid figure { margin: 0; }
.bc .ma-adaptive-grid img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; padding: 10px; background: #FFFFFF; border: 1px solid var(--line); border-radius: var(--r); }
.bc .ma-adaptive-grid figcaption { margin-top: 12px; line-height: 1.45; }
.bc .ma-adaptive-grid figcaption strong { display: block; margin-bottom: 2px; font: 800 24px/1.2 var(--font-display); font-stretch: 104%; }

/* Steps: a big number beside each one */
.bc .ma-steps { list-style: none; margin: 24px 0 8px; padding: 0; display: grid; gap: 0; counter-reset: step; max-width: 900px; }
.bc .ma-step { counter-increment: step; display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 20px; margin: 0; padding: 20px 0; border-top: 1px solid var(--line); }
.bc .ma-step::before { content: counter(step); grid-row: 1 / span 4; font: 800 48px/1 var(--font-display); color: var(--accent-ink); }
.bc .ma-step p { margin-top: 4px; }
.bc .ma-step__title { margin-top: 0 !important; font: 800 26px/1.2 var(--font-display); font-stretch: 104%; }

/* Vehicle Modification's "Jump to" list, beside the opening text */
.bc .ma-svc-section__inner:has(> .ma-v14-index) { display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: 64px; align-items: start; }
.bc .ma-svc-section__inner:has(> .ma-v14-index) > :not(.ma-v14-index) { grid-column: 1; }
.bc .ma-v14-index { grid-column: 2; grid-row: 1 / span 20; padding: 20px 22px; border: 2px solid var(--ink); border-radius: var(--r); background: var(--raise); }
.bc .ma-v14-index__title { margin: 0 0 8px !important; font: 800 26px/1.1 var(--font-display); }
.bc .ma-v14-index ul { list-style: none; margin: 0; padding: 0; }
.bc .ma-v14-index li { margin: 0; border-top: 1px solid var(--line); }
.bc .ma-v14-index a { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; min-height: 56px; color: var(--ink) !important; text-decoration: none !important; font-weight: 600; }
.bc .ma-v14-index__count { min-width: 34px; padding: 2px 8px; border-radius: var(--r); background: var(--surface); text-align: center; font-variant-numeric: tabular-nums; }
.bc .ma-v14-index__arrow { color: var(--accent-ink); }
.bc .ma-v14-index a:hover .ma-v14-index__name { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 5px; }
.bc [id] { scroll-margin-top: calc(var(--header-h) + 16px); }

/* Old buttons inside page content take the Option B button */
.bc .ma-v7-btn, .bc .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 60px; padding: 0 28px; border-radius: var(--r); font: 700 21px/1.2 var(--font-body); text-decoration: none; border: 2px solid var(--accent); background: var(--accent); color: #FFFFFF; }
.bc .ma-v7-btn:hover, .bc .wp-block-button__link:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.bc .ma-v7-btn--outline { background: transparent; color: var(--ink); border-color: var(--ink); }
.bc .ma-v7-btn--outline:hover { background: var(--ink); color: var(--bg); }
.bc .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* The form band (Trade In): a grey panel, heading over the form */
.bc .ma-call-strip { background: var(--surface); }
.bc .ma-call-strip .wp-block-group__inner-container { max-width: 880px; }
.bc .ma-call-strip h2 { max-width: none; }
.bc .ma-call-strip .wpforms-container { margin-top: 28px; padding: clamp(20px, 3vw, 36px); background: var(--raise); border: 1px solid var(--line); border-radius: var(--r); }
.bc .ma-quiz-call { margin-top: 20px; font-weight: 700; }

/* Forms written by hand in the theme (the trade-in form) get the same fields as WPForms */
.bc form.wpforms-form .wpforms-field { padding: 0 0 18px; }
.bc form.wpforms-form .wpforms-field-label { display: block; margin: 0 0 8px; font-size: 20px; font-weight: 700; line-height: 1.4; }
.bc form.wpforms-form .wpforms-required-label { color: var(--accent-ink); }
.bc form.wpforms-form input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]), .bc form.wpforms-form select, .bc form.wpforms-form textarea { width: 100%; max-width: 100%; min-height: 60px; padding: 12px 16px; font: 400 21px/1.4 var(--font-body); color: var(--ink); background: var(--bg); border: 2px solid var(--field); border-radius: var(--r); }
.bc form.wpforms-form .wpforms-field-small { max-width: 220px; }
.bc form.wpforms-form textarea { min-height: 140px; }
.bc form.wpforms-form input:focus, .bc form.wpforms-form select:focus, .bc form.wpforms-form textarea:focus { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-ink) 25%, transparent); }
.bc form.wpforms-form input[type="file"] { width: 100%; min-height: 60px; padding: 12px; font: 400 20px var(--font-body); border: 2px dashed var(--field); border-radius: var(--r); background: var(--bg); }
.bc form.wpforms-form .wpforms-field-description { margin-top: 6px; font-size: 20px; line-height: 1.45; color: var(--ink-2); }
.bc form.wpforms-form .wpforms-submit { display: inline-flex; align-items: center; min-height: 60px; padding: 0 28px; font: 700 21px var(--font-body); color: #FFFFFF; background: var(--accent); border: 2px solid var(--accent); border-radius: var(--r); cursor: pointer; }
.bc form.wpforms-form .wpforms-submit:hover { background: var(--accent-hover); border-color: var(--accent-hover); }

/* Payment estimator (Van Financing): fields in a 2 x 2 grid, one big button, the result as the headline */
.bc .ma-estimator { margin-top: 28px; padding: clamp(20px, 3vw, 36px); background: var(--raise); border: 1px solid var(--line); border-radius: var(--r); max-width: 980px; }
.bc .ma-est-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.bc .ma-est-label { display: block; margin-bottom: 8px; font-weight: 700; }
.bc .ma-est-input { width: 100%; min-height: 60px; padding: 0 16px; font: 400 21px var(--font-body); color: var(--ink); background: var(--bg); border: 2px solid var(--field); border-radius: var(--r); }
.bc .ma-est-input:focus { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-ink) 25%, transparent); }
.bc .ma-est-btn { margin-top: 22px; min-height: 60px; padding: 0 28px; font: 700 21px var(--font-body); color: #FFFFFF; background: var(--accent); border: 2px solid var(--accent); border-radius: var(--r); cursor: pointer; }
.bc .ma-est-btn:hover { background: var(--accent-hover); }
.bc .ma-est-result { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.bc .ma-est-monthly-label { font-weight: 700; color: var(--ink-2); }
.bc .ma-est-monthly { font: 800 clamp(56px, 6vw, 88px)/1 var(--font-display); font-stretch: 110%; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.bc .ma-est-breakdown { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.bc .ma-est-stat { display: grid; gap: 2px; padding: 14px 16px; background: var(--surface); border-radius: var(--r); }
.bc .ma-est-stat span { color: var(--ink-2); }
.bc .ma-est-stat strong { font: 800 26px/1.2 var(--font-display); font-variant-numeric: tabular-nums; }
.bc .ma-est-disclaimer { margin-top: 16px; color: var(--ink-2); }

/* Call band at the end of each page: the homepage's red band */
.bc .ma-callband { background: var(--band); color: #FFFFFF; border-top: 0 !important; }
.bc .ma-callband__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px 72px; align-items: end; max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }
.bc .ma-callband__kicker { margin: 0 0 6px; font-weight: 700; }
.bc .ma-callband__title { color: #FFFFFF; font-size: clamp(36px, 4vw, 56px); }
.bc .ma-callband .ma-hero-dot { color: #FFFFFF; }
.bc .ma-callband__lead { color: #FFFFFF; }
.bc .ma-callband__number { display: block; margin: 18px 0 22px; font: 800 clamp(48px, 5.6vw, 92px)/1 var(--font-display); font-stretch: 110%; letter-spacing: -.035em; color: #FFFFFF; text-decoration: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bc .ma-callband__number:hover { text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 8px; }
.bc .ma-callband .ma-v7-btn--cta { background: #FFFFFF; border-color: #FFFFFF; color: #A30C25; }
.bc .ma-callband .ma-v7-btn--cta:hover { background: #FFE9EC; }
.bc .ma-callband :focus-visible { outline-color: #FFFFFF; }
.bc .ma-callband .ma-page-hero__card { display: grid; gap: 6px; padding: 26px; border: 2px solid rgba(255, 255, 255, .55); border-radius: var(--r); }
.bc .ma-callband .ma-page-hero__card-kicker, .bc .ma-callband .ma-page-hero__card-title { font: 800 28px/1.15 var(--font-display); }
.bc .ma-callband .ma-page-hero__card-link { margin-top: 10px; display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 22px; border-radius: var(--r); background: #FFFFFF; color: #A30C25 !important; font-weight: 700; text-decoration: none !important; justify-self: start; }

@media (max-width: 1023px) {
  .ptop__grid { grid-template-columns: minmax(0, 1fr); }
  .ptop__media { grid-template-columns: minmax(0, 1fr); }
  .ptop__photo { aspect-ratio: 16 / 9; }
  .bc .ma-splitband { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-svc-section__inner:has(> .ma-v14-index) { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-v14-index { grid-column: 1; grid-row: auto; margin-top: 24px; }
  .bc .ma-adaptive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc .ma-callband__inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .ptop .crumbs { display: none; }
  .ptop .h1 { font-size: 36px; }
  .ptop__grid { gap: 20px; }
  .bc .ma-checklist, .bc .ma-est-grid, .bc .ma-est-breakdown { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-adaptive-grid { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-step { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; }
  .bc .ma-step::before { font-size: 36px; }
  .bc .ma-v7-btn, .bc .wp-block-button__link, .bc .ma-est-btn, .bc form.wpforms-form .wpforms-submit { width: 100%; }
  .bc .ma-callband__number { font-size: 10.4vw; font-stretch: 100%; }
  .bc .ma-callband .ma-page-hero__card-link { justify-self: stretch; }
}

/* ══ Background heroes on inner pages (client liked the live site's photo heroes): the photo fills the band, shaded on the left, white words on it, the card in white on the right ══ */
.ptop--photo, .phead--photo { position: relative; isolation: isolate; overflow: hidden; color: #FFFFFF; background: #111214; border-bottom: 0; }
.ptop--photo::before, .phead--photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(14, 15, 17, .88) 0%, rgba(14, 15, 17, .80) 42%, rgba(14, 15, 17, .50) 70%, rgba(14, 15, 17, .34) 100%); }
.ptop__bg, .bgshow { position: absolute; inset: 0; z-index: -2; margin: 0; padding: 0; list-style: none; }
.ptop__bg img, .bgshow img { width: 100%; height: 100%; object-fit: cover; }
.bgshow li { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s var(--ease); }
.bgshow li.is-active { opacity: 1; }
.js .ptop__bg img, .js .bgshow li.is-active img { animation: drift 9s linear both; }
.ptop--photo { padding: clamp(40px, 6vw, 88px) 0; }
.ptop--photo .ptop__grid { min-height: clamp(340px, 42vh, 460px); }
.phead--photo { padding: clamp(40px, 5vw, 72px) 0 clamp(40px, 4.5vw, 64px); }
:is(.ptop--photo, .phead--photo) .h1 { color: #FFFFFF; }
:is(.ptop--photo, .phead--photo) .mark { color: #FF4D63; }
:is(.ptop--photo, .phead--photo) .lead { color: rgba(255, 255, 255, .92); }
:is(.ptop--photo, .phead--photo) .ptop__kicker { color: #FF8C9A; }
:is(.ptop--photo, .phead--photo) .crumbs, :is(.ptop--photo, .phead--photo) .crumbs a, :is(.ptop--photo, .phead--photo) .crumbs [aria-current] { color: #FFFFFF; }
:is(.ptop--photo, .phead--photo) .btn--ghost { color: #FFFFFF; border-color: #FFFFFF; }
:is(.ptop--photo, .phead--photo) .btn--ghost:hover { background: #FFFFFF; color: #111214; }
:is(.ptop--photo, .phead--photo) :focus-visible { outline-color: #FFFFFF; }
.ptop--photo .ptop__card .ma-page-hero__card, .ptop--photo .ptop__card .ma-v7-ticket { border: 0; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .75); }
.ptop--photo .ptop__media { align-self: center; }
.phead--photo .chip { color: #FFFFFF; border-color: #FFFFFF; background: rgba(14, 15, 17, .35); }
.phead--photo .chip:hover { background: #FFFFFF; color: #111214; }
.bgshow-pause { bottom: 16px; }
@media (max-width: 767px) {
  .ptop--photo::before, .phead--photo::before { background: rgba(14, 15, 17, .78); }
  .ptop--photo .ptop__grid { min-height: 0; }
  .bgshow-pause { width: 56px; height: 56px; bottom: 10px; right: 10px; }
  .phead--photo { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) { .bgshow li { transition: none; } .js .ptop__bg img, .js .bgshow li.is-active img { animation: none; } }


/* ══ PASS AV (2026-10-22): Option B equipment pages: the equipment page, Rentals, /shop/ and every category. The WooCommerce loop and the theme's shop hooks run unchanged; this restyles their output ══ */

/* Small buttons the old hooks print */
:is(.bc, .bshop) .ma-btn-plain, .bshop .ma-ordering-submit, .bshop .ma-btn-call, .bc .ma-btn-call { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; padding: 0 24px; border-radius: var(--r); font: 700 20px/1.2 var(--font-body); text-decoration: none; border: 2px solid var(--accent); background: var(--accent); color: #FFFFFF; cursor: pointer; }
:is(.bc, .bshop) .ma-btn-plain:hover, .bshop .ma-ordering-submit:hover, :is(.bc, .bshop) .ma-btn-call:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.bshop .ma-ordering-submit { background: transparent; color: var(--ink); border-color: var(--ink); }
.bshop .ma-ordering-submit:hover { background: var(--ink); color: var(--bg); }

/* Equipment page: category cards, photo on top, three across */
.bc .ma-v7-eyebrow { margin: 0 0 8px; font-weight: 700; color: var(--accent-ink); }
.bc .ma-eq-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-top: 28px; max-width: none !important; }
.bc .ma-eq-cats--featured { grid-template-columns: minmax(0, 1fr); }
.bc .ma-v7-cat { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); color: var(--ink) !important; text-decoration: none !important; transition: border-color .2s var(--ease), box-shadow .25s var(--ease); }
.bc .ma-v7-cat:hover { border-color: var(--ink); box-shadow: var(--shadow); }
.bc .ma-v7-cat-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--surface); }
.bc .ma-v7-cat-img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.bc .ma-v7-cat:hover .ma-v7-cat-img { transform: scale(1.04); }
.bc .ma-v7-cat-body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 18px 20px 20px; }
.bc .ma-v7-cat-title { font: 800 26px/1.15 var(--font-display); font-stretch: 104%; }
.bc .ma-v7-cat-desc { color: var(--ink-2); line-height: 1.45; }
.bc .ma-v7-cat-cta { margin-top: auto; padding-top: 8px; font-weight: 700; color: var(--accent-ink); }
.bc .ma-eq-cats--featured .ma-v7-cat { flex-direction: row; }
.bc .ma-eq-cats--featured .ma-v7-cat-media { width: 40%; height: 320px; aspect-ratio: auto; flex: none; }
.bc .ma-eq-cats--featured .ma-v7-cat-body { justify-content: center; padding: 28px clamp(24px, 4vw, 48px); }
.bc .ma-eq-cats--featured .ma-v7-cat-title { font-size: clamp(30px, 2.6vw, 38px); }
.bc .ma-address-note { color: var(--ink-2); }

/* Catalogue: the old header-area extras (type cards, sibling links, notes) sit under the page head */
.bshop__extras { padding: clamp(32px, 4vw, 52px) 0 0; }
.bshop__extras .ma-subcat-inner, .bshop__extras .ma-sibling-inner, .bshop__extras .ma-project-note__inner { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }
.bshop .ma-subcat-title { font-size: clamp(30px, 3vw, 42px); }
.bshop .ma-subcat-grid { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 280px)); gap: 16px; }
.bshop .ma-subcat-card a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); color: var(--ink); text-decoration: none; transition: border-color .2s var(--ease); }
.bshop .ma-subcat-card a:hover { border-color: var(--ink); }
.bshop .ma-subcat-media { display: block; aspect-ratio: 1; background: #FFFFFF; padding: 12px; }
.bshop .ma-subcat-media img { width: 100%; height: 100%; object-fit: contain; }
.bshop .ma-subcat-name { padding: 12px 16px 0; font: 800 24px/1.15 var(--font-display); font-stretch: 104%; }
.bshop .ma-subcat-count { padding: 2px 16px 14px; color: var(--ink-2); }
.bshop .ma-sibling-row { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.bshop .ma-sibling-tile { display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 16px 6px 8px; border: 2px solid var(--line); border-radius: var(--r); color: var(--ink); text-decoration: none; font-weight: 700; background: var(--raise); }
.bshop .ma-sibling-tile--up { padding-left: 16px; border-color: var(--ink); }
.bshop a.ma-sibling-tile:hover { border-color: var(--ink); }
.bshop .ma-sibling-tile img { width: 44px; height: 44px; object-fit: contain; background: #FFFFFF; border-radius: 4px; }
.bshop .ma-sibling-tile[aria-current], .bshop .ma-sibling-tile.is-current { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.bshop .ma-project-note__inner { padding-top: 24px !important; padding-bottom: 24px !important; background: var(--surface); border-radius: var(--r); max-width: calc(1320px - 2 * var(--gutter)) !important; }
.bshop .ma-project-note__lead { font: 800 28px/1.15 var(--font-display); }
.bshop .ma-project-note p + p { margin-top: 10px; max-width: 68ch; }

/* Catalogue main column */
.bshop__main { padding-top: clamp(32px, 4vw, 52px); padding-bottom: var(--sec); }
.bshop .woocommerce-notices-wrapper:empty { display: none; }
/* Filters: one bar of dropdowns, each a 56px box; open lists float over the products */
.bshop .ma-filter-bar { margin: 0 0 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.bshop .ma-filter-head { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; list-style: none; font: 800 26px/1.1 var(--font-display); }
.bshop .ma-filter-head::-webkit-details-marker { display: none; }
.bshop .ma-filter-count { padding: 2px 10px; border-radius: var(--r); background: var(--accent); color: #FFFFFF; font: 700 20px var(--font-body); }
.bshop .ma-filter-form { margin-top: 12px; }
.bshop .ma-filter-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.bshop .ma-msel { position: relative; }
.bshop .ma-msel__btn { display: flex; flex-direction: column; justify-content: center; min-height: 64px; padding: 6px 44px 6px 14px; border: 2px solid var(--field); border-radius: var(--r); background: var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23474A50' d='M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") no-repeat right 14px center / 20px; cursor: pointer; list-style: none; }
.bshop .ma-msel__btn::-webkit-details-marker { display: none; }
.bshop .ma-msel[open] .ma-msel__btn, .bshop .ma-msel__btn:hover { border-color: var(--ink); }
.bshop .ma-msel.has-picks .ma-msel__btn { border-color: var(--accent); }
.bshop .ma-filter-label { font-weight: 700; line-height: 1.2; }
.bshop .ma-msel__value { color: var(--ink-2); line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bshop .ma-msel__list { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; min-width: 100%; max-height: 360px; overflow: auto; padding: 8px; background: var(--raise); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); }
.bshop .ma-msel__opt { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 8px; border-radius: var(--r); cursor: pointer; white-space: nowrap; }
.bshop .ma-msel__opt:hover { background: var(--surface); }
.bshop .ma-msel__opt input { -webkit-appearance: none; appearance: none; flex: none; display: grid; place-content: center; width: 26px; height: 26px; margin: 0; border: 2px solid var(--field); border-radius: var(--r); background: var(--bg); cursor: pointer; }
.bshop .ma-msel__opt input:checked { background: var(--accent); border-color: var(--accent); }
.bshop .ma-msel__opt input:checked::after { content: ""; width: 12px; height: 7px; border: 3px solid #FFFFFF; border-top: 0; border-right: 0; transform: translate(0, -2px) rotate(-45deg); }
.bshop .ma-filter-swatch-row { grid-column: 1 / -1; }
.bshop .ma-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.bshop .ma-swatch { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px; border: 2px solid var(--line); border-radius: var(--r); background: var(--bg); color: var(--ink); text-decoration: none; cursor: pointer; }
.bshop .ma-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 14px; }
.bshop .ma-filter-clear { font-weight: 700; color: var(--accent-ink); }
/* Sorting */
.bshop .ma-ordering { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; margin: 0 0 20px; }
.bshop .ma-ordering select { min-height: 56px; padding: 0 44px 0 14px; font: 400 20px var(--font-body); color: var(--ink); background: var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23474A50' d='M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") no-repeat right 14px center / 20px; border: 2px solid var(--field); border-radius: var(--r); -webkit-appearance: none; appearance: none; }

/* Product cards: four across, the product on a white plate, name, spec line, then Call to Order */
.bshop ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.bshop ul.products::before, .bshop ul.products::after { display: none; }
.bshop li.product { position: relative; display: flex; flex-direction: column; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); overflow: hidden; transition: border-color .2s var(--ease), box-shadow .25s var(--ease); }
.bshop li.product:hover { border-color: var(--ink); box-shadow: var(--shadow); }
.bshop li.product .woocommerce-loop-product__link { display: flex; flex-direction: column; flex: 1; color: var(--ink); text-decoration: none; }
.bshop li.product img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; padding: 14px; background: #FFFFFF; border-bottom: 1px solid var(--line); }
.bshop .woocommerce-loop-product__title { margin: 0; padding: 14px 18px 0; font: 800 23px/1.2 var(--font-display); font-stretch: 102%; }
.bshop li.product:hover .woocommerce-loop-product__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.bshop .ma-spec-line { margin: 6px 0 0; padding: 0 18px; color: var(--ink-2); line-height: 1.4; }
.bshop li.product .price { display: block; margin-top: 8px; padding: 0 18px; font: 800 26px/1.1 var(--font-display); color: var(--ink); }
.bshop li.product .price del { color: var(--ink-2); font-size: 20px; font-weight: 400; }
.bshop li.product .price ins { text-decoration: none; }
.bshop .ma-catalog-call, .bshop li.product .button { display: flex; align-items: center; justify-content: center; min-height: 56px; margin: 14px 18px 18px; border-radius: var(--r); border: 2px solid var(--ink); background: transparent; color: var(--ink); font: 700 20px var(--font-body); text-decoration: none; }
.bshop .ma-catalog-call:hover, .bshop li.product .button:hover { background: var(--ink); color: var(--bg); }
.bshop .ma-card-bookmark { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 4px 12px; border-radius: var(--r); background: var(--accent); color: #FFFFFF; font: 700 20px/1.3 var(--font-body); }
.bshop .ma-card-bookmark--rec { background: var(--ink); color: var(--bg); }
.bshop .ma-shop-cat-divider { grid-column: 1 / -1; margin: 24px 0 0; padding: 0; border: 0; background: none; }
.bshop .ma-shop-cat-divider:first-child { margin-top: 0; }
.bshop .ma-shop-cat-divider h2 { font-size: clamp(30px, 3vw, 42px); padding-bottom: 8px; border-bottom: 3px solid var(--ink); }

/* Pager */
.bshop .ma-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 40px; }
.bshop .ma-pager__pages { display: flex; flex-wrap: wrap; gap: 8px; }
.bshop .ma-pager__num { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 52px; padding: 0 10px; border: 2px solid var(--line); border-radius: var(--r); font-weight: 700; color: var(--ink); text-decoration: none; }
.bshop a.ma-pager__num:hover { border-color: var(--ink); }
.bshop .ma-pager__num.is-current { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.bshop .ma-pager__num--dots { border: 0; min-width: 24px; }
.bshop .ma-pager__link { display: inline-flex; align-items: center; min-height: 52px; padding: 0 20px; border: 2px solid var(--ink); border-radius: var(--r); font-weight: 700; color: var(--ink); text-decoration: none; }
.bshop .ma-pager__link:hover { background: var(--ink); color: var(--bg); }
.bshop .ma-pager__more { margin-top: 14px; text-align: center; color: var(--ink-2); }

/* Panels the hooks print around the grid: lift finder, the Pre-Owned call note and finder, the lift check form */
.bshop :is(.ma-liftfinder, .ma-compat-cta, .ma-used-finder) { margin: 0 0 24px; padding: clamp(20px, 2.6vw, 32px); border-radius: var(--r); background: var(--surface); color: var(--ink); }
.bshop .ma-compat-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.bshop .ma-compat-cta p + p { margin-top: 8px; }
.bshop .ma-compat-cta--form { display: block; margin-top: 40px; }
.bshop .ma-compat-cta--form .wpforms-container { margin-top: 20px; max-width: 760px; }
.bshop .ma-liftfinder__title, .bshop .ma-used-finder__h { font: 800 28px/1.15 var(--font-display); margin-bottom: 8px; }
.bshop .ma-liftfinder__sub, .bshop .ma-liftfinder__note { max-width: 68ch; }
.bshop .ma-liftfinder__harmar { margin: 16px 0; }
.bshop .ma-liftfinder a:not(.ma-btn-plain) { color: var(--accent-ink); font-weight: 700; }
.bshop .ma-preowned-ticket { font: 800 28px/1.15 var(--font-display); }
.bshop .ma-used-finder__row + .ma-used-finder__row { margin-top: 14px; }
.bshop .ma-used-finder__legend { display: block; margin-bottom: 8px; font-weight: 700; }
.bshop .ma-used-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.bshop .ma-used-chip { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 10px 0 16px; border: 2px solid var(--ink); border-radius: var(--r); background: var(--raise); color: var(--ink); font-weight: 700; text-decoration: none; }
.bshop .ma-used-chip:hover, .bshop .ma-used-chip.is-active, .bshop .ma-used-chip[aria-current] { background: var(--ink); color: var(--bg); }
.bshop .ma-used-chip__count { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: var(--r); background: var(--accent); color: #FFFFFF; font-size: 20px; }

/* Buying guide and FAQ under the grid, as open-and-close rows */
.bshop .ma-buying-guide { margin-top: clamp(48px, 6vw, 80px); border-top: 3px solid var(--ink); }
:is(.bshop, .bc) .ma-guide-accordion { border-bottom: 1px solid var(--line); }
:is(.bshop, .bc) .ma-guide-accordion > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; padding: 14px 0; cursor: pointer; list-style: none; font: 800 clamp(26px, 2.4vw, 32px)/1.2 var(--font-display); }
:is(.bshop, .bc) .ma-guide-accordion > summary::-webkit-details-marker { display: none; }
:is(.bshop, .bc) .ma-guide-accordion > summary::after { content: "+"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 2px solid var(--ink); border-radius: var(--r); font: 400 30px/1 var(--font-body); }
:is(.bshop, .bc) .ma-guide-accordion[open] > summary::after { content: "\2212"; }
:is(.bshop, .bc) .ma-guide-body { padding: 0 0 24px; max-width: 72ch; }
:is(.bshop, .bc) .ma-guide-body p + p { margin-top: 12px; }
.bshop .ma-guide-faq + .ma-guide-faq { margin-top: 18px; }
.bshop .ma-guide-q { font-weight: 700; }
.bshop .ma-guide-a { margin-top: 4px; color: var(--ink-2); }
/* Brand logos */
.bshop .ma-cat-brand-strip { margin-top: clamp(40px, 5vw, 64px); }
.bshop .ma-cat-brand-strip__label { display: block; margin-bottom: 14px; font: 800 28px/1.1 var(--font-display); }
.bshop .ma-cat-brand-strip__row { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.bshop .ma-brand-logo { display: flex; align-items: center; justify-content: center; height: 110px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #FFFFFF; }
.bshop .ma-brand-logo img { max-height: 44px; width: auto; max-width: 100%; object-fit: contain; }

@media (max-width: 1279px) { .bshop ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .bshop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bshop .ma-cat-brand-strip__row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
  .bshop ul.products { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .bshop li.product .woocommerce-loop-product__link { display: grid; grid-template-columns: 120px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 14px; padding: 12px 12px 0; }
  .bshop li.product img { grid-row: 1 / span 3; padding: 6px; border: 1px solid var(--line); border-radius: var(--r); }
  .bshop .woocommerce-loop-product__title { padding: 0; font-size: 22px; }
  .bshop .ma-spec-line, .bshop li.product .price { padding: 0; }
  .bshop .ma-catalog-call, .bshop li.product .button { margin: 12px; }
  .bshop .ma-filter-bar:not([open]) { padding-bottom: 18px; }
  .bshop .ma-filter-row { grid-template-columns: minmax(0, 1fr); }
  .bshop .ma-ordering { justify-content: stretch; }
  .bshop .ma-ordering select { flex: 1 1 auto; }
  .bshop .ma-subcat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .bshop .ma-subcat-name { font-size: 21px; padding: 10px 12px 0; }
  .bshop .ma-subcat-count { padding: 2px 12px 12px; }
  .bshop .ma-cat-brand-strip__row { grid-template-columns: 1fr 1fr; }
  .bshop .ma-compat-cta .ma-btn-plain { width: 100%; }
  .bc .ma-eq-cats { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-eq-cats--featured .ma-v7-cat { flex-direction: column; }
  .bc .ma-eq-cats--featured .ma-v7-cat-media { width: 100%; height: auto; aspect-ratio: 3 / 2; }
}

/* Product pages: the van page layout (photos left, buy box right), cut-out product photos on white, then description, specifications and related products full width */
.vmain--product { grid-template-areas: "gallery buy"; padding-bottom: clamp(40px, 5vw, 72px); }
.vhead__sub { margin-top: 8px; color: var(--ink-2); font-weight: 600; }
.crumbs--product .ma-store-breadcrumb { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.crumbs--product a { color: var(--ink-2); }
.gallery--product .gallery__main, .gallery--product .gallery__stage { background: #FFFFFF; }
.gallery--product .gallery__stage { border: 1px solid var(--line); }
.gallery--product .gallery__main { aspect-ratio: 1; padding: 24px; }
.gallery--product .gallery__thumb img { aspect-ratio: 1; object-fit: contain; background: #FFFFFF; padding: 6px; }
.buybox--product .price { margin: 0; font: 800 clamp(40px, 3.6vw, 52px)/1 var(--font-display); font-stretch: 108%; font-variant-numeric: tabular-nums; }
.buybox--product .price:empty { display: none; }
.buybox--product .price del { display: block; color: var(--ink-2); font: 400 21px var(--font-body); }
.buybox--product .price ins { text-decoration: none; }
.buybox--product .ma-buy__kicker { font-weight: 700; color: var(--accent-ink); }
.buybox--product .ma-buy__number { display: block; margin: 4px 0 6px; font: 800 clamp(34px, 3vw, 44px)/1.05 var(--font-display); font-stretch: 108%; color: var(--ink); text-decoration: none; white-space: nowrap; }
.buybox--product .ma-buy__number:hover { text-decoration: underline; text-decoration-color: var(--accent); }
.buybox--product .ma-buy__note { color: var(--ink-2); line-height: 1.45; }
.buybox--product .ma-van-ctas { display: grid; gap: 10px; margin-top: 18px; }
.buybox--product .ma-van-ctas .ma-btn-plain { width: 100%; min-height: 60px; font-size: 21px; }
.buybox--product .ma-btn-plain--info { background: transparent; color: var(--ink); border-color: var(--ink); }
.buybox--product .ma-btn-plain--info:hover { background: var(--ink); color: var(--bg); }
.buybox--product .ma-product-call-note { line-height: 1.45; }
.buybox--product .ma-product-call-note a, .buybox--product .ma-rental-note a, .buybox--product .ma-no-returns a { color: var(--accent-ink); font-weight: 700; }
.buybox--product :is(.ma-rental-note, .ma-no-returns) { margin-top: 16px; padding: 14px 16px; border-radius: var(--r); background: var(--surface); line-height: 1.45; }
.buybox--product .ma-grade-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.buybox--product .ma-grade-badges > * { padding: 4px 12px; border-radius: var(--r); background: var(--ink); color: var(--bg); font-weight: 700; }
.buybox--product .woocommerce-product-details__short-description { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); line-height: 1.5; }
.buybox--product .woocommerce-product-details__short-description ul { padding-left: 1.2em; }
.buybox--product .product_meta { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink-2); line-height: 1.45; }
.buybox--product .product_meta a { color: var(--ink); }
.pbody { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter) var(--sec); }
.pbody .ma-product-certs:not(.ma-product-certs--foot) { display: none; }
.pbody .ma-product-certs--foot ul { list-style: none; margin: 40px 0 0; padding: 0; }
.pbody .ma-product-certs--foot img { width: 96px; height: auto; }
/* Description and specifications open, one after the other (no tabs to find) */
.pbody .wc-tabs { display: none; }
.pbody .woocommerce-Tabs-panel { display: block !important; padding: clamp(32px, 4vw, 52px) 0; border-top: 1px solid var(--line); }
.pbody .woocommerce-Tabs-panel > h2 { font-size: clamp(32px, 3.2vw, 46px); margin-bottom: 16px; }
.pbody .woocommerce-Tabs-panel--description p, .pbody .woocommerce-Tabs-panel--description li { max-width: 72ch; }
.pbody .woocommerce-Tabs-panel--description p + p { margin-top: 12px; }
.pbody .woocommerce-Tabs-panel--description ul { margin: 12px 0 0; padding-left: 1.2em; }
.pbody .woocommerce-Tabs-panel--description img { height: auto; border-radius: var(--r); }
.pbody .shop_attributes { width: 100%; max-width: 900px; border-collapse: collapse; }
.pbody .shop_attributes th, .pbody .shop_attributes td { padding: 12px 0; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.pbody .shop_attributes th { width: 40%; padding-right: 20px; color: var(--ink-2); font-weight: 400; }
.pbody .shop_attributes td { font-weight: 700; }
.pbody .shop_attributes td p { margin: 0; }
.pbody .shop_attributes a { color: var(--ink); }
/* "You might also need" tiles and related products */
.pbody :is(.ma-upsell, .related, .upsells) { padding: clamp(32px, 4vw, 52px) 0 0; border-top: 1px solid var(--line); }
.pbody :is(.related, .upsells) > h2, .pbody .ma-upsell__heading { font-size: clamp(32px, 3.2vw, 46px); margin-bottom: 20px; }
.pbody .ma-upsell__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.pbody .ma-upsell__tile { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); color: var(--ink); text-decoration: none; }
.pbody .ma-upsell__tile:hover { border-color: var(--ink); }
.pbody .ma-upsell__media { display: block; aspect-ratio: 3 / 2; background: #FFFFFF; overflow: hidden; }
.pbody .ma-upsell__img { width: 100%; height: 100%; object-fit: cover; }
.pbody .ma-upsell__title { padding: 14px 18px 0; font: 800 24px/1.2 var(--font-display); }
.pbody .ma-upsell__sub { padding: 4px 18px 18px; color: var(--ink-2); }
.pbody .related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .vmain--product { grid-template-areas: "gallery" "buy"; } }
@media (max-width: 767px) {
  .crumbs--product { display: none; }
  .pbody .related ul.products { grid-template-columns: minmax(0, 1fr); }
  .gallery--product .gallery__main { padding: 12px; }
}
.buybox--product .ma-btn-plain { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 60px; padding: 0 24px; border-radius: var(--r); font: 700 21px/1.2 var(--font-body); text-decoration: none; border: 2px solid var(--accent); background: var(--accent); color: #FFFFFF; }
.buybox--product .ma-btn-plain:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: #FFFFFF; }
.buybox--product .ma-btn-plain.ma-btn-plain--info { background: transparent; color: var(--ink); border-color: var(--ink); }
.buybox--product .ma-btn-plain.ma-btn-plain--info:hover { background: var(--ink); color: var(--bg); }
/* WooCommerce prints its own photo viewer's markup in the footer; this page uses the van viewer instead */
.ma-b-product .pswp { display: none !important; }
.pbody .woocommerce-Tabs-panel--description :is(h3, h4) { margin: 28px 0 8px; font-size: clamp(24px, 2vw, 28px); }
.pbody .woocommerce-Tabs-panel--description p > strong:only-child { display: block; margin-top: 24px; font: 800 26px/1.2 var(--font-display); }

/* ══ PASS AW (2026-10-22): Option B for the rest of the pages (Services, About, Reviews, Contact, FAQ, the guides, policies), switch ma_pages_v23. Restyles the pieces those pages' content uses ══ */

/* Headings further down a long section (policies, guides) get room above them */
.bc .is-layout-constrained > h2:not(:first-child) { margin-top: 56px; }
.bc .is-layout-constrained > h3:not(:first-child) { margin-top: 40px; }
.bc .ma-svc-section__inner > .ma-findus__lead { margin-top: 14px; max-width: var(--measure); }

/* Plain note bands (a heading, a line, maybe the number): the page width, a grey band */
.bc .ma-plainband { background: var(--surface); }
.bc .ma-plainband__inner { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }
.bc .ma-plainband__note { margin-top: 12px; max-width: var(--measure); }
.bc .ma-plainband__phone a { display: inline-block; margin-top: 12px; font: 800 clamp(40px, 4.4vw, 64px)/1 var(--font-display); font-stretch: 110%; letter-spacing: -.03em; color: var(--ink) !important; text-decoration: none !important; font-variant-numeric: tabular-nums; }
.bc .ma-plainband__phone a:hover { color: var(--accent-ink) !important; }

/* Cards: hairline boxes in a grid, photo (when there is one) on a white plate */
.bc .ma-svc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; max-width: none; }
.bc .ma-svc-grid--two, .bc .ma-svc-grid:has(> .ma-svc-card--link) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bc .ma-svc-card { display: flex; flex-direction: column; padding: clamp(20px, 2.4vw, 32px); border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); }
.bc .ma-svc-card > :first-child { margin-top: 0; }
.bc .ma-svc-card__media { margin: calc(-1 * clamp(20px, 2.4vw, 32px)) calc(-1 * clamp(20px, 2.4vw, 32px)) 20px; border-bottom: 1px solid var(--line); background: #FFFFFF; border-radius: var(--r) var(--r) 0 0; }
.bc .ma-svc-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; padding: 16px; }
.bc .ma-svc-card__title { margin: 0; font: 800 clamp(26px, 2vw, 30px)/1.15 var(--font-display); font-stretch: 104%; }
.bc .ma-svc-card p { margin-top: 10px; }
.bc .ma-svc-card__cta { margin-top: auto !important; padding-top: 18px; font-weight: 700; }

/* Services: one chapter per service, words on the left and its photo on the right */
.bc .ma-v13 > * { max-width: 1320px; margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.bc .ma-v13-intro { padding-top: clamp(48px, 6vw, 88px); padding-bottom: 8px; }
.bc .ma-v13-title { max-width: 22em; }
.bc .ma-v13-lead { margin-top: 14px; font-size: clamp(21px, 1.5vw, 24px); line-height: 1.55; color: var(--ink-2); max-width: 44em; }
.bc .ma-v13-chapter { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(48px, 6vw, 80px); }
.bc .ma-v13-chapter + .ma-v13-chapter { border-top: 1px solid var(--line); }
.bc .ma-v13-chapter__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px 64px; align-items: center; }
.bc .ma-v13-chapter__grid--text { grid-template-columns: minmax(0, 1fr); }
.bc .ma-v13-chapter:nth-of-type(even) .ma-v13-chapter__media { order: -1; }
.bc .ma-v13-chapter__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); background: var(--surface); }
.bc .ma-v13-more { margin-top: 20px !important; font-weight: 700; }
.bc .ma-v13-items { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; max-width: none; }
.bc .ma-v13-items li { margin: 0; padding: 20px 0; border-top: 1px solid var(--line); max-width: none; }
.bc .ma-v13-item__title { margin: 0; font-size: 26px; }
.bc .ma-v13-items p { margin-top: 6px; }
.bc .ma-v13-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.bc .ma-v13-figs figure { margin: 0; }
.bc .ma-v13-figs img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); background: var(--surface); }
.bc .ma-v13-figs figcaption { margin-top: 10px; color: var(--ink-2); }
.bc .ma-v13-chapter__close { margin-top: 28px; }

/* About: the story, then the lot photos (one wide, two beside it) */
.bc .ma-ab-story__inner, .bc .ma-ab-lot { max-width: 1320px; margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.bc .ma-ab-story__more { margin-top: 20px !important; font-weight: 700; }
.bc > .ma-ab-lot { padding-top: 0; border-top: 0 !important; }
.bc .ma-ab-lot__grid { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: auto auto; gap: 16px; }
.bc .ma-ab-lot__img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--r); background: var(--surface); }
.bc .ma-ab-lot__img--wide { grid-row: 1 / span 2; aspect-ratio: 4 / 3; }
.bc .ma-ab-lot__caption { margin-top: 14px; color: var(--ink-2); }
.bc .ma-team-points { margin-top: 24px; }
.bc .ma-ab-seals { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 980px; }
.bc .ma-ab-seals li { display: grid; place-items: center; margin: 0; padding: 20px; min-height: 150px; border: 1px solid var(--line); border-radius: var(--r); background: #FFFFFF; }
.bc .ma-ab-seals__img { max-width: 100%; max-height: 110px; width: auto; height: auto; }
.bc .ma-ab-seals__also { margin-top: 16px; color: var(--ink-2); }

/* Customer quotes: the words big, the name under them; stars in the logo red */
.bc .ma-v6-quote { margin-top: 32px; padding: 0 0 0 24px; border-left: 4px solid var(--accent); max-width: 52em; }
.bc .ma-v6-quote-stars { display: flex; gap: 3px; color: var(--accent-ink); }
.bc .ma-v6-quote-stars svg { width: 22px; height: 22px; }
.bc .ma-v6-quote-text { margin-top: 8px !important; font-size: clamp(21px, 1.6vw, 24px); line-height: 1.55; max-width: none; }
.bc .ma-v6-quote-byline { margin-top: 10px !important; font-weight: 700; }
.bc .ma-v6-quote-src { font-weight: 400; color: var(--ink-2); }
.bc .ma-v6-quote-src::before { content: " "; }

/* Reviews: the rating as one big number beside the words, then the wall of quotes in two columns */
.bc .ma-rv-score__inner, .bc .ma-v6-quotes-inner { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }
.bc .ma-rv-score__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px 64px; align-items: center; }
.bc .ma-rv-score__title { display: grid; gap: 4px; max-width: none; }
.bc .ma-rv-score__num { font: 800 clamp(96px, 11vw, 168px)/.9 var(--font-display); font-stretch: 110%; letter-spacing: -.04em; color: var(--accent-ink); }
.bc .ma-rv-score__label { font-size: clamp(26px, 2.2vw, 32px); }
.bc .ma-rv-score__copy p:first-child { margin-top: 0; }
.bc .ma-rv-score__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px !important; }
.bc .ma-rv-score__links a { display: inline-flex; align-items: center; gap: 8px; min-height: 60px; padding: 0 24px; border: 2px solid var(--ink); border-radius: var(--r); font-weight: 700; text-decoration: none !important; }
.bc .ma-rv-score__links a:hover { background: var(--ink); color: var(--bg) !important; }
.bc .ma-v6-quotes { background: var(--surface); }
.bc .ma-v6-quotes-wall { columns: 2; column-gap: 24px; margin-top: 28px; }
.bc .ma-v6-quotes-wall .ma-v6-quote { break-inside: avoid; margin: 0 0 24px; padding: clamp(20px, 2.4vw, 32px); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--r); background: var(--raise); }
.bc .ma-v6-quotes-wall .ma-v6-quote-text { margin-top: 0 !important; font-size: 21px; }

/* FAQ: topics and the search box in a column on the left, the questions on the right */
.bc .ma-faq { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 32px 64px; align-items: start; max-width: 1320px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) var(--gutter); }
.bc .ma-faq__aside { position: sticky; top: calc(var(--header-h) + 24px); display: grid; gap: 24px; }
.bc .ma-faq__label { display: block; margin-bottom: 8px; font-weight: 700; }
.bc .ma-faq__input { width: 100%; min-height: 60px; padding: 0 16px; font: 400 21px var(--font-body); color: var(--ink); background: var(--bg); border: 2px solid var(--field); border-radius: var(--r); }
.bc .ma-faq__input:focus { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-ink) 25%, transparent); }
.bc .ma-faq__count { margin-top: 8px; color: var(--ink-2); }
.bc .ma-faq__count:empty { display: none; }
.bc .ma-faq__topics { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.bc .ma-faq__topics li { margin: 0; border-bottom: 1px solid var(--line); }
.bc .ma-faq__topics a { display: flex; align-items: center; min-height: 56px; font-weight: 700; text-decoration: none !important; }
.bc .ma-faq__topics a:hover { color: var(--accent-ink) !important; }
.bc .ma-faq__call { margin: 0; font-weight: 700; }
.bc .ma-faq__main > .wp-block-group { padding: 0; border: 0 !important; background: none; }
.bc .ma-faq__main > .wp-block-group + .wp-block-group { margin-top: 56px; }
.bc .ma-faq__main .wp-block-group__inner-container { padding: 0; }
.bc .ma-faq__main h2 { margin-bottom: 8px; padding-bottom: 12px; border-bottom: 3px solid var(--ink); }
.bc .ma-faq__main .ma-guide-accordion, .bc .ma-faq__main .ma-guide-body p { max-width: none; }
.bc .ma-faq__empty { margin-top: 24px; font-weight: 700; }

/* Contact: the words on the left, the map on the right */
.ptop.ptop--map .ptop__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: stretch; }
.ptop__find { margin-top: 20px; display: grid; gap: 14px; }
.ptop__find .ma-findus-hero__addr { font: 800 clamp(26px, 2.2vw, 32px)/1.2 var(--font-display); font-stretch: 104%; color: var(--ink); text-decoration-color: var(--accent); text-decoration-thickness: 3px; text-underline-offset: 6px; }
.ptop__find .ma-findus-hero__hours { margin: 0; font-weight: 700; }
.ptop__find .ma-findus-hero__hours.is-open { color: #0B7A3E; }
:root[data-theme="dark"] .ptop__find .ma-findus-hero__hours.is-open { color: #5FD08F; }
.ptop__find .ma-findus-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 0; }
.ptop__find .ma-findus-hero__facts { margin: 0; color: var(--ink-2); }
.ptop__find .ma-findus-hero__facts a { color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 4px; }
.ptop__map .ma-findus-hero__map { height: 100%; min-height: 380px; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--surface); }
.ptop__map iframe { display: block; width: 100%; height: 100%; min-height: 380px; border: 0; }
.bc .ma-contact-forms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; max-width: none !important; align-items: start; }
.bc .ma-contact-forms__card { padding: clamp(20px, 3vw, 36px); border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); max-width: none; }
.bc .ma-contact-forms__card .ma-svc-card__title { margin: 0 0 20px; }

/* Social links: two big tiles */
.bc .ma-social-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; max-width: 980px !important; }
.bc .ma-social-link { display: grid; gap: 6px; padding: clamp(20px, 2.4vw, 32px); border: 2px solid var(--ink); border-radius: var(--r); text-decoration: none !important; }
.bc .ma-social-link strong { font: 800 clamp(30px, 2.6vw, 38px)/1.1 var(--font-display); }
.bc .ma-social-link span:not(.screen-reader-text) { color: var(--ink-2); }
.bc .ma-social-link:hover { border-color: var(--accent); }
.bc .ma-social-link:hover strong { color: var(--accent-ink); }

/* Bathroom: the form band and its call button line up on the left like every other section */
.bc .ma-call-strip .wp-block-buttons { justify-content: flex-start; }

@media (max-width: 1023px) {
  .bc .ma-v13-chapter__grid, .bc .ma-rv-score__inner, .ptop.ptop--map .ptop__grid { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-v13-chapter:nth-of-type(even) .ma-v13-chapter__media { order: 0; }
  .bc .ma-svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc .ma-faq { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-faq__aside { position: static; }
  .bc .ma-contact-forms { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .bc .ma-svc-grid, .bc .ma-svc-grid--two, .bc .ma-svc-grid:has(> .ma-svc-card--link), .bc .ma-v13-items, .bc .ma-v13-figs, .bc .ma-social-links { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-ab-lot__grid { grid-template-columns: minmax(0, 1fr); }
  .bc .ma-ab-lot__img--wide { grid-row: auto; }
  .bc .ma-ab-seals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc .ma-v6-quotes-wall { columns: 1; }
  .bc .ma-v6-quote { padding-left: 18px; }
  .bc .ma-rv-score__links a { width: 100%; justify-content: center; }
  .ptop__map .ma-findus-hero__map, .ptop__map iframe { min-height: 300px; }
}

/* Blog and search lists: the newest article large, then one row per article (words left, photo right) */
.ptop__search { margin-top: 24px; max-width: 720px; }
.ptop__search .btn { border-radius: 0 var(--r) var(--r) 0; min-height: 64px; }
.blist__extras { padding-top: 24px; }
.blist__extras .ma-search-browse__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.blist__extras .ma-search-browse__label { font-weight: 700; margin-right: 4px; }
.blist__extras .ma-search-browse__chip { display: inline-flex; align-items: center; min-height: 52px; padding: 0 18px; border: 2px solid var(--ink); border-radius: var(--r); font-weight: 700; color: var(--ink); text-decoration: none; }
.blist__extras .ma-search-browse__chip:hover { background: var(--ink); color: var(--bg); }
.bc > .blist__main { padding-top: clamp(32px, 4vw, 56px); }
.bc .posts { list-style: none; margin: 0; padding: 0; max-width: none; }
.bc .post-row { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px 48px; align-items: center; margin: 0; padding: 32px 0; border-top: 1px solid var(--line); max-width: none; }
.bc .post-row:last-child { border-bottom: 1px solid var(--line); }
.bc .post-row:not(:has(.post-row__photo)) { grid-template-columns: minmax(0, 1fr); }
.bc .post-row--lead { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); padding-top: 0; border-top: 0; }
.bc .post-row--lead .post-row__photo { order: -1; }
.bc .post-row--lead .post-row__title { font-size: clamp(34px, 3.4vw, 50px); }
.bc .post-row__kind { margin: 0 0 6px; font-weight: 700; color: var(--accent-ink); }
.bc .post-row__title { margin: 0; font-size: clamp(28px, 2.4vw, 36px); line-height: 1.12; max-width: none; }
.bc .post-row__title a { color: var(--ink) !important; text-decoration: none !important; }
.bc .post-row__title a:hover { text-decoration: underline !important; text-decoration-color: var(--accent) !important; text-underline-offset: 6px; }
.bc .post-row__excerpt { margin-top: 10px; color: var(--ink-2); }
.bc .post-row__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; min-height: 48px; font-weight: 700; }
.bc .post-row__photo { display: block; overflow: hidden; border-radius: var(--r); background: var(--surface); }
.bc .post-row__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s var(--ease); }
.bc .post-row__photo--cutout { background: #FFFFFF; border: 1px solid var(--line); }
.bc .post-row__photo--cutout img { object-fit: contain; padding: 12px; }
.bc .post-row:hover .post-row__photo img { transform: scale(1.03); }
.bc .posts--search .post-row { grid-template-columns: 200px minmax(0, 1fr); padding: 24px 0; }
.bc .posts--search .post-row__photo { order: -1; }
.bc .posts--search .post-row__title { font-size: clamp(26px, 2vw, 30px); }
.bc .pager__gap { display: inline-flex; align-items: flex-end; padding: 0 4px 10px; font-weight: 700; }

/* Nothing found: did you mean, the search box, the categories, then the call */
.bc .ma-noresults > * { max-width: 1320px; margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.bc .ma-noresults-didyoumean { padding-top: 32px; font-size: 24px; font-weight: 700; }
.bc .ma-noresults-search-section { padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px); }
.bc .ma-noresults-search { display: flex; margin-top: 24px; max-width: 720px; }
.bc .ma-noresults-search input { flex: 1 1 auto; min-width: 0; min-height: 64px; padding: 0 20px; font: 400 21px var(--font-body); color: var(--ink); background: var(--bg); border: 2px solid var(--ink); border-right: 0; border-radius: var(--r) 0 0 var(--r); }
.bc .ma-noresults-search__btn { min-height: 64px; padding: 0 28px; font: 700 21px var(--font-body); color: #FFFFFF; background: var(--accent); border: 2px solid var(--accent); border-radius: 0 var(--r) var(--r) 0; cursor: pointer; }
.bc .ma-noresults-browse { margin-top: 56px; }
.bc .ma-subcat-grid { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: none; }
.bc .ma-subcat-card { margin: 0; max-width: none; }
.bc .ma-subcat-card a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r); background: var(--raise); color: var(--ink) !important; text-decoration: none !important; }
.bc .ma-subcat-card a:hover { border-color: var(--ink); }
.bc .ma-subcat-media { display: block; background: #FFFFFF; border-bottom: 1px solid var(--line); }
.bc .ma-subcat-media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; padding: 12px; }
.bc .ma-subcat-name { padding: 16px 18px; font: 800 24px/1.2 var(--font-display); }
.bc .ma-noresults > .ma-call-strip { max-width: none; padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px); }
.bc .ma-noresults-call { max-width: 1320px; margin: 0 auto; }
.bc .ma-btn-plain { display: inline-flex; align-items: center; min-height: 60px; margin-top: 20px; padding: 0 28px; border-radius: var(--r); font-weight: 700; color: #FFFFFF !important; background: var(--accent); text-decoration: none !important; }
.bc .ma-btn-plain:hover { background: var(--accent-hover); }
.bc .ma-address-note { color: var(--ink-2); }

/* Article: the title and dates, the photo beside them; the words in a reading column */
.ptop.ptop--article .ptop__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ptop--article .h1 { font-size: clamp(36px, 3.8vw, 56px); }
.ptop__meta { margin-top: 16px; color: var(--ink-2); }
.ptop__meta a { color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 4px; }
.bc .article { padding: clamp(40px, 5vw, 72px) 0; }
.bc .article__body > * { max-width: var(--measure); }
.bc .article__body > h2 { margin-top: 48px; font-size: clamp(30px, 2.8vw, 40px); }
.bc .article__body > p { margin-top: 18px; }
.bc .article__body > h2 + p { margin-top: 14px; }
.bc .article__foot { margin-top: 48px; }
.bc .article__cats { padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink-2); }
.bc .article__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.bc .article__nav-link { display: grid; gap: 6px; padding: 20px 22px; border: 2px solid var(--line); border-radius: var(--r); font: 800 24px/1.25 var(--font-display); color: var(--ink) !important; text-decoration: none !important; }
.bc .article__nav-link:hover { border-color: var(--ink); }
.bc .article__nav-link--next { grid-column: 2; text-align: right; }
.bc .article__nav-dir { display: inline-flex; align-items: center; gap: 8px; font: 700 20px var(--font-body); color: var(--accent-ink); }
.bc .article__nav-link--next .article__nav-dir { justify-content: flex-end; }

/* 404: the popular pages as big rows */
.bc .b404__list { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; max-width: none; }
.bc .b404__list li { margin: 0; max-width: none; }
.bc .b404__list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; padding: 0 22px; border: 2px solid var(--ink); border-radius: var(--r); font: 800 24px/1.2 var(--font-display); color: var(--ink) !important; text-decoration: none !important; }
.bc .b404__list a:hover { background: var(--ink); color: var(--bg) !important; }

@media (max-width: 1023px) {
  .ptop.ptop--article .ptop__grid { grid-template-columns: minmax(0, 1fr); }
  .bc .post-row, .bc .post-row--lead { grid-template-columns: minmax(0, 1fr); }
  .bc .post-row__photo { order: -1; }
  .bc .ma-subcat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .bc .posts--search .post-row { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: start; }
  .bc .article__nav { grid-template-columns: minmax(0, 1fr); }
  .bc .article__nav-link--next { grid-column: 1; }
  .bc .ma-noresults-search__btn { padding: 0 18px; }
  .ptop__search .btn { width: auto; padding: 0 18px; }
}
@media (max-width: 767px) { .bc .b404__list li { flex: 1 1 100%; } }

/* Cookie notice: a small panel in the lower left, above the phone action bar on phones */
.cookie { position: fixed; left: 16px; bottom: 16px; z-index: 60; display: flex; align-items: center; gap: 16px 20px; max-width: 640px; padding: 16px 18px; background: var(--raise); color: var(--ink); border: 2px solid var(--ink); border-radius: var(--r); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45); }
.cookie[hidden] { display: none; }
.cookie p { margin: 0; font-size: 20px; line-height: 1.45; }
.cookie a { color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 4px; }
.cookie__ok { flex: none; }
@media (max-width: 767px) {
  .cookie { left: 10px; right: 10px; bottom: calc(var(--bar-h) + 10px); flex-wrap: wrap; padding: 14px; }
  .cookie__more { display: none; }
  .cookie__ok { width: 100%; }
}

/* Shop All's price filters: native dropdowns in the same 56px box as the other fields (they rendered 19px tall) */
.bshop .ma-filter-field { display: grid; gap: 8px; }
.bshop .ma-filter-field select { width: 100%; min-height: 56px; padding: 0 44px 0 16px; font: 400 21px var(--font-body); color: var(--ink); background: var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23595C63' d='M216.49 104.49l-80 80a12 12 0 0 1-17 0l-80-80a12 12 0 0 1 17-17L128 159l71.51-71.52a12 12 0 0 1 17 17Z'/%3E%3C/svg%3E") no-repeat right 14px center / 18px; border: 2px solid var(--field); border-radius: var(--r); appearance: none; -webkit-appearance: none; }
.bshop .ma-filter-field select:focus { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-ink) 25%, transparent); }
