/* The base car grid and seller pill carry the shared v3 treatment. */
.search-heading { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:64px; align-items:end; padding:64px 0 56px; }
.search-heading h1 { font-size:clamp(42px,5vw,76px); font-weight:300; }
.search-heading-note { border-top:1px solid var(--ink); padding-top:20px; font-size:13px; }
.search-heading-note p { margin:14px 0; color:var(--ink-2); }
.search-heading-note a { font-size:12px; text-underline-offset:4px; }
.search-toolbar { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--ink); padding:28px 0; }
.search-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:32px; align-items:start; padding-bottom:64px; }
.search-filters { display:grid; gap:20px; padding:24px 20px; background:var(--warm-surface); border:1px solid var(--border); border-top-color:var(--ink); }
.search-filter-heading { display:flex; gap:8px; align-items:center; justify-content:space-between; }
.search-filter-heading h2 { font-size:24px; margin:0; }
.search-reset { background:none; border:0; text-decoration:underline; text-underline-offset:4px; font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.search-filter-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.search-filters .field { min-width:0; }
.search-filters select,.search-results select { appearance:auto; }
.search-filters .field label { font-size:10px; }
.search-filters .field input,.search-filters .field select { min-width:0; padding:12px; font-size:14px; min-height:48px; background:var(--bone); }
.search-filter-pair input { font-family:var(--mono); }
.search-filters .src,.search-filters .small { font-size:11px; }
.search-results { min-width:0; }
.search-results-bar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:0 0 16px; }
.search-results-bar .field { flex-direction:row; align-items:center; gap:12px; }
.search-results-bar .field label { font-size:10px; }
.search-results-bar select { padding:12px; font-size:12px; width:170px; }
#search-count { font-size:11px; letter-spacing:.06em; }
#search-asof { margin-bottom:24px; font-size:10px; }
.search-results .car-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.search-results .car .price-row { flex-wrap:wrap; }
.search-more { text-align:center; margin:40px 0; }
.search-filter-toggle { display:none; }
.search-empty { padding:64px 28px; border:1px solid var(--border); border-top-color:var(--ink); background:var(--warm-surface); text-align:center; }
.search-empty h2 { font-size:36px; }
.search-empty p { font-size:15px; margin:16px auto 24px; max-width:460px; color:var(--ink-2); }
.search-error { margin:20px 0; }
.search-error button { margin-top:12px; }
.search-skeleton-card { background:var(--warm-surface); overflow:hidden; }
.search-skeleton-card div { aspect-ratio:4/3; background:var(--warm-2); }
.search-skeleton-card span { display:block; background:var(--warm-2); height:18px; margin:16px; width:70%; }
.search-skeleton-card span:last-child { width:45%; }
.search-skeleton { animation:search-load 1.2s var(--ease) infinite alternate; }
@keyframes search-load { to { opacity:.55; } }
.search-page [hidden] { display:none!important; }
@media(max-width:1080px) {
  .search-results .car-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-heading { grid-template-columns:minmax(0,1fr) 220px; gap:24px; }
  .search-layout { gap:24px; grid-template-columns:250px minmax(0,1fr); }
}
@media(max-width:760px) {
  .search-heading { grid-template-columns:1fr; padding:40px 0; gap:32px; }
  .search-heading h1 { font-size:46px; }
  .search-heading-note { padding-top:16px; }
  .search-heading-note p { margin:8px 0; }
  .search-toolbar { flex-wrap:wrap; padding:24px 0; gap:16px; }
  .search-filter-toggle { display:inline-flex; }
  .search-layout { grid-template-columns:1fr; gap:24px; }
  .search-filters { display:none; padding:24px 16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-filters.is-open { display:grid; }
  .search-filters > .field:has(#search-minYear, #search-radius, #search-city, #search-dealer) { grid-column:1/-1; }
  .search-filter-heading,.search-filter-pair,.search-filters > .src,.search-apply,.search-filters > .small { grid-column:1/-1; }
  .search-filters .field input,.search-filters .field select { font-size:16px; }
  .search-results-bar { position:sticky; top:var(--nav-h); z-index:10; padding:12px 0; background:var(--bone); border-bottom:1px solid var(--border); margin-bottom:16px; scroll-margin-top:var(--nav-h); }
  #search-count { font-size:11px; }
  .search-results-bar select { width:145px; }
  .search-results-bar label { display:none; }
}
@media(max-width:440px) {
  .search-page.wrap { padding:0 20px; }
  .search-toolbar .selector { width:100%; justify-content:space-between; }
  .search-results .car-grid { grid-template-columns:1fr; }
  .search-heading h1 { font-size:42px; }
}

/* The finder box under the headline; on phones the headline shrinks and the freshness note moves to the results bar */
.search-heading .fbar { margin-top:34px; }
@media (max-width:760px) {
  .search-heading { padding:22px 0 26px; gap:0; }
  .search-heading h1 { font-size:clamp(34px,10vw,44px); }
  .search-heading .fbar { margin-top:20px; }
  .search-heading-note { display:none; }
}

/* Finder results (/cars/?find=…): the count, what was asked, removable specs, then the cars */
.found { display:none; }
.is-found .found { display:block; padding:44px 0 30px; }
.is-found .search-heading, .is-found .search-toolbar, .is-found .search-filters { display:none; }
.is-found .search-layout { grid-template-columns:minmax(0,1fr); }
.is-found .search-results .car-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.is-found #search-results:not(.is-found-ready) { visibility:hidden; }
.found-top { display:grid; grid-template-columns:auto minmax(0,1fr); gap:56px; align-items:end; }
.found-n { display:block; font-family:var(--display); font-weight:200; font-size:clamp(64px,8vw,128px); line-height:.88; letter-spacing:-.055em; font-variant-numeric:tabular-nums lining-nums; }
.found-l { display:block; margin-top:12px; font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); }
.found-asked { padding-bottom:6px; min-width:0; }
.found-said { margin-top:10px; font-family:var(--display); font-weight:300; font-size:clamp(20px,2.2vw,30px); line-height:1.25; letter-spacing:-.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /* one line, so the first cards sit in the same place every time */
.found-bar { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:30px; padding-top:22px; border-top:1px solid var(--ink); }
.found-chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; }
.found-chips li { display:inline-flex; align-items:center; gap:2px; padding:0 3px 0 14px; border:1px solid var(--ink); border-radius:999px; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; animation:found-in .4s var(--ease) both; }
.found-chips button { width:30px; height:30px; border:0; background:none; font-size:16px; line-height:1; cursor:pointer; color:var(--ink-2); border-radius:999px; }
.found-chips button:hover, .found-chips button:focus-visible { background:var(--ink); color:var(--bone); }
.found-actions { display:flex; align-items:center; gap:20px; flex:none; }
.found-refine { display:inline-flex; align-items:center; gap:10px; padding:7px 18px 7px 7px; border-radius:999px; background:var(--ink); color:var(--bone); border:0; cursor:pointer; font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; touch-action:none; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.found-refine svg { width:36px; height:36px; overflow:visible; }
.found-refine:hover .fx-ring { stroke-width:3.5; }
.found-clear { font-size:12px; text-underline-offset:4px; color:var(--ink-2); }
.found-relax { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:16px; font-size:12px; color:var(--ink-2); }
.found-relax[hidden] { display:none; }
.found-relax button { font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; padding:10px 14px; border:1px solid var(--ink); border-radius:999px; background:none; color:var(--ink); cursor:pointer; }
.found-relax button:hover { background:var(--ink); color:var(--bone); }
.car .facts { font-family:var(--mono); font-size:10px; line-height:1.55; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.found-share { font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; padding:13px 18px; border:1px solid var(--ink); border-radius:999px; background:none; color:var(--ink); cursor:pointer; }
.found-share[hidden] { display:none; }
.found-share:hover { background:var(--ink); color:var(--bone); }
/* Might also fit: after the matches, folded, plainly labelled */
.found-maybe { margin-top:48px; padding-top:28px; border-top:1px solid var(--ink); }
.found-maybe[hidden] { display:none; }
.found-maybe-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:22px; }
.found-maybe h2 { margin-top:8px; font-size:clamp(22px,2.4vw,32px); font-weight:300; letter-spacing:-.025em; }
.found-maybe p { margin-top:8px; max-width:56ch; font-size:13.5px; color:var(--ink-2); }
.found-maybe-show { flex:none; font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; padding:13px 18px; border:1px solid var(--ink); border-radius:999px; background:none; color:var(--ink); cursor:pointer; }
.found-maybe-show:hover { background:var(--ink); color:var(--bone); }
.found-maybe .car { opacity:.92; }
/* The floating ring: refine by voice from anywhere in the list */
.found-fab { display:none; }
.is-found .found-fab { display:inline-flex; position:fixed; z-index:60; left:50%; bottom:calc(18px + env(safe-area-inset-bottom, 0px)); transform:translate(-50%, 140%); align-items:center; gap:10px; padding:6px 20px 6px 6px; border:0; border-radius:999px; background:var(--ink); color:var(--bone); font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; box-shadow:0 18px 40px -16px rgba(10,10,9,.55); cursor:pointer; touch-action:none; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; transition:transform .35s var(--ease); }
.is-found .found-fab.is-on { transform:translate(-50%, 0); }
.found-fab svg { width:40px; height:40px; overflow:visible; }
html.finder-open .found-fab { visibility:hidden; }
@keyframes found-in { from { opacity:0; transform:translateY(-6px); } }
@media (max-width:1100px) { .is-found .search-results .car-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) {
  /* Cars before the fold: count and words share a row, specs scroll sideways, one row of actions. */
  .is-found .found { padding:18px 0 14px; }
  .found-top { grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:end; }
  .found-n { font-size:56px; }
  .found-l { margin-top:8px; font-size:9px; }
  .found-asked .eyebrow { display:none; }
  .found-said { margin-top:0; font-size:17px; }
  .found-bar { flex-direction:column; align-items:stretch; gap:12px; margin-top:16px; padding-top:14px; }
  .found-chips { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 calc(-1 * var(--gut)); padding:0 var(--gut); }
  .found-chips::-webkit-scrollbar { display:none; }
  .found-chips li { flex:none; }
  .found-actions { justify-content:flex-start; gap:10px; }
  .found-clear { margin-left:auto; }
  .found-share { padding:11px 14px; }
  .found-maybe-head { flex-direction:column; align-items:stretch; gap:14px; }
  .found-refine { padding:5px 14px 5px 5px; }
  .found-refine svg { width:30px; height:30px; }
  .is-found .search-results-bar { padding-bottom:10px; }
  .is-found .search-results .car-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) { .is-found .search-results .car-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .found-chips li { animation:none; } }

/* Arriving from the finder: stand-ins for the landed cards, then the page settles in around them */
.land-ghost { position:absolute; left:0; top:0; width:0; height:0; z-index:40; pointer-events:none; }
.land-card { position:absolute; background:var(--warm-surface); overflow:hidden; transition:left .32s var(--ease), top .32s var(--ease), width .32s var(--ease), height .32s var(--ease), opacity .3s var(--ease); }
.land-ph { background:var(--warm-2); overflow:hidden; transition:height .32s var(--ease); }
.land-ph img { width:100%; height:100%; object-fit:cover; display:block; }
.land-ghost.is-gone .land-card { opacity:0; }
.is-arriving .found-top, .is-arriving .found-bar, .is-arriving .search-results-bar, .is-arriving #search-asof { animation:arrive-in .5s var(--ease) both; }
.is-arriving .found-bar { animation-delay:.06s; }
.is-arriving .search-results-bar, .is-arriving #search-asof { animation-delay:.12s; }
.is-arriving #search-results .car-grid > .car:nth-child(n+3) { animation:arrive-up .55s var(--ease) both; animation-delay:.18s; }
@media (min-width:700px) { .is-arriving #search-results .car-grid > .car:nth-child(n+3) { animation:none; } .is-arriving #search-results .car-grid > .car:nth-child(n+9) { animation:arrive-up .55s var(--ease) both; animation-delay:.18s; } }
@keyframes arrive-in { from { opacity:0; transform:translateY(-8px); } }
@keyframes arrive-up { from { opacity:0; transform:translateY(18px); } }
@media (prefers-reduced-motion:reduce) { .land-ghost { display:none; } .is-arriving * { animation:none !important; } }
