/* Inventory-only visual system. Loaded after the shared styles. */
body.route-vehicles,
body.route-vehicle_show {
    --inv-bg: #fff;
    --inv-surface: #f3f5f4;
    --inv-ink: #1b2225;
    --inv-muted: #5d696d;
    --inv-line: #dce2e1;
    --inv-accent: #bc2635;
    color: var(--inv-ink);
}

html[data-theme="dark"] body.route-vehicles,
html[data-theme="dark"] body.route-vehicle_show {
    --inv-bg: #151a1c;
    --inv-surface: #202729;
    --inv-ink: #f4f6f5;
    --inv-muted: #b2bec0;
    --inv-line: #394346;
    --inv-accent: #eb6873;
}

html[data-theme] body.route-vehicles .urban-inventory,
html[data-theme] body.route-vehicle_show .urban-detail,
html[data-theme] body.route-vehicle_show .urban-detail-body,
html[data-theme] body.route-vehicle_show .urban-stock {
    background: var(--inv-bg);
    color: var(--inv-ink);
}

body.route-vehicles .jtf-inventory-eyebrow,
body.route-vehicle_show .urban-detail__brand {
    display: block;
    margin: 0;
    color: var(--inv-accent);
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    text-transform: uppercase;
}

/* Catalogue introduction */
body.route-vehicles .urban-inventory-hero {
    position: relative;
    isolation: isolate;
    min-height: 340px;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: #1a2225;
    color: #fff;
}

body.route-vehicles .urban-inventory-hero__image {
    position: absolute;
    z-index: -1;
    inset: 0 0 0 48%;
}

body.route-vehicles .urban-inventory-hero__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 60%;
}

body.route-vehicles .urban-inventory-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: '';
    background: linear-gradient(90deg, #1a2225 0%, #1a2225 42%, #1a2225e8 52%, #1a222500 76%);
}

body.route-vehicles .urban-inventory-hero__grid {
    min-height: 340px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 32px;
    padding-block: 56px 44px;
}

body.route-vehicles .urban-inventory-hero__copy { max-width: 530px; }
body.route-vehicles .urban-inventory-hero .jtf-inventory-eyebrow { color: #f4a5ab; }
body.route-vehicles .urban-inventory-hero .jtf-inventory-eyebrow span { margin-inline: 8px; color: #fff; }
body.route-vehicles .urban-inventory-hero h1,
html[data-theme="light"] body.route-vehicles .urban-inventory-hero h1 {
    max-width: none;
    margin: 17px 0 0;
    color: #fff;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: none;
}

body.route-vehicles .urban-inventory-hero .urban-inventory-hero__intro {
    max-width: 440px;
    margin: 19px 0 0;
    color: #dce4e3;
    font-size: 14px;
    line-height: 1.7;
}

body.route-vehicles .urban-inventory-hero__count {
    min-width: 120px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: right;
}

body.route-vehicles .urban-inventory-hero__count strong,
html[data-theme="light"] body.route-vehicles .urban-inventory-hero__count strong {
    color: #fff;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 54px;
    font-weight: 700;
    line-height: 1;
}

body.route-vehicles .urban-inventory-hero__count span,
html[data-theme="light"] body.route-vehicles .urban-inventory-hero__count span {
    display: block;
    color: #dce4e3;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

/* Browsing and filters */
body.route-vehicles .urban-inventory { padding-block: 58px 104px; }
body.route-vehicles .urban-inventory__layout {
    grid-template-columns: minmax(240px, 275px) minmax(0, 1fr);
    gap: 36px;
}

body.route-vehicles .urban-filter-console,
html[data-theme="light"] body.route-vehicles .urban-filter-console {
    top: 94px;
    max-height: calc(100svh - 112px);
    border: 0;
    border-right: 1px solid var(--inv-line);
    padding-right: 24px;
    background: transparent;
    color: var(--inv-ink);
}

body.route-vehicles .urban-filter-console__head {
    min-height: 68px;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--inv-line);
}

body.route-vehicles .urban-filter-console__head-copy { display: grid; gap: 4px; }
body.route-vehicles .urban-filter-console__head-copy small { color: var(--inv-accent); font-size: 11px; font-weight: 800; text-transform: uppercase; }
body.route-vehicles .urban-filter-console__head strong,
html[data-theme="light"] body.route-vehicles .urban-filter-console__head strong { color: var(--inv-ink); font-size: 21px; line-height: 1.2; }
body.route-vehicles .urban-filter-console__head .jtf-filter-chevron { color: var(--inv-ink); }
body.route-vehicles .urban-filter-console__form { gap: 17px; padding: 20px 0 0; }
body.route-vehicles .urban-filter-console__grid { gap: 15px; padding-right: 7px; }
body.route-vehicles .urban-filter-console label,
html[data-theme="light"] body.route-vehicles .urban-filter-console label { color: var(--inv-muted); font-size: 11px; font-weight: 800; text-transform: none; }

body.route-vehicles .urban-filter-console input,
body.route-vehicles .urban-filter-console select,
html[data-theme="light"] body.route-vehicles .urban-filter-console input,
html[data-theme="light"] body.route-vehicles .urban-filter-console select {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--inv-line);
    border-radius: 3px;
    background: var(--inv-bg);
    color: var(--inv-ink);
    font-size: 13px;
}

body.route-vehicles .urban-filter-console input::placeholder { color: var(--inv-muted); }
body.route-vehicles .urban-filter-console__actions { background: var(--inv-bg); padding-top: 15px; }
body.route-vehicles .urban-filter-console__actions .btn { width: 100%; justify-content: center; background: var(--inv-ink); color: var(--inv-bg); }
body.route-vehicles .urban-filter-console__actions .btn:hover { background: var(--inv-accent); color: #fff; }
body.route-vehicles .urban-filter-console__actions .btn--ghost { border-color: var(--inv-line); background: transparent; color: var(--inv-ink); }
body.route-vehicles .urban-filter-console__actions .btn--ghost:hover { border-color: var(--inv-ink); }

body.route-vehicles .urban-inventory__toolbar,
html[data-theme="light"] body.route-vehicles .urban-inventory__toolbar {
    align-items: end;
    margin: 0 0 22px;
    padding: 0 0 19px;
    border: 0;
    border-bottom: 1px solid var(--inv-line);
    background: transparent;
}

body.route-vehicles .urban-inventory__toolbar h2,
html[data-theme="light"] body.route-vehicles .urban-inventory__toolbar h2 {
    margin: 6px 0 0;
    color: var(--inv-ink);
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 25px;
    line-height: 1.25;
    text-transform: none;
}

body.route-vehicles .urban-inventory__toolbar .section-link { color: var(--inv-ink); font-size: 12px; text-decoration: none; text-transform: none; white-space: nowrap; }
body.route-vehicles .urban-inventory__toolbar .section-link span { margin-left: 10px; color: var(--inv-accent); font-size: 18px; }
body.route-vehicles .urban-inventory__toolbar .section-link:hover { color: var(--inv-accent); }

body.route-vehicles .urban-inventory__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; border: 0; background: transparent; }
body.route-vehicles .urban-empty { padding: 38px; border-color: var(--inv-line); background: var(--inv-surface); color: var(--inv-ink); }

/* Inventory cards, including related vehicles on the detail page */
body.route-vehicles .vehicle-card.urban-vehicle-card,
body.route-vehicle_show .urban-stock .vehicle-card.urban-vehicle-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--inv-line);
    border-radius: 3px;
    background: var(--inv-bg);
    box-shadow: none;
}

body.route-vehicles .vehicle-card .urban-vehicle-card__media,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__media { aspect-ratio: 4 / 3; background: var(--inv-surface); }
body.route-vehicles .vehicle-card .urban-vehicle-card__media img,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__media img { width: 100%; height: 100%; object-fit: cover; }
body.route-vehicles .vehicle-card .urban-vehicle-card__status,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__status { background: #1b2225; color: #fff; }
body.route-vehicles .vehicle-card .urban-vehicle-card__flag,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__flag { background: var(--inv-accent); color: #fff; }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__brand,
body.route-vehicle_show .urban-stock .vehicle-card.urban-vehicle-card .urban-vehicle-card__brand { display: block; color: var(--inv-muted); font-size: 11px; }

body.route-vehicles .vehicle-card .urban-vehicle-card__content,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__content,
html[data-theme="light"] body.route-vehicles .vehicle-card .urban-vehicle-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 13px;
    padding: 17px;
    background: var(--inv-bg);
    color: var(--inv-ink);
}

body.route-vehicles .vehicle-card h3,
body.route-vehicle_show .urban-stock .vehicle-card h3 { min-height: 0; margin: 0; color: var(--inv-ink); font-family: 'Manrope', Arial, sans-serif; font-size: 17px; line-height: 1.35; }
body.route-vehicles .vehicle-card h3 a,
body.route-vehicle_show .urban-stock .vehicle-card h3 a { color: inherit; }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__price,
body.route-vehicle_show .urban-stock .vehicle-card.urban-vehicle-card .urban-vehicle-card__price { color: var(--inv-ink); font-family: 'Manrope', Arial, sans-serif; font-size: 18px; font-weight: 800; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__specs { gap: 9px; padding-top: 13px; border-top: 1px solid var(--inv-line); }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dt,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__specs dt { color: var(--inv-muted); }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dd,
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__specs dd { color: var(--inv-ink); }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta,
body.route-vehicle_show .urban-stock .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta,
html[data-theme="light"] body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta { margin-top: auto; padding-top: 12px; border-color: var(--inv-line); color: var(--inv-accent); font-weight: 800; }

/* Vehicle detail: photographs first, buying conversation second. */
body.route-vehicle_show .urban-detail { padding-block: 20px 72px; }
body.route-vehicle_show .urban-detail__topbar { padding: 9px 0 22px; color: var(--inv-muted); font-size: 12px; font-weight: 700; text-transform: none; }
body.route-vehicle_show .urban-detail__topbar a { color: var(--inv-ink); text-decoration: none; }
body.route-vehicle_show .urban-detail__topbar a:hover { color: var(--inv-accent); }
body.route-vehicle_show .urban-detail__topbar a span { margin-right: 8px; color: var(--inv-accent); font-size: 18px; }
body.route-vehicle_show .urban-detail__location span { margin-inline: 6px; color: var(--inv-accent); }
body.route-vehicle_show .urban-detail__grid { grid-template-columns: minmax(0, 1.42fr) minmax(310px, .78fr); gap: 28px; border: 0; background: transparent; }
body.route-vehicle_show .urban-detail__gallery { position: static; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; padding: 0; background: transparent; }
body.route-vehicle_show .urban-detail__main-image { width: 100%; aspect-ratio: 4 / 3; background: var(--inv-surface); }
body.route-vehicle_show .urban-detail__main-image img { width: 100%; height: 100%; min-height: 0; max-height: none; object-fit: contain; background: var(--inv-surface); }
body.route-vehicle_show .urban-detail__main-image figcaption { left: 15px; bottom: 15px; padding: 7px 10px; border-radius: 2px; background: #1b2225; color: #fff; font-size: 11px; font-weight: 700; text-transform: none; }
body.route-vehicle_show .urban-detail__thumbs-shell { position: static; display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; grid-template-rows: auto; gap: 8px; width: 100%; min-height: 0; overflow: visible; background: transparent; }
body.route-vehicle_show .urban-detail__thumbs-shell--static { grid-template-columns: 1fr; }
body.route-vehicle_show .urban-detail__thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: auto; gap: 8px; min-width: 0; overflow: visible; background: transparent; }
body.route-vehicle_show .urban-detail__thumbs button { overflow: hidden; background: var(--inv-surface); }
body.route-vehicle_show .urban-detail__thumbs img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; opacity: .72; }
body.route-vehicle_show .urban-detail__thumbs span { display: none; }
body.route-vehicle_show .urban-detail__thumbs button.is-active::after { border: 2px solid var(--inv-accent); }
body.route-vehicle_show .urban-detail__thumb-nav { min-height: 0; background: var(--inv-surface); color: var(--inv-ink); }
body.route-vehicle_show .urban-detail__thumb-nav:hover:not(:disabled) { background: var(--inv-ink); color: var(--inv-bg); }
body.route-vehicle_show .urban-detail__thumb-nav--prev span,
body.route-vehicle_show .urban-detail__thumb-nav--next span { display: inline-block; transform: rotate(-90deg); }

body.route-vehicle_show .urban-detail__summary,
html[data-theme="light"] body.route-vehicle_show .urban-detail__summary { display: flex; min-width: 0; min-height: 0; flex-direction: column; align-self: start; padding: 32px; border: 1px solid var(--inv-line); background: var(--inv-bg); color: var(--inv-ink); }
body.route-vehicle_show .urban-detail__summary { min-height: 0; }
body.route-vehicle_show .urban-detail__brand { margin-bottom: 13px; }
body.route-vehicle_show .urban-detail__brand span { margin-inline: 5px; color: var(--inv-muted); }
body.route-vehicle_show .urban-detail__summary h1,
html[data-theme="light"] body.route-vehicle_show .urban-detail__summary h1 { max-width: none; color: var(--inv-ink); font-family: 'Manrope', Arial, sans-serif; font-size: 36px; line-height: 1.18; text-transform: none; }
body.route-vehicle_show .urban-detail__summary .v3-demo-note { max-width: 330px; color: var(--inv-muted); }
body.route-vehicle_show .urban-detail__note { margin: 20px 0 0; color: var(--inv-muted); font-size: 13px; }
body.route-vehicle_show .urban-detail__quick-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 27px 0 0; border-block: 1px solid var(--inv-line); background: transparent; }
body.route-vehicle_show .urban-detail__summary > .urban-detail__quick-specs { margin-block: 27px 0; }
body.route-vehicle_show .urban-detail__quick-specs div,
html[data-theme="light"] body.route-vehicle_show .urban-detail__quick-specs div { min-width: 0; padding: 14px 6px 14px 0; border-bottom: 1px solid var(--inv-line); background: transparent; }
body.route-vehicle_show .urban-detail__quick-specs dt,
html[data-theme="light"] body.route-vehicle_show .urban-detail__quick-specs dt { color: var(--inv-muted); font-size: 11px; text-transform: none; }
body.route-vehicle_show .urban-detail__quick-specs dd,
html[data-theme="light"] body.route-vehicle_show .urban-detail__quick-specs dd { color: var(--inv-ink); font-size: 14px; font-weight: 800; overflow-wrap: anywhere; }
body.route-vehicle_show .urban-detail__summary-footer { margin-top: 20px; padding-top: 24px; gap: 18px; }
body.route-vehicle_show .urban-detail__price { display: grid; gap: 3px; color: var(--inv-ink); font-family: 'Manrope', Arial, sans-serif; }
body.route-vehicle_show .urban-detail__price span { color: var(--inv-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
body.route-vehicle_show .urban-detail__price strong,
html[data-theme="light"] body.route-vehicle_show .urban-detail__price strong { color: var(--inv-ink); font-size: 28px; line-height: 1.2; }
body.route-vehicle_show .urban-detail__actions { gap: 9px; }
body.route-vehicle_show .urban-detail__actions .btn { justify-content: center; background: var(--inv-ink); color: var(--inv-bg); }
body.route-vehicle_show .urban-detail__actions .btn:hover { background: var(--inv-accent); color: #fff; }
body.route-vehicle_show .urban-detail__actions .btn--ghost { border-color: var(--inv-line); background: transparent; color: var(--inv-ink); }
body.route-vehicle_show .urban-detail__actions .btn--ghost:hover { border-color: var(--inv-ink); }

body.route-vehicle_show .urban-detail-body { padding-bottom: 88px; }
body.route-vehicle_show .urban-detail-body__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 72px; row-gap: 58px; border: 0; background: transparent; }
body.route-vehicle_show .urban-detail-panel,
html[data-theme="light"] body.route-vehicle_show .urban-detail-panel { min-width: 0; padding: 0; border: 0; background: transparent; color: var(--inv-ink); }
body.route-vehicle_show .urban-detail-panel--lead { grid-column: 1 / -1; max-width: 860px; padding-bottom: 30px; border-bottom: 1px solid var(--inv-line); }
body.route-vehicle_show .urban-detail-panel .urban-kicker { margin: 0 0 18px; color: var(--inv-ink); font-family: 'Manrope', Arial, sans-serif; font-size: 27px; font-weight: 700; line-height: 1.2; text-transform: none; }
body.route-vehicle_show .urban-detail-panel--lead p { max-width: 760px; margin: 0; color: var(--inv-muted); font-size: 15px; line-height: 1.8; }
body.route-vehicle_show .urban-detail__demo-note { color: var(--inv-muted) !important; border-color: var(--inv-accent); }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 0; border-top: 1px solid var(--inv-line); background: transparent; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div { min-height: 0; padding: 14px 8px 14px 0; border-bottom: 1px solid var(--inv-line); background: transparent; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech dt { color: var(--inv-muted); font-size: 11px; text-transform: none; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech dd,
html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech dd { margin-top: 4px; color: var(--inv-ink); font-size: 14px; font-weight: 800; overflow-wrap: anywhere; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features { margin: 0; gap: 22px; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features h2,
html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--features .urban-detail__features h2 { margin: 0 0 10px; color: var(--inv-ink); font-size: 15px; font-weight: 800; text-transform: none; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features span { display: block; min-height: 0; padding: 9px 0 9px 17px; border: 0; border-bottom: 1px solid var(--inv-line); background: transparent; color: var(--inv-ink); font-size: 13px; font-weight: 600; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features span::before { content: '\2022'; display: inline-block; width: 17px; margin-left: -17px; color: var(--inv-accent); }
body.route-vehicle_show .urban-detail-panel--cta,
html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--cta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 38px 42px; background: #1b2225; text-align: left; }
body.route-vehicle_show .urban-detail-panel--cta h2,
html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--cta h2 { max-width: 460px; color: #fff; font-family: 'Manrope', Arial, sans-serif; font-size: 30px; line-height: 1.2; text-transform: none; }
body.route-vehicle_show .urban-detail-panel--cta div { justify-content: flex-end; }
body.route-vehicle_show .urban-detail-panel--cta .btn { background: #fff; color: #1b2225; }
body.route-vehicle_show .urban-detail-panel--cta .btn--ghost { border-color: #fff8; background: transparent; color: #fff; }

body.route-vehicle_show .urban-stock { padding-block: 78px 100px; border-top: 1px solid var(--inv-line); }
body.route-vehicle_show .urban-stock .urban-section__head h2 { color: var(--inv-ink); font-family: 'Manrope', Arial, sans-serif; font-size: 34px; line-height: 1.2; text-transform: none; }
body.route-vehicle_show .urban-stock .section-link { color: var(--inv-accent); text-transform: none; }
body.route-vehicle_show .urban-stock__rail { gap: 18px; border: 0; background: transparent; }

body.route-vehicles :is(a, button, summary, input, select):focus-visible,
body.route-vehicle_show :is(a, button, summary):focus-visible { outline: 2px solid var(--inv-accent); outline-offset: 3px; }

@media (max-width: 1180px) {
    body.route-vehicles .urban-inventory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.route-vehicle_show .urban-detail__grid { grid-template-columns: minmax(0, 1.15fr) minmax(295px, .85fr); }
    body.route-vehicle_show .urban-detail__summary { padding: 24px; }
}

@media (max-width: 900px) {
    body.route-vehicles .urban-inventory__layout { grid-template-columns: 1fr; gap: 30px; }
    body.route-vehicles .urban-filter-console { position: static; max-height: none; padding: 0; border: 1px solid var(--inv-line); }
    body.route-vehicles .urban-filter-console__head { padding: 15px 20px; }
    body.route-vehicles .urban-filter-console__form { padding: 20px; }
    body.route-vehicles .urban-filter-console__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
    body.route-vehicles .urban-filter-console__actions { grid-template-columns: 1fr 1fr; }
    body.route-vehicle_show .urban-detail__grid { grid-template-columns: 1fr; }
    body.route-vehicle_show .urban-detail__summary { padding: 30px; }
    body.route-vehicle_show .urban-detail__summary-footer { margin-top: 0; }
    body.route-vehicle_show .urban-detail__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.route-vehicle_show .urban-detail-body__grid { column-gap: 36px; }
}

@media (max-width: 760px) {
    body.route-vehicles .urban-inventory-hero { display: flex; flex-direction: column; }
    body.route-vehicles .urban-inventory-hero__image { position: relative; z-index: auto; inset: auto; order: 2; height: 180px; }
    body.route-vehicles .urban-inventory-hero__image img { object-position: center 58%; }
    body.route-vehicles .urban-inventory-hero::after { display: none; }
    body.route-vehicles .urban-inventory-hero__grid { min-height: 0; order: 1; padding-block: 32px 34px; }
    body.route-vehicles .urban-inventory-hero h1,
    html[data-theme="light"] body.route-vehicles .urban-inventory-hero h1 { font-size: 36px; }
    body.route-vehicles .urban-inventory-hero__count { display: none; }
    body.route-vehicles .urban-inventory { padding-block: 30px 70px; }
    body.route-vehicles .urban-filter-console__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.route-vehicles .urban-inventory__toolbar { display: flex; }
    body.route-vehicles .urban-inventory__toolbar h2 { font-size: 20px; }
    body.route-vehicles .urban-inventory__toolbar .section-link { display: none; }
    body.route-vehicle_show .urban-detail { padding-block: 12px 48px; }
    body.route-vehicle_show .urban-detail__location { display: none; }
    body.route-vehicle_show .urban-detail__main-image { aspect-ratio: 4 / 3; }
    body.route-vehicle_show .urban-detail__thumbs-shell { grid-template-columns: 26px minmax(0, 1fr) 26px; gap: 5px; }
    body.route-vehicle_show .urban-detail__thumbs-shell--static { grid-template-columns: minmax(0, 1fr); }
    body.route-vehicle_show .urban-detail__thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; gap: 5px; }
    body.route-vehicle_show .urban-detail__thumbs button { aspect-ratio: 4 / 3; }
    body.route-vehicle_show .urban-detail__summary { padding: 23px; }
    body.route-vehicle_show .urban-detail__summary h1 { font-size: 29px; }
    body.route-vehicle_show .urban-detail-body__grid { grid-template-columns: 1fr; row-gap: 42px; }
    body.route-vehicle_show .urban-detail-panel--lead { grid-column: auto; }
    body.route-vehicle_show .urban-detail-panel--cta,
    html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--cta { display: grid; justify-items: start; padding: 30px 25px; }
    body.route-vehicle_show .urban-detail-panel--cta div { justify-content: flex-start; }
    body.route-vehicle_show .urban-stock__rail { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    body.route-vehicles .urban-filter-console__grid { grid-template-columns: 1fr; }
    body.route-vehicles .urban-filter-console__actions { grid-template-columns: 1fr; }
    body.route-vehicles .urban-inventory__grid { grid-template-columns: 1fr; }
    body.route-vehicle_show .urban-detail__actions { grid-template-columns: 1fr; }
    body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.route-vehicle_show .urban-detail-panel--features .urban-detail__features div { grid-template-columns: 1fr; }
    body.route-vehicle_show .urban-detail-panel--cta h2 { font-size: 26px; }
}

@media (prefers-reduced-motion: reduce) {
    body.route-vehicles .vehicle-card .urban-vehicle-card__media img,
    body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__media img { transition: none; }
}

/* Catalogue mockup alignment; every rule is limited to the vehicles route. */
body.route-vehicles .urban-inventory-hero { min-height: 223px; background:#171a1b; }
body.route-vehicles .urban-inventory-hero__image { inset:0; }
body.route-vehicles .urban-inventory-hero__image img { object-position:center 20%; }
body.route-vehicles .urban-inventory-hero::after { background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 31%,transparent 62%); }
body.route-vehicles .urban-inventory-hero__grid { min-height:223px; display:flex; align-items:center; padding-block:27px; }
body.route-vehicles .urban-inventory-hero__copy { max-width:580px; }
body.route-vehicles .urban-inventory-hero h1,html[data-theme="light"] body.route-vehicles .urban-inventory-hero h1 { margin:0; font-size:clamp(38px,4vw,56px); line-height:1.08; }
body.route-vehicles .urban-inventory-hero .urban-inventory-hero__intro { max-width:390px; margin-top:12px; color:#fff; font-size:15px; line-height:1.55; }
body.route-vehicles .urban-inventory { padding-block:18px 12px; }
body.route-vehicles .urban-inventory__layout { grid-template-columns:minmax(245px,320px) minmax(0,1fr); gap:24px; }
body.route-vehicles .urban-filter-console,html[data-theme="light"] body.route-vehicles .urban-filter-console { position:relative; top:0; max-height:none; overflow:visible; padding:15px 16px 18px; border:0; border-radius:10px; background:var(--inv-surface); box-shadow:0 8px 24px rgba(22,34,42,.04); }
body.route-vehicles .urban-filter-console__head { display:flex; min-height:24px; padding:0; border:0; }
body.route-vehicles .urban-filter-console__head-copy strong,html[data-theme="light"] body.route-vehicles .urban-filter-console__head strong { font-size:13px; font-weight:800; }
body.route-vehicles .urban-filter-console__head-copy strong::before { content:'☷'; margin-right:12px; font-size:18px; }
body.route-vehicles .urban-filter-console__head .jtf-filter-chevron { display:none; }
body.route-vehicles .urban-filter-console__clear { position:absolute; top:20px; right:16px; color:#d0122e; font-size:11px; font-weight:700; }
body.route-vehicles .urban-filter-console__form { gap:14px; padding-top:18px; }
body.route-vehicles .urban-filter-console__grid { display:grid; grid-template-columns:1fr; gap:13px; max-height:none; overflow:visible; padding:0; }
body.route-vehicles .urban-filter-console label,html[data-theme="light"] body.route-vehicles .urban-filter-console label { margin-bottom:5px; font-size:11px; font-weight:600; }
body.route-vehicles .urban-filter-console .filters-search input,body.route-vehicles .urban-filter-console .field select,body.route-vehicles .urban-filter-console .field input { min-height:35px; padding:8px 12px; border-radius:5px; background:var(--inv-bg); font-size:12px; }
body.route-vehicles .urban-filter-console .filters-search input { padding-left:36px; }
body.route-vehicles .urban-filter-console .filters-search { position:relative; }
body.route-vehicles .urban-filter-console .filters-search::before { content:'⌕'; position:absolute; left:12px; top:3px; color:#657184; font-size:24px; line-height:1; }
body.route-vehicles .urban-filter-console__actions { display:block; padding-top:5px; background:transparent; }
body.route-vehicles .urban-filter-console__actions .btn { min-height:43px; border-radius:5px; background:#141a20; font-size:12px; }
body.route-vehicles .urban-filter-console__actions .btn::before { content:'⌕'; margin-right:12px; font-size:21px; line-height:0; }
body.route-vehicles .urban-inventory__sort { display:flex; justify-content:flex-end; align-items:center; gap:10px; min-height:35px; margin:0 0 7px; color:#657184; font-size:11px; }
body.route-vehicles .urban-inventory__sort select { width:154px; min-height:35px; padding:6px 11px; border:1px solid var(--inv-line); border-radius:5px; background:var(--inv-bg); color:var(--inv-ink); font-size:11px; }
body.route-vehicles .urban-inventory__toolbar { display:none; }
body.route-vehicles .urban-inventory__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.route-vehicles .vehicle-card.urban-vehicle-card { position:relative; border-radius:6px; }
body.route-vehicles .vehicle-card .urban-vehicle-card__media { aspect-ratio:1.96; }
body.route-vehicles .vehicle-card .urban-vehicle-card__status { top:8px; left:8px; padding:5px 8px; border-radius:2px; font-size:10px; }
body.route-vehicles .vehicle-card .urban-vehicle-card__flag { top:8px; right:47px; padding:5px 8px; border-radius:2px; background:#ce102e; font-size:10px; }
body.route-vehicles .urban-vehicle-card__favorite { position:absolute; z-index:2; top:8px; right:8px; display:grid; place-items:center; width:29px; height:29px; padding:0; border:0; border-radius:50%; background:#fff; color:#14202a; font-size:24px; line-height:1; cursor:pointer; }
body.route-vehicles .urban-vehicle-card__favorite[aria-pressed="true"] { color:#ce102e; }
body.route-vehicles .vehicle-card .urban-vehicle-card__content,html[data-theme="light"] body.route-vehicles .vehicle-card .urban-vehicle-card__content { gap:5px; padding:8px 12px 10px; }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__brand { font-size:10px; }
body.route-vehicles .vehicle-card h3 { font-size:13px; line-height:1.25; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs { display:flex; flex-wrap:wrap; gap:7px 12px; margin:1px 0 0; padding:0; border:0; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs div { display:flex; align-items:center; gap:4px; padding:0; border:0; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dt { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dd { margin:0; color:#697788; font-size:10px; font-weight:500; }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta,html[data-theme="light"] body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta { margin-top:2px; padding:0; border:0; color:#d0122e; font-size:11px; font-weight:700; }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta::after { content:'→'; margin-left:9px; font-size:16px; }
@media(max-width:1180px){ body.route-vehicles .urban-inventory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px){ body.route-vehicles .urban-inventory__layout { grid-template-columns:1fr; } body.route-vehicles .urban-filter-console__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px){ body.route-vehicles .urban-inventory-hero { min-height:240px; } body.route-vehicles .urban-inventory-hero__image { position:absolute; inset:0; height:auto; } body.route-vehicles .urban-inventory-hero::after { display:block; } body.route-vehicles .urban-inventory-hero__grid { min-height:240px; padding-block:28px; } body.route-vehicles .urban-inventory-hero h1,html[data-theme="light"] body.route-vehicles .urban-inventory-hero h1 { font-size:36px; } body.route-vehicles .urban-inventory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px){ body.route-vehicles .urban-filter-console__grid { grid-template-columns:1fr; } body.route-vehicles .urban-inventory__grid { grid-template-columns:1fr; } }
body.route-vehicles .urban-filter-console .filters-search label.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.route-vehicles .urban-inventory__grid { align-items:start; }
body.route-vehicles .vehicle-card.urban-vehicle-card { align-self:start; }
body.route-vehicles .vehicle-card .urban-vehicle-card__content,html[data-theme="light"] body.route-vehicles .vehicle-card .urban-vehicle-card__content { flex:none; min-height:0; }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta,html[data-theme="light"] body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta { margin-top:3px; }
body.route-vehicles .urban-vehicle-card__content h3 { min-height:0 !important; }
body.route-vehicles .urban-vehicle-card__content .urban-vehicle-card__cta { min-height:0 !important; }
@media(max-width:760px){ body.route-vehicles .urban-inventory-hero__image { z-index:-1; } body.route-vehicles .urban-inventory-hero__grid { position:relative; z-index:1; } }
body.route-vehicles .urban-filter-console :is(input,select):disabled { opacity:.55; cursor:not-allowed; }
body.route-vehicles .urban-filter-console__notice { margin:0; padding:10px 11px; border-radius:5px; background:rgba(109,125,138,.09); color:var(--inv-muted); font-size:11px; line-height:1.5; }
body.route-vehicles .urban-filter-console:not([open]) .urban-filter-console__form { display:grid; }
body.route-vehicles .urban-filter-console__head { cursor:default; }

/* Individual vehicle page, matched to the approved mockup. */
body.route-vehicle_show .urban-detail { padding:16px 0 52px; }
body.route-vehicle_show .urban-detail__topbar { padding:10px 0 20px; font-size:13px; font-weight:500; text-transform:none; }
body.route-vehicle_show .urban-detail__topbar .breadcrumb-link { color:var(--inv-ink); }
body.route-vehicle_show .urban-detail__topbar .breadcrumb-link span { margin-right:13px; color:#cf102d; font-size:23px; vertical-align:-2px; }
body.route-vehicle_show .urban-detail__location { color:var(--inv-muted); }
body.route-vehicle_show .urban-detail__location span { margin-inline:11px; color:#cf102d; font-weight:700; }
body.route-vehicle_show .urban-detail__grid { grid-template-columns:minmax(0,1.72fr) minmax(360px,.98fr); gap:30px; }
body.route-vehicle_show .urban-detail__gallery { gap:15px; }
body.route-vehicle_show .urban-detail__main-image { aspect-ratio:1.57; overflow:hidden; border-radius:10px; }
body.route-vehicle_show .urban-detail__main-image img { object-fit:cover; }
body.route-vehicle_show .urban-detail__main-image figcaption { display:flex; align-items:center; gap:6px; left:17px; bottom:16px; padding:7px 12px; border-radius:8px; font-size:13px; }
body.route-vehicle_show .urban-detail__image-step { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:46px; height:46px; padding:0; transform:translateY(-50%); border:0; border-radius:50%; background:#fff; color:#182127; font-size:34px; line-height:1; cursor:pointer; box-shadow:0 4px 16px #0002; }
body.route-vehicle_show .urban-detail__image-step--prev { left:16px; }
body.route-vehicle_show .urban-detail__image-step--next { right:16px; }
body.route-vehicle_show .urban-detail__fullscreen { position:absolute; z-index:2; right:17px; bottom:16px; display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:50%; background:#1b2529e8; color:#fff; font-size:24px; cursor:pointer; }
body.route-vehicle_show .urban-detail__main-image:fullscreen { width:100vw; height:100vh; aspect-ratio:auto; background:#111; }
body.route-vehicle_show .urban-detail__main-image:fullscreen img { object-fit:contain !important; object-position:center !important; }
body.route-vehicle_show .urban-detail__thumbs-shell { display:block; }
body.route-vehicle_show .urban-detail__thumbs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.route-vehicle_show .urban-detail__thumbs button { border-radius:8px; }
body.route-vehicle_show .urban-detail__thumbs img { aspect-ratio:1.6; opacity:1; }
body.route-vehicle_show .urban-detail__thumbs button.is-active::after { border:2px solid #cf102d; border-radius:8px; }

/* Preserve the complete vehicle in the fixed gallery framing. */
body.route-vehicle_show .urban-detail__main-image,
body.route-vehicle_show .urban-detail__thumbs button { background:var(--inv-surface); }
body.route-vehicle_show .urban-detail__main-image img,
body.route-vehicle_show .urban-detail__thumbs img {
  object-fit:contain;
  object-position:center;
  background:var(--inv-surface);
}

/* Use the same technical-summary pattern shown in the Home catalogue cards. */
body.route-vehicles .vehicle-card .urban-vehicle-card__specs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:0;
  margin:0;
  padding:10px 0 12px;
  border-top:1px solid #e2e7e9;
  border-bottom:1px solid #e2e7e9;
}
body.route-vehicles .vehicle-card .urban-vehicle-card__specs div {
  display:block;
  min-width:0;
  padding:0 11px;
}
body.route-vehicles .vehicle-card .urban-vehicle-card__specs div:first-child { padding-left:0; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs div:last-child { padding-right:0; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs .automotive-icon--card {
  display:block;
  width:24px;
  height:24px;
  margin-bottom:6px;
  color:#bd2026;
}
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dt {
  position:static;
  width:auto;
  height:auto;
  overflow:visible;
  clip-path:none;
  white-space:normal;
  margin:0 0 3px;
  color:#69757b;
  font-size:10px;
  font-weight:400;
  line-height:1.25;
}
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dd {
  margin:0;
  color:#192026;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  overflow-wrap:anywhere;
}
html[data-theme="dark"] body.route-vehicles .vehicle-card .urban-vehicle-card__specs { border-color:#343a3d; }
html[data-theme="dark"] body.route-vehicles .vehicle-card .urban-vehicle-card__specs dd { color:#f2f2f2; }

/* Darken the showroom image evenly while keeping the existing banner framing. */
body.route-vehicles .urban-inventory-hero__image img { filter:brightness(.72); }

/* Keep a single thumbnail row when a vehicle has a larger gallery. */
body.route-vehicle_show .urban-detail__thumbs-shell { --gallery-visible-count:5; }
body.route-vehicle_show .urban-detail__thumbs-shell:not(.urban-detail__thumbs-shell--static) {
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 32px;
  align-items:stretch;
  gap:12px;
}
body.route-vehicle_show .urban-detail__thumbs-shell--static { display:block; }
body.route-vehicle_show .urban-detail__thumbs { grid-template-columns:repeat(5,minmax(0,1fr)); }
body.route-vehicle_show .urban-detail__thumb-nav--prev span,
body.route-vehicle_show .urban-detail__thumb-nav--next span { transform:rotate(-90deg); }
@media(max-width:600px){
  body.route-vehicle_show .urban-detail__thumbs-shell { --gallery-visible-count:3; }
  body.route-vehicle_show .urban-detail__thumbs-shell:not(.urban-detail__thumbs-shell--static) { grid-template-columns:26px minmax(0,1fr) 26px; gap:6px; }
  body.route-vehicle_show .urban-detail__thumbs { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

body.route-vehicle_show .urban-detail__summary,html[data-theme="light"] body.route-vehicle_show .urban-detail__summary { padding:29px 28px 26px; border:1px solid #e5e9eb; border-radius:11px; box-shadow:0 14px 32px #1a25300a; }
/* Vehicle identity belongs in the title; status and brand remain in the technical details. */
body.route-vehicle_show .urban-detail__summary-heading {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:70px;
  padding:0 0 7px;
  text-align:center;
}
body.route-vehicle_show .urban-detail__summary-heading h1,
html[data-theme="light"] body.route-vehicle_show .urban-detail__summary-heading h1 {
  width:100%;
  margin:0;
}
body.route-vehicle_show .urban-detail__brand { display:flex; align-items:center; gap:12px; margin-bottom:13px; color:#cb102b; font-size:12px; }
body.route-vehicle_show .urban-detail__brand span { margin:0; color:#cb102b; }
body.route-vehicle_show .urban-detail__brand strong { display:inline-flex; padding:7px 10px; border-radius:5px; background:#1c2529; color:#fff; font-size:11px; text-transform:none; }
body.route-vehicle_show .urban-detail__summary h1,html[data-theme="light"] body.route-vehicle_show .urban-detail__summary h1 { font-size:clamp(29px,2.7vw,38px); font-weight:800; }
body.route-vehicle_show .urban-detail__summary .v3-demo-note { max-width:none; margin-top:12px; color:var(--inv-muted); font-size:14px; line-height:1.55; }
body.route-vehicle_show .urban-detail__quick-specs { margin:21px 0 0; padding:10px 0; border-top:1px solid var(--inv-line); border-bottom:1px solid var(--inv-line); }
body.route-vehicle_show .urban-detail__summary > .urban-detail__quick-specs { margin:21px 0 0; }
body.route-vehicle_show .urban-detail__quick-specs div,html[data-theme="light"] body.route-vehicle_show .urban-detail__quick-specs div { position:relative; min-height:62px; padding:10px 8px 10px 44px; }
body.route-vehicle_show .urban-detail__quick-specs div::before { content:'▤'; position:absolute; left:5px; top:16px; color:#64727c; font-size:24px; }
body.route-vehicle_show .urban-detail__quick-specs div[data-spec="Quilometragem"]::before { content:'◴'; }
body.route-vehicle_show .urban-detail__quick-specs div[data-spec="Combustível"]::before { content:'♧'; }
body.route-vehicle_show .urban-detail__quick-specs div[data-spec="Tipo"]::before { content:'▰'; }
body.route-vehicle_show .urban-detail__quick-specs div[data-spec="Câmbio"]::before { content:'⚙'; }
body.route-vehicle_show .urban-detail__quick-specs dt,html[data-theme="light"] body.route-vehicle_show .urban-detail__quick-specs dt { font-size:12px; }
body.route-vehicle_show .urban-detail__quick-specs dd,html[data-theme="light"] body.route-vehicle_show .urban-detail__quick-specs dd { margin-top:3px; font-size:14px; }
body.route-vehicle_show .urban-detail__summary-footer { margin-top:17px; padding:0; gap:16px; }
body.route-vehicle_show .urban-detail__price span { font-size:12px; }
body.route-vehicle_show .urban-detail__price strong,html[data-theme="light"] body.route-vehicle_show .urban-detail__price strong { font-size:clamp(25px,2.4vw,36px); }
body.route-vehicle_show .urban-detail__actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
body.route-vehicle_show .urban-detail__actions .btn { min-height:49px; border-radius:7px; font-size:13px; }
body.route-vehicle_show .urban-detail__actions .btn:first-child { grid-column:1 / -1; background:#c81026; color:#fff; }
body.route-vehicle_show .urban-detail__actions .btn:first-child:hover { background:#a50b1e; }
body.route-vehicle_show .urban-detail__actions .btn:first-child::before { content:'◉'; margin-right:10px; font-size:19px; }
body.route-vehicle_show .urban-detail__actions .btn:first-child::after { content:'→'; margin-left:auto; font-size:19px; }
body.route-vehicle_show .urban-detail__actions .btn--ghost { border:1px solid #6a757d; background:transparent; color:var(--inv-ink); }
body.route-vehicle_show .urban-detail-body { padding:30px 0 58px; }
body.route-vehicle_show .urban-detail-body__grid { grid-template-columns:minmax(0,1.2fr) minmax(360px,1fr); column-gap:40px; row-gap:42px; }
body.route-vehicle_show .urban-detail-panel--lead { grid-column:1; grid-row:1; max-width:none; padding:0; border:0; }
body.route-vehicle_show .urban-detail-panel--specs,html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--specs { grid-column:2; grid-row:1 / span 2; align-self:start; padding:28px 30px; border:1px solid #e5e9eb; border-radius:11px; background:var(--inv-bg); box-shadow:0 14px 32px #1a25300a; }
body.route-vehicle_show .urban-detail-panel--features { grid-column:1; grid-row:2; }
body.route-vehicle_show .urban-detail-panel .urban-kicker { margin-bottom:14px; font-size:clamp(27px,2.8vw,40px); font-weight:800; }
body.route-vehicle_show .urban-detail-panel--lead p { max-width:690px; font-size:16px; line-height:1.65; }
body.route-vehicle_show .urban-detail-panel__intro { margin:0 0 20px; color:var(--inv-muted); font-size:15px; }
body.route-vehicle_show .urban-detail__demo-note { margin:0 0 18px; padding:0; border:0; font-size:13px; line-height:1.6; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech { border-top:1px solid var(--inv-line); }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div { position:relative; min-height:88px; padding:18px 7px 17px 60px; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div::before { content:'▤'; position:absolute; top:18px; left:0; display:grid; place-items:center; width:45px; height:45px; border-radius:12px; background:var(--inv-surface); color:var(--inv-ink); font-size:25px; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div[data-spec="Modelo"]::before { content:'▰'; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div[data-spec="Quilometragem"]::before { content:'◴'; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div[data-spec="Combustível"]::before { content:'♧'; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div[data-spec="Câmbio"]::before { content:'⚙'; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech dt { font-size:12px; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech dd,html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech dd { font-size:15px; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features div { gap:12px; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features span { display:flex; align-items:center; min-height:62px; padding:12px 16px; border:1px solid var(--inv-line); border-radius:9px; background:var(--inv-bg); color:var(--inv-ink); font-size:13px; }
body.route-vehicle_show .urban-detail-panel--features .urban-detail__features span::before { content:'◇'; display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; margin:0 12px 0 0; border-radius:9px; background:var(--inv-surface); color:var(--inv-ink); font-size:23px; }
body.route-vehicle_show .urban-detail-panel--cta,html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--cta { grid-column:1 / -1; grid-row:3; padding:28px 38px; border-radius:10px; background:#1c2529; }
body.route-vehicle_show .urban-detail-panel--cta h2,html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--cta h2 { max-width:none; margin:0; font-size:clamp(25px,2.7vw,36px); }
body.route-vehicle_show .urban-detail-panel--cta__copy p { max-width:650px; margin:8px 0 0; color:#d5dddf; font-size:15px; line-height:1.5; }
body.route-vehicle_show .urban-detail-panel--cta__actions { display:flex; gap:12px; }
body.route-vehicle_show .urban-detail-panel--cta__actions .btn { min-height:49px; border-radius:7px; }
body.route-vehicle_show .urban-detail-panel--cta__actions .btn:first-child { background:#c81026; color:#fff; }
body.route-vehicle_show .urban-detail-panel--cta__actions .btn--ghost { border:1px solid #a4afb3; background:transparent; color:#fff; }
body.route-vehicle_show .urban-stock { padding:42px 0 48px; }
body.route-vehicle_show .urban-stock .urban-section__head { align-items:center; margin-bottom:22px; }
body.route-vehicle_show .urban-stock .urban-section__head h2 { font-size:clamp(28px,3vw,42px); font-weight:800; }
body.route-vehicle_show .urban-stock .section-link { font-size:15px; font-weight:600; }
body.route-vehicle_show .urban-stock .section-link::after { content:'→'; margin-left:14px; font-size:22px; }
body.route-vehicle_show .urban-stock__rail { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.route-vehicle_show .urban-stock .vehicle-card .urban-vehicle-card__media { aspect-ratio:1.45; }
@media(max-width:1050px){ body.route-vehicle_show .urban-detail__grid { grid-template-columns:minmax(0,1.2fr) minmax(330px,.9fr); gap:18px; } body.route-vehicle_show .urban-detail__summary,html[data-theme="light"] body.route-vehicle_show .urban-detail__summary { padding:22px; } body.route-vehicle_show .urban-detail-body__grid { column-gap:24px; } }
@media(max-width:900px){ body.route-vehicle_show .urban-detail__grid,body.route-vehicle_show .urban-detail-body__grid { grid-template-columns:1fr; } body.route-vehicle_show .urban-detail-panel--lead,body.route-vehicle_show .urban-detail-panel--specs,body.route-vehicle_show .urban-detail-panel--features,body.route-vehicle_show .urban-detail-panel--cta { grid-column:1; grid-row:auto; } body.route-vehicle_show .urban-stock__rail { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px){ body.route-vehicle_show .urban-detail__main-image { aspect-ratio:1.25; } body.route-vehicle_show .urban-detail__thumbs { grid-template-columns:repeat(3,minmax(0,1fr)); } body.route-vehicle_show .urban-detail__image-step { width:38px; height:38px; font-size:29px; } body.route-vehicle_show .urban-detail-panel--specs,html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--specs { padding:22px; } body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech { grid-template-columns:1fr 1fr; } body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div { padding-left:0; padding-top:58px; } body.route-vehicle_show .urban-detail-panel--cta,html[data-theme="light"] body.route-vehicle_show .urban-detail-panel--cta { padding:24px; } body.route-vehicle_show .urban-detail-panel--cta__actions { flex-wrap:wrap; } body.route-vehicle_show .urban-stock__rail { grid-template-columns:1fr; } }
body.route-vehicle_show .urban-detail-panel--cta__copy { display:block; flex:1 1 auto; min-width:0; text-align:left; }
body.route-vehicle_show .urban-detail-panel--cta__copy h2 { text-align:left; }
body.route-vehicle_show .urban-detail-panel--cta__actions { flex:0 0 auto; justify-content:flex-end; }
body.route-vehicle_show .urban-stock .urban-section__head h2 { max-width:none; }
body.route-vehicle_show .urban-stock .vehicle-card .v3-demo-note { display:none; }
body.route-vehicle_show .urban-detail__quick-specs div::before,body.route-vehicle_show .urban-detail-panel--specs .urban-detail__tech div::before { content:none !important; }
body.route-vehicle_show .urban-detail__spec-icon { position:absolute; left:5px; top:18px; width:22px; height:22px; fill:none; stroke:#667580; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.route-vehicle_show .urban-detail-panel--specs .urban-detail__spec-icon { top:18px; left:0; width:45px; height:45px; padding:11px; border-radius:11px; background:var(--inv-surface); stroke:var(--inv-ink); }
@media(max-width:600px){ body.route-vehicle_show .urban-detail-panel--specs .urban-detail__spec-icon { top:7px; } }

/* Horizontal catalogue search, retaining every available filter. */
body.route-vehicles .urban-inventory { padding:0 0 32px; }
body.route-vehicles .urban-inventory__layout { display:block; }
body.route-vehicles .urban-filter-console,html[data-theme="light"] body.route-vehicles .urban-filter-console { z-index:2; margin:-19px 0 25px; padding:15px 20px 18px; border:1px solid var(--inv-line); border-radius:11px; background:var(--inv-bg); box-shadow:0 14px 30px #1721280d; }
body.route-vehicles .urban-filter-console__head { min-height:20px; }
body.route-vehicles .urban-filter-console__clear { top:17px; right:20px; }
body.route-vehicles .urban-filter-console__form { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px 14px; padding:13px 0 0; }
body.route-vehicles .urban-filter-console__grid { display:contents; }
body.route-vehicles .urban-filter-console__form > .filters-search { grid-column:span 2; align-self:end; }
body.route-vehicles .urban-filter-console__form .field { min-width:0; }
body.route-vehicles .urban-filter-console .filters-search input,body.route-vehicles .urban-filter-console .field select,body.route-vehicles .urban-filter-console .field input { min-height:40px; }
body.route-vehicles .urban-filter-console__actions { grid-column:5 / 7; grid-row:3; align-self:end; padding:0; }
body.route-vehicles .urban-filter-console__actions .btn { min-height:40px; }
body.route-vehicles .urban-filter-console__notice { grid-column:1/-1; grid-row:4; margin:0; }
body.route-vehicles .urban-inventory__toolbar,html[data-theme="light"] body.route-vehicles .urban-inventory__toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 14px; padding:0; border:0; }
body.route-vehicles .urban-inventory__toolbar h2,html[data-theme="light"] body.route-vehicles .urban-inventory__toolbar h2 { display:flex; align-items:center; gap:11px; margin:0; font-size:19px; font-weight:800; }
body.route-vehicles .urban-inventory__toolbar h2::before { content:''; width:24px; height:3px; flex:none; background:#d0112d; }
body.route-vehicles .urban-inventory__sort { margin:0; }
body.route-vehicles .urban-inventory__grid { gap:16px; }
body.route-vehicles .vehicle-card .urban-vehicle-card__media { aspect-ratio:1.58; }
body.route-vehicles .vehicle-card .urban-vehicle-card__content,html[data-theme="light"] body.route-vehicles .vehicle-card .urban-vehicle-card__content { display:flex; flex-direction:column; gap:11px; padding:16px 17px 18px; }
body.route-vehicles .vehicle-card h3 { font-size:18px; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; padding:10px 0; border-block:1px solid var(--inv-line); }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs div { display:block; min-width:0; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dt { position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; color:var(--inv-muted); font-size:10px; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs div::before { content:none; }
body.route-vehicles .vehicle-card .urban-vehicle-card__specs dd { color:var(--inv-ink); font-size:12px; font-weight:700; overflow-wrap:anywhere; }
body.route-vehicles .vehicle-card .urban-vehicle-card__price { margin:0; font-size:18px; }
body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta,html[data-theme="light"] body.route-vehicles .vehicle-card.urban-vehicle-card .urban-vehicle-card__cta { align-self:stretch; margin-top:auto; padding-top:9px; border-top:1px solid var(--inv-line); }
@media(max-width:1100px){ body.route-vehicles .urban-filter-console__form { grid-template-columns:repeat(4,minmax(0,1fr)); } body.route-vehicles .urban-filter-console__actions,body.route-vehicles .urban-filter-console__notice { grid-row:auto; } body.route-vehicles .urban-filter-console__actions { grid-column:3 / 5; } body.route-vehicles .urban-inventory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px){ body.route-vehicles .urban-inventory-hero,body.route-vehicles .urban-inventory-hero__grid { min-height:223px; } body.route-vehicles .urban-filter-console__form { grid-template-columns:repeat(2,minmax(0,1fr)); } body.route-vehicles .urban-inventory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px){ body.route-vehicles .urban-filter-console__form { grid-template-columns:repeat(2,minmax(0,1fr)); padding:13px 0 0; } body.route-vehicles .urban-filter-console__form > .filters-search,body.route-vehicles .urban-filter-console__actions { grid-column:1/-1; } body.route-vehicles .urban-inventory__grid { grid-template-columns:1fr; } body.route-vehicles .urban-inventory__toolbar h2 { font-size:16px; } body.route-vehicles .urban-inventory__sort { gap:5px; } body.route-vehicles .urban-inventory__sort select { width:125px; } }

/* Match the catalogue hero with the home page's editorial display type. */
body.route-vehicles .urban-inventory-hero h1,
html[data-theme="light"] body.route-vehicles .urban-inventory-hero h1,
html[data-theme="dark"] body.route-vehicles .urban-inventory-hero h1 {
    font-family: "Bodoni Moda", Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 4vw, 58px);
    font-weight: 600;
    line-height: .94;
    letter-spacing: 0;
    font-optical-sizing: auto;
}

@media (max-width: 760px) {
    body.route-vehicles .urban-inventory-hero h1,
    html[data-theme="light"] body.route-vehicles .urban-inventory-hero h1,
    html[data-theme="dark"] body.route-vehicles .urban-inventory-hero h1 { font-size: 46px; }
}

@media (max-width: 420px) {
    body.route-vehicles .urban-inventory-hero h1,
    html[data-theme="light"] body.route-vehicles .urban-inventory-hero h1,
    html[data-theme="dark"] body.route-vehicles .urban-inventory-hero h1 { font-size: 40px; }
}
