/* CarMisto shared finish. Load after page styles. Keep layout/JS hooks intact. */
@font-face {
  font-family: CarMisto UI;
  src: url('/static/fonts/manrope-variable.ttf') format('truetype');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --cm-ui-font: 'CarMisto UI', system-ui, sans-serif;
  --cm-page-width: 1120px;
  --cm-prose-width: 68ch;
  --cm-page-gutter: clamp(16px, 3vw, 24px);
  --cm-heading-1: clamp(28px, 3.3vw, 40px);
  --cm-heading-2: clamp(22px, 2.4vw, 28px);
  --cm-heading-3: 20px;
  --cm-ui-bg: #f5f6f8;
  --cm-ui-paper: #fff;
  --cm-ui-soft: #f8f9fb;
  --cm-ui-text: #202b3a;
  --cm-ui-muted: #596779;
  --cm-ui-line: #dfe5ec;
  --cm-ui-accent: #c9161d;
  --cm-ui-link: #b5121b;
  --cm-ui-accent-text: var(--cm-ui-link);
  --cm-ui-error: #b42318;
  --cm-ui-hover: #a81118;
  --cm-ui-radius: 18px;
  --cm-ui-control: 12px;
  --cm-ui-shadow: 0 8px 28px rgb(24 39 60 / 6%);
  --primary: var(--cm-ui-accent);
  --primary-hover: var(--cm-ui-hover);
  --primary-light: #fcebed;
  --bg-main: var(--cm-ui-bg);
  --bg-card: var(--cm-ui-paper);
  --bg-input: var(--cm-ui-soft);
  --text-main: var(--cm-ui-text);
  --text-muted: var(--cm-ui-muted);
  --border: var(--cm-ui-line);
  --nr-font: var(--cm-ui-font);
  --nr-ink: var(--cm-ui-text);
  --nr-paper: var(--cm-ui-paper);
  --nr-soft: var(--cm-ui-bg);
  --nr-line: var(--cm-ui-line);
  --cm-surface: var(--cm-ui-paper);
  --cm-surface-text: var(--cm-ui-text);
  --cm-surface-muted: var(--cm-ui-muted);
  --cm-surface-border: var(--cm-ui-line);
  --cm-surface-subtle: var(--cm-ui-soft);
  --cm-surface-radius: var(--cm-ui-radius);
  --cm-control-radius: var(--cm-ui-control);
}
html[data-theme='dark'] {
  --cm-ui-link: #ffb1b7;
  --cm-ui-error: #ffb1b7;
  --cm-ui-bg: #141a23;
  --cm-ui-paper: #1d2531;
  --cm-ui-soft: #232e3c;
  --cm-ui-text: #f0f4f9;
  --cm-ui-muted: #b9c5d5;
  --cm-ui-line: #3a475a;
  --primary-light: #39242c;
  --cm-ui-shadow: 0 8px 28px rgb(0 0 0 / 18%);
}
/* Text links have their own contrast-safe token; primary buttons remain red. */
html[data-theme='dark'] body:is(.site-shell,.standalone-page) :is(
  .public-page a:not(.cta):not(.btn-primary):not(.public-page__hero-action):not(.inventory-card__media),
  .site-breadcrumbs a,.auth-text-action,.marketplace-detail-link,.marketplace-workspace-link
) { color:var(--cm-ui-link)!important; }
html[data-theme='dark'] :is(.news-hub__signal-kicker,.news-hub__signal-meta span,.news-hub__signal-link,.news-hub__signal-title:hover) { color:var(--cm-ui-link)!important; }
:is(.date-range-hint.is-warning,.search-date-hint.is-required,.booking-field-error,#operations-rate-currency.is-error) { color:var(--cm-ui-error)!important; }
.offer-currency-note { display:block;color:var(--cm-ui-muted);font-size:12px;line-height:1.5; }
.catalog-no-results form>label:not(:last-of-type) { display:grid;gap:6px;font-size:14px;font-weight:700;color:var(--cm-ui-text); }
html[data-theme='dark'] body:is(.site-shell,.standalone-page) :is(a,button,input,select,textarea,summary):focus-visible { outline-color:var(--cm-ui-link)!important; }
body.site-shell .supplier-car-image { height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/10;object-fit:contain; }
body:is(.marketplace-experience,.catalog-reference-upgrade) #catalog-discovery-toolbar .catalog-city-shortcuts__list { min-width:0;max-width:100%; }
body:is(.marketplace-experience,.catalog-reference-upgrade) #catalog-discovery-toolbar .catalog-city-shortcuts__list button { min-width:0!important;max-width:100%;flex-wrap:wrap;white-space:normal!important; }
body:is(.marketplace-experience,.catalog-reference-upgrade) #catalog-discovery-toolbar .catalog-city-shortcuts__list small { min-width:0;overflow-wrap:anywhere;white-space:normal; }
body:is(.site-shell, .standalone-page) {
  font-family: var(--cm-ui-font) !important;
  font-size: 16px;
  line-height: 1.55;
  color: var(--cm-ui-text) !important;
  background: var(--cm-ui-bg) !important;
}
body:is(.site-shell, .standalone-page) :is(button, input, select, textarea) {
  font-family: var(--cm-ui-font) !important;
}
body:is(.site-shell, .standalone-page) h1 {
  font-family: var(--cm-ui-font) !important;
  font-size: clamp(28px, 3.3vw, 40px);
  line-height: 1.16;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
body:is(.site-shell, .standalone-page) :is(h2, h3, h4) {
  font-family: var(--cm-ui-font) !important;
  line-height: 1.3;
  letter-spacing: -.02em;
}
body:is(.site-shell, .standalone-page) :is(.public-page, .legal-page, .news-article__body, .rental-guide) p {
  line-height: 1.65;
}
/* A shared card surface, not a blanket rule for nested rows or status badges. */
body:is(.site-shell, .standalone-page) :is(
  .panel, .booking, .public-page__card, .news-card, .inventory-card,
  .legal-page, .business-panel, .affiliate-page__promise > article,
  .affiliate-page__steps > article, .partner-page__route-card,
  .partner-page__benefit-card, .affiliate-dashboard__panel,
  .cabinet-section, .cabinet-overview__metric, .staff-login-page .box
) {
  border: 1px solid var(--cm-ui-line) !important;
  border-radius: var(--cm-ui-radius) !important;
  background: var(--cm-ui-paper) !important;
  color: var(--cm-ui-text) !important;
  box-shadow: var(--cm-ui-shadow) !important;
}
body:is(.site-shell, .standalone-page) :is(.marketplace-hero, .public-page__hero, .page-context-hero) {
  border-radius: var(--cm-ui-radius) !important;
  background: var(--cm-ui-paper) !important;
  border-color: var(--cm-ui-line) !important;
  box-shadow: var(--cm-ui-shadow) !important;
}
body:is(.site-shell, .standalone-page) :is(.marketplace-hero, .public-page__hero, .page-context-hero) :is(h1, h2, .context-heading) {
  color: var(--cm-ui-text) !important;
  -webkit-text-fill-color: var(--cm-ui-text) !important;
  font-family: var(--cm-ui-font) !important;
}
body:is(.site-shell, .standalone-page) :is(.marketplace-hero, .public-page__hero, .page-context-hero) p:not(.eyebrow):not(.public-page__eyebrow) {
  color: var(--cm-ui-muted) !important;
  -webkit-text-fill-color: var(--cm-ui-muted) !important;
}
/* These two acquisition pages had higher-specificity legacy gradients. */
html body.site-shell #page-affiliate .affiliate-page__hero.marketplace-hero,
html body.site-shell #page-partners .partner-page__hero.marketplace-hero,
html body.site-shell .public-page .public-page__hero.marketplace-hero {
  background: var(--cm-ui-paper) !important;
  border: 1px solid var(--cm-ui-line) !important;
  border-radius: var(--cm-ui-radius) !important;
  box-shadow: var(--cm-ui-shadow) !important;
}
html body.site-shell :is(#page-business, #page-about, #page-services, #page-partners, #page-affiliate, #page-help) .public-page__hero.marketplace-hero,
html body.site-shell #news-hub .news-hub__hero {
  background: var(--cm-ui-paper) !important;
  border: 1px solid var(--cm-ui-line) !important;
  border-radius: var(--cm-ui-radius) !important;
  box-shadow: var(--cm-ui-shadow) !important;
}
html body.site-shell #news-hub .news-hub__hero :is(h1, h2, strong, .news-hub__signal-title) {
  color: var(--cm-ui-text) !important;
  -webkit-text-fill-color: var(--cm-ui-text) !important;
}
html body.site-shell #news-hub .news-hub__hero :is(p, time, .news-hub__meta, .news-hub__signal-meta) {
  color: var(--cm-ui-muted) !important;
}
html body.site-shell #news-hub :is(.news-hub__signal, .news-hub__hero-note) {
  background: var(--cm-ui-soft) !important;
  border: 1px solid var(--cm-ui-line);
  border-radius: var(--cm-ui-radius);
}
html body.site-shell #news-hub .news-hub__hero :is(.public-page__eyebrow, .news-hub__signal-link, .news-hub__signal-kicker) {
  color: var(--cm-ui-link) !important;
}
html body.site-shell #page-affiliate .affiliate-page__hero.marketplace-hero .public-page__hero-action,
html body.site-shell #page-partners .partner-page__hero.marketplace-hero .public-page__hero-action {
  border-radius: var(--cm-ui-control) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body.site-shell .legal-page__article h1,
html body.site-shell .news-article__header h1,
html body.site-shell .public-page .public-page__hero h1 {
  font-size: clamp(28px, 3.3vw, 40px) !important;
  line-height: 1.16 !important;
}
body:is(.site-shell, .standalone-page) :is(.cta, .btn-primary, .card-book-btn, .public-page__hero-action, .public-page__lead-submit, .business-apply) {
  min-height: 46px;
  border-radius: var(--cm-ui-control) !important;
  background: var(--cm-ui-accent) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.4;
  text-decoration: none;
}
body:is(.site-shell, .standalone-page) :is(.cta, .btn-primary, .card-book-btn, .public-page__hero-action, .public-page__lead-submit):hover:not(:disabled) {
  background: var(--cm-ui-hover) !important;
}
body:is(.site-shell, .standalone-page) :is(input:not([type]), input[type='text'], input[type='search'], input[type='email'], input[type='tel'], input[type='password'], input[type='number'], input[type='date'], input[type='time'], select, textarea) {
  border-radius: var(--cm-ui-control) !important;
  border-color: var(--cm-ui-line);
  background-color: var(--cm-ui-soft);
  color: var(--cm-ui-text);
  min-height: 44px;
  max-width: 100%;
  font-size: 16px;
}
body:is(.site-shell, .standalone-page) :is(input, textarea)::placeholder { color: var(--cm-ui-muted); opacity: 1; }
body:is(.site-shell, .standalone-page) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--cm-ui-accent) !important;
  outline-offset: 3px;
}
body:is(.site-shell, .standalone-page) button:disabled { opacity: .6; cursor: not-allowed; }
.breadcrumbs { font-family: var(--cm-ui-font); font-size: 13px; line-height: 1.5; }
body :is(.header-brand-mark, .standalone-public-header__mark) { border-radius: 12px; }
body :is(.standalone-mobile-nav, #mobile-nav) { font-family: var(--cm-ui-font) !important; }
body .standalone-mobile-nav span { font-size: 22px; }
/* Dense operational screens use the same materials with a tighter rhythm. */
body.admin-page .container { background: var(--cm-ui-paper); border: 1px solid var(--cm-ui-line); border-radius: var(--cm-ui-radius); box-shadow: var(--cm-ui-shadow); }
body.admin-page :is(.dash-card, .marketplace-panel, .input-group) { border-radius: var(--cm-ui-control); }
body.admin-page .dash-card small { font-size: 12px; line-height: 1.45; color: var(--cm-ui-muted); }
body.admin-page .dash-card b { font-size: 22px; color: var(--cm-ui-text); }
body.admin-page .tab-btn { min-height: 44px; border-radius: var(--cm-ui-control); }
body.admin-page .tab-btn.active { background: var(--cm-ui-accent); color: #fff; }
body.admin-page :is(th, td) { border-color: var(--cm-ui-line); }
body.admin-page th { background: var(--cm-ui-soft); color: var(--cm-ui-text); }
body.staff-login-page .box { width: min(100%, 420px); padding: clamp(24px, 5vw, 36px); }
body.staff-login-page .sub { color: var(--cm-ui-muted); }
body.staff-login-page .logo { font-family: var(--cm-ui-font); color: var(--cm-ui-accent); }
@media(max-width: 600px) {
  body:is(.site-shell, .standalone-page) :is(.panel, .public-page__card, .legal-page) { padding: 18px !important; }
  body:is(.site-shell, .standalone-page) h1 { font-size: 28px; }
  body:is(.site-shell, .standalone-page) :is(.cta, .btn-primary, .public-page__hero-action) { min-height: 48px; }
}
@media(prefers-reduced-motion: reduce) {
  body:is(.site-shell, .standalone-page) :is(button, a) { transition: none !important; }
}
/* The same controls and hierarchy in account and checkout surfaces. */
.client-booking-action { display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid var(--cm-ui-accent,#c9161d);border-radius:10px;background:var(--cm-ui-accent,#c9161d);color:#fff;font:800 14px/1.4 var(--cm-ui-font,system-ui);text-decoration:none;cursor:pointer;box-sizing:border-box; }
.client-booking-action.muted { background:var(--cm-ui-paper,#fff);color:var(--cm-ui-text,#17202a);border-color:var(--cm-ui-line,#dfe3e8); }
.client-action-category { display:block;margin-bottom:5px;color:var(--cm-ui-accent-text,#b5121b);font-weight:800; }
.client-profile-summary b { color:var(--cm-ui-accent-text)!important; }
.more-menu-kicker, .p-switch.active { color:var(--cm-ui-accent-text)!important; }
.city-landing-page .stats span { color:var(--cm-ui-muted)!important; }
.marketplace-filter-error { display:block;margin-top:6px;color:var(--cm-ui-error);font-size:13px;line-height:1.45; }
.marketplace-filter-error[hidden] { display:none; }
.marketplace-confirmation-note { margin:10px 0;padding:10px 12px;border:1px solid var(--cm-ui-line);border-radius:10px;background:var(--cm-ui-soft);color:var(--cm-ui-muted);font-size:13px;line-height:1.5; }
#workspace-content[hidden],#workspace-access[hidden],#workspace-access [hidden] { display:none!important; }
.marketplace-search-extra input[aria-invalid='true'] { border-color:var(--cm-ui-error)!important; }
body:is(.site-shell,.standalone-page) :is(.page-context-hero,.public-page__hero,.marketplace-hero) :is(.eyebrow,.public-page__eyebrow) { color:var(--cm-ui-accent-text)!important; }
.quick-vehicle-group { display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%; }
.quick-vehicle-group>b { flex:0 0 100%;font-size:12px;color:var(--cm-ui-muted,#667085);margin:8px 0 2px; }
.quick-vehicle-group .filter-btn { flex:1 1 100px; }
/* Compact catalogue selection: sorting stays visible; category choices
   expand on demand without changing the existing filter/URL contracts. */
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar .catalog-discovery-row--catalogue,
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar.is-mobile-expanded .catalog-discovery-row--catalogue {
  grid-template-columns:minmax(0,1fr)!important;gap:6px!important;
}
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar .catalog-discovery-row--catalogue>.catalog-discovery-row__label { display:none!important; }
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar #cat-filters {
  display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;gap:8px!important;align-items:start;
}
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar #cat-filters .catalog-controls-heading { display:none!important; }
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
  grid-column:auto!important;min-width:0!important;padding:0!important;
}
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar #cat-filters .catalog-sort {
  min-height:48px!important;width:100%!important;font-size:13px!important;padding:10px!important;border:1px solid var(--cm-ui-line)!important;border-radius:12px!important;background:var(--cm-ui-paper)!important;color:var(--cm-ui-text)!important;
}
#cat-filters .quick-vehicle-filters { min-width:0;max-width:100%;margin:0; }
#cat-filters .quick-vehicle-filters>summary {
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;min-height:48px;box-sizing:border-box;padding:6px 10px;border:1px solid var(--cm-ui-line);border-radius:12px;background:var(--cm-ui-paper);color:var(--cm-ui-text);cursor:pointer;list-style:none;
}
#cat-filters .quick-vehicle-filters>summary::-webkit-details-marker { display:none; }
#cat-filters .quick-vehicle-filters>summary:focus-visible { outline:2px solid var(--cm-ui-accent);outline-offset:3px; }
#cat-filters .quick-vehicle-filters__label { font-size:11px;line-height:1.3;color:var(--cm-ui-muted); }
#cat-filters .quick-vehicle-filters__selection { grid-column:1;min-width:0;font-size:13px;line-height:1.4;font-weight:750;overflow-wrap:anywhere; }
#cat-filters .quick-vehicle-filters__chevron { grid-column:2;grid-row:1/3;align-self:center;margin-left:6px; }
#cat-filters .quick-vehicle-filters[data-active="true"]>summary { border-color:var(--cm-ui-accent);background:var(--primary-light); }
#cat-filters .quick-vehicle-filters[open] .quick-vehicle-filters__chevron { transform:rotate(180deg); }
#cat-filters .quick-vehicle-filters__options { display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--cm-ui-line);border-radius:12px;background:var(--cm-ui-soft); }
#cat-filters .quick-vehicle-filters:not([open]) .quick-vehicle-filters__options { display:none!important; }
#cat-filters .quick-vehicle-filters[open] { grid-column:1/-1; }
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar #cat-filters:has(.quick-vehicle-filters[open]) .catalog-sort-control { grid-column:1/-1!important; }
body:is(.catalog-reference-upgrade,.marketplace-experience) #catalog-discovery-toolbar #cat-filters .quick-vehicle-filters .filter-btn { width:auto!important;min-height:44px!important;font-size:13px!important;padding:8px 12px!important;flex:0 1 auto; }
#cat-filters .quick-vehicle-filters .quick-vehicle-group { width:100%;gap:6px; }
#cat-filters .quick-vehicle-filters .quick-vehicle-group>b { margin:2px 0; }
.car-card__rate-details,.car-card__spec-details { padding:8px 0;font-size:13px; }
.car-card__rate-details>summary,.car-card__spec-details>summary { min-height:32px;cursor:pointer;color:var(--cm-ui-muted,#667085);font-weight:700; }
.car-card__spec-details { flex:1 1 100%; }
.more-menu-priority { padding:8px;margin:8px 0 14px;border:1px solid var(--cm-ui-line,#dfe3e8);border-radius:12px;background:var(--cm-ui-soft,#f4f6f9); }
.more-menu-priority>a { display:flex;min-height:44px;align-items:center;padding:10px;font-weight:800; }
.client-account-section { margin:20px 0;padding:18px;border:1px solid var(--cm-ui-line,#dfe3e8);border-radius:16px;background:var(--cm-ui-paper,#fff); }
.client-account-section>summary { min-height:44px;cursor:pointer;font-weight:800;color:var(--cm-ui-text,#17202a); }
#page-profile[data-account-state="guest"] :is(.cabinet-demo-banner,.partner-switch-container,.profile-dashboard,#p-list-title,#client-booking-filter,#orders-list,#client-booking-empty,.client-account-section) { display:none!important; }
#page-profile[data-account-state="guest"] .page-context-hero a { display:none; }
#page-profile .client-login-prompt { margin:18px 0;padding:22px;border:1px solid var(--cm-ui-line,#dfe3e8);border-radius:16px;background:var(--cm-ui-paper,#fff); }
.booking-field-error { display:block;color:var(--cm-ui-error);font-size:13px;line-height:1.45;margin:5px 0 10px; }
.booking-field-error[hidden] { display:none; }
#bookingModal [aria-invalid="true"] { border-color:var(--cm-ui-error)!important; }
.booking-progress__step { white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:12px!important; }
.workspace-change-dialog { width:min(640px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:24px;border:1px solid var(--cm-ui-line,#dfe3e8);border-radius:18px;background:var(--cm-ui-paper,#fff);color:var(--cm-ui-text,#17202a);box-sizing:border-box; }
.workspace-change-dialog::backdrop { background:rgba(15,23,42,.55); }
.workspace-change-dialog section { padding:12px 0;border-bottom:1px solid var(--cm-ui-line,#dfe3e8); }
.workspace-change-dialog button { min-height:44px;margin:12px 10px 0 0;padding:10px 14px;border:1px solid var(--cm-ui-line,#dfe3e8);border-radius:10px;cursor:pointer; }
#operations-rate-currency { padding:12px;border-radius:10px;background:var(--cm-ui-soft,#f4f6f9);font-weight:700; }
#operations-rate-currency.is-error { color:#b42318; }
@media(max-width:760px) {
  #bookingModal .swipe-gallery,#bookingModal .swipe-gallery img { height:145px!important;max-height:145px!important;object-fit:contain!important; }
  #bookingModal #m-availability-preview details>summary { min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:800; }
  #bookingModal #m-availability-preview details>summary::after { content:'⌄';margin-left:auto; }
}
/* Preserve the documents' print workflow and exclude mobile navigation. */
.workspace-pagination { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0; }
.workspace-pagination button { min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-main);cursor:pointer; }
.workspace-pagination span { color:var(--text-muted);font-size:13px; }
.news-article__byline,.news-article__history { font-size:13px;color:var(--text-muted); }
.vehicle-reference-note { margin:10px 0;padding:10px 12px;border:1px solid var(--cm-ui-line);border-radius:10px;background:var(--cm-ui-soft);color:var(--cm-ui-muted);font-size:12px;line-height:1.5; }
.inventory-landing .public-page__eyebrow { color:var(--cm-ui-link); }
body.site-shell main.marketplace-page { padding-left:20px!important;padding-right:20px!important; }
@media(max-width:760px) { body.site-shell main.marketplace-page { padding-left:14px!important;padding-right:14px!important; } }
html[data-theme='dark'] body.site-shell :is(.news-card__manufacturer,.news-card__category,.news-hub__eyebrow,.news-hub__signal-kicker,.public-page__eyebrow,.eyebrow) { color:var(--cm-ui-link)!important;-webkit-text-fill-color:var(--cm-ui-link); }
@media(max-width:580px) {
  body.site-shell .inventory-landing { padding:16px 14px 48px!important; }
  .inventory-landing .inventory-landing__summary { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 26px; }
  .inventory-landing__summary>div { min-width:0;padding:14px; }
  .inventory-landing__summary>div:nth-child(3) { grid-column:1 / -1; }
  .inventory-landing__summary strong { font-size:22px;overflow-wrap:anywhere; }
}
@media(max-width:760px) {
  body.admin-page .admin-finance-responsive { display:block;min-width:0!important;width:100%; }
  body.admin-page .admin-finance-responsive tbody { display:block; }
  body.admin-page .admin-finance-responsive .admin-finance-headings { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
  body.admin-page .admin-finance-responsive .admin-finance-record { display:block;margin:12px 0;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--bg-card); }
  body.admin-page .admin-finance-responsive .admin-finance-record td { display:grid;grid-template-columns:minmax(85px,.8fr) minmax(0,1.2fr);gap:10px;width:100%;min-width:0!important;padding:8px 4px;overflow-wrap:anywhere;white-space:normal; }
  body.admin-page .admin-finance-responsive .admin-finance-record td::before { content:attr(data-label);font-weight:700;color:var(--text-muted); }
  body.admin-page .admin-finance-responsive .admin-finance-record td[colspan] { display:block; }
  body.admin-page .admin-finance-responsive .admin-finance-record td[colspan]::before { content:none; }
}
/* The legacy foundation forces red price text with !important. Override it
   once in the shared final layer so dark cards and SSR prices stay readable. */
html[data-theme='dark'] :is(.card-total-price,.price) { color:#ffb3b9!important; }
@media print {
  html[data-theme='dark'] :is(.card-total-price,.price) { color:#000!important; }
  body:is(.voucher-page, .inspection-page) { background: #fff !important; color: #000 !important; }
  body:is(.voucher-page, .inspection-page) .standalone-mobile-nav { display: none !important; }
}

/* One informational-page template: equal outer gutters, readable prose and
   explicit banner foregrounds in both themes. Operational grids stay intact. */
html body.site-shell :is(main.public-page, .marketplace-page, .rental-guide,
  .page.text-content, #page-business, #page-affiliate, #page-promotions, #page-updates, #news-hub),
html body.site-shell:is(.car-detail-page, .city-landing-page) main {
  box-sizing: border-box;
  width: min(calc(100% - 32px), var(--cm-page-width)) !important;
  max-width: var(--cm-page-width) !important;
  margin: 24px auto 48px !important;
  padding: 0 !important;
  font-family: var(--cm-ui-font) !important;
  font-size: 16px;
  color: var(--cm-ui-text) !important;
}
html body.site-shell :is(#page-business, #page-affiliate, #page-promotions, #page-updates) > .public-page {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
}
html body.site-shell :is(.page.text-content, .legal-page) {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
}
html body.site-shell :is(.public-page, .marketplace-page, .rental-guide, .page.text-content) :is(h1, .context-heading),
html body.site-shell:is(.car-detail-page, .city-landing-page) main h1 {
  max-width: var(--cm-prose-width);
  font: 800 var(--cm-heading-1)/1.2 var(--cm-ui-font) !important;
  letter-spacing: -.035em !important;
}
html body.site-shell :is(.public-page, .marketplace-page, .rental-guide, .page.text-content) h2:not(.context-heading) {
  font: 750 var(--cm-heading-2)/1.3 var(--cm-ui-font) !important;
}
html body.site-shell :is(.public-page, .marketplace-page, .rental-guide, .page.text-content) h3 {
  font: 750 var(--cm-heading-3)/1.35 var(--cm-ui-font) !important;
}
html body.site-shell :is(.public-page, .marketplace-page, .rental-guide, .page.text-content) p:not(.eyebrow):not(.public-page__eyebrow):not(.guide-eyebrow):not(.meta):not(.legal-page__meta) {
  max-width: var(--cm-prose-width);
  font-size: 16px !important; line-height: 1.65 !important;
}
html body.site-shell:is(.car-detail-page, .city-landing-page) :is(.lead, .panel) > p {
  max-width: var(--cm-prose-width); font-size: 16px; line-height: 1.65;
}
html body.site-shell :is(.public-page__hero, .page-context-hero, .guide-heading,
  .affiliate-page__closing, .partner-page__closing, .news-article__header) {
  box-sizing: border-box;
  width: 100%; max-width: none !important;
  margin: 0 0 24px !important; padding: var(--cm-page-gutter) !important;
  border: 1px solid var(--cm-ui-line) !important;
  border-radius: var(--cm-ui-radius) !important;
  background: var(--cm-ui-paper) !important;
  color: var(--cm-ui-text) !important;
  box-shadow: var(--cm-ui-shadow) !important;
}
html body.site-shell .legal-page__hero { width: min(calc(100% - 32px), var(--cm-page-width)); margin: 24px auto !important; }
html body.site-shell :is(.public-page__hero, .page-context-hero, .guide-heading,
  .affiliate-page__closing, .partner-page__closing) :is(h1, h2, h3, strong) {
  color: var(--cm-ui-text) !important; -webkit-text-fill-color: var(--cm-ui-text) !important;
}
html body.site-shell :is(.public-page__hero, .page-context-hero, .guide-heading,
  .affiliate-page__closing, .partner-page__closing) p:not(.eyebrow):not(.public-page__eyebrow):not(.guide-eyebrow) {
  color: var(--cm-ui-muted) !important; -webkit-text-fill-color: var(--cm-ui-muted) !important;
}
html body.site-shell :is(.public-page, .marketplace-page, .rental-guide, .page.text-content) :is(.public-page__eyebrow, .eyebrow, .guide-eyebrow, .business-panel__eyebrow, .affiliate-page__panel-label, .partner-page__panel-label) {
  color: var(--cm-ui-link) !important; -webkit-text-fill-color: var(--cm-ui-link) !important;
  font: 750 12px/1.5 var(--cm-ui-font) !important; letter-spacing: .04em;
}
html body.site-shell .public-page .affiliate-page__hero :is(.public-page__eyebrow, .affiliate-page__panel-label) {
  color: var(--cm-ui-link) !important; -webkit-text-fill-color: var(--cm-ui-link) !important;
}
html body.site-shell .public-page .affiliate-page__hero-panel { background: var(--cm-ui-soft) !important; }
html body.site-shell .public-page .affiliate-page__hero-panel :is(strong, span, li) {
  color: var(--cm-ui-text) !important; -webkit-text-fill-color: var(--cm-ui-text) !important;
}
html body.site-shell .public-page :is(.public-page__hero-action, .guide-action) {
  color: #fff !important; -webkit-text-fill-color: #fff !important;
}
html body.site-shell .public-page .affiliate-page__hero .affiliate-page__text-action {
  color: var(--cm-ui-text) !important; -webkit-text-fill-color: var(--cm-ui-text) !important;
}
html body.site-shell :is(.legal-page__article, .guide-article, .news-article__body) :is(p, ul, ol, h1, h2, h3) {
  max-width: var(--cm-prose-width);
}
.guide-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; }
.information-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.information-card { min-width: 0; display: flex; flex-direction: column; gap: 12px; padding: var(--cm-page-gutter); background: var(--cm-ui-paper); border: 1px solid var(--cm-ui-line); border-radius: var(--cm-ui-radius); }
.information-card :is(h2, h3, p) { margin: 0; }
.information-card p { color: var(--cm-ui-muted); }
.information-card > a:last-child { margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; color: var(--cm-ui-link); font-weight: 750; text-underline-offset: 3px; }
.information-links { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 0; list-style: none; }
.information-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--cm-ui-link); font-weight: 700; }
.guide-toc { margin: 20px 0; padding: 16px; border: 1px solid var(--cm-ui-line); border-radius: var(--cm-ui-control); background: var(--cm-ui-soft); }
.guide-toc ul { margin: 8px 0 0; }
/* Author styles must not expose inactive steps to sighted or keyboard users. */
.partner-page__form [hidden] { display: none !important; }
html body.site-shell .information-card :is(h2, h3) { padding: 0; border: 0; }
html body.site-shell .information-card :is(h2, h3)::after { content: none; }
html body.site-shell .public-page .partner-page__route-number {
  color: var(--cm-ui-link) !important;
}
html body.site-shell :is(.marketplace-panel, .information-links, .page.text-content .public-page__card) a:not(.marketplace-cta):not(.public-page__hero-action):not(.guide-action):not(.cta):not(.btn-primary) {
  color: var(--cm-ui-link) !important; -webkit-text-fill-color: var(--cm-ui-link) !important;
}
@media (max-width: 760px) {
  .information-grid, .guide-layout { grid-template-columns: minmax(0, 1fr); }
  html body.site-shell :is(main.public-page, .marketplace-page, .rental-guide, .page.text-content, #page-business, #page-affiliate, #page-promotions, #page-updates, #news-hub),
  html body.site-shell:is(.car-detail-page, .city-landing-page) main { margin-top: 16px !important; }
  html body.site-shell .public-page .affiliate-page__hero .affiliate-page__actions { grid-template-columns: minmax(0, 1fr); }
}

/* Audited catalogue layout. Native disclosures replace the four permanently
   expanded rails; offer content has independent information/checkout columns.
   Keep this contract in the shared final layer, after legacy layout rules. */
html body.catalog-reference-upgrade #page-fleet { padding-top: 8px !important; }
/* An identity transform left by the page-entry animation makes fixed panels
   anchor to the entire catalogue rather than to the viewport. */
html body.catalog-reference-upgrade #page-fleet.page.active { transform: none !important; }
html body.catalog-reference-upgrade #page-fleet > .journey-hero {
  margin-top: 0 !important; padding: 12px 18px 4px !important;
}
html body.catalog-reference-upgrade #page-fleet .journey-hero { display: block !important; position: relative; }
html body.catalog-reference-upgrade #page-fleet .journey-hero .eyebrow { position: absolute; right: 18px; top: 14px; margin: 0 !important; font-size: 10px; }
html body.catalog-reference-upgrade #journey-title { font-size: clamp(24px, 2.4vw, 30px) !important; line-height: 1.15 !important; }
html body.catalog-reference-upgrade #page-fleet > .journey-hero p:not(.eyebrow) { margin: 4px 0 !important; font-size: 13px !important; line-height: 1.45 !important; }
html body.catalog-reference-upgrade #search-sticky { padding: 8px 18px 10px !important; margin-bottom: 8px !important; }
html body.catalog-reference-upgrade #search-sticky .search-box { padding: 0 !important; }
html body.catalog-reference-upgrade #search-sticky .marketplace-search-actions > summary { padding: 4px 0 !important; min-height: 28px; }
html body.catalog-reference-upgrade .marketplace-search-extra-wrap { margin: 4px 0 !important; }
html body.catalog-reference-upgrade .marketplace-search-extra-wrap > summary { font-size: 13px !important; min-height: 36px; padding: 4px 0; }
html body.catalog-reference-upgrade .marketplace-search-extra-wrap:not([open]) .marketplace-search-extra__hint { display: none; }
html body.catalog-reference-upgrade #f-search-group { margin-bottom: 28px !important; }
html body.catalog-reference-upgrade .catalog-search-hint {
  right: 8px; left: 8px; overflow: visible; white-space: normal; text-overflow: clip; line-height: 1.4;
}
html body.catalog-reference-upgrade #p0-trust-markers { gap: 6px 16px; margin: 0 0 4px !important; }
html body.catalog-reference-upgrade #p0-trust-markers span { padding: 2px 4px !important; }
html body.catalog-reference-upgrade #p0-search-context { margin: 6px 0 !important; padding: 8px 12px !important; }

html body.catalog-reference-upgrade #catalog-discovery-toolbar {
  position: relative; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 2fr) !important;
  gap: 8px !important; padding: 8px !important; margin: 6px 0 !important; overflow: visible !important;
  background: var(--cm-ui-paper) !important; border: 1px solid var(--cm-ui-line); border-radius: 14px;
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar:has(details[open]) { z-index: 20; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(.catalog-discovery-toolbar__head, .catalog-discovery-mobile-actions, .catalog-discovery-row__cue) { display: none !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row {
  display: block !important; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; position: static !important;
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row[hidden] { display: none !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__summary,
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters > summary {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-content: center;
  min-height: 56px !important; box-sizing: border-box; gap: 2px 6px; padding: 8px 12px !important;
  list-style: none; cursor: pointer; border: 1px solid var(--cm-ui-line) !important; border-radius: 10px !important;
  background: var(--cm-ui-paper) !important; color: var(--cm-ui-text) !important;
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar summary::-webkit-details-marker { display: none; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar summary:focus-visible { outline: 2px solid var(--cm-ui-accent); outline-offset: 2px; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__label,
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__label { grid-column: 1; width: auto; padding: 0; color: var(--cm-ui-muted); font-size: 11px; font-weight: 600; line-height: 1.3; text-transform: none; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__selection,
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__selection {
  grid-column: 1; font-size: 13px; line-height: 1.35; font-weight: 750; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__chevron { grid-column: 2; grid-row: 1 / 3; align-self: center; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar details[data-active="true"] > summary { border-color: var(--cm-ui-accent) !important; background: var(--primary-light) !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar details[open] > summary .catalog-discovery-row__chevron { transform: rotate(180deg); }
html body.catalog-reference-upgrade #catalog-discovery-toolbar details.catalog-discovery-row:not([open]) > .catalog-discovery-row__body { display: none !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar details.catalog-discovery-row[open] > .catalog-discovery-row__body[popover]:not(:popover-open),
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters[open] > .quick-vehicle-filters__options[popover]:not(:popover-open) { display: none !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar details.catalog-discovery-row[open] > .catalog-discovery-row__body,
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters[open] > .quick-vehicle-filters__options {
  position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 1; width: auto;
  max-height: min(420px, 60dvh) !important; overflow: auto !important; overscroll-behavior: contain; box-sizing: border-box;
  display: block !important; padding: 14px !important; margin: 0 !important; border: 1px solid var(--cm-ui-line);
  border-radius: 14px; background: var(--cm-ui-paper); box-shadow: 0 12px 32px rgba(15,23,42,.16);
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(#catalog-brand-shortcuts, #catalog-city-shortcuts, #p0-quick-filters) {
  display: block !important; width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(#catalog-brand-shortcuts, #catalog-city-shortcuts) > strong { display: none !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(.catalog-brand-shortcuts__list, .catalog-city-shortcuts__list, #p0-quick-filters) {
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)) !important; gap: 8px !important; overflow: visible !important; padding: 0 !important;
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(.catalog-brand-shortcuts__list, .catalog-city-shortcuts__list) button {
  display: grid !important; grid-template-columns: 28px minmax(0, 1fr) auto !important; gap: 8px !important; align-items: center;
  height: auto !important; min-height: 48px !important; padding: 8px 10px !important; width: 100% !important; min-width: 0 !important;
  font-size: 13px !important; line-height: 1.35 !important; white-space: normal !important;
}
html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(.catalog-brand-shortcuts__list, .catalog-city-shortcuts__list) small { font-size: 11px; white-space: normal !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button:not(.p0-clear) {
  display: grid !important; grid-template-columns: 26px minmax(0, 1fr) !important; gap: 2px 8px !important;
  align-items: center; width: 100% !important; min-width: 0 !important; min-height: 62px !important; padding: 8px 10px !important; height: auto !important;
}
html body.catalog-reference-upgrade #p0-quick-filters .p0-chip-icon { grid-column: 1; grid-row: 1 / 3; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button .p0-chip-label { grid-column: 2; font-size: 13px !important; line-height: 1.35 !important; overflow-wrap: normal; white-space: normal !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button .p0-chip-count { grid-column: 2; font-size: 11px !important; line-height: 1.4 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button[hidden] { display: none !important; }
html body.catalog-reference-upgrade #p0-quick-filters .p0-clear { min-height: 44px !important; justify-self: start; padding: 8px 12px !important; }
html body.catalog-reference-upgrade .catalog-discovery-done { display: block; margin: 12px 0 0 auto; min-height: 44px; padding: 8px 16px; border: 0; border-radius: 10px; background: var(--cm-ui-accent); color: #fff; font: 700 13px/1.4 var(--cm-ui-font); cursor: pointer; }
html body.catalog-reference-upgrade .catalog-discovery-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
html body.catalog-reference-upgrade .catalog-discovery-panel-heading strong { font-size: 15px; color: var(--cm-ui-text); }
html body.catalog-reference-upgrade .catalog-discovery-panel-heading button { min-width: 44px; min-height: 44px; border: 1px solid var(--cm-ui-line); border-radius: 10px; background: var(--cm-ui-soft); color: var(--cm-ui-text); font-size: 22px; cursor: pointer; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row--catalogue > .catalog-discovery-row__label { display: none !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
}
html body.catalog-reference-upgrade #cat-filters .catalog-sort-control { grid-column: 2 !important; grid-row: 1; display: block !important; position: relative; min-width: 0; }
html body.catalog-reference-upgrade #cat-filters .catalog-sort-control__label { display: block !important; position: absolute; top: 8px; left: 12px; z-index: 1; color: var(--cm-ui-muted); font-size: 11px; pointer-events: none; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort { min-height: 56px !important; padding: 23px 28px 8px 12px !important; border-radius: 10px !important; font-weight: 750; }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters { grid-column: 1 !important; grid-row: 1; position: static; }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__options .filter-btn { min-height: 44px !important; margin: 4px; }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-group { display: flex; }
html body.catalog-reference-upgrade #catalog-filter-rail[hidden] { display: none !important; }
html body.catalog-reference-upgrade #catalog-filter-rail:not([hidden]) { display: block !important; position: static; padding: 10px 12px; margin-bottom: 8px; }
html body.catalog-reference-upgrade #catalog-filter-rail :is(.catalog-filter-rail__summary, .catalog-filter-rail__all) { display: none !important; }
html body.catalog-reference-upgrade #catalog-result-count { margin: 4px 0 !important; }

html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue { grid-template-columns: minmax(260px, 32%) minmax(0, 1fr) !important; }
html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-content {
  display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(210px, 1fr) !important; align-items: start;
}
html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-info { padding: 16px !important; }
html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue :is(.offer-info, .offer-checkout) { grid-column: auto !important; grid-row: auto !important; }
html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-checkout {
  display: flex !important; flex-direction: column !important; align-self: stretch; gap: 8px; padding: 16px !important; margin: 0 !important;
  border-top: 0 !important; border-left: 1px solid var(--cm-ui-line) !important; background: var(--cm-ui-soft) !important;
}
html body.catalog-reference-upgrade #fleet-grid .car-card__title { font-size: 22px !important; line-height: 1.25 !important; margin-bottom: 4px !important; }
html body.catalog-reference-upgrade #fleet-grid .car-card__specs { gap: 8px !important; margin: 10px 0 !important; }
html body.catalog-reference-upgrade #fleet-grid .car-card__specs > span { font-size: 12px !important; line-height: 1.45; }
html body.catalog-reference-upgrade #fleet-grid .car-card__spec-details { order: 2; padding: 0; }
html body.catalog-reference-upgrade #fleet-grid .car-card__spec-details > summary { min-height: 28px; }
html body.catalog-reference-upgrade #fleet-grid .vehicle-reference-note { margin: 8px 0; padding: 8px 10px; }
html body.catalog-reference-upgrade #fleet-grid .car-card__badges { display: flex !important; flex-wrap: wrap; gap: 5px !important; margin: 8px 0 !important; }
html body.catalog-reference-upgrade #fleet-grid .car-card__badges .car-card__badge { position: static !important; max-width: 100% !important; background: var(--cm-ui-soft) !important; color: var(--cm-ui-text) !important; border: 1px solid var(--cm-ui-line) !important; }
html body.catalog-reference-upgrade #fleet-grid .car-card__supplier-status { font-size: 12px; margin: 6px 0 2px !important; }
html body.catalog-reference-upgrade #fleet-grid .marketplace-supplier-link { margin: 0 !important; padding: 2px 0; }
html body.catalog-reference-upgrade #fleet-grid .car-card__verification-details { margin: 4px 0; font-size: 12px; }
html body.catalog-reference-upgrade #fleet-grid .car-card__verification-details > summary { min-height: 28px; cursor: pointer; color: var(--cm-ui-muted); }
html body.catalog-reference-upgrade #fleet-grid .card-terms { display: grid !important; gap: 6px; margin: 10px 0 0 !important; font-size: 12px; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout :is(.availability-pill, .conversion-confirmation, .price-total, .car-card__rate-details, .card-price-guidance, .price-savings, .saved-checkout-pill) { margin: 0 !important; width: 100%; box-sizing: border-box; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .availability-pill { order: 0; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .price-total { order: 1; display: block !important; padding: 0 !important; border: 0 !important; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .price-total .car-card__status { display: none; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .price-total > div:first-child { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 3px 6px; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .price-total small { flex: 0 0 100%; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .card-total-price { font-size: 26px !important; line-height: 1.25; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .card-daily-price { font-size: 12px !important; margin: 0 !important; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .card-daily-price:not(:first-child):not(:last-child) { flex-basis: 100%; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout :is(.car-card__rate-details, .card-price-guidance, .price-savings, .promotion-price) { order: 2; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .conversion-confirmation { order: 3; font-size: 12px; padding: 8px !important; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .saved-checkout-pill { order: 4; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout :is(.card-book-btn, .card-date-suggestion) { order: 5; margin: 0 !important; width: 100%; min-height: 44px !important; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .marketplace-detail-link { order: 6; min-height: 32px; padding: 4px; margin: 0; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .car-card__rate-details { padding: 0; }
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .car-card__rate-details > summary { min-height: 32px; display: flex; align-items: center; font-size: 12px; }
html body.catalog-reference-upgrade #fleet-grid .availability-pill.pending { color: var(--cm-ui-muted) !important; background: var(--cm-ui-paper) !important; }
html body.catalog-reference-upgrade #fleet-grid .card-price-tiers > div { grid-template-columns: 1fr !important; }

@media (min-width: 1000px) {
  html body.catalog-reference-upgrade #search-sticky .search-box { gap: 8px !important; align-items: center; }
  html body.catalog-reference-upgrade #search-sticky .floating-input { height: 60px !important; min-height: 60px !important; font-size: 17px !important; }
  html body.catalog-reference-upgrade #search-sticky .quick-dates button { min-height: 32px; padding: 6px 10px !important; font-size: 12px; }
  html body.catalog-reference-upgrade #search-sticky #p0-show-cars { min-height: 48px !important; height: 60px !important; align-self: center; font-size: 16px !important; }
}
@media (min-width: 761px) {
  html body.catalog-reference-upgrade #catalog-results-layout { grid-template-columns: minmax(0, 1fr) !important; }
  /* Keep both tracks and their placement in the same authoritative layer.
     A single explicit track plus content in column 2 created an implicit
     auto track, shrinking a 1280px source photo to an 89px thumbnail. */
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue {
    display: grid !important;
    grid-template-columns: minmax(280px, 46%) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    transition: box-shadow .16s ease, border-color .16s ease !important;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    align-self: start !important;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .card-img-box {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .card-img {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    aspect-ratio: auto 4 / 3 !important;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .act-btn {
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .offer-checkout { border-left: 0 !important; border-top: 1px solid var(--cm-ui-line) !important; }
}
@media (max-width: 1099px) {
  html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue { grid-template-columns: minmax(230px, 38%) minmax(0, 1fr) !important; }
  html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-content { grid-template-columns: minmax(0, 1fr) !important; }
  html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-checkout { border-left: 0 !important; border-top: 1px solid var(--cm-ui-line) !important; }
}
@media (max-width: 760px) {
  html body.catalog-reference-upgrade #page-fleet { padding-top: 12px !important; }
  html body.catalog-reference-upgrade #page-fleet > .journey-hero { padding: 10px 12px 4px !important; }
  html body.catalog-reference-upgrade #search-sticky { padding: 8px 12px !important; }
  html body.catalog-reference-upgrade #search-sticky .floating-input { min-height: 58px !important; height: 58px !important; font-size: 17px !important; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row--catalogue { grid-column: 1 / -1; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row--conditions { grid-column: 3; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__summary { grid-template-columns: minmax(0, 1fr); position: relative; min-height: 64px !important; padding: 8px !important; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__label { padding-right: 12px; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__selection { overflow: visible; white-space: normal; font-size: 12px; overflow-wrap: anywhere; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__chevron { position: absolute; right: 7px; top: 7px; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar details.catalog-discovery-row[open] > .catalog-discovery-row__body[popover],
  html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters[open] > .quick-vehicle-filters__options[popover] {
    position: fixed; top: auto; bottom: calc(82px + env(safe-area-inset-bottom)); left: 12px; right: 12px;
    max-height: 70dvh !important; border-radius: 18px; box-shadow: 0 0 0 100vmax rgba(15,23,42,.12), 0 12px 32px rgba(15,23,42,.24);
  }
  html body.catalog-reference-upgrade .catalog-discovery-panel-heading { position: sticky; top: -14px; background: var(--cm-ui-paper); z-index: 2; padding: 4px 0; }
  html body.catalog-reference-upgrade .catalog-discovery-done { position: sticky; bottom: -14px; width: 100%; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(.catalog-brand-shortcuts__list, .catalog-city-shortcuts__list, #p0-quick-filters) { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(.catalog-brand-shortcuts__list, .catalog-city-shortcuts__list) button { grid-template-columns: 24px minmax(0, 1fr) !important; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar :is(.catalog-brand-shortcuts__list, .catalog-city-shortcuts__list) small { grid-column: 2; }
  html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue { display: flex !important; grid-template-columns: none !important; }
  html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media { aspect-ratio: 4 / 3 !important; }
  html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box { height: 100% !important; aspect-ratio: auto !important; }
  html body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img { padding: 0 !important; transform: none !important; }
  html body.catalog-reference-upgrade #page-fleet .journey-hero .eyebrow { position: static; margin-bottom: 4px !important; }
}
@media (max-width: 380px) {
  /* Two-line time captions need their own space, not the value's baseline. */
  html body.catalog-reference-upgrade #search-sticky .floating-input { min-height: 64px !important; height: 64px !important; padding: 30px 10px 8px !important; line-height: 1.3 !important; }
  html body.catalog-reference-upgrade #search-sticky .floating-label { left: 10px !important; right: 8px; top: 5px !important; font-size: 10px !important; line-height: 12px !important; }
}
