/* FairHitch — an independent RV price guide.
   Print-heritage reference style: serif type, paper ground, ruled tables, one ink + one accent.
   The rules behind every value here are in ops/design/style-guide.md. No web fonts, no JS. */
:root{
  /* paper and ink */
  --paper:#f8f5ee;      /* page ground, warm off-white */
  --sheet:#fffdf8;      /* boxed sections and tables */
  --zebra:#f5f1e7;      /* alternate table rows */
  --ink:#1c1b19;        /* text, heavy rules (15.8:1 on paper) */
  --ink-2:#47443d;      /* secondary text (8.9:1 on paper) */
  --dim-ink:#5f5a50;    /* de-emphasised text, dashes (6.3:1 on paper) */
  --rule:#cfc8b8;       /* hairline rules */
  --field:#6b665b;      /* form-field borders (5.6:1) */
  /* the one accent: oxblood, used for links, buttons and the Real Price rule */
  --accent:#8a2a0f;     /* 8.0:1 on paper; white on it 8.7:1 */
  --accent-dark:#6a1f0a;
  --accent-bg:#f6e9e2;
  --focus:#1d4f91;
  /* data labels (positive-only) and notices */
  --great:#1f5a2c; --great-bg:#e4efe1;   /* Below Real Price */
  --fair:#1d4a7c;  --fair-bg:#e3ebf4;    /* Price drop */
  --over:#9a1b1b;  --over-bg:#f7e4e0;    /* errors only, never a listing label */
  --neutral:#47443d; --neutral-bg:#ece7dc;
  --warn-bg:#fbf1cc; --warn-ink:#5a4306; --warn-rule:#c9a227;
  --ok-bg:#e9f1e4; --ok-rule:#8fb08a;
  /* advertising: deliberately cool grey so it never reads as our warm data boxes */
  --ad-bg:#ececea; --ad-ink:#555555; --ad-rule:#9a9a96;
  /* charts (charts.py / chart partials read these) */
  --chart-ink:#1c1b19; --chart-accent:#8a2a0f; --chart-grid:#ddd6c6; --chart-muted:#6b665b;
  /* legacy names still referenced by partials */
  --muted:var(--ink-2); --line:var(--rule); --bg:var(--paper); --card:var(--sheet);
  /* type */
  --serif:Charter,"Bitstream Charter","Sitka Text",Cambria,"Noto Serif","DejaVu Serif",Georgia,serif;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","URW Palladio L",P052,Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,"Liberation Sans","Nimbus Sans",sans-serif;
}
*{box-sizing:border-box}
html{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.6;
  font-variant-numeric:lining-nums;overflow-wrap:break-word}
h1,h2,h3{font-family:var(--display);color:var(--ink);font-weight:700;line-height:1.2}
h1{font-size:2.25rem;margin:.5em 0 .35em;letter-spacing:-.005em}
h2{font-size:1.55rem;margin:1.5em 0 .5em}
h3{font-size:1.25rem;margin:1.3em 0 .4em}
p{margin:0 0 .85em}
ul,ol{padding-left:1.4em}
a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
a:hover{color:var(--accent-dark);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
img,svg{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-9999px;top:0}
.skip-link:focus{left:8px;top:8px;z-index:10;background:var(--sheet);padding:8px 12px;border:2px solid var(--ink)}

/* ---------------------------------------------------------------- masthead */
.site-header{background:var(--paper)}
.masthead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;padding-top:22px;padding-bottom:14px}
.masthead-kicker{font-family:var(--sans);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px}
.logo{font-family:var(--display);font-size:3rem;font-weight:700;line-height:1;color:var(--ink);text-decoration:none;letter-spacing:-.015em}
.logo:hover{color:var(--ink);text-decoration:none}
.tagline{font-family:var(--display);font-style:italic;font-size:1.25rem;color:var(--ink-2);margin:6px 0 0}
.search{flex:0 1 430px;margin:0}
.search-label{display:block;font-family:var(--sans);font-size:.9375rem;font-weight:700;margin-bottom:4px}
.search-row{display:flex}
.search input{flex:1;min-width:0;height:48px;margin:0;padding:0 12px;font-family:var(--sans);font-size:1.0625rem;color:var(--ink);
  background:#fff;border:1px solid var(--field);border-right:0;border-radius:2px 0 0 2px}
.search button{height:48px;padding:0 20px;font-family:var(--sans);font-size:1.0625rem;font-weight:700;color:#fff;background:var(--ink);
  border:1px solid var(--ink);border-radius:0 2px 2px 0;cursor:pointer}
.search button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.site-nav{display:flex;flex-wrap:wrap;border-top:5px double var(--ink);border-bottom:1px solid var(--ink)}
.site-nav a{display:inline-flex;align-items:center;min-height:48px;padding:6px 18px;font-family:var(--sans);font-size:1.0625rem;font-weight:700;
  color:var(--ink);text-decoration:none;border-right:1px solid var(--rule)}
.site-nav a:first-child{padding-left:0}
.site-nav a:last-child{border-right:0}
.site-nav a:hover{color:var(--accent);text-decoration:underline}
.site-nav a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.35em}

/* -------------------------------------------------------------- banners */
.banner-demo,.banner-test{background:var(--warn-bg);color:var(--warn-ink);padding:10px 24px;font-family:var(--sans);font-size:1rem;border-bottom:2px solid var(--warn-rule)}
.demo-banner{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-rule);border-left:5px solid var(--warn-rule);border-radius:0;padding:14px 18px;margin:20px 0}
.notice{background:var(--ok-bg);border:1px solid var(--ok-rule);border-left:5px solid var(--great);border-radius:0;padding:12px 18px}
.error{background:var(--over-bg);color:var(--over);border:1px solid var(--over);border-radius:0;padding:10px 16px;font-weight:700}

main{padding:20px 0 48px}

/* ---------------------------------------------------------- text helpers */
.lede{font-size:1.25rem;line-height:1.55;color:var(--ink);max-width:42em}
.meta{display:block;color:var(--ink-2);font-size:1rem}
h1 .meta,h2 .meta,h3 .meta{display:inline;font-family:var(--serif);font-weight:400}
.dim{color:var(--dim-ink)}
.basis{color:var(--ink-2);font-size:1rem;line-height:1.5}
.fineprint{font-size:1rem;color:var(--ink-2)}
.big{font-family:var(--display);font-size:2.25rem;font-weight:700;line-height:1.15;margin:4px 0}
.big-range{font-size:1.3rem;margin:4px 0}
.compare-line{font-size:1.3rem;margin:6px 0}
.b-below{color:var(--great);font-weight:700}.b-near{color:var(--fair);font-weight:700}
.b-above,.b-over{color:var(--over);font-weight:700}
.badge{display:inline-block;font-family:var(--sans);font-size:.9375rem;font-weight:700;padding:3px 10px;border:1px solid currentColor;border-radius:2px}
.badge.big{font-size:1.125rem;padding:6px 16px}
.badge.below{background:var(--great-bg);color:var(--great)}
.badge.near{background:var(--fair-bg);color:var(--fair)}
.badge.above{background:var(--over-bg);color:var(--over)}
.badge.neutral{background:var(--neutral-bg);color:var(--neutral)}
.badge-line{margin:6px 0}
.verified{display:inline-block;background:var(--sheet);border:1px solid var(--rule);border-left:5px solid var(--ink);padding:8px 14px;font-family:var(--sans);font-size:1rem}
.kicker{font-family:var(--sans);font-size:.875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}
.rule-label{font-family:var(--sans);font-size:.9375rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
  border-top:2px solid var(--ink);padding-top:8px;margin:36px 0 12px}

/* --------------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;margin:4px 10px 4px 0;
  font-family:var(--sans);font-size:1.0625rem;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;
  color:#fff;background:var(--accent);border:2px solid var(--accent);border-radius:2px;cursor:pointer}
.btn:hover{color:#fff;background:var(--accent-dark);border-color:var(--accent-dark);text-decoration:none}
.btn.ghost{color:var(--accent);background:var(--sheet)}
.btn.ghost:hover{color:var(--accent-dark);background:var(--accent-bg)}

/* ------------------------------------------------------ boxed sections */
.panel{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--ink);border-radius:0;padding:18px 24px 14px;margin:28px 0}
.panel > h2:first-child,.panel > h3:first-child,.panel > div > h3:first-child{margin-top:0}
.panel h2{font-size:1.45rem}
.panel > p,.panel form > p{max-width:50em}
.hero{padding:8px 0 20px;border-bottom:1px solid var(--rule);margin-bottom:24px}
.hero h1{font-size:2.5rem;line-height:1.15;margin:0 0 14px}
.trust{background:var(--sheet);color:var(--ink);border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:3px;padding:20px 26px;margin:40px 4px 28px}
.trust h2{margin-top:0}
.how ol{padding-left:1.5em;max-width:46em}
.how li{margin:10px 0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}

/* model index: a ruled directory, not cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:0 36px;margin:16px 0 20px;border-top:2px solid var(--ink)}
.card{display:block;padding:12px 0 11px;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;min-height:48px}
.card strong{display:block;font-family:var(--display);font-size:1.2rem;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.card:hover strong{color:var(--accent-dark);text-decoration-thickness:2px}
.tracking-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:4px 24px;font-size:1rem}
.comp-list{list-style:none;padding:0;margin:8px 0;border-top:1px solid var(--ink)}
.comp-list li{padding:8px 0;border-bottom:1px solid var(--rule);font-size:1.0625rem}
.badgecounts{list-style:none;padding:0;font-size:1.0625rem}
.badgecounts li{padding:4px 0}
.dealer-in{border-left:5px solid var(--accent)}

/* ---------------------------------------------------------------- tables */
table.data{width:100%;border-collapse:collapse;margin:12px 0 16px;background:var(--sheet);font-family:var(--sans);font-size:1.0625rem;
  line-height:1.45;font-variant-numeric:lining-nums tabular-nums;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
table.data th,table.data td{text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--rule)}
table.data th{color:var(--ink);font-weight:700;font-size:1rem;border-bottom:1px solid var(--ink);background:var(--sheet)}
table.data tr:nth-child(even) td{background:var(--zebra)}
table.data td a{overflow-wrap:anywhere}
table.data .meta{font-size:.9375rem}
table.hist-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums}
table.hist-table td{padding:5px 10px 5px 0;font-size:1rem;border-bottom:1px solid var(--zebra)}
.bar-cell{width:55%}
.bar{height:18px;background:var(--chart-accent);border-radius:0;min-width:2px}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:10px 0}
.photos img{width:100%;height:130px;object-fit:cover;border:1px solid var(--rule)}

/* ----------------------------------------------------------------- forms */
label{font-size:1.0625rem}
input,select,textarea{font:inherit;font-family:var(--sans);font-size:1.0625rem;color:var(--ink);background:#fff;padding:9px 12px;
  border:1px solid var(--field);border-radius:2px;margin-top:4px;max-width:100%}
input:not([type=checkbox]):not([type=radio]),select{min-height:48px}
input[type=checkbox],input[type=radio]{width:22px;height:22px;vertical-align:-4px;margin:0 8px 0 0;accent-color:var(--accent)}
button{font-family:var(--sans)}

/* --------------------------------------------------------------- footer */
footer{background:var(--paper);border-top:5px double var(--ink);padding:28px 0 36px;margin-top:24px;font-size:1rem;color:var(--ink-2)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1.2fr 1fr 1fr;gap:24px 32px}
.footer-head{font-family:var(--sans);font-size:.875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
  border-top:1px solid var(--ink);padding-top:8px;margin:0 0 8px}
footer p{margin:0 0 .6em}
footer .fineprint{border-top:1px solid var(--rule);padding-top:14px;margin-top:20px}

/* legal + error pages */
.legal{max-width:46em}
.legal h2{margin-top:1.6em}
.legal h3{margin-top:1.2em;font-size:1.15rem}
.error-page{max-width:40em;margin:30px 0}
.lead-panel textarea,.lead-panel input[type=email],.lead-panel input[type=tel]{max-width:100%}
.lead-panel .consent{font-size:1rem;line-height:1.45}
.fee-note{margin:.6rem 0}

/* -------------------------------------------------------------- home page */
.front{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:0 48px;align-items:start}
.front-main h1{font-size:2.6rem;line-height:1.12;margin-top:.3em}
.front-side{padding-top:18px}
.side-box{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--ink);padding:16px 20px 12px;margin:0 0 24px}
.side-box h2{font-size:1.3rem;margin:0 0 10px}
.side-box label{display:block;font-family:var(--sans);font-weight:700;font-size:1rem}
.side-box input{width:100%}
.side-box .btn{width:100%;margin:10px 0 4px}
.index-list,.plain-links{list-style:none;padding:0;margin:0 0 10px;border-top:1px solid var(--ink)}
.index-list li,.plain-links li{border-bottom:1px solid var(--rule)}
.index-list a,.plain-links a{display:block;padding:9px 0 0;min-height:44px;font-weight:700}
.plain-links a{padding:10px 0}
.index-list .meta{padding:0 0 9px;font-size:.9375rem}

/* ---------------------------------------------------- reserved ad slots */
/* Rendered only with config.ADS_ENABLED. Heights are fixed so nothing below moves when an ad loads. */
.ad-slot{background:var(--ad-bg);border-top:1px solid var(--ad-rule);border-bottom:1px solid var(--ad-rule);
  margin:24px 0;padding:6px 0 12px;text-align:center;font-family:var(--sans);overflow:hidden}
.ad-label{margin:0 0 6px;font-size:.8125rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ad-ink);line-height:1.2}
.ad-box{margin:0 auto;max-width:100%;background:#e2e2df;border:1px dashed var(--ad-rule)}
.ad-leaderboard{margin:16px 0 0}
.ad-leaderboard .ad-box{width:728px;height:90px}
.ad-incontent{margin:36px 0}
.ad-incontent .ad-box{width:300px;height:250px}
.ad-sidebar .ad-box{width:300px;height:600px}
main.with-aside{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0 40px;align-items:start}
main.with-aside .main-col{min-width:0}
main.with-aside > .ad-sidebar{margin-top:28px;padding-left:0;padding-right:0}

/* ------------------------------------------------------------- responsive */
@media (max-width:1023px){
  .front,main.with-aside{display:block}
  .ad-sidebar .ad-box{height:250px}
}
@media (max-width:760px){
  .ad-leaderboard .ad-box{width:320px;height:100px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .wrap{padding:0 16px}
  h1,.front-main h1{font-size:1.85rem}
  h2{font-size:1.4rem}
  .hero h1{font-size:2rem}
  .logo{font-size:2.35rem}
  .tagline{font-size:1.125rem}
  .masthead{padding-top:16px;gap:14px}
  .search{flex:1 1 100%}
  .site-nav{display:grid;grid-template-columns:1fr 1fr}
  .site-nav a,.site-nav a:first-child{padding:6px 10px;font-size:1rem;border-right:0;border-bottom:1px solid var(--rule)}
  .site-nav a:nth-child(odd){border-right:1px solid var(--rule);padding-left:0}
  .site-nav a:last-child{border-bottom:0}
  .panel{padding:14px 16px 10px;margin:22px 0}
  .side-box{padding:14px 16px 10px}
  .two-col,.footer-grid{grid-template-columns:1fr}
  .trust{padding:16px 18px}
  .lede{font-size:1.1875rem}
  .big{font-size:1.9rem}
  .verified{display:block}
  .btn{width:100%;margin-right:0}
  .filters .btn{width:auto}
  /* wide tables scroll inside their own box; the page itself never scrolls sideways */
  table.data{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* tables marked .stack become one ruled block per row, each cell labelled from data-label */
  table.data.stack{display:block;overflow:visible;background:transparent}
  table.data.stack tbody,table.data.stack tr,table.data.stack td{display:block;width:100%}
  table.data.stack th{display:none}
  table.data.stack tr{padding:10px 0 9px;border-bottom:1px solid var(--rule)}
  table.data.stack tr:last-child{border-bottom:0}
  table.data.stack tr:nth-child(even){background:var(--zebra)}
  table.data.stack tr:nth-child(even) td{background:transparent}
  table.data.stack td,table.data.stack td.num{padding:2px 8px;border:0;text-align:left;white-space:normal}
  table.data.stack td:first-child{font-size:1.125rem;font-weight:700}
  table.data.stack td[data-label]::before{content:attr(data-label) ": ";font-weight:700;color:var(--ink-2)}
  table.data.stack .meta{font-weight:400}
}
@media print{
  .site-nav,.search,.ad-slot,.btn,.skip-link{display:none}
  body{background:#fff}
}

/* ---- report teaser page (Engineer G) ---- */
.teaser-figs{display:flex;flex-wrap:wrap;gap:12px 32px;margin:.6rem 0}
.teaser-figs dt{font-size:.85rem;color:#555}
.teaser-figs dd{margin:0;font-size:1.5rem;font-weight:700}
.teaser-box{border-left:4px solid #1f6f43}
.inline-form{display:inline;margin:0}
.linklike{background:none;border:0;padding:0;font:inherit;color:#0b5cad;text-decoration:underline;cursor:pointer}

/* ===== Shop New / Shop Used: dropdown menu, phone menu, New|Used switch, filters, result list =====
   Added with the browse pages; uses the tokens above (paper, ink, rule, accent, serif/display/sans).
   Square corners, ruled lists, 48px tap targets, no pills. */
.site-nav .nav-dd{position:relative;display:flex}
.site-nav .nav-dd>a{padding-left:18px;border-right:1px solid var(--rule)}
.site-nav .nav-dd:first-child>a{padding-left:0}
.nav-panel{display:none;position:absolute;left:0;top:100%;z-index:50;min-width:270px;list-style:none;margin:0;padding:0;
  background:var(--sheet);border:1px solid var(--ink);border-top:3px solid var(--ink)}
.nav-dd:hover .nav-panel,.nav-dd:focus-within .nav-panel{display:block}
.site-nav .nav-panel li{margin:0}
.site-nav .nav-panel a{display:flex;width:100%;min-height:48px;padding:8px 18px;border-right:0;border-bottom:1px solid var(--rule);font-weight:400;font-family:var(--sans)}
.site-nav .nav-panel li:last-child a{border-bottom:0}
.site-nav .nav-panel .nav-all a{font-weight:700;background:var(--zebra)}
.site-nav .nav-panel a:hover,.site-nav .nav-panel a:focus-visible{background:var(--accent-bg);color:var(--accent-dark)}
.mobile-menu{display:none}
@media(max-width:720px){
  .site-nav{display:none}
  .mobile-menu{display:block;border-top:5px double var(--ink);border-bottom:1px solid var(--ink)}
  .mobile-menu>summary,.mm-sub>summary{list-style:none;cursor:pointer}
  .mobile-menu>summary::-webkit-details-marker,.mm-sub>summary::-webkit-details-marker{display:none}
  .mobile-menu>summary{display:flex;align-items:center;min-height:52px;font-family:var(--sans);font-size:1.125rem;font-weight:700}
  .mobile-menu>summary::after{content:"\25BE";margin-left:10px}
  .mobile-menu[open]>summary::after{content:"\25B4"}
  .mm-list,.mm-list ul{list-style:none;margin:0;padding:0}
  .mm-list{border-top:1px solid var(--ink)}
  .mm-list a,.mm-sub>summary{display:flex;align-items:center;min-height:48px;padding:8px 0;font-family:var(--sans);font-size:1.0625rem;font-weight:700;
    color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
  .mm-sub>summary::after{content:"\25BE";margin-left:8px}
  .mm-sub[open]>summary::after{content:"\25B4"}
  .mm-sub ul{background:var(--zebra);padding-left:18px}
  .mm-sub ul a{font-weight:400}
}

.cond-switch{display:flex;margin:12px 0 18px;max-width:34em;font-family:var(--sans)}
.cond-switch .cond-tab{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 14px;margin:0;
  font-size:1.0625rem;font-weight:700;color:var(--ink);background:var(--sheet);border:2px solid var(--ink);border-radius:0;text-decoration:none}
.cond-switch .cond-tab+.cond-tab{border-left:0}
.cond-switch .cond-tab:hover{background:var(--accent-bg);color:var(--ink);text-decoration:underline}
.cond-switch .cond-tab.on,.cond-switch .cond-tab.on:hover{background:var(--ink);color:#fff;text-decoration:none}
.cond-count{font-weight:400}
.cond-tab .cond-count,.sbt-table .cond-count{margin-left:.35em}
.cond-tag{display:inline-block;margin-left:8px;padding:0 7px;font-family:var(--sans);font-size:.8125rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;vertical-align:middle;border:1px solid currentColor;border-radius:2px}
.cond-used{background:var(--warn-bg);color:var(--warn-ink)}
.cond-new{background:var(--neutral-bg);color:var(--neutral)}
.crumbs{margin:0 0 6px;font-family:var(--sans);font-size:.9375rem;color:var(--ink-2)}
.crumbs a{display:inline-block;padding:10px 0}
.lede-sm{max-width:42em;font-size:1.125rem;color:var(--ink)}

.type-tiles{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 36px;border-top:2px solid var(--ink)}
.type-tile{display:block;min-height:48px;padding:12px 0 11px;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none}
.tt-name{display:block;font-family:var(--display);font-size:1.3rem;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.type-tile:hover .tt-name{color:var(--accent-dark);text-decoration-thickness:2px}
.tt-count{display:block;font-family:var(--sans);font-weight:700}
.tt-blurb{display:block;color:var(--ink-2);font-size:1rem}
.shop-by-type{margin:0 0 8px}
.shop-by-type .rule-label{margin-top:8px}
.sbt-table{width:100%;border-collapse:collapse;border-top:2px solid var(--ink);margin:0 0 10px;font-family:var(--sans)}
.sbt-table th,.sbt-table td{text-align:left;padding:0;border-bottom:1px solid var(--rule);font-size:1.0625rem}
.sbt-table thead th,.sbt-table tr:first-child th[scope=col]{font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);padding:6px 0}
.sbt-table th[scope=row]{font-family:var(--display);font-weight:700;font-size:1.1875rem;padding:0 12px 0 0}
.sbt-table td{padding-right:10px}
.sbt-table td a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.shop-filters{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--ink);padding:16px 20px 12px;margin:16px 0}
.sf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 18px}
.sf-grid label{font-family:var(--sans);font-weight:700;font-size:1rem}
.sf-grid select{width:100%;font-weight:400}
.sf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin-top:10px}
.reset-link{display:inline-flex;align-items:center;min-height:48px;font-family:var(--sans);font-weight:700}
.result-count{margin:16px 0 6px;font-family:var(--sans)}
.lst{list-style:none;padding:0;margin:10px 0;border-top:2px solid var(--ink)}
.lst-item{display:flex;gap:6px 20px;justify-content:space-between;align-items:flex-start;padding:14px 0 13px;border-bottom:1px solid var(--rule)}
.lst-item:nth-child(even){background:var(--zebra)}
.lst-title{font-family:var(--display);font-size:1.25rem;font-weight:700}
.lst-meta,.lst-dealer{color:var(--ink-2);font-size:1rem}
.lst-labels{margin-top:4px}
.lst-price{text-align:right;min-width:9em}
.lst-asking{display:block;font-family:var(--display);font-size:1.6rem;font-weight:700;line-height:1.2}
.lst-sub{font-family:var(--sans);font-size:.875rem;color:var(--ink-2)}
@media(max-width:720px){.lst-item{flex-direction:column;padding-left:0}.lst-price{text-align:left}}
.make-list{list-style:none;padding:0;margin:8px 0;columns:3 200px;border-top:1px solid var(--ink)}
.make-list li{break-inside:avoid;border-bottom:1px solid var(--rule)}
.make-list a{display:inline-flex;align-items:center;min-height:44px}
.meta-inline{color:var(--ink-2);font-size:.9375rem}
.quick-links{list-style:none;padding:0;border-top:1px solid var(--ink)}
.quick-links li{border-bottom:1px solid var(--rule)}
.quick-links a{display:flex;align-items:center;min-height:48px;font-weight:700}
.table-scroll{overflow-x:auto}
table.make-models td,table.make-models th{vertical-align:top}

/* Shop New / Shop Used: By model | Each unit, model rows, a model's unit list */
.view-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;margin:0 0 12px}
.view-toggle .cond-switch{margin:0;max-width:22em;flex:1 1 16em}
.vt-label{font-family:var(--sans);font-weight:700}
.grp-list{list-style:none;padding:0;margin:10px 0;border-top:2px solid var(--ink)}
.grp-item{display:flex;gap:10px 28px;justify-content:space-between;align-items:center;padding:16px 0 14px;border-bottom:1px solid var(--rule)}
.grp-item:nth-child(even){background:var(--zebra)}
.grp-main{min-width:0}
.grp-title{display:inline-block;padding:4px 0;font-family:var(--display);font-size:1.45rem;font-weight:700;line-height:1.25}
.grp-meta{font-family:var(--sans);font-size:1rem;color:var(--ink-2);margin-bottom:4px}
.grp-count,.grp-range,.grp-rp,.grp-below,.grp-low{font-size:1.125rem;line-height:1.5}
.grp-range strong,.grp-rp strong{font-family:var(--display);font-size:1.3rem}
.grp-low{font-size:1rem;color:var(--ink-2)}
.grp-below{margin:2px 0}
.grp-act{flex:0 0 auto}
.grp-act .btn{margin:0;min-width:11em}
.gs-sum{margin:0 0 14px}
.gs-count{font-family:var(--sans);font-size:1.125rem;margin:0 0 4px}
.gs-range{font-size:1.2rem;margin:0}
.gs-range strong,.gs-rp-fig{font-family:var(--display);font-weight:700}
.gs-rp-fig{font-size:2rem;margin-right:6px}
.gs-rp-line{margin:0 0 6px}
.gu-list{list-style:none;padding:0;margin:10px 0;border-top:2px solid var(--ink)}
.gu-item{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;align-items:flex-start;padding:14px 0 12px;border-bottom:1px solid var(--rule)}
.gu-item:nth-child(even){background:var(--zebra)}
.gu-main{flex:1 1 18em;min-width:0}
.gu-year{font-family:var(--display);font-size:1.3rem;font-weight:700}
.gu-dealer{font-size:1.125rem}
.gu-price{text-align:right;min-width:9em}
.gu-links{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.gu-details{display:inline-flex;align-items:center;min-height:48px;font-family:var(--sans);font-weight:700}
.gu-links .btn,.lst-actions .btn{margin:4px 0}
.lst-actions{margin-top:6px}
@media(max-width:720px){
  .grp-item{flex-direction:column;align-items:stretch;padding-left:0}
  .grp-act .btn{width:100%}
  .gu-price{text-align:left}
  .gu-links{flex-direction:column;align-items:stretch}
  .gu-links .btn,.lst-actions .btn{width:100%}
  .view-toggle .cond-switch{flex:1 1 100%;max-width:none}
}
.top-photos{margin:6px 0 18px}
.top-price{margin:0 0 4px;font-family:var(--sans);font-size:1.0625rem}
.top-price-fig{font-family:var(--display);font-size:2rem;font-weight:700}
.top-photos .btn{margin:4px 0}
