/* DealerSpark public theme — dark powersports layout. */
:root {
  --red: #f7152b;
  --red-dark: #cc0000;
  --bg: #121212;
  --panel: #000;
  --panel-2: #1b1b1b;
  --bar: #252525;
  --line: #333;
  --text: #fff;
  --muted: #a9a9a9;
  --wrap: 1320px;
  --display: "Anton", Impact, "Helvetica Neue", Arial, sans-serif;
  --body: "Rajdhani", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --cond: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--bg); }
body {
  margin: 0;
  /* Seamless SVG mesh tile, plus a soft fixed light falloff layered on top
     so the shading never repeats or seams as the page scrolls. */
  background:
    radial-gradient(ellipse 90% 70% at 70% 20%, rgba(255,255,255,.04), transparent 70%) fixed,
    url("/static/img/carbon.svg") 0 0 / 11px 19px repeat,
    var(--bg);
  color: var(--text);
  font: 400 15px/1.45 var(--body);
  padding-bottom: 64px; /* room for the fixed brand bar */
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1 0 auto; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--red); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4 { margin: 0 0 .5em; font-weight: 500; line-height: 1.15; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 15px; }
.muted { color: var(--muted); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: -999px; top: 0; background: #fff; color: #000; padding: 8px 12px; z-index: 100; }
.skip-link:focus { left: 8px; }
:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* Text fields and dropdowns get an on-theme red glow instead of the white ring. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible, select:focus-visible, textarea:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(247,21,43,.55); }

/* ---------------------------------------------------------------- icons (CSS masks) */
.ico { display: inline-block; width: 1em; height: 1em; background: currentColor; vertical-align: -0.125em;
  -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.ico-pin { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.ico-phone { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E"); }
.ico-search { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3a7 7 0 1 0 4.2 12.6l5.1 5.1 1.4-1.4-5.1-5.1A7 7 0 0 0 10 3zm0 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E"); }
.ico-mail { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2 2v.5l7 4.5 7-4.5V7zm0 2.9V17h14V9.9l-7 4.5z'/%3E%3C/svg%3E"); }
.ico-camera { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4 7.2 6H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-3.2L15 4zm3 4.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9z'/%3E%3C/svg%3E"); }
.ico-info { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 15h-2v-6h2zm0-8h-2V7h2z'/%3E%3C/svg%3E"); }
.ico-comment { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.4 1.3 4.5 3.4 6L4 21l4.7-2.4c1 .3 2.1.4 3.3.4 5.5 0 10-3.6 10-8s-4.5-8-10-8zm0 2c4.4 0 8 2.7 8 6s-3.6 6-8 6c-1.1 0-2.1-.2-3.1-.5l-.4-.1-1.6.8.5-1.5-.7-.5C5 14 4 12.6 4 11c0-3.3 3.6-6 8-6z'/%3E%3C/svg%3E"); }
.ico-exchange { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 3l4 4-4 4V8H4V6h13zM7 13v3h13v2H7v3l-4-4z'/%3E%3C/svg%3E"); }
.ico-dollar { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 2h2v2.1c2.3.4 3.8 1.9 4 4h-2.2c-.2-1.2-1.3-2-2.8-2-1.7 0-2.8.8-2.8 2 0 1.1.8 1.6 3 2.1 2.9.6 4.9 1.5 4.9 4.1 0 2.2-1.7 3.7-4.1 4V22h-2v-1.7c-2.6-.4-4.3-2-4.4-4.3h2.2c.2 1.3 1.4 2.2 3.2 2.2 1.8 0 2.9-.8 2.9-2 0-1.1-.8-1.7-3.2-2.2-2.8-.6-4.7-1.5-4.7-4 0-2 1.6-3.5 4-3.9z'/%3E%3C/svg%3E"); }
.ico-cogs { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.3 2h3.4l.5 2.6 1.6.9 2.5-.9 1.7 3-2 1.7v1.4l2 1.7-1.7 3-2.5-.9-1.6.9-.5 2.6h-3.4l-.5-2.6-1.6-.9-2.5.9-1.7-3 2-1.7V9.3l-2-1.7 1.7-3 2.5.9 1.6-.9zM12 8.5a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E"); }
.ico-bell { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a1.5 1.5 0 0 1 1.5 1.5v.7A6 6 0 0 1 18 10v5l2 2v1H4v-1l2-2v-5a6 6 0 0 1 4.5-5.8v-.7A1.5 1.5 0 0 1 12 2zm-2 18h4a2 2 0 0 1-4 0z'/%3E%3C/svg%3E"); }
.ico-calendar { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3zm-2 8v9h14v-9z'/%3E%3C/svg%3E"); }
.ico-print { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12v5H6zM4 8h16a2 2 0 0 1 2 2v6h-4v6H6v-6H2v-6a2 2 0 0 1 2-2zm4 8v4h8v-4z'/%3E%3C/svg%3E"); }
.ico-share { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 2a3 3 0 1 1-2.4 4.8L8.9 10.2a3 3 0 0 1 0 1.6l6.7 3.4A3 3 0 1 1 15 17l-6.7-3.4a3 3 0 1 1 0-3.2L15 7a3 3 0 0 1 3-5z'/%3E%3C/svg%3E"); }
.ico-circle-arrow { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1 5 5 5-5 5-1.4-1.4 2.6-2.6H6v-2h6.2L9.6 8.4z'/%3E%3C/svg%3E"); }
.ico-fb { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8V6.5c0-.8.2-1.2 1.4-1.2H17V2h-2.6C11.3 2 10 3.5 10 6v2H8v3.2h2V22h4V11.2h2.7L17 8z'/%3E%3C/svg%3E"); }
.ico-ig { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm5 3.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM17.3 5.5a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4z'/%3E%3C/svg%3E"); }
.ico-tw { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 5.9c-.7.3-1.5.5-2.3.6.8-.5 1.5-1.3 1.8-2.2-.8.5-1.7.8-2.6 1a4.1 4.1 0 0 0-7 3.7A11.6 11.6 0 0 1 3.4 4.7a4.1 4.1 0 0 0 1.3 5.5c-.7 0-1.3-.2-1.9-.5 0 2 1.4 3.7 3.3 4.1-.6.2-1.2.2-1.9.1a4.1 4.1 0 0 0 3.8 2.8A8.2 8.2 0 0 1 2 18.4 11.6 11.6 0 0 0 8.3 20.2c7.5 0 11.7-6.3 11.7-11.7v-.5c.8-.6 1.5-1.3 2-2.1z'/%3E%3C/svg%3E"); }
.ico-yt { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7.2a3 3 0 0 0-2.1-2.1C19 4.6 12 4.6 12 4.6s-7 0-8.9.5A3 3 0 0 0 1 7.2 31 31 0 0 0 .5 12a31 31 0 0 0 .5 4.8 3 3 0 0 0 2.1 2.1c1.9.5 8.9.5 8.9.5s7 0 8.9-.5a3 3 0 0 0 2.1-2.1 31 31 0 0 0 .5-4.8 31 31 0 0 0-.5-4.8zM9.7 15.1V8.9L15.5 12z'/%3E%3C/svg%3E"); }

/* ---------------------------------------------------------------- top bar */
/* One shared control height for the call button, social icons and search. */
.topbar { --topbar-h: 46px; background: #1a1a1a; border-bottom: 1px solid #000; font-size: 14px; }
.topbar__inner { display: flex; align-items: center; justify-content: space-between; min-height: 60px; gap: 14px; flex-wrap: wrap; }
.topbar__address { display: inline-flex; align-items: center; gap: 4px; text-transform: uppercase; color: #fff; letter-spacing: .03em; font-weight: 600; }
.topbar__address .ico { margin-right: 4px; font-size: 17px; color: var(--red); }
.topbar__address .sep { color: #666; margin: 0 6px; }
.topbar__address a { text-transform: uppercase; font-weight: 700; }
.topbar__right { display: flex; align-items: center; gap: 20px; }
/* call button: icon + live open/closed status + number */
.callpill { box-sizing: border-box; height: var(--topbar-h); display: inline-flex; align-items: center; gap: 10px; padding: 0 18px 0 5px; border-radius: 999px; background: #262626; border: 1px solid #333; color: #fff; white-space: nowrap; transition: background .15s, border-color .15s, transform .15s; }
.callpill:hover { background: #2f2f2f; border-color: var(--red); text-decoration: none; color: #fff; }
.callpill:active { transform: scale(.98); }
.callpill__icon { position: relative; width: 36px; height: 36px; border-radius: 50%; background: var(--red); display: grid; place-items: center; font-size: 20px; flex: none; }
.callpill.is-open .callpill__icon::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 2px solid var(--red); animation: ring 2.4s ease-out infinite; }
@keyframes ring { 0% { transform: scale(.9); opacity: .9; } 70%, 100% { transform: scale(1.35); opacity: 0; } }
.callpill__text { display: flex; flex-direction: column; line-height: 1.05; }
.callpill__status { display: inline-flex; align-items: center; gap: 6px; font: 600 12.5px/1.2 var(--body); color: #c8c8c8; text-transform: uppercase; letter-spacing: .04em; }
.callpill__number { font: 400 22px/1.1 var(--display); letter-spacing: .02em; }
.dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #888; flex: none; }
.is-open .dot { background: #3ccf4e; box-shadow: 0 0 0 0 rgba(60,207,78,.6); animation: pulse 2s ease-out infinite; }
@media (prefers-reduced-motion: reduce) { .callpill.is-open .callpill__icon::after, .is-open .dot { animation: none; } }
.topbar__search { display: flex; border-radius: 4px; transition: box-shadow .15s; }
.topbar__search:focus-within { box-shadow: 0 0 0 3px rgba(247,21,43,.6); }
.topbar__search input:focus, .topbar__search input:focus-visible { outline: none; box-shadow: none; }
.topbar__search input { width: 240px; height: var(--topbar-h); border: 0; border-radius: 4px 0 0 4px; padding: 0 12px; font-size: 15px; color: #222; background: #fff; }
.topbar__search button { border: 0; border-radius: 0 4px 4px 0; background: var(--red-dark); color: #fff; width: var(--topbar-h); height: var(--topbar-h); font-size: 18px; cursor: pointer; }

.social { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
.social a { display: grid; place-items: center; width: var(--topbar-h); height: var(--topbar-h); border-radius: 6px; color: #fff; font-size: 30px; transition: filter .15s, transform .15s; }
.social a:hover { transform: translateY(-1px); }
.social__fb { background: #3b5998; }
.social__ig { background: #444; }
.social__tw { background: #1da1f2; }
.social__yt { background: #cc181e; }
.social a:hover { filter: brightness(1.15); text-decoration: none; }

/* ---------------------------------------------------------------- masthead */
.masthead { background: #000 center / cover no-repeat; min-height: 182px; position: relative; overflow: hidden; }
.masthead__inner { position: relative; height: 182px; }
.masthead__brand { position: absolute; left: 15px; top: 4px; width: 46%; max-width: 520px; }
.masthead__brand img { width: 100%; }
.masthead__wordmark { font: 400 56px/1 var(--display); color: var(--red); text-transform: uppercase; text-shadow: 3px 3px 0 #000; }
/* Phone number lettered like the logo: red gradient fill, white inner
   outline, black outer outline (the ::before copy), italic slant, hard shadow. */
.masthead__phone { position: absolute; left: 34px; bottom: 10px; display: inline-block; transform: skewX(-9deg); transform-origin: left bottom; transition: transform .15s; isolation: isolate; }
.masthead__phone span { position: relative; display: inline-block; font: 400 32px/1 var(--display); letter-spacing: .03em; color: #ec1c2a;
  -webkit-text-stroke: 4px #fff; paint-order: stroke fill;
  background: linear-gradient(#ff5560, #e3101f 55%, #b80012); -webkit-background-clip: text; background-clip: text; }
.masthead__phone span::before { content: attr(data-t); position: absolute; inset: 0; z-index: -1; color: #0b0b0b;
  -webkit-text-stroke: 11px #0b0b0b; paint-order: stroke fill; text-shadow: 3px 4px 0 #0b0b0b; }
.masthead__phone:hover { text-decoration: none; transform: skewX(-9deg) translateY(-2px); }
.masthead__phone:hover span { filter: brightness(1.1); }
.masthead__phone:active { transform: skewX(-9deg) translateY(1px); }
.masthead__phone:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
.masthead__mascot { position: absolute; right: 12%; bottom: 0; max-height: 120px; width: auto; }

/* ---------------------------------------------------------------- nav */
.mainnav { background: var(--bar); border-bottom: 1px solid #111; position: relative; z-index: 20; }
.mainnav__menu { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; }
.mainnav__menu > li { position: relative; }
.mainnav__menu > li + li::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 1px; background: #3a3a3a; }
.mainnav__menu > li > a { display: block; padding: 16px 26px; font: 400 23px/1.2 var(--display); text-transform: uppercase; color: #fff; letter-spacing: .04em; text-shadow: 0 2px 0 rgba(0,0,0,.6); transition: color .15s; }
.mainnav__menu > li > a:hover, .mainnav__menu > li:focus-within > a { color: var(--red); text-decoration: none; }
.has-sub > a::after { content: ""; display: inline-block; margin-left: 8px; border: 4px solid transparent; border-top-color: var(--red); vertical-align: 2px; }
.mainnav__cta .dollar { color: var(--red); }
.sub { display: none; position: absolute; left: 0; top: 100%; min-width: 240px; list-style: none; margin: 0; padding: 6px 0; background: #111; border-top: 3px solid var(--red); box-shadow: 0 8px 18px rgba(0,0,0,.5); }
.has-sub:hover > .sub, .has-sub:focus-within > .sub { display: block; }
.sub a { display: block; padding: 7px 18px; color: #fff; font: 500 15px/1.3 var(--body); text-transform: uppercase; }
.sub a:hover { background: var(--red); color: #fff; text-decoration: none; }
.mainnav__toggle, .mainnav__call { display: none; }

/* mobile quick-action bar (shown on phones instead of the brand strip) */
.mobilebar { display: none; }

/* ---------------------------------------------------------------- page shells */
.page { padding: 14px 0 30px; }
.panel { background: var(--panel); padding: 18px 20px 26px; }
.page-title { color: var(--red); font: 500 34px/1.1 var(--body); margin: 4px 0 18px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; cursor: pointer; padding: 8px 14px; color: #fff; background: #333; font: 700 13px/1 var(--cond); text-transform: uppercase; }
.btn:hover { text-decoration: none; filter: brightness(1.15); }
.btn--red { background: var(--red); color: #fff; }
.btn--dark { background: #333; }
.btn--sm { padding: 6px 10px; font-size: 12px; }
.btn--lg { padding: 16px 40px; font-size: 16px; }
.btn--block { width: 100%; }
.cms { font-family: var(--body); font-size: 15px; color: #fff; }
.cms p { margin: 0 0 1em; }
.cms h2, .cms h3 { color: var(--red); font-family: var(--body); }
.cms img { display: inline-block; }
.cms a { font-weight: 700; }
.cms table { border-collapse: collapse; }
.cms td, .cms th { padding: 4px 8px; }

/* ---------------------------------------------------------------- home */
.page--home { padding-top: 18px; }
.page--home > .wrap + .wrap { margin-top: 22px; }

/* hero: category buttons stretch to exactly the slideshow's height */
.hero { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 12px; align-items: stretch; }
.hero > * { box-shadow: 0 18px 40px rgba(0,0,0,.45); }
.hero__buttons { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.hero__buttons li { flex: 1; display: flex; }
.hero__buttons a { position: relative; flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 20px 0 24px; font: 400 clamp(26px, 2.25vw, 35px)/1 var(--display); white-space: nowrap; letter-spacing: .02em; text-transform: uppercase; color: #eee; text-shadow: 0 2px 0 rgba(0,0,0,.6); background: linear-gradient(#2b2b2b, #1c1c1c); overflow: hidden; transition: color .2s, background .2s, padding-left .2s; }
.hero__buttons a::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--red); transform: scaleY(0); transition: transform .2s; }
/* arrow: red ring with a chevron; fills red and slides on hover */
.hero__arrow { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--red); background: rgba(0,0,0,.25); transition: background .2s, transform .2s, border-color .2s; }
.hero__arrow::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border-top: 3px solid var(--red); border-right: 3px solid var(--red); transform: translate(-65%, -50%) rotate(45deg); transition: border-color .2s; }
.hero__buttons a:hover, .hero__buttons a:focus-visible { color: #fff; text-decoration: none; background: linear-gradient(#353535, #232323); padding-left: 30px; }
.hero__buttons a:hover::before, .hero__buttons a:focus-visible::before { transform: scaleY(1); }
.hero__buttons a:hover .hero__arrow, .hero__buttons a:focus-visible .hero__arrow { background: var(--red); transform: translateX(4px); }
.hero__buttons a:hover .hero__arrow::before, .hero__buttons a:focus-visible .hero__arrow::before { border-color: #fff; }
/* Ratio of the dealer's banners (840x508); site.js refines it from the first image. */
.slideshow { position: relative; background: #000; aspect-ratio: 840 / 508; overflow: hidden; }
.slideshow__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .7s; pointer-events: none; }
.slideshow__slide.is-active { opacity: 1; pointer-events: auto; }
.slideshow__slide img { width: 100%; height: 100%; object-fit: contain; }
.slideshow__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 64px; border: 0; background: rgba(0,0,0,.45); color: #fff; font-size: 38px; cursor: pointer; z-index: 2; opacity: 0; transition: opacity .2s, background .2s; }
.slideshow:hover .slideshow__nav, .slideshow__nav:focus-visible { opacity: 1; }
.slideshow__nav:hover { background: var(--red); }
.slideshow__nav--prev { left: 0; }
.slideshow__nav--next { right: 0; }
.slideshow__dots { position: absolute; bottom: 12px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; z-index: 2; }
.slideshow__dots button { width: 26px; height: 5px; border-radius: 3px; border: 0; background: rgba(255,255,255,.45); padding: 0; cursor: pointer; transition: background .2s, width .2s; }
.slideshow__dots button[aria-current="true"] { background: var(--red); width: 40px; }
.home-banner img { width: 100%; }

/* promo tiles: equal cards in a row */
.promo { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.promo__card { display: grid; place-items: center; min-height: 190px; padding: 16px; background: #1b1b1b radial-gradient(ellipse at 50% 0, rgba(247,21,43,.10), transparent 70%); border: 1px solid #262626; border-top: 3px solid var(--red); transition: transform .2s, box-shadow .2s, border-color .2s; }
.promo__card img { max-height: 170px; width: auto; max-width: 100%; }
.promo__card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,0,0,.5); border-color: #3a3a3a; text-decoration: none; }

/* section heading shared by home sections */
.section-head { display: flex; align-items: center; gap: 24px; margin-bottom: 20px; }
.section-title { display: flex; align-items: center; gap: 18px; flex: 1; font: 400 34px/1 var(--display); text-transform: uppercase; color: #fff; margin: 0; }
.section-title::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--red) 0 60px, #3a3a3a 60px); }
.section-head__link { display: inline-flex; align-items: center; gap: 8px; color: #fff; font: 700 14px var(--cond); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.section-head__link .ico { color: var(--red); }

/* featured inventory: three category carousels */
.featured { background: var(--panel-2) linear-gradient(135deg, rgba(255,255,255,.025) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.025) 50%, rgba(255,255,255,.025) 75%, transparent 75%) 0 0 / 6px 6px; padding: 0 15px; background-clip: content-box; }
.featured > * { margin-left: 28px; margin-right: 28px; }
.featured > .section-head { padding-top: 26px; }
.featured__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; padding-bottom: 28px; }
.featured__col { display: flex; flex-direction: column; min-width: 0; }
.featured__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.featured__head h3 { font: 400 26px/1 var(--display); text-transform: uppercase; margin: 0; }
.featured__head h3 a { color: #ddd; }
.featured__head h3 a:hover { color: #fff; text-decoration: none; }
.featured__nav { display: flex; gap: 4px; }
.btn-square { width: 34px; height: 34px; border: 0; background: var(--red); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; transition: filter .15s; }
.btn-square:hover { filter: brightness(1.15); }
.featured__track { position: relative; flex: 1; }
.featured__item { display: none; color: #fff; background: #0e0e0e; border: 1px solid #262626; transition: border-color .2s, box-shadow .2s; }
.featured__item.is-active { display: block; animation: featIn .35s ease; }
@keyframes featIn { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
.featured__item:hover { text-decoration: none; border-color: #444; box-shadow: 0 12px 26px rgba(0,0,0,.5); }
.featured__img { display: block; aspect-ratio: 4 / 3; background: #fff; overflow: hidden; }
.featured__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.featured__item:hover .featured__img img { transform: scale(1.04); }
.featured__body { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px 14px; }
.featured__title { font: 700 17px/1.25 var(--cond); min-height: 2.5em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.featured__meta { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.featured__price { display: inline-block; background: var(--red); color: #fff; font: 700 16px/1 var(--cond); padding: 6px 10px; }
.featured__price--call { background: #333; }
.featured__msrp { color: #888; font: 400 13px var(--cond); text-decoration: line-through; }
.featured__timer { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--red); transform-origin: left; transform: scaleX(0); z-index: 1; pointer-events: none; }
@keyframes featTimer { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.featured__all { margin-top: 10px; color: #ccc; font: 700 13px var(--cond); text-transform: uppercase; letter-spacing: .04em; }
.featured__all:hover { color: #fff; text-decoration: none; }
.featured__empty { padding: 30px 0; }

/* social row */
.socialrow__follow { display: flex; gap: 8px; }
.socialrow__btn { padding: 9px 14px; font-size: 13px; }
.socialrow__btn--fb { background: #1877f2; }
.socialrow__btn--ig { background: linear-gradient(45deg, #f58529, #dd2a7b 55%, #8134af); }
.socialrow__posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.fbpost { display: flex; flex-direction: column; background: #161616; border: 1px solid #262626; border-top: 3px solid #1877f2; color: #fff; transition: transform .2s, box-shadow .2s, border-color .2s; }
.fbpost:hover { text-decoration: none; transform: translateY(-3px); box-shadow: 0 14px 28px rgba(0,0,0,.5); border-color: #3a3a3a; }
.fbpost__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #0b0b0b; }
.fbpost__img img { width: 100%; height: 100%; object-fit: cover; }
.fbpost__body { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px 14px; flex: 1; }
.fbpost__meta { display: flex; align-items: center; gap: 6px; font: 600 12px var(--body); color: #9aa; text-transform: uppercase; letter-spacing: .04em; }
.fbpost__meta .ico { color: #1877f2; font-size: 15px; }
.fbpost__text { font-size: 15px; line-height: 1.45; color: #ddd; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.fbpost__more { margin-top: auto; color: #6fa8ff; font: 700 13px var(--cond); text-transform: uppercase; letter-spacing: .04em; }
.socialrow__embeds { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; align-items: start; }
.socialrow__embeds iframe { width: 100%; height: 560px; border: 0; background: #fff; border-radius: 6px; }
.socialrow__page { display: grid; grid-template-columns: minmax(0, 500px) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.socialrow__plugin { width: 100%; height: 560px; border: 0; background: #fff; border-radius: 6px; box-shadow: 0 14px 30px rgba(0,0,0,.45); }
.socialrow__pitch { background: #161616; border: 1px solid #262626; border-top: 3px solid #1877f2; padding: 26px 28px; display: flex; flex-direction: column; justify-content: center; }
.socialrow__pitch h3 { font: 400 30px/1.1 var(--display); text-transform: uppercase; margin: 0 0 12px; }
.socialrow__pitch p { font-size: 17px; line-height: 1.55; color: #ccc; margin: 0 0 14px; max-width: 46ch; }
.socialrow__points { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 8px; }
.socialrow__points li { position: relative; padding-left: 26px; font-size: 16px; color: #ddd; }
.socialrow__points li::before { content: ""; position: absolute; left: 0; top: 4px; width: 14px; height: 8px; border-left: 3px solid var(--red); border-bottom: 3px solid var(--red); transform: rotate(-45deg); }
.socialrow__pitch .btn { align-self: flex-start; gap: 10px; }

/* welcome copy + visit card */
.welcome { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; padding-top: 18px; padding-bottom: 10px; }
.welcome__main h1 { font: 400 34px/1.1 var(--display); text-transform: uppercase; color: var(--red); margin-bottom: 16px; }
.welcome__text { max-width: 78ch; font-size: 16px; line-height: 1.65; color: #ddd; }
.welcome__text h2, .welcome__text h3 { color: #fff; font: 400 20px/1.2 var(--display); text-transform: uppercase; }
.visit { position: sticky; top: 16px; background: #161616; border: 1px solid #262626; border-top: 3px solid var(--red); padding: 22px 22px 20px; }
.visit h2 { font: 400 24px/1 var(--display); text-transform: uppercase; margin: 0 0 12px; }
.visit__status { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 14px; padding: 5px 10px; border-radius: 999px; background: #222; font: 600 13px var(--body); color: #ccc; }
.visit__status.is-open { color: #8ee89a; }
.visit__addr { font-style: normal; font-size: 16px; line-height: 1.4; margin-bottom: 14px; }
.visit__hours { width: 100%; border-collapse: collapse; font-size: 15px; margin-bottom: 18px; }
.visit__hours th, .visit__hours td { padding: 6px 0; border-top: 1px solid #262626; text-align: left; font-weight: 400; }
.visit__hours th { color: #aaa; }
.visit__hours td { text-align: right; }
.visit__actions { display: grid; gap: 8px; }
.visit__actions .btn { padding: 12px 14px; font-size: 15px; }
.visit__link { display: inline-block; margin-top: 14px; font: 700 13px var(--cond); text-transform: uppercase; letter-spacing: .04em; }

/* ---------------------------------------------------------------- inventory list */
.inv { padding-top: 12px; }
.inv-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 14px; }
.inv-top .page-title { margin: 4px 0; }
.inv-search { position: relative; flex: 0 1 460px; }
.inv-search form { display: flex; }
.inv-search input { flex: 1; min-width: 0; height: 40px; border: 1px solid #ccc; border-right: 0; background: #f2f2f2; color: #000; padding: 0 12px; font: 400 16px var(--cond); }
.inv-search input:focus { outline: none; background: #fff; box-shadow: inset 0 0 0 2px var(--red); }
.inv-search button { width: 44px; border: 0; background: var(--red); color: #fff; font-size: 16px; cursor: pointer; }

.inv-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }

/* facet sidebar */
.facets { position: sticky; top: 12px; max-height: calc(100vh - 90px); overflow-y: auto; background: #111; padding: 4px 14px 14px; font-family: var(--cond); scrollbar-width: thin; scrollbar-color: #444 #111; }
.facets__head { display: flex; align-items: center; justify-content: space-between; padding: 10px 0 8px; border-bottom: 2px solid var(--red); margin-bottom: 6px; }
.facets__head h2 { font: 400 20px/1 var(--display); text-transform: uppercase; margin: 0; }
.facets__clear { font-size: 13px; }
.facets__close, .facets__apply { display: none; }
.facet { border: 0; margin: 0; padding: 10px 0 12px; border-bottom: 1px solid #222; min-width: 0; }
.facet.is-empty { display: none; }
.facet legend { float: left; width: 100%; padding: 0 0 8px; color: #fff; font: 700 13px/1 var(--cond); text-transform: uppercase; letter-spacing: .04em; }
.facet__list { clear: both; list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.facet__list li.is-extra { display: none; }
.facet__list.is-open li.is-extra { display: block; }
.facet__list label { display: flex; align-items: center; gap: 8px; padding: 4px 4px; border-radius: 3px; cursor: pointer; font-size: 14px; color: #ddd; }
.facet__list label:hover { background: #1c1c1c; color: #fff; }
.facet__list input[type=checkbox] { appearance: none; width: 16px; height: 16px; border: 1px solid #666; border-radius: 3px; background: #000; display: grid; place-items: center; flex: none; margin: 0; cursor: pointer; transition: background .15s, border-color .15s; }
.facet__list input[type=checkbox]::after { content: ""; width: 9px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) scale(0); transition: transform .15s; margin-top: -2px; }
.facet__list input[type=checkbox]:checked { background: var(--red); border-color: var(--red); }
.facet__list input[type=checkbox]:checked::after { transform: rotate(-45deg) scale(1); }
.facet__list input[type=checkbox]:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* Text fields and dropdowns get an on-theme red glow instead of the white ring. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible, select:focus-visible, textarea:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(247,21,43,.55); }
.facet__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facet__count { color: #888; font-size: 12px; font-variant-numeric: tabular-nums; min-width: 2ch; text-align: right; }
.facet__list li.is-zero label { opacity: .4; }
.facet__more { background: none; border: 0; color: var(--red); padding: 6px 4px 0; cursor: pointer; font: 700 12px var(--cond); text-transform: uppercase; }
.facet select { width: 100%; height: 32px; background: #f2f2f2; color: #000; border: 1px solid #ccc; padding: 0 6px; font: 400 14px var(--cond); }

/* dual range slider */
.facet--range { --lo: 0%; --hi: 100%; }
.range { position: relative; height: 26px; clear: both; }
.range::before, .range::after { content: ""; position: absolute; top: 11px; height: 4px; border-radius: 2px; }
.range::before { left: 0; right: 0; background: #333; }
.range::after { left: var(--lo); right: calc(100% - var(--hi)); background: var(--red); }
.range input[type=range] { position: absolute; inset: 0; width: 100%; margin: 0; background: none; pointer-events: none; appearance: none; -webkit-appearance: none; z-index: 1; }
.range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--red); cursor: grab; box-shadow: 0 1px 4px rgba(0,0,0,.6); }
.range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--red); cursor: grab; }
.range input[type=range]:focus-visible::-webkit-slider-thumb { outline: 2px solid #fff; outline-offset: 2px; }
.range input[type=range]::-webkit-slider-runnable-track { background: none; }
.range__inputs { display: flex; align-items: center; gap: 6px; margin-top: 6px; color: #888; font-size: 13px; }
.range__inputs label { flex: 1; position: relative; }
.range__inputs .pre { position: absolute; left: 7px; top: 50%; transform: translateY(-50%); color: #666; font-size: 13px; }
.range__inputs input { width: 100%; height: 30px; background: #f2f2f2; color: #000; border: 1px solid #ccc; padding: 0 6px; font: 400 14px var(--cond); -moz-appearance: textfield; }
.range__inputs .pre + input { padding-left: 18px; }
.range__inputs input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* results toolbar */
.inv-bar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 8px 0 10px; border-bottom: 1px solid #222; font-family: var(--cond); }
.inv-bar__filters { display: none; }
.inv-bar__count { margin: 0; font-size: 15px; color: #ccc; }
.inv-bar__count strong { color: #fff; font-size: 18px; font-variant-numeric: tabular-nums; }
.inv-bar__sort { margin-left: auto; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #aaa; text-transform: uppercase; }
.inv-bar__sort select { height: 32px; background: #f2f2f2; color: #000; border: 1px solid #ccc; padding: 0 6px; font: 400 14px var(--cond); }
.inv-bar__view { display: flex; }
.inv-bar__view button { width: 34px; height: 32px; border: 1px solid #333; background: #1b1b1b; color: #888; cursor: pointer; display: grid; place-items: center; }
.inv-bar__view button[aria-pressed="true"] { background: var(--red); border-color: var(--red); color: #fff; }
.vico { width: 14px; height: 12px; display: block; background: currentColor; }
.vico--list { -webkit-mask: linear-gradient(#000 0 0) 0 0 / 100% 3px no-repeat, linear-gradient(#000 0 0) 0 50% / 100% 3px no-repeat, linear-gradient(#000 0 0) 0 100% / 100% 3px no-repeat; mask: linear-gradient(#000 0 0) 0 0 / 100% 3px no-repeat, linear-gradient(#000 0 0) 0 50% / 100% 3px no-repeat, linear-gradient(#000 0 0) 0 100% / 100% 3px no-repeat; }
.vico--grid { -webkit-mask: conic-gradient(#000 0 0) 0 0 / 6px 5px no-repeat, conic-gradient(#000 0 0) 100% 0 / 6px 5px no-repeat, conic-gradient(#000 0 0) 0 100% / 6px 5px no-repeat, conic-gradient(#000 0 0) 100% 100% / 6px 5px no-repeat; mask: conic-gradient(#000 0 0) 0 0 / 6px 5px no-repeat, conic-gradient(#000 0 0) 100% 0 / 6px 5px no-repeat, conic-gradient(#000 0 0) 0 100% / 6px 5px no-repeat, conic-gradient(#000 0 0) 100% 100% / 6px 5px no-repeat; }
.inv-bar__live { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #8a8; text-transform: uppercase; letter-spacing: .05em; }
.inv-bar__live .dot { width: 8px; height: 8px; border-radius: 50%; background: #3c3; box-shadow: 0 0 0 0 rgba(51,204,51,.6); }
.inv-bar__live.is-pulse .dot { animation: pulse 1.2s ease-out; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(51,204,51,.7); } 100% { box-shadow: 0 0 0 10px rgba(51,204,51,0); } }

/* chips */
.chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 0 0; min-height: 0; }
.chips:empty { display: none; }
.chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #444; background: #1b1b1b; color: #fff; border-radius: 999px; padding: 4px 10px; font: 400 13px var(--cond); cursor: pointer; text-decoration: none; }
.chip:hover { border-color: var(--red); text-decoration: none; }
.chip span[aria-hidden] { color: var(--red); font-size: 15px; line-height: 1; }
.chip--clear { border-color: transparent; background: none; color: var(--red); }
.inv-fuzzy { margin: 12px 0 0; padding: 8px 12px; background: #1f1a0b; border-left: 3px solid #e0a800; font: 400 14px var(--cond); }

.inv-list { position: relative; transition: opacity .2s; }
.inv.is-loading .inv-list { opacity: .55; }
.inv-empty { text-align: center; padding: 50px 20px; }
.inv-empty h2 { font: 400 26px var(--display); text-transform: uppercase; color: #fff; }
.inv-more { display: flex; justify-content: center; padding: 24px; }
.inv-more[hidden] { display: none; }
.spinner { width: 26px; height: 26px; border: 3px solid #333; border-top-color: var(--red); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* suggestions dropdown (inventory + header search) */
.suggest { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 4px); list-style: none; margin: 0; padding: 6px 0; background: #fff; color: #111; box-shadow: 0 12px 30px rgba(0,0,0,.55); border-radius: 4px; max-height: 70vh; overflow-y: auto; font-family: var(--cond); text-align: left; }
.suggest[hidden] { display: none; }
.suggest--header { width: 380px; left: auto; right: 0; }
.suggest__group { padding: 8px 14px 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #888; }
.suggest__item { display: flex; align-items: center; gap: 12px; padding: 7px 14px; cursor: pointer; }
.suggest__item:hover, .suggest__item.is-active { background: #fdecee; }
.suggest__item img { width: 64px; height: 48px; object-fit: cover; border-radius: 3px; flex: none; background: #eee; }
.suggest__kind { flex: none; width: 64px; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: #fff; background: #333; border-radius: 3px; text-align: center; padding: 3px 0; }
.suggest__item--make .suggest__kind { background: var(--red); }
.suggest__text { display: flex; flex-direction: column; min-width: 0; }
.suggest__label { font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.suggest__label mark { background: none; color: var(--red); }
.suggest__sub { font-size: 12px; color: #666; }
.suggest__none { padding: 10px 14px; color: #666; font-size: 14px; }

/* grid view: same card markup, stacked */
.inv-list.is-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; padding-top: 16px; }
.inv-list.is-grid .unit { display: flex; flex-direction: column; padding: 0; border: 1px solid #1f1f1f; background: #0b0b0b; gap: 0; }
.inv-list.is-grid .unit__more, .inv-list.is-grid .unit__comment, .inv-list.is-grid .unit__specs dl:nth-child(2), .inv-list.is-grid .pricebox__alert, .inv-list.is-grid .unit__aside { display: none; }
.inv-list.is-grid .unit__head { grid-template-columns: 1fr; padding: 10px 12px; border: 0; }
.inv-list.is-grid .unit__head h2 { font-size: 17px; min-height: 2.4em; }
.inv-list.is-grid .pricebox { grid-row: auto; }
.inv-list.is-grid .unit__specs { padding: 0 12px 10px; grid-template-columns: 1fr; }
.inv-list.is-grid .unit__buttons { grid-template-columns: 1fr 1fr; margin-top: auto; }
.inv-list.is-grid .unit__buttons li:nth-child(2), .inv-list.is-grid .unit__buttons li:nth-child(3) { display: none; }

.unit { display: grid; grid-template-columns: 240px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid #1f1f1f; background: var(--panel); }
.unit__media { display: flex; flex-direction: column; gap: 6px; }
.unit__img { position: relative; display: block; aspect-ratio: 4 / 3; background: #222; overflow: hidden; }
.unit__img img { width: 100%; height: 100%; object-fit: cover; }
.unit__more { display: flex; align-items: center; gap: 10px; background: #222; color: #aaa; padding: 8px 12px; font: 700 13px var(--cond); text-transform: uppercase; }
.unit__more .ico { font-size: 20px; }
.unit__more:hover { color: #fff; text-decoration: none; }
.ribbon { position: absolute; top: 0; right: 0; background: rgba(247,21,43,.85); color: #fff; font: 400 13px/1 var(--cond); text-transform: uppercase; padding: 8px 12px; }
.ribbon--dark { background: rgba(0,0,0,.75); top: auto; bottom: 0; }
.ribbon--lg { font-size: 22px; padding: 14px 24px; }
.unit__body { display: flex; flex-direction: column; min-width: 0; }
.unit__head { display: grid; grid-template-columns: 1fr 174px; gap: 6px 14px; border-bottom: 1px solid #222; padding-bottom: 10px; }
.unit__head h2 { font: 700 21px/1.2 var(--cond); margin: 0; }
.unit__comment { grid-column: 1; margin: 0; font: 400 14px/1.35 var(--cond); color: #ccc; align-self: end; white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pricebox { grid-row: span 2; font: 400 13px/1 var(--cond); }
.pricebox > div { display: flex; justify-content: space-between; padding: 5px 8px; }
.pricebox__msrp { background: #fff; color: #000; }
.pricebox__ours { background: var(--red); color: #fff; font-weight: 700; }
.pricebox__ours a { color: #fff; }
.pricebox__alert { display: flex; justify-content: center; align-items: center; gap: 5px; background: #d70002; color: #fff; padding: 5px 8px; font-weight: 700; font-size: 12px; }
.pricebox__alert:hover { text-decoration: none; filter: brightness(1.1); }
.unit__specs { display: grid; grid-template-columns: 1fr 1fr 120px; gap: 10px; padding: 12px 0; flex: 1; font: 400 13px var(--cond); }
.unit__specs dl { display: grid; grid-template-columns: 82px 1fr; margin: 0; gap: 2px 0; }
.unit__specs dt { font-weight: 700; }
.unit__specs dd { margin: 0; }
.unit__aside { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; text-align: right; }
.unit__make { font: 400 16px var(--display); color: #888; text-transform: uppercase; }
.unit__payment { color: var(--muted); }
.unit.is-leaving { z-index: 0; }
.unit__buttons { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; list-style: none; margin: 0; padding: 0; }
.unit__buttons a { display: flex; align-items: center; gap: 8px; padding: 9px 12px; background: #1b1b1b; color: #fff; font: 700 12px/1 var(--cond); text-transform: uppercase; border-right: 1px solid #000; height: 100%; }
.unit__buttons a .ico { color: var(--red); font-size: 18px; }
.unit__buttons a:hover { background: #262626; text-decoration: none; }
.unit__buttons .is-primary a { background: var(--red); }
.unit__buttons .is-primary a .ico { color: #fff; }
.pager { display: flex; justify-content: center; gap: 18px; padding: 20px 0 0; font: 400 14px var(--cond); }

/* ---------------------------------------------------------------- vehicle detail */
.vdp__head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.vdp__head h1 { color: var(--red); font: 500 24px/1.2 var(--cond); margin: 0; }
.vdp__comment { font: 400 13px/1.45 var(--cond); max-width: 520px; white-space: pre-line; }
.vdp__top { display: grid; grid-template-columns: 1fr 360px; gap: 30px; margin: 14px 0 34px; padding-left: 15px; }
.gallery__main { position: relative; aspect-ratio: 4 / 3; background: #111; overflow: hidden; }
.gallery__slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity .3s; }
.gallery__slide.is-active { opacity: 1; }
.gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; border: 0; width: 42px; height: 60px; background: rgba(0,0,0,.4); color: #fff; font-size: 34px; cursor: pointer; }
.gallery__nav--prev { left: 0; }
.gallery__nav--next { right: 0; }
.gallery__thumbs { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
.gallery__thumbs button { border: 2px solid transparent; padding: 0; background: #111; cursor: pointer; aspect-ratio: 4 / 3; width: 100%; overflow: hidden; }
.gallery__thumbs button.is-active { border-color: var(--red); }
.gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.vdp__price { font-family: var(--cond); margin-bottom: 12px; }
.vdp__price-row { display: flex; justify-content: space-between; align-items: baseline; }
.vdp__price-row .label { font-size: 24px; color: rgba(255,255,255,.5); }
.vdp__price-row .price { font-size: 26px; color: var(--red); }
.vdp__msrp-row { display: flex; justify-content: space-between; font-size: 18px; }
.vdp__msrp-row span:first-child { color: var(--red); font-weight: 700; }
.vdp__payment { margin-top: 10px; display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; background: #111; padding: 10px; }
.vdp__payment small { grid-column: 1 / -1; color: var(--muted); }
.leadbuttons { list-style: none; margin: 14px 0 0; padding: 0; background: #222; }
.leadbuttons li + li { border-top: 1px solid #000; }
.leadbuttons a { display: flex; align-items: center; gap: 12px; padding: 13px 14px; color: #fff; font: 700 15px/1 var(--cond); text-transform: uppercase; position: relative; }
.leadbuttons a .ico { color: var(--red); font-size: 20px; width: 22px; }
.leadbuttons a::after { content: ""; position: absolute; right: 14px; border: 5px solid transparent; border-left-color: var(--red); }
.leadbuttons a:hover { background: #2c2c2c; text-decoration: none; }

/* share menu */
.sharebox { position: relative; }
.sharemenu { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 30; width: 320px; padding: 14px; background: #fff; color: #111; border-radius: 8px; box-shadow: 0 18px 40px rgba(0,0,0,.55); display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sharemenu[hidden] { display: none; }
.sharemenu::after { content: ""; position: absolute; right: 26px; top: 100%; border: 8px solid transparent; border-top-color: #fff; }
.sharemenu__title { grid-column: 1 / -1; margin: 0 0 2px; font: 700 12px var(--body); text-transform: uppercase; letter-spacing: .08em; color: #666; }
.sharemenu__btn { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 8px; border: 0; border-radius: 6px; color: #fff; font: 700 13px var(--cond); text-transform: uppercase; letter-spacing: .03em; cursor: pointer; }
.sharemenu__btn:hover { text-decoration: none; filter: brightness(1.1); color: #fff; }
/* the menu sits inside .leadbuttons; don't inherit its row styling */
.leadbuttons .sharemenu__btn { padding: 8px; font-size: 13px; border-top: 0; }
.leadbuttons .sharemenu__btn::after { content: none; }
.sharemenu__btn--fb { background: #1877f2; }
.sharemenu__btn--x { background: #111; }
.sharemenu__btn--sms { background: #2fbf4a; }
.sharemenu__btn--mail { background: #555; }
.sharemenu__btn--copy { grid-column: 1 / -1; background: var(--red); }
.sharemenu__btn--copy.is-done { background: #2fbf4a; }
.sharemenu__preview { grid-column: 1 / -1; display: grid; grid-template-columns: 96px 1fr; gap: 10px; align-items: center; margin-top: 4px; padding: 8px; border: 1px solid #e3e3e3; border-radius: 6px; background: #f6f6f6; }
.sharemenu__preview img { width: 96px; height: 54px; object-fit: cover; border-radius: 4px; }
.sharemenu__preview span { display: flex; flex-direction: column; min-width: 0; }
.sharemenu__preview strong { font: 700 13px/1.25 var(--cond); color: #111; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sharemenu__preview small { font-size: 11px; color: #777; text-transform: lowercase; }

.tabs__bar { display: flex; background: #1b1b1b; }
.tabs__bar button { border: 0; background: transparent; color: var(--red); padding: 13px 18px; font: 400 16px/1 var(--cond); text-transform: uppercase; cursor: pointer; }
.tabs__bar button.is-active { background: #000; font-weight: 700; }
.tabs__panel { display: none; background: #000; padding: 0; }
.tabs__panel.is-active { display: block; }
.vdp__info { display: grid; grid-template-columns: 1fr 380px; }
.vdp__desc { padding: 16px 20px; border-right: 1px solid #1b1b1b; font: 400 13px/1.5 var(--cond); }
.vdp__desc h3 { color: var(--red); font: 400 24px var(--cond); }
.highlights { list-style: none; margin: 0; padding: 14px 20px; background: #111; font: 400 13px/1.6 var(--cond); }
.highlights li { display: flex; justify-content: space-between; gap: 12px; }
.highlights li span:last-child { font-weight: 700; text-align: right; }
.highlights li.is-sale span { color: var(--red); }
.photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; padding: 12px; }
.spec-table { width: 100%; border-collapse: collapse; font: 400 13px var(--cond); margin: 0 0 14px; }
.spec-table caption { text-align: left; background: #1b1b1b; color: var(--red); padding: 8px 12px; font-weight: 700; text-transform: uppercase; }
.spec-table th, .spec-table td { padding: 6px 12px; border-bottom: 1px solid #1b1b1b; text-align: left; }
.spec-table th { width: 40%; color: var(--muted); font-weight: 400; }
.video { aspect-ratio: 16 / 9; }
.video iframe { width: 100%; height: 100%; border: 0; }
.related { margin-top: 30px; }
.related h2 { color: var(--red); font: 400 24px var(--cond); }
.related__grid { display: grid; grid-template-columns: repeat(4, 205px); gap: 30px; }
.related__grid a { color: #fff; font: 400 13px var(--cond); }
.related__grid img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; margin-bottom: 10px; }
.disclaimer { font: 400 13px/1.5 var(--body); margin: 34px 15px 0; }

/* ---------------------------------------------------------------- forms (multi-step) */
.formpage { max-width: 940px; margin: 0 auto; padding: 22px 30px 34px; }
.formpage__head { margin-bottom: 18px; }
.formpage__head .page-title { margin-bottom: 6px; }
.form-intro { font-size: 17px; color: #ccc; margin: 0; }
.form-unit { display: flex; gap: 6px 16px; align-items: baseline; flex-wrap: wrap; background: #151515; border: 1px solid #262626; border-left: 4px solid var(--red); padding: 12px 16px; margin-bottom: 22px; color: #fff; }
.form-unit:hover { text-decoration: none; border-color: #3a3a3a; }
.form-unit__label { flex-basis: 100%; font: 700 11px var(--body); text-transform: uppercase; letter-spacing: .08em; color: #999; }
.form-unit strong { font: 700 18px var(--cond); }
.form-unit .price { color: var(--red); font: 700 18px var(--cond); margin-left: auto; }
.hp { position: absolute; left: -9999px; }
.req { color: var(--red); }
.opt { color: #777; font-weight: 400; font-size: 12px; text-transform: lowercase; }
.required-note { font-size: 13px; color: var(--muted); margin: 0; }

/* stepper: numbered circles joined by a track that fills red */
.stepper { --n: 1; position: relative; display: flex; justify-content: space-between; list-style: none; margin: 0 0 22px; padding: 0; counter-reset: step; }
.stepper::before, .stepper::after { content: ""; position: absolute; top: 19px; left: 20px; right: 20px; height: 4px; border-radius: 2px; background: #2a2a2a; }
.stepper::after { right: auto; width: calc((100% - 40px) * var(--progress-ratio, 0)); background: var(--red); transition: width .35s cubic-bezier(.2,.7,.2,1); }
.stepper__item { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1; min-width: 0; cursor: default; outline: none; }
.stepper__item:first-child { align-items: flex-start; }
.stepper__item:last-child { align-items: flex-end; }
.stepper__dot { position: relative; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #1b1b1b; border: 3px solid #333; color: #888; font: 400 18px/1 var(--display); transition: background .25s, border-color .25s, color .25s, transform .25s, box-shadow .25s; }
.stepper__check { position: absolute; width: 20px; height: 20px; opacity: 0; transform: scale(.4); transition: opacity .2s, transform .25s; }
.stepper__label { font: 700 12px/1.2 var(--cond); text-transform: uppercase; letter-spacing: .05em; color: #777; text-align: center; max-width: 120px; transition: color .2s; }
.stepper__item:first-child .stepper__label { text-align: left; }
.stepper__item:last-child .stepper__label { text-align: right; }
.stepper__item.is-current .stepper__dot { background: var(--red); border-color: var(--red); color: #fff; transform: scale(1.08); box-shadow: 0 0 0 6px rgba(247,21,43,.18); }
.stepper__item.is-current .stepper__label { color: #fff; }
.stepper__item.is-done .stepper__dot { background: #1b1b1b; border-color: var(--red); color: var(--red); }
.stepper__item.is-done .stepper__num { opacity: 0; }
.stepper__item.is-done .stepper__check { opacity: 1; transform: none; }
.stepper__item.is-done .stepper__label { color: #ccc; }
.stepper__item.is-done, .stepper__item.is-reachable { cursor: pointer; }
.stepper__item.is-done:hover .stepper__dot, .stepper__item:focus-visible .stepper__dot { box-shadow: 0 0 0 4px rgba(255,255,255,.15); }
.stepper__mobile { display: none; }

/* step cards */
.wizard__stage { position: relative; }
.wstep { position: relative; background: #121212; border: 1px solid #262626; border-top: 3px solid var(--red); padding: 22px 26px 24px; margin-bottom: 18px; box-shadow: 0 16px 34px rgba(0,0,0,.35); }
.wstep::before { content: ""; position: absolute; right: 0; top: 0; width: 120px; height: 120px; background: radial-gradient(circle at 100% 0, rgba(247,21,43,.10), transparent 70%); pointer-events: none; }
.wstep__head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 18px; }
.wstep__icon { flex: none; width: 52px; height: 52px; display: grid; place-items: center; color: #fff; background: var(--red);
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); }
.wstep__icon svg { width: 24px; height: 24px; }
.wstep__count { display: block; font: 700 11px var(--body); text-transform: uppercase; letter-spacing: .1em; color: var(--red); margin-bottom: 2px; }
.wstep__head h2 { font: 400 28px/1.05 var(--display); text-transform: uppercase; color: #fff; margin: 0; }
.wstep__hint { margin: 6px 0 0; color: #aaa; font-size: 15px; }
.wstep__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 22px; }
.wstep__nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #222; }
.btn--ghost { background: transparent; color: #ccc; border: 1px solid #3a3a3a; }
.btn--ghost:hover { color: #fff; border-color: #666; }
.btn.is-busy { opacity: .7; pointer-events: none; }

/* fields */
.field { display: flex; flex-direction: column; padding-bottom: 6px; }
.field label { display: block; font: 700 14px var(--cond); color: #ddd; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .03em; }
.field input, .field select, .field textarea { width: 100%; padding: 11px 12px; border: 1px solid #3a3a3a; border-radius: 4px; background: #f7f7f7; color: #111; font: 400 16px var(--cond); transition: box-shadow .15s, border-color .15s, background .15s; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; background: #fff; border-color: var(--red); box-shadow: 0 0 0 3px rgba(247,21,43,.35); }
.field--wide { grid-column: 1 / -1; }
.field__error { min-height: 18px; margin: 4px 0 0; color: #ff6b78; font: 600 13px var(--body); }
.field.has-error input, .field.has-error select, .field.has-error textarea { border-color: #ff4d5e; box-shadow: 0 0 0 2px rgba(255,77,94,.35); }
.checkline { display: flex !important; gap: 12px; align-items: flex-start; text-transform: none !important; letter-spacing: 0 !important; font: 400 15px/1.45 var(--body) !important; color: #ddd !important; cursor: pointer; }
.checkline input { flex: none; width: 20px !important; height: 20px; margin-top: 2px; accent-color: var(--red); padding: 0 !important; }

/* non-wizard / no-JS submit row */
.wizard__submit { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 6px; }
.wizard.is-js.wizard--steps .wizard__submit { display: none; }
.wizard.is-js .wstep[hidden] { display: none; }
.wizard:not(.is-js) .wstep--review { display: none; }
.wizard:not(.is-js) .wstep__nav { display: none; }

/* review */
.review { display: grid; gap: 12px; }
.review__card { background: #0c0c0c; border: 1px solid #262626; padding: 14px 16px; }
.review__head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.review__num { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font: 400 13px var(--display); }
.review__head h3 { flex: 1; margin: 0; font: 400 18px var(--display); text-transform: uppercase; color: #fff; }
.review__edit { background: none; border: 0; color: var(--red); font: 700 13px var(--cond); text-transform: uppercase; letter-spacing: .05em; cursor: pointer; }
.review dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.review__row { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid #1f1f1f; font-size: 15px; }
.review__row dt { color: #999; }
.review__row dd { margin: 0; color: #fff; text-align: right; overflow-wrap: anywhere; }

/* success */
.wdone { text-align: center; padding: 36px 20px 30px; background: #121212; border: 1px solid #262626; border-top: 3px solid #2fbf4a; }
.wdone__badge { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: #2fbf4a; color: #fff; margin-bottom: 14px; box-shadow: 0 0 0 10px rgba(47,191,74,.15); animation: pop .45s cubic-bezier(.2,.9,.3,1.4); }
.wdone__badge svg { width: 36px; height: 36px; }
@keyframes pop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.wdone h2 { font: 400 30px var(--display); text-transform: uppercase; }
.wdone p { font-size: 17px; color: #ccc; }
.wdone__actions { display: flex; gap: 10px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }
.alert { padding: 14px 18px; margin-bottom: 18px; }
.alert--ok { background: #13361c; border-left: 4px solid #3c3; }
.alert--err { background: #3a1010; border-left: 4px solid var(--red); }
.alert ul { margin: 0; padding-left: 18px; }

/* ---------------------------------------------------------------- footer */
.footer { background: #1b1b1b; margin-top: 30px; padding: 60px 0 30px; color: #fff; font: 400 15px/1.35 var(--body); }
.footer__grid { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 0; }
.footer__col { padding: 0 30px; }
.footer__col:first-child { padding-left: 15px; }
.footer__col--mid { border-left: 1px dotted #555; border-right: 1px dotted #555; }
.footer h4 { color: var(--red); font: 400 18px/1 var(--display); text-transform: uppercase; margin: 0 0 14px; }
.footer h4:not(:first-child) { margin-top: 30px; }
.footer address { font-style: normal; text-transform: uppercase; }
.footer address a { color: #fff; }
.footer__links-inline { display: flex; gap: 22px; margin: 20px 0 50px; }
.footer__links-inline a, .footer__email { color: #fff; font-weight: 700; text-transform: uppercase; font-size: 14px; }
.footer__links-inline .ico, .footer__email .ico { color: var(--red); }
.footer__logo { max-width: 220px; }
.hours { border-collapse: collapse; }
.hours td { padding: 0 60px 0 0; vertical-align: top; }
.quicklinks { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px; }
.quicklinks--single { columns: 1; }
.quicklinks a { color: #fff; text-transform: uppercase; font-size: 14px; }
.footer .social { margin-bottom: 14px; }
.footer .social a { border-radius: 50%; width: 36px; height: 36px; font-size: 22px; }
.footer__legal { display: flex; justify-content: space-between; margin-top: 50px; font: 400 10px/1 Arial, sans-serif; color: #777; text-transform: uppercase; }
.footer__legal a { color: #777; }

/* ---------------------------------------------------------------- fixed brand bar */
.brandbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: rgba(51,51,51,.92); border-top: 1px solid #444; }
.brandbar__inner { display: flex; justify-content: space-between; align-items: center; height: 62px; gap: 10px; }
.brandbar a { flex: 1; display: flex; justify-content: center; }
.brandbar img { max-height: 44px; max-width: 130px; width: auto; filter: grayscale(1) brightness(2); transition: filter .2s; }
.brandbar a:hover img { filter: none; }

/* ---------------------------------------------------------------- notice popup */
.notice { position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.6); display: grid; place-items: start center; padding-top: 4vh; }
.notice[hidden] { display: none; }
.notice__dialog { position: relative; width: min(610px, 94vw); background: #fff; color: #222; font: 400 14px/1.5 Arial, sans-serif; box-shadow: 0 10px 40px rgba(0,0,0,.6); }
.notice__header { background: repeating-linear-gradient(-45deg, #b49700 0 18px, #1d1d1d 18px 36px); padding: 26px 20px; text-align: center; }
.notice__header h2 { display: inline-block; background: #1d1d1d; color: #eee; font: 400 64px/1 var(--display); text-transform: uppercase; padding: 4px 16px; margin: 0; }
.notice__body { padding: 16px 20px 20px; }
.notice__body .msh-notice__heading { font-size: 20px; text-align: center; }
.notice__body .msh-notice__subheading { font-size: 17px; text-align: center; margin-bottom: 14px; }
.notice__body a { color: #d32f2f; }
.notice__close { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border: 0; background: #eee; font-size: 22px; line-height: 1; cursor: pointer; z-index: 1; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1200px) and (min-width: 992px) {
  .hero { grid-template-columns: 270px minmax(0, 1fr); }
  .welcome { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
}

@media (max-width: 991px) {
  .topbar__inner { justify-content: center; padding: 8px 15px; }
  .topbar { --topbar-h: 40px; }
  .topbar__search input { width: 170px; }
  .topbar .social a { font-size: 26px; }
  .topbar__address { font-size: 12.5px; white-space: nowrap; }
  .topbar__address .sep, .topbar__address a { display: none; }
  .topbar__right { flex-wrap: wrap; justify-content: center; gap: 10px; }
  .topbar__phone { font-size: 16px; }
  .masthead, .masthead__inner { min-height: 120px; height: 120px; }
  .masthead__phone { left: 18px; bottom: 7px; }
  .masthead__phone span { font-size: 20px; -webkit-text-stroke-width: 3px; }
  .masthead__phone span::before { -webkit-text-stroke-width: 7px; text-shadow: 2px 3px 0 #0b0b0b; }
  .callpill { display: none; }
  .mainnav .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .mainnav__menu { flex-basis: 100%; }
  .mainnav__call { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--red); color: #fff; font: 400 16px/1 var(--display); text-transform: uppercase; }
  .mainnav__call:hover { text-decoration: none; color: #fff; }
  .mobilebar { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(14,14,14,.96); border-top: 1px solid #2a2a2a; backdrop-filter: blur(6px); }
  .mobilebar__call { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 14px; border-radius: 10px; background: var(--red); color: #fff; box-shadow: 0 3px 0 #8a0010; }
  .mobilebar__call:hover, .mobilebar__call:active { text-decoration: none; color: #fff; }
  .mobilebar__call:active { transform: translateY(2px); box-shadow: 0 1px 0 #8a0010; }
  .mobilebar__call > .ico { font-size: 22px; flex: none; }
  .mobilebar__call span { display: flex; flex-direction: column; line-height: 1.1; min-width: 0; }
  .mobilebar__call strong { font: 400 19px/1.1 var(--display); letter-spacing: .02em; white-space: nowrap; }
  .mobilebar__call small { display: inline-flex; align-items: center; gap: 5px; font: 500 11px/1.3 var(--body); text-transform: uppercase; letter-spacing: .03em; opacity: .9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mobilebar__call .dot { background: rgba(255,255,255,.6); }
  .mobilebar__call.is-open .dot { background: #7dff8c; }
  .mobilebar__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 70px; min-height: 52px; border-radius: 10px; background: #262626; color: #fff; font: 600 11px/1 var(--body); text-transform: uppercase; letter-spacing: .03em; }
  .mobilebar__btn .ico { font-size: 18px; color: var(--red); }
  .mobilebar__btn:hover { text-decoration: none; color: #fff; background: #2f2f2f; }
  .brandbar { display: none; }
  .masthead__mascot { display: none; }
  .mainnav__toggle { display: flex; align-items: center; gap: 10px; background: transparent; border: 0; color: #fff; font: 400 20px var(--display); text-transform: uppercase; padding: 12px 0; cursor: pointer; }
  .burger, .burger::before, .burger::after { display: block; width: 22px; height: 2px; background: #fff; position: relative; }
  .burger::before, .burger::after { content: ""; position: absolute; left: 0; }
  .burger::before { top: -7px; }
  .burger::after { top: 7px; }
  .mainnav__menu { display: none; flex-direction: column; }
  .mainnav.is-open .mainnav__menu { display: flex; }
  .mainnav__menu > li + li::before { display: none; }
  .mainnav__menu > li > a { padding: 10px 0; }
  .sub { position: static; box-shadow: none; border: 0; display: block; padding: 0 0 6px 12px; background: transparent; }
  .hero { grid-template-columns: 1fr; }
  .hero__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; order: 2; }
  .hero__buttons a { font-size: 22px; padding: 14px 16px; }
  .hero__arrow { width: 28px; height: 28px; }
  .promo { grid-template-columns: 1fr 1fr; gap: 10px; }
  .promo__card { min-height: 0; padding: 10px; }
  .promo__card img { max-height: 130px; }
  .featured > * { margin-left: 14px; margin-right: 14px; }
  .featured__cols { grid-template-columns: 1fr; }
  .section-title { font-size: 26px; }
  .section-head__link { display: none; }
  .welcome { grid-template-columns: 1fr; gap: 24px; }
  .socialrow__page { grid-template-columns: 1fr; }
  .socialrow__follow { display: none; }
  .visit { position: static; }
  .inv-layout { grid-template-columns: 1fr; }
  .inv-search { flex-basis: 100%; }
  .facets { position: fixed; z-index: 60; top: 0; bottom: 0; left: 0; width: min(340px, 88vw); max-height: none; transform: translateX(-102%); transition: transform .28s cubic-bezier(.2,.7,.2,1); padding-bottom: 80px; }
  .inv.filters-open .facets { transform: none; box-shadow: 10px 0 40px rgba(0,0,0,.6); }
  .facets__close { display: block; background: none; border: 0; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
  .facets__apply { display: flex; position: fixed; bottom: 0; left: 0; width: min(340px, 88vw); padding: 14px; z-index: 61; }
  .inv.filters-open .facets__apply { display: flex; }
  .inv:not(.filters-open) .facets__apply { display: none; }
  .facets-scrim { position: fixed; inset: 0; z-index: 55; background: rgba(0,0,0,.55); }
  .inv-bar__filters { display: inline-flex; }
  .inv-bar__sort span { display: none; }
  .burger--sm, .burger--sm::before, .burger--sm::after { width: 14px; }
  .burger--sm::before { top: -5px; } .burger--sm::after { top: 5px; }
  .suggest--header { width: auto; left: 0; right: 0; }
  .unit { grid-template-columns: 1fr; }
  .inv-list.is-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .unit__head { grid-template-columns: 1fr; }
  .pricebox { grid-row: auto; }
  .unit__specs { grid-template-columns: 1fr 1fr; }
  .unit__aside { display: none; }
  .unit__buttons { grid-template-columns: 1fr 1fr; }
  .vdp__top, .vdp__info { grid-template-columns: 1fr; padding-left: 0; }
  .related__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .footer__grid { grid-template-columns: 1fr; gap: 30px; }
  .footer__col, .footer__col:first-child { padding: 0 15px; border: 0; }
  .footer__legal { flex-direction: column; gap: 10px; }
  .formpage { padding: 16px 14px 24px; }
  .wstep { padding: 18px 16px 20px; }
  .wstep__grid { grid-template-columns: 1fr; }
  .wstep__head h2 { font-size: 24px; }
  .wstep__icon { width: 44px; height: 44px; }
  .stepper__label { display: none; }
  .stepper__dot { width: 34px; height: 34px; font-size: 15px; }
  .stepper::before, .stepper::after { top: 15px; }
  .stepper__mobile { display: block; margin: -10px 0 16px; font: 700 13px var(--cond); text-transform: uppercase; letter-spacing: .05em; color: #ccc; }
  .review dl { grid-template-columns: 1fr; }
  .wstep__nav .btn--lg { padding: 14px 22px; }
  .brandbar img { max-width: 76px; max-height: 26px; }
  .brandbar__inner { height: 46px; overflow-x: auto; justify-content: flex-start; gap: 22px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .brandbar__inner::-webkit-scrollbar { display: none; }
  .brandbar a { flex: 0 0 auto; scroll-snap-align: start; }
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
}

@media print {
  .topbar, .mainnav, .brandbar, .footer, .leadbuttons, .notice, .gallery__nav, .tabs__bar { display: none !important; }
  body { background: #fff; color: #000; }
  .panel, .tabs__panel { background: #fff; display: block !important; }
}
