/**
 * Listing v5 — DRAFT body styles (H1C-v5 design system).
 *
 * Source of truth: docs/design/mockups/pages/page-listing.html (PR #71 branch,
 * Garrett rounds 1-6) + docs/design/DESIGN.md values canon.
 *
 * Namespaced under .lv5 so nothing bleeds into site chrome or the current
 * listing bodies. Enqueued ONLY when the v5 draft gate passes
 * (tbb_listing_v5 meta + ?lv5=1) — see single-bbi_listing.php.
 *
 * Fonts self-hosted (same files the homepage v5 uses). Payments doctrine
 * (Garrett 2026-08-17): financing panel is OUT-THE-DOOR based; "ASKING" is
 * banned; Havasu Ready inclusions = trailer + engine + Lake Test Drive +
 * professional orientation; inspection is a CHARGE, never an inclusion.
 */

@font-face {
  font-family: 'InterV5';
  src: url('../fonts/inter/inter-latin-var.woff2') format('woff2');
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'HoboV5';
  src: url('../fonts/hobo.woff2') format('woff2'),
       url('../fonts/hobo.ttf') format('truetype');
  font-display: swap;
}

.lv5 {
  --navy: #1B3A5C;
  --navy-deep: #142A44;
  --red: #C41E3A;
  --red-hover: #A8172F;
  --ink: #1A2A33;
  --secondary: #475569;
  --subtle: #64748B;
  --border: #D2DCE6;
  --surface: #EDF2F7;
  --on-navy-muted: #B8C7D9;
  --success: #2F7D4A;
  --warning: #C97B1A;
  --navy-tint: #EAF0F7;
  --steel: #A5B3BB;
  --hobo: 'HoboV5', 'Hobo', 'Trebuchet MS', sans-serif;
  --inter: 'InterV5', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;

  font-family: var(--inter);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink);
  background: #EDF2F7;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
.lv5, .lv5 *, .lv5 *::before, .lv5 *::after { box-sizing: border-box; }
.lv5 h1, .lv5 h2, .lv5 h3, .lv5 p, .lv5 blockquote, .lv5 figure, .lv5 dl, .lv5 dd, .lv5 ul { margin: 0; padding: 0; }
/* base.css declares p{color:#333} and h1-h3 colors on the element — restore
   inheritance inside the v5 scope (same fix as homepage v5). */
.lv5 p { color: inherit; }
.lv5 img { max-width: 100%; display: block; border: 0; }
.lv5 a { text-decoration: none; color: inherit; }
.lv5 .wrap { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

.lv5 .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--inter);
  font-weight: 700; font-size: 17px;
  padding: 17px 34px; border-radius: 12px;
  transition: background 120ms ease-in-out, transform 120ms ease-in-out;
  cursor: pointer; border: 0;
}
.lv5 .btn-red { background: var(--red); color: #FFFFFF; }
.lv5 .btn-red:hover { background: var(--red-hover); color: #FFFFFF; transform: translateY(-1px); }
.lv5 .btn-navy { background: var(--navy); color: #FFFFFF; }
.lv5 .btn-navy:hover { background: var(--navy-deep); color: #FFFFFF; transform: translateY(-1px); }
.lv5 .btn-navy-outline {
  border: 2px solid var(--navy); color: var(--navy); background: transparent;
  padding: 15px 32px;
  transition: background 120ms ease-in-out, color 120ms ease-in-out;
}
.lv5 .btn-navy-outline:hover { background: var(--navy); color: #FFFFFF; }
.lv5 .ico { width: 24px; height: 24px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }

/* ── Crumb band ─────────────────────────────────────────── */
.lv5 .crumbband { background: linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%); color: #FFFFFF; padding: 16px 0; }
.lv5 .crumbs { font-size: 13.5px; font-weight: 600; color: var(--on-navy-muted); }
.lv5 .crumbs a:hover { color: #FFFFFF; }
.lv5 .crumbs .cur { color: #FFFFFF; }

/* ── Layout ─────────────────────────────────────────────── */
.lv5 .listing { padding: 40px 0 96px; }
.lv5 .listing-grid { display: grid; grid-template-columns: 1.62fr 1fr; gap: 44px; align-items: start; }

/* ── Share / Print page actions ─────────────────────────── */
.lv5 .pageacts { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 14px; }
.lv5 .pageact {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--border); border-radius: 10px;
  background: #FFFFFF;
  padding: 9px 16px;
  font-size: 14px; font-weight: 700; color: var(--navy);
  cursor: pointer;
  transition: border-color 120ms ease-in-out, box-shadow 120ms ease-in-out;
}
.lv5 .pageact:hover { border-color: var(--navy); box-shadow: 0 4px 30px rgba(0,0,0,.08); }
.lv5 .pageact .ico { width: 17px; height: 17px; }

/* ── Gallery ────────────────────────────────────────────── */
.lv5 .gal-hero { position: relative; border-radius: 20px; overflow: hidden; background: var(--navy-tint); aspect-ratio: 4 / 3; }
.lv5 .gal-hero img { width: 100%; height: 100%; object-fit: cover; }
.lv5 .gal-badge {
  position: absolute; top: 16px; left: 16px;
  background: var(--red); color: #FFFFFF;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 8px 13px; border-radius: 4px;
}
.lv5 .gal-count {
  position: absolute; right: 16px; bottom: 16px;
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(20,42,68,.85); color: #FFFFFF;
  font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
  padding: 8px 14px; border-radius: 999px;
}
.lv5 .gal-count .ico { width: 16px; height: 16px; }
.lv5 .gal-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 10px; }
.lv5 .gal-thumb { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--navy-tint); border: 1px solid var(--border); padding: 0; cursor: pointer; }
.lv5 .gal-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lv5 .gal-thumb.sel { outline: 2px solid var(--navy); outline-offset: 1px; }
.lv5 .gal-more {
  display: flex; align-items: center; justify-content: center;
  font-size: 14.5px; font-weight: 800; color: var(--navy);
  background: var(--navy-tint);
}

/* ── Title block ────────────────────────────────────────── */
.lv5 .t-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 26px 0 12px; }
.lv5 .t-chip {
  font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  color: var(--navy); background: var(--navy-tint);
  padding: 6px 12px; border-radius: 4px;
}
.lv5 .t-chip.ok { color: var(--success); background: #EAF5EE; }
.lv5 h1.t-title { font-family: var(--hobo); font-weight: 400; font-size: 44px; line-height: 1.1; color: var(--ink); margin-bottom: 8px; }
.lv5 .t-meta { font-size: 14.5px; font-weight: 600; color: var(--subtle); font-variant-numeric: tabular-nums; }
.lv5 .t-meta strong { color: var(--secondary); }

/* ── Quick facts spec plate ─────────────────────────────── */
.lv5 .facts {
  display: grid; grid-template-columns: repeat(6, 1fr);
  background: #F4F7FA; border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden;
  margin: 22px 0 30px;
}
.lv5 .facts div { padding: 13px 15px; }
.lv5 .facts div + div { border-left: 1px solid var(--border); }
.lv5 .facts dt { font-size: 10.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--subtle); margin-bottom: 2px; }
.lv5 .facts dd { font-size: 15.5px; font-weight: 700; color: var(--navy); font-variant-numeric: tabular-nums; line-height: 1.3; }

/* ── Sections ───────────────────────────────────────────── */
/* Contrast tune (Garrett 2026-08-18): sections are white cards on the cool
   canvas so content blocks stand out instead of washing into the page. */
.lv5 .sec {
  margin-bottom: 44px;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 22px 24px;
  box-shadow: 0 6px 28px rgba(20, 42, 68, .10);
}
.lv5 .sec-h { font-family: var(--hobo); font-weight: 400; font-size: 29px; line-height: 1.12; color: var(--ink); margin-bottom: 16px; }
.lv5 .eyebrow {
  font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--red); margin-bottom: 8px;
}
.lv5 .prose { max-width: 68ch; color: var(--secondary); font-size: 16.5px; }
.lv5 .prose + .prose { margin-top: 12px; }

/* ── Honest disclosure ──────────────────────────────────── */
.lv5 .honest { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 22px; }
.lv5 .honest-col { border: 1px solid var(--border); border-radius: 20px; padding: 24px 26px; background: #FFFFFF; box-shadow: 0 4px 30px rgba(0,0,0,.08); }
.lv5 .honest-h { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 14px; }
.lv5 .honest-love .honest-h { color: var(--success); }
.lv5 .honest-know .honest-h { color: var(--warning); }
.lv5 .honest-col ul { list-style: none; }
.lv5 .honest-col li { position: relative; padding-left: 26px; font-size: 15.5px; color: var(--secondary); margin-bottom: 10px; line-height: 1.5; }
.lv5 .honest-col li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 50%; }
.lv5 .honest-love li::before { background: var(--success); }
.lv5 .honest-know li::before { background: var(--warning); }
.lv5 .honest-disc { margin-top: 12px; font-size: 13.5px; color: var(--subtle); font-style: italic; }

/* ── Stats / integrity / legal note / video ─────────────── */
.lv5 .unit-stats { display: flex; gap: 26px; margin-top: 20px; }
.lv5 .unit-stat { display: inline-flex; align-items: center; gap: 9px; font-size: 14.5px; color: var(--secondary); }
.lv5 .unit-stat .ico { width: 18px; height: 18px; stroke: var(--subtle); }
.lv5 .unit-stat strong { font-size: 16px; color: var(--ink); font-variant-numeric: tabular-nums; }
.lv5 .integrity {
  display: flex; gap: 16px; align-items: flex-start;
  background: var(--navy-tint); border-left: 4px solid var(--navy);
  border-radius: 0 12px 12px 0;
  padding: 20px 24px; margin-top: 22px;
}
.lv5 .integrity-flag { flex: none; margin-top: 2px; }
.lv5 .integrity-body { font-size: 15px; line-height: 1.65; color: var(--secondary); }
.lv5 .integrity-body strong { color: var(--navy); }
.lv5 .integrity-motto { margin-top: 8px; font-size: 14.5px; font-style: italic; font-weight: 600; color: var(--navy); }
.lv5 .legalnote {
  border: 1px solid var(--border); border-left: 4px solid var(--navy);
  border-radius: 0 12px 12px 0;
  background: var(--surface);
  padding: 18px 22px; margin-top: 14px;
  font-size: 14px; color: var(--secondary); line-height: 1.6;
}
.lv5 .legalnote-h { font-weight: 800; color: var(--ink); font-size: 14.5px; margin-bottom: 6px; }
.lv5 .vid { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--navy-deep); }
.lv5 .vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lv5 .vid-cap { margin-top: 12px; font-size: 14.5px; color: var(--secondary); max-width: 68ch; }
.lv5 .vid-cap a { font-weight: 700; color: var(--navy); }

/* ── Out-the-door ───────────────────────────────────────── */
.lv5 .otd { border: 1px solid var(--border); border-radius: 20px; overflow: hidden; box-shadow: 0 4px 30px rgba(0,0,0,.08); }
.lv5 .otd-head { background: linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%); color: #FFFFFF; padding: 22px 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.lv5 .otd-head-h { font-family: var(--hobo); font-weight: 400; font-size: 24px; color: #FFFFFF; }
.lv5 .otd-head-sub { font-size: 13.5px; color: var(--on-navy-muted); }
.lv5 .otd-toggle { display: inline-flex; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; overflow: hidden; }
.lv5 .otd-toggle button { padding: 9px 18px; font-size: 13.5px; font-weight: 700; background: transparent; color: #FFFFFF; border: 0; cursor: pointer; font-family: var(--inter); }
.lv5 .otd-toggle button.on { background: #FFFFFF; color: var(--navy); }
.lv5 .otd-body { padding: 8px 28px 24px; }
.lv5 .otd-row { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border); font-size: 15.5px; }
.lv5 .otd-row .lbl { color: var(--secondary); }
.lv5 .otd-row .lbl small { display: block; font-size: 12.5px; color: var(--subtle); }
.lv5 .otd-row .val { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lv5 .otd-total { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 18px 0 4px; }
.lv5 .otd-total .lbl { font-size: 14px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--success); }
.lv5 .otd-total .val { font-size: 30px; font-weight: 800; color: var(--success); font-variant-numeric: tabular-nums; }
.lv5 .otd-fine { padding: 0 28px 22px; font-size: 12.5px; color: var(--subtle); }

/* ── Financing ──────────────────────────────────────────── */
.lv5 .fin { border: 1px solid var(--border); border-radius: 20px; padding: 28px; box-shadow: 0 4px 30px rgba(0,0,0,.08); }
.lv5 .fin-sliders { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 18px 0 22px; }
.lv5 .fin-slider-lbl { display: flex; justify-content: space-between; font-size: 13.5px; font-weight: 700; color: var(--secondary); margin-bottom: 10px; }
.lv5 .fin-slider-lbl strong { color: var(--navy); font-variant-numeric: tabular-nums; }
.lv5 .fin input[type="range"] { width: 100%; accent-color: var(--navy); }
.lv5 .fin-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lv5 .fin-tile { background: #F4F7FA; border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; }
.lv5 .fin-tile dt { font-size: 10.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--subtle); margin-bottom: 3px; }
.lv5 .fin-tile dd { font-size: 20px; font-weight: 800; color: var(--navy); font-variant-numeric: tabular-nums; }
.lv5 .fin-tile.hot { background: var(--navy); border-color: var(--navy); }
.lv5 .fin-tile.hot dt { color: var(--on-navy-muted); }
.lv5 .fin-tile.hot dd { color: #FFFFFF; }
.lv5 .fin-caption { margin-top: 12px; font-size: 13px; color: var(--subtle); font-variant-numeric: tabular-nums; }
.lv5 .fin-ctas { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }

/* ── Full specs ─────────────────────────────────────────── */
.lv5 .metrics { display: grid; grid-template-columns: repeat(4, 1fr); background: #F4F7FA; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin-bottom: 22px; }
.lv5 .metrics div { padding: 16px 18px; }
.lv5 .metrics div + div { border-left: 1px solid var(--border); }
.lv5 .metrics dt { font-size: 10.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--subtle); margin-bottom: 3px; }
.lv5 .metrics dd { font-size: 19px; font-weight: 800; color: var(--navy); font-variant-numeric: tabular-nums; }
.lv5 .spec-tables { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lv5 .spec-table { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.lv5 .spec-table caption { background: var(--navy); color: #FFFFFF; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: left; padding: 12px 18px; }
.lv5 .spec-table table { width: 100%; border-collapse: collapse; }
.lv5 .spec-table th, .lv5 .spec-table td { text-align: left; padding: 11px 18px; font-size: 14.5px; border-top: 1px solid var(--border); border-bottom: 0; }
.lv5 .spec-table th { font-weight: 600; color: var(--subtle); width: 44%; }
.lv5 .spec-table td { font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.lv5 .spec-table a { color: var(--navy); border-bottom: 1px solid var(--navy-tint); font-weight: 700; }

/* ── Reviews strip ──────────────────────────────────────── */
.lv5 .rev { background: var(--navy); color: #FFFFFF; border-radius: 20px; padding: 30px 34px; display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: center; }
.lv5 .rev-score { text-align: center; }
.lv5 .rev-g { display: flex; justify-content: center; margin-bottom: 8px; }
.lv5 .rev-g svg { width: 22px; height: 22px; background: #FFFFFF; border-radius: 50%; padding: 6px; box-sizing: content-box; }
.lv5 .rev-score .num { font-size: 40px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lv5 .rev-score .stars { display: flex; gap: 3px; justify-content: center; margin: 4px 0 6px; }
.lv5 .rev-score .star { width: 15px; height: 15px; fill: #FFFFFF; }
.lv5 .rev-score .lbl { font-size: 12.5px; color: var(--on-navy-muted); }
.lv5 .rev blockquote { font-size: 16.5px; line-height: 1.55; color: rgba(255,255,255,.94); }
.lv5 .rev .attr { margin-top: 8px; font-size: 14px; font-weight: 700; }
.lv5 .rev .attr span { color: var(--on-navy-muted); font-weight: 500; }
.lv5 .rev-link { display: inline-block; margin-top: 10px; font-size: 14.5px; font-weight: 700; color: #FFFFFF; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 2px; }

/* ── FAQ ────────────────────────────────────────────────── */
.lv5 .faq-item { border: 1px solid var(--border); border-radius: 12px; margin-bottom: 10px; overflow: hidden; }
.lv5 .faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 16px 20px; font-size: 16px; font-weight: 700; color: var(--navy); }
.lv5 .faq-item summary::-webkit-details-marker { display: none; }
.lv5 .faq-item summary .ico { width: 18px; height: 18px; flex: none; }
.lv5 .faq-a { padding: 0 20px 16px; font-size: 15.5px; color: var(--secondary); max-width: 68ch; }

/* ── Similar rail ───────────────────────────────────────── */
.lv5 .sim { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.lv5 .sim-card { background: #FFFFFF; border: 1px solid var(--border); border-radius: 20px; overflow: hidden; box-shadow: 0 4px 30px rgba(0,0,0,.08); transition: box-shadow 180ms ease-in-out, transform 180ms ease-in-out; display: block; }
.lv5 .sim-card:hover { box-shadow: 0 8px 40px rgba(0,0,0,.12); transform: translateY(-3px); }
.lv5 .sim-photo { aspect-ratio: 4 / 3; overflow: hidden; background: var(--navy-tint); }
.lv5 .sim-photo img { width: 100%; height: 100%; object-fit: cover; }
.lv5 .sim-body { padding: 16px 18px 18px; }
.lv5 .sim-title { font-size: 16px; font-weight: 800; line-height: 1.3; margin-bottom: 8px; }
.lv5 .sim-price { font-size: 20px; font-weight: 800; color: var(--red); font-variant-numeric: tabular-nums; }
.lv5 .sim-chip { display: inline-block; margin-top: 8px; font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 4px; font-variant-numeric: tabular-nums; }
.lv5 .sim-chip.less { color: var(--success); background: #EAF5EE; }
.lv5 .sim-chip.step { color: var(--navy); background: var(--navy-tint); }

/* ── Sticky buy rail ────────────────────────────────────── */
.lv5 .rail { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 14px; }
.lv5 .rail-card { background: #FFFFFF; border: 1px solid var(--border); border-radius: 20px; box-shadow: 0 6px 28px rgba(20,42,68,.12); padding: 26px 28px; }
.lv5 .rail-eyebrow { font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--subtle); margin-bottom: 6px; }
.lv5 .rail-price { font-size: 40px; font-weight: 800; color: var(--red); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; line-height: 1.05; }
.lv5 .rail-ttl { font-size: 13px; color: var(--subtle); margin-top: 4px; }
.lv5 .rail-ttl strong { color: var(--success); }
.lv5 .rail-ttl a { font-weight: 700; color: var(--navy); border-bottom: 1px solid var(--navy-tint); }
.lv5 .rail-mo { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); font-size: 15.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lv5 .rail-mo small { display: block; font-weight: 500; font-size: 12.5px; color: var(--subtle); margin-top: 2px; }
.lv5 .rail-warranty { margin-top: 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--success); }
.lv5 .rail-ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.lv5 .rail-ctas .btn { width: 100%; font-size: 16px; padding: 15px 20px; }
.lv5 .rail-deposit-note { font-size: 12px; color: var(--subtle); text-align: center; margin-top: -4px; }
.lv5 .rail-help { font-size: 12.5px; color: var(--subtle); text-align: center; margin-top: 8px; }
.lv5 .rail-links { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 8px; }
.lv5 .rail-links a { font-size: 14px; font-weight: 600; color: var(--navy); display: inline-flex; gap: 8px; align-items: center; }
.lv5 .rail-links a:hover { color: var(--red); }
.lv5 .rail-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.lv5 .rail-trust div { background: #F4F7FA; border: 1px solid var(--border); border-radius: 12px; padding: 12px 10px; text-align: center; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--navy); line-height: 1.4; }
.lv5 .rail-dealer { font-size: 13.5px; color: var(--secondary); line-height: 1.6; }
.lv5 .rail-dealer strong { color: var(--ink); }
.lv5 .rail-dealer a { font-weight: 800; color: var(--navy); font-variant-numeric: tabular-nums; }
.lv5 .rail-reply { margin-top: 6px; font-size: 12.5px; font-weight: 700; color: var(--success); }
.lv5 .rail-close-h { display: none; }

/* ── Photo closer + consign band ────────────────────────── */
.lv5 .closer { position: relative; height: 380px; overflow: hidden; }
.lv5 .closer img { width: 100%; height: 100%; object-fit: cover; }
.lv5 .closer-scrim { position: absolute; inset: 0; background: rgba(27,58,92,.6); }
.lv5 .closer-line { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; color: #FFFFFF; left: 50%; transform: translateX(-50%); width: 100%; }
.lv5 .closer-h { font-family: var(--hobo); font-weight: 400; font-size: 37px; line-height: 1.12; color: #FFFFFF; text-shadow: 0 2px 20px rgba(10,25,42,.5); }
.lv5 .closer-sub { margin-top: 8px; font-size: 16.5px; font-weight: 600; color: rgba(255,255,255,.92); }
.lv5 .consign { background: linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%); color: #FFFFFF; padding: 72px 0; }
.lv5 .consign-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.lv5 .consign-h { font-family: var(--hobo); font-weight: 400; font-size: 33px; line-height: 1.12; max-width: 22ch; color: #FFFFFF; }
.lv5 .consign-sub { margin-top: 8px; font-size: 16px; color: var(--on-navy-muted); max-width: 52ch; }

/* ── Mobile sticky buy bar ──────────────────────────────── */
.lv5 .buybar { display: none; }

@media (prefers-reduced-motion: reduce) {
  .lv5 * { transition: none !important; }
}

/* ── Tablet ─────────────────────────────────────────────── */
@media (max-width: 1023px) {
  .lv5 .listing-grid { grid-template-columns: 1fr; }
  .lv5 .rail { position: static; }
  .lv5 .facts { grid-template-columns: repeat(3, 1fr); }
  .lv5 .facts div:nth-child(4) { border-left: 0; }
}

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  .lv5 { font-size: 16px; }
  .lv5 .wrap { padding: 0 20px; }
  .lv5 .listing { padding: 22px 0 64px; }
  .lv5 h1.t-title { font-size: 31px; }
  .lv5 .gal-thumbs { grid-template-columns: repeat(4, 1fr); }
  .lv5 .gal-thumbs .gal-thumb:nth-child(5) { display: none; }
  .lv5 .facts { grid-template-columns: repeat(2, 1fr); }
  .lv5 .facts div { border-left: 0 !important; border-top: 1px solid var(--border); }
  .lv5 .facts div:nth-child(-n+2) { border-top: 0; }
  .lv5 .honest { grid-template-columns: 1fr; }
  .lv5 .fin-sliders { grid-template-columns: 1fr; gap: 20px; }
  .lv5 .fin-tiles { grid-template-columns: 1fr 1fr; }
  .lv5 .fin { padding: 20px 18px; }
  .lv5 .spec-tables { grid-template-columns: 1fr; }
  .lv5 .metrics { grid-template-columns: repeat(2, 1fr); }
  .lv5 .metrics div { border-left: 0; border-top: 1px solid var(--border); }
  .lv5 .metrics div:nth-child(-n+2) { border-top: 0; }
  .lv5 .rev { grid-template-columns: 1fr; text-align: center; }
  .lv5 .sim { grid-template-columns: 1fr; }
  .lv5 .otd-head { padding: 18px 20px; }
  .lv5 .otd-body, .lv5 .otd-fine { padding-left: 20px; padding-right: 20px; }
  .lv5 .closer { height: 250px; }
  .lv5 .closer-h { font-size: 27px; }
  .lv5 .consign-inner { flex-direction: column; align-items: flex-start; }
  .lv5 .consign .btn { width: 100%; }
  .lv5 .rail-close-h { display: block; font-family: var(--hobo); font-weight: 400; font-size: 28px; line-height: 1.12; margin: 6px 0 2px; }

  .lv5 .buybar {
    position: fixed; inset: auto 0 0 0; z-index: 99998;
    display: flex; align-items: center; gap: 14px;
    background: #FFFFFF; border-top: 1px solid var(--border);
    box-shadow: 0 -8px 30px rgba(10,25,42,.12);
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
  }
  .lv5 .buybar-price { font-size: 21px; font-weight: 800; color: var(--red); font-variant-numeric: tabular-nums; }
  .lv5 .buybar-price small { display: block; font-size: 11px; font-weight: 600; color: var(--subtle); }
  .lv5 .buybar .btn { flex: 1; padding: 14px 16px; font-size: 15.5px; }
}

/* ── Printer one-pager (Garrett spec: logo, Hobo titles, wide spec grid,
      photo strip, one page) — print shows ONLY the sheet. ─────────────── */
.lv5-printsheet { display: none; }
@media print {
  body * { visibility: hidden !important; }
  .lv5-printsheet, .lv5-printsheet * { visibility: visible !important; }
  .lv5-printsheet {
    display: block; position: absolute; left: 0; top: 0; width: 100%;
    font-family: 'InterV5', 'Inter', sans-serif; color: #1A2A33; padding: 20pt 24pt;
    background: #FFFFFF;
  }
  .lv5-printsheet .ps-head { display: flex; justify-content: space-between; align-items: center; border-bottom: 2pt solid #1B3A5C; padding-bottom: 8pt; margin-bottom: 10pt; }
  .lv5-printsheet .ps-headbrand { display: flex; align-items: center; gap: 10pt; }
  .lv5-printsheet .ps-logo { height: 34pt; width: auto; }
  .lv5-printsheet .ps-brand { font-family: 'HoboV5', 'Hobo', sans-serif; font-size: 16pt; color: #1B3A5C; }
  .lv5-printsheet .ps-phone { font-size: 11pt; font-weight: 700; text-align: right; }
  .lv5-printsheet .ps-phone small { display: block; font-weight: 500; font-size: 8.5pt; color: #475569; }
  .lv5-printsheet .ps-title { font-family: 'HoboV5', 'Hobo', sans-serif; font-weight: 400; font-size: 19pt; margin-bottom: 2pt; }
  .lv5-printsheet .ps-meta { font-size: 9pt; color: #475569; margin-bottom: 8pt; }
  .lv5-printsheet .ps-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 12pt; margin-bottom: 8pt; }
  .lv5-printsheet .ps-photo img { width: 100%; max-height: 150pt; object-fit: cover; border: 1pt solid #E5E7EB; }
  .lv5-printsheet .ps-thumbs { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5pt; margin-top: 5pt; }
  .lv5-printsheet .ps-thumbs img { width: 100%; height: 52pt; object-fit: cover; border: 1pt solid #E5E7EB; }
  .lv5-printsheet .ps-price { font-size: 19pt; font-weight: 800; color: #C41E3A; }
  .lv5-printsheet .ps-inc { font-size: 8.5pt; color: #2F7D4A; font-weight: 700; margin-bottom: 6pt; }
  .lv5-printsheet .ps-pay { font-size: 10.5pt; font-weight: 700; margin-bottom: 7pt; }
  .lv5-printsheet .ps-pay small { display: block; font-weight: 400; font-size: 8pt; color: #64748B; }
  .lv5-printsheet .ps-otd { font-size: 9.5pt; margin-bottom: 6pt; }
  .lv5-printsheet .ps-sech { font-family: 'HoboV5', 'Hobo', sans-serif; font-weight: 400; font-size: 12pt; color: #1B3A5C; margin: 6pt 0 5pt; }
  .lv5-printsheet .ps-specgrid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1pt solid #E5E7EB; border-radius: 6pt; overflow: hidden; margin-bottom: 8pt; }
  .lv5-printsheet .ps-spec { padding: 5pt 7pt; border-right: .5pt solid #E5E7EB; border-bottom: .5pt solid #E5E7EB; }
  .lv5-printsheet .ps-spec dt { font-size: 6.5pt; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: #64748B; margin-bottom: 1pt; }
  .lv5-printsheet .ps-spec dd { font-size: 9pt; font-weight: 700; color: #1B3A5C; }
  .lv5-printsheet .ps-foot { border-top: 1pt solid #E5E7EB; padding-top: 6pt; font-size: 8.5pt; color: #475569; display: flex; justify-content: space-between; gap: 8pt; align-items: center; }
  .lv5-printsheet .ps-seal { height: 30pt; width: 30pt; }
}

/* ── Chrome co-existence on lv5 preview pages ONLY (sheet is double-gated):
   the v5 body ends with its own closer + consign bands, so the classic
   footer's lead form + AEO FAQ stacked after them read as a second site
   ending (Garrett live-draft catch 2026-08-17). Suppress those two bands and
   the footer's light top strip here; the classic footer's columns, locations,
   trust and legal rows remain. Classic pages untouched. */
body .tbb-footer__lead-band { display: none; }
body .tbb-footer__aeo { display: none; }
body .tbb-footer { border-top: 0; padding-top: 0; }
body .tbb-footer::before { display: none; }

/* ── Financing slider track/thumb (match the mockup's navy control) ──── */
.lv5 .fin input[type="range"] { -webkit-appearance: none; appearance: none; height: 6px; border-radius: 999px; background: var(--navy-tint); }
.lv5 .fin input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #FFFFFF; border: 2px solid var(--navy); box-shadow: 0 2px 8px rgba(10,25,42,.25); cursor: pointer; }
.lv5 .fin input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #FFFFFF; border: 2px solid var(--navy); box-shadow: 0 2px 8px rgba(10,25,42,.25); cursor: pointer; }
.lv5 .fin input[type="range"]::-moz-range-track { height: 6px; border-radius: 999px; background: var(--navy-tint); }

/* ── What's Included list ─────────────────────────────── */
.lv5 .incl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 28px; max-width: 760px; list-style: none; }
.lv5 .incl li { position: relative; padding-left: 30px; font-size: 15.5px; color: var(--secondary); }
.lv5 .incl .ck { position: absolute; left: 0; top: 3px; width: 19px; height: 19px; stroke: var(--success); }

/* ── MSRP Price-Was (genuinely-sourced bbi_msrp, NEW units only) ── */
.lv5 .rail-msrp { font-size: 14px; color: var(--subtle); font-variant-numeric: tabular-nums; margin-bottom: 3px; }
.lv5 .rail-msrp s { text-decoration-color: var(--red); }
.lv5 .rail-msrp-save { margin-left: 8px; font-size: 12px; font-weight: 800; color: var(--success); background: #EAF5EE; padding: 3px 8px; border-radius: 4px; letter-spacing: .02em; }
.lv5 .rail-links a strong { color: var(--red); }
