@font-face {
  font-family: "Sofia Sans";
  src: url("/static/sofia-sans.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Sofia Sans Semi Condensed";
  src: url("/static/sofia-sans-semi-condensed.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --bg: #f5eee3;
  --surface: #fffdf8;
  --ink: #262220;
  --muted: #64574f;
  --line: #d6c7bb;
  --accent: #d9ebdd;
  --mint-light: #b8eed7;
  --mint-dark: #34745f;
  --green: #74283c;
  --burgundy: #74283c;
  --burgundy-dark: #592030;
  --warm: #ece2d5;
  --heading: "Sofia Sans Semi Condensed", "Segoe UI", sans-serif;
  --radius: 12px;
  --car-ground-shadow: radial-gradient(ellipse, #171913e8 0%, #1a1c17bb 30%, #1e20196a 53%, transparent 73%);
  --car-wheel-shadows:
    radial-gradient(ellipse 8% 50% at 25% 50%, #11120efa, #161813b8 48%, transparent 100%),
    radial-gradient(ellipse 8% 50% at 75% 50%, #11120efa, #161813b8 48%, transparent 100%);
}
html { scroll-padding-top: 82px; }
body { font: 16px/1.5 "Sofia Sans", "Segoe UI", sans-serif; }
:is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--burgundy); outline-offset: 3px; }
body .header {
  height: auto;
  min-height: 0;
  background: var(--burgundy);
  border-color: var(--burgundy-dark);
  color: var(--bg);
}
.header .header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 64px;
  padding: 0;
  gap: 18px;
}
.wordmark {
  display: inline-block;
  width: 184px;
  max-width: 100%;
  vertical-align: middle;
}
.wordmark img { display: block; width: 100%; height: auto; }
.brand-accent { color: var(--mint-dark); }
.header .wordmark { width: 208px; }
.header nav { align-items: center; justify-content: center; gap: clamp(10px, 1.4vw, 24px); }
.header nav a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-bottom: 2px solid transparent;
  padding-block: 19px 17px;
  font-size: 15px;
  font-weight: 650;
  white-space: nowrap;
}
.header nav a:hover { border-color: var(--accent); color: #fffdf8; }
.header nav a:is([aria-current],.active) { border-color: var(--mint-light); color: var(--mint-light); }
.header :is(a,button):focus-visible { outline-color: var(--accent); }
.header .collection-nav { justify-content: end; gap: 12px; }
.header .collection-nav a { font-size: 13px; }
.collection-nav :is(#favorite-count,#compare-count) { padding: 0 6px; border: 1px solid #ffffff4d; border-radius: 4px; font-variant-numeric: tabular-nums; }
.collection-nav [data-view=searches] { position: relative; padding-inline-end: 12px; }
.search-notification {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mint-light);
}
.collection-nav .search-notification { position: absolute; inset-inline-end: 0; top: calc(50% - 7px); }
html[data-page]:not([data-page=search]) :is(.search-page,.compare-dock) { display: none; }
.footer { margin-top: 54px; padding-bottom: 44px; color: var(--muted); font-size: 14px; }
.footer .wordmark { width: 154px; }
.footer p { font-size: 14px; }

.eyebrow { color: var(--burgundy); letter-spacing: .12em; font-size: 12px; font-weight: 740; }
.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-block: 42px 25px; }
.page-heading h1 {
  margin: 0;
  font: 760 clamp(38px, 5.7vw, 74px)/.98 var(--heading);
  letter-spacing: -.035em;
}
.page-heading .eyebrow { margin: 0 0 12px; }
.page-heading h1 + p { color: var(--muted); margin: 12px 0 0; max-width: 60ch; }
.browse-heading { align-items: center; }
.browse-heading h1 { font-size: clamp(35px, 4.6vw, 58px); line-height: 1.02; text-wrap: balance; }
.browse-heading h1 + p { margin-top: 8px; }
.browse-heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; }
.browse-heading-actions .delivery-setting { margin: 0; }
.page-next { flex-shrink: 0; color: var(--burgundy); font-weight: 700; border-bottom: 1px solid var(--line); padding: 6px 0; }
.page-next:hover { border-color: currentColor; }
.page-next span { margin-left: 8px; }
.button.dark { background: var(--burgundy); color: var(--surface); }
.button.dark:hover { background: var(--burgundy-dark); }
.button.secondary { background: var(--surface); }
.button.secondary:hover { background: var(--warm); }
.text-button { color: var(--burgundy); }
.city-link {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: var(--burgundy);
  font: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  text-decoration: underline;
  text-decoration-thickness: .055em;
  text-underline-offset: .14em;
  overflow-wrap: anywhere;
  max-width: 100%;
}
.city-link:hover { color: var(--burgundy-dark); text-decoration-thickness: .09em; }
.delivery-setting { color: var(--muted); font-size: 14px; margin: 0 0 12px; }
.delivery-setting .city-link { font-weight: 700; }
.city-dialog {
  width: min(475px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
}
.city-dialog h2 { font: 750 34px/1.05 var(--heading); }
.city-dialog .eyebrow { margin: 0 0 8px; }
.city-dialog .muted { font-size: 15px; margin: 0 0 16px; }
.city-dialog label { display: block; font-size: 14px; font-weight: 670; }
.city-dialog input {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  margin-top: 4px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 16px;
}
.city-options { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 20px; }
.city-options button {
  padding: 6px 10px;
  border: 1px solid #aac7b9;
  border-radius: 6px;
  background: var(--accent);
  color: #244d3e;
  font-size: 14px;
}
.city-options button:hover { background: var(--mint-light); }
.city-dialog .city-rate, .delivery-tariff {
  margin: 0 0 14px;
  padding: 8px 11px;
  border-radius: 7px;
  background: var(--accent);
  color: #244d3e;
  font-size: 14px;
}
.delivery-tariff p { margin: 0 0 6px; }
.delivery-tariff .button { min-height: 36px; padding: 6px 10px; font-size: 14px; }
.city-actions { display: flex; align-items: center; gap: 16px; }
.city-actions .button { flex: 1; margin: 0; }
.city-actions .text-button { font-size: 14px; }

#browse-catalog {
  --catalog-mint: #c6e8d8;
  --catalog-mint-hover: #b4dfcb;
  --catalog-mint-soft: #edf7ef;
  --catalog-mint-line: #5e927b;
  --catalog-mint-ink: #244d3e;
}
#browse-catalog .page-next {
  padding: 8px 13px;
  border: 1px solid var(--catalog-mint-line);
  border-radius: 8px;
  background: var(--catalog-mint-soft);
  color: var(--catalog-mint-ink);
}
#browse-catalog .page-next:hover { background: var(--catalog-mint); }
.browse-filters {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 20px;
  background: var(--surface);
}
.browse-filters label, .browse-filters legend { font-weight: 660; font-size: 14px; }
.browse-filters fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.browse-filters legend { padding: 0; }
.browse-filters :is(input[type=number],select) {
  display: block;
  width: 100%;
  height: 42px;
  margin-top: 5px;
  padding: 7px 10px;
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 7px;
  font-size: 15px;
}
.catalog-filters { padding-block: 18px 0; }
.catalog-filters label, .catalog-filters legend { line-height: 1.5; }
.catalog-filters label { margin: 0; }
.catalog-filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .47fr) auto;
  gap: 20px 24px;
}
.catalog-country-buttons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.catalog-country-buttons label { position: relative; flex: 1 0 auto; cursor: pointer; }
.catalog-country-buttons input, .segmented input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.catalog-country-buttons label > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  line-height: 1.2;
}
.catalog-country-buttons svg {
  flex: 0 0 22px;
  width: 22px;
  height: 15px;
  border-radius: 2px;
  outline: 1px solid #26222020;
  outline-offset: -1px;
}
.catalog-country-buttons label:hover > span { background: var(--bg); }
.catalog-country-buttons input:checked + span { background: var(--catalog-mint); border-color: var(--catalog-mint-line); }
.catalog-country-buttons input:focus-visible + span, .segmented input:focus-visible + span {
  outline: 2px solid var(--burgundy);
  outline-offset: 2px;
}
.segmented {
  display: flex;
  width: max-content;
  max-width: 100%;
  min-height: 44px;
  margin-top: 5px;
  padding: 3px;
  gap: 2px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.segmented label { position: relative; display: flex; cursor: pointer; }
.segmented span { display: flex; align-items: center; justify-content: center; padding: 4px 11px; border-radius: 5px; }
.segmented input:checked + span { background: var(--catalog-mint); color: var(--ink); box-shadow: inset 0 0 0 1px var(--catalog-mint-line); }
.catalog-price-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 5px; }
.catalog-price-values label { position: relative; }
.catalog-price-values span { position: absolute; inset: 0 auto 0 10px; display: grid; align-items: center; color: var(--muted); }
.catalog-price-values input[type=number] {
  height: 44px;
  margin: 0;
  padding-inline: 34px 8px;
  appearance: textfield;
  font-variant-numeric: tabular-nums;
}
.catalog-price-values input::-webkit-inner-spin-button { appearance: none; }
.catalog-price-slider {
  --thumb-size: 22px;
  position: relative;
  height: 30px;
  margin-top: 3px;
  cursor: pointer;
}
.catalog-price-slider::before {
  content: "";
  position: absolute;
  top: 50%;
  inset-inline: calc(var(--thumb-size) / 2);
  transform: translateY(-50%);
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(to right, var(--line) var(--start, 0%), var(--mint-dark) var(--start, 0%),
    var(--mint-dark) var(--end, 100%), var(--line) var(--end, 100%));
}
.catalog-price-slider input[type=range] {
  position: absolute;
  inset: 0;
  appearance: none;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
  pointer-events: none;
}
.catalog-price-slider input:focus-visible { outline: none; }
.catalog-price-slider input:focus-visible, .catalog-price-slider[data-overlap=end] input:first-child { z-index: 1; }
.catalog-price-slider input::-webkit-slider-thumb {
  appearance: none;
  width: var(--thumb-size);
  height: var(--thumb-size);
  border: 2px solid var(--burgundy);
  border-radius: 50%;
  background: var(--surface);
  cursor: grab;
  pointer-events: auto;
}
.catalog-price-slider input::-moz-range-thumb {
  box-sizing: border-box;
  width: var(--thumb-size);
  height: var(--thumb-size);
  border: 2px solid var(--burgundy);
  border-radius: 50%;
  background: var(--surface);
  cursor: grab;
  pointer-events: auto;
}
.catalog-price-slider input:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--burgundy); outline-offset: 2px; }
.catalog-price-slider input:focus-visible::-moz-range-thumb { outline: 2px solid var(--burgundy); outline-offset: 2px; }
.catalog-filter-actions {
  display: grid;
  border-top: 1px solid var(--line);
  margin-top: 9px;
}
.catalog-extra, .catalog-reset { grid-area: 1/1; }
.catalog-extra summary {
  display: flex;
  align-items: center;
  width: fit-content;
  min-height: 48px;
  gap: 8px;
  list-style: none;
  color: var(--burgundy);
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  -webkit-tap-highlight-color: transparent;
}
.catalog-extra summary::-webkit-details-marker { display: none; }
.catalog-extra summary:hover { color: var(--burgundy-dark); }
.catalog-extra summary svg { width: 16px; height: 16px; flex-shrink: 0; }
.catalog-extra summary svg:first-child {
  width: 24px;
  height: 24px;
  padding: 4px;
  border-radius: 6px;
  background: var(--catalog-mint);
  color: var(--catalog-mint-ink);
}
.catalog-extra[open] .catalog-extra-chevron { transform: rotate(180deg); }
.catalog-extra-count {
  min-width: 20px;
  padding: 0 4px;
  border-radius: 10px;
  background: var(--catalog-mint-soft);
  color: var(--catalog-mint-ink);
  text-align: center;
  font-size: 12px;
}
.catalog-reset {
  justify-self: end;
  align-self: start;
  min-height: 48px;
  padding: 0 4px;
  font-size: 14px;
}
.catalog-extra-fields {
  display: grid;
  gap: 16px;
  padding: 8px 0 18px;
}
.equipment-filter { grid-column: 1 / -1; }
.equipment-options .check-label { display: flex; grid-column: auto; gap: 8px; align-items: flex-start; }
.equipment-options input { margin-top: .25em; }
.equipment-filter [data-equipment-note] { display: block; margin-top: 8px; }
.browse-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: baseline; margin: 19px 0 12px; }
.browse-bar p { margin: 0; font-size: 16px; font-weight: 710; }
.browse-bar .sort-label { max-width: 100%; }
.browse-bar select { max-width: 100%; }
.brand-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.taxonomy-card {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  min-width: 0;
  transition: border-color .18s;
}
.taxonomy-card:has([aria-expanded=true]) { border-color: var(--burgundy); }
.taxonomy-body {
  flex: 1;
  position: relative;
}
.taxonomy-open {
  position: absolute;
  inset: 0;
  background: transparent;
  border: 0;
  border-radius: var(--radius) var(--radius) 0 0;
}
.taxonomy-body:has(.taxonomy-open:hover) h3 { color: var(--burgundy); text-decoration: underline; text-underline-offset: 4px; }
.taxonomy-media {
  position: relative;
  isolation: isolate;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  background: #d8cec0;
  border-bottom: 1px solid var(--line);
  border-radius: 11px 11px 0 0;
}
.taxonomy-media:not(:has(.taxonomy-background)) { background: #d8cec0 url("/static/catalogue-city.webp") center / cover; }
.taxonomy-background { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.taxonomy-media:has(.taxonomy-icon)::before,
.taxonomy-media:has(.taxonomy-icon)::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
/* The 2:1 car assets end at 91% of their canvas height, about 84% of the card image. */
.taxonomy-media:has(.taxonomy-icon)::before {
  inset: auto 6% 10%;
  height: 12%;
  background: var(--car-ground-shadow);
  filter: blur(1.5px);
}
.taxonomy-media:has(.taxonomy-icon)::after {
  inset: auto 0 13%;
  height: 5%;
  background: var(--car-wheel-shadows);
}
.taxonomy-no-photo {
  position: absolute;
  z-index: 2;
  inset: auto auto 10px 10px;
  padding: 3px 7px;
  border-radius: 5px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
}
.taxonomy-media:has(.taxonomy-icon) .taxonomy-no-photo { display: none; }
.taxonomy-icon {
  position: absolute;
  z-index: 2;
  inset: auto 6% 8%;
  width: 88%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px #15171190);
}
.taxonomy-copy { display: grid; gap: 4px; padding: 14px 16px 17px; }
.taxonomy-logo {
  position: absolute;
  z-index: 3;
  top: 12px;
  left: 12px;
  display: block;
  width: 96px;
  padding: 8px;
  background: #fff;
  border: 1px solid #ffffffb3;
  border-radius: 10px;
  box-shadow: 0 2px 8px #26222014;
  pointer-events: none;
}
.taxonomy-logo-art { position: relative; display: block; aspect-ratio: 8 / 5; overflow: hidden; }
.taxonomy-logo img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: contain; }
.catalog-discover {
  position: fixed;
  z-index: 20;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  width: min(340px, calc(100vw - 32px));
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 12px 40px #26222026;
}
.catalog-discover p { margin: 0 24px 8px 0; font-size: 21px; font-weight: 730; }
.catalog-discover > span { display: block; font-size: 15px; line-height: 1.4; color: var(--muted); }
.catalog-discover > .button { margin-top: 16px; min-height: 44px; }
.catalog-discover-close { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; font-size: 26px; }
@media (max-width: 760px) {
  .taxonomy-logo { width: 72px; top: 8px; left: 8px; border-radius: 8px; padding: 6px; }
  .catalog-discover { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 16px; }
}
.taxonomy-copy h3 { font: 740 24px/1.12 var(--heading); margin: 0; overflow-wrap: anywhere; }
.taxonomy-copy p { margin: 0; font-size: 14px; color: var(--muted); }
.taxonomy-copy p span { padding-inline: 3px; }
.taxonomy-copy strong { margin-top: 4px; font: 750 23px/1.1 var(--heading); color: var(--burgundy); }
.taxonomy-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 12px;
  padding: 4px 16px;
  border-top: 1px solid var(--line);
}
.taxonomy-actions :is(a,button) { min-height: 42px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--burgundy); }
.taxonomy-actions a { margin-left: auto; }
.taxonomy-actions a:hover { text-decoration: underline; text-underline-offset: 4px; }
.taxonomy-actions :is(.model-toggle, a:only-child) {
  padding-inline: 10px;
  border-radius: 7px;
  background: var(--catalog-mint);
  color: var(--catalog-mint-ink);
  text-decoration: none;
}
.taxonomy-actions :is(.model-toggle:hover, .model-toggle[aria-expanded=true], a:only-child:hover) {
  background: var(--catalog-mint-hover);
}
.model-toggle[aria-expanded=true] span { transform: rotate(180deg); }
.brand-models {
  grid-column: 1 / -1;
  padding: 18px;
  background: var(--warm);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.brand-models h2 { font: 730 30px/1.1 var(--heading); margin: 0; }
.models-status { margin: 5px 0 15px; color: var(--muted); }

.map-heading .delivery-setting { font-size: 15px; }
.map-brand { width: min(245px, 100%); color: var(--muted); font-size: 14px; font-weight: 660; }
.map-brand select {
  display: block;
  width: 100%;
  min-height: 42px;
  margin-top: 5px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}
.map-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(245px, 305px); gap: 12px; margin-top: 12px; }
.market-atlas { margin: 0; }
.atlas-regions { display: grid; grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 1fr)); gap: 12px; }
.atlas-region {
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.atlas-label {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 2px 12px;
  padding: 12px 15px;
  border-bottom: 1px solid var(--line);
}
.atlas-label strong { font: 740 clamp(20px, 2vw, 28px)/1.05 var(--heading); }
.atlas-label span { color: var(--muted); font-size: 13px; }
.atlas-map {
  display: block;
  width: 100%;
  height: clamp(135px, 18vw, 242px);
  padding: 10px 12px;
  background: #eff5ed;
}
.atlas-map path {
  fill: #b8cfc3;
  stroke: var(--surface);
  stroke-width: 1.1;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  cursor: pointer;
  transition: fill .15s ease;
}
.atlas-map path.has-listings { fill: #619483; }
.atlas-map path:is(:hover, .is-active) { fill: var(--burgundy); }
.atlas-caption {
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 5px 0 0;
  font-size: 12px;
  color: var(--muted);
}
.atlas-caption a:hover { text-decoration: underline; }
.map-panel { background: var(--surface); border: 1px solid var(--line); padding: 14px; border-radius: var(--radius); min-width: 0; }
.map-panel :is(h2,p) { margin: 0; }
.map-panel h2 { font: 740 24px/1.1 var(--heading); margin-bottom: 8px; }
.country-metrics { display: flex; flex-wrap: wrap; gap: 4px 9px; color: var(--muted); font-size: 14px; }
.country-metrics span + span::before { content: "·"; margin-right: 9px; }
#map-summary { display: flex; flex-direction: column; }
.map-price { margin: 10px 0; padding: 8px 10px; border-radius: 7px; background: var(--bg); }
.map-price p, .map-price dt { font-size: 13px; color: var(--muted); }
.map-price dl { margin: 3px 0 0; }
.map-price dl div { display: flex; justify-content: space-between; align-items: baseline; gap: 5px; }
.map-price dd { margin: 0; font: 750 21px/1.25 var(--heading); color: var(--burgundy); text-align: right; font-variant-numeric: tabular-nums; }
.map-panel .button { width: 100%; justify-content: space-between; margin-top: auto; padding: 7px 10px; font-size: 14px; }
#map-status { color: var(--muted); margin: 4px; }
.country-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 7px; }
.country-list button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 42px;
  min-width: 0;
  gap: 5px;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 5px;
  padding: 5px 8px;
  font-size: 14px;
  text-align: left;
}
.country-list button[aria-pressed=true] { background: var(--accent); border-color: #7ba790; }
.country-list span { overflow-wrap: anywhere; }
.country-list b { font-variant-numeric: tabular-nums; white-space: nowrap; }

.search-page .catalog-layout { grid-template-columns: minmax(0,1fr); }
.search-page .market-tile {
  display: grid;
  grid-template-columns: minmax(70px, 24%) minmax(0, 1fr) auto;
  gap: 0;
  min-height: 68px;
  padding: 0;
  overflow: hidden;
  background: var(--surface);
}
.search-page .market-tile[aria-pressed=true] { background: var(--accent); border-color: var(--burgundy); box-shadow: none; }
.search-page .market-tile[aria-pressed=true] .market-check { background: var(--burgundy); }
.market-copy { padding: 8px 10px; }
.market-copy strong { font-size: 17px; }
.market-meta { justify-content: center; gap: 4px; margin: 0; padding: 7px 10px 7px 0; }
.market-copy small, .market-meta b { color: var(--muted); font-size: 13px; }
.market-check { background: var(--warm); color: var(--burgundy); }
.market-icon {
  align-self: stretch;
  position: relative;
  min-width: 0;
  width: 100%;
  height: auto;
  border-radius: 0;
  background: var(--surface);
}
.market-icon .country-flag {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.fx-strip { background: var(--warm); }
.fx-source, .fx-info, .fx-values { color: var(--muted); }
.section-line { padding-top: 22px; }
.section-line h2 { font: 710 32px/1.1 var(--heading); }
.filter-chip { background: var(--accent); border-color: #abc3b0; color: var(--ink); }
.search-page .filter-panel form { display: block; padding: 16px 18px; border: 1px solid var(--line); background: var(--surface); }
.filter-primary, .filter-extra-fields { display: grid; align-items: start; gap: 12px; }
.filter-primary { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.45fr); }
.filter-extra-fields { margin-top: 12px; }
.search-page .filter-panel :is(label,legend,small) { color: var(--muted); }
.search-page .filter-panel :is(label,legend) { font-size: 14px; }
.search-page .filter-panel :is(input[type=number],select) { height: 40px; background: var(--surface); border-color: var(--line); font-size: 14px; }
.search-page .filter-panel fieldset { min-width: 0; }
.search-page .filter-heading { margin: 0 0 11px; }
.search-page .filter-heading h3 { font-size: 17px; }
.search-page .filter-panel :is(label,fieldset) { margin: 0; }
.search-page .filter-panel small { font-size: 12px; }
.filter-extra { padding: 9px 0 0; margin-top: 10px; border-top: 1px solid var(--line); }
.filter-extra summary { cursor: pointer; color: var(--burgundy); font-weight: 700; font-size: 14px; width: fit-content; }
.filter-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 12px; }
.filter-footer .button { margin: 0; width: auto; }
.filter-footer .save-search { margin-left: auto; }
.search-page .cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.search-page .card { background: var(--surface); border-color: var(--line); color: var(--ink); }
.search-page .card-media { aspect-ratio: 3/2; background: var(--warm) url("/static/car-placeholder.svg") center/cover; }
.search-page .card-market { position: static; display: block; padding: 0; margin-bottom: 4px; color: var(--muted); background: transparent; font-size: 13px; }
.search-page .card-title { font: 730 22px/1.15 var(--heading); color: inherit; }
.search-page .card-price, .cost-summary strong { font-family: var(--heading); color: var(--burgundy); }
.search-page :is(.listing-price-label,.listing-car-price,.data-caption) { color: var(--muted); font-size: 13px; }
.search-page .card :is(.card-subtitle,.card-facts,.card-engine,.card-date,.card-evidence,.favorite-editor label) { color: var(--muted); font-size: 13px; }
.search-page .card-facts span { background: var(--bg); color: var(--ink); }
.search-page .card-title:hover { color: var(--burgundy); text-decoration: underline; }
.search-page .card .compare-button { color: var(--burgundy); font-size: 14px; }
.search-page .card .compare-button.selected { color: var(--mint-dark); }
.search-page .card-bottom { border-color: var(--line); }
.search-page .listing-prices, .cost-summary, .cost-complete { background: var(--accent); border-color: #abc3b0; }
.search-page .listing-prices { color: var(--ink); padding: 10px 12px; border-radius: 8px; }
.search-page .state-box, .compare-table th, .detail-dialog, .lead-dialog, .calc-step { background: var(--surface); border-color: var(--line); }
.search-page #results-count { white-space: normal; }
#saved-searches-panel > p { color: var(--muted); margin: 0 0 16px; }
.saved-search-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.saved-search-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.saved-search-list .text-button { min-height: 44px; font-size: 14px; }
.saved-search-list .saved-search-name { flex: 1; min-width: 0; text-align: left; overflow-wrap: anywhere; }
.saved-search-name strong { display: block; font-size: 18px; }
.saved-search-new { display: flex; align-items: center; gap: 6px; color: var(--mint-dark); }
.saved-search-new .search-notification { flex: none; border: 1px solid var(--mint-dark); }
.saved-search-results {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 0 0 16px;
}
.saved-search-results p { margin: 0 auto 0 0; font-weight: 650; overflow-wrap: anywhere; }
.compare-table tbody tr:nth-child(2) { background: var(--accent); }
.compare-table td { text-align: right; }
.cost-summary :is(p,span), .calculator-heading > p:last-child, .cost-unknown :is(b,span) { color: var(--muted); }
.calc-step > summary { background: var(--bg); }
.compare-dock { background: var(--surface); border-color: var(--line); }
.compare-dock b, .favorite-button.saved { background: var(--accent); }
.prose h1 { font-family: var(--heading); }


@media (max-width: 1080px) {
  .catalog-filter-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 20px; }
  .catalog-countries { grid-column: 1/-1; }
}
@media (max-width: 1080px) {
  .header .header-inner { grid-template-columns: auto 1fr auto; gap: 14px; }
  .header .primary-nav { gap: 12px; }
  .header .collection-nav { gap: 8px; }
}
@media (max-width: 950px) {
  .filter-primary { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .search-page .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1040px) {
  html { scroll-padding-top: 115px; }
  .header .header-inner { width: calc(100% - 32px); grid-template-columns: minmax(0, 1fr) auto; gap: 0 10px; padding-top: 8px; }
  .header .wordmark { width: 164px; }
  .header .primary-nav { grid-column: 1/-1; grid-row: 2; justify-content: space-between; }
  .header nav a { padding-block: 10px 8px; font-size: 14px; }
  .header .collection-nav a { font-size: 12px; padding-block: 6px 4px; }
}
@media (max-width: 540px) {
  html { scroll-padding-top: 146px; }
  .header .header-inner { grid-template-columns: minmax(0,1fr); }
  .header .primary-nav { flex-wrap: wrap; justify-content: flex-start; }
  .header .collection-nav {
    grid-column: 1/-1;
    grid-row: 3;
    justify-content: space-between;
    gap: 6px;
    border-top: 1px solid #ffffff4d;
  }
  .header .collection-nav a { padding-block: 8px 6px; }
}
@media (max-width: 760px) {
  .page-heading { align-items: start; flex-direction: column; padding-block: 28px 18px; gap: 9px; }
  .page-heading h1 + p { margin-top: 8px; }
  .page-next { font-size: 14px; }
  .brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .taxonomy-copy { padding: 11px; }
  .taxonomy-copy h3 { font-size: 21px; }
  .taxonomy-copy strong { font-size: 19px; }
  .taxonomy-actions { padding-inline: 11px; }
  .taxonomy-actions :is(button,a) { font-size: 13px; min-height: 36px; }
  .brand-models { padding: 12px; }
  .map-layout { grid-template-columns: 1fr; }
  .atlas-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .atlas-europe { grid-column: 1 / -1; }
  .atlas-label { padding: 9px 10px; }
  .atlas-label span { font-size: 12px; }
  .atlas-map { height: 95px; padding: 5px 8px; }
  .atlas-europe .atlas-map { height: 134px; }
  .country-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 128px), 1fr)); }
  .search-page .market-tile { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr auto; }
  .market-icon { aspect-ratio: 3/2; }
  .market-copy { padding: 7px 8px 4px; }
  .market-copy small { font-size: 11px; white-space: normal; }
  .market-meta { flex-direction: row; align-items: center; justify-content: space-between; padding: 0 8px 8px; }
  .market-meta b { font-size: 11px; white-space: normal; }
  .market-check { position: static; flex-shrink: 0; }
  .search-page .filter-panel.open { background: var(--surface); border-color: var(--line); }
  .search-page .filter-panel form { border: 0; }
  .search-page .filter-heading { background: var(--surface); }
  .filter-primary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-primary > :first-child, .filter-budget { grid-column: 1/-1; }
  .filter-extra-fields .input-pair { gap: 6px; }
  .filter-footer { position: sticky; bottom: 0; z-index: 2; padding: 8px 0; background: var(--surface); gap: 6px; }
  .filter-footer .button { flex: 1 1 auto; padding: 10px; font-size: 12px; }
  .filter-footer .filter-submit { position: static; box-shadow: none; }
}
@media (max-width: 640px) {
  .catalog-filters { padding-inline: 14px; }
  .catalog-filter-row { grid-template-columns: minmax(0, 1fr); }
  .catalog-country-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-country-buttons label:first-child { grid-column: 1/-1; }
  .catalog-country-buttons label > span { height: 100%; }
  .catalog-price-slider { --thumb-size: 28px; height: 36px; }
  .catalog-extra-fields { gap: 12px; }
  .catalog-extra-fields .input-pair { gap: 5px; }
  .catalog-extra-fields .input-pair input { padding-inline: 6px; }
}
@media (max-width: 420px) {
  .header .wordmark { width: 160px; }
  .header .primary-nav {
    display: grid;
    grid-template-columns: repeat(4, auto);
    justify-content: space-between;
    justify-items: start;
    gap: 0 6px;
  }
  .header .primary-nav a { font-size: 13px; }
  .header .collection-nav a { font-size: 11px; }
  .catalog-extra summary, .catalog-reset { font-size: 13px; }
  .catalog-extra summary { gap: 5px; }
  .catalog-reset { padding-inline: 0; }
  .country-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .country-list button { font-size: 13px; }
  .browse-bar { align-items: start; flex-direction: column; gap: 2px; }
  .search-page .cards { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 365px) {
  html { scroll-padding-top: 194px; }
  .header .primary-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: start;
    gap: 0 6px;
  }
}
.origin-filter { margin-block: 12px; }
.origin-filter summary, .estimate-details summary { cursor: pointer; font-weight: 600; }
.origin-options { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; }
.origin-options label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 3px 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  cursor: pointer;
}
.origin-options label:has(input:checked) { background: var(--accent); border-color: var(--mint-dark); }
.origin-options input[type="checkbox"] { width: 16px; height: 16px; }
.filter-group-fields:has(> .body-filter) {
  --parameter-height: 50px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.body-filter { grid-column: span 2; }
.body-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 87px), 1fr));
  gap: 7px;
}
:is(.browse-filters,.filter-panel) .body-choice {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  min-height: var(--parameter-height);
  padding: 4px 3px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--ink);
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
}
.body-choice svg {
  width: 45px;
  height: 19px;
  fill: none;
  stroke: var(--burgundy);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.body-choice input[type="checkbox"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
:is(.browse-filters,.filter-panel) .body-choice:hover { border-color: var(--burgundy); }
:is(.browse-filters,.filter-panel) .body-choice:has(input:checked) {
  background: var(--accent);
  border-color: var(--mint-dark);
}
.body-choice:has(input:checked)::after {
  content: "";
  position: absolute;
  inset: 6px 7px auto auto;
  width: 8px;
  height: 4px;
  border: solid var(--mint-dark);
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
}
.body-choice:has(input:focus-visible) { outline: 2px solid var(--burgundy); outline-offset: 2px; }
.filter-primary > :is(.origin-filter,#selected-models) { grid-column: 1/-1; }
.filter-primary > .origin-filter { margin-block: 4px 0; }
.model-picker #add-model { min-height: 32px; padding-left: 0; text-align: left; }
.model-picker #add-model:disabled { display: none; }
.filter-primary > .filter-budget { grid-column: -2/-1; grid-row: 1; }
#selected-models:empty { display: none; }
.search-page .filter-panel .catalog-price-slider input[type=range] {
  height: 100%;
  padding: 0;
  background: transparent;
}
.filter-budget input::-webkit-inner-spin-button { appearance: none; }
.filter-budget input[type=number] { appearance: textfield; }
.filter-group-fields, .equipment-groups {
  display: grid;
  gap: 12px;
}
.filter-group-fields {
  --parameter-height: 42px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}
.equipment-groups { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
:is(.browse-filters,.filter-panel) :is(.filter-group,.equipment-group) {
  min-inline-size: 0;
  padding: 9px 12px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
}
.filter-group > legend, .equipment-group > legend {
  padding-inline: 5px;
  color: var(--burgundy);
  font-weight: 700;
}
.search-page .filter-panel :is(.filter-group,.equipment-group) > legend { color: var(--burgundy); }
:is(.browse-filters,.filter-panel) .filter-parameter {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  padding: 8px 9px 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
}
.filter-parameter-title { color: var(--ink); font-size: 14px; line-height: 20px; font-weight: 660; }
:is(.browse-filters,.search-page .filter-panel) .filter-parameter :is(input[type=number],select) {
  height: var(--parameter-height);
  min-width: 0;
  width: 100%;
  margin: 0;
}
:is(.browse-filters,.search-page .filter-panel) .volume-bound {
  display: flex;
  align-items: center;
  min-width: 0;
  height: var(--parameter-height);
  padding-left: 6px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
}
:is(.browse-filters,.search-page .filter-panel) .filter-parameter .volume-bound select {
  flex: 1;
  height: 100%;
  padding: 0 2px 0 3px;
  border: 0;
  background: transparent;
}
.volume-bound:has(select:focus-visible) { outline: 2px solid var(--burgundy); outline-offset: 2px; }
.volume-bound select:focus-visible { outline: none; }
.filter-group-fields > *, .filter-group-fields .input-pair input, .filter-budget .input-pair input { min-width: 0; }
.filter-group .input-pair, .filter-budget .input-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.equipment-options { display: grid; gap: 7px; }
.equipment-options label { cursor: pointer; }
.filter-freshness { padding-top: 7px; border-top: 1px solid var(--line); }
.search-page .card-media { aspect-ratio: 3 / 2; }
.search-page .card-media .card-market-overlay {
  position: absolute;
  inset: 10px auto auto 10px;
  z-index: 1;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
}
.search-page .destination-estimate { margin-block: 8px 11px; }
.destination-estimate .card-price { display: block; margin-block: 2px; }
.estimate-details { margin-top: 6px; font-size: 13px; }
.estimate-details table { width: 100%; border-collapse: collapse; margin-top: 4px; }
.estimate-details th, .estimate-details td { padding-block: 5px; border-bottom: 1px solid var(--line); }
.estimate-details th { text-align: left; font-weight: 500; }
.estimate-details td { text-align: right; font-variant-numeric: tabular-nums; padding-inline-start: 8px; }
.destination-estimate td { white-space: nowrap; }
.estimate-details .muted { margin: 6px 0 0; font-size: 12px; }
.card-evidence { margin: 5px 0; color: var(--muted); font-size: 12px; }
.compare-mode { margin: 10px 0; }
.favorite-editor { display: grid; gap: 7px; margin-top: 10px; }
.favorite-editor label { display: grid; gap: 3px; }
.favorite-editor textarea { min-width: 0; max-width: 100%; }
@media (max-width: 1060px) {
  .filter-group-fields:has(> .body-filter) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .body-filter { grid-column: 1/-1; }
  .filter-primary > .filter-budget { grid-column: 1/-1; grid-row: auto; }
}
@media (max-width: 580px) {
  .filter-group-fields:has(> .body-filter) { grid-template-columns: minmax(0, 1fr); }
  .map-brand { width: 100%; }
  .search-page .cards { grid-template-columns: minmax(0,1fr); }
  .search-page .favorite-button { min-width: 44px; min-height: 44px; }
}
