/* Source: /static/css/conversion-upgrade.css */
.conversion-confirmation{margin:10px 0 7px;padding:7px 9px;border-radius:8px;background:#fff7e8;color:#934d00;font-size:12px}.conversion-confirmation.instant{background:#e9f8ef;color:#146c3b}.conversion-price{margin:8px 0 10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input)}.conversion-price div{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.conversion-price span{font-size:12px;font-weight:700}.conversion-price b{font-size:17px;color:var(--primary)}.conversion-price small{display:block;margin-top:4px;color:var(--text-muted);font-size:11px}.conversion-calendar{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input)}.conversion-calendar>b{display:block;margin-bottom:8px}.availability-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.availability-calendar span{padding:6px 2px;border-radius:6px;text-align:center;font-size:11px;font-weight:800}.availability-calendar .free{background:#e9f8ef;color:#146c3b}.availability-calendar .busy{background:#fff0f0;color:#b42318}.conversion-calendar small{display:block;margin-top:9px;color:var(--text-muted);font-size:11px}.calendar-free,.calendar-busy{display:inline-block;width:8px;height:8px;margin:0 3px 0 8px;border-radius:99px;background:#e9f8ef}.calendar-busy{background:#fff0f0}.save-search-button{border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-main);padding:10px 12px;font-weight:800;cursor:pointer;white-space:nowrap}.conversion-empty-recovery{grid-column:1/-1;margin-top:-35px;text-align:center;padding:0 20px 35px;color:var(--text-muted)}.conversion-empty-recovery b{color:var(--text-main);font-size:16px}.conversion-empty-recovery p{margin:8px auto 12px;max-width:480px}.conversion-empty-recovery button{padding:10px 14px;border:0;border-radius:9px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.offer-quality{margin:6px 0;color:var(--text-muted);font-size:11px;font-weight:700}.offer-quality.complete{color:#146c3b}@media(max-width:620px){.save-search-button{width:100%;margin-top:8px}.availability-calendar{gap:3px}}
.partner-funnel-panel{margin:20px 0;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.partner-funnel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.partner-funnel-head small,.partner-funnel-table span{display:block;color:var(--text-muted);font-size:12px;margin-top:3px}.partner-funnel-head>span{color:var(--primary);font-weight:900;white-space:nowrap}.partner-funnel-table{margin-top:12px}.partner-funnel-table>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.partner-funnel-table span{text-align:right}.partner-demand{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:12px}.partner-demand b{width:100%}.partner-demand span{padding:4px 7px;border-radius:99px;background:var(--bg-input)}
.p0-trust-markers{display:flex;gap:10px;flex-wrap:wrap;max-width:1280px;margin:0 auto 16px;padding:0 20px}.p0-trust-markers span{padding:8px 11px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);font-size:12px;font-weight:800;color:var(--text-main)}.p0-return-place{position:relative;min-width:0;margin-bottom:0!important}.p0-return-toggle{min-height:47px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-main);font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.p0-return-toggle:before{content:'↩ ';color:var(--primary)}.p0-return-details{position:absolute;right:0;top:55px;z-index:20;width:min(300px,calc(100vw - 32px));padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);box-shadow:var(--shadow)}.p0-return-details .floating-input{box-sizing:border-box}.p0-return-details .floating-label{top:15px}.p0-return-details small{display:block;margin:7px 2px 0;color:var(--text-muted);font-size:10px;line-height:1.25}.p0-show-cars{min-height:47px;padding:0 18px;border:0;border-radius:12px;background:var(--primary);color:#fff;font-weight:900;font-size:14px;cursor:pointer;white-space:nowrap}.p0-search-context{display:flex;justify-content:space-between;gap:15px;align-items:center;max-width:1280px;margin:18px auto 8px;padding:0 20px}.p0-search-context b,.p0-search-context span{display:block}.p0-search-context span{margin-top:3px;color:var(--text-muted);font-size:12px}.p0-map-toggle{border:1px solid var(--border);border-radius:10px;background:var(--bg-card);padding:9px 13px;color:var(--text-main);font-weight:800;cursor:pointer}.p0-quick-filters{display:flex;gap:8px;flex-wrap:wrap;max-width:1280px;margin:0 auto 12px;padding:0 20px}.p0-quick-filters button{border:1px solid var(--border);border-radius:999px;background:var(--bg-card);padding:8px 11px;color:var(--text-main);font-size:12px;font-weight:800;cursor:pointer}.p0-quick-filters button.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg-card));color:var(--primary)}.p0-quick-filters .p0-clear{margin-left:auto}.p0-collections{display:flex!important;gap:12px;overflow:auto;padding:0 20px 14px!important;max-width:1280px;margin:0 auto}.p0-collections button{min-width:190px;text-align:left;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-main);cursor:pointer}.p0-collections b,.p0-collections span{display:block}.p0-collections span{margin-top:4px;color:var(--text-muted);font-size:12px}.p0-explainer{margin-top:34px!important}#map-wrapper{display:none}#map-wrapper.p0-map-open{display:block;margin-top:10px}
@media(max-width:780px){.p0-return-place{order:8;min-width:100%;max-width:none}.p0-show-cars{width:100%;order:9}.p0-trust-markers{padding:0 14px}.p0-search-context,.p0-quick-filters{padding:0 14px}.p0-quick-filters .p0-clear{margin-left:0}.p0-search-context{margin-top:14px}.p0-collections{padding-left:14px!important;padding-right:14px!important}}
.client-booking-timeline{display:flex;gap:4px;margin:14px 0 3px}.client-booking-timeline>div{flex:1;min-width:0}.client-booking-timeline i{display:block;height:5px;border-radius:8px;background:var(--border)}.client-booking-timeline .done i{background:var(--primary)}.client-booking-timeline span{display:block;overflow:hidden;margin-top:5px;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.client-booking-timeline .done span{color:var(--text-main);font-weight:800}.client-booking-timeline.closed{margin:13px 0 2px;color:var(--text-muted);font-size:12px;font-weight:700}
.partner-fleet-readiness{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input)}.partner-fleet-readiness small{display:block;margin-top:3px;color:var(--text-muted);font-size:11px}.partner-fleet-metrics{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.partner-fleet-metrics span{padding:5px 8px;border-radius:8px;background:var(--bg-card);font-size:11px;white-space:nowrap}.partner-fleet-metrics b{font-size:14px}.partner-fleet-metrics .needs-attention{color:#a45c00;background:#fff7e8}.partner-car-quality{display:block;margin-top:3px;color:var(--text-muted);font-size:11px;font-weight:700}.partner-car-quality.ready{color:#146c3b}@media(max-width:600px){.partner-fleet-readiness{align-items:flex-start;flex-direction:column}.partner-fleet-metrics{justify-content:flex-start}}
.partner-missing-terms{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;font-size:10px}.partner-missing-terms>b{width:100%;color:#8a5a00}.partner-missing-terms span{padding:3px 6px;border-radius:99px;background:#fff7e8;color:#8a5a00;font-weight:700}
/* Compact desktop search: keep controls aligned instead of stretching across a wide catalogue. */
@media(min-width:1000px){.search-container{max-width:1180px;margin:0 auto 22px}.search-box{display:grid!important;grid-template-columns:minmax(225px,.85fr) minmax(435px,1.65fr) 56px 56px;gap:10px!important;padding:14px!important}.search-box>#f-search-group{min-width:0!important;flex:none!important}.search-box>div:nth-child(2){min-width:0!important;flex:none!important}.search-box>div:nth-child(2)>div{min-width:0}.search-box .floating-group{min-width:0}.search-box .floating-input{min-width:0}.quick-dates{margin-top:0!important;padding-left:0!important}.search-container.stuck{max-width:1180px;width:calc(100% - 32px)}}
/* The map is a focused discovery surface, not a thin strip below the search form. */
#map-wrapper.p0-map-open{max-width:1280px;margin:0 auto 26px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--bg-card);box-shadow:var(--shadow)}#map-wrapper.p0-map-open #map{height:390px;border:0;border-radius:0;box-shadow:none}.map-context{position:absolute;z-index:900;top:14px;left:14px;display:flex;align-items:center;gap:12px;max-width:calc(100% - 28px);padding:10px 12px;border:1px solid rgba(255,255,255,.55);border-radius:12px;background:rgba(255,255,255,.93);box-shadow:0 5px 18px rgba(0,0,0,.14);color:#172033}.map-context b,.map-context span{display:block}.map-context b{font-size:13px}.map-context span{margin-top:2px;color:#556070;font-size:11px}.map-context .map-context-badge{margin:0;padding:5px 8px;border-radius:99px;background:#111;color:#fff;font-size:10px;font-weight:800}.btn-search-area{top:72px!important}@media(max-width:700px){#map-wrapper.p0-map-open{margin:0 14px 20px;border-radius:14px}#map-wrapper.p0-map-open #map{height:340px}.map-context{top:10px;left:10px;padding:8px 10px}.map-context span:not(.map-context-badge){display:none}.btn-search-area{top:58px!important}}
/* Keep map layout isolated to the catalogue and reserve a whole grid cell for every search action. */
#page-fleet #map-wrapper.p0-map-open{float:none;width:auto;position:relative;top:auto;clear:both}
#page-fleet .journey-hero{max-width:1060px;margin:4px auto 18px}#page-fleet .p0-trust-markers{max-width:1060px}body:not(.is-tg-app) header,body:not(.is-tg-app) .search-container{position:relative;top:auto}
/* The landing banner must support the search task instead of taking over the screen. */
#page-fleet .journey-hero{background:linear-gradient(115deg,#16191f,#312020 62%,#681010);box-shadow:0 10px 26px rgba(25,18,18,.14)}
#page-fleet .journey-hero .eyebrow{margin:0;color:#ffcece}
.journey-hero-note{margin:7px 0 0!important;color:rgba(255,255,255,.68)!important;font-size:11px!important;line-height:1.35}.journey-hero-note:before{content:'✓ ';color:#a8e6bb;font-weight:900}
.affiliate-spotlight{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;max-width:1180px;margin:28px auto 16px;padding:13px 18px;border:1px solid rgba(204,0,0,.22);border-radius:14px;background:linear-gradient(105deg,#fff7f7,#fff);color:var(--text-main);text-decoration:none;box-shadow:0 6px 18px rgba(20,25,35,.05)}.affiliate-spotlight span{grid-row:1/3;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.08em}.affiliate-spotlight b{font-size:15px}.affiliate-spotlight small{color:var(--text-muted);font-size:12px}.affiliate-spotlight:hover{border-color:var(--primary)}.p0-date-guidance{grid-column:1/-1;margin:0;padding:9px 11px;border-radius:9px;background:#fff7e8;color:#8a5a00;font-size:12px;font-weight:800}.booking-readiness{margin:0 0 16px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);font-size:12px}.booking-readiness>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.booking-readiness-status{color:var(--text-muted);font-weight:800}.booking-readiness-status.is-ready{color:var(--success)}.booking-readiness ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 0;padding:0;list-style:none}.booking-readiness li{display:flex;align-items:flex-start;gap:5px;color:var(--text-muted);line-height:1.3}.booking-readiness li>span{font-weight:900}.booking-readiness li.is-ready{color:var(--success)}@media(max-width:460px){.booking-readiness ul{grid-template-columns:1fr}.booking-readiness>div{align-items:flex-start;flex-direction:column;gap:3px}}
@media(min-width:1000px){.search-container{max-width:1060px}.search-box{grid-template-columns:minmax(205px,.82fr) minmax(370px,1.48fr) 54px 54px minmax(155px,.55fr)!important}.search-box>#save-search-button{grid-column:1;grid-row:2;width:100%;box-sizing:border-box}.search-box>.p0-return-place{grid-column:2;grid-row:2;justify-self:start}.search-box>#p0-show-cars{grid-column:5;grid-row:2;justify-self:stretch;min-width:155px;padding:0 12px}.search-container.stuck{max-width:1060px}.affiliate-spotlight{max-width:1000px}}
/* Desktop catalogue: offers flow on the left while the map remains a visible side panel. */
@media(min-width:1100px){#page-fleet #map-wrapper.p0-map-open{display:block;float:right;clear:none;width:40%;margin:0 0 28px 24px;position:sticky;top:16px;max-width:none;border-radius:18px}#page-fleet #map-wrapper.p0-map-open #map{height:calc(100vh - 32px);min-height:560px;max-height:760px}#page-fleet #map-wrapper.p0-map-open+.controls-bar{min-height:0}#page-fleet .cars-grid{min-height:560px}}
#page-fleet .marketplace-faq{clear:both}

/* Desktop catalogue: the map is a true second column, not a float.  Content
   moved after the fleet stays left, and the FAQ starts after the catalogue. */
#catalog-map-layout{display:flow-root}
@media(min-width:1100px){
  #page-fleet #catalog-map-layout.has-side-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,40%);column-gap:24px;align-items:start}
  #page-fleet #catalog-map-layout.has-side-map>#map-wrapper.p0-map-open{grid-column:2;grid-row:1 / span 99;display:block;float:none!important;clear:none!important;width:auto!important;max-width:none;margin:0!important;position:sticky!important;top:16px!important;align-self:start;border-radius:18px}
  #page-fleet #catalog-map-layout.has-side-map>#map-wrapper.p0-map-open #map{height:calc(100vh - 32px);min-height:560px;max-height:760px}
  #page-fleet #catalog-map-layout.has-side-map> :not(#map-wrapper){grid-column:1;min-width:0}
  #page-fleet #catalog-map-layout.has-side-map #fleet-grid{min-height:560px}
}

/* Compact public header and hero without removing any navigation actions. */
@media(min-width:701px){
  body:not(.is-tg-app) header{padding:8px 20px}
  body:not(.is-tg-app) .logo{height:32px}
  body:not(.is-tg-app) .desktop-nav{margin-top:8px}
  body:not(.is-tg-app) .desktop-nav a{padding:8px 15px}
  #page-fleet .journey-hero{max-width:1060px;margin:2px auto 14px;padding:22px 26px;gap:20px}
  #page-fleet .journey-hero h1{font-size:clamp(26px,3.2vw,36px)}
  #page-fleet .journey-hero p:not(.eyebrow){font-size:15px}
  #page-fleet .journey-actions{gap:8px}
  #page-fleet .journey-action{padding:10px 12px;min-height:48px}
  #referral-welcome{margin-top:8px!important;padding:9px 14px!important}
}
/* Map action belongs to the map surface.  The search button always gets a
   complete grid cell and may wrap rather than being clipped. */
.p0-map-toolbar{position:absolute;z-index:950;top:12px;right:12px}.p0-map-toolbar .p0-map-toggle{min-height:38px;background:#111;color:#fff;border-color:#111;box-shadow:0 4px 12px rgba(0,0,0,.18)}#map-wrapper.p0-map-open:has(.p0-map-toolbar) .map-context{top:62px}.btn-search-area{top:120px!important}
@media(min-width:1000px){.search-container{max-width:1180px}.search-box{grid-template-columns:minmax(205px,.82fr) minmax(370px,1.48fr) 54px 54px minmax(175px,.62fr)!important}.search-box>#p0-show-cars{min-width:0!important;width:100%;white-space:normal;line-height:1.15}.search-container.stuck{max-width:1180px}}
@media(max-width:700px){.p0-map-toolbar{top:9px;right:9px}#map-wrapper.p0-map-open:has(.p0-map-toolbar) .map-context{top:56px}.btn-search-area{top:108px!important}}

/* The home screen is a search surface. Keep the value proposition visible,
   but do not allow it to push the actual search below the first screen. */
@media(min-width:851px){
  #page-fleet .journey-hero{max-width:1120px;margin:0 auto 10px;padding:16px 20px;gap:16px;align-items:center}
  #page-fleet .journey-hero>div:first-child{min-width:0}
  #page-fleet .journey-hero h1{margin:2px 0 5px;font-size:clamp(25px,2.25vw,30px);line-height:1.08;letter-spacing:-.035em}
  #page-fleet .journey-hero .eyebrow{font-size:10px;letter-spacing:.09em}
  #page-fleet .journey-hero p:not(.eyebrow){max-width:500px;font-size:13px;line-height:1.35}
  #page-fleet .journey-actions{width:min(39%,330px);grid-template-columns:repeat(2,minmax(118px,1fr));gap:7px}
  #page-fleet .journey-action{min-height:42px;padding:8px 9px;font-size:12px;line-height:1.2}
  #page-fleet .p0-trust-markers{margin-bottom:10px}
}
@media(max-width:760px){.affiliate-spotlight{margin:0 14px 14px;grid-template-columns:1fr;gap:5px}.affiliate-spotlight span{grid-row:auto}.search-box>#p0-show-cars,.search-box>#save-search-button{width:100%}}
.partner-calendar-button{border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-main);padding:8px 9px;font-size:12px;font-weight:800;cursor:pointer}.partner-availability-panel{margin:-5px 0 15px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.partner-availability-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.partner-availability-head button{border:0;background:transparent;color:var(--text-muted);font-size:22px;cursor:pointer}.partner-availability-panel p{margin:5px 0 12px;color:var(--text-muted);font-size:12px}.partner-availability-panel form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.partner-availability-panel label{display:block;margin-bottom:3px;color:var(--text-muted);font-size:11px;font-weight:700}.partner-availability-panel input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-main);padding:8px}.partner-availability-panel input[name="reason"]{grid-column:1/-1}.partner-block-submit{border:0;border-radius:8px;background:var(--primary);color:#fff;padding:9px;font-weight:800;cursor:pointer}.partner-block-list{margin-top:12px}.partner-block-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--border);font-size:12px}.partner-block-list small{display:block;margin-top:2px;color:var(--text-muted)}.partner-block-list button{border:0;background:transparent;color:#b42318;font-weight:800;cursor:pointer}@media(max-width:460px){.partner-availability-panel form{grid-template-columns:1fr}.partner-availability-panel input[name="reason"]{grid-column:auto}}
.partner-availability-history{margin-top:15px;padding-top:12px;border-top:1px solid var(--border);font-size:12px}.partner-availability-history>b{display:block;margin-bottom:5px}.partner-availability-history>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--border)}.partner-availability-history small{color:var(--text-muted);white-space:nowrap}
.conversion-calendar[aria-busy="true"]{opacity:.68}.availability-calendar-error{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b42318;font-size:12px}.availability-calendar-error button{border:1px solid #b42318;border-radius:7px;background:var(--bg-card);color:#b42318;padding:7px 9px;font-weight:800;cursor:pointer}.availability-calendar-error button:hover{background:#fff0f0}
.booking-confirmation-hint{display:block;margin-top:7px;color:#8a5a00;font-weight:700;font-size:12px}.booking-confirmation-hint.overdue{color:#b42318}.partner-decision-queue{margin:0 0 15px;padding:14px;border:1px solid #f0d99f;border-radius:12px;background:#fffaf0}.partner-bookings-title>span.overdue{color:#b42318}.partner-decision-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #f0d99f;font-size:12px}.partner-decision-row>div:last-child{text-align:right}.partner-decision-row small{display:block;color:var(--text-muted);margin-top:3px}.partner-decision-row a{display:inline-block;margin-top:5px;color:var(--primary);font-weight:800;text-decoration:none}.partner-decision-row.overdue small{color:#b42318}
.booking-partner-note{display:block;margin-top:8px;padding:8px;border-radius:7px;background:var(--bg-input);color:var(--text-main);font-size:12px;line-height:1.4}.partner-decision-row textarea{display:block;width:100%;min-height:54px;margin-top:7px;padding:7px;border:1px solid var(--border);border-radius:7px;background:var(--bg-card);color:var(--text-main);font:inherit;font-size:11px;resize:vertical}
.booking-history-note{display:block;margin-top:4px;padding:6px 8px;border-left:2px solid var(--primary);background:var(--bg-input);color:var(--text-main);line-height:1.35}
.saved-checkout-pill{display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:9px 10px;border:1px solid #b8d6f3;border-radius:10px;background:#f4f9ff;color:#075985}.saved-checkout-pill>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#dcecfb;font-weight:900}.saved-checkout-pill b,.saved-checkout-pill small{display:block}.saved-checkout-pill b{font-size:12px}.saved-checkout-pill small{margin-top:2px;color:#356b96;font-size:11px}
.checkout-date-recovery{margin:9px 0;padding:10px;border:1px solid #b8d6f3;border-radius:10px;background:#f4f9ff;color:#075985;font-size:12px}.checkout-date-recovery b{display:block;margin-bottom:7px}.checkout-date-recovery button{width:100%;border:0;border-radius:8px;background:#075985;color:#fff;padding:9px;font-weight:800;cursor:pointer}.quote-alternatives{margin-top:12px;padding-top:10px;border-top:1px solid #b8d6f3}.quote-alternatives>div{display:grid;gap:7px}.checkout-date-recovery .quote-alternative{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;color:#075985;border:1px solid #b8d6f3;text-align:left}.quote-alternative span{font-size:11px;font-weight:700;white-space:nowrap}@media(max-width:460px){.checkout-date-recovery .quote-alternative{align-items:flex-start;flex-direction:column}.quote-alternative span{white-space:normal}}
.promotion-price{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:9px 0;padding:7px 9px;border-radius:8px;background:#fff0f0;color:#b42318;font-size:11px}.promotion-price b{padding:3px 6px;border-radius:5px;background:#d92d20;color:#fff}.promotion-old-price{display:block;color:var(--text-muted);font-size:12px;font-weight:700;text-decoration:line-through}
.checkout-promo-code{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:10px 0}.checkout-promo-code input{min-width:0;padding:10px;border:1px dashed var(--border);border-radius:9px;background:var(--bg-card);color:var(--text-main);font:inherit;text-transform:uppercase}.checkout-promo-code span{color:var(--text-muted);font-size:11px}@media(max-width:460px){.checkout-promo-code{grid-template-columns:1fr}.checkout-promo-code span{padding-left:2px}}
.partner-response-performance{margin:0 0 15px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);font-size:12px}.partner-response-performance>b{display:block;margin-bottom:10px}.partner-response-performance>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.partner-response-performance span{padding:8px;border-radius:8px;background:var(--bg-input);color:var(--text-muted)}.partner-response-performance strong{display:block;margin-bottom:3px;color:var(--text-main);font-size:16px}@media(max-width:460px){.partner-response-performance>div{grid-template-columns:1fr}}
.partner-handover-tasks{display:flex;justify-content:space-between;gap:10px;margin:0 0 15px;padding:12px 14px;border:1px solid #f0d99f;border-radius:12px;background:#fffaf0;font-size:12px}.partner-handover-tasks span{color:#8a5a00;font-weight:800}
.partner-change-queue{margin:0 0 15px;padding:14px;border:1px solid #b8d6f3;border-radius:12px;background:#f4f9ff}.partner-change-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #b8d6f3;font-size:12px}.partner-change-row small,.partner-change-row strong{display:block;margin-top:4px}.partner-change-row small{color:var(--text-muted)}.partner-change-row strong{color:#075985}@media(max-width:460px){.partner-change-row{align-items:flex-start;flex-direction:column}}
.partner-decision-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:7px}.partner-decision-actions button{border:0;border-radius:7px;background:#137333;color:#fff;padding:6px 8px;font-size:11px;font-weight:800;cursor:pointer}.partner-decision-actions button.reject{background:#b42318}.partner-decision-actions button:disabled{opacity:.55;cursor:wait}@media(max-width:460px){.partner-decision-row{align-items:flex-start;flex-direction:column}.partner-decision-row>div:last-child{text-align:left}.partner-decision-actions{justify-content:flex-start}}
.availability-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.availability-calendar-head b{margin:0}.availability-page{width:28px;height:28px;margin-left:5px;border:1px solid var(--border);border-radius:7px;background:var(--bg-card);color:var(--text-main);font-size:20px;line-height:1;cursor:pointer}.availability-page:disabled{opacity:.45;cursor:not-allowed}
.travel-support-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.travel-support-actions button{min-height:50px;border:1px solid #f0caca;border-radius:10px;background:#fff7f7;color:#a61b1b;font-weight:900;cursor:pointer}@media(max-width:460px){.travel-support-actions{grid-template-columns:1fr}}
@media(min-width:1000px){.p0-quick-filters{display:none}}

/* Loaded after the legacy catalogue CSS: keep its Hero identical to the
   marketplace Hero component used by every other public page. */
#page-fleet .journey-hero{max-width:1120px;margin:var(--space-4) auto var(--space-5);min-height:156px;padding:20px 24px;background:var(--marketplace-hero);border:1px solid var(--marketplace-hero-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(23,32,42,.07);color:var(--text-main)}
#page-fleet .journey-hero h1{margin:0 0 var(--space-2);font-size:clamp(24px,2.8vw,34px);line-height:1.1;letter-spacing:normal}
#page-fleet .journey-hero p:not(.eyebrow){max-width:680px;color:var(--text-muted);font-size:14px;line-height:1.45}
#page-fleet .journey-hero .journey-hero-note{color:var(--text-muted)!important}
#page-fleet .journey-hero .journey-hero-note:before{color:var(--success)}
#page-fleet .journey-action{border-color:var(--border);background:#fff;color:var(--text-main)}
#page-fleet .journey-action.primary{border-color:var(--primary);background:var(--primary);color:#fff}
#page-fleet .journey-action:hover{background:var(--surface-secondary);transform:translateY(-1px)}
#page-fleet .journey-action.primary:hover{background:var(--primary-hover)}
@media(max-width:700px){#page-fleet .journey-hero{min-height:0;margin:var(--space-3) var(--space-3) var(--space-4);padding:18px}}

/* Keep promotional banners readable when the user switches the site theme. */
[data-theme="dark"] .affiliate-spotlight{border-color:rgba(246,182,63,.42);background:linear-gradient(105deg,#302229,#1b2129);color:var(--text-main);box-shadow:0 8px 22px rgba(0,0,0,.26)}
[data-theme="dark"] .affiliate-spotlight small{color:var(--text-muted)}
[data-theme="dark"] .p0-date-guidance{background:#3b301b;color:#ffd889}
[data-theme="dark"] .promotion-price{background:#3a2025;color:#ffb4b4}
[data-theme="dark"] .promotion-price b{background:#d92d20;color:#fff}


/* Source: /static/css/marketplace.css */
/* Shared marketplace components; loaded after legacy page styles. */
:root{--market-space:24px;--market-radius:16px;--market-line:#dfe4ea;--market-muted:#586574}
.marketplace-page{max-width:1120px;margin:40px auto;padding:0 24px 90px;color:var(--text-main,#17202a)}
.workspace-section-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.workspace-section-nav a{padding:10px 14px;border:1px solid var(--border,#dfe4ea);border-radius:10px;background:var(--bg-card,#fff);color:var(--text-main,#17202a);font-weight:700;text-decoration:none}.workspace-section-nav a:hover,.workspace-section-nav a:focus-visible{border-color:var(--primary,#c71022);color:var(--primary,#c71022)}#workspace-bookings,#operations-panel{scroll-margin-top:90px}
.cabinet-demo-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:16px auto;padding:14px 18px;border:1px solid #e4bd65;border-radius:12px;background:#fff8e8;color:#6b4b00;box-shadow:0 4px 14px rgba(122,88,0,.08)}
.cabinet-demo-banner > div{min-width:0;flex:1 1 520px;display:grid;gap:4px}.cabinet-demo-banner strong{display:block;font-size:14px;line-height:1.3}.cabinet-demo-banner span{display:block;margin-top:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.cabinet-demo-banner nav{display:flex;flex:0 0 auto;gap:12px;flex-wrap:wrap;align-items:center;white-space:nowrap}.cabinet-demo-banner a{color:#7d4d00;font-size:13px;font-weight:800;text-decoration:underline}.cabinet-demo-link{display:inline-block;color:var(--primary);font-weight:800;text-decoration:underline}.cabinet-demo-banner + *{margin-top:12px}
.client-login-prompt .cabinet-demo-link{margin-top:2px}.client-login-prompt small{display:block;color:var(--text-muted);font-size:12px}
.cabinet-demo-note{display:inline-flex;align-items:center;min-height:36px;padding:8px 10px;border:1px dashed #d9b45b;border-radius:8px;background:#fff8e8;color:#6b4b00;font-size:12px;font-weight:700}
@media(max-width:640px){.cabinet-demo-banner{align-items:flex-start;flex-direction:column;margin:12px 16px;padding:13px 14px}.cabinet-demo-banner > div{flex:0 1 auto}.cabinet-demo-banner nav{white-space:normal}}
.marketplace-page h1{font-size:clamp(28px,4vw,44px);line-height:1.15;max-width:850px;margin:16px 0}
.marketplace-hero .marketplace-hero-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:16px;padding:10px 16px;border:1px solid var(--primary);border-radius:var(--radius-sm,10px);background:var(--primary);color:#fff!important;font:800 14px/1 var(--nr-font,Arial,sans-serif);text-decoration:none;cursor:pointer}.marketplace-hero .marketplace-hero-action:hover{background:var(--primary-hover,var(--primary));color:#fff!important}
/* Keep contextual labels consistent and readable across supplier, help,
   legal and workspace heroes.  The shared design system hides these labels
   for legacy banners; public marketplace heroes use them as a clear section
   marker, so restore one high-contrast treatment here. */
body.site-shell .marketplace-hero .eyebrow,
body.site-shell .marketplace-hero .public-page__eyebrow{display:block!important;margin:0 0 8px!important;color:#a20e17!important;-webkit-text-fill-color:#a20e17;font:900 11px/1.2 var(--nr-font,Arial,sans-serif)!important;letter-spacing:.1em;text-transform:uppercase}
[data-theme="dark"] body.site-shell .marketplace-hero .eyebrow,
[data-theme="dark"] body.site-shell .marketplace-hero .public-page__eyebrow{color:#ffb1aa!important;-webkit-text-fill-color:#ffb1aa}
.marketplace-lead{font-size:18px;max-width:760px;line-height:1.6;color:var(--text-muted,var(--market-muted))}
.marketplace-panel{background:var(--bg-card,#fff);border:1px solid var(--border,var(--market-line));border-radius:var(--market-radius);padding:24px;margin:20px 0;line-height:1.6;min-width:0;overflow-wrap:anywhere}
.marketplace-panel h2{font-size:22px;margin:8px 0}.marketplace-panel summary{cursor:pointer;font-weight:700;padding:4px 0}.marketplace-panel a{color:var(--primary,#c71022)}
.marketplace-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.marketplace-steps .marketplace-panel{margin:0}
.step-number{display:inline-grid;place-items:center;background:#fff0f1;color:#aa0b1a;border-radius:50%;width:40px;height:40px;font-weight:800}
.marketplace-cta{display:inline-block;background:var(--primary,#c71022);color:white!important;border:0;border-radius:10px;padding:14px 22px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;margin:12px 0}
.marketplace-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.marketplace-form-grid label,#messages-form label{display:grid;gap:6px;font-weight:600;font-size:14px}
.marketplace-form-grid input,.marketplace-form-grid select,.marketplace-form-grid textarea,#message-body{width:100%;padding:12px;border:1px solid var(--border,var(--market-line));border-radius:8px;background:var(--bg-card,white);color:inherit;box-sizing:border-box;font:inherit}
.marketplace-page fieldset{margin:20px 0;border:1px solid var(--border,var(--market-line));border-radius:10px}.marketplace-page fieldset label{display:inline-flex;gap:8px;padding:8px}
.workspace-car{display:flex;gap:12px;border-bottom:1px solid var(--border,var(--market-line));padding:12px 0}.workspace-car small{display:block;font-weight:400}.workspace-actions{display:flex;gap:16px;align-items:center;margin:12px 0}.workspace-actions button,#messages-close,[data-remove-search]{padding:10px 16px;border:1px solid var(--border,var(--market-line));border-radius:8px;background:var(--bg-card,white);color:inherit;font:inherit;cursor:pointer}
#messages-dialog{border:0;border-radius:16px;width:min(600px,calc(100vw - 40px));max-height:85vh;padding:24px;box-sizing:border-box}#messages-dialog::backdrop{background:#17202a99}#messages-list article{border-bottom:1px solid #ddd;padding:10px}#messages-list p{white-space:pre-wrap}#message-body{min-height:100px}.supplier-car-image{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;object-position:center;border-radius:10px;background:var(--bg-input,#f7f8fa)}
.marketplace-supplier-link{display:block;color:var(--text-muted)!important;font-size:13px;padding:4px 0;text-decoration:underline}.marketplace-offer-kind{font-size:12px;font-weight:600;color:var(--text-muted);margin:5px 0}.marketplace-detail-link{display:block;text-align:center;padding:10px;margin-top:8px;color:var(--primary);font-weight:700}.marketplace-workspace-link{display:inline-block;padding:12px 18px;margin:12px 0;border:1px solid var(--border);border-radius:10px;color:var(--primary);font-weight:700}.compare-different td{background:var(--bg-input,#fff5e9)}
body.marketplace-experience #page-fleet>.journey-hero{margin:24px auto 0!important;padding:28px 28px 14px!important;min-height:0!important;border-radius:16px 16px 0 0!important;box-shadow:none!important;width:100%;box-sizing:border-box}
body.marketplace-experience .journey-hero h1{font-size:clamp(28px,3.4vw,44px);line-height:1.13;max-width:850px}
body.marketplace-experience .journey-hero p{max-width:780px;font-size:16px;line-height:1.5}
body.marketplace-experience #page-fleet .journey-actions{display:none!important}
body.marketplace-experience #search-sticky{position:relative;top:auto;margin:0 auto 16px!important;border-radius:0 0 16px 16px;box-shadow:none;padding:24px;border-top:0;max-width:1120px;width:100%;box-sizing:border-box}
body.marketplace-experience #p0-trust-markers{padding:0;margin:12px 0 24px;gap:16px;justify-content:flex-start}
body.marketplace-experience #p0-trust-markers span{box-shadow:none;background:transparent;border:0;padding:4px;color:var(--text-muted);font-weight:500}
body.marketplace-experience #p0-show-cars{min-width:160px;font-size:16px;min-height:48px}
body.marketplace-experience .conversion-price{display:none} /* one total per result */
body.marketplace-experience .car-card__img{aspect-ratio:16/10;object-fit:cover}
body.marketplace-experience .car-card__more-terms{font-size:13px}
body.marketplace-experience:not(.is-tg-app) #main-header .desktop-nav>.nav-promotions,body.marketplace-experience:not(.is-tg-app) #main-header .desktop-nav>.nav-news,body.marketplace-experience:not(.is-tg-app) #main-header .desktop-nav>.nav-terms,body.marketplace-experience:not(.is-tg-app) #main-header .desktop-nav>.nav-about,body.marketplace-experience:not(.is-tg-app) #main-header .desktop-nav>.nav-contacts,body.marketplace-experience:not(.is-tg-app) #main-header .desktop-nav>.nav-services,body.marketplace-experience:not(.is-tg-app) #main-header .desktop-nav>.nav-business{display:none!important}
body.marketplace-experience .desktop-nav{gap:4px}.marketplace-primary-nav{white-space:nowrap}
.marketplace-search-extra{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.marketplace-search-extra label{font-size:13px;display:grid;gap:4px}.marketplace-search-extra select,.marketplace-search-extra input{padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-main);max-width:150px}
@media(max-width:760px){.marketplace-page{margin-top:24px;padding:0 16px 90px}.marketplace-steps,.marketplace-form-grid{grid-template-columns:1fr}.marketplace-panel{padding:18px}.marketplace-lead{font-size:16px}.marketplace-hero .marketplace-hero-action{width:100%}body.marketplace-experience #page-fleet>.journey-hero{padding:20px 16px 8px;margin:14px 0 0}body.marketplace-experience .journey-hero h1{font-size:28px}body.marketplace-experience .journey-hero p{font-size:14px}body.marketplace-experience .journey-hero-note{display:none}body.marketplace-experience #search-sticky{padding:16px}body.marketplace-experience #p0-trust-markers{gap:4px;margin-bottom:16px}body.marketplace-experience #p0-trust-markers span{font-size:12px}body.marketplace-experience #p0-show-cars{width:100%}body.marketplace-experience #save-search-button{font-size:12px;padding:8px}.workspace-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.supplier-offer-card--no-image .supplier-car-image{display:none}
.marketplace-search-actions{grid-column:1/-1;min-width:0;font-size:13px}.marketplace-search-actions summary{padding:10px 0;cursor:pointer;color:var(--text-muted)}.marketplace-search-actions[open]>*:not(summary){margin:6px 8px 6px 0}.marketplace-search-actions .p0-return-place{display:inline-block}
/* Cabinet data loads are explicit so a slow or failed API never looks like an empty account. */
.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 4px}.workspace-toolbar .workspace-status{flex:1}.workspace-refresh{flex:0 0 auto;min-height:38px;padding:8px 13px;border:1px solid var(--border,var(--market-line));border-radius:8px;background:var(--bg-card,#fff);color:inherit;font:inherit;font-weight:800;cursor:pointer}.workspace-refresh:hover:not(:disabled){border-color:var(--primary,#c71022);color:var(--primary,#c71022)}.workspace-refresh:disabled{cursor:wait;opacity:.62}
.workspace-status{min-height:1.35em;margin:12px 0 4px;color:var(--text-muted);font-size:13px;line-height:1.45}.workspace-status:empty{display:none}.workspace-status.is-loading{color:var(--text-muted)}.workspace-status.is-error{color:var(--error,#b42318);font-weight:700}.workspace-retry{min-height:38px;margin:0 0 14px;padding:8px 13px;border:1px solid var(--primary,#c71022);border-radius:8px;background:var(--bg-card,#fff);color:var(--primary,#c71022);font:inherit;font-weight:800;cursor:pointer}.workspace-retry:hover:not(:disabled){background:var(--primary-light,#fff0f1)}.workspace-retry:disabled{cursor:wait;opacity:.62}.workspace-empty{padding:20px 0;color:var(--text-muted);text-align:center}.workspace-booking{margin:14px 0;padding:18px}.workspace-booking h3{overflow-wrap:anywhere}.workspace-booking[aria-busy="true"],#workspace-bookings[aria-busy="true"],#workspace-searches[aria-busy="true"],#messages-list[aria-busy="true"]{opacity:.68}.workspace-search-item{padding:14px 0;border-top:1px solid var(--border,var(--market-line))}.workspace-search-item:first-child{border-top:0}.workspace-search-item button{margin-left:8px;padding:8px 12px;border:1px solid var(--border,var(--market-line));border-radius:8px;background:var(--bg-card,#fff);color:inherit;font:inherit;cursor:pointer}.workspace-search-item button:disabled{cursor:wait;opacity:.6}.workspace-actions button:disabled,#messages-form button:disabled{cursor:wait;opacity:.62}.workspace-actions a{min-height:40px;display:inline-flex;align-items:center}.workspace-status[aria-busy="true"]::before{content:' ';display:inline-block;width:10px;height:10px;margin-right:6px;border:2px solid var(--border,var(--market-line));border-top-color:var(--primary,#c71022);border-radius:50%;vertical-align:-1px;animation:nr-workspace-spin .8s linear infinite}@keyframes nr-workspace-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.workspace-toolbar{align-items:stretch;flex-direction:column;gap:8px}.workspace-toolbar .workspace-status{margin-bottom:0}.workspace-refresh{width:100%}.workspace-actions{align-items:stretch;gap:8px}.workspace-actions button,.workspace-actions a{width:100%;justify-content:center}.workspace-search-item button{margin:8px 0 0;width:100%}#messages-dialog{width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px}.workspace-retry{width:100%}}
@media(prefers-reduced-motion:reduce){.workspace-status[aria-busy="true"]::before{animation:none}}
/* The global design system assigns a dark colour to every h1-h4. The affiliate
   closing CTA has a dark red surface, so keep its heading readable. */
body .affiliate-page__closing h2{color:#fff!important}
body .affiliate-page__closing .public-page__eyebrow{color:#ffb1aa!important}
body .affiliate-page__closing p:not(.public-page__eyebrow){color:rgba(255,255,255,.84)!important}
@media(min-width:1000px){body.marketplace-experience #search-sticky .search-box{grid-template-areas:none!important;grid-template-columns:minmax(180px,.8fr) minmax(0,2fr) minmax(120px,.5fr)!important;gap:12px}body.marketplace-experience #search-sticky .marketplace-search__location{grid-area:1/1!important}body.marketplace-experience #search-sticky .marketplace-search__dates{grid-area:1/2!important;min-width:0}body.marketplace-experience #search-sticky .marketplace-search__date-fields{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px}body.marketplace-experience #search-sticky .marketplace-search__date-fields>*{min-width:0!important;width:auto!important}body.marketplace-experience #search-sticky .marketplace-search__date-fields input{min-width:0!important;width:100%!important}body.marketplace-experience #search-sticky #p0-show-cars{grid-area:1/3!important;align-self:end;height:54px;min-width:0!important}body.marketplace-experience #search-sticky .search-box>.btn-icon{grid-area:2/1!important;min-height:40px;max-width:48px}body.marketplace-experience #search-sticky .marketplace-search-actions{grid-area:2/2/3/4!important}}
@media(max-width:999px){body.marketplace-experience .search-box>.marketplace-search__location{order:0}body.marketplace-experience .search-box>.marketplace-search__dates{order:1}body.marketplace-experience .search-box>#p0-show-cars{order:2!important}body.marketplace-experience .search-box>.btn-icon{order:3}body.marketplace-experience .search-box>.marketplace-search-actions{order:4;width:100%}}


/* Source: /static/css/marketplace-ux-hardening.css */
.date-range-hint{grid-column:1/-1;margin:6px 0 0;color:var(--text-muted);font-size:11px;line-height:1.35}.date-range-hint.is-error{color:#b42318;font-weight:800}.booking-validation-summary{margin:0 0 12px;padding:10px 12px;border:1px solid #f2b8b5;border-radius:10px;background:#fff4f3;color:#9f1c16;font-size:12px;line-height:1.4;font-weight:700}.field-error{display:block;margin:5px 0 0;color:#b42318;font-size:11px;font-weight:700;line-height:1.35}.floating-group:has(.field-error),.booking-phone-group:has(.field-error){margin-bottom:8px}.floating-input[aria-invalid="true"],.booking-phone-input[aria-invalid="true"]{border-color:#b42318!important;box-shadow:0 0 0 2px rgba(180,35,24,.12)}#legal-consent[aria-invalid="true"]{outline:2px solid #b42318;outline-offset:2px}.availability-operation-warning{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff7e8;color:#8a5a00;font-weight:800;line-height:1.35}.availability-operation-hint{display:block;margin-top:7px;color:var(--text-muted);line-height:1.35}.offer-quality.needs-confirmation{border-color:#efd59b;background:#fffaf0;color:#8a5a00}.offer-quality.needs-confirmation small{display:block;margin-top:3px;color:#8a5a00;font-weight:600;line-height:1.35}@media(max-width:600px){.date-range-hint{font-size:12px}.booking-validation-summary{font-size:13px}}
.checkout-availability{display:block;position:relative;clear:both;margin:10px 0 18px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.checkout-availability>b{display:block;line-height:1.4}.checkout-availability>br{display:none}@media(max-width:600px){#booking-date-hint{min-height:1.4em;margin:8px 0 0}.checkout-availability{margin-top:12px;padding:12px 14px}}

/* Checkout surfaces: each asynchronous state gets its own readable block so
   dates, availability and actions never compete for the same line. */
.booking-date-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.55fr);gap:12px;margin-bottom:15px;min-width:0}.booking-date-grid>.floating-group{min-width:0;margin-bottom:0}.booking-date-grid .floating-input{min-width:0;width:100%}.checkout-option-group{min-width:0}.checkout-option{min-width:0;flex-wrap:wrap}.checkout-option>span:not(.fmt-price){min-width:0;overflow-wrap:anywhere}.checkout-option .fmt-price{flex:0 0 auto;white-space:nowrap}.checkout-availability.is-error{border-color:rgba(180,35,24,.3);background:#fff8f7}.checkout-availability.is-ready{min-height:0}.availability-state{display:block;min-width:0}.availability-state--free{color:var(--success)}.availability-state--busy>b{display:block;color:var(--text-main);line-height:1.4}.availability-state--loading{display:flex;align-items:center;gap:8px}.availability-state--error{display:block;color:#9f1c16;line-height:1.4}.availability-spinner{width:13px;height:13px;flex:0 0 13px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:nr-checkout-spin .8s linear infinite}.availability-periods{display:grid;gap:6px;margin-top:9px}.availability-period{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:7px 9px;border:1px solid #f0b4b4;border-radius:8px;background:#fff0f0;color:#991b1b;line-height:1.35}.availability-period>b{flex:0 0 auto;font-size:11px}.availability-period>span{min-width:0;overflow-wrap:anywhere}.availability-periods__extra{display:block;margin-top:7px;color:var(--text-muted);font-size:11px}.checkout-inline-retry{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:8px;padding:7px 11px;border:1px solid var(--primary);border-radius:8px;background:var(--bg-card);color:var(--primary);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.checkout-inline-retry:hover:not(:disabled){background:var(--primary-light)}.checkout-inline-retry:disabled{cursor:wait;opacity:.6}.checkout-quote-status{margin:0 0 12px;min-width:0}.checkout-quote-status .server-quote{margin:0;min-height:1.4em}.checkout-quote-status .checkout-inline-retry{margin-top:6px}.server-quote[aria-busy="true"]{color:var(--text-muted)}@keyframes nr-checkout-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.booking-date-grid{grid-template-columns:minmax(0,1fr) minmax(92px,.7fr);gap:10px}.booking-date-grid .floating-label{max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkout-option{align-items:flex-start!important}.checkout-option>input{flex:0 0 18px}.checkout-option>span:not(.fmt-price){flex:1 1 calc(100% - 32px)}.checkout-option .fmt-price{width:100%;margin-left:28px!important}.availability-period{flex-direction:column;gap:2px}.checkout-quote-status .checkout-inline-retry{width:100%}}
@media(max-width:360px){.booking-date-grid{grid-template-columns:minmax(0,1fr) minmax(88px,.68fr);gap:8px}.booking-date-grid .floating-input{padding-left:10px;padding-right:7px}.booking-date-grid .floating-label{left:10px}}
@media(prefers-reduced-motion:reduce){.availability-spinner{animation:none}}

/* Quote confirmation is a decision point: make the reason and next action
   visible before the customer tries to send an unconfirmed request. */
.checkout-quote-status{padding:13px 14px;border:1px solid var(--border);border-left:4px solid var(--border);border-radius:12px;background:var(--bg-card);box-shadow:0 4px 14px rgba(23,32,42,.04)}
.checkout-quote-status[data-state="pending"]{border-left-color:#b58105;background:#fffaf0}
.checkout-quote-status[data-state="ok"]{border-left-color:var(--success);background:#f3fbf6}
.checkout-quote-status[data-state="error"]{border-color:rgba(180,35,24,.28);border-left-color:#b42318;background:#fff7f6}
.checkout-quote-status__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:5px;color:var(--text-main);font-size:13px;line-height:1.3}
.checkout-quote-status__head strong{min-width:0}
.checkout-quote-status__badge{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:rgba(23,32,42,.08);color:var(--text-muted);font-size:10px;font-weight:800;white-space:nowrap}
.checkout-quote-status[data-state="ok"] .checkout-quote-status__badge{background:rgba(39,174,96,.15);color:#17663a}
.checkout-quote-status[data-state="error"] .checkout-quote-status__badge{background:rgba(180,35,24,.12);color:#9f1c16}
.checkout-quote-status .server-quote{margin:0;color:var(--text-main);font-size:13px;font-weight:700;line-height:1.45}
.checkout-quote-status[data-state="ok"] .server-quote{color:#17663a}
.checkout-quote-status[data-state="error"] .server-quote{color:#9f1c16}
.checkout-quote-status__next{margin:6px 0 0;color:var(--text-muted);font-size:11px;line-height:1.45}
@media(max-width:600px){.checkout-quote-status{padding:12px}.checkout-quote-status__head{display:grid;grid-template-columns:minmax(0,1fr) auto}.checkout-quote-status__badge{font-size:9px}.checkout-quote-status .checkout-inline-retry{margin-top:10px}}


/* Source: /static/css/date-input-locale.css */
/* Use one native date text layer. A custom text layer overlapped date segments on some devices. */
html body.site-shell .locale-date-field .date-input-placeholder,
html body.site-shell .marketplace-search__date-field .date-input-placeholder {
    display: none !important;
}

html body.site-shell .locale-date-input,
html body.site-shell .locale-date-input::-webkit-datetime-edit,
html body.site-shell .locale-date-input::-webkit-datetime-edit-fields-wrapper,
html body.site-shell .locale-date-input::-webkit-datetime-edit-text,
html body.site-shell .locale-date-input::-webkit-datetime-edit-month-field,
html body.site-shell .locale-date-input::-webkit-datetime-edit-day-field,
html body.site-shell .locale-date-input::-webkit-datetime-edit-year-field {
    color: var(--text-main);
    -webkit-text-fill-color: var(--text-main);
    opacity: 1;
}


/* Source: /static/css/site-shell.css */
/* CarMisto public shell: one visual language for the SPA and server-rendered
   pages.  The selectors are scoped so legacy cabinet components keep their
   existing hooks and business behaviour. */
html.site-shell {
  background: var(--bg-main);
}

body.site-shell {
  min-width: 0;
  background: var(--bg-main);
}

/* Navigation foundations also apply to SSR pages without the legacy SPA CSS. */
body.site-shell .mobile-nav { display:none;position:fixed;bottom:0;left:0;right:0;z-index:1001; }
body.site-shell .mobile-nav-inner { display:flex;justify-content:space-around; }
body.site-shell .mobile-nav a,body.site-shell .mobile-nav button { display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--text-muted);font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer; }
body.site-shell .mobile-more-menu { position:fixed;left:0;right:0;z-index:1000;overflow-y:auto;padding:10px 0;background:var(--bg-card);color:var(--text-main); }
body.site-shell .mobile-more-menu[hidden] { display:none!important; }
body.site-shell .mobile-more-menu .mobile-menu-item { display:flex;align-items:center;gap:12px;color:var(--text-main);text-decoration:none; }
body.site-shell .mobile-more-menu .mobile-language-control { justify-content:space-between; }
body.site-shell .mobile-more-menu .base-language-switch { display:flex;align-items:center;gap:8px; }

body.site-shell #main-header {
  isolation: isolate;
  border-bottom: 2px solid var(--primary);
  background: #20242c;
  box-shadow: 0 6px 20px rgba(28, 33, 42, .16);
}

body.site-shell #main-header .top-bar > a:first-child,
body.site-shell #main-header .header-logo-button {
  color: #fff;
  text-decoration: none;
}

body.site-shell #main-header .header-logo-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 2px 0;
  border-radius: 10px;
}

body.site-shell #main-header .header-logo-button:focus-visible {
  outline-color: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .24) !important;
}

body.site-shell #main-header .header-brand-mark {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 10px;
  background: var(--primary);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -.04em;
  box-shadow: 0 5px 15px rgba(201, 22, 29, .28);
}

body.site-shell #main-header .header-brand-name {
  overflow: hidden;
  color: #fff;
  font-size: 17px;
  font-weight: 850;
  letter-spacing: -.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.site-shell #main-header .header-actions--shared {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

body.site-shell #main-header .header-actions--shared > .base-language-switch,
body.site-shell #main-header .header-actions--shared > .shared-language-switch,
body.site-shell #main-header .header-actions--shared > .currency-switch,
body.site-shell #main-header .header-actions--shared > .icon-btn,
body.site-shell #main-header .header-actions--shared #user-badge {
  min-height: 34px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 10px;
  background: rgba(255, 255, 255, .09);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

body.site-shell #main-header .base-language-switch,
body.site-shell #main-header .shared-language-switch {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  color: rgba(255, 255, 255, .58);
  white-space: nowrap;
}

body.site-shell #main-header .base-language-switch a {
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
}

body.site-shell #main-header .base-language-switch a[aria-current="page"],
body.site-shell #main-header .shared-language-switch button.active {
  color: #fff;
}

body.site-shell #main-header .shared-language-switch button {
  min-height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .72);
  font: inherit;
  cursor: pointer;
}

body.site-shell #main-header .currency-switch {
  min-width: 74px;
  padding: 0 26px 0 10px;
  outline: none;
  cursor: pointer;
}

body.site-shell #main-header .currency-switch option {
  color: #171113;
  background: #fff;
}

body.site-shell #main-header .icon-btn {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  padding: 0 9px;
  cursor: pointer;
}

body.site-shell #main-header .header-account,
body.site-shell #main-header .header-account-link {
  min-width: 0;
  color: #fff;
  text-decoration: none;
}

body.site-shell #main-header .header-account-badge,
body.site-shell #main-header .header-account-link .header-account-badge {
  display: inline-flex;
  align-items: center;
  max-width: 150px;
  padding: 0 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.site-shell #main-header .desktop-nav {
  min-width: 0;
  margin: 0;
  gap: 4px;
  overflow: hidden;
  flex-wrap: nowrap !important;
}

body.site-shell #main-header .desktop-nav > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 0;
  padding: 7px 9px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: rgba(255, 255, 255, .84);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* The first six links are the task navigation.  Everything else belongs in
   the overflow menu; this prevents the header from wrapping or crushing the
   account controls at laptop widths. */
@media (min-width: 851px) {
  body.site-shell #main-header {
    display: grid;
    grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto minmax(max-content, auto) !important;
    align-items: center;
    column-gap: 10px;
    min-height: 58px;
    padding: 6px clamp(16px, 3vw, 42px);
  }

  body.site-shell #main-header .top-bar {
    display: contents;
  }

  body.site-shell #main-header .top-bar > :first-child {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  body.site-shell #main-header .desktop-nav {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap !important;
    overflow: hidden;
  }

  body.site-shell:not(.is-tg-app) #main-header .desktop-nav-overflow {
    display: block !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body.site-shell:not(.is-tg-app) #main-header .desktop-nav > a:nth-of-type(-n + 6) {
    display: inline-flex !important;
  }

  body.site-shell:not(.is-tg-app) #main-header .desktop-nav > a:nth-of-type(n + 7) {
    display: none !important;
  }

  body.site-shell #main-header .desktop-nav > a.active {
    border-color: rgba(255, 255, 255, .12);
    background: var(--primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(201, 22, 29, .22);
  }

  body.site-shell #main-header .desktop-nav > a:hover:not(.active) {
    background: rgba(255, 255, 255, .10);
    color: #fff;
  }

  body.site-shell #main-header .desktop-nav-overflow {
    position: relative;
    grid-column: 3;
    grid-row: 1;
  }

  body.site-shell #main-header .desktop-nav-news {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 34px;
    margin-right: 3px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 9px;
    background: rgba(201, 22, 29, .88);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
  }

  body.site-shell #main-header .desktop-nav-news:hover,
  body.site-shell #main-header .desktop-nav-news.is-active {
    background: var(--primary-hover, #a90f16);
    color: #fff;
  }

  body.site-shell #main-header .header-actions {
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end;
  }

  body.site-shell #main-header .desktop-nav-more {
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: rgba(255, 255, 255, .84);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
  }

  body.site-shell #main-header .desktop-nav-more:hover,
  body.site-shell #main-header .desktop-nav-more[aria-expanded="true"],
  body.site-shell #main-header .desktop-nav-more.is-active {
    background: rgba(255, 255, 255, .10);
    color: #fff;
  }

  body.site-shell #main-header .desktop-more-menu {
    top: calc(100% + 10px);
    right: 0;
    min-width: 192px;
    padding: 7px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--bg-card);
    box-shadow: var(--shadow-raised);
  }

  body.site-shell #main-header .desktop-more-menu a {
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--text-main);
    font-size: 13px;
    font-weight: 750;
    text-transform: none;
    text-decoration: none;
  }

  body.site-shell #main-header .desktop-more-menu a:hover,
  body.site-shell #main-header .desktop-more-menu a.active {
    background: var(--primary-light);
    color: var(--primary);
  }
}

/* At laptop widths the account controls and the catalogue task need a stable
   one-line header. Secondary destinations stay available in More instead of
   shrinking into a second row. */
@media (min-width: 851px) and (max-width: 1320px) {
  body.site-shell:not(.is-tg-app) #main-header .desktop-nav > a:nth-of-type(n + 5):nth-of-type(-n + 6) {
    display: none !important;
  }
}

@media (min-width: 851px) and (max-width: 1120px) {
  body.site-shell:not(.is-tg-app) #main-header .desktop-nav > a:nth-of-type(n + 4):nth-of-type(-n + 6) {
    display: none !important;
  }
}

/* Make the SPA and full-page routes enter with the same short, quiet motion. */
body.site-shell #app-content > .page.active,
body.site-shell #main-content {
  animation: carmisto-page-enter .22s ease both;
}

html.site-route-switch body.site-shell #app-content > .page.active {
  animation: none;
}

@keyframes carmisto-page-enter {
  from { opacity: .72; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

html.site-route-leaving body.site-shell #main-content,
html.site-route-leaving body.site-shell #app-content {
  opacity: .72;
  transition: opacity .12s ease;
}

/* Compare is a utility, not a second hero.  Dock it to the edge and hide it
   while the sticky search surface is in view, so it cannot cover dates or the
   primary search action. */
body.site-shell .compare-bar {
  right: max(16px, env(safe-area-inset-right));
  bottom: 24px;
  left: auto;
  width: min(360px, calc(100vw - 32px));
  max-width: none;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 16px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(120px);
}

body.site-shell .compare-bar.show {
  bottom: 24px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

body.site-shell .compare-bar.is-search-visible {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
}

/* Date labels and localized placeholders are two deliberate rows. Native
   date controls otherwise place their browser placeholder on top of the
   floated label, especially in the empty return-date field. */
body.site-shell .locale-date-field .floating-label,
body.site-shell .marketplace-search__date-field .floating-label {
  top: 6px;
  z-index: 2;
  padding: 0 3px;
  border-radius: 4px;
  background: var(--bg-card);
}

body.site-shell .locale-date-field .date-input-placeholder,
body.site-shell .marketplace-search__date-field .date-input-placeholder {
  top: 27px;
  font-size: 13px;
  line-height: 1.15;
}

body.site-shell #app-content,
body.site-shell #main-content {
  min-width: 0;
}

body.site-shell #app-content > .page {
  max-width: 1120px;
  padding-right: 16px;
  padding-left: 16px;
}

body.site-shell .marketplace-page {
  max-width: 1120px;
  margin-top: 30px;
}

body.site-shell .marketplace-page h1,
body.site-shell .public-page__hero h1 {
  text-wrap: balance;
}

body.site-shell .journey-hero,
body.site-shell .public-page__hero {
  box-shadow: 0 10px 28px rgba(23, 32, 42, .10);
}

@media (min-width: 851px) and (max-width: 1120px) {
  body.site-shell #main-header {
    grid-template-columns: minmax(132px, auto) minmax(0, 1fr) auto minmax(max-content, auto) !important;
    column-gap: 5px;
    padding-right: 14px;
    padding-left: 14px;
  }

  body.site-shell #main-header .header-brand-name {
    font-size: 15px;
  }

  body.site-shell #main-header .desktop-nav > a {
    padding-right: 6px;
    padding-left: 6px;
    font-size: 10px;
  }

  body.site-shell #main-header .header-actions--shared {
    gap: 4px;
  }

  body.site-shell #main-header .header-account-badge,
  body.site-shell #main-header .header-account-link .header-account-badge {
    max-width: 84px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

@media (max-width: 850px) {
  body.site-shell {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  body.site-shell #main-header {
    position: relative !important;
    display: block;
    padding: 8px 14px;
  }

  body.site-shell #main-header .top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
  }

  body.site-shell #main-header .header-logo-button {
    flex-shrink: 0;
  }

  body.site-shell #main-header .header-brand-mark {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }

  body.site-shell #main-header .header-brand-name {
    max-width: min(42vw, 180px);
    font-size: 16px;
  }

  body.site-shell #main-header .header-actions--shared {
    flex: 0 0 auto;
    gap: 5px;
  }

  body.site-shell #main-header .base-language-switch,
  body.site-shell #main-header .shared-language-switch,
  body.site-shell #main-header .currency-switch {
    display: none !important;
  }

  body.site-shell #main-header .header-account-badge,
  body.site-shell #main-header .header-account-link .header-account-badge {
    max-width: 100px;
    padding-right: 9px;
    padding-left: 9px;
  }

  body.site-shell #main-header .desktop-nav,
  body.site-shell #main-header .desktop-nav-overflow {
    display: none !important;
  }

  body.site-shell .mobile-nav {
    display: block;
    border-top: 1px solid var(--border);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 -8px 24px rgba(23, 32, 42, .12);
  }

  body.site-shell .mobile-nav-inner {
    max-width: 520px;
    margin: 0 auto;
    padding: 8px 7px calc(8px + env(safe-area-inset-bottom));
  }

  body.site-shell .mobile-nav a,
  body.site-shell .mobile-nav button {
    min-height: 52px;
    gap: 3px;
    border-radius: 10px;
    font-size: 10px;
  }

  body.site-shell .mobile-nav a.active,
  body.site-shell .mobile-nav button.active {
    background: var(--primary-light);
    color: var(--primary);
  }

  body.site-shell .mobile-nav a span.icon,
  body.site-shell .mobile-nav button span.icon {
    font-size: 20px;
  }

  body.site-shell .mobile-more-menu {
    bottom: calc(72px + env(safe-area-inset-bottom));
    max-height: min(72dvh, 560px);
    border: 1px solid var(--border);
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -12px 32px rgba(23, 32, 42, .18);
  }

  body.site-shell .mobile-menu-item {
    min-height: 48px;
    padding: 12px 18px;
  }

  body.site-shell .compare-bar {
    right: max(12px, env(safe-area-inset-right));
    bottom: calc(88px + env(safe-area-inset-bottom));
    width: calc(100vw - 24px);
  }

  body.site-shell .compare-bar.show {
    bottom: calc(88px + env(safe-area-inset-bottom));
  }

  body.site-shell #app-content > .page {
    padding-right: 12px;
    padding-left: 12px;
  }

  body.site-shell .marketplace-page {
    margin-top: 20px;
  }
}

/* Group secondary destinations without changing their URLs or navigation handlers. */
#desktop-more-menu{max-height:min(76vh,620px);overflow-y:auto;overscroll-behavior:contain}
#desktop-more-menu .more-menu-header,.mobile-more-menu .more-menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}
#desktop-more-menu .more-menu-header{grid-column:1 / -1;padding:8px 8px 12px}
.mobile-more-menu .more-menu-header{position:sticky;top:0;z-index:2;padding:13px 18px 12px;background:var(--bg-card)}
.more-menu-kicker{display:block;color:var(--primary);font-size:9px;font-weight:900;letter-spacing:.12em;line-height:1.2}
.more-menu-title{display:block;margin-top:3px;color:var(--text-main);font-size:15px;letter-spacing:-.02em;line-height:1.2}
.more-menu-close{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface-secondary,var(--bg-input));color:var(--text-main);font:inherit;font-size:22px;font-weight:500;line-height:1;cursor:pointer}
.more-menu-close:hover,.more-menu-close:focus-visible{border-color:var(--primary);background:var(--primary-light);color:var(--primary);outline:none}
#desktop-more-menu .more-menu-heading,.mobile-more-menu .more-menu-heading{display:flex;align-items:center;gap:7px;padding:12px 12px 5px;color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
#desktop-more-menu .more-menu-heading:not(:first-child){margin-top:7px;border-top:1px solid var(--border)}
.mobile-more-menu .more-menu-heading{padding:13px 18px 5px}
.mobile-more-menu .more-menu-heading[data-menu-section]:not([data-menu-section="rental"]){margin-top:7px;border-top:1px solid var(--border)}
[data-menu-section]::before{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;background:var(--primary-light);font-size:11px;line-height:1}
[data-menu-section="rental"]::before{content:"🚗"}
[data-menu-section="partners"]::before{content:"🤝"}
[data-menu-section="about"]::before{content:"◎"}
[data-menu-section="documents"]::before{content:"§"}
[data-menu-section="world"]::before{content:"📰"}
[data-menu-section="settings"]::before{content:"⚙"}
@media(min-width:851px){
  #desktop-more-menu{width:min(460px,calc(100vw - 32px));min-width:360px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
  #desktop-more-menu .more-menu-group{min-width:0;padding:4px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface-secondary) 45%,var(--bg-card))}
  #desktop-more-menu .more-menu-group .more-menu-heading{margin:0!important;padding:7px 8px 6px;border:0!important;color:var(--text-muted);font-size:10px;line-height:1.2}
  #desktop-more-menu .more-menu-group a{display:block;min-width:0;padding:8px;border-radius:7px;font-size:12px;line-height:1.25}
}
.mobile-more-menu .more-menu-heading{clear:both}
.how-page-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.how-page-navigation a{display:inline-flex;align-items:center;min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card);color:var(--text-main);font-size:13px;font-weight:750;text-decoration:none}
.how-page-navigation a:hover,.how-page-navigation a:focus-visible{border-color:var(--primary);color:var(--primary)}
#rental-steps,#rental-roles,#rental-programmes{scroll-margin-top:80px}

@media (prefers-reduced-motion: reduce) {
  body.site-shell #app-content > .page.active,
  body.site-shell #main-content {
    animation: none;
  }

  html.site-route-leaving body.site-shell #main-content,
  html.site-route-leaving body.site-shell #app-content {
    opacity: 1;
    transition: none;
  }
}


/* Source: /static/css/catalog-reference-upgrade.css */
/* Reference-inspired catalogue layer.
   The data model remains CarMisto's: requests are confirmed by a partner and
   no commercial promise is generated by the presentation layer. */

/* Keep the search and results visually connected, with one filter rail. */
.compare-differences { display: flex; align-items: center; gap: 10px; padding: 10px 12px; cursor: pointer; font-weight: 600; }
.compare-differences input { width: 20px; height: 20px; accent-color: var(--primary); }
.compare-table th.compare-car-heading { position: static; text-align: center; color: var(--text-main); font-weight: 600; }
#compareModal .compare-choose, #compareModal .compare-remove { min-height: 44px; }
@media (max-width: 600px) {
    #compareModal { padding: 0; align-items: stretch; }
    #compareModal .modal-body { width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; padding: 18px 14px max(18px, env(safe-area-inset-bottom)); box-sizing: border-box; }
    #compareModal .compare-controls { gap: 8px; }
    #compareModal .compare-controls select { flex-basis: 100%; min-height: 44px; }
    #compareModal .compare-controls button { min-height: 44px; }
    #compareModal .compare-differences { width: 100%; padding: 4px 0; }
    #compareModal .compare-table th[scope="row"] { min-width: 100px; max-width: 120px; white-space: normal; }
}
#compare-table tr[hidden] { display: none; }
#compare-table tr[data-identical="false"] > td { background: color-mix(in srgb, var(--primary) 4%, var(--bg-card)); }
body.catalog-reference-upgrade #page-fleet > .journey-hero {
    padding: 20px 24px 10px !important;
    margin-top: 16px !important;
    background: var(--bg-card);
}
body.catalog-reference-upgrade #journey-title {
    font-size: clamp(25px, 2.7vw, 36px);
    font-weight: 750;
    letter-spacing: -.025em;
}
body.catalog-reference-upgrade #search-sticky {
    padding: 14px 24px 18px;
}
body.catalog-reference-upgrade #search-sticky .search-box {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
html:not([lang="en"]) body.catalog-reference-upgrade #search-sticky .date-input-placeholder {
    display: none !important;
}
html:not([lang="en"]) body.catalog-reference-upgrade #search-sticky .locale-date-input::-webkit-datetime-edit {
    opacity: 1;
}
body.catalog-reference-upgrade .p0-collections__head small {
    line-height: 1.5;
}
@media (min-width: 1000px) {
    body.catalog-reference-upgrade #catalog-filter-rail #p0-quick-filters {
        flex-direction: column;
        gap: 4px;
        margin: 16px 0 0;
        padding: 0;
        overflow: visible;
    }
    body.catalog-reference-upgrade #catalog-filter-rail #p0-quick-filters button {
        flex: none;
        width: 100%;
        min-height: 58px;
        border-color: transparent;
        box-shadow: none;
        padding: 10px 6px;
    }
    body.catalog-reference-upgrade #catalog-filter-rail #p0-quick-filters button.active {
        border-color: var(--primary);
    }
    body.catalog-reference-upgrade #catalog-filter-rail .p0-chip-label {
        white-space: normal !important;
        overflow: visible !important;
        line-height: 1.4;
    }
    body.catalog-reference-upgrade #catalog-filter-rail #p0-quick-filters .p0-clear {
        display: none;
    }
    body.catalog-reference-upgrade #search-sticky #p0-show-cars {
        align-self: center;
    }
    body.catalog-reference-upgrade #search-sticky .search-box > .btn-icon {
        display: none;
    }
    body.catalog-reference-upgrade #search-sticky .marketplace-search-actions {
        grid-column: 1 / -1 !important;
    }
}
@media (max-width: 760px) {
    body.catalog-reference-upgrade #page-fleet > .journey-hero {
        padding: 18px 16px 8px !important;
    }
    body.catalog-reference-upgrade #search-sticky {
        padding: 12px 16px 16px;
    }
}

body.catalog-reference-upgrade #page-fleet {
    --catalog-gap: 16px;
}

body.catalog-reference-upgrade #search-sticky {
    border: 1px solid #dfe5ec;
    background: var(--bg-card);
    box-shadow: 0 12px 30px rgba(23, 32, 42, .08);
}

body.catalog-reference-upgrade .p0-trust-markers {
    gap: 8px;
    margin-top: 0;
    margin-bottom: 16px;
}

body.catalog-reference-upgrade .p0-trust-markers span {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 10px;
    background: var(--bg-card);
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
}

/* Localrent-like factual collections sit between the search and the results. */
body.catalog-reference-upgrade .p0-collections {
    display: block !important;
    max-width: 1180px;
    margin: 0 auto 16px;
    padding: 0 20px 2px !important;
}

body.catalog-reference-upgrade .p0-collections__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 9px;
}

body.catalog-reference-upgrade .p0-collections__head strong,
body.catalog-reference-upgrade .p0-collections__head small {
    display: block;
}

body.catalog-reference-upgrade .p0-collections__head strong {
    color: var(--text-main);
    font-size: 15px;
}

body.catalog-reference-upgrade .p0-collections__head small {
    color: var(--text-muted);
    font-size: 12px;
}

body.catalog-reference-upgrade .p0-collections__list {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 1px 1px 8px;
    scrollbar-width: thin;
}

body.catalog-reference-upgrade .p0-collections__item {
    flex: 0 0 190px;
    min-height: 76px;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-card);
    color: var(--text-main);
    text-align: left;
    box-shadow: 0 5px 16px rgba(23, 32, 42, .05);
    cursor: pointer;
    font: inherit;
}

body.catalog-reference-upgrade .p0-collections__item:hover,
body.catalog-reference-upgrade .p0-collections__item:focus-visible {
    border-color: rgba(201, 22, 29, .44);
    background: var(--primary-light);
    outline: none;
    transform: translateY(-1px);
}

body.catalog-reference-upgrade .p0-collections__item b {
    font-size: 13px;
    line-height: 1.25;
}

body.catalog-reference-upgrade .p0-collections__item span {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
}

/* QEEQ-like quick discovery row, with only factual facets that have results. */
body.catalog-reference-upgrade #p0-quick-filters {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: stretch;
    min-width: 0;
    width: 100%;
    gap: 9px;
    max-width: 1180px;
    box-sizing: border-box;
    margin: 0 auto 14px;
    padding: 0 20px 5px;
    overflow-x: auto;
    scrollbar-width: thin;
}

body.catalog-reference-upgrade #p0-quick-filters button {
    flex: 0 0 166px;
    min-height: 58px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 8px;
    row-gap: 2px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--bg-card);
    color: var(--text-main);
    text-align: left;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(23, 32, 42, .04);
}

body.catalog-reference-upgrade #p0-quick-filters button:hover,
body.catalog-reference-upgrade #p0-quick-filters button:focus-visible,
body.catalog-reference-upgrade #p0-quick-filters button.active {
    border-color: rgba(201, 22, 29, .46);
    background: var(--primary-light);
    color: var(--primary);
    outline: none;
}

body.catalog-reference-upgrade #p0-quick-filters button[hidden] {
    display: none !important;
}

body.catalog-reference-upgrade #p0-quick-filters .p0-chip-icon {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 9px;
    background: var(--surface-secondary);
    color: var(--primary);
    font-size: 13px;
}

body.catalog-reference-upgrade #p0-quick-filters button.active .p0-chip-icon {
    background: #fff;
}

body.catalog-reference-upgrade #p0-quick-filters .p0-chip-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.catalog-reference-upgrade #p0-quick-filters .p0-chip-count {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 700;
}

body.catalog-reference-upgrade #p0-quick-filters .p0-clear {
    flex-basis: auto;
    min-width: 116px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-style: dashed;
    background: transparent;
    color: var(--text-muted);
}

body.catalog-reference-upgrade #p0-search-context {
    min-height: 52px;
    margin: 0 0 12px;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface-secondary);
}

body.catalog-reference-upgrade #p0-search-context > div {
    min-width: 0;
}

body.catalog-reference-upgrade #p0-search-context b {
    overflow: hidden;
    color: var(--text-main);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.catalog-reference-upgrade #p0-search-context span {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
}

body.catalog-reference-upgrade #cat-filters {
    justify-content: flex-start;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}

body.catalog-reference-upgrade #cat-filters .catalog-sort {
    min-width: 170px;
    margin-right: 3px;
}

body.catalog-reference-upgrade #cat-filters .filter-btn {
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 10px;
    box-shadow: none;
    font-size: 12px;
}

body.catalog-reference-upgrade #catalog-result-count {
    margin: 0 0 12px;
    color: var(--text-main);
    font-size: 15px;
    font-weight: 900;
}

body.catalog-reference-upgrade #catalog-filter-rail {
    border-color: #dfe5ec;
    box-shadow: 0 8px 22px rgba(23, 32, 42, .06);
}

@media (min-width: 1000px) {
    body.catalog-reference-upgrade #catalog-filter-rail__quick,
    body.catalog-reference-upgrade .catalog-filter-rail__quick {
        display: none;
    }
}

/* Make the card read like a marketplace offer: photo, trust signals, terms,
   total, then one obvious next action. */
body.catalog-reference-upgrade .car-card {
    overflow: hidden;
    padding: 0;
    border: 1px solid #dfe5ec;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(23, 32, 42, .08);
}

body.catalog-reference-upgrade .car-card:hover,
body.catalog-reference-upgrade .car-card:focus-within {
    border-color: rgba(201, 22, 29, .46);
    box-shadow: 0 14px 30px rgba(23, 32, 42, .13);
}

body.catalog-reference-upgrade .car-card.card-unavailable {
    opacity: .84;
}

body.catalog-reference-upgrade .car-card .card-img-box {
    height: 196px;
    margin: 0 0 16px;
    border: 0;
    border-radius: 0;
    background: var(--surface-secondary);
}

body.catalog-reference-upgrade .car-card .card-img {
    padding: 14px;
}

body.catalog-reference-upgrade .car-card > .car-card__title,
body.catalog-reference-upgrade .car-card > .card-rating,
body.catalog-reference-upgrade .car-card > .car-card__specs,
body.catalog-reference-upgrade .car-card > .car-card__badges,
body.catalog-reference-upgrade .car-card > .car-card__location,
body.catalog-reference-upgrade .car-card > .card-terms,
body.catalog-reference-upgrade .car-card > .availability-pill,
body.catalog-reference-upgrade .car-card > .conversion-confirmation,
body.catalog-reference-upgrade .car-card > .offer-quality,
body.catalog-reference-upgrade .car-card > .conversion-price,
body.catalog-reference-upgrade .car-card > .saved-checkout-pill,
body.catalog-reference-upgrade .car-card > .promotion-price,
body.catalog-reference-upgrade .car-card > .price-total,
body.catalog-reference-upgrade .car-card > .price-savings,
body.catalog-reference-upgrade .car-card > .card-date-suggestion {
    width: calc(100% - 36px);
    margin-left: 18px;
    margin-right: 18px;
    box-sizing: border-box;
}

body.catalog-reference-upgrade .car-card > .car-card__title {
    margin-bottom: 5px;
    font-size: 19px;
    letter-spacing: -.02em;
}

body.catalog-reference-upgrade .car-card > .card-rating {
    min-height: 18px;
    overflow: hidden;
    margin-bottom: 9px;
    color: #8a6100;
    font-size: 11px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.catalog-reference-upgrade .car-card > .car-card__specs {
    margin-bottom: 12px;
}

body.catalog-reference-upgrade .car-card > .car-card__badges {
    min-height: 25px;
}

body.catalog-reference-upgrade .car-card > .car-card__location {
    margin-bottom: 9px;
    padding-top: 1px;
    font-size: 12px;
}

body.catalog-reference-upgrade .car-card > .card-terms {
    gap: 8px;
    margin-bottom: 10px;
}

body.catalog-reference-upgrade .car-card > .card-terms > span,
body.catalog-reference-upgrade .car-card > .card-terms > details {
    border: 1px solid #edf0f3;
    background: var(--surface-secondary);
}

body.catalog-reference-upgrade .car-card > .availability-pill {
    margin-top: 2px;
    margin-bottom: 0;
}

body.catalog-reference-upgrade .car-card > .conversion-confirmation {
    margin-top: 9px;
}

body.catalog-reference-upgrade .car-card > .offer-quality {
    margin-top: 7px;
}

body.catalog-reference-upgrade .car-card > .price-total {
    margin-top: 13px;
    padding-top: 14px;
}

body.catalog-reference-upgrade .car-card .card-total-price {
    font-size: 24px;
    letter-spacing: -.02em;
}

body.catalog-reference-upgrade .car-card .card-book-btn,
body.catalog-reference-upgrade .car-card .marketplace-detail-link {
    width: calc(100% - 36px);
    margin-left: 18px;
    margin-right: 18px;
    box-sizing: border-box;
}

body.catalog-reference-upgrade .car-card .card-book-btn {
    min-height: 48px;
    margin-top: 14px;
    margin-bottom: 9px;
    border-radius: 11px;
}

body.catalog-reference-upgrade .car-card .marketplace-detail-link {
    margin-top: 0;
    margin-bottom: 13px;
    padding: 7px 4px 0;
    border-top: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 12px;
}

body.catalog-reference-upgrade .car-card .marketplace-supplier-link {
    width: calc(100% - 36px);
    margin: 0 18px 5px;
    box-sizing: border-box;
    font-size: 12px;
}

body.catalog-reference-upgrade .car-card .marketplace-offer-kind {
    width: calc(100% - 36px);
    margin: 0 18px 8px;
    box-sizing: border-box;
    color: var(--text-muted);
    font-size: 11px;
}

body.catalog-reference-upgrade .car-card .card-actions {
    top: 12px;
    right: 12px;
}

body.catalog-reference-upgrade .car-card .act-btn {
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, .92);
}

body.catalog-reference-upgrade .car-card .car-card__badge {
    border: 1px solid rgba(201, 22, 29, .12);
    background: var(--primary-light);
    line-height: 1.25;
}

@media (max-width: 760px) {
    body.catalog-reference-upgrade .p0-collections {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.catalog-reference-upgrade #p0-quick-filters {
        padding-left: 14px;
        padding-right: 14px;
    }

    body.catalog-reference-upgrade #p0-quick-filters button {
        flex-basis: 154px;
    }

    body.catalog-reference-upgrade #cat-filters {
        padding-left: 14px;
        padding-right: 14px;
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    body.catalog-reference-upgrade #cat-filters .catalog-sort {
        min-width: 168px;
    }

    body.catalog-reference-upgrade .car-card .card-img-box {
        height: 178px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.catalog-reference-upgrade .p0-collections__item:hover,
    body.catalog-reference-upgrade .car-card:hover {
        transform: none;
    }
}

/* Offer browsing: one clear hierarchy from search to terms to price. */
body.catalog-reference-upgrade #app-content > #page-fleet {
    max-width: 1440px;
    padding-inline: 32px;
}
body.catalog-reference-upgrade #page-fleet > .journey-hero,
body.catalog-reference-upgrade #search-sticky,
body.catalog-reference-upgrade .p0-collections,
body.catalog-reference-upgrade #p0-trust-markers {
    max-width: none;
}
body.catalog-reference-upgrade #page-fleet > .journey-hero {
    background: var(--bg-card) !important;
    width: 100%;
    box-sizing: border-box;
    max-width: none !important;
    margin-inline: 0 !important;
    margin-bottom: 0 !important;
    border-bottom: 0;
    box-shadow: none;
    padding: 28px 28px 8px !important;
}
body.catalog-reference-upgrade #journey-title {
    font-size: clamp(26px, 3vw, 38px) !important;
    font-weight: 700 !important;
    letter-spacing: -.035em;
    line-height: 1.2;
}
body.catalog-reference-upgrade #search-sticky {
    box-shadow: none;
    padding: 12px 28px 20px;
}
body.catalog-reference-upgrade #search-sticky .search-box {
    gap: 12px;
    border: 0;
    padding: 0;
    box-shadow: none;
}
body.catalog-reference-upgrade .journey-hero-note { display: none; }
.rental-destinations { margin: 40px 0; padding: 32px; border: 1px solid var(--border); border-radius: 20px; background: var(--bg-card); }
.rental-destinations[hidden] { display: none; }
.rental-destinations__intro h2 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -.03em; margin: 8px 0 12px; }
.rental-destinations__intro p, .rental-destinations__note { color: var(--text-muted, #64748b); line-height: 1.6; }
.rental-destinations__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; margin-top: 24px; }
.rental-destination { display: grid; grid-template-columns: 1fr auto; gap: 8px; text-align: left; padding: 22px; border: 1px solid var(--border, #dce2ea); border-radius: 14px; background: var(--bg-card, #fff); color: inherit; cursor: pointer; font: inherit; }
.rental-destination strong { grid-column: 1; font-size: 21px; overflow-wrap: anywhere; }
.rental-destination > span:not(.rental-destination__icon), .rental-destination small { grid-column: 1; }
.rental-destination__icon { grid-column: 2; grid-row: 1 / 3; font-size: 25px; color: var(--primary, #b70e1a); }
.rental-destination small { margin-top: 12px; color: var(--primary, #b70e1a); font-weight: 600; }
.rental-destination:hover { border-color: var(--primary, #b70e1a); background: var(--bg-body, #f8fafc); }
.rental-destination:focus-visible { outline: 3px solid var(--primary, #b70e1a); outline-offset: 3px; }
.rental-destinations__note { font-size: 13px; margin-bottom: 0; }
@media (max-width: 600px) {
    .rental-destinations { padding: 20px 16px; margin-block: 24px; }
    .rental-destinations__grid { grid-template-columns: 1fr; }
    .rental-destination { padding: 18px; }
}
body.catalog-reference-upgrade .marketplace-search-extra-wrap { margin: 12px 0; }
body.catalog-reference-upgrade .p0-collections { margin-block: 20px; padding-inline: 0 !important; }
body.catalog-reference-upgrade .p0-collections[hidden] { display: none !important; }
body.catalog-reference-upgrade .p0-collections__head small { display: none; }
body.catalog-reference-upgrade .p0-collections__head strong { font-weight: 600; }
body.catalog-reference-upgrade .p0-collections__item {
    flex: 1 0 185px;
    min-height: 65px;
    border-radius: 10px;
    box-shadow: none;
}
body.catalog-reference-upgrade #catalog-results-layout { gap: 24px; }
body.catalog-reference-upgrade #catalog-filter-rail { box-shadow: none; border-radius: 12px; }
body.catalog-reference-upgrade #p0-search-context {
    border: 0;
    background: transparent;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    flex-wrap: wrap;
    gap: 12px;
}
body.catalog-reference-upgrade #p0-search-context b { font-size: 18px; font-weight: 650; }
body.catalog-reference-upgrade #p0-search-context span { font-size: 13px; font-weight: 400; }
body.catalog-reference-upgrade #p0-search-context > .p0-map-toggle,
body.catalog-reference-upgrade .p0-map-toolbar { display: none; }
.catalog-view-controls { display: flex; flex-wrap: wrap; gap: 4px; }
.catalog-view-controls button {
    min-height: 42px;
    padding: 9px 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-card);
    color: var(--text-main);
    cursor: pointer;
}
.catalog-view-controls button[aria-pressed="true"] { background: var(--text-main); color: var(--bg-card); border-color: var(--text-main); }
.catalog-view-controls button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
body.catalog-reference-upgrade #cat-filters { padding: 0 0 12px; flex-wrap: wrap; gap: 6px; }
body.catalog-reference-upgrade #cat-filters .filter-btn { font-weight: 500; border-radius: 7px; }
body.catalog-reference-upgrade #catalog-result-count { font-weight: 600; }
body.catalog-reference-upgrade #fleet-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
body.catalog-reference-upgrade .car-card[data-offer-layout] {
    display: grid;
    grid-template-columns: minmax(170px, .8fr) minmax(0, 1.25fr) minmax(170px,.7fr);
    gap: 0;
    padding: 0;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(23,32,42,.035);
    align-items: stretch;
    transform: none;
    opacity: 1;
}
body.catalog-reference-upgrade .car-card[data-offer-layout]:hover { box-shadow: 0 6px 18px rgba(23,32,42,.08); border-color: #b8c2cc; }
.offer-media { position: relative; min-width: 0; background: var(--surface-secondary); }
body.catalog-reference-upgrade .offer-media .card-img-box { height: 100%; min-height: 210px; margin: 0; }
body.catalog-reference-upgrade .offer-media .card-img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
body.catalog-reference-upgrade .offer-media .card-actions { top: 10px; right: 10px; }
body.catalog-reference-upgrade .offer-media .act-btn { width: 34px; height: 34px; font-size: 15px; box-shadow: 0 2px 6px #0001; }
.offer-photo-note { position: absolute; left: 10px; right: 10px; bottom: 14px; text-align: center; font-size: 12px; color: #687585; }
.offer-info { min-width: 0; padding: 20px; }
body.catalog-reference-upgrade .offer-info .car-card__title { margin: 0 0 6px; font-size: 21px; font-weight: 650; }
body.catalog-reference-upgrade .offer-info .card-rating { font-size: 12px; line-height: 1.5; margin: 0 0 14px; color: var(--text-muted); }
body.catalog-reference-upgrade .offer-info .car-card__specs { gap: 6px; margin-bottom: 12px; font-weight: 400; }
body.catalog-reference-upgrade .offer-info .car-card__specs span { padding: 0; background: none; }
body.catalog-reference-upgrade .offer-info .car-card__specs span + span::before { content: '·'; margin-right: 6px; }
body.catalog-reference-upgrade .offer-info .car-card__badge { border: 0; color: var(--success); background: transparent; padding: 0; font-weight: 500; font-size: 12px; }
body.catalog-reference-upgrade .offer-info .car-card__badge::before { content: '✓ '; }
body.catalog-reference-upgrade .offer-info .car-card__location { margin: 10px 0 8px; line-height: 1.5; white-space: normal; }
body.catalog-reference-upgrade .offer-info .marketplace-supplier-link,
body.catalog-reference-upgrade .offer-info .marketplace-offer-kind { width: auto; margin: 6px 0; }
body.catalog-reference-upgrade .offer-info .card-terms { display: grid; gap: 6px; margin: 12px 0; font-size: 12px; }
body.catalog-reference-upgrade .offer-info .card-terms > span { width: 100%; padding: 0; border: 0; background: none; }
body.catalog-reference-upgrade .offer-info .availability-pill { margin: 10px 0 0; padding: 8px 10px; }
body.catalog-reference-upgrade .offer-info .availability-pill small { display: none; }
body.catalog-reference-upgrade .offer-info .conversion-confirmation { margin: 8px 0 0; font-size: 12px; }
body.catalog-reference-upgrade .offer-info .offer-quality.complete { display: none; }
.offer-checkout { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 20px; border-left: 1px solid var(--border); background: var(--bg-card); }
body.catalog-reference-upgrade .offer-checkout .price-total { display: block; margin: 0; padding: 0; border: 0; }
body.catalog-reference-upgrade .offer-checkout .card-total-price { font-size: 27px; font-weight: 700; line-height: 1.4; }
body.catalog-reference-upgrade .offer-checkout .card-daily-price { display: block; margin: 4px 0 0; font-size: 13px; }
body.catalog-reference-upgrade .offer-checkout .car-card__status { display: none; }
body.catalog-reference-upgrade .offer-checkout .price-savings { margin: 8px 0; font-size: 12px; }
body.catalog-reference-upgrade .offer-checkout .card-book-btn { width: 100%; margin: 16px 0 0; padding: 12px; min-height: 46px; border-radius: 8px; font-size: 14px; font-weight: 600; white-space: normal; }
body.catalog-reference-upgrade .offer-checkout .marketplace-detail-link { width: auto; margin: 8px 0 0; padding: 0; border: 0; line-height: 1.5; text-align: center; font-size: 12px; }
body.catalog-reference-upgrade #p0-trust-markers { padding: 0; margin: 12px 0; }
body.catalog-reference-upgrade #p0-trust-markers span { font-weight: 400; background: transparent; border: 0; padding: 0; font-size: 12px; }
@media (min-width: 1100px) {
    body.catalog-reference-upgrade #catalog-results-layout:has(.has-side-map) { grid-template-columns: minmax(0,1fr); }
    body.catalog-reference-upgrade #catalog-results-layout:has(.has-side-map) > #catalog-filter-rail { display: none; }
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map { grid-template-columns: minmax(0, 1.45fr) minmax(330px, 1fr); gap: 24px; }
    body.catalog-reference-upgrade .has-side-map .car-card[data-offer-layout] { grid-template-columns: 160px minmax(0,1fr); }
    body.catalog-reference-upgrade .has-side-map .offer-media { grid-row: 1 / span 2; }
    body.catalog-reference-upgrade .has-side-map .offer-checkout { grid-column: 2; border-left: 0; padding-top: 0; }
}
@media (min-width: 1000px) {
    body.catalog-reference-upgrade #catalog-results-layout { grid-template-columns: 230px minmax(0,1fr); }
}
@media (max-width: 1099px) {
    body.catalog-reference-upgrade .car-card[data-offer-layout] { grid-template-columns: minmax(160px,.7fr) minmax(0,1fr); }
    body.catalog-reference-upgrade .offer-media { grid-row: 1 / span 2; }
    body.catalog-reference-upgrade .offer-checkout { grid-column: 2; border-left: 0; padding-top: 0; }
}
@media (max-width: 760px) {
    body.catalog-reference-upgrade #app-content > #page-fleet { padding-inline: 16px; }
    body.catalog-reference-upgrade #page-fleet > .journey-hero { padding: 20px 16px 8px !important; }
    body.catalog-reference-upgrade #search-sticky { padding: 12px 16px 16px; }
    body.catalog-reference-upgrade #p0-search-context { gap: 12px; }
    .catalog-view-controls { width: 100%; }
    .catalog-view-controls button { flex: 1; padding-inline: 8px; }
    body.catalog-reference-upgrade #p0-quick-filters { padding-inline: 0; }
    body.catalog-reference-upgrade .car-card[data-offer-layout] { display: flex; flex-direction: column; }
    body.catalog-reference-upgrade .offer-media .card-img-box { height: 200px; min-height: 0; }
    .offer-info { padding: 18px 18px 0; }
    .offer-checkout { padding: 16px 18px 18px; border: 0; }
    body.catalog-reference-upgrade .offer-checkout .price-total > div:first-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
    body.catalog-reference-upgrade .offer-checkout .price-total small { flex-basis: 100%; }
    body.catalog-reference-upgrade .offer-checkout .card-daily-price { margin: 0; }
    body.catalog-reference-upgrade #map-wrapper.p0-map-open { margin-bottom: 18px; }
    body.catalog-reference-upgrade #map { min-height: 300px; max-height: 50vh; }
}

/* The search accepts city, make and model. Keep the hint close to the field
   without pushing the rest of the compact search layout out of alignment. */
body.catalog-reference-upgrade #f-search-group {
    margin-bottom: 17px;
}
body.catalog-reference-upgrade .catalog-search-hint {
    position: absolute;
    top: calc(100% + 3px);
    left: 14px;
    right: 42px;
    overflow: hidden;
    color: var(--text-muted);
    font-size: 11px;
    line-height: 1.25;
    pointer-events: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 760px) {
    body.catalog-reference-upgrade #f-search-group { margin-bottom: 19px; }
    body.catalog-reference-upgrade .catalog-search-hint {
        right: 12px;
        white-space: normal;
    }
}


/* Source: /static/css/visual-polish.css */
/* Shared typography and surfaces. Release 20260916. Self-hosted Manrope includes Ukrainian. */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('/static/fonts/manrope-variable.ttf') format('truetype');
}
:root {
    --nr-font: 'Manrope', 'Segoe UI', system-ui, sans-serif;
    --text-main: #202b3a;
    --text-muted: #5c6879;
    --bg-main: #f5f6f8;
    --border: #e0e5eb;
    --shadow: 0 6px 24px rgba(28, 40, 57, .055);
}
[data-theme='dark'] {
    color-scheme: dark;
    --text-main: #edf2f8;
    --text-muted: #adb9c9;
    --bg-main: #121820;
    --border: #354252;
}
[data-theme='dark'] body.site-shell .floating-label { color: #ffa0a8 !important; }
[data-theme='dark'] body.site-shell #mobile-nav { background: #1b2129 !important; border-color: var(--border); }
body.site-shell {
    font-family: var(--nr-font);
    font-size: 16px;
    line-height: 1.6;
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
}
body.site-shell :is(button, input, select, textarea) { font-family: var(--nr-font) !important; }
body.site-shell :is(h1, h2, h3, h4) { font-family: var(--nr-font) !important; font-weight: 700 !important; letter-spacing: -.025em; text-wrap: balance; }
body.site-shell :is(.journey-hero, .marketplace-hero, .public-page__hero) :is(h1, h2),
body.catalog-reference-upgrade #journey-title {
    font-size: clamp(28px, 3.4vw, 44px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.035em !important;
    max-width: 960px;
}
body.site-shell :is(.journey-hero, .marketplace-hero, .public-page__hero) p:not(.eyebrow):not(.public-page__eyebrow) {
    font-size: 16px !important;
    line-height: 1.65 !important;
    max-width: 760px;
}
body.site-shell #main-header { border-bottom-width: 1px; box-shadow: 0 3px 16px rgba(20, 30, 44, .08); }
body.site-shell #main-header .header-brand-name { font-size: 19px; font-weight: 750; }
body.site-shell #main-header :is(.desktop-nav > a, .header-actions--shared > *, #user-badge) { font-weight: 600; }
body.site-shell #main-header .desktop-nav > a { font-size: 12px; padding-block: 9px; }
body.site-shell:not(:has(#page-fleet.active)) .compare-bar { display: none !important; }
body.site-shell :is(.client-booking-action, .compare-controls button, .compare-choose, .compare-remove, .card-book-btn, #p0-show-cars, #btn-submit) {
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-radius: 10px;
}
body.catalog-reference-upgrade #search-sticky { padding-top: 22px; padding-bottom: 24px; }
body.site-shell .floating-input { font-size: 16px; font-weight: 500; border-color: var(--border); }
body.site-shell .floating-label { font-family: var(--nr-font); font-weight: 600 !important; letter-spacing: .015em; }
body.site-shell .car-card { border: 1px solid var(--border); box-shadow: var(--shadow); border-radius: 18px; }
body.site-shell .car-card h3 { font-size: 22px; line-height: 1.3; }
body.site-shell .referral-card {
    background: linear-gradient(135deg, #980c16 0%, #c9161d 58%, #a20c18 100%);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(152, 12, 22, .22);
    color: #fff;
}
body.site-shell .referral-card :is(h3, p, small, span, b) { color: #fff; }
body.site-shell .referral-card p { max-width: 760px; overflow-wrap: anywhere; line-height: 1.65; }
body.site-shell .referral-card :is(button, a) { font-family: var(--nr-font) !important; font-weight: 650 !important; }
body.site-shell .cabinet-demo-banner { border-radius: 14px; line-height: 1.55; }
body.site-shell .cabinet-demo-banner strong { font-weight: 700; }
body.site-shell .marketplace-panel { border-radius: 18px; box-shadow: var(--shadow); }
[data-theme='dark'] body.site-shell .cabinet-demo-banner { background: #2d2719; border-color: #806b36; color: #f2d992; }
[data-theme='dark'] body.site-shell .cabinet-demo-banner a { color: #f5d67b; }
body.catalog-reference-upgrade .offer-info { padding: 24px; }
body.catalog-reference-upgrade .offer-checkout { padding: 24px; background: var(--bg-input); }
body.site-shell :is(.price-total, .compare-price) { font-variant-numeric: tabular-nums; }
body.site-shell :is(.p0-collections__item, .rental-destination) { border-radius: 14px; box-shadow: none; }
body.site-shell .p0-collections__item b { font-weight: 600; }
body.site-shell .marketplace-faq summary { font-weight: 600; line-height: 1.55; }
body.site-shell .marketplace-faq p { line-height: 1.75; }
body.site-shell :is(.compare-table, .public-page p) { line-height: 1.6; }
@media (min-width: 1000px) and (max-width: 1199px) {
    body.catalog-reference-upgrade #search-sticky .search-box { grid-template-columns: minmax(0, 1fr) 150px !important; }
    body.catalog-reference-upgrade #search-sticky .marketplace-search__location { grid-area: 1 / 1 / 2 / 3 !important; }
    body.catalog-reference-upgrade #search-sticky .marketplace-search__dates { grid-area: 2 / 1 !important; }
    body.catalog-reference-upgrade #search-sticky #p0-show-cars { grid-area: 2 / 2 !important; }
    body.catalog-reference-upgrade #search-sticky .marketplace-search-actions { grid-area: 3 / 1 / 4 / 3 !important; }
}
@media (max-width: 760px) {
    body.catalog-reference-upgrade #journey-title { font-size: 29px !important; line-height: 1.2 !important; }
    body.site-shell :is(.journey-hero, .marketplace-hero, .public-page__hero) p:not(.eyebrow):not(.public-page__eyebrow) { font-size: 15px !important; }
    body.catalog-reference-upgrade .offer-info { padding: 20px 18px 0; }
    body.catalog-reference-upgrade .offer-checkout { padding: 18px; margin-top: 16px; }
    body.site-shell .car-card h3 { font-size: 21px; }
}

/* Keep full-page public and operational surfaces in the same visual system as
   the SPA. These pages do not inherit body.site-shell from base.html. */
body.standalone-page {
    font-family: var(--nr-font) !important;
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
}
body.standalone-page :is(button, input, select, textarea) {
    font-family: var(--nr-font) !important;
}
body.standalone-page :is(h1, h2, h3, h4) {
    font-family: var(--nr-font) !important;
    font-weight: 700 !important;
    letter-spacing: -.025em;
    text-wrap: balance;
}
body.standalone-page :is(.bar, header, .header-top) {
    border-bottom: 1px solid var(--primary);
    box-shadow: 0 4px 18px rgba(20, 30, 44, .10);
}
body.standalone-page :is(.panel, .card, .booking, .legal-page, .container, .box) {
    border-color: var(--border) !important;
    border-radius: 18px;
    box-shadow: var(--shadow);
}
body.standalone-page :is(button, .btn, .cta) {
    border-radius: 10px;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
body.standalone-page :is(button, .btn, .cta):hover:not(:disabled) {
    transform: translateY(-1px);
}
body.standalone-page :is(input, select, textarea):focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(201, 22, 29, .16) !important;
}
body.standalone-page :is(button, .btn, .cta, a):focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}
body.standalone-page .sub,
body.standalone-page .meta,
body.standalone-page .note,
body.standalone-page .doc,
body.standalone-page .label {
    color: var(--text-muted) !important;
}
/* Offer details: readable terms, a complete single-photo layout and a quieter
   introduction so the vehicle remains the main subject. */
body.car-detail-page .page-context-hero {
    min-height: 0 !important;
    padding: 20px 24px !important;
    background: var(--bg-card) !important;
    box-shadow: none !important;
}
body.car-detail-page .page-context-hero :is(h2, .context-heading) { font-size: clamp(22px, 2.4vw, 30px) !important; line-height: 1.3 !important; }
body.car-detail-page .page-context-hero p { font-size: 15px !important; line-height: 1.65 !important; }
body.car-detail-page .offer-section-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
body.car-detail-page .offer-section-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-card); color: var(--text-main); font-size: 14px; font-weight: 600; text-decoration: none; }
body.car-detail-page .offer-section-nav a:hover { border-color: var(--primary); color: var(--primary); }
body.car-detail-page :is(#offer-conditions, #offer-pickup, #availability-panel, #offer-reviews) { scroll-margin-top: 24px; }
body.car-detail-page .gallery > :only-child { grid-column: 1 / -1; grid-row: auto; }
body.car-detail-page .gallery img:only-child { height: auto; aspect-ratio: 16 / 10; max-height: 440px; object-fit: contain; }
body.car-detail-page .panel { padding: clamp(18px, 2.4vw, 28px); }
body.car-detail-page .panel h2 { font-size: 22px; line-height: 1.35; margin: 0 0 18px; }
body.car-detail-page .condition-grid .label { font-size: 13px; line-height: 1.5; margin-bottom: 6px; }
body.car-detail-page .condition-grid .value { font-size: 15px; font-weight: 600; line-height: 1.6; }
body.car-detail-page .condition-grid > div { padding: 16px; }
body.car-detail-page .offer-supplier { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 18px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); font-size: 14px; line-height: 1.5; }
body.car-detail-page .offer-supplier-label { color: var(--text-muted); }
body.car-detail-page .offer-supplier a { color: var(--primary); font-weight: 700; text-underline-offset: 3px; }
body.car-detail-page .offer-supplier a:hover { text-decoration-thickness: 2px; }
body.car-detail-page .offer-supplier-status { margin-left: auto; color: var(--text-muted); font-size: 13px; }
body.car-detail-page .vehicle-identity-note { display: grid; gap: 5px; margin-top: 16px; padding: 14px 16px; border: 1px solid #b7e4c7; border-radius: 13px; background: #effaf2; color: var(--text-main); line-height: 1.5; }
body.car-detail-page .vehicle-identity-note b { color: #167447; }
body.car-detail-page .vehicle-identity-note span,
body.car-detail-page .vehicle-identity-note small { color: var(--text-muted); font-size: 13px; }
body.car-detail-page .booking .price { font-size: 34px; font-weight: 750; font-variant-numeric: tabular-nums; }
body.car-detail-page .price-tiers { display: grid; gap: 6px; margin-top: 14px; padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-secondary); }
body.car-detail-page .price-tiers div { display: flex; justify-content: space-between; gap: 12px; color: var(--text-muted); font-size: 12px; line-height: 1.4; }
body.car-detail-page .price-tiers b { color: var(--text-main); font-size: 13px; font-variant-numeric: tabular-nums; }
body.car-detail-page :is(.price small, .notice) { font-size: 13px; line-height: 1.65; }
body.car-detail-page .cta { font-weight: 650; line-height: 1.45; min-height: 48px; }
body.car-detail-page .availability-day { min-height: 44px; font-size: 14px; font-weight: 600; }
body.car-detail-page .availability-day:disabled:not(.busy) { background: #f1f3f5; border-color: #e0e5eb; color: #68717d; }
body.car-detail-page .availability-month-control button { min-width: 44px; min-height: 44px; }
body.car-detail-page .availability-month-control span { font-size: 14px; font-weight: 600; }
@media (max-width: 850px) {
    body.car-detail-page { padding-bottom: 0; }
    body.car-detail-page .bar { padding: 0 !important; }
    body.car-detail-page .bar-inner { padding: 12px 16px !important; }
    body.car-detail-page .page-context-hero { margin: 0 0 20px !important; padding: 18px !important; }
    body.car-detail-page .mobile-cta { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
    body.car-detail-page .offer-supplier-status { margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 760px) {
    body.standalone-page :is(.panel, .card, .booking, .legal-page, .container, .box) {
        border-radius: 15px;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.standalone-page :is(button, .btn, .cta) {
        transition: none;
    }
    body.standalone-page :is(button, .btn, .cta):hover:not(:disabled) {
        transform: none;
    }
}


/* Source: /static/css/performance-polish.css */
/* Low-risk rendering hints for long public pages.  These do not change the
   catalogue data or interaction flow; they let the browser skip work below
   the fold while preserving space for media and cards. */
body.site-shell #fleet-grid,
body.site-shell .home-news-preview,
body.site-shell .seo-landing-content,
body.standalone-page .cards,
body.standalone-page .faq,
.news-hub__section,
.news-article__related,
.inventory-landing__section,
.inventory-landing__locations,
.inventory-landing__faq {
    content-visibility: auto;
    contain-intrinsic-size: 1px 720px;
}

body.site-shell #fleet-grid img,
body.standalone-page .cards img,
.news-hub__grid img,
.inventory-landing__grid img {
    max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    body.site-shell *,
    body.standalone-page * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}


/* Source: /static/css/cabinet-design.css */
/* Cabinet layout and typography, shared by renter and staff workspaces. */
body.site-shell .cabinet-bookings-first { margin: 20px 0 28px; min-width: 0; }
body.site-shell .cabinet-bookings-first #p-list-title { font-size: 24px; margin-bottom: 16px; }
body.site-shell .cabinet-bookings-first #client-next-trip { background: var(--bg-card) !important; border-color: var(--border) !important; border-left: 4px solid var(--primary) !important; box-shadow: none !important; }
body.site-shell .cabinet-bookings-first #client-next-trip-eyebrow { color: var(--text-muted) !important; font-weight: 600 !important; }
body.admin-page { --nr-admin-font: var(--nr-font); }
body.admin-page .container { padding: clamp(16px, 3vw, 32px); }
body.admin-page .cabinet-overview {
    padding: 24px;
    background: var(--bg-input);
    border-color: var(--border);
    border-radius: 16px;
}
body.admin-page .cabinet-overview h1 { font-size: clamp(24px, 3vw, 32px); line-height: 1.25; }
body.admin-page .cabinet-overview p { font-size: 14px; line-height: 1.65; }
body.admin-page .cabinet-overview__identity { min-width: 0; background: var(--bg-card); }
body.admin-page .dash-grid { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 12px; margin-bottom: 24px; }
body.admin-page .dash-card { padding: 16px; border-left-width: 1px; box-shadow: none !important; }
body.admin-page .dash-card small { font-size: 12px; font-weight: 600; text-transform: none; line-height: 1.5; }
body.admin-page .dash-card b { font-size: 26px; font-weight: 700; margin-top: 8px; font-variant-numeric: tabular-nums; }
body.admin-page .tabs { gap: 6px; padding: 6px 6px 12px; border-bottom: 1px solid var(--border); scrollbar-width: thin; }
body.admin-page .tab-btn { min-height: 44px; padding: 10px 16px; font-weight: 600; font-size: 14px; }
body.admin-page .tab-btn.active { background: var(--primary) !important; }
body.admin-page .table-wrap { max-width: 100%; }
body.admin-page .table-wrap th { font-size: 12px; font-weight: 700; padding: 14px 12px; white-space: nowrap; }
body.admin-page .table-wrap td { line-height: 1.55; vertical-align: top; }
body.admin-page .table-wrap tbody tr:focus-within { outline: 2px solid var(--primary); outline-offset: -2px; }
body.admin-page .btn { font-weight: 600; line-height: 1.4; }
body.admin-page .input-group label { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
body.admin-page .input-group :is(input, select, textarea) { min-height: 44px; font-size: 16px; }
body.site-shell #page-profile .profile-dashboard { padding: clamp(18px, 3vw, 32px) !important; border-radius: 18px; }
body.site-shell #page-profile .profile-title { margin: 0 0 12px; font-size: 28px; }
body.site-shell #page-profile .partner-switch-container { padding: 5px; gap: 5px; border: 1px solid var(--border); background: var(--surface-secondary); border-radius: 12px; }
body.site-shell #page-profile .p-switch { min-height: 44px; border: 0; border-radius: 9px; font-size: 14px; font-weight: 650; }
body.site-shell #page-profile .partner-switch-container { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
body.site-shell #page-profile .p-switch { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 48px; line-height: 1.35; text-decoration: none; }
body.site-shell #page-profile :is(#profile-email-panel, #profile-security-panel) { padding: 20px !important; border: 1px solid var(--border); background: var(--bg-card) !important; }
body.site-shell #page-profile :is(#profile-email-panel, #profile-security-panel) label { font-size: 14px !important; font-weight: 600 !important; line-height: 1.5; }
body.site-shell #page-profile :is(#profile-email-panel, #profile-security-panel) input { min-height: 48px; font-size: 16px; }
body.site-shell #page-profile :is(#profile-submit, #profile-password-submit) { min-height: 44px; font-size: 14px; font-weight: 650 !important; }
body.site-shell #page-profile .profile-booking-filter { padding: 16px; border: 1px solid var(--border); background: var(--bg-card); border-radius: 14px; gap: 12px; }
body.site-shell #page-profile .referral-card { box-shadow: none; padding: 20px 24px; }
body.site-shell #page-profile .referral-card h3 { font-size: 21px; margin-top: 0; }
body.site-shell #page-profile .verification-notice { font-size: 13px; line-height: 1.65; }
body.site-shell .workspace-toolbar { padding: 16px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; }
body.site-shell .workspace-car { padding: 18px 0; align-items: center; line-height: 1.6; }
body.site-shell .workspace-booking { padding: 24px; box-shadow: none; }
body.site-shell .workspace-actions :is(button, a) { min-height: 44px; font-weight: 600; }
@media (hover: hover) {
    body.admin-page .table-wrap tbody tr:hover { background: var(--bg-input); }
}
@media (max-width: 760px) {
    body.admin-page .cabinet-overview { padding: 18px; }
    body.admin-page .dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    body.admin-page .dash-card { padding: 12px; }
    body.admin-page .dash-card b { font-size: 23px; }
    body.admin-page .cabinet-overview__metrics { grid-template-columns: 1fr; }
    body.site-shell #page-profile :is(#profile-email-panel, #profile-security-panel) { padding: 16px !important; }
    body.site-shell #page-profile .profile-booking-filter { flex-wrap: wrap; }
    body.site-shell #page-profile .profile-booking-filter > :is(input, select) { width: 100%; min-width: 0; }
    body.site-shell .workspace-booking { padding: 18px; }
}


/* Source: /static/css/catalog-design-refresh.css */
/* Scoped visual corrections from the live desktop and 390px mobile review.
   Keep offer data, controls and booking actions unchanged. */
body.catalog-reference-upgrade #page-fleet > .journey-hero {
    border: 1px solid var(--border);
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    background: linear-gradient(115deg, var(--bg-card) 63%, color-mix(in srgb, var(--primary) 5%, var(--bg-card))) !important;
}
body.catalog-reference-upgrade #search-sticky {
    border: 1px solid var(--border);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 12px 30px rgba(23, 32, 42, .055);
}
body.catalog-reference-upgrade #page-fleet #fleet-grid:has(.car-card) {
    min-height: 0;
}
body.catalog-reference-upgrade .car-card[data-offer-layout] {
    min-height: 0;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 7px 24px rgba(23, 32, 42, .07);
}
body.catalog-reference-upgrade .car-card[data-offer-layout]:hover {
    box-shadow: 0 12px 32px rgba(23, 32, 42, .11);
}
body.catalog-reference-upgrade .offer-media {
    overflow: hidden;
    background: var(--surface-secondary);
}
body.catalog-reference-upgrade .offer-media .card-img-box {
    min-height: 0;
    height: 100%;
    width: 100%;
    border-radius: 0;
    overflow: hidden;
}
body.catalog-reference-upgrade .offer-media .card-img {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 12px;
    object-fit: contain;
    object-position: center;
}
@media (min-width: 1100px) {
    body.catalog-reference-upgrade #catalog-results-layout:not(:has(.has-side-map)) {
        grid-template-columns: minmax(0, 1fr);
    }
    body.catalog-reference-upgrade #catalog-results-layout:not(:has(.has-side-map)) > #catalog-filter-rail {
        position: static;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px 18px;
    }
    body.catalog-reference-upgrade #catalog-results-layout:not(:has(.has-side-map)) .catalog-filter-rail__quick {
        display: flex;
        flex-wrap: wrap;
        margin-top: 0;
    }
    body.catalog-reference-upgrade #catalog-results-layout:not(:has(.has-side-map)) .catalog-filter-rail__all {
        margin-top: 0;
    }
    body.catalog-reference-upgrade #catalog-results-layout:not(:has(.has-side-map)) .car-card[data-offer-layout] {
        grid-template-columns: minmax(300px, 34%) minmax(0, 1fr) minmax(210px, 23%);
    }
}
/* One compact set of condition shortcuts. The same facets remain in Advanced filters. */
body.catalog-reference-upgrade #p0-quick-filters { display: flex !important; }
body.catalog-reference-upgrade #bookingModal #m-availability { flex: 0 0 auto; height: auto; }
body.catalog-reference-upgrade #page-fleet > .journey-hero { padding: 16px 22px 4px !important; }
body.catalog-reference-upgrade #search-sticky { padding: 10px 22px 12px !important; }
body.catalog-reference-upgrade #p0-trust-markers { margin: 7px 0 !important; }
body.catalog-reference-upgrade .p0-collections { margin: 8px 0 12px !important; padding: 10px 12px !important; border-radius: 12px; }
body.catalog-reference-upgrade .p0-collections__head { margin: 0 0 6px; }
body.catalog-reference-upgrade .p0-collections__list { display: flex; flex-wrap: wrap; gap: 6px; overflow: visible; }
body.catalog-reference-upgrade .p0-collections__item { flex: 0 1 auto; min-height: 36px; padding: 6px 10px; border-radius: 999px; }
body.catalog-reference-upgrade .p0-collections__item b { font-size: 12px; }
body.catalog-reference-upgrade .p0-collections__item > span { font-size: 10px; }
body.catalog-reference-upgrade #catalog-filter-rail { padding: 10px 14px; }
body.catalog-reference-upgrade #catalog-filter-rail .catalog-filter-rail__all { width: auto; min-height: 38px; margin-top: 0; }
@media (min-width: 1100px) {
    /* The map shares the seven visible catalogue rows; spanning 99 created empty tracks below the offers. */
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map > #map-wrapper.p0-map-open { grid-row: 1 / span 7 !important; }
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .car-card[data-offer-layout] { display: flex; flex-direction: column; }
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media .card-img-box { height: clamp(330px, 31vw, 390px); min-height: 330px; }
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media .card-img { height: 100%; padding: 8px; object-fit: contain; }
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-info { padding: 16px 18px 0; }
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-checkout { padding: 12px 18px 18px; border-left: 0; }
}
/* Keep the information and controls, but shorten the path from the header to the first offer. */
body.catalog-reference-upgrade #page-fleet > .journey-hero { min-height: 0 !important; padding: 10px 20px 2px !important; }
body.catalog-reference-upgrade #journey-title { font-size: clamp(24px, 2.3vw, 30px) !important; line-height: 1.1; margin-bottom: 4px !important; }
body.catalog-reference-upgrade #page-fleet > .journey-hero p:not(.eyebrow) { font-size: 13px !important; line-height: 1.3 !important; }
body.catalog-reference-upgrade #search-sticky { padding: 6px 20px 8px !important; margin-bottom: 8px; }
body.catalog-reference-upgrade #search-sticky .marketplace-search__dates-inner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 12px; }
body.catalog-reference-upgrade #search-sticky .quick-dates { grid-column: 1; grid-row: 1; }
body.catalog-reference-upgrade #search-sticky .date-range-hint { grid-column: 2; grid-row: 1; min-height: 0; margin: 0; }
body.catalog-reference-upgrade #search-sticky .marketplace-search__date-fields { grid-column: 1 / -1; grid-row: 2; }
body.catalog-reference-upgrade #p0-trust-markers { margin: 4px 0 !important; }
body.catalog-reference-upgrade .p0-collections { margin: 4px 0 8px !important; }
body.catalog-reference-upgrade #rental-destinations { margin-top: 20px; }
@media (max-width: 760px) {
    body.catalog-reference-upgrade #page-fleet > .journey-hero { padding: 12px 16px 4px !important; }
    body.catalog-reference-upgrade #search-sticky { padding: 10px 16px 12px !important; }
    body.catalog-reference-upgrade #search-sticky .marketplace-search__dates-inner { grid-template-columns: 1fr; }
    body.catalog-reference-upgrade #search-sticky .quick-dates,
    body.catalog-reference-upgrade #search-sticky .date-range-hint,
    body.catalog-reference-upgrade #search-sticky .marketplace-search__date-fields { grid-column: 1; grid-row: auto; }
}
.catalog-brand-shortcuts { display: flex; align-items: center; gap: 12px; margin: 5px 0 12px; min-width: 0; }
.catalog-brand-shortcuts > strong { flex: 0 0 auto; font-size: 13px; }
.catalog-brand-shortcuts__list { display: flex; gap: 7px; overflow-x: auto; padding: 2px 1px 7px; scrollbar-width: thin; }
.catalog-brand-shortcuts__list button { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 7px 11px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-card); color: var(--text-main); font: inherit; font-size: 12px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.catalog-brand-shortcuts__list button[aria-pressed="true"] { border-color: var(--primary); background: var(--primary-light); color: var(--primary); }
.catalog-brand-shortcuts__list button:disabled { opacity: .48; cursor: not-allowed; }
.catalog-brand-shortcuts__list img { width: 24px; height: 24px; object-fit: contain; }
.catalog-brand-shortcuts__list small { color: var(--text-muted); font-size: 11px; }
@media (max-width: 760px) {
    body.catalog-reference-upgrade .p0-collections__list { flex-wrap: nowrap; overflow-x: auto; }
    body.catalog-reference-upgrade .p0-collections__item { flex: 0 0 auto; }
    .catalog-brand-shortcuts { align-items: flex-start; flex-direction: column; gap: 4px; }
    .catalog-brand-shortcuts__list { max-width: 100%; }
}
body.catalog-reference-upgrade .offer-media.offer-media--placeholder .card-img {
    object-fit: contain;
    padding: 18px;
}
body.catalog-reference-upgrade .offer-info {
    padding: 18px 20px;
}
body.catalog-reference-upgrade .offer-info .card-rating:empty {
    display: none;
}
body.catalog-reference-upgrade .offer-info .car-card__specs {
    margin-bottom: 8px;
}
body.catalog-reference-upgrade .offer-info .card-terms {
    margin: 8px 0;
}
body.catalog-reference-upgrade .offer-info .car-card__location {
    margin: 8px 0 5px;
}
body.catalog-reference-upgrade .offer-checkout {
    padding: 18px 20px;
}
body.catalog-reference-upgrade .offer-checkout .card-book-btn {
    margin-top: 12px;
}
body.catalog-reference-upgrade #p0-quick-filters .p0-chip-label {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

@media (max-width: 760px) {
    body.catalog-reference-upgrade #app-content > #page-fleet {
        padding-top: 10px;
    }
    body.catalog-reference-upgrade #page-fleet > .journey-hero {
        margin-top: 6px !important;
    }
    body.catalog-reference-upgrade .p0-collections__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        overflow: visible;
        padding: 1px;
    }
    body.catalog-reference-upgrade .p0-collections__item {
        min-width: 0;
        min-height: 70px;
        padding: 10px 11px;
    }
    body.catalog-reference-upgrade .p0-collections__item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
    body.catalog-reference-upgrade #p0-quick-filters {
        scrollbar-width: none;
    }
    body.catalog-reference-upgrade #p0-quick-filters::-webkit-scrollbar,
    body.catalog-reference-upgrade #cat-filters::-webkit-scrollbar {
        display: none;
    }
    body.catalog-reference-upgrade #p0-quick-filters button {
        flex-basis: 170px;
        min-height: 64px;
    }
    body.catalog-reference-upgrade .offer-media .card-img-box {
        height: 210px;
    }
    body.catalog-reference-upgrade .offer-media .card-img {
        object-position: center 58%;
    }
    body.catalog-reference-upgrade .offer-info {
        padding: 16px 16px 0;
    }
    body.catalog-reference-upgrade .offer-checkout {
        margin-top: 8px;
        padding: 14px 16px 16px;
    }
    body.site-shell:not(.is-tg-app) .compare-bar.show {
        position: fixed;
        top: auto;
        right: max(12px, env(safe-area-inset-right));
        bottom: calc(88px + env(safe-area-inset-bottom));
        left: auto;
        width: calc(100vw - 24px);
        max-width: 400px;
        margin: 0;
    }
    body.site-shell:not(.is-tg-app) .compare-bar.show.is-search-visible {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(12px);
    }
}


/* Source: /static/css/ux-priority-fixes.css */
/* CarMisto UX priority fixes.
   This file is intentionally loaded last on the marketplace shell so the
   compact catalogue and checkout rules win over legacy component defaults. */

.trust-list li.is-pending > span {
    color: var(--text-muted);
    background: var(--bg-input);
}

/* Keep the first catalogue offer in the first viewport without removing the
   explanatory content or the existing search controls. */
/* Selected search criteria must remain readable in the dark catalogue.
   The light theme keeps its existing outline treatment. */
html[data-theme="dark"] body.catalog-reference-upgrade #catalog-discovery-toolbar :is(
    .catalog-brand-shortcuts__list, .catalog-city-shortcuts__list
) button[aria-pressed="true"],
html[data-theme="dark"] body.catalog-reference-upgrade #catalog-active-filters .catalog-filter-chip {
    background: #b5121b;
    border-color: #b5121b;
    color: #fff;
}
html[data-theme="dark"] body.catalog-reference-upgrade #catalog-discovery-toolbar :is(
    .catalog-brand-shortcuts__list, .catalog-city-shortcuts__list
) button[aria-pressed="true"] :is(span, small) {
    color: #fff;
}
html[data-theme="dark"] body.catalog-reference-upgrade #catalog-filter-rail .catalog-filter-rail__clear {
    color: #ff9c9f;
}

/* Later layout rules must never resurrect semantically hidden zero-count
   options; active filters remain visible so users can remove them. */
body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button[hidden],
body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button[hidden] {
    display: none !important;
}
html[data-theme="dark"] body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button[aria-pressed="true"] {
    background: #b5121b;
    border-color: #b5121b;
    color: #fff;
}
html[data-theme="dark"] body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button[aria-pressed="true"] span {
    color: #fff;
}
html[data-theme="dark"] body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-mobile-all-filters {
    color: #ff9c9f;
}

@media (min-width: 851px) {
    body.marketplace-experience #app-content > #page-fleet > .journey-hero,
    body.catalog-reference-upgrade #app-content > #page-fleet > .journey-hero {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 10px 20px 2px !important;
        border-radius: 14px 14px 0 0 !important;
    }

    body.marketplace-experience #journey-title,
    body.catalog-reference-upgrade #journey-title {
        margin: 0 0 3px !important;
        font-size: clamp(24px, 2.15vw, 30px) !important;
        line-height: 1.08 !important;
    }

    body.marketplace-experience .journey-hero p:not(.eyebrow),
    body.catalog-reference-upgrade .journey-hero p:not(.eyebrow) {
        max-width: 760px;
        margin: 2px 0 !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    body.marketplace-experience #p0-trust-markers,
    body.catalog-reference-upgrade #p0-trust-markers {
        display: flex;
        gap: 6px !important;
        margin: 3px 0 !important;
        padding: 0 2px !important;
        max-height: 30px;
        overflow: hidden;
    }

    body.marketplace-experience #p0-trust-markers span,
    body.catalog-reference-upgrade #p0-trust-markers span {
        padding: 3px 7px !important;
        font-size: 10px !important;
        line-height: 1.2;
        white-space: nowrap;
    }

    body.marketplace-experience .p0-collections,
    body.catalog-reference-upgrade .p0-collections {
        gap: 7px !important;
        margin: 3px 0 5px !important;
        padding: 4px 2px !important;
        border: 0 !important;
        box-shadow: none !important;
        max-height: 47px;
        overflow-x: auto;
        overflow-y: hidden;
    }

    body.marketplace-experience .p0-collections__head,
    body.catalog-reference-upgrade .p0-collections__head {
        flex: 0 0 auto;
        margin: 0 !important;
        align-self: center;
    }

    body.marketplace-experience .p0-collections__head strong,
    body.catalog-reference-upgrade .p0-collections__head strong {
        font-size: 11px !important;
        white-space: nowrap;
    }

    body.marketplace-experience .p0-collections__head small,
    body.catalog-reference-upgrade .p0-collections__head small,
    body.marketplace-experience .p0-collections__item > span,
    body.catalog-reference-upgrade .p0-collections__item > span {
        display: none !important;
    }

    body.marketplace-experience .p0-collections__list,
    body.catalog-reference-upgrade .p0-collections__list {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        min-width: 0;
        overflow: visible;
    }

    body.marketplace-experience .p0-collections__item,
    body.catalog-reference-upgrade .p0-collections__item {
        flex: 0 0 auto !important;
        min-height: 30px !important;
        padding: 5px 8px !important;
        border-radius: 999px !important;
        font-size: 11px !important;
        white-space: nowrap;
    }

    body.marketplace-experience #search-sticky,
    body.catalog-reference-upgrade #search-sticky {
        margin: 0 0 5px !important;
        padding: 5px 14px 6px !important;
        border-radius: 10px !important;
    }

    body.marketplace-experience #search-sticky .search-box,
    body.catalog-reference-upgrade #search-sticky .search-box {
        gap: 7px !important;
    }

    body.marketplace-experience #search-sticky .floating-input,
    body.catalog-reference-upgrade #search-sticky .floating-input {
        min-height: 42px !important;
    }

    body.marketplace-experience #p0-search-context,
    body.catalog-reference-upgrade #p0-search-context {
        gap: 8px !important;
        margin: 2px 0 4px !important;
        padding: 0 2px 5px !important;
    }

    body.marketplace-experience #p0-search-context b,
    body.catalog-reference-upgrade #p0-search-context b {
        font-size: 14px !important;
    }

    body.marketplace-experience #p0-search-context span,
    body.catalog-reference-upgrade #p0-search-context span {
        font-size: 11px !important;
    }

    body.marketplace-experience #cat-filters,
    body.catalog-reference-upgrade #cat-filters {
        gap: 4px !important;
        padding: 0 0 5px !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.marketplace-experience #cat-filters::-webkit-scrollbar,
    body.catalog-reference-upgrade #cat-filters::-webkit-scrollbar {
        display: none;
    }

    body.marketplace-experience #cat-filters .filter-btn,
    body.catalog-reference-upgrade #cat-filters .filter-btn,
    body.marketplace-experience #cat-filters .catalog-sort,
    body.catalog-reference-upgrade #cat-filters .catalog-sort {
        min-height: 34px !important;
        padding: 6px 9px !important;
        font-size: 12px !important;
    }

    body.marketplace-experience #catalog-brand-shortcuts,
    body.catalog-reference-upgrade #catalog-brand-shortcuts {
        margin: 1px 0 5px !important;
        flex-wrap: nowrap;
        overflow: hidden;
    }

    body.marketplace-experience .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade .catalog-brand-shortcuts__list {
        min-width: 0;
    }

    body.marketplace-experience #catalog-results-layout,
    body.catalog-reference-upgrade #catalog-results-layout {
        gap: 8px !important;
    }

    /* The side map is part of the catalogue, so cards must remain readable
       next to it rather than collapsing into a narrow thumbnail column. */
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .car-card[data-offer-layout] {
        display: grid !important;
        grid-template-columns: minmax(210px, 32%) minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-items: start !important;
    }

    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media {
        grid-row: 1 / span 2 !important;
        align-self: start !important;
        height: clamp(240px, 22vw, 300px) !important;
    }

    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media .card-img-box {
        height: 100% !important;
        min-height: 0 !important;
    }

    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media .card-img {
        min-height: 0 !important;
        padding: 12px !important;
    }

    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-info {
        padding: 14px 16px 4px !important;
    }

    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-info .car-card__title {
        font-size: 18px !important;
    }

    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-checkout {
        grid-column: 2 !important;
        padding: 6px 16px 14px !important;
    }

    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-checkout .card-total-price {
        font-size: 22px !important;
    }
}

/* The full-screen map view uses the same readable offer hierarchy as the
   list. These rules are also useful on narrow desktop windows. */
body.map-view-active #fleet-grid .car-card[data-offer-layout] {
    flex: 0 0 min(86vw, 410px) !important;
    width: min(86vw, 410px) !important;
    min-width: 0 !important;
    overflow: hidden;
}

body.map-view-active #fleet-grid .offer-media .card-img-box {
    height: 185px !important;
    min-height: 185px !important;
}

body.map-view-active #fleet-grid .offer-media .card-img {
    padding: 10px !important;
    object-fit: contain !important;
}

body.map-view-active #fleet-grid .offer-info {
    padding: 12px 14px 2px !important;
}

body.map-view-active #fleet-grid .offer-info .car-card__title {
    font-size: 18px !important;
    line-height: 1.2;
}

body.map-view-active #fleet-grid .offer-info .car-card__specs,
body.map-view-active #fleet-grid .offer-info .card-terms {
    font-size: 12px !important;
}

body.map-view-active #fleet-grid .offer-checkout {
    padding: 8px 14px 12px !important;
}

body.map-view-active #fleet-grid .offer-checkout .card-total-price {
    font-size: 23px !important;
}

body.map-view-active #fleet-grid .offer-checkout .card-book-btn {
    min-height: 42px !important;
    margin-top: 8px !important;
}

/* Reduce the empty tail after the catalogue and make the next decision point
   appear close to the last offer. */
body.marketplace-experience #rental-destinations,
body.catalog-reference-upgrade #rental-destinations {
    margin-top: 12px !important;
    margin-bottom: 18px !important;
}

body.marketplace-experience .marketplace-faq,
body.catalog-reference-upgrade .marketplace-faq {
    margin-top: 14px !important;
}

/* Booking: panels are transparent on desktop, but become real steps on a
   phone. This avoids a 5,000px single scroll while keeping one request flow. */
.booking-wizard-anchor { display: none !important; }
.booking-step-panel { display: block; min-width: 0; }
.booking-step-panel__title { display: none; }
.booking-wizard-controls { display: none; }

.booking-progress__step[data-booking-step] {
    cursor: pointer;
}

.date-range-hint {
    min-height: 0;
    margin: 6px 2px 10px;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.35;
}

.date-range-hint.is-warning {
    color: var(--primary);
    font-weight: 700;
}

@media (max-width: 760px) {
    body.marketplace-experience #app-content > #page-fleet,
    body.catalog-reference-upgrade #app-content > #page-fleet {
        padding-inline: 12px !important;
    }

    body.marketplace-experience #app-content > #page-fleet > .journey-hero,
    body.catalog-reference-upgrade #app-content > #page-fleet > .journey-hero {
        padding: 9px 12px 3px !important;
        margin-top: 2px !important;
    }

    body.marketplace-experience #journey-title,
    body.catalog-reference-upgrade #journey-title {
        font-size: 23px !important;
    }

    body.marketplace-experience .journey-hero p:not(.eyebrow),
    body.catalog-reference-upgrade .journey-hero p:not(.eyebrow) {
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    body.marketplace-experience #p0-trust-markers,
    body.catalog-reference-upgrade #p0-trust-markers {
        gap: 4px !important;
        margin: 2px 0 !important;
        max-height: 29px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    body.marketplace-experience #p0-trust-markers::-webkit-scrollbar,
    body.catalog-reference-upgrade #p0-trust-markers::-webkit-scrollbar {
        display: none;
    }

    body.marketplace-experience #p0-trust-markers span,
    body.catalog-reference-upgrade #p0-trust-markers span {
        flex: 0 0 auto;
        padding: 4px 7px !important;
        font-size: 10px !important;
    }

    body.marketplace-experience .p0-collections,
    body.catalog-reference-upgrade .p0-collections {
        margin: 2px 0 4px !important;
        padding: 2px 0 !important;
        max-height: 40px;
    }

    body.marketplace-experience .p0-collections__head,
    body.catalog-reference-upgrade .p0-collections__head {
        display: none !important;
    }

    body.marketplace-experience .p0-collections__item,
    body.catalog-reference-upgrade .p0-collections__item {
        min-height: 31px !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
    }

    body.marketplace-experience #search-sticky,
    body.catalog-reference-upgrade #search-sticky {
        padding: 6px 9px 8px !important;
        margin-bottom: 4px !important;
    }

    body.marketplace-experience #search-sticky .search-box,
    body.catalog-reference-upgrade #search-sticky .search-box {
        gap: 6px !important;
    }

    body.marketplace-experience #p0-search-context,
    body.catalog-reference-upgrade #p0-search-context {
        gap: 6px !important;
        margin: 2px 0 4px !important;
        padding: 0 0 4px !important;
    }

    body.marketplace-experience #p0-search-context b,
    body.catalog-reference-upgrade #p0-search-context b {
        font-size: 13px !important;
    }

    body.marketplace-experience #p0-search-context span,
    body.catalog-reference-upgrade #p0-search-context span {
        font-size: 10px !important;
    }

    body.marketplace-experience #cat-filters,
    body.catalog-reference-upgrade #cat-filters {
        padding-bottom: 4px !important;
        min-height: 40px;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.marketplace-experience #cat-filters::-webkit-scrollbar,
    body.catalog-reference-upgrade #cat-filters::-webkit-scrollbar {
        display: none;
    }

    body.marketplace-experience .catalog-brand-shortcuts,
    body.catalog-reference-upgrade .catalog-brand-shortcuts {
        flex-direction: row !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 48px;
    }

    body.marketplace-experience .catalog-brand-shortcuts > strong,
    body.catalog-reference-upgrade .catalog-brand-shortcuts > strong {
        font-size: 11px !important;
    }

    body.marketplace-experience .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade .catalog-brand-shortcuts__list {
        flex: 1 1 auto;
        gap: 5px !important;
        padding-bottom: 3px !important;
        overflow-x: auto;
    }

    body.marketplace-experience .catalog-brand-shortcuts__list button,
    body.catalog-reference-upgrade .catalog-brand-shortcuts__list button {
        min-height: 36px !important;
        padding: 5px 8px !important;
        font-size: 11px !important;
    }

    body.marketplace-experience .catalog-brand-shortcuts__list img,
    body.catalog-reference-upgrade .catalog-brand-shortcuts__list img {
        width: 20px;
        height: 20px;
    }

    body.marketplace-experience #catalog-map-layout,
    body.catalog-reference-upgrade #catalog-map-layout {
        gap: 6px !important;
    }

    body.marketplace-experience #search-sticky .btn-icon,
    body.catalog-reference-upgrade #search-sticky .btn-icon {
        min-height: 42px !important;
        height: 42px !important;
        padding: 9px !important;
    }

    body.map-view-active #fleet-grid .car-card[data-offer-layout] {
        flex-basis: min(88vw, 360px) !important;
        width: min(88vw, 360px) !important;
    }

    body.map-view-active #fleet-grid .offer-media .card-img-box {
        height: 165px !important;
        min-height: 165px !important;
    }

    /* Actual mobile wizard. The left-side vehicle details remain above the
       checkout sheet; only the right-side form is paged. */
    #bookingModal .m-right {
        padding: 14px 16px calc(18px + env(safe-area-inset-bottom)) !important;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    #bookingModal .booking-panel-header {
        position: sticky;
        top: -14px;
        padding: 4px 0 10px !important;
        margin: 0 0 10px !important;
    }

    #bookingModal .booking-progress {
        position: sticky;
        top: 39px;
        z-index: 9;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        margin: 0 -2px 10px;
        padding: 5px 0;
        background: var(--bg-modal);
    }

    #bookingModal .booking-progress__step {
        min-width: 0;
        padding: 6px 2px;
        border: 1px solid var(--border);
        border-radius: 8px;
        color: var(--text-muted);
        font-size: 10px;
        line-height: 1.15;
        text-align: center;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #bookingModal .booking-progress__step.is-current {
        border-color: var(--primary);
        background: color-mix(in srgb, var(--primary) 9%, var(--bg-card));
        color: var(--primary);
        font-weight: 800;
    }

    #bookingModal .booking-progress__step.is-complete {
        border-color: rgba(39,174,96,.45);
        color: var(--success);
    }

    #bookingModal .booking-step-panel[hidden] {
        display: none !important;
    }

    #bookingModal .booking-step-panel__title {
        display: block;
        margin: 0 0 10px;
        color: var(--text-main);
        font-size: 17px;
        line-height: 1.2;
    }

    #bookingModal .booking-wizard-controls {
        display: flex;
        gap: 8px;
        margin: 12px 0 2px;
    }

    #bookingModal .booking-wizard-controls button {
        min-height: 46px;
        padding: 10px 13px;
        border: 1px solid var(--border);
        border-radius: 11px;
        background: var(--bg-card);
        color: var(--text-main);
        font: inherit;
        font-size: 13px;
        font-weight: 800;
        cursor: pointer;
    }

    #bookingModal .booking-wizard-controls [data-wizard-next] {
        flex: 1;
        border-color: var(--primary);
        background: var(--primary);
        color: #fff;
    }

    #bookingModal .booking-wizard-controls [data-wizard-prev] {
        flex: 0 0 auto;
    }

    #bookingModal .booking-step-panel[data-booking-step="1"] .booking-date-grid {
        gap: 8px !important;
    }

    #bookingModal .booking-step-panel[data-booking-step="3"] .checkout-option-group {
        margin-bottom: 10px !important;
        padding: 12px !important;
    }

    #bookingModal .booking-step-panel[data-booking-step="4"] .booking-steps {
        margin-top: 10px;
    }

    #bookingModal .btn-hold {
        margin: 12px 0 10px !important;
        min-height: 54px;
    }
}

/* The condition cards must occupy their own flow row. Earlier compact rules
   capped this block at one line, so the cards were painted underneath the
   search-context toolbar and could not explain how to turn a choice off. */
body.catalog-reference-upgrade #stories-bar.p0-collections:not([hidden]),
body.marketplace-experience #stories-bar.p0-collections:not([hidden]) {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin-bottom: 10px !important;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__head {
    display: flex !important;
    align-items: flex-start;
    margin-bottom: 6px !important;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head .p0-collections__hint,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__head .p0-collections__hint {
    display: block !important;
    margin-top: 2px;
    color: var(--text-muted) !important;
    font-size: 11px !important;
    font-weight: 600;
    line-height: 1.25;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head .p0-collections__total,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__head .p0-collections__total {
    display: none !important;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__list,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    min-height: 0;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 2px 9px !important;
    scrollbar-width: thin;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item {
    flex: 0 0 190px !important;
    min-height: 66px !important;
    box-sizing: border-box;
    display: grid !important;
    align-content: space-between;
    gap: 4px;
    padding: 9px 11px !important;
    border-radius: 12px !important;
    white-space: normal !important;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item-copy,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item-copy {
    display: grid !important;
    min-width: 0;
    gap: 3px;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item-copy b,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item-copy b {
    display: block !important;
    overflow: hidden;
    font-size: 12px !important;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item-count,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item-count {
    display: block !important;
    color: var(--text-muted) !important;
    font-size: 10px !important;
    font-weight: 700;
    line-height: 1.2;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item-action,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item-action {
    display: block !important;
    color: var(--text-muted) !important;
    font-size: 10px !important;
    font-weight: 800;
    line-height: 1.2;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item.is-active,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item.is-active {
    border-color: var(--primary) !important;
    background: var(--primary-light) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 14%, transparent);
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item.is-active .p0-collections__item-action,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item.is-active .p0-collections__item-action {
    color: var(--primary) !important;
}
@media (max-width: 760px) {
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__list,
    body.marketplace-experience #stories-bar.p0-collections .p0-collections__list {
        padding-bottom: 5px !important;
        scrollbar-width: none;
    }
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__list::-webkit-scrollbar,
    body.marketplace-experience #stories-bar.p0-collections .p0-collections__list::-webkit-scrollbar {
        display: none;
    }
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item,
    body.marketplace-experience #stories-bar.p0-collections .p0-collections__item {
        flex-basis: 184px !important;
        min-height: 68px !important;
    }
}

/* Four compact date/time cells fit comfortably on medium phones; narrow
   phones keep the safer two-column layout. */
@media (min-width: 520px) and (max-width: 760px) {
    body.marketplace-experience #search-sticky .marketplace-search__date-fields,
    body.catalog-reference-upgrade #search-sticky .marketplace-search__date-fields {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
}

/* Search must remain a catalogue field, never a contact field. These hints
   complement the semantic autocomplete attributes in the markup and keep
   browser/password-manager decoration from looking like a real query. */
#f-search:-webkit-autofill,
#f-search:-webkit-autofill:hover,
#f-search:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--text-main) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--bg-card) inset !important;
    transition: background-color 9999s ease-out 0s;
}

/* Keep the live condition tabs visible after every catalogue rerender. */
body.catalog-reference-upgrade #stories-bar.p0-collections:not([hidden]),
body.marketplace-experience #stories-bar.p0-collections:not([hidden]) {
    display: flex !important;
    visibility: visible !important;
}

/* A labelled sort control reads as an intentional decision point instead of
   an unexplained native dropdown. */
.catalog-sort-control {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 4px 6px 4px 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--bg-card);
    box-shadow: 0 2px 8px rgba(23, 32, 42, .06);
}
.catalog-sort-control__label {
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .01em;
    white-space: nowrap;
}
.catalog-sort-control .catalog-sort {
    min-width: 184px;
    min-height: 34px;
    padding: 6px 28px 6px 5px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
.catalog-sort-control .catalog-sort:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

/* The map heading starts after Leaflet's top-left zoom control, so the
   heading cannot cover or intercept zoom in either map layout. */
body.catalog-reference-upgrade #map-wrapper .map-context,
body.marketplace-experience #map-wrapper .map-context {
    top: 12px !important;
    left: 58px !important;
    right: 12px !important;
    max-width: calc(100% - 70px) !important;
    pointer-events: none;
}
body.catalog-reference-upgrade #map-wrapper .map-context > div,
body.marketplace-experience #map-wrapper .map-context > div {
    min-width: 0;
    overflow: hidden;
}
body.catalog-reference-upgrade #map-wrapper .map-context b,
body.catalog-reference-upgrade #map-wrapper .map-context span:not(.map-context-badge),
body.marketplace-experience #map-wrapper .map-context b,
body.marketplace-experience #map-wrapper .map-context span:not(.map-context-badge) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Show the actual duration tariff inside a card. The main price is always
   the 1–3 day rate when dates are not selected; longer-term rates are listed
   explicitly instead of being disguised as a misleading “from” price. */
.card-price-tiers {
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
}
.card-price-tiers > small {
    display: block;
    margin-bottom: 5px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
}
.card-price-tiers > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
}
.card-price-tiers span {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    gap: 5px;
    color: var(--text-muted);
    font-size: 10px;
}
.card-price-tiers b {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.card-price-tiers strong {
    flex: 0 0 auto;
    color: var(--text-main);
    font-size: 10px;
    white-space: nowrap;
}
.card-price-tiers em {
    color: var(--text-muted);
    font-size: 9px;
    font-style: normal;
    font-weight: 600;
}
.card-price-guidance {
    display: block;
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 10px;
    line-height: 1.35;
}

/* Keep the homepage flow visually grouped: search and result controls form
   one decision area; explanations and partner acquisition follow the offers. */
body.catalog-reference-upgrade .marketplace-proof,
body.marketplace-experience .marketplace-proof {
    margin-top: 16px !important;
    margin-bottom: 12px !important;
}
body.catalog-reference-upgrade .affiliate-spotlight,
body.marketplace-experience .affiliate-spotlight {
    margin-top: 10px !important;
    margin-bottom: 14px !important;
}

@media (max-width: 760px) {
    .catalog-sort-control {
        flex: 1 0 100%;
        justify-content: space-between;
        min-height: 40px;
        padding-inline: 9px;
    }
    .catalog-sort-control .catalog-sort {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 245px;
        text-align: right;
    }
    body.catalog-reference-upgrade .p0-collections,
    body.marketplace-experience .p0-collections {
        display: block !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body.catalog-reference-upgrade .p0-collections__head,
    body.marketplace-experience .p0-collections__head {
        display: flex !important;
        align-items: center;
        margin-bottom: 4px !important;
    }
    body.catalog-reference-upgrade .p0-collections__head > div small,
    body.catalog-reference-upgrade .p0-collections__head > small,
    body.marketplace-experience .p0-collections__head > div small,
    body.marketplace-experience .p0-collections__head > small {
        display: none !important;
    }
    body.catalog-reference-upgrade .p0-collections__list,
    body.marketplace-experience .p0-collections__list {
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
    }
    body.catalog-reference-upgrade .p0-collections__list::-webkit-scrollbar,
    body.marketplace-experience .p0-collections__list::-webkit-scrollbar {
        display: none;
    }
    body.catalog-reference-upgrade #map-wrapper .map-context,
    body.marketplace-experience #map-wrapper .map-context {
        left: 54px !important;
        right: 9px !important;
        max-width: calc(100% - 63px) !important;
    }
    .card-price-tiers > div {
        grid-template-columns: 1fr;
    }
}

/* The search summary is the catalogue toolbar, not map metadata. Keep it
   above both layouts so the user's location and the main filter action are
   visible before the map or first card. */
body.catalog-reference-upgrade #p0-search-context,
body.marketplace-experience #p0-search-context {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px !important;
    width: 100%;
    max-width: 1180px;
    min-height: 0 !important;
    margin: 6px auto 10px !important;
    padding: 9px 12px !important;
    box-sizing: border-box;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    background: var(--surface-secondary) !important;
}
body.catalog-reference-upgrade #p0-search-context > :first-child,
body.marketplace-experience #p0-search-context > :first-child {
    flex: 1 1 auto;
}
body.catalog-reference-upgrade .catalog-view-controls,
body.marketplace-experience .catalog-view-controls {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}
body.catalog-reference-upgrade .catalog-view-controls button,
body.marketplace-experience .catalog-view-controls button {
    min-height: 38px;
    padding: 7px 11px;
    border-radius: 10px;
    white-space: nowrap;
}
body.catalog-reference-upgrade .catalog-view-controls .catalog-all-filters,
body.marketplace-experience .catalog-view-controls .catalog-all-filters {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(201, 22, 29, .18);
}
body.catalog-reference-upgrade .catalog-view-controls .catalog-all-filters:hover,
body.catalog-reference-upgrade .catalog-view-controls .catalog-all-filters:focus-visible,
body.marketplace-experience .catalog-view-controls .catalog-all-filters:hover,
body.marketplace-experience .catalog-view-controls .catalog-all-filters:focus-visible {
    background: var(--primary-dark, #a9161d);
    color: #fff;
}
@media (min-width: 1000px) {
    /* The toolbar now owns the primary entry point; keep the rail focused on
       active chips and quick conditions instead of a second hidden-looking CTA. */
    body.catalog-reference-upgrade #catalog-filter-rail .catalog-filter-rail__all,
    body.marketplace-experience #catalog-filter-rail .catalog-filter-rail__all {
        display: none !important;
    }
}

/* Make every advanced-filter option an obvious, comfortable touch target and
   keep the checked state visible in both light and dark themes. */
body.catalog-reference-upgrade #filtersModal .filters-option,
body.marketplace-experience #filtersModal .filters-option {
    min-height: 48px;
    box-sizing: border-box;
    cursor: pointer;
    user-select: none;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}
body.catalog-reference-upgrade #filtersModal .filters-option:has(input:checked),
body.marketplace-experience #filtersModal .filters-option:has(input:checked) {
    background: color-mix(in srgb, var(--primary) 10%, var(--bg-input)) !important;
    outline: 1px solid color-mix(in srgb, var(--primary) 40%, transparent);
}
body.catalog-reference-upgrade #filtersModal .filters-option input[type="checkbox"],
body.marketplace-experience #filtersModal .filters-option input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 0;
    accent-color: var(--primary);
    cursor: pointer;
}
body.catalog-reference-upgrade #filtersModal .filters-option input:checked + span,
body.marketplace-experience #filtersModal .filters-option input:checked + span {
    color: var(--text-main);
    font-weight: 800;
}

/* Keep the factual condition tabs present and readable after every async
   catalogue refresh, including the compact mobile layout. */
body.catalog-reference-upgrade #stories-bar.p0-collections:not([hidden]),
body.marketplace-experience #stories-bar.p0-collections:not([hidden]) {
    display: block !important;
    visibility: visible !important;
    min-height: 0;
}
@media (max-width: 760px) {
    body.catalog-reference-upgrade #p0-search-context,
    body.marketplace-experience #p0-search-context {
        align-items: stretch;
        flex-direction: column;
        gap: 8px !important;
        margin: 5px 0 8px !important;
    }
    body.catalog-reference-upgrade .catalog-view-controls,
    body.marketplace-experience .catalog-view-controls {
        width: 100%;
        margin-left: 0;
    }
    body.catalog-reference-upgrade .catalog-view-controls button,
    body.marketplace-experience .catalog-view-controls button {
        flex: 1 1 0;
        min-width: 0;
        padding-inline: 7px;
        font-size: 11px;
    }
    body.catalog-reference-upgrade .catalog-view-controls .catalog-all-filters,
    body.marketplace-experience .catalog-view-controls .catalog-all-filters {
        flex: 1.25 1 0;
    }
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head,
    body.marketplace-experience #stories-bar.p0-collections .p0-collections__head {
        display: flex !important;
        align-items: center;
        margin-bottom: 5px !important;
    }
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head strong,
    body.marketplace-experience #stories-bar.p0-collections .p0-collections__head strong {
        font-size: 12px !important;
    }
}

/* Final cascade for the condition row: it must never be clipped by the
   compact catalogue rules above, and its off/on instruction must remain
   visible on phones as well as desktop. */
body.catalog-reference-upgrade #stories-bar.p0-collections:not([hidden]),
body.marketplace-experience #stories-bar.p0-collections:not([hidden]) {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head .p0-collections__hint,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__head .p0-collections__hint {
    display: block !important;
}
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item-action,
body.marketplace-experience #stories-bar.p0-collections .p0-collections__item-action {
    display: block !important;
}

/* Keep one obvious advanced-filter entry point on the homepage.  The search
   row used to repeat the same action next to the date fields and again above
   the results, which made the controls look like two competing filters. */
body.catalog-reference-upgrade #search-sticky button[onclick*="openFilters"],
body.marketplace-experience #search-sticky button[onclick*="openFilters"] {
    display: none !important;
}

/* Make the category/sort row self-explanatory: conditions are shortcuts,
   while this row is the catalogue's category and sorting control. */
body.catalog-reference-upgrade #cat-filters .catalog-controls-heading,
body.marketplace-experience #cat-filters .catalog-controls-heading {
    display: grid;
    flex: 0 0 auto;
    align-content: center;
    gap: 1px;
    min-width: 132px;
    min-height: 34px;
    padding: 4px 9px;
    box-sizing: border-box;
    border-left: 3px solid var(--primary);
    border-radius: 5px;
    background: var(--surface-secondary);
}
body.catalog-reference-upgrade #cat-filters .catalog-controls-heading strong,
body.marketplace-experience #cat-filters .catalog-controls-heading strong {
    color: var(--text-main);
    font-size: 11px;
    line-height: 1.15;
}
body.catalog-reference-upgrade #cat-filters .catalog-controls-heading span,
body.marketplace-experience #cat-filters .catalog-controls-heading span {
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
}

/* On a phone the photo, description and CTA share the same card width. */
@media (max-width: 760px) {
    body.catalog-reference-upgrade #fleet-grid,
    body.marketplace-experience #fleet-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout],
    body.marketplace-experience #fleet-grid .car-card[data-offer-layout] {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-media,
    body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-info,
    body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-checkout,
    body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-media,
    body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-info,
    body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-checkout {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box;
    }
    body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-media,
    body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-media {
        align-self: stretch !important;
        height: auto !important;
    }
    body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-media .card-img-box,
    body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-media .card-img-box {
        width: 100% !important;
        height: clamp(190px, 56vw, 240px) !important;
        min-height: 0 !important;
    }
    body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-media .card-img,
    body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-media .card-img {
        width: 100% !important;
        height: 100% !important;
        box-sizing: border-box;
    }
}


/* Source: /static/css/ux-stage-two.css */
/* Stage 2: make the catalogue and checkout easier to scan and operate. */

.car-card[tabindex="0"]:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--primary) 72%, #ffffff);
    outline-offset: 4px;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--primary) 16%, transparent), var(--shadow-md);
}

.car-card[aria-disabled="true"] {
    cursor: default;
}

.booking-summary-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
    gap: 12px;
    align-items: center;
    margin: -2px 0 16px;
    padding: 11px 14px;
    border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border));
    border-radius: 14px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, var(--bg-card)), var(--bg-card));
}

.booking-summary-strip__item {
    min-width: 0;
}

.booking-summary-strip__item small,
.booking-summary-strip__item b {
    display: block;
}

.booking-summary-strip__item small {
    margin-bottom: 3px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.booking-summary-strip__item b {
    overflow: hidden;
    color: var(--text-main);
    font-size: 15px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.booking-summary-strip__item--total {
    text-align: right;
}

.booking-summary-strip__item--total b {
    color: var(--primary);
    font-size: 18px;
}

.booking-summary-strip__item--total b[data-state="pending"] {
    color: var(--text-muted);
    font-size: 14px;
}

/* Keep the map context label away from Leaflet zoom controls on every catalogue mode. */
body.catalog-reference-upgrade #map-wrapper .leaflet-top.leaflet-left,
body.marketplace-experience #map-wrapper .leaflet-top.leaflet-left {
    z-index: 1001;
}

body.catalog-reference-upgrade #map-wrapper .map-context,
body.marketplace-experience #map-wrapper .map-context {
    z-index: 850 !important;
    pointer-events: none;
}

@media (max-width: 760px) {
    .booking-summary-strip {
        grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
        margin-bottom: 12px;
        padding: 10px 12px;
    }

    .booking-summary-strip__item b {
        font-size: 14px;
    }

    .booking-summary-strip__item--total b {
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .car-card[tabindex="0"]:focus-visible {
        box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent);
    }
}


/* Source: /static/css/ux-stage-three.css */
/* Stage three: make map offers scannable and make supplier trust status visible. */
.car-card__supplier-status {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.car-card__supplier-status.is-verified {
    color: var(--success);
}

.car-card__supplier-status > span:first-child {
    display: grid;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 50%;
    background: var(--surface-secondary);
    color: var(--text-muted);
    font-size: 11px;
}

.car-card__supplier-status.is-verified > span:first-child {
    background: color-mix(in srgb, var(--success) 12%, transparent);
    color: var(--success);
}

#map-wrapper .map-preview-card {
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 1002;
    display: block;
    width: min(370px, calc(100% - 32px));
    max-height: calc(100% - 32px);
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--bg-card);
    box-shadow: var(--shadow-raised);
}

#map-wrapper .map-preview-card[hidden] {
    display: none;
}

.map-preview-card__close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(23, 32, 42, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: var(--text-main);
    font: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.map-preview-card__close:hover {
    background: var(--bg-card);
}

.map-preview-card__image {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: contain;
    border-radius: 18px 18px 0 0;
    background: var(--surface-secondary);
}

.map-preview-card__body {
    display: grid;
    gap: 8px;
    padding: 14px 16px 16px;
}

.map-preview-card__eyebrow {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.map-preview-card h3 {
    margin: 0;
    color: var(--text-main);
    font-size: 21px;
    line-height: 1.2;
}

.map-preview-card__price {
    color: var(--primary);
    font-size: 20px;
    font-weight: 850;
}

.map-preview-card__price small {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
}

.map-preview-card__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.map-preview-card__facts span {
    max-width: 100%;
    padding: 6px 8px;
    overflow-wrap: anywhere;
    border-radius: 8px;
    background: var(--surface-secondary);
    color: var(--text-main);
    font-size: 12px;
    font-weight: 650;
}

.map-preview-card__trust {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
}

.map-preview-card__trust.is-verified {
    color: var(--success);
}

.map-preview-card__note {
    color: var(--text-muted);
    font-size: 11px;
    line-height: 1.4;
}

.map-preview-card__actions {
    display: flex;
    margin-top: 2px;
}

.map-preview-card__open {
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: 0;
    border-radius: 10px;
    background: var(--primary);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.map-preview-card__open:hover {
    background: var(--primary-hover);
}

@media (max-width: 760px) {
    #map-wrapper .map-preview-card {
        right: auto;
        bottom: 12px;
        left: 12px;
        width: min(350px, calc(100% - 24px));
        max-height: min(45vh, 330px);
        border-radius: 14px;
    }

    .map-preview-card__image {
        height: 96px;
    }

    .map-preview-card h3 {
        font-size: 17px;
    }

    .map-preview-card__body {
        gap: 5px;
        padding: 9px 11px 11px;
    }

    .map-preview-card__eyebrow {
        font-size: 10px;
    }

    .map-preview-card__price {
        font-size: 17px;
    }

    .map-preview-card__facts {
        max-height: 44px;
        overflow: hidden;
        gap: 4px;
    }

    .map-preview-card__facts span {
        padding: 4px 6px;
        font-size: 11px;
    }

    .map-preview-card__trust {
        font-size: 10px;
    }

    .map-preview-card__note {
        display: none;
    }

    .map-preview-card__open {
        min-height: 38px;
        padding: 8px 10px;
        font-size: 12px;
    }

    .map-preview-card__close {
        top: 7px;
        right: 7px;
        width: 30px;
        height: 30px;
        font-size: 20px;
    }
}

/* Keep the condition shortcuts readable and make their horizontal movement
   explicit. Earlier compact layers hid the hint or reduced the row to a
   single clipped line on phones. */
body.marketplace-experience #stories-bar.p0-collections,
body.catalog-reference-upgrade #stories-bar.p0-collections {
    position: relative;
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 8px 0 4px !important;
}

body.marketplace-experience #stories-bar.p0-collections .p0-collections__head,
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 6px !important;
}

body.marketplace-experience #stories-bar.p0-collections .p0-collections__head .p0-collections__hint,
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__head .p0-collections__hint {
    display: block !important;
    margin-top: 3px;
    color: var(--text-muted) !important;
    font-size: 11px !important;
    font-weight: 700;
    line-height: 1.3;
    white-space: normal;
}

body.marketplace-experience #stories-bar.p0-collections .p0-collections__list,
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 30px 9px 2px !important;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 2px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

body.marketplace-experience #stories-bar.p0-collections .p0-collections__list:focus-visible,
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__list:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    border-radius: 10px;
}

body.marketplace-experience #stories-bar.p0-collections .p0-collections__item,
body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item {
    flex: 0 0 190px !important;
    min-height: 66px !important;
    scroll-snap-align: start;
}

body.marketplace-experience #stories-bar.p0-collections::after,
body.catalog-reference-upgrade #stories-bar.p0-collections::after {
    content: '›';
    position: absolute;
    right: 0;
    bottom: 7px;
    display: grid;
    width: 25px;
    height: 42px;
    place-items: center;
    border-radius: 9px 0 0 9px;
    background: linear-gradient(90deg, transparent, var(--bg-main) 42%);
    color: var(--primary);
    font-size: 24px;
    font-weight: 800;
    pointer-events: none;
}

@media (max-width: 760px) {
    body.marketplace-experience #stories-bar.p0-collections .p0-collections__item,
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item {
        flex-basis: min(184px, 70vw) !important;
    }
}

/* Keep the catalogue controls in the same decision column as the offers.
   The old desktop rail is hidden when the side map is active, which made the
   quick filters disappear even though their buttons were still generated. */
body.marketplace-experience #catalog-map-layout > #p0-quick-filters,
body.catalog-reference-upgrade #catalog-map-layout > #p0-quick-filters {
    position: relative;
    display: flex !important;
    grid-column: 1;
    grid-row: auto;
    align-items: stretch;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0 0 8px !important;
    padding: 0 0 5px !important;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

body.marketplace-experience #catalog-map-layout > #p0-quick-filters button,
body.catalog-reference-upgrade #catalog-map-layout > #p0-quick-filters button {
    flex: 0 0 166px;
    min-height: 56px;
}

body.marketplace-experience #catalog-map-layout > #p0-quick-filters .p0-clear,
body.catalog-reference-upgrade #catalog-map-layout > #p0-quick-filters .p0-clear {
    flex-basis: 116px;
    margin-left: 0;
}

body.marketplace-experience .catalog-brand-shortcuts__list .brand-shortcut__logo,
body.catalog-reference-upgrade .catalog-brand-shortcuts__list .brand-shortcut__logo {
    display: inline-grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    overflow: hidden;
    border-radius: 7px;
    background: var(--surface-secondary);
    color: var(--text-main);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1;
}

body.marketplace-experience .catalog-brand-shortcuts__list .brand-shortcut__logo img,
body.catalog-reference-upgrade .catalog-brand-shortcuts__list .brand-shortcut__logo img {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

body.marketplace-experience .catalog-brand-shortcuts__list .brand-shortcut__logo--fallback,
body.catalog-reference-upgrade .catalog-brand-shortcuts__list .brand-shortcut__logo--fallback {
    background: var(--text-main);
    color: var(--bg-card);
}

body.marketplace-experience .catalog-brand-shortcuts__list .brand-shortcut__logo--all,
body.catalog-reference-upgrade .catalog-brand-shortcuts__list .brand-shortcut__logo--all {
    background: var(--primary-light);
    color: var(--primary);
    font-size: 14px;
}

body.marketplace-experience .catalog-brand-shortcuts__list .brand-shortcut__logo--fallback[hidden],
body.catalog-reference-upgrade .catalog-brand-shortcuts__list .brand-shortcut__logo--fallback[hidden] {
    display: none !important;
}

/* The selected rental tier remains visible even when dates are filled in. */
.card-price-tiers span.is-current {
    padding: 3px 5px;
    border-radius: 6px;
    background: var(--primary-light);
    color: var(--primary);
}

.card-price-tiers span.is-current strong,
.card-price-tiers span.is-current em {
    color: inherit;
}

@media (min-width: 1100px) {
    body.marketplace-experience #catalog-map-layout.has-side-map > #p0-quick-filters,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map > #p0-quick-filters {
        grid-column: 1;
        grid-row: 1;
    }
}

/* Final cascade guard for the refined card.  This block deliberately sits at
   EOF so legacy catalogue layers cannot restore the narrow thumbnail rail. */
body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue,
body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue {
    display: grid !important;
    grid-template-columns: minmax(300px, 46%) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
}

body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media,
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: 4 / 3 !important;
}

body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box,
body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
}

body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-content,
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 !important;
    min-height: 0 !important;
}

body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-checkout,
body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-checkout {
    grid-column: auto !important;
    grid-row: auto !important;
    margin-top: auto !important;
    border-top: 1px solid var(--border) !important;
    border-left: 0 !important;
}

@media (max-width: 760px) {
    body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
    }

    body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-content,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-content {
        width: 100% !important;
    }
}

/* Stage four: the catalogue card is a real two-column component.  Earlier
   layers still contain historical three-column and flex rules; this scoped
   block is intentionally last so the public card has one predictable layout
   for partner offers and CarMisto-operated cars alike. */
body.marketplace-experience #fleet-grid .car-card.car-card--catalogue,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue {
    display: grid !important;
    grid-template-columns: minmax(300px, 46%) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: stretch !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media {
    position: relative;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    background: var(--surface-secondary) !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media .card-img,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    object-fit: contain !important;
    object-position: center !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-content,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-content {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: var(--bg-card) !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-info,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 20px 22px 8px !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-checkout,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-checkout {
    display: flex !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin-top: auto !important;
    padding: 12px 22px 20px !important;
    border-top: 1px solid var(--border) !important;
    border-left: 0 !important;
    background: var(--bg-card) !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .car-card__badge,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .car-card__badge {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    max-width: calc(100% - 24px);
    margin: 0 !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(255,255,255,.64) !important;
    border-radius: 8px !important;
    background: rgba(17, 24, 39, .82) !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    text-align: right;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .car-card__badge::before,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .car-card__badge::before {
    content: none !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .card-price-tiers,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .card-price-tiers {
    margin-top: 7px !important;
}

/* The map preview is a compact listing, not a second full offer page.  It
   keeps the image, selected-term price and the action readable at once. */
#map-wrapper .map-preview-card {
    width: min(430px, calc(100% - 32px)) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

#map-wrapper .map-preview-card__image {
    height: 218px !important;
    padding: 12px !important;
    box-sizing: border-box;
    object-fit: contain !important;
}

#map-wrapper .map-preview-card__body {
    gap: 9px !important;
    padding: 16px 18px 18px !important;
}

#map-wrapper .map-preview-card__price em {
    display: block;
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}

#map-wrapper .map-preview-card__facts span {
    flex: 1 1 auto;
    min-width: 0;
}

/* One discovery toolbar owns the shortcut controls.  The legacy collections
   rail stays hidden to prevent duplicate conditions above the catalogue. */
body.marketplace-experience #stories-bar[hidden],
body.catalog-reference-upgrade #stories-bar[hidden] {
    display: none !important;
}

@media (max-width: 1099px) and (min-width: 761px) {
    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue {
        grid-template-columns: minmax(250px, 42%) minmax(0, 1fr) !important;
    }
}

@media (max-width: 760px) {
    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media {
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-content,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-content {
        display: flex !important;
        width: 100% !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-info,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-info {
        padding: 15px 16px 7px !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-checkout,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-checkout {
        padding: 11px 16px 16px !important;
    }

    #map-wrapper .map-preview-card {
        width: min(370px, calc(100% - 24px)) !important;
        max-height: min(54vh, 390px) !important;
        border-radius: 16px !important;
    }

    #map-wrapper .map-preview-card__image {
        height: 136px !important;
        padding: 8px !important;
    }

    #map-wrapper .map-preview-card__body {
        gap: 6px !important;
        padding: 11px 12px 13px !important;
    }
}

/* Stage 4: one predictable discovery toolbar above the catalogue.  The old
   condition cards remain in the DOM for compatibility, but are no longer
   rendered as a second copy of the same filters. */
body.marketplace-experience #stories-bar.p0-collections,
body.catalog-reference-upgrade #stories-bar.p0-collections {
    display: none !important;
}

/* Older hardening rules used :not([hidden]) with a more specific selector.
   Match that specificity as well so the legacy condition rail cannot return
   after a catalogue rerender. */
body.marketplace-experience #stories-bar.p0-collections:not([hidden]),
body.catalog-reference-upgrade #stories-bar.p0-collections:not([hidden]) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.marketplace-experience .marketplace-search-extra-wrap > summary,
body.catalog-reference-upgrade .marketplace-search-extra-wrap > summary {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 9px;
}

body.marketplace-experience .marketplace-search-extra__hint,
body.catalog-reference-upgrade .marketplace-search-extra__hint {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 500;
}

body.marketplace-experience .marketplace-search-extra__intro,
body.catalog-reference-upgrade .marketplace-search-extra__intro {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.4;
}

body.marketplace-experience #catalog-discovery-toolbar,
body.catalog-reference-upgrade #catalog-discovery-toolbar {
    display: grid;
    gap: 8px;
    max-width: 1200px;
    margin: 0 auto 12px;
    padding: 10px 12px 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-card);
    box-shadow: 0 5px 18px rgba(23, 32, 42, .045);
}

body.marketplace-experience .catalog-discovery-toolbar__head,
body.catalog-reference-upgrade .catalog-discovery-toolbar__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 0 2px 3px;
}

body.marketplace-experience .catalog-discovery-toolbar__head strong,
body.catalog-reference-upgrade .catalog-discovery-toolbar__head strong {
    color: var(--text-main);
    font-size: 14px;
    letter-spacing: -.01em;
}

body.marketplace-experience .catalog-discovery-toolbar__head span,
body.catalog-reference-upgrade .catalog-discovery-toolbar__head span {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
}

body.marketplace-experience .catalog-discovery-row,
body.catalog-reference-upgrade .catalog-discovery-row {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-width: 0;
    padding-top: 8px;
    border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

body.marketplace-experience .catalog-discovery-row__label,
body.catalog-reference-upgrade .catalog-discovery-row__label {
    padding: 9px 4px 0 2px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

body.marketplace-experience .catalog-discovery-row__body,
body.catalog-reference-upgrade .catalog-discovery-row__body {
    display: flex;
    align-items: center;
    min-width: 0;
}

body.marketplace-experience #catalog-discovery-toolbar #catalog-brand-shortcuts,
body.catalog-reference-upgrade #catalog-discovery-toolbar #catalog-brand-shortcuts,
body.marketplace-experience #catalog-discovery-toolbar #catalog-city-shortcuts,
body.catalog-reference-upgrade #catalog-discovery-toolbar #catalog-city-shortcuts {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
}

body.marketplace-experience #catalog-discovery-toolbar #catalog-brand-shortcuts > strong,
body.catalog-reference-upgrade #catalog-discovery-toolbar #catalog-brand-shortcuts > strong,
body.marketplace-experience #catalog-discovery-toolbar #catalog-city-shortcuts > strong,
body.catalog-reference-upgrade #catalog-discovery-toolbar #catalog-city-shortcuts > strong {
    display: none;
}

body.marketplace-experience .catalog-brand-shortcuts__list,
body.catalog-reference-upgrade .catalog-brand-shortcuts__list,
body.marketplace-experience .catalog-city-shortcuts__list,
body.catalog-reference-upgrade .catalog-city-shortcuts__list {
    display: flex;
    width: 100%;
    min-width: 0;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 1px 1px 5px;
    scrollbar-width: thin;
}

body.marketplace-experience .catalog-brand-shortcuts__list button,
body.catalog-reference-upgrade .catalog-brand-shortcuts__list button,
body.marketplace-experience .catalog-city-shortcuts__list button,
body.catalog-reference-upgrade .catalog-city-shortcuts__list button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--bg-card);
    color: var(--text-main);
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
    cursor: pointer;
}

body.marketplace-experience .catalog-brand-shortcuts__list button[aria-pressed="true"],
body.catalog-reference-upgrade .catalog-brand-shortcuts__list button[aria-pressed="true"],
body.marketplace-experience .catalog-city-shortcuts__list button[aria-pressed="true"],
body.catalog-reference-upgrade .catalog-city-shortcuts__list button[aria-pressed="true"] {
    border-color: var(--primary);
    background: var(--primary-light);
    color: var(--primary);
}

body.marketplace-experience .catalog-city-shortcuts__list button,
body.catalog-reference-upgrade .catalog-city-shortcuts__list button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body.marketplace-experience .catalog-city-shortcuts__list button > span:first-child,
body.catalog-reference-upgrade .catalog-city-shortcuts__list button > span:first-child {
    color: var(--primary);
    font-size: 14px;
}

body.marketplace-experience .catalog-brand-shortcuts__list small,
body.catalog-reference-upgrade .catalog-brand-shortcuts__list small,
body.marketplace-experience .catalog-city-shortcuts__list small,
body.catalog-reference-upgrade .catalog-city-shortcuts__list small {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 700;
}

body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters,
body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters {
    display: flex !important;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 1px 1px 5px !important;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button,
body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--bg-card);
    color: var(--text-main);
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button.active,
body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button.active {
    border-color: var(--primary);
    background: var(--primary-light);
    color: var(--primary);
}

body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-clear,
body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-clear {
    margin-left: auto;
    border-style: dashed;
    color: var(--text-muted);
}

body.marketplace-experience #catalog-discovery-toolbar #cat-filters,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 !important;
    padding: 0 !important;
}

body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-controls-heading,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-controls-heading {
    display: none;
}

body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 2px;
}

body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control__label,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control__label {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn,
body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort {
    min-height: 38px !important;
    padding: 6px 10px !important;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--bg-card);
    color: var(--text-main);
    font-size: 12px !important;
    font-weight: 750;
}

body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn.active,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn.active {
    border-color: var(--primary);
    background: var(--primary-light);
    color: var(--primary);
}

/* The previous side-map rule left a narrow thumbnail column.  Give the
   source photo a real visual role while keeping the whole image visible. */
@media (min-width: 1100px) {
    body.marketplace-experience #catalog-map-layout.has-side-map .car-card[data-offer-layout],
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .car-card[data-offer-layout] {
        grid-template-columns: minmax(260px, 40%) minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
    }

    body.marketplace-experience #catalog-map-layout.has-side-map .offer-media,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media {
        align-self: start !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 3;
    }

    body.marketplace-experience #catalog-map-layout.has-side-map .offer-media .card-img-box,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media .card-img-box {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto;
    }

    body.marketplace-experience #catalog-map-layout.has-side-map .offer-media .card-img,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media .card-img {
        width: 100% !important;
        height: 100% !important;
        padding: 10px !important;
        object-fit: contain !important;
    }
}

@media (max-width: 760px) {
    body.marketplace-experience #catalog-discovery-toolbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar {
        margin: 0 0 10px;
        padding: 9px 10px 10px;
        border-radius: 12px;
    }

    body.marketplace-experience .catalog-discovery-row,
    body.catalog-reference-upgrade .catalog-discovery-row {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 7px;
    }

    body.marketplace-experience .catalog-discovery-row__label,
    body.catalog-reference-upgrade .catalog-discovery-row__label {
        padding-top: 9px;
        font-size: 10px;
    }

    body.marketplace-experience .catalog-discovery-toolbar__head,
    body.catalog-reference-upgrade .catalog-discovery-toolbar__head {
        display: block;
    }

    body.marketplace-experience .catalog-discovery-toolbar__head span,
    body.catalog-reference-upgrade .catalog-discovery-toolbar__head span {
        display: block;
        margin-top: 2px;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
        grid-column: 1 / -1;
        width: 100%;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort {
        flex: 1;
        min-width: 0;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn {
        width: 100%;
    }
}

@media (max-width: 760px) {
    body.marketplace-experience #catalog-map-layout > #p0-quick-filters,
    body.catalog-reference-upgrade #catalog-map-layout > #p0-quick-filters {
        margin-bottom: 6px !important;
        padding-inline: 0 !important;
    }

    body.marketplace-experience #catalog-map-layout > #p0-quick-filters button,
    body.catalog-reference-upgrade #catalog-map-layout > #p0-quick-filters button {
        flex-basis: min(154px, 68vw);
    }
}

/* Give the offer metadata a plain-language hierarchy instead of a dense
   sentence such as “Class or similar · Bags: 2”. */
body.marketplace-experience .marketplace-offer-kind,
body.catalog-reference-upgrade .marketplace-offer-kind {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 6px;
    margin: 8px 0 10px !important;
    color: var(--text-main);
}

body.marketplace-experience .marketplace-offer-kind__item,
body.catalog-reference-upgrade .marketplace-offer-kind__item {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-secondary);
    line-height: 1.25;
}

body.marketplace-experience .marketplace-offer-kind__item--wide,
body.catalog-reference-upgrade .marketplace-offer-kind__item--wide {
    flex: 1 1 100%;
}

body.marketplace-experience .marketplace-offer-kind__item b,
body.catalog-reference-upgrade .marketplace-offer-kind__item b {
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .01em;
}

body.marketplace-experience .marketplace-offer-kind__item > span,
body.catalog-reference-upgrade .marketplace-offer-kind__item > span {
    min-width: 0;
    color: var(--text-main);
    font-size: 12px;
    font-weight: 700;
}

/* Match the image frame to the landscape source instead of stretching a
   narrow column to the height of the entire marketplace offer. */
@media (min-width: 1100px) {
    body.marketplace-experience #catalog-map-layout.has-side-map .offer-media,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media {
        align-self: start !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.marketplace-experience #catalog-map-layout.has-side-map .offer-media .card-img-box,
    body.catalog-reference-upgrade #catalog-map-layout.has-side-map .offer-media .card-img-box {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 3;
    }
}


/* Source: /static/css/ux-stage-four.css */
/* CarMisto catalogue stage four: one source of truth for the offer card.
   This stylesheet is loaded after the historical catalogue layers. */
body.marketplace-experience #fleet-grid .car-card.car-card--catalogue,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue {
    display: grid !important;
    grid-template-columns: minmax(300px, 46%) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: stretch !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media {
    position: relative;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    background: var(--surface-secondary) !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media .card-img,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    object-fit: contain !important;
    object-position: center !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-content,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-content {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: var(--bg-card) !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-info,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 20px 22px 8px !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-checkout,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-checkout {
    display: flex !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin-top: auto !important;
    padding: 12px 22px 20px !important;
    border-top: 1px solid var(--border) !important;
    border-left: 0 !important;
    background: var(--bg-card) !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .car-card__badge,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .car-card__badge {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    max-width: calc(100% - 24px);
    margin: 0 !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(255,255,255,.64) !important;
    border-radius: 8px !important;
    background: rgba(17, 24, 39, .82) !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    text-align: right;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .car-card__badge::before,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .car-card__badge::before {
    content: none !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .card-price-tiers,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .card-price-tiers {
    margin-top: 7px !important;
}

/* A marker opens a useful, compact listing rather than an unstyled tooltip. */
#map-wrapper .map-preview-card {
    width: min(430px, calc(100% - 32px)) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

#map-wrapper .map-preview-card__image {
    height: 218px !important;
    padding: 12px !important;
    box-sizing: border-box;
    object-fit: contain !important;
}

#map-wrapper .map-preview-card__body {
    gap: 9px !important;
    padding: 16px 18px 18px !important;
}

#map-wrapper .map-preview-card__price em {
    display: block;
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}

#map-wrapper .map-preview-card__facts span {
    flex: 1 1 auto;
    min-width: 0;
}

/* The discovery toolbar is the single home for make, city, condition, class
   and sorting shortcuts. */
body.marketplace-experience #stories-bar[hidden],
body.catalog-reference-upgrade #stories-bar[hidden] {
    display: none !important;
}

@media (max-width: 1099px) and (min-width: 761px) {
    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue {
        grid-template-columns: minmax(250px, 42%) minmax(0, 1fr) !important;
    }
}

@media (max-width: 760px) {
    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media {
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-content,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-content {
        width: 100% !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-info,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-info {
        padding: 15px 16px 7px !important;
    }

    body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-checkout,
    body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-checkout {
        padding: 11px 16px 16px !important;
    }

    #map-wrapper .map-preview-card {
        width: min(370px, calc(100% - 24px)) !important;
        max-height: min(54vh, 390px) !important;
        border-radius: 16px !important;
    }

    #map-wrapper .map-preview-card__image {
        height: 136px !important;
        padding: 8px !important;
    }

    #map-wrapper .map-preview-card__body {
        gap: 6px !important;
        padding: 11px 12px 13px !important;
    }
}

/* Desktop density: keep every filter available in a single horizontal rail
   instead of spending a full screen on four tall rows. */
@media (min-width: 761px) {
    body.marketplace-experience #catalog-discovery-toolbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar {
        gap: 4px !important;
        padding: 10px 12px 11px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding-top: 5px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__label {
        padding-top: 6px !important;
        line-height: 1.1 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list {
        height: 36px !important;
        max-height: 36px !important;
        align-items: center !important;
        padding: 1px 1px 2px !important;
        overflow-y: hidden !important;
        box-sizing: border-box !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list button {
        height: 32px !important;
        min-height: 32px !important;
        padding: 4px 8px !important;
        line-height: 1.1 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo {
        width: 20px !important;
        height: 20px !important;
        flex-basis: 20px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters {
        height: 36px !important;
        max-height: 36px !important;
        align-items: center !important;
        padding: 1px 1px 2px !important;
        overflow-y: hidden !important;
        box-sizing: border-box !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button {
        display: inline-flex !important;
        align-items: center !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 4px 8px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label {
        white-space: nowrap !important;
        overflow: visible !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters {
        height: 36px !important;
        min-height: 36px !important;
        overflow: hidden !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort {
        height: 32px !important;
        min-height: 32px !important;
        padding: 4px 8px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }
}


/* Source: /static/css/booking-ux.css */
/* Checkout pricing and contact fields: keep the decision and the form easy to scan. */
.booking-term-pricing {
    display: grid;
    gap: 11px;
    margin: 0 0 14px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--border));
    border-radius: 16px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 6%, var(--bg-card)), var(--bg-card));
}

.booking-term-pricing[hidden] { display: none; }

.booking-term-pricing__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.booking-term-pricing__header h4 {
    margin: 0;
    color: var(--text-main);
    font-size: 14px;
    line-height: 1.25;
}

.booking-term-pricing__header p {
    max-width: 430px;
    margin: 4px 0 0;
    color: var(--text-muted);
    font-size: 11px;
    line-height: 1.35;
}

.booking-term-pricing__badge {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    color: #13643c;
    background: #e4f7eb;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.booking-term-pricing__badge[hidden] { display: none !important; }

.booking-term-pricing__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.booking-term-pricing__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--bg-card);
}

.booking-term-pricing__item.is-current {
    border-color: var(--primary);
    background: color-mix(in srgb, var(--primary) 8%, var(--bg-card));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 12%, transparent);
}

.booking-term-pricing__item-label,
.booking-term-pricing__item-price { min-width: 0; }

.booking-term-pricing__item-label b,
.booking-term-pricing__item-label small,
.booking-term-pricing__item-price strong,
.booking-term-pricing__item-price em {
    display: block;
}

.booking-term-pricing__item-label b {
    overflow-wrap: anywhere;
    color: var(--text-main);
    font-size: 12px;
}

.booking-term-pricing__item-label small {
    margin-top: 2px;
    color: var(--success, #167245);
    font-size: 10px;
    font-weight: 800;
}

.booking-term-pricing__item-price { text-align: right; }

.booking-term-pricing__item-price strong {
    color: var(--text-main);
    font-size: 13px;
    white-space: nowrap;
}

.booking-term-pricing__item-price em {
    color: var(--text-muted);
    font-size: 10px;
    font-style: normal;
    white-space: nowrap;
}

.booking-term-pricing__saving {
    margin: 0;
    padding-top: 9px;
    border-top: 1px dashed var(--border);
    color: var(--success, #167245);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.booking-term-pricing__saving[hidden] { display: none; }

.booking-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
    margin-bottom: 4px;
}

.booking-contact-grid--driver { margin-top: 10px; }

.booking-contact-field {
    display: grid !important;
    grid-template-rows: auto minmax(58px, auto);
    align-items: stretch !important;
    min-width: 0;
    gap: 6px;
    margin-bottom: 0 !important;
}

.booking-contact-field .floating-label,
.booking-contact-field .booking-phone-label {
    position: static !important;
    order: -1;
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    transform: none !important;
    white-space: nowrap;
}

.booking-contact-field .floating-input,
.booking-contact-field .booking-phone-input {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    height: 58px;
    box-sizing: border-box;
    padding: 14px !important;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-card);
    color: var(--text-main);
    font: inherit;
    font-size: 16px;
    line-height: 1.2;
}

.booking-contact-field .floating-input:focus,
.booking-contact-field .booking-phone-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);
    outline: none;
}

@media (max-width: 600px) {
    .booking-term-pricing { padding: 12px; }
    .booking-term-pricing__header { display: block; }
    .booking-term-pricing__badge:not([hidden]) { display: inline-flex; margin-top: 8px; }
    .booking-term-pricing__list { grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); }
    .booking-term-pricing__item { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 9px; }
    .booking-term-pricing__item-label b { font-size: 13px; }
    .booking-term-pricing__item-label small { font-size: 11px; line-height: 1.35; }
    .booking-term-pricing__item-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; text-align: left; }
    .booking-term-pricing__item-price strong { font-size: 15px; }
    .booking-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .booking-term-pricing__item { transition: none; }
}


/* Source: /static/css/ux-release-fixes.css */
/* Final release layer for the audited public catalogue.
   Keep it scoped to the current marketplace shell so legacy cabinets and
   booking APIs keep their existing contracts. */

body.marketplace-experience .catalog-availability-summary,
body.catalog-reference-upgrade .catalog-availability-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    max-width: 1180px;
    margin: -4px auto 10px;
    padding: 8px 12px;
    border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--primary) 5%, var(--bg-card));
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.35;
}

#map-wrapper .map-context {
    left: 58px !important;
    right: 12px !important;
    max-width: calc(100% - 70px) !important;
    box-sizing: border-box;
}

body.marketplace-experience .catalog-availability-summary[hidden],
body.catalog-reference-upgrade .catalog-availability-summary[hidden] {
    display: none !important;
}

.catalog-availability-toggle {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid var(--primary);
    border-radius: 8px;
    background: var(--bg-card);
    color: var(--primary);
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.catalog-availability-toggle:hover,
.catalog-availability-toggle:focus-visible {
    background: var(--primary);
    color: #fff;
}

/* The cluster represents one real pick-up point with several offers. It is a
   single, keyboard-accessible control instead of nine price labels painted on
   top of one another. */
.leaflet-marker-icon.map-price-marker-icon {
    pointer-events: none;
}

.leaflet-marker-icon.map-price-marker-icon .map-price-marker {
    pointer-events: auto;
}

.leaflet-marker-icon .map-price-marker {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 66px;
    min-height: 34px;
    padding: 5px 10px;
    border: 2px solid var(--primary);
    border-radius: 18px;
    background: var(--bg-card);
    color: var(--text-main);
    box-shadow: 0 4px 12px rgba(23, 32, 42, .24);
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.05;
    white-space: nowrap;
    translate: var(--map-marker-offset-x, 0) var(--map-marker-offset-y, 0);
    will-change: translate;
    cursor: pointer;
}

.leaflet-marker-icon .map-price-marker:hover,
.leaflet-marker-icon .map-price-marker:focus-visible {
    z-index: 5;
    background: var(--primary);
    color: #fff;
    outline: 3px solid color-mix(in srgb, var(--primary) 24%, transparent);
    outline-offset: 2px;
}

.leaflet-marker-icon .map-price-marker::after {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--primary);
    border-bottom: 2px solid var(--primary);
    background: var(--bg-card);
    transform: translateX(-50%) rotate(45deg);
}

.leaflet-marker-icon .map-price-marker:hover::after,
.leaflet-marker-icon .map-price-marker:focus-visible::after {
    border-color: var(--primary);
    background: var(--primary);
}

.leaflet-marker-icon .map-price-marker--cluster {
    min-width: 94px;
    flex-direction: column;
    padding: 6px 10px;
    border-radius: 14px;
}

.leaflet-marker-icon .map-price-marker--cluster small {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
}

.leaflet-marker-icon .map-price-marker--cluster:hover small,
.leaflet-marker-icon .map-price-marker--cluster:focus-visible small {
    color: rgba(255,255,255,.86);
}

#map-wrapper .map-preview-card__group-head {
    padding: 16px 18px 8px;
}

#map-wrapper .map-preview-card__group-head h3 {
    margin: 3px 0 2px;
    font-size: 20px;
}

#map-wrapper .map-preview-card__group-head p {
    margin: 0;
    color: var(--text-muted);
    font-size: 12px;
}

#map-wrapper .map-preview-card__group-list {
    display: grid;
    gap: 6px;
    max-height: min(42vh, 330px);
    padding: 6px 12px 14px;
    overflow-y: auto;
}

/* Four offers fit in the compact preview. Let the panel itself own any
   remaining scroll so the last row is never hidden behind a nested scrollbar. */
#map-wrapper .map-preview-card--group-short .map-preview-card__group-list {
    max-height: none;
    overflow-y: visible;
}

#map-wrapper .map-preview-card__group-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 58px;
    padding: 6px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--bg-card);
    color: var(--text-main);
    text-align: left;
    font: inherit;
    cursor: pointer;
}

#map-wrapper .map-preview-card__group-item:hover,
#map-wrapper .map-preview-card__group-item:focus-visible {
    border-color: var(--primary);
    outline: none;
    background: color-mix(in srgb, var(--primary) 5%, var(--bg-card));
}

#map-wrapper .map-preview-card__group-item img {
    width: 52px;
    height: 42px;
    border-radius: 7px;
    background: var(--surface-secondary);
    object-fit: contain;
}

.map-preview-card__group-copy,
.map-preview-card__group-price {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.map-preview-card__group-copy strong,
.map-preview-card__group-copy small,
.map-preview-card__group-price b,
.map-preview-card__group-price small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.map-preview-card__group-copy strong { font-size: 13px; }
.map-preview-card__group-copy small,
.map-preview-card__group-price small { color: var(--text-muted); font-size: 10px; }
.map-preview-card__group-price { text-align: right; }
.map-preview-card__group-price b { color: var(--primary); font-size: 12px; }

.brand-shortcut__logo--mercedes {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    color: currentColor;
}

.brand-shortcut__logo--mercedes svg { width: 22px; height: 22px; }

/* Four horizontal discovery rails keep the mobile catalogue scannable. */
@media (max-width: 760px) {
    body.marketplace-experience #catalog-discovery-toolbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar {
        display: grid !important;
        gap: 5px !important;
        margin: 6px 0 8px !important;
        padding: 8px 9px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-toolbar__head,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-toolbar__head {
        margin-bottom: 0;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row {
        display: grid !important;
        grid-template-columns: max-content minmax(0, 1fr) !important;
        align-items: center;
        min-height: 40px;
        gap: 7px !important;
        padding: 0 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__label {
        max-width: 112px;
        color: var(--text-muted);
        font-size: 10px !important;
        line-height: 1.15 !important;
        white-space: normal;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body {
        min-width: 0;
        overflow: hidden;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts {
        display: block !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts > strong,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts > strong,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts > strong,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts > strong {
        display: none;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        gap: 5px !important;
        padding: 0 1px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list::-webkit-scrollbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list::-webkit-scrollbar,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list::-webkit-scrollbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list::-webkit-scrollbar,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters::-webkit-scrollbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters::-webkit-scrollbar,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters::-webkit-scrollbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters::-webkit-scrollbar { display: none; }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-controls-heading,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-controls-heading {
        display: none !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
        flex: 0 0 auto !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: 5px 8px !important;
        white-space: nowrap !important;
        font-size: 11px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
        display: inline-flex !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0;
        background: transparent;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control__label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control__label { display: none; }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort {
        height: 34px !important;
        min-height: 34px !important;
        max-width: 180px;
    }

    body.marketplace-experience #stories-bar[aria-hidden="true"],
    body.catalog-reference-upgrade #stories-bar[aria-hidden="true"] { display: none !important; }

    body.marketplace-experience .catalog-availability-summary,
    body.catalog-reference-upgrade .catalog-availability-summary {
        align-items: flex-start;
        flex-direction: column;
        margin: 0 0 8px;
        padding: 8px 10px;
    }

    .catalog-availability-toggle { width: 100%; }

    #map-wrapper .map-preview-card__group-head { padding: 12px 13px 6px; }
    #map-wrapper .map-preview-card__group-list { max-height: 35vh; padding-inline: 9px; }
}

/* Factual vehicle details: keep the exact-offer promise visible without
   crowding the price and action hierarchy. */
body.site-shell .car-card__identity {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 4px 0 7px;
    padding: 5px 8px;
    border: 1px solid #b7e4c7;
    border-radius: 999px;
    background: #effaf2;
    color: #167447;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}
body.site-shell .car-card__identity span:first-child { font-size: 13px; }
body.site-shell .car-card__specs { align-items: stretch; }
body.site-shell .car-card__specs span { min-width: 0; line-height: 1.35; }
#map-wrapper .map-preview-card__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#map-wrapper .map-preview-card__facts span { min-width: 0; overflow-wrap: anywhere; }


/* Keep the selected-location preview above the compare utility.  Both are
   useful at the same time, so the preview must not disappear underneath the
   fixed comparison bar. */
body.site-shell:has(#compare-bar.show) #map-wrapper .map-preview-card.is-visible {
    bottom: 112px !important;
    max-height: calc(100% - 128px) !important;
}

/* A scrollable rail needs an affordance. The cue has its own grid column so it
   never paints over the last filter button. */
body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body {
    position: relative;
    min-width: 0;
}

body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__cue,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__cue {
    display: none;
    align-items: center;
    max-width: 92px;
    min-width: 0;
    padding: 0 2px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__cue[hidden],
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__cue[hidden] {
    display: none !important;
}

body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row[data-scroll-overflow="true"],
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row[data-scroll-overflow="true"] {
    grid-template-columns: 104px minmax(0, 1fr) max-content !important;
}

body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row[data-scroll-overflow="true"] .catalog-discovery-row__cue,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row[data-scroll-overflow="true"] .catalog-discovery-row__cue {
    display: inline-flex;
}

/* The old catalogue layer positioned every badge absolutely at the bottom of
   the whole card. Keep factual badges in normal flow, above the terms link. */
body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-info .car-card__badges,
body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-info .car-card__badges {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    min-height: 0 !important;
    margin: 8px 0 !important;
}

body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-info .car-card__badges .car-card__badge,
body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-info .car-card__badges .car-card__badge,
body.marketplace-experience #fleet-grid .car-card[data-offer-layout] .offer-info > .car-card__badge,
body.catalog-reference-upgrade #fleet-grid .car-card[data-offer-layout] .offer-info > .car-card__badge {
    position: static !important;
    display: inline-flex !important;
    align-items: center;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 !important;
    overflow-wrap: anywhere;
    text-align: left !important;
}

/* Use the natural car-photo shape on desktop and mobile alike. Contain keeps
   every source image undistorted and avoids the squeezed 4:3 media box. */
body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media {
    aspect-ratio: 16 / 10 !important;
}

body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media,
body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media {
    aspect-ratio: 16 / 10 !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media .card-img,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img {
    object-fit: contain !important;
    object-position: center !important;
    padding: 8px !important;
}

/* The extra rental-condition controls are optional; reset must stay a compact
   secondary action instead of stretching like a primary form control. */
body.marketplace-experience .marketplace-search-extra #market-reset,
body.catalog-reference-upgrade .marketplace-search-extra #market-reset {
    align-self: end;
    flex: 0 0 auto;
    width: auto;
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--bg-input, var(--bg-card));
    color: var(--text-main);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

body.marketplace-experience .marketplace-search-extra #market-reset:hover,
body.marketplace-experience .marketplace-search-extra #market-reset:focus-visible,
body.catalog-reference-upgrade .marketplace-search-extra #market-reset:hover,
body.catalog-reference-upgrade .marketplace-search-extra #market-reset:focus-visible {
    border-color: var(--primary);
    color: var(--primary);
}

/* Let a map offer grow when there is room and scroll only when another fixed
   utility (for example compare) reduces the available height. */
#map-wrapper .map-preview-card {
    max-height: min(calc(100% - 32px), 520px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable;
}

#map-wrapper .map-preview-card__image {
    height: 180px !important;
    object-fit: contain !important;
}

body.site-shell:has(#compare-bar.show) #map-wrapper .map-preview-card__image {
    height: 135px !important;
}

/* The old pseudo-element is intentionally disabled; the real cue above owns
   the third grid column. */
body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-overflow="true"]::after,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-overflow="true"]::after {
    content: none !important;
    display: none !important;
}

/* The toolbar already supplies the row label.  Hiding the old nested heading
   removes the duplicate "Catalogue filters" / "Make, class and sorting" copy
   after the legacy controls are moved into the new row. */
body.marketplace-experience #catalog-discovery-toolbar [data-discovery-row="catalogue"] .catalog-controls-heading,
body.catalog-reference-upgrade #catalog-discovery-toolbar [data-discovery-row="catalogue"] .catalog-controls-heading {
    display: none !important;
}

/* Final desktop density pass: preserve all information while shortening the
   path from search to the first offer. */
@media (min-width: 1000px) {
    body.marketplace-experience #page-fleet > .journey-hero,
    body.catalog-reference-upgrade #page-fleet > .journey-hero {
        padding-top: 16px !important;
        padding-bottom: 4px !important;
    }

    body.marketplace-experience #search-sticky,
    body.catalog-reference-upgrade #search-sticky {
        padding-top: 8px !important;
        padding-bottom: 10px !important;
        margin-bottom: 6px !important;
    }

    body.marketplace-experience #p0-trust-markers,
    body.catalog-reference-upgrade #p0-trust-markers {
        gap: 6px !important;
        margin-bottom: 8px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar {
        gap: 3px !important;
        padding-top: 7px !important;
        padding-bottom: 8px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row {
        min-height: 32px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__label {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort {
        min-height: 32px !important;
        height: 32px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 760px) {
    body.site-shell:has(#compare-bar.show) #map-wrapper .map-preview-card.is-visible {
        bottom: 108px !important;
        max-height: calc(100% - 124px) !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row[data-scroll-overflow="true"],
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row[data-scroll-overflow="true"] {
        grid-template-columns: max-content minmax(0, 1fr) max-content !important;
        gap: 5px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__cue,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__cue {
        max-width: 72px;
        padding-inline: 0;
        font-size: 9px;
    }

    #map-wrapper .map-preview-card {
        max-height: min(calc(100% - 24px), 460px) !important;
    }

    #map-wrapper .map-preview-card__image {
        height: 120px !important;
    }

    body.site-shell:has(#compare-bar.show) #map-wrapper .map-preview-card__image {
        height: 88px !important;
    }
}

/* Ensure the dynamically generated all-makes chip and logos fit their rail
   rather than losing the top/bottom glyphs in a 32px clipped row. */
body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list {
    align-items: center !important;
    overflow-y: visible !important;
    box-sizing: border-box !important;
}

body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button {
    box-sizing: border-box !important;
    height: 36px !important;
    min-height: 36px !important;
    line-height: 1.15 !important;
}

body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo {
    display: inline-grid;
    flex: 0 0 22px;
    place-items: center;
    width: 22px !important;
    height: 22px !important;
}

body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo img,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo img {
    width: 22px !important;
    height: 22px !important;
}

/* Keep a compact, single-focus mobile booking flow: the request wizard owns
   the right column, while the long vehicle narrative is reduced to identity,
   gallery and key specs. The full conditions remain available on the card
   before opening checkout. */
@media (max-width: 760px) {
    #bookingModal .modal-body { max-height: 96dvh !important; }
    #bookingModal .m-left {
        display: block !important;
        flex: 0 0 auto !important;
        max-height: none !important;
        padding: 0 16px 8px !important;
        overflow: visible !important;
    }
    #bookingModal .m-left #m-partner-badge { margin-bottom: 3px !important; }
    #bookingModal .m-left #m-title { margin: 0 0 5px !important; font-size: 20px !important; }
    #bookingModal .m-left .swipe-gallery-wrapper {
        height: clamp(180px, 44vw, 230px) !important;
        min-height: 180px !important;
        max-height: 230px !important;
        overflow: hidden !important;
    }
    #bookingModal .m-left .swipe-gallery {
        height: 100% !important;
        min-height: 0 !important;
    }
    #bookingModal .m-left .swipe-gallery img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        padding: 10px !important;
        object-fit: contain !important;
        object-position: center !important;
    }
    #bookingModal .m-left .swipe-gallery-wrapper { margin-bottom: 5px !important; }
    #bookingModal .m-left:not(.booking-offer-preview) #m-specs {
        max-height: 25px;
        margin: 0 !important;
        overflow: hidden;
        flex-wrap: nowrap !important;
        font-size: 11px !important;
    }
    #bookingModal .m-left:not(.booking-offer-preview) #m-rental-conditions,
    #bookingModal .m-left:not(.booking-offer-preview) #m-google-maps,
    #bookingModal .m-left:not(.booking-offer-preview) #m-product-terms,
    #bookingModal .m-left:not(.booking-offer-preview) #m-trust-panel,
    #bookingModal .m-left:not(.booking-offer-preview) .booking-offer-report,
    #bookingModal .m-left:not(.booking-offer-preview) .booking-offer-description { display: none !important; }
    #bookingModal .m-right { width: 100%; min-height: 0; }
    #bookingModal .booking-panel-actions button { min-height: 40px; }
    #bookingModal .booking-summary-strip { margin-bottom: 10px; }
    #bookingModal .booking-step-panel { min-height: 0; }
}

/* Mobile discovery is a visible filter panel, not a hidden horizontal rail.
   The old swipe pattern made the last brand/condition impossible to discover
   and clipped the dynamically inserted "all makes" control. */
@media (max-width: 760px) {
    body.marketplace-experience #catalog-discovery-toolbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar {
        gap: 8px !important;
        padding: 10px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row {
        display: block !important;
        min-height: 0 !important;
        padding: 0 0 8px !important;
        border-bottom: 1px solid var(--border);
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row:last-child,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row:last-child {
        padding-bottom: 0 !important;
        border-bottom: 0;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__label {
        display: block !important;
        max-width: none !important;
        margin: 0 0 5px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body {
        overflow: visible !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__cue,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__cue {
        display: none !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        flex-wrap: initial !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        gap: 6px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
        display: inline-flex !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
        height: auto !important;
        min-height: 36px !important;
        padding: 7px 8px !important;
        white-space: normal !important;
        overflow: visible !important;
        line-height: 1.15 !important;
        justify-content: flex-start !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list .brand-shortcut__logo {
        flex: 0 0 22px !important;
        width: 22px !important;
        height: 22px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label {
        overflow: visible !important;
        white-space: normal !important;
        text-overflow: clip !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-controls-heading,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-controls-heading {
        display: none !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
        grid-column: 1 / -1;
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort {
        width: 100% !important;
        max-width: none !important;
        min-height: 36px !important;
        height: 36px !important;
    }
}

/* Preserve the source photo's ratio. Contain inside a fixed-height box made
   the same 4:3 photo look squeezed and disproportionately small. */
body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media,
body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media,
body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box,
body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box,
body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media .card-img-box {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
}

body.marketplace-experience #fleet-grid .car-card.car-card--catalogue .offer-media .card-img,
body.catalog-reference-upgrade #fleet-grid .car-card.car-card--catalogue .offer-media .card-img,
body.marketplace-experience #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media .card-img,
body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-media .card-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
}

/* The preview position is calculated against the live compare bar so a
   selected offer never sits underneath a fixed utility or its close button. */
#map-wrapper .map-preview-card.is-visible {
    bottom: var(--map-preview-bottom, 16px) !important;
    max-height: var(--map-preview-max-height, min(calc(100% - 32px), 520px)) !important;
}

/* Fallback for a cached/slow frame: match the compare bar's real footprint
   even before the geometry observer writes its per-viewport values. */
body.site-shell:has(#compare-bar.show) #map-wrapper .map-preview-card.is-visible {
    bottom: var(--map-preview-bottom, 144px) !important;
    max-height: var(--map-preview-max-height, calc(100% - 160px)) !important;
}

@media (max-width: 760px) {
    body.site-shell:has(#compare-bar.show) #map-wrapper .map-preview-card.is-visible {
        bottom: var(--map-preview-bottom, 126px) !important;
        max-height: var(--map-preview-max-height, calc(100% - 142px)) !important;
    }
}

/* A zero-result facet is not a useful action. Keep active zero-result facets
   available for clearing, but never leave an unavailable chip in the rail. */
#p0-quick-filters button[hidden] {
    display: none !important;
}

/* On mobile the discovery layer is an explicit, compact disclosure instead
   of a clipped swipe rail. The catalogue remains immediately reachable and
   the full set of filters is still one tap away. */
.catalog-discovery-mobile-actions {
    display: none;
}

@media (max-width: 760px) {
    body.marketplace-experience #catalog-discovery-toolbar,
    body.catalog-reference-upgrade #catalog-discovery-toolbar {
        display: block !important;
        padding: 8px !important;
        margin-bottom: 8px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-toolbar__head,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-toolbar__head {
        display: none !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-mobile-actions,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-mobile-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
        align-items: stretch;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-mobile-toggle,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-mobile-all-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-mobile-toggle,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-mobile-all-filters {
        box-sizing: border-box;
        min-width: 0;
        min-height: 42px;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: var(--bg-card);
        color: var(--text-main);
        font: inherit;
        font-size: 12px;
        font-weight: 800;
        cursor: pointer;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-mobile-toggle,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-mobile-toggle {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 7px;
        padding: 6px 9px;
        text-align: left;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-mobile-toggle::before,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-mobile-toggle::before {
        content: '☷';
        color: var(--primary);
        font-size: 18px;
        line-height: 1;
    }

    .catalog-discovery-mobile-toggle__title,
    .catalog-discovery-mobile-toggle__summary {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .catalog-discovery-mobile-toggle__title {
        display: block;
        line-height: 1.15;
    }

    .catalog-discovery-mobile-toggle__summary {
        grid-column: 2;
        color: var(--text-muted);
        font-size: 10px;
        font-weight: 600;
        line-height: 1.15;
    }

    .catalog-discovery-mobile-toggle__icon {
        grid-column: 3;
        grid-row: 1 / span 2;
        color: var(--text-muted);
        font-size: 17px;
        transition: transform .18s ease;
    }

    #catalog-discovery-toolbar.is-mobile-expanded .catalog-discovery-mobile-toggle__icon {
        transform: rotate(180deg);
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-mobile-all-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-mobile-all-filters {
        padding: 0 10px;
        border-color: var(--primary);
        background: var(--primary-light);
        color: var(--primary);
        white-space: nowrap;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row {
        display: none !important;
        min-height: 0 !important;
        margin-top: 8px !important;
        padding: 8px 0 0 !important;
        border-top: 1px solid var(--border);
        border-bottom: 0 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar.is-mobile-expanded .catalog-discovery-row,
    body.catalog-reference-upgrade #catalog-discovery-toolbar.is-mobile-expanded .catalog-discovery-row {
        display: grid !important;
        grid-template-columns: minmax(70px, .33fr) minmax(0, 1fr) !important;
        gap: 7px !important;
        align-items: start;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row[hidden],
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row[hidden] {
        display: none !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__label {
        display: block !important;
        margin: 3px 0 0 !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body {
        min-width: 0;
        overflow: visible !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__cue,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__cue {
        display: none !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        gap: 5px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .filter-btn,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
        display: inline-flex !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 34px !important;
        height: auto !important;
        padding: 6px 7px !important;
        white-space: normal !important;
        overflow: visible !important;
        line-height: 1.15 !important;
        justify-content: flex-start !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-controls-heading,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-controls-heading {
        display: none !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort-control,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort-control {
        grid-column: 1 / -1;
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #cat-filters .catalog-sort,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .catalog-sort {
        width: 100% !important;
        max-width: none !important;
        min-height: 34px !important;
        height: 34px !important;
    }

    body.marketplace-experience #stories-bar.p0-collections .p0-collections__list,
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        overflow: visible !important;
        padding: 1px 0 2px !important;
    }

    body.marketplace-experience #stories-bar.p0-collections .p0-collections__item,
    body.catalog-reference-upgrade #stories-bar.p0-collections .p0-collections__item {
        min-width: 0 !important;
        width: 100% !important;
        min-height: 68px !important;
        box-sizing: border-box !important;
        padding: 9px !important;
    }
}

/* Final mobile readability pass.  The quick condition controls are a
   two-line label plus a count; forcing them back to inline-flex makes the
   count paint over a wrapped label on narrow screens.  Keep the icon in a
   fixed first column and the text/count in their own rows. */
@media (max-width: 760px) {
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button {
        display: grid !important;
        grid-template-columns: 25px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-content: center !important;
        align-items: center !important;
        column-gap: 6px !important;
        row-gap: 3px !important;
        min-height: 64px !important;
        height: auto !important;
        padding: 8px !important;
        text-align: left !important;
        white-space: normal !important;
        overflow: visible !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-chip-icon,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-chip-icon {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        align-self: start !important;
        width: 25px !important;
        height: 25px !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: block !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        line-height: 1.15 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-chip-count,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-chip-count {
        grid-column: 2 !important;
        grid-row: 2 !important;
        display: block !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        line-height: 1.1 !important;
    }

    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-clear,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-clear {
        display: inline-flex !important;
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        min-height: 38px !important;
        height: auto !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

/* The map preview is allowed to scroll inside its own panel when a fixed
   comparison bar reduces the available map height.  The previous cascade
   set overflow:hidden after the panel's internal scroll rule, so the lower
   part of the CTA could be clipped.  Contain preserves the whole source
   photo without stretching or cropping it. */
#map-wrapper .map-preview-card.is-visible {
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable;
}

#map-wrapper .map-preview-card__image {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    max-width: none !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
    object-position: center !important;
}

#map-wrapper .map-preview-card__body {
    min-width: 0 !important;
    gap: 7px !important;
    padding: 14px 16px 16px !important;
}

#map-wrapper .map-preview-card__facts {
    min-width: 0 !important;
}

#map-wrapper .map-preview-card__facts span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#map-wrapper .map-preview-card__actions,
#map-wrapper .map-preview-card__open {
    min-width: 0 !important;
}

#map-wrapper .map-preview-card__actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: var(--bg-card);
    padding-bottom: 3px !important;
}

#map-wrapper .map-preview-card__open {
    min-height: 42px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* Use real currentColor SVG icons so the saved/compare state is visible on
   every platform, including browsers that render emoji in a fixed palette. */
body.site-shell .car-card .act-btn {
    border: 1px solid transparent !important;
    color: var(--text-muted) !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body.site-shell .car-card .act-btn .action-icon {
    display: block;
    width: 19px;
    height: 19px;
    overflow: visible;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

body.site-shell .car-card .act-btn .action-icon--heart {
    fill: transparent;
}

body.site-shell .car-card .act-btn.compare-action.active-cmp {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px color-mix(in srgb, var(--primary) 30%, transparent) !important;
}

body.site-shell .car-card .act-btn.favorite-action.active {
    background: #fff0f1 !important;
    border-color: #f2a4aa !important;
    color: #d71920 !important;
    box-shadow: 0 5px 14px rgba(215, 25, 32, .2) !important;
}

body.site-shell .car-card .act-btn.favorite-action.active .action-icon--heart {
    fill: currentColor;
}

body.site-shell .car-card .act-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--primary) 28%, transparent);
    outline-offset: 2px;
}

@media (max-width: 760px) {
    #map-wrapper .map-preview-card__image {
        height: 100px !important;
        padding: 6px !important;
    }

    #map-wrapper .map-preview-card__body {
        gap: 4px !important;
        padding: 9px 10px 10px !important;
    }

    #map-wrapper .map-preview-card h3 {
        line-height: 1.15 !important;
    }

    #map-wrapper .map-preview-card__facts {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-height: none !important;
        gap: 4px !important;
        overflow: visible !important;
    }

    #map-wrapper .map-preview-card__facts span {
        padding: 4px 6px !important;
        font-size: 10px !important;
    }

    #map-wrapper .map-preview-card__trust {
        min-width: 0 !important;
        font-size: 10px !important;
    }

    #map-wrapper .map-preview-card__open {
        min-height: 38px !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
    }

    #map-wrapper .map-preview-card {
        scroll-padding-bottom: 8px;
    }

    #map-wrapper .map-preview-card--group-short .map-preview-card__group-list {
        max-height: none !important;
        overflow-y: visible !important;
    }
}

/* 2026-09-23 audit pass: keep the route to the first offer compact while
   retaining the existing hero copy, actions, trust strip and filters. */
@media (min-width: 1000px) {
    body.marketplace-experience #page-fleet > .journey-hero,
    body.catalog-reference-upgrade #page-fleet > .journey-hero {
        min-height: 0 !important;
        margin: 8px auto 10px !important;
        padding: 14px 20px 10px !important;
        gap: 8px !important;
    }

    body.marketplace-experience #page-fleet > .journey-hero h1,
    body.catalog-reference-upgrade #page-fleet > .journey-hero h1 {
        font-size: clamp(25px, 2.45vw, 32px) !important;
        margin-bottom: 5px !important;
    }

    body.marketplace-experience #page-fleet > .journey-hero .journey-actions,
    body.catalog-reference-upgrade #page-fleet > .journey-hero .journey-actions {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: 100% !important;
        max-width: 960px !important;
        margin-top: 7px !important;
        gap: 7px !important;
    }

    body.marketplace-experience #page-fleet > .journey-hero .journey-action,
    body.catalog-reference-upgrade #page-fleet > .journey-hero .journey-action {
        min-height: 38px !important;
        padding: 8px 9px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    body.marketplace-experience #page-fleet > .affiliate-spotlight,
    body.catalog-reference-upgrade #page-fleet > .affiliate-spotlight {
        margin-top: 8px !important;
        margin-bottom: 9px !important;
        padding: 10px 15px !important;
    }

    body.marketplace-experience #page-fleet > .marketplace-proof,
    body.catalog-reference-upgrade #page-fleet > .marketplace-proof {
        margin-top: 8px !important;
        margin-bottom: 10px !important;
        gap: 8px !important;
    }

    body.marketplace-experience #page-fleet > .marketplace-proof > div,
    body.marketplace-experience #page-fleet > .marketplace-proof > a,
    body.catalog-reference-upgrade #page-fleet > .marketplace-proof > div,
    body.catalog-reference-upgrade #page-fleet > .marketplace-proof > a {
        gap: 4px !important;
        padding: 11px 12px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 760px) {
    body.marketplace-experience #page-fleet > .journey-hero,
    body.catalog-reference-upgrade #page-fleet > .journey-hero {
        margin: 7px 10px 8px !important;
        padding: 14px !important;
        gap: 7px !important;
    }

    body.marketplace-experience #page-fleet > .journey-hero h1,
    body.catalog-reference-upgrade #page-fleet > .journey-hero h1 {
        font-size: 24px !important;
        line-height: 1.08 !important;
        margin-bottom: 4px !important;
    }

    body.marketplace-experience #page-fleet > .journey-hero .journey-actions,
    body.catalog-reference-upgrade #page-fleet > .journey-hero .journey-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        margin-top: 7px !important;
        gap: 6px !important;
    }

    body.marketplace-experience #page-fleet > .journey-hero .journey-action,
    body.catalog-reference-upgrade #page-fleet > .journey-hero .journey-action {
        min-height: 38px !important;
        padding: 8px 6px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    body.marketplace-experience #page-fleet > .affiliate-spotlight,
    body.catalog-reference-upgrade #page-fleet > .affiliate-spotlight {
        margin: 7px 10px 9px !important;
        padding: 10px 12px !important;
    }

    body.marketplace-experience #page-fleet > .marketplace-proof,
    body.catalog-reference-upgrade #page-fleet > .marketplace-proof {
        margin: 7px 10px 9px !important;
        gap: 6px !important;
    }

    body.marketplace-experience #page-fleet > .marketplace-proof > div,
    body.marketplace-experience #page-fleet > .marketplace-proof > a,
    body.catalog-reference-upgrade #page-fleet > .marketplace-proof > div,
    body.catalog-reference-upgrade #page-fleet > .marketplace-proof > a {
        gap: 3px !important;
        padding: 10px !important;
        font-size: 12px !important;
    }

    body.marketplace-experience #page-fleet > #search-sticky,
    body.catalog-reference-upgrade #page-fleet > #search-sticky {
        margin-bottom: 6px !important;
        padding: 8px 10px 10px !important;
    }
}


/* Source: /static/css/audit-remediation.css */
/* Final, intentionally small remediation layer for the public catalogue.
   It is loaded after the historical visual layers so the layout has one
   deterministic contract on desktop and mobile. */

body.catalog-reference-upgrade #search-date-hint,
body.marketplace-experience #search-date-hint {
    min-height: 18px;
    margin: 4px 0 0;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.35;
}

body.catalog-reference-upgrade #search-date-hint.is-required,
body.marketplace-experience #search-date-hint.is-required {
    color: var(--primary);
    font-weight: 700;
}

/* Do not cover the last quick-filter chip with a fake swipe hint. The mobile
   panel has an explicit expand button, while desktop rows wrap naturally. */
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__cue,
body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__cue {
    display: none !important;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body,
body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body {
    min-width: 0;
    overflow: visible !important;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list,
body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters,
body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters,
body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list,
body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters,
body.marketplace-experience #catalog-discovery-toolbar #cat-filters {
    max-height: none !important;
    overflow: visible !important;
    scrollbar-width: none;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list,
body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list {
    flex-wrap: wrap !important;
    align-items: stretch;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters button,
body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters button {
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    align-items: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label,
body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters .p0-chip-label {
    min-width: 0;
    white-space: normal !important;
    line-height: 1.2 !important;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list button {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar .brand-shortcut__logo,
body.marketplace-experience #catalog-discovery-toolbar .brand-shortcut__logo {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: var(--surface-secondary);
    color: var(--text-main);
    font-size: 9px;
    font-weight: 900;
}

body.catalog-reference-upgrade #catalog-discovery-toolbar .brand-shortcut__logo img,
body.marketplace-experience #catalog-discovery-toolbar .brand-shortcut__logo img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

/* Do not silently clip discovery choices on medium desktop widths.  The
   compact stage-four rail is useful on phones, but on desktop there is room
   for a second line and every factual filter should remain immediately
   discoverable without requiring a hidden horizontal gesture. */
@media (min-width: 761px) {
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body {
        overflow: visible !important;
    }

    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #p0-quick-filters,
    body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar #p0-quick-filters,
    body.marketplace-experience #catalog-discovery-toolbar #cat-filters {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        flex-wrap: wrap !important;
    }
}

/* On touch layouts a rail is intentionally scrollable, but its affordance is
   now explicit: the gradient appears only while more choices remain.  The
   JavaScript adds an accessible scroll label and keeps the position state in
   sync for keyboard and assistive-technology users. */
@media (max-width: 760px) {
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body {
        position: relative;
        overflow: visible !important;
    }

    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-overflow="true"]::after,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-overflow="true"]::after {
        content: '';
        position: absolute;
        z-index: 2;
        top: 0;
        right: 0;
        width: 24px;
        height: 100%;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(255,255,255,0), var(--bg-card, #fff) 86%);
    }

    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-position="end"]::after,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-position="end"]::after {
        display: none;
    }

    [data-theme='dark'] body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-overflow="true"]::after,
    [data-theme='dark'] body.marketplace-experience #catalog-discovery-toolbar .catalog-discovery-row__body[data-scroll-overflow="true"]::after {
        background: linear-gradient(90deg, rgba(20,27,35,0), var(--bg-card, #1b232d) 86%);
    }
}

/* Keep the map controls in separate hit areas: the context label starts next
   to Leaflet zoom, and the area-search button never covers the label. */
#map-wrapper .map-context {
    left: 72px !important;
    right: 14px !important;
    max-width: none !important;
    pointer-events: none;
}

#map-wrapper .map-context > * {
    pointer-events: auto;
}

#map-wrapper .btn-search-area {
    right: 14px !important;
    max-width: calc(100% - 28px);
    white-space: nowrap;
}

#map-wrapper .map-preview-card {
    left: auto !important;
    right: 14px !important;
    width: min(430px, calc(100% - 28px)) !important;
    max-width: calc(100% - 28px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

#map-wrapper .map-preview-card__image {
    display: block !important;
    width: 100% !important;
    height: clamp(136px, 14vw, 210px) !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
    object-position: center !important;
    background: var(--surface-secondary);
}

#map-wrapper .map-preview-card__actions {
    position: sticky;
    bottom: 0;
    z-index: 3;
    padding-top: 8px !important;
    background: var(--bg-card);
}

#map-wrapper .map-preview-card__open {
    min-height: 44px !important;
    white-space: normal !important;
    line-height: 1.2 !important;
}

/* Catalogue photos preserve the complete source image. The stable ratio is
   only the media box; the image itself is never cropped or stretched. */
body.catalog-reference-upgrade #fleet-grid .car-card--catalogue .offer-media,
body.marketplace-experience #fleet-grid .car-card--catalogue .offer-media,
body.catalog-reference-upgrade #fleet-grid .seo-catalog-card .card-img-box,
body.marketplace-experience #fleet-grid .seo-catalog-card .card-img-box {
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    background: var(--surface-secondary);
}

body.catalog-reference-upgrade #fleet-grid .car-card--catalogue .offer-media .card-img,
body.marketplace-experience #fleet-grid .car-card--catalogue .offer-media .card-img,
body.catalog-reference-upgrade #fleet-grid .seo-catalog-card .card-img,
body.marketplace-experience #fleet-grid .seo-catalog-card .card-img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 10px !important;
    object-fit: contain !important;
    object-position: center !important;
}

body.catalog-reference-upgrade .price-total > div,
body.marketplace-experience .price-total > div {
    min-width: 0;
}

body.catalog-reference-upgrade .price-total small,
body.marketplace-experience .price-total small,
body.catalog-reference-upgrade .card-price-guidance,
body.marketplace-experience .card-price-guidance {
    display: block;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

body.catalog-reference-upgrade .card-price-tiers,
body.marketplace-experience .card-price-tiers {
    min-width: 0;
    overflow: hidden;
}

@media (min-width: 1000px) {
    body.catalog-reference-upgrade #page-fleet > .journey-hero,
    body.marketplace-experience #page-fleet > .journey-hero {
        min-height: 0 !important;
        margin-top: 6px !important;
        margin-bottom: 8px !important;
        padding-top: 10px !important;
        padding-bottom: 8px !important;
    }

    body.catalog-reference-upgrade #p0-trust-markers,
    body.marketplace-experience #p0-trust-markers {
        gap: 6px !important;
        margin-top: 4px !important;
        margin-bottom: 6px !important;
    }
}

@media (max-width: 760px) {
    #map-wrapper .map-context {
        left: 58px !important;
        right: 10px !important;
    }

    #map-wrapper .btn-search-area {
        right: 10px !important;
        max-width: calc(100% - 20px);
    }

    #map-wrapper .map-preview-card {
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-width: none !important;
    }

    #map-wrapper .map-preview-card__image {
        height: 124px !important;
        padding: 8px !important;
    }

    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
    }

    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.catalog-reference-upgrade #catalog-discovery-toolbar .catalog-city-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-brand-shortcuts__list button,
    body.marketplace-experience #catalog-discovery-toolbar .catalog-city-shortcuts__list button {
        width: 100%;
        min-height: 42px;
        justify-content: flex-start;
    }

    body.catalog-reference-upgrade #fleet-grid .car-card--catalogue .offer-media,
    body.marketplace-experience #fleet-grid .car-card--catalogue .offer-media,
    body.catalog-reference-upgrade #fleet-grid .seo-catalog-card .card-img-box,
    body.marketplace-experience #fleet-grid .seo-catalog-card .card-img-box {
        aspect-ratio: 16 / 10 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.catalog-reference-upgrade *,
    body.marketplace-experience * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* The comparison tray is a compact utility on phones. It stays above the
   mobile navigation, but its reduced footprint leaves the selected offer and
   map preview visible instead of creating a second bottom navigation bar. */
@media (max-width: 760px) {
    body.site-shell:not(.is-tg-app) .compare-bar.show {
        right: max(10px, env(safe-area-inset-right));
        bottom: calc(80px + env(safe-area-inset-bottom));
        width: min(360px, calc(100vw - 20px));
        min-height: 48px;
        padding: 7px 9px 7px 12px;
        gap: 8px;
        border-radius: 14px;
        font-size: 12px;
        line-height: 1.2;
    }

    body.site-shell:not(.is-tg-app) .compare-bar.show button {
        min-height: 36px;
        padding: 7px 12px !important;
        border-radius: 10px !important;
        font-size: 12px;
        white-space: nowrap;
    }

    body.site-shell:not(.is-tg-app) .compare-bar.show.is-search-visible {
        bottom: calc(80px + env(safe-area-inset-bottom));
    }
}

/* A price marker represents one exact pickup address. The layer group is
   deliberately used instead of proximity-cluster bubbles; different nearby
   addresses must remain separate until the visitor chooses one. */
.leaflet-marker-icon.map-price-marker-icon {
    z-index: 400 !important;
}


/* Source: /static/css/map-discovery.css */
/* Map controls remain readable in both themes; screen groups are not addresses. */
#map-wrapper .map-discovery-actions{position:absolute;z-index:950;top:82px;left:12px;right:12px;display:flex;gap:8px;flex-wrap:wrap}
#map-wrapper .map-discovery-actions button,#map-wrapper .btn-search-area,#map-wrapper .map-tile-status button{min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-main);font:inherit;font-size:12px;font-weight:750;cursor:pointer;box-shadow:0 2px 9px #0002}
#map-wrapper .btn-search-area{top:136px!important;left:12px!important;right:auto!important;transform:none!important;max-width:calc(100% - 24px);background:var(--primary);color:#fff;border-color:var(--primary)}
#map-wrapper .map-area-status{position:absolute;z-index:950;left:12px;right:12px;bottom:26px;padding:7px 10px;border-radius:10px;background:var(--bg-card);color:var(--text-main);font-size:12px;box-shadow:0 2px 9px #0003;pointer-events:none}
#map-wrapper .map-tile-status{position:absolute;z-index:1001;left:12px;right:12px;bottom:54px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-main);font-size:13px}
#map-wrapper .map-tile-status button{display:block;margin-top:8px;box-shadow:none}
#map-wrapper [hidden]{display:none!important}
#map-wrapper .leaflet-control-attribution{background:var(--bg-card);color:var(--text-main);font-size:10px;line-height:1.5;max-width:100%;white-space:normal}
#map-wrapper .leaflet-control-attribution a{color:var(--text-main);text-decoration:underline}
#map-wrapper .leaflet-marker-icon .map-price-marker{box-sizing:border-box;width:144px;height:60px;min-height:44px;padding:6px 8px;display:flex;flex-direction:column;gap:4px;translate:0 0;border-radius:14px;background:var(--bg-card);color:var(--text-main);white-space:normal;font-size:13px;line-height:1.15}
#map-wrapper .map-price-marker strong{font-weight:850;white-space:nowrap}
#map-wrapper .map-price-marker small{display:block;font-size:10px;line-height:1.2;font-weight:650;color:inherit}
#map-wrapper .map-price-marker--approximate{border-style:dashed}
#map-wrapper .map-view-cluster{border-width:2px;background:var(--primary)!important;color:#fff!important;box-shadow:0 3px 12px #0004}
#map-wrapper .map-view-cluster:after{display:none}
#map-wrapper .map-preview-card__close{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border);min-width:44px;min-height:44px;font-size:26px}
#map-wrapper button:focus-visible{outline:3px solid var(--text-main);outline-offset:3px}
#map-wrapper .map-preview-card__close:hover{background:var(--primary);color:#fff}
.map-preview-location{font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:var(--text-main);margin:10px 0}
.map-location-warning{font-size:12px;line-height:1.5;color:var(--text-main);padding:8px;border-radius:8px;background:color-mix(in srgb,var(--primary) 7%,var(--bg-card));white-space:normal}
#map-wrapper .map-preview-card__group-copy small{white-space:normal;overflow-wrap:anywhere}
#map-wrapper .map-preview-card .map-preview-card__group-list{max-height:none;overflow-y:visible}
@media(max-width:760px){#map-wrapper .map-discovery-actions{top:82px;left:10px;right:10px}#map-wrapper .map-discovery-actions button{font-size:11px;flex:1 1 125px}#map-wrapper .btn-search-area{top:136px!important;left:10px!important;font-size:11px}#map-wrapper .map-area-status{font-size:11px}}


/* Source: /static/css/public-surface-consistency.css */
/* CarMisto public surface grammar.
   This file is loaded last so server-rendered pages, SPA screens and the
   standalone catalogue/detail pages share the same card, panel, field and
   ordinary hero treatment. Branded dark heroes keep their own explicit theme. */
:root {
  --cm-surface: #ffffff;
  --cm-surface-subtle: #f5f7fa;
  --cm-surface-text: #202b3a;
  --cm-surface-muted: #5c6879;
  --cm-surface-border: #dfe5eb;
  --cm-surface-radius: 18px;
  --cm-surface-shadow: 0 10px 28px rgba(28, 40, 57, .07);
  --cm-control-radius: 12px;
}

[data-theme='dark'] {
  --cm-surface: #1b2129;
  --cm-surface-subtle: #242d37;
  --cm-surface-text: #f4f7fb;
  --cm-surface-muted: #c1cbd6;
  --cm-surface-border: #3c4855;
  --cm-surface-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}

/* Keep all content surfaces readable in either theme. The article selector is
   deliberately explicit: it prevents a legacy article background from
   turning a no-photo newsroom story into a dark card with dark text. */
:is(
  .public-page__card,
  .public-surface,
  .news-card,
  .inventory-card,
  .inventory-landing__summary > div,
  .inventory-landing__location-list > a,
  .inventory-landing__faq details,
  .marketplace-panel,
  .legal-page,
  .panel,
  .booking,
  .stats > div,
  .card,
  .city-discovery,
  .faq details,
  .affiliate-page__promise > article,
  .affiliate-page__steps > article,
  .affiliate-page__formula-card,
  .affiliate-page__calculator,
  .affiliate-page__dashboard-card,
  .partner-page__route-card,
  .partner-page__benefit-card,
  .partner-page__quality-note,
  .business-panel,
  .affiliate-dashboard__card,
  .affiliate-dashboard__panel
) {
  border-color: var(--cm-surface-border);
  border-radius: var(--cm-surface-radius);
  background-color: var(--cm-surface);
  color: var(--cm-surface-text);
  box-shadow: var(--cm-surface-shadow);
}

:is(
  .public-page__card,
  .public-surface,
  .news-card,
  .inventory-card,
  .inventory-landing__summary > div,
  .inventory-landing__location-list > a,
  .inventory-landing__faq details,
  .marketplace-panel,
  .legal-page,
  .panel,
  .booking,
  .stats > div,
  .card,
  .city-discovery,
  .faq details,
  .affiliate-page__promise > article,
  .affiliate-page__steps > article,
  .affiliate-page__formula-card,
  .affiliate-page__calculator,
  .affiliate-page__dashboard-card,
  .partner-page__route-card,
  .partner-page__benefit-card,
  .partner-page__quality-note,
  .business-panel,
  .affiliate-dashboard__card,
  .affiliate-dashboard__panel
) :is(h1, h2, h3, h4, strong, b) {
  color: var(--cm-surface-text);
}

:is(
  .public-page__card,
  .public-surface,
  .news-card,
  .inventory-card,
  .inventory-landing__summary > div,
  .inventory-landing__location-list > a,
  .inventory-landing__faq details,
  .marketplace-panel,
  .legal-page,
  .panel,
  .booking,
  .stats > div,
  .card,
  .city-discovery,
  .faq details,
  .affiliate-page__promise > article,
  .affiliate-page__steps > article,
  .affiliate-page__formula-card,
  .affiliate-page__calculator,
  .affiliate-page__dashboard-card,
  .partner-page__route-card,
  .partner-page__benefit-card,
  .partner-page__quality-note,
  .business-panel,
  .affiliate-dashboard__card,
  .affiliate-dashboard__panel
) :is(p, li, small, time, .meta, .sub, .label, .text-muted) {
  color: var(--cm-surface-muted);
}

:is(
  .public-page__card,
  .public-surface,
  .news-card,
  .inventory-card,
  .inventory-landing__summary > div,
  .inventory-landing__location-list > a,
  .inventory-landing__faq details,
  .marketplace-panel,
  .legal-page,
  .panel,
  .booking,
  .stats > div,
  .card,
  .city-discovery,
  .faq details,
  .affiliate-page__promise > article,
  .affiliate-page__steps > article,
  .affiliate-page__formula-card,
  .affiliate-page__calculator,
  .affiliate-page__dashboard-card,
  .partner-page__route-card,
  .partner-page__benefit-card,
  .partner-page__quality-note,
  .business-panel,
  .affiliate-dashboard__card,
  .affiliate-dashboard__panel
) a:not(.cta):not(.btn-primary):not(.public-page__hero-action):not(.affiliate-page__text-action) {
  color: var(--primary, #c9161d);
}

/* News article: one readable surface for both photo and no-photo stories. */
body.site-shell .news-article > article,
.news-article > article {
  background: var(--cm-surface) !important;
  background-image: none !important;
  border: 1px solid var(--cm-surface-border) !important;
  border-radius: var(--cm-surface-radius) !important;
  box-shadow: var(--cm-surface-shadow) !important;
  color: var(--cm-surface-text) !important;
}

.news-article > article .news-article__header h1,
.news-article > article .news-article__body > p,
.news-article > article .news-article__takeaway strong,
.news-article > article .news-article__takeaway p {
  color: var(--cm-surface-text) !important;
}

/* style.css contains a legacy global `header` rule for the site shell. It
   must never style the semantic header inside a news card. */
body.site-shell .news-article > article .news-article__header {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: var(--cm-surface) !important;
  box-shadow: none !important;
  color: var(--cm-surface-text) !important;
}

.news-article > article .news-article__meta,
.news-article > article .news-article__lead,
.news-article > article .news-article__source-line,
.news-article > article .news-article__source-line span,
.news-article > article .news-article__takeaway {
  color: var(--cm-surface-muted) !important;
}

.news-article > article .news-card__manufacturer,
.news-article > article .news-article__source-line a,
.news-article > article .news-card__category {
  color: var(--primary, #c9161d) !important;
}

.news-article__takeaway,
.news-card__source,
.affiliate-page__formula,
.affiliate-page__calculator-result,
.partner-page__choice,
.public-page__overview-item,
.condition-grid,
.transparent div,
.partner-reply {
  border-color: var(--cm-surface-border);
  background: var(--cm-surface-subtle);
  color: var(--cm-surface-text);
}

/* The SPA loads several legacy layers after the public-page stylesheet. Keep
   ordinary contextual heroes readable after that cascade: the light hero
   uses dark text, while affiliate and partner heroes retain their intentional
   dark, high-contrast art direction. */
body.site-shell .public-page .public-page__hero:not(.affiliate-page__hero):not(.partner-page__hero) {
  background: var(--marketplace-hero, linear-gradient(125deg, #fff 0%, #f4f7fb 58%, #fff0f1 100%)) !important;
  border: 1px solid var(--marketplace-hero-border, #dfe5eb) !important;
  color: #202b3a !important;
  box-shadow: var(--cm-surface-shadow) !important;
}

body.site-shell .public-page .public-page__hero:not(.affiliate-page__hero):not(.partner-page__hero) :is(h1, h2) {
  color: #202b3a !important;
  -webkit-text-fill-color: #202b3a !important;
}

body.site-shell .public-page .public-page__hero:not(.affiliate-page__hero):not(.partner-page__hero) > p:not(.public-page__eyebrow) {
  color: var(--cm-ui-muted) !important;
  -webkit-text-fill-color: var(--cm-ui-muted) !important;
}

body.site-shell .public-page .public-page__hero:not(.affiliate-page__hero):not(.partner-page__hero) .public-page__eyebrow {
  display: block !important;
  color: var(--cm-ui-link) !important;
  -webkit-text-fill-color: var(--cm-ui-link) !important;
}

html[data-theme="dark"] body.site-shell .public-page .public-page__hero:not(.affiliate-page__hero):not(.partner-page__hero) {
  background: var(--cm-ui-paper) !important;
  border-color: var(--cm-ui-line) !important;
  color: var(--cm-ui-text) !important;
}

html[data-theme="dark"] body.site-shell .public-page .public-page__hero:not(.affiliate-page__hero):not(.partner-page__hero) :is(h1, h2) {
  color: var(--cm-ui-text) !important;
  -webkit-text-fill-color: var(--cm-ui-text) !important;
}

html[data-theme="dark"] body.site-shell .public-page .public-page__hero:not(.affiliate-page__hero):not(.partner-page__hero) > p:not(.public-page__eyebrow) {
  color: var(--cm-ui-muted) !important;
  -webkit-text-fill-color: var(--cm-ui-muted) !important;
}

/* Shared form fields. Scope is limited to public forms and detail panels so
   catalogue controls and navigation keep their existing behavior. */
:is(
  .public-page,
  .rental-guide,
  .affiliate-dashboard,
  .car-detail-page,
  .legal-page
) :is(input, select, textarea) {
  min-height: 44px;
  border: 1px solid var(--cm-surface-border) !important;
  border-radius: var(--cm-control-radius) !important;
  background: var(--cm-surface-subtle) !important;
  color: var(--cm-surface-text) !important;
}

:is(
  .public-page,
  .rental-guide,
  .affiliate-dashboard,
  .car-detail-page,
  .legal-page
) :is(input, select, textarea):focus-visible {
  border-color: var(--primary, #c9161d) !important;
  outline: 2px solid color-mix(in srgb, var(--primary, #c9161d) 24%, transparent);
  outline-offset: 1px;
}

:is(.public-page, .rental-guide, .affiliate-dashboard, .car-detail-page, .legal-page) label {
  color: var(--cm-surface-text);
}

@media (max-width: 720px) {
  :is(
    .public-page__card,
    .public-surface,
    .news-card,
    .inventory-card,
    .panel,
    .booking,
    .card,
    .marketplace-panel,
    .affiliate-page__promise > article,
    .affiliate-page__steps > article,
    .affiliate-page__formula-card,
    .affiliate-page__calculator,
    .partner-page__route-card,
    .partner-page__benefit-card,
    .business-panel,
    .affiliate-dashboard__card,
    .affiliate-dashboard__panel
  ) {
    border-radius: var(--cm-surface-radius) !important;
  }
}

/* Keep page-specific legacy CSS from reintroducing a second card language.
   The radius is the same on desktop and mobile; only the layout changes at
   the breakpoint. */
:where(
  .public-page__card,
  .public-surface,
  .news-card,
  .inventory-card,
  .inventory-landing__summary > div,
  .inventory-landing__location-list > a,
  .inventory-landing__faq details,
  .marketplace-panel,
  .legal-page,
  .panel,
  .booking,
  .stats > div,
  .card,
  .city-discovery,
  .faq details,
  .affiliate-page__promise > article,
  .affiliate-page__steps > article,
  .affiliate-page__formula-card,
  .affiliate-page__calculator,
  .affiliate-page__dashboard-card,
  .partner-page__route-card,
  .partner-page__benefit-card,
  .partner-page__quality-note,
  .business-panel,
  .affiliate-dashboard__card,
  .affiliate-dashboard__panel
) {
  border-radius: var(--cm-surface-radius) !important;
}


/* Source: /static/css/public-hero-consistency.css */
/* CarMisto public hero language.
   Informational and acquisition pages share one readable surface system. The
   affiliate page keeps its two-column content, but no longer introduces a
   separate dark/green visual language next to legal and guide pages. */
body.site-shell .public-page .affiliate-page__hero.marketplace-hero {
  display: block !important;
  min-height: 156px !important;
  max-width: 1120px !important;
  margin: var(--space-4) auto var(--space-5) !important;
  padding: 20px 24px !important;
  border: 1px solid var(--marketplace-hero-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--marketplace-hero) !important;
  box-shadow: 0 8px 24px rgba(23, 32, 42, .07) !important;
  color: var(--text-main) !important;
}

body.site-shell .public-page .affiliate-page__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 24px;
  align-items: stretch;
}

body.site-shell .public-page .affiliate-page__hero :is(h1, h2) {
  color: var(--text-main) !important;
  -webkit-text-fill-color: var(--text-main) !important;
}

body.site-shell .public-page .affiliate-page__hero .public-page__eyebrow {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--primary) !important;
  -webkit-text-fill-color: var(--primary) !important;
}

body.site-shell .public-page .affiliate-page__hero .affiliate-page__hero-copy > p:not(.public-page__eyebrow) {
  max-width: 680px;
  color: var(--text-muted) !important;
  -webkit-text-fill-color: var(--text-muted) !important;
}

body.site-shell .public-page .affiliate-page__hero .affiliate-page__actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 220px));
  gap: var(--space-2) !important;
  width: min(100%, 448px);
  margin-top: var(--space-4) !important;
}

body.site-shell .public-page .affiliate-page__hero .affiliate-page__actions :is(button, a) {
  width: 100%;
  box-sizing: border-box;
}

body.site-shell .public-page .affiliate-page__hero .public-page__hero-action {
  min-height: 44px;
  margin-top: 0 !important;
  border: 1px solid var(--primary) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--primary) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.site-shell .public-page .affiliate-page__hero .public-page__hero-action:hover {
  background: var(--primary-hover) !important;
}

body.site-shell .public-page .affiliate-page__hero .affiliate-page__text-action {
  min-height: 44px;
  border: 1px solid var(--cm-surface-border) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--cm-surface) !important;
  color: var(--text-main) !important;
  -webkit-text-fill-color: var(--text-main) !important;
}

body.site-shell .public-page .affiliate-page__hero-panel {
  gap: 10px;
  padding: 20px;
  border: 1px solid var(--cm-surface-border) !important;
  border-radius: var(--cm-surface-radius) !important;
  background: var(--cm-surface-subtle) !important;
  box-shadow: none !important;
  backdrop-filter: none;
  color: var(--cm-surface-text) !important;
}

body.site-shell .public-page .affiliate-page__hero-panel .affiliate-page__panel-label {
  color: var(--primary) !important;
  -webkit-text-fill-color: var(--primary) !important;
}

body.site-shell .public-page .affiliate-page__hero-panel strong {
  color: var(--cm-surface-text) !important;
  -webkit-text-fill-color: var(--cm-surface-text) !important;
}

body.site-shell .public-page .affiliate-page__hero-panel span:not(.affiliate-page__panel-label) {
  color: var(--cm-surface-muted) !important;
  -webkit-text-fill-color: var(--cm-surface-muted) !important;
}

body.site-shell .public-page .affiliate-page__hero-panel ul {
  color: var(--cm-surface-text) !important;
  -webkit-text-fill-color: var(--cm-surface-text) !important;
}

body.site-shell .public-page .affiliate-page__hero-panel li::before {
  color: var(--primary) !important;
}

@media (max-width: 760px) {
  body.site-shell .public-page .affiliate-page__hero.marketplace-hero {
    min-height: 0 !important;
    margin: var(--space-3) var(--space-3) var(--space-4) !important;
    padding: 18px !important;
  }

  body.site-shell .public-page .affiliate-page__hero-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.site-shell .public-page .affiliate-page__actions {
    grid-template-columns: 1fr;
    width: 100%;
  }

  body.site-shell .public-page .affiliate-page__hero-panel {
    padding: 16px;
  }
}


/* Source: /static/css/unified-ui.css */
/* 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; }
/* Category dimensions: responsive choices with separate labels and counts. */
html body.catalog-reference-upgrade #cat-filters .category-filter-help { margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: var(--cm-ui-muted); }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; margin: 14px 0; }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-group > b { grid-column: 1 / -1; font-size: 13px; margin: 0 0 2px; color: var(--cm-ui-text); }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__options .filter-btn { display: flex !important; justify-content: space-between; align-items: center; gap: 10px; width: 100% !important; min-width: 0; margin: 0 !important; line-height: 1.4 !important; white-space: normal !important; text-align: left; border: 1px solid var(--cm-ui-line); border-radius: 10px; background: var(--cm-ui-paper); color: var(--cm-ui-text); }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__options .filter-btn.active { border-color: var(--cm-ui-accent); background: var(--primary-light); color: var(--cm-ui-accent); }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__options .filter-btn:disabled { cursor: not-allowed; opacity: .5; }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__options :is(.filter-btn,.quick-vehicle-group)[hidden] { display: none !important; }
html body.catalog-reference-upgrade #cat-filters .category-option__label { min-width: 0; overflow-wrap: anywhere; font-weight: 650; }
html body.catalog-reference-upgrade #cat-filters .category-option__count { flex: 0 0 auto; display: inline-grid; place-items: center; min-width: 24px; padding: 2px 6px; border-radius: 6px; background: var(--cm-ui-soft); font-size: 12px; font-weight: 750; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .quick-vehicle-filters .filter-btn[hidden],
html body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .quick-vehicle-group[hidden] { display: none !important; }
html body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .category-option__count { color: var(--cm-ui-text) !important; }
html body.catalog-reference-upgrade #cat-filters .category-filter-actions { position: sticky; bottom: -14px; display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 12px 0 4px; background: var(--cm-ui-paper); border-top: 1px solid var(--cm-ui-line); }
html body.catalog-reference-upgrade #cat-filters .category-filter-actions button { min-height: 44px; padding: 10px 14px; border: 1px solid var(--cm-ui-line); border-radius: 10px; font: 700 13px/1.4 var(--cm-ui-font); cursor: pointer; }
html body.catalog-reference-upgrade #cat-filters .category-filter-reset { background: var(--cm-ui-paper); color: var(--cm-ui-text); }
html body.catalog-reference-upgrade #cat-filters .category-filter-reset:disabled { opacity: .5; cursor: default; }
html body.catalog-reference-upgrade #cat-filters .category-filter-done { background: var(--cm-ui-accent); color: #fff; }
html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters__selection { white-space: normal; overflow: visible; }
html body.catalog-reference-upgrade #cat-filters .catalog-discovery-panel-heading { position: sticky; top: -14px; padding: 4px 0; background: var(--cm-ui-paper); z-index: 2; }
@media (min-width: 761px) {
  html body.catalog-reference-upgrade #cat-filters .quick-vehicle-filters[open] > .quick-vehicle-filters__options[popover]:popover-open { position: fixed; inset: 0; margin: auto !important; width: min(760px, calc(100vw - 40px)); height: fit-content; max-height: calc(100dvh - 110px) !important; z-index: 20; box-shadow: 0 0 0 100vmax rgba(15,23,42,.18), 0 12px 32px rgba(15,23,42,.24); }
}
@media (max-width: 760px) {
  html body.catalog-reference-upgrade #cat-filters .quick-vehicle-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .quick-vehicle-filters .filter-btn { padding-inline: 8px !important; gap: 6px !important; }
  html body.catalog-reference-upgrade #catalog-discovery-toolbar #cat-filters .category-option__count { min-width: 20px; padding-inline: 4px; }
  html body.catalog-reference-upgrade #cat-filters .category-filter-actions button { flex: 1; padding-inline: 8px; }
}
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 .offer-checkout__primary {
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: center;
  gap: 10px; order: 1; min-width: 0;
}
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: auto auto !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 {
    display: contents !important;
    min-width: 0;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .car-card.car-card--catalogue .offer-checkout {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    align-items: start;
    border-left: 0 !important;
    border-top: 1px solid var(--cm-ui-line) !important;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .offer-checkout__primary {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    order: 0;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .offer-checkout :is(.saved-checkout-pill, .price-savings, .promotion-price) {
    grid-column: 1 / -1;
  }
  html body.catalog-reference-upgrade #catalog-map-layout.has-side-map #fleet-grid .offer-checkout .availability-pill { order: 1; }
  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;
  }
}
@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; }
}

/* A native disclosure with a visible affordance and a usable touch target. */
html body.catalog-reference-upgrade #fleet-grid .offer-checkout .car-card__rate-details > summary {
  display: flex; align-items: center; gap: 8px; min-height: 44px;
  box-sizing: border-box; padding: 10px 12px; list-style: none;
  border: 1px solid var(--border); border-radius: 10px;
  background: var(--bg-card); color: var(--text-main); font-size: 13px; line-height: 1.4;
}
html body.catalog-reference-upgrade #fleet-grid .car-card__rate-details > summary::-webkit-details-marker { display: none; }
html body.catalog-reference-upgrade #fleet-grid .car-card__rate-details > summary > span { flex: 1; min-width: 0; }
html body.catalog-reference-upgrade #fleet-grid .car-card__rate-count { flex: none; font-size: 11px; color: var(--text-muted); }
html body.catalog-reference-upgrade #fleet-grid .car-card__rate-details > summary::after { content: '⌄'; flex: none; font-size: 22px; line-height: 1; }
html body.catalog-reference-upgrade #fleet-grid .car-card__rate-details[open] > summary::after { content: '⌃'; }
html body.catalog-reference-upgrade #fleet-grid .car-card__rate-details > summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }


/* Source: /static/css/marketplace-listing-entry.css */
/* The marketplace has two audiences: finding a car and listing a real offer.
   Reuse existing onboarding, cabinet permissions and moderation. */
#main-header .header-list-car {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid var(--primary);
    border-radius: 11px;
    background: var(--primary);
    color: #fff !important;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}
#main-header .header-list-car:hover { filter: brightness(.92); }
#main-header .header-list-car:focus-visible,
#mobile-nav .nav-list-car:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 3px;
}
#main-header .header-list-car:focus-visible { outline-color: #fff; }
html body.catalog-reference-upgrade #page-fleet > .journey-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px !important;
}
html body.catalog-reference-upgrade #page-fleet > .journey-hero .eyebrow {
    display: block !important;
    position: static !important;
    margin: 0 0 5px !important;
    font-size: 10px !important;
    font-weight: 800;
    letter-spacing: .08em;
}
.marketplace-listing-prompt {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    width: 240px;
    padding: 9px 12px;
    border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--border));
    border-radius: 13px;
    background: color-mix(in srgb, var(--primary) 4%, var(--bg-card));
    box-sizing: border-box;
}
.marketplace-listing-prompt__copy { display: grid; gap: 3px; min-width: 0; }
.marketplace-listing-prompt__copy strong { color: var(--text-main); font-size: 13px; line-height: 1.3; }
.marketplace-listing-prompt__copy span { color: var(--text-muted); font-size: 12px; line-height: 1.3; }
.marketplace-listing-prompt__copy small { color: var(--text-muted); font-size: 11px; line-height: 1.25; }
.partner-page__listing-note { max-width: 65ch; color: var(--text-muted); font-size: 13px; line-height: 1.5; }
@media (min-width: 851px) and (max-width: 1170px) {
    body:not(.is-tg-app) #main-header .header-list-car { padding-inline: 9px; font-size: 11px; }
    body:not(.is-tg-app) #main-header .header-actions { gap: 4px; }
}
@media (max-width: 850px) {
    #main-header .header-list-car { display: none; }
    #mobile-nav .mobile-nav-inner {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 2px !important;
    }
    #mobile-nav .mobile-nav-inner > .nav-link {
        width: auto !important;
        min-width: 0 !important;
        padding-inline: 2px !important;
        font-size: 10px !important;
        line-height: 1.2;
        white-space: normal;
    }
    #mobile-nav .mobile-nav-inner > .nav-link > span:not(.icon) {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    #mobile-nav .nav-list-car { color: var(--primary) !important; font-weight: 800; }
    #mobile-nav .nav-list-car .icon {
        display: grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 10px;
        background: var(--primary);
        color: #fff;
        filter: none !important;
        opacity: 1 !important;
        font-size: 25px;
        line-height: 1;
    }
}
@media (max-width: 760px) {
    html body.catalog-reference-upgrade #page-fleet > .journey-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px !important;
    }
    .marketplace-listing-prompt {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 8px;
    }
    .marketplace-listing-prompt__copy strong { font-size: 12px; }
    .marketplace-listing-prompt__copy span { font-size: 11px; }
}


/* Source: /static/css/release-experience.css */
/* Scoped finishing layer; keep routes, quote calculation and gallery images intact. */
.booking-offer-preview__summary { display: none; }
.booking-request-notice {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-left: 3px solid var(--primary, #c9161d);
    border-radius: 6px;
    background: var(--bg-card, #fff);
    color: var(--text-muted, #536174);
    font-size: 13px;
    line-height: 1.5;
}
body.catalog-reference-upgrade .offer-info .car-card__title { font-size: 24px; line-height: 1.2; }
body.catalog-reference-upgrade .offer-info .car-card__specs { font-size: 14px; line-height: 1.45; }
body.catalog-reference-upgrade .offer-checkout .card-total-price { font-size: 30px; line-height: 1.2; }
body.catalog-reference-upgrade .offer-checkout .card-daily-price { color: var(--text-muted); font-size: 14px; }
body.catalog-reference-upgrade .offer-checkout .card-book-btn { min-height: 46px; font-size: 15px; }
body.catalog-reference-upgrade #rental-destinations { margin-block: 20px; }

/* Match the existing 44px listing action: a visible control must also have a
   usable touch target. Scope overrides to the shared shell, not admin tables. */
html body.site-shell #main-header :is(#theme-btn, #user-badge) {
    min-height: 44px !important;
    min-width: 44px !important;
}
html body.catalog-reference-upgrade .catalog-view-controls button {
    min-height: 44px !important;
}
html body.site-shell #btn-mic { min-width: 44px !important; }

@media (max-width: 850px) {
    html body.site-shell #main-header { min-height: 58px; }

    /* One scroll owner, even when an already-open desktop modal is narrowed.
       The zero flex basis of the legacy right pane must not collapse a step
       or let its controls extend outside the visible sheet. */
    html body.site-shell #bookingModal .modal-body {
        flex-direction: column;
        overflow-y: auto !important;
        max-height: 96dvh !important;
        overscroll-behavior: contain;
    }
    html body.site-shell #bookingModal .m-left {
        flex: 0 0 auto !important;
        max-height: none !important;
        overflow-y: visible !important;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }
    html body.site-shell #bookingModal .m-right {
        flex: 0 0 auto !important;
        min-height: auto;
        overflow-y: visible !important;
    }
    html body.site-shell #bookingModal .m-right > * { flex-shrink: 0; }
}

@media (max-width: 760px) {
    html body.site-shell #bookingModal .booking-offer-preview {
        display: block !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 1px solid var(--border, #dce2ea);
        border-radius: 12px;
        background: var(--bg-card, #fff);
    }
    html body.site-shell #bookingModal .booking-offer-preview > summary {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 72px;
        padding: 12px;
        list-style: none;
        cursor: pointer;
    }
    .booking-offer-preview > summary::-webkit-details-marker { display: none; }
    .booking-offer-preview__summary img { flex: 0 0 64px; width: 64px; height: 48px; object-fit: contain; }
    .booking-offer-preview__summary > span:not(.booking-offer-preview__arrow) { flex: 1; min-width: 0; }
    .booking-offer-preview__summary strong { display: block; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
    .booking-offer-preview__summary small { display: block; margin-top: 4px; color: var(--text-muted); font-size: 13px; }
    .booking-offer-preview__summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
    .booking-offer-preview[open] .booking-offer-preview__arrow { transform: rotate(180deg); }
    .booking-offer-preview__content { padding: 12px; border-top: 1px solid var(--border); }
    html body.site-shell #bookingModal .booking-offer-preview .swipe-gallery-wrapper {
        height: auto !important; min-height: 0 !important; max-height: none !important; overflow: hidden;
    }
    html body.site-shell #bookingModal .booking-offer-preview .swipe-gallery {
        height: auto !important; max-height: none !important; aspect-ratio: 4 / 3;
    }
    html body.site-shell #bookingModal .booking-offer-preview .swipe-gallery img {
        width: 100% !important; height: 100% !important; max-height: none !important;
        padding: 0 !important; object-fit: contain !important;
    }
    .booking-request-notice { font-size: 12px; margin-bottom: 10px; }
}
