/* Source: /static/css/design-system.css */
/* CarMisto UI foundation. Loaded last: it unifies legacy screens without changing routes or JS hooks. */
:root{--nr-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--primary:#c9161d;--primary-hover:#a90f16;--primary-active:#8e0b11;--primary-light:rgba(201,22,29,.1);--secondary:#20242c;--accent:#f6b63f;--bg-main:#f6f7f9;--bg-card:#fff;--bg-modal:#fff;--bg-input:#fbfcfe;--surface-secondary:#f0f2f5;--text-main:#17202a;--text-muted:#667085;--border:#dfe3e8;--success:#15803d;--warning:#b7791f;--error:#c9161d;--info:#2463b5;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius:var(--radius-lg);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--shadow:0 8px 24px rgba(23,32,42,.08);--shadow-raised:0 14px 36px rgba(23,32,42,.13);--focus-ring:0 0 0 3px rgba(201,22,29,.24)}
[data-theme="dark"]{--bg-main:#12161c;--bg-card:#1b2129;--bg-modal:#1b2129;--bg-input:#232b35;--surface-secondary:#27313c;--text-main:#f5f7fa;--text-muted:#aeb8c5;--border:#3a4654;--shadow:0 10px 28px rgba(0,0,0,.32);--shadow-raised:0 16px 40px rgba(0,0,0,.42)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--nr-font);background:var(--bg-main);color:var(--text-main);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:10050;padding:10px 14px;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-weight:800;text-decoration:none;transform:translateY(-160%);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:var(--focus-ring)!important}button:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.62}h1,h2,h3,h4{color:var(--text-main);letter-spacing:-.025em}h1{font-size:clamp(28px,3.2vw,42px);line-height:1.1}h2{font-size:clamp(22px,2.3vw,30px);line-height:1.2}h3{font-size:18px;line-height:1.3}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(pointer:coarse){button,.btn,a.btn,input,select{min-height:44px}}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-main);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input:not([type="checkbox"]):not([type="radio"]):hover,select:hover,textarea:hover{border-color:#b9c1cb}input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{border-color:var(--primary);background:var(--bg-card)}
.btn-primary,.card-book-btn,.public-page__lead-submit,.business-apply,.cta,.btn-hold{border-radius:var(--radius-sm);background:var(--primary);color:#fff;box-shadow:none;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}.btn-primary:hover:not(:disabled),.card-book-btn:hover:not(:disabled),.public-page__lead-submit:hover:not(:disabled),.business-apply:hover:not(:disabled),.cta:hover:not(:disabled),.btn-hold:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 6px 16px rgba(201,22,29,.22);transform:translateY(-1px)}.btn-primary:active:not(:disabled),.card-book-btn:active:not(:disabled),.public-page__lead-submit:active:not(:disabled),.business-apply:active:not(:disabled),.cta:active:not(:disabled),.btn-hold:active:not(:disabled){background:var(--primary-active);transform:translateY(0)}.btn-icon,.filter-btn{border-radius:var(--radius-sm)}.skeleton{border-radius:var(--radius-sm);animation-duration:1.4s}
.modal{background:rgba(23,32,42,.64)}.modal-body{border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);box-shadow:0 20px 56px rgba(23,32,42,.30)}.btn-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--bg-card);font-size:22px}.btn-close:hover{color:var(--primary);border-color:rgba(201,22,29,.36)}
.card,.public-page__card,.affiliate-dashboard__card,.affiliate-dashboard__panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card{padding:var(--space-4);border-width:1px}.card:hover:not(.card-unavailable),.card.highlight{border-color:rgba(201,22,29,.48);box-shadow:var(--shadow-raised);transform:translateY(-4px)}.card-img-box{border-radius:var(--radius-md);background:var(--surface-secondary)}.card-terms span{border-radius:var(--radius-sm);background:var(--surface-secondary)}.card-total-price,.price{color:var(--primary)!important}.filter-btn{min-height:40px;padding:8px 14px;box-shadow:none}.filter-btn.active,.filter-btn:hover{background:var(--secondary);border-color:var(--secondary);transform:none}
body:not(.is-tg-app) #main-header{border-bottom-color:var(--primary);background:var(--secondary)}body:not(.is-tg-app) #main-header .desktop-nav a.active{background:var(--primary);border-color:var(--primary)}body:not(.is-tg-app) #main-header .desktop-nav a:hover:not(.active){background:rgba(255,255,255,.12)}body:not(.is-tg-app) #main-header .logo{border-radius:var(--radius-sm)}.mobile-nav{background:rgba(255,255,255,.96);border-top-color:var(--border)}.mobile-nav a.active,.mobile-nav button.active{color:var(--primary)}
.site-footer{max-width:1200px;margin:var(--space-6) auto 0;padding:var(--space-5) max(20px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom));color:var(--text-muted);font-size:13px;text-align:center;border-top:1px solid var(--border)}.site-footer a{color:inherit;margin:0 var(--space-2);text-decoration:none}.site-footer a:hover{color:var(--primary);text-decoration:underline}
.header-account-link,.header-account{display:flex;align-items:center;gap:var(--space-2);color:#fff;font-size:13px;font-weight:700;text-decoration:none}.header-account-badge,.header-logout{min-height:36px;padding:8px 14px;border-radius:999px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.header-account-badge{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.15);color:#fff}.header-account-badge:hover{background:rgba(255,255,255,.24)}.header-logout{display:none;border:1px solid rgba(255,255,255,.18);background:rgba(204,0,0,.7);color:#fff}.header-logout:hover{background:#a40000}
.spa-content-surface{margin-top:var(--space-5);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow)}
@media(min-width:851px){body:not(.is-tg-app) #main-header{grid-template-columns:auto minmax(0,1fr) auto auto}body:not(.is-tg-app) #main-header .desktop-nav{justify-content:flex-start;overflow:visible}body:not(.is-tg-app) #main-header .desktop-nav>a:nth-of-type(-n+5){display:block!important}body:not(.is-tg-app) #main-header .desktop-nav>a:nth-of-type(n+6){display:none!important}.desktop-nav-overflow{position:relative;grid-column:3;grid-row:1}.desktop-nav-more{min-height:32px;padding:6px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:rgba(255,255,255,.84);font-size:11px;font-weight:700;cursor:pointer}.desktop-nav-more:hover,.desktop-nav-more[aria-expanded="true"],.desktop-nav-more.is-active{background:rgba(255,255,255,.12);color:#fff}.desktop-more-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:1001;display:grid;min-width:180px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-raised)}.desktop-more-menu a{padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-main);font-size:14px;font-weight:700;text-decoration:none}.desktop-more-menu a:hover,.desktop-more-menu a.active{background:var(--primary-light);color:var(--primary)}body:not(.is-tg-app) #main-header .header-actions{grid-column:4}}@media(max-width:850px){.desktop-nav-overflow{display:none}.spa-content-surface{margin-top:var(--space-4);padding:var(--space-4)}}
[data-theme="dark"] .mobile-nav{background:rgba(27,33,41,.97)}[data-theme="dark"] .btn-close{background:var(--bg-input)}
.mobile-menu-item{min-height:48px}.mobile-menu-item.active{background:var(--primary-light);color:var(--primary);font-weight:800}.mobile-more-menu[hidden]{display:none!important}
.mobile-currency-control,.mobile-language-control{justify-content:space-between}.mobile-currency-control select{width:auto;min-height:40px;padding:7px 30px 7px 10px;font:inherit;font-size:14px;font-weight:800}.mobile-language-control{display:flex;align-items:center;gap:var(--space-3);font-weight:800}.mobile-language-switch{display:flex;gap:var(--space-1);padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--bg-input)}.mobile-language-switch button{min-width:42px;min-height:34px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.mobile-language-switch button.active,.mobile-language-switch button[aria-pressed="true"]{background:var(--primary);color:#fff}@media(max-width:600px){#main-header .header-actions--shared>#curr-switch,#main-header .header-actions--shared>.shared-language-switch{display:none!important}#main-header .header-actions{gap:6px}#main-header #user-badge{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:340px){#main-header #curr-switch{display:none!important}.header-actions{gap:4px!important}.header-brand-name{font-size:16px!important}}
.auth-modal-body{width:min(420px,calc(100vw - 32px));max-width:420px!important;padding:var(--space-5)!important;flex-direction:column;overflow-y:auto}.auth-modal-close{align-self:flex-end;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:24px;cursor:pointer}.auth-modal-close:hover{background:var(--surface-secondary);color:var(--text-main)}.auth-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-5);padding:var(--space-1);border-radius:var(--radius-md);background:var(--bg-input)}.auth-tab{flex:1;min-height:42px;padding:10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-weight:800;cursor:pointer}.auth-field{margin-bottom:var(--space-3)}.auth-field--last{margin-bottom:var(--space-5)}.auth-field label{display:block;margin-bottom:var(--space-1);color:var(--text-muted);font-size:12px;font-weight:700}.auth-input{width:100%;min-height:46px;padding:10px 12px!important;font-size:15px}.auth-submit,.auth-secondary-action{width:100%;min-height:46px;border-radius:var(--radius-sm);font-weight:800;cursor:pointer}.auth-submit{padding:12px;border:0;background:var(--primary);color:#fff;font-size:16px}.auth-submit:hover{background:var(--primary-hover)}.auth-secondary-action{margin-top:var(--space-2);padding:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main)}.auth-secondary-action:hover{background:var(--surface-secondary)}.auth-help{margin:var(--space-4) 0 0;color:var(--text-muted);font-size:13px;text-align:center}.auth-help--compact{margin-top:var(--space-2)}.auth-text-action{padding:0;border:0;background:transparent;color:var(--primary);font:inherit;font-weight:800;cursor:pointer}.auth-text-action:hover{text-decoration:underline}#passwordResetModal .modal-body{width:min(420px,calc(100vw - 32px));max-width:420px!important;padding:var(--space-5)!important;flex-direction:column;overflow-y:auto}#passwordResetModal .modal-body>button:first-child{align-self:flex-end;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:24px;cursor:pointer}#passwordResetModal input{width:100%!important;min-height:46px;padding:10px 12px!important;box-sizing:border-box;border-radius:var(--radius-sm)!important}#passwordResetModal label{display:block;margin:var(--space-4) 0 var(--space-1);font-size:13px;font-weight:700}#passwordResetModal div>button:not(:first-child){width:100%;min-height:46px;margin-top:var(--space-4)!important;padding:12px!important;border-radius:var(--radius-sm)!important;font-weight:800}
.profile-booking-filter{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.profile-booking-filter__search{flex:1 1 180px;min-width:0;padding:10px 12px!important;background:var(--bg-input)!important}.profile-booking-filter__status{min-width:190px;padding:10px 34px 10px 12px!important;background:var(--bg-input)!important}.profile-booking-empty{margin:0 0 var(--space-3);color:var(--text-muted)}#profile-email-panel,#profile-security-panel{border:1px solid var(--border);border-radius:var(--radius-md)!important;background:var(--surface-secondary)!important}#profile-email-panel label,#profile-security-panel label{display:block;margin-bottom:var(--space-1)!important;color:var(--text-muted)!important;font-size:12px;font-weight:800}#profile-email-panel input,#profile-security-panel input{min-height:44px;padding:10px 12px!important;border-radius:var(--radius-sm)!important;background:var(--bg-card)!important}#profile-email-panel button,#profile-security-panel button{min-height:44px;border-radius:var(--radius-sm)!important}#profile-email-panel>div[style*="display:flex"],#profile-security-panel>div[style*="display:flex"]{gap:var(--space-2)!important}
.profile-title{margin:0 0 var(--space-1);font-size:clamp(24px,3vw,30px)}
.saved-garage-title{margin-top:0}.saved-garage-tools{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary)}.empty-state{grid-column:1/-1;width:100%;padding:var(--space-7) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-muted);text-align:center}.empty-state>span{display:block;margin-bottom:var(--space-3);color:var(--primary);font-size:42px;line-height:1}.empty-state h3{margin:0;color:var(--text-main)}.empty-state p{max-width:440px;margin:var(--space-2) auto var(--space-4)}.empty-state__action{min-height:44px;padding:10px 16px;border:0;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.empty-state__action:hover{background:var(--primary-hover)}
.header-logo-button{display:flex;align-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.header-logo-button .logo{display:block}.language-divider{color:rgba(255,255,255,.3)}.catalog-result-count{margin:0 0 var(--space-3);color:var(--text-muted);font-size:13px}.catalog-load-error{grid-column:1/-1;display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);border:1px solid rgba(201,22,29,.25);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-muted);text-align:center}.catalog-load-error strong{color:var(--text-main);font-size:18px}.catalog-load-error button{min-height:44px;padding:10px 16px;border:0;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.booking-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:99;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:28px;cursor:pointer}.booking-modal-close:hover{background:var(--surface-secondary);color:var(--text-main)}
.public-page__empty{display:grid;justify-items:start;gap:var(--space-2);min-height:220px;align-content:center}.public-page__empty p{margin:0}.public-page__entry{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-4)}.public-page__entry time{min-width:92px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-muted);font-size:12px;font-weight:800;text-align:center}.public-page__entry h2{margin:0 0 var(--space-1)}.public-page__entry p{margin:0;color:var(--text-muted)}.site-footer a:focus-visible{border-radius:var(--radius-sm)}
.public-page{max-width:1200px;margin-top:var(--space-5);margin-bottom:var(--space-8)}.public-page__hero{padding:clamp(18px,2.5vw,28px);border-radius:var(--radius-lg);background:linear-gradient(125deg,#161b24 0%,#292d36 62%,#641116 100%);box-shadow:var(--shadow);color:#fff}.public-page__hero h1,.public-page__hero h2{max-width:780px;color:#fff;font-size:clamp(24px,2.8vw,34px);line-height:1.1}.public-page__hero p{max-width:680px;color:rgba(255,255,255,.94);font-size:14px;line-height:1.45}.public-page__hero .public-page__eyebrow{color:#ffd5cf}.public-page__card{padding:var(--space-5)}.public-page__section-nav a,.public-page__section-nav button,.public-page__overview-item{border-radius:var(--radius-sm)}.public-page__lead-form input,.public-page__lead-form textarea,.public-page-dialog select{min-height:44px;border-radius:var(--radius-sm);background:var(--bg-input)}.public-page__lead-submit{min-height:44px}.public-page-dialog,.business-apply-dialog{border-radius:var(--radius-lg)}
.bar,header.bar{background:var(--secondary)!important;border-bottom:3px solid var(--primary)}.panel,.booking,.stats div,.cards .card,.legal-page{border-color:var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important}.booking{top:76px}.title,.lead h1{letter-spacing:-.03em}.condition-grid,.availability-head input{border-color:var(--border)}.condition-grid div{border-color:var(--border)}.availability-day.selected{background:var(--secondary);border-color:var(--secondary)}.legal-page{max-width:860px}
/* The affiliate area stays compact for operational work, but now inherits the
   marketplace palette and control states instead of introducing a second one. */
.affiliate-dashboard button{background:var(--primary)!important;color:#fff!important}.affiliate-dashboard button:hover:not(:disabled){background:var(--primary-hover)!important}.affiliate-dashboard__hero{border-color:var(--border)!important;border-radius:var(--radius-lg)!important;background:var(--bg-card)!important;color:var(--text-main)!important;box-shadow:var(--shadow)!important}.affiliate-dashboard__hero p:first-child{color:var(--primary)!important}.affiliate-dashboard__hero h1,.affiliate-dashboard__card strong,.affiliate-dashboard__panel h2{color:var(--text-main)!important}.affiliate-dashboard__hero>p:not(:first-child),.affiliate-dashboard__panel p,.affiliate-dashboard__card{color:var(--text-muted)!important}.affiliate-dashboard__link,.affiliate-dashboard__tool{border-color:var(--border)!important;background:var(--surface-secondary)!important}.affiliate-dashboard__hero code{background:var(--bg-card)!important;color:var(--text-main)!important}.affiliate-dashboard__card,.affiliate-dashboard__panel{border-color:var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow)!important}.affiliate-dashboard__card::before{background:var(--primary)!important}.affiliate-dashboard__card:nth-child(3) strong,.affiliate-dashboard__card:nth-child(4) strong{color:var(--success)!important}.affiliate-dashboard input,.affiliate-dashboard select{border-color:var(--border)!important;border-radius:var(--radius-sm)!important}.affiliate-dashboard__banner{background:var(--secondary)!important;border-radius:var(--radius-sm)!important}.affiliate-dashboard__note{border-color:rgba(21,128,61,.24)!important;border-left-color:var(--success)!important;background:rgba(21,128,61,.08)!important}
@media(max-width:850px){body{padding-bottom:76px}.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.public-page{margin-top:var(--space-4)}.public-page__hero{padding:var(--space-5) var(--space-4)}.public-page__card{padding:var(--space-4)}.public-page__entry{grid-template-columns:1fr}.public-page__entry time{width:max-content}.card:hover:not(.card-unavailable){transform:none}.modal{align-items:flex-end;padding:0}.modal-body{max-height:94dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.btn-close{display:none}.booking-modal-close{top:var(--space-2);right:var(--space-2);background:var(--bg-card);box-shadow:var(--shadow)}}@media(max-width:390px){.site-footer a{display:inline-block;margin:var(--space-1) var(--space-2)}.saved-garage-tools{align-items:stretch}.saved-garage-tools .client-booking-action{width:100%}.profile-booking-filter__status{width:100%;min-width:0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Marketplace component layer: shared search, result and checkout patterns. */
.marketplace-search{align-items:stretch}.marketplace-search__location{flex:1.15;margin-bottom:0}.marketplace-search__dates{display:flex;flex:2;min-width:0}.marketplace-search__dates-inner{flex:1;min-width:0}.marketplace-search__date-fields{display:flex;gap:var(--space-3);flex-wrap:wrap}.marketplace-search__date-field{flex:1 1 136px;margin-bottom:0}.marketplace-search__time-field{flex:0 1 120px;margin-bottom:0}.catalog-sort{min-height:42px;padding:10px 34px 10px 14px;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;background:var(--bg-card)!important;color:var(--text-main)!important;box-shadow:none!important;font-size:13px!important;font-weight:800!important}.catalog-loading{display:grid;grid-column:1/-1;justify-items:center;gap:var(--space-3);padding:var(--space-7);color:var(--text-muted);text-align:center}.catalog-loading .loader{margin:0}.filters-sheet{width:min(500px,calc(100vw - 32px));max-width:500px!important;padding:var(--space-5)!important;flex-direction:column;overflow-y:auto}.filters-sheet__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.filters-sheet label{display:block;margin-bottom:var(--space-1);color:var(--text-muted);font-size:12px;font-weight:800}.filters-sheet select,.filters-sheet input[type="text"],.filters-sheet input[type="number"]{width:100%;margin-bottom:var(--space-4);padding:10px 12px!important;border-radius:var(--radius-sm)!important;font-size:14px!important}.filters-sheet input[type="checkbox"]{accent-color:var(--primary)}
.car-card{display:flex;flex-direction:column;min-width:0;padding:var(--space-4)}.car-card__title{margin:0 0 var(--space-1);font-size:18px;font-weight:800}.car-card__specs,.car-card__badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.car-card__specs{margin-bottom:var(--space-4);color:var(--text-muted);font-size:12px;font-weight:700}.car-card__specs span{padding:4px 8px;border-radius:var(--radius-sm);background:var(--bg-input)}.car-card__badges{margin-bottom:var(--space-2)}.car-card__badge{padding:4px 7px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:800}.car-card__location{margin-bottom:var(--space-2);overflow:hidden;color:var(--text-muted);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.car-card__status{margin-top:var(--space-2);font-size:11px;font-weight:800}.car-card__status.is-available{color:var(--success)}.car-card__status.is-unavailable{color:var(--error)}.car-card .card-book-btn{min-height:46px;margin-top:var(--space-3);font-size:14px}.car-card .price-total{margin-top:auto}
.m-right>div[style*="background:var(--bg-card)"],#m-availability,#m-product-terms{border-radius:var(--radius-md)!important}.m-right>div[style*="border:2px solid var(--primary)"]{box-shadow:0 0 0 3px var(--primary-light)}.booking-steps{border-radius:var(--radius-md)}.checkout-assurance{color:var(--text-muted);font-size:12px;line-height:1.45}
@media(min-width:1000px){.marketplace-search{display:grid!important;grid-template-columns:minmax(220px,.95fr) minmax(440px,1.8fr) 44px 44px;gap:var(--space-3)!important}.marketplace-search__location,.marketplace-search__dates{min-width:0}.marketplace-search__date-fields{flex-wrap:nowrap}.marketplace-search__date-field{min-width:0}.marketplace-search__time-field{min-width:94px}.car-card{min-height:100%}}
@media(max-width:700px){.marketplace-search{gap:var(--space-3)!important}.marketplace-search__location,.marketplace-search__dates{width:100%;flex-basis:100%}.marketplace-search__date-fields{display:grid;grid-template-columns:1fr minmax(92px,.7fr);gap:var(--space-2)}.marketplace-search__date-field,.marketplace-search__time-field{min-width:0}.filters-sheet{width:100%;max-height:94dvh;padding:var(--space-4)!important}.car-card:hover{transform:none}.car-card .card-book-btn{min-height:48px}.catalog-sort{max-width:100%}}

/* Results rail: persistent controls on desktop, a focused filter sheet on smaller screens. */
#catalog-results-layout{min-width:0}.catalog-filter-rail{display:none}.catalog-filter-rail__head{display:flex;align-items:start;justify-content:space-between;gap:var(--space-2)}.catalog-filter-rail__head strong{display:block;font-size:16px}.catalog-filter-rail__summary{display:block;margin-top:3px;color:var(--text-muted);font-size:12px}.catalog-filter-rail__clear{padding:0;border:0;background:transparent;color:var(--primary);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.catalog-filter-rail__clear:hover{text-decoration:underline}.catalog-active-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.catalog-active-filters[hidden]{display:none}.catalog-filter-chip{display:inline-flex;align-items:center;max-width:100%;min-height:30px;padding:5px 8px;border:1px solid rgba(201,22,29,.25);border-radius:999px;background:var(--primary-light);color:var(--primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.catalog-filter-chip:hover{border-color:var(--primary);background:#fff}.catalog-filter-rail__quick{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.catalog-filter-rail__toggle,.catalog-filter-rail__all{min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-main);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.catalog-filter-rail__toggle:hover,.catalog-filter-rail__toggle.is-active{border-color:rgba(201,22,29,.42);background:var(--primary-light);color:var(--primary)}.catalog-filter-rail__all{width:100%;margin-top:var(--space-4);border-color:var(--primary);background:var(--primary);color:#fff;text-align:center}.catalog-filter-rail__all:hover{background:var(--primary-hover)}.booking-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1);margin:0 0 var(--space-3)}.booking-progress__step{min-width:0;padding:7px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11px;font-weight:800;line-height:1.2;text-align:center}.booking-progress__step.is-current{border-color:rgba(201,22,29,.35);background:var(--primary-light);color:var(--primary)}.booking-progress__step.is-complete{border-color:rgba(21,128,61,.24);background:rgba(21,128,61,.08);color:var(--success)}
@media(min-width:1000px){#catalog-results-layout{display:grid;grid-template-columns:238px minmax(0,1fr);align-items:start;gap:var(--space-4)}.catalog-filter-rail{position:sticky;top:92px;display:block;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow)}#catalog-map-layout{min-width:0}}
@media(max-width:390px){.booking-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}
.car-card__more-terms{margin:0;padding:0;border:0}.car-card__more-terms summary{color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer}.car-card__more-terms>div{display:grid;gap:var(--space-1);margin-top:var(--space-2)}.car-card__more-terms span{display:block}
@media(max-width:700px){.car-card{padding:var(--space-3)}.car-card .card-img-box{height:156px}.car-card__specs{margin-bottom:var(--space-2)}.car-card .card-terms{margin-bottom:var(--space-2)}.car-card .availability-pill small{display:none}.car-card__more-terms summary{min-height:28px;padding-top:2px}.car-card__more-terms>div{padding-bottom:var(--space-1)}}

/* Visual QA consolidation: keep the first screen focused on a readable value
   proposition and the actual search, despite older page-specific CSS. */
#page-fleet .journey-hero h1{color:#fff!important}.header-logo-button{gap:9px}.header-brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--primary);color:#fff;font-size:11px;font-weight:900;letter-spacing:-.04em;box-shadow:0 4px 12px rgba(201,22,29,.25)}.header-brand-name{color:#fff;font-size:15px;font-weight:900;letter-spacing:-.03em;white-space:nowrap}.stories-bar[hidden]{display:none!important}
#desktop-more-menu[hidden]{display:none!important}
.header-logo-button{text-decoration:none;cursor:pointer}
#f-search-group .floating-label{z-index:2;max-width:calc(100% - 58px);overflow:hidden;padding:0 4px;background:var(--bg-card);text-overflow:ellipsis;white-space:nowrap}
/* Every desktop destination remains directly reachable.  On medium widths the
   navigation wraps below the brand instead of being moved into an opaque menu. */
@media(min-width:851px){
  body:not(.is-tg-app) #main-header{grid-template-columns:auto minmax(0,1fr) auto!important;row-gap:4px}
  body:not(.is-tg-app) #main-header .desktop-nav{grid-column:2;grid-row:1;display:flex!important;flex-wrap:wrap;justify-content:flex-start;gap:3px 4px;margin-left:var(--space-2);overflow:visible}
  body:not(.is-tg-app) #main-header .desktop-nav>a{display:block!important;padding:6px 8px;font-size:10px;white-space:nowrap}
  body:not(.is-tg-app) #main-header .desktop-nav>a:nth-of-type(n+6){display:block!important}
  body:not(.is-tg-app) #main-header .desktop-nav-overflow{display:none!important}
  body:not(.is-tg-app) #main-header .header-actions{grid-column:3!important;grid-row:1}
  body:not(.is-tg-app) #main-header .currency-switch{min-height:32px!important;padding:0 25px 0 10px!important;font-size:13px!important;font-weight:700!important;line-height:1!important}
}
@media(min-width:1180px){
  body:not(.is-tg-app) #main-header .desktop-nav{gap:5px}
  body:not(.is-tg-app) #main-header .desktop-nav>a{padding:6px 9px;font-size:11px}
}
.bar .brand{display:inline-flex;align-items:center;gap:9px}.gallery img{height:175px}.gallery img:first-child{height:360px}@media(max-width:850px){.gallery img{height:130px}.gallery img:first-child{height:270px}}
@media(min-width:1000px){.search-box.marketplace-search{display:grid!important;grid-template-columns:minmax(210px,.9fr) minmax(460px,2fr) 48px 48px!important;grid-template-areas:"location dates share filters" "save return submit submit";align-items:stretch;gap:var(--space-3)!important;padding:var(--space-4)!important}.search-box.marketplace-search>#f-search-group{grid-area:location}.search-box.marketplace-search>.marketplace-search__dates{grid-area:dates}.search-box.marketplace-search>.btn-icon:nth-of-type(1){grid-area:share}.search-box.marketplace-search>.btn-icon:nth-of-type(2){grid-area:filters}.search-box.marketplace-search>#save-search-button{grid-area:save;width:auto!important;margin:0}.search-box.marketplace-search>.p0-return-place{grid-area:return;justify-self:start}.search-box.marketplace-search>#p0-show-cars{grid-area:submit;min-width:0!important;width:100%;margin:0}.quick-dates .btn-text{min-height:30px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-main);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.quick-dates .btn-text:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}}
@media(max-width:700px){.header-brand-name{font-size:14px}.header-brand-mark{width:30px;height:30px}.quick-dates .btn-text{min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-main);font:inherit;font-size:12px;font-weight:800}}

/* The comparison tray belongs to the mobile page flow. Keeping it fixed at
   the bottom hides search actions and the start of the next section. */
.compare-bar{background:#111827;color:#fff;border:1px solid rgba(255,255,255,.12)}
@media(max-width:700px){
  body:not(.is-tg-app) .compare-bar{display:none;position:static;width:auto;max-width:none;margin:8px 14px;transform:none;padding:10px 14px;border-radius:16px;gap:12px;box-sizing:border-box}
  body:not(.is-tg-app) .compare-bar.show{display:flex;position:sticky;top:0;bottom:auto;left:auto;transform:none;width:calc(100% - 28px);max-width:400px;margin:8px auto;z-index:1005}
}

/* Markers with one shared pick-up point stay separate and clickable. Their
   labels are offset only on the screen; the geographic point is unchanged. */
.map-price-marker--shared{translate:var(--map-marker-offset-x,0) var(--map-marker-offset-y,0);border-color:var(--primary);box-shadow:0 5px 14px rgba(0,0,0,.22)}

/* One hero language: existing banners keep their page-specific copy, while
   pages that lacked one use the compact contextual variant below. */
:root{--marketplace-hero:linear-gradient(125deg,#fff 0%,#f4f7fb 58%,#fff0f1 100%);--marketplace-hero-border:#e1e7ef}
[data-theme="dark"]{--marketplace-hero:linear-gradient(125deg,#1b2129 0%,#222c37 58%,#3a2026 100%);--marketplace-hero-border:#465465}
.marketplace-hero,#page-fleet .journey-hero,.public-page .public-page__hero,.page-context-hero{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!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}
.marketplace-hero>div,.page-context-hero>div{max-width:780px}
.marketplace-hero>:is(h1,h2,p:not(.eyebrow):not(.public-page__eyebrow)),#page-fleet .journey-hero>div:first-child,.page-context-hero>div,.public-page__hero>:is(h1,h2,p:not(.public-page__eyebrow)){min-width:0}
.marketplace-hero>:is(.journey-actions,.affiliate-page__actions),#page-fleet .journey-hero>.journey-actions,.public-page__hero>.affiliate-page__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,220px))!important;gap:var(--space-2)!important;width:min(100%,448px)!important;margin-top:var(--space-4)!important}.marketplace-hero>.public-page__hero-action,.public-page__hero>.public-page__hero-action{margin-top:var(--space-4)!important}
.marketplace-hero>:is(.journey-actions,.affiliate-page__actions) :is(button,a),#page-fleet .journey-hero>.journey-actions :is(button,a),.public-page__hero>.affiliate-page__actions :is(button,a){width:100%}
.marketplace-hero .eyebrow,.marketplace-hero .public-page__eyebrow,.journey-hero .eyebrow,.page-context-hero .eyebrow,.public-page__hero .public-page__eyebrow{display:none!important}
.marketplace-hero :is(h1,h2),#page-fleet .journey-hero h1,.page-context-hero :is(h2,.context-heading),.public-page__hero h1,.public-page__hero h2{display:block;max-width:780px;margin:0 0 8px!important;padding:0!important;border:0!important;color:var(--text-main)!important;font:800 clamp(24px,2.8vw,34px)/1.1 var(--nr-font)!important;letter-spacing:-.025em!important;text-decoration:none!important}
.marketplace-hero :is(h1,h2)::before,.marketplace-hero :is(h1,h2)::after,#page-fleet .journey-hero h1::before,#page-fleet .journey-hero h1::after,.page-context-hero :is(h2,.context-heading)::before,.page-context-hero :is(h2,.context-heading)::after,.public-page__hero h1::before,.public-page__hero h1::after,.public-page__hero h2::before,.public-page__hero h2::after{content:none!important}
.marketplace-hero p:not(.eyebrow):not(.public-page__eyebrow),#page-fleet .journey-hero p:not(.eyebrow),.page-context-hero p,.public-page__hero p{max-width:680px;margin:0!important;padding:0!important;border:0!important;color:var(--text-muted)!important;font:400 14px/1.45 var(--nr-font)!important;text-decoration:none!important}
.marketplace-hero :is(.journey-action,.public-page__hero-action,.affiliate-page__text-action),.affiliate-page__text-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:16px;padding:10px 16px;border:1px solid var(--primary)!important;border-radius:var(--radius-sm)!important;background:var(--primary)!important;color:#fff!important;font:800 14px/1 var(--nr-font)!important;text-decoration:none!important;cursor:pointer}.marketplace-hero :is(.journey-action,.public-page__hero-action,.affiliate-page__text-action):hover{background:var(--primary-hover)!important}
.page>.page-context-hero{margin-top:var(--space-4)}
@media(max-width:760px){.marketplace-hero,#page-fleet .journey-hero,.public-page .public-page__hero,.page-context-hero{min-height:0!important;margin:var(--space-3) var(--space-3) var(--space-4)!important;padding:18px!important}.marketplace-hero>:is(.journey-actions,.affiliate-page__actions),#page-fleet .journey-hero>.journey-actions,.public-page__hero>.affiliate-page__actions{grid-template-columns:1fr!important;width:100%!important}.marketplace-hero>.public-page__hero-action,.public-page__hero>.public-page__hero-action{width:100%!important}.marketplace-hero :is(h1,h2),.page-context-hero h2{font-size:24px!important}}

/* Keep public banners readable when the theme toggle is active.  The direct
   dark selectors intentionally sit after the shared light hero rule so page
   specific backgrounds cannot wash out the text. */
[data-theme="dark"] .marketplace-hero,
[data-theme="dark"] #page-fleet .journey-hero,
[data-theme="dark"] .public-page .public-page__hero,
[data-theme="dark"] .page-context-hero{background:linear-gradient(125deg,#1b2129 0%,#222c37 58%,#3a2026 100%)!important;border-color:#465465!important;color:#f5f7fa!important}
[data-theme="dark"] .marketplace-hero :is(h1,h2),
[data-theme="dark"] #page-fleet .journey-hero h1,
[data-theme="dark"] .public-page .public-page__hero :is(h1,h2),
[data-theme="dark"] .page-context-hero h2{color:#f5f7fa!important}
[data-theme="dark"] .marketplace-hero p:not(.eyebrow):not(.public-page__eyebrow),
[data-theme="dark"] #page-fleet .journey-hero p:not(.eyebrow),
[data-theme="dark"] .public-page .public-page__hero p:not(.public-page__eyebrow),
[data-theme="dark"] .page-context-hero p{color:#d1d8e0!important}

/* A listing's conditions are not proof that its provider profile is verified. */
.modal-partner-badge{padding:6px 12px;border-radius:8px;background:rgba(183,121,31,.12);color:var(--warning);font-size:11px;font-weight:900}.modal-partner-badge.is-verified{background:rgba(21,128,61,.12);color:var(--success)}

/* Acquisition keeps its two-column layout, not a separate colour system. */
body.site-shell .public-page .partner-page__hero {
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(255px,.65fr)!important;
    align-items:stretch!important;
    gap:24px!important;
    min-height:0!important;
    padding:var(--cm-page-gutter,24px)!important;
    border:1px solid var(--cm-ui-line,var(--border))!important;
    background:var(--cm-ui-paper,var(--bg-card))!important;
    color:var(--cm-ui-text,var(--text-main))!important;
}
body.site-shell .public-page .partner-page__hero :is(h1,h2) {
    max-width:760px!important;
    color:var(--cm-ui-text,var(--text-main))!important;
    font-size:var(--cm-heading-1,clamp(28px,3.3vw,40px))!important;
    line-height:1.2!important;
}
body.site-shell .public-page .partner-page__hero p:not(.public-page__eyebrow) {
    max-width:760px!important;
    color:var(--cm-ui-muted,var(--text-muted))!important;
    font-size:16px!important;
    line-height:1.55!important;
}
body.site-shell .public-page .partner-page__hero .public-page__eyebrow {
    display:block!important;
    color:var(--cm-ui-link,var(--primary))!important;
}
body.site-shell .public-page .partner-page__hero .partner-page__hero-action {
    background:var(--primary)!important;
    color:#fff!important;
}
body.site-shell .public-page .partner-page__hero .partner-page__hero-action:hover { background:var(--primary-hover)!important; }
body.site-shell .public-page .partner-page__hero-panel {
    color:var(--cm-ui-text,var(--text-main))!important;
    border-color:var(--cm-ui-line,var(--border))!important;
    background:var(--cm-ui-soft,var(--bg-input))!important;
}
body.site-shell .public-page .partner-page__hero-panel strong { color:var(--cm-ui-text,var(--text-main))!important; }
body.site-shell .public-page .partner-page__hero-panel span:not(.partner-page__panel-label) { color:var(--cm-ui-muted,var(--text-muted))!important; }
body.site-shell .public-page .partner-page__hero-panel a { color:var(--cm-ui-link,var(--primary))!important; }
body.site-shell .public-page .partner-page__hero-link {
    border-color:var(--cm-ui-line,var(--border))!important;
    background:var(--cm-ui-soft,var(--bg-input))!important;
    color:var(--cm-ui-text,var(--text-main))!important;
    -webkit-text-fill-color:var(--cm-ui-text,var(--text-main))!important;
}
@media(max-width:900px){body.site-shell .public-page .partner-page__hero{grid-template-columns:1fr!important}}
@media(max-width:720px){body.site-shell .public-page .partner-page__hero{padding:var(--cm-page-gutter,16px)!important}.partner-page__hero h1{font-size:var(--cm-heading-1,28px)!important}}


/* 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/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-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 1 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/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 :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-card-terms.css */
/* One compact, factual terms treatment shared by the public catalogue cards. */
.marketplace-proof__visual {
    grid-column: 1 / -1;
    margin: 0;
    overflow: hidden;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient(180deg, var(--bg-card), var(--bg-input));
}

.marketplace-proof__visual img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 150px;
    object-fit: contain;
}

.marketplace-proof__visual + div,
.marketplace-proof__visual + a {
    min-width: 0;
}

.catalog-card-terms {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 12px 0 10px;
    color: var(--text-muted, #68717d);
    font-size: 11px;
}

.catalog-card-terms span {
    min-width: 0;
    padding: 6px 8px;
    border: 1px solid var(--border, #e4e7ec);
    border-radius: 8px;
    background: var(--surface-secondary, #f4f6f8);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.catalog-card-price-tiers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 0 0 4px;
}

.catalog-card-price-tiers span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    padding: 5px 7px;
    border-radius: 7px;
    background: var(--primary-light, #fff0f1);
    background: color-mix(in srgb, var(--primary, #c9161d) 7%, transparent);
    color: var(--text-muted, #68717d);
    font-size: 10px;
    line-height: 1.25;
}

.catalog-card-price-tiers small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-card-price-tiers b {
    flex: 0 0 auto;
    color: var(--text-main, #18202a);
    font-size: 11px;
}

@media (max-width: 460px) {
    .catalog-card-terms,
    .catalog-card-price-tiers {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .marketplace-proof__visual {
        padding: 5px 2px;
    }

    .marketplace-proof__visual img {
        max-height: 100px;
    }
}


/* 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/sitewide-polish.css */
/* CarMisto sitewide visual layer.
   Loaded last so the public SPA, full-page SEO routes and operational surfaces
   share one quiet set of tokens without changing their business contracts. */
:root {
    --nr-page-max: 1240px;
    --nr-page-gutter: clamp(16px, 3.5vw, 48px);
    --nr-surface-raised: #fff;
    --nr-surface-soft: #f7f8fa;
    --nr-border-soft: #e1e6ec;
    --nr-shadow-soft: 0 12px 34px rgba(26, 37, 50, .07);
    --nr-shadow-hover: 0 18px 42px rgba(26, 37, 50, .12);
    --nr-focus: rgba(201, 22, 29, .22);
    --nr-radius-sm: 10px;
    --nr-radius-md: 16px;
    --nr-radius-lg: 24px;
    --nr-reading-width: 780px;
}

[data-theme='dark'] {
    --nr-surface-raised: #1b232d;
    --nr-surface-soft: #141b23;
    --nr-border-soft: #354252;
    --nr-shadow-soft: 0 12px 34px rgba(0, 0, 0, .24);
    --nr-shadow-hover: 0 18px 42px rgba(0, 0, 0, .34);
    --nr-focus: rgba(255, 117, 124, .34);
}

html { scroll-behavior: smooth; scroll-padding-top: 92px; }

body.site-shell,
body.standalone-page {
    min-width: 320px;
    overflow-x: hidden;
    color: var(--text-main, #202b3a);
    background: var(--bg-main, #f5f6f8);
}

body.not-found-page {
    display: block !important;
    min-height: 100vh;
    padding: 0 !important;
}

body.not-found-page > main {
    margin: clamp(28px, 7vw, 80px) auto;
}

body.site-shell :is(button, input, select, textarea),
body.standalone-page :is(button, input, select, textarea) {
    max-width: 100%;
}

body.site-shell :is(button, input, select, textarea):focus-visible,
body.standalone-page :is(button, input, select, textarea):focus-visible,
body.site-shell a:focus-visible,
body.standalone-page a:focus-visible {
    outline: 3px solid var(--nr-focus) !important;
    outline-offset: 2px;
    box-shadow: none !important;
}

body.site-shell :is(button, .btn, .cta, .public-page__hero-action, .public-page__lead-submit),
body.standalone-page :is(button, .btn, .cta) {
    min-height: 44px;
}

/* Shared shell for SEO pages which cannot extend base.html because they carry
   a separate data contract (vehicle detail, city landing and legal pages). */
.standalone-public-header {
    position: relative;
    z-index: 10;
    border-bottom: 2px solid var(--primary, #c9161d);
    background: #1d232b;
    color: #fff;
    box-shadow: 0 4px 18px rgba(20, 30, 44, .12);
}

.standalone-public-header__inner {
    display: block;
    width: min(100%, var(--nr-page-max));
    margin: 0 auto;
    padding: 0 var(--nr-page-gutter);
}

.standalone-public-header__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 62px;
    padding-block: 9px;
}

.standalone-public-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.standalone-public-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    color: #fff;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -.025em;
    text-decoration: none;
}

.standalone-public-header__mark {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--primary, #c9161d);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.standalone-public-header__nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-height: 48px;
    padding-block: 5px 8px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.standalone-public-header__nav::-webkit-scrollbar { display: none; }

.standalone-public-header__nav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: rgba(255, 255, 255, .84);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.standalone-public-header__nav a:hover,
.standalone-public-header__nav a[aria-current='page'] {
    border-color: rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.standalone-public-header__language {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 4px;
    padding: 0 5px;
    white-space: nowrap;
}

.standalone-public-header__language a { padding-inline: 5px; }

.standalone-public-header__theme {
    display: inline-grid;
    place-items: center;
    min-width: 38px;
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 9px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font: inherit;
    cursor: pointer;
}

.standalone-public-header__theme:hover { background: rgba(255, 255, 255, .16); }

.standalone-public-header__back {
    color: #fff !important;
    background: var(--primary, #c9161d);
}

.standalone-public-header__back:hover { background: var(--primary-hover, #a90f16) !important; }

/* The old standalone bar remains supported for transactional/legacy screens;
   it now inherits the same dimensions and contrast as the shared shell. */
body.standalone-page > header.bar,
body.standalone-page > header.header-top {
    border-bottom: 2px solid var(--primary, #c9161d);
    background: #1d232b;
    box-shadow: 0 4px 18px rgba(20, 30, 44, .12);
}

body.standalone-page > header.bar .bar-inner,
body.standalone-page > header.header-top {
    min-height: 62px;
}

body.standalone-page :is(.bar-inner, .header-top) a,
body.standalone-page :is(.bar-inner, .header-top) button {
    min-height: 38px;
}

/* Consistent page rhythm for public full-page surfaces. */
body.standalone-page > main,
body.standalone-page > section.page-context-hero,
body.site-shell #main-content > .public-page,
body.site-shell #main-content > .rental-guide,
body.site-shell #main-content > .marketplace-page {
    isolation: isolate;
}

body.standalone-page :is(.wrap, .legal-page, main.city-landing-page),
body.site-shell #main-content > :is(.public-page, .rental-guide, .marketplace-page) {
    position: relative;
}

body.site-shell :is(.public-page__hero, .marketplace-hero, .guide-heading, .news-hub__hero),
body.standalone-page .page-context-hero {
    border-color: var(--nr-border-soft) !important;
    box-shadow: var(--nr-shadow-soft);
}

body.site-shell :is(.public-page__card, .marketplace-panel, .partner-page__benefit-card, .partner-page__route-card, .affiliate-step),
body.standalone-page :is(.panel, .card, .booking, .stats > div, .city-discovery, .faq details, .empty, .gallery-empty) {
    border-color: var(--nr-border-soft) !important;
    box-shadow: var(--nr-shadow-soft);
}

body.site-shell :is(.public-page__card, .marketplace-panel, .partner-page__benefit-card, .partner-page__route-card, .affiliate-step):hover,
body.standalone-page :is(.card, .city-discovery, .faq details):hover {
    box-shadow: var(--nr-shadow-hover);
}

body.site-shell :is(.public-page__hero, .public-page__card, .marketplace-panel, .partner-page__benefit-card, .partner-page__route-card, .affiliate-step),
body.standalone-page :is(.panel, .card, .booking, .city-discovery, .faq details, .empty) {
    border-radius: 16px;
}

body.site-shell :is(.public-page__hero, .public-page__card, .marketplace-panel) :is(h1, h2, h3),
body.standalone-page :is(.wrap, .legal-page, .city-landing-page) :is(h1, h2, h3) {
    overflow-wrap: anywhere;
}

body.site-shell :is(.public-page__hero, .marketplace-hero, .guide-heading) p,
body.standalone-page :is(.page-context-hero, .lead) p {
    max-width: 780px;
}

body.site-shell img,
body.standalone-page img {
    max-width: 100%;
}

body.standalone-page :is(input, select, textarea) {
    min-height: 44px;
    border-color: var(--nr-border-soft, #e1e6ec);
    border-radius: 10px;
    color: var(--text-main, #202b3a);
    background: var(--nr-surface-raised, #fff);
}

body.standalone-page textarea { min-height: 100px; }

body.standalone-page :is(.wrap, .legal-page) a:not(.btn):not(.cta):not(.standalone-public-header__brand) {
    text-underline-offset: 3px;
}

.standalone-public-footer {
    border-top: 1px solid var(--nr-border-soft);
    background: var(--nr-surface-raised);
    color: var(--text-muted, #5c6879);
}

.standalone-public-footer__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    width: min(100%, var(--nr-page-max));
    margin: 0 auto;
    padding: 24px var(--nr-page-gutter) 30px;
    font-size: 13px;
}

.standalone-public-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.standalone-public-footer a {
    color: var(--text-main, #202b3a);
    font-weight: 650;
    text-decoration: none;
}

.standalone-public-footer a:hover { color: var(--primary, #c9161d); }

body.site-shell .site-footer {
    gap: 8px 18px;
    border-top: 1px solid var(--nr-border-soft);
    background: var(--nr-surface-raised);
}

/* Standalone pages still contain a few legacy fixed-color rules. Keep the
   dark theme genuinely dark and preserve readable headings outside cards. */
[data-theme='dark'] body.standalone-page {
    background: #12161c !important;
    color: var(--cm-surface-text, #f4f7fb) !important;
}

[data-theme='dark'] body.standalone-page :is(.breadcrumbs, .lead p) {
    color: var(--cm-surface-muted, #c1cbd6) !important;
}

[data-theme='dark'] body.standalone-page :is(.lead > h1, .faq > h2) {
    color: var(--cm-surface-text, #f4f7fb) !important;
    -webkit-text-fill-color: var(--cm-surface-text, #f4f7fb);
}

[data-theme='dark'] body.standalone-page .card-cta,
[data-theme='dark'] body.standalone-page .city-discovery-guides a {
    color: #ff7b82;
}

/* Operational surfaces use denser layouts but keep the same readable controls. */
body.standalone-page.admin-page :is(.container, .panel, .section, .card),
body.standalone-page.staff-login-page .box,
body.standalone-page.inspection-page section,
body.standalone-page.voucher-page .panel {
    border-color: var(--nr-border-soft);
    border-radius: 16px;
    box-shadow: var(--nr-shadow-soft);
}

body.standalone-page.admin-page :is(input, select, textarea, .btn, button),
body.standalone-page.staff-login-page :is(input, button),
body.standalone-page.inspection-page :is(input, select, textarea, button),
body.standalone-page.voucher-page :is(input, select, textarea, button, .btn) {
    min-height: 44px;
    border-radius: 10px;
}

@media (max-width: 760px) {
    .standalone-public-header__inner {
        padding-inline: 12px;
    }

    .standalone-public-header__top {
        min-height: 56px;
        gap: 8px;
        padding-block: 8px;
    }

    .standalone-public-header__nav {
        justify-content: flex-start;
        width: 100%;
        margin-inline: -4px;
        padding-inline: 4px;
    }

    .standalone-public-header__brand { font-size: 18px; }
    .standalone-public-header__actions { gap: 6px; }
    .standalone-public-header__nav a { font-size: 11px; }

    body.site-shell #main-content > :is(.public-page, .rental-guide, .marketplace-page) {
        padding-inline: 0;
    }

    body.standalone-page :is(.wrap, .legal-page) {
        width: 100%;
        max-width: none;
    }

    body.standalone-page :is(.layout, .requirements, .grid, .stats) {
        min-width: 0;
    }

    .standalone-public-footer__inner { align-items: flex-start; flex-direction: column; }
}

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

/* Scale-up layer: shared interaction, reading rhythm and responsive surfaces.
   Keep this block last so legacy and page-specific styles converge on the same
   visual language without changing their markup or business behaviour. */
body.site-shell,
body.standalone-page {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.site-shell :is(a, button, input, select, textarea),
body.standalone-page :is(a, button, input, select, textarea) {
    -webkit-tap-highlight-color: transparent;
}

body.site-shell :is(.site-breadcrumbs, .public-page, .rental-guide, .marketplace-page),
body.standalone-page :is(.wrap, .legal-page, .city-landing-page) {
    scroll-margin-top: 92px;
}

body.site-shell :is(.public-page__card, .marketplace-panel, .partner-page__benefit-card, .partner-page__route-card, .affiliate-step, .news-card, .news-hub__coverage, .news-hub__editorial-note),
body.standalone-page :is(.panel, .card, .booking, .stats > div, .city-discovery, .faq details, .empty, .gallery-empty) {
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.site-shell :is(.public-page__card, .marketplace-panel, .partner-page__benefit-card, .partner-page__route-card, .affiliate-step, .news-card):focus-within,
body.standalone-page :is(.panel, .card, .booking, .city-discovery, .faq details):focus-within {
    border-color: color-mix(in srgb, var(--primary, #c9161d) 42%, var(--nr-border-soft));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #c9161d) 11%, transparent), var(--nr-shadow-soft);
}

body.site-shell :is(.public-page__hero, .marketplace-hero, .guide-heading, .news-hub__hero, .news-article__header),
body.standalone-page :is(.page-context-hero, .lead, .legal-page > header) {
    text-wrap: pretty;
}

body.site-shell :is(.public-page__hero, .public-page__card, .marketplace-panel, .rental-guide, .news-hub, .news-article),
body.standalone-page :is(.wrap, .legal-page, .city-landing-page) {
    max-width: min(100%, var(--nr-page-max));
}

body.site-shell :is(.public-page__card, .marketplace-panel, .affiliate-step, .news-hub__coverage, .news-hub__editorial-note),
body.standalone-page :is(.panel, .card, .booking, .city-discovery, .faq details) {
    background: var(--nr-surface-raised);
}

body.site-shell :is(.public-page__card, .marketplace-panel, .affiliate-step, .news-hub__coverage, .news-hub__editorial-note) p,
body.standalone-page :is(.panel, .card, .booking, .city-discovery, .faq details) p {
    overflow-wrap: anywhere;
}

/* Long content stays comfortable on phones and does not force a horizontal
   scroll when an admin or policy table contains a wide data set. */
body.site-shell :is(.public-page, .rental-guide, .marketplace-page) :is(table, pre),
body.standalone-page :is(.wrap, .legal-page, .city-landing-page) :is(table, pre) {
    max-width: 100%;
    overflow-x: auto;
}

body.site-shell :is(.public-page, .rental-guide, .marketplace-page) :is(.table-wrap, .table-scroll, .affiliate-dashboard__table-wrap),
body.standalone-page :is(.table-wrap, .table-scroll) {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

body.site-shell :is(.public-page, .rental-guide, .marketplace-page) :is(.table-wrap, .table-scroll, .affiliate-dashboard__table-wrap) table,
body.standalone-page :is(.table-wrap, .table-scroll) table {
    min-width: 620px;
}

body.site-shell :is(.public-page, .rental-guide, .marketplace-page) :is(.public-page__section, .marketplace-section, .guide-article section, .news-article__related),
body.standalone-page :is(.section, .faq, .city-discovery, .requirements) {
    scroll-margin-top: 92px;
}

.site-back-to-top {
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 1002;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid color-mix(in srgb, var(--primary, #c9161d) 32%, var(--nr-border-soft));
    border-radius: 999px;
    background: color-mix(in srgb, var(--nr-surface-raised) 92%, transparent);
    color: var(--primary, #c9161d);
    box-shadow: 0 10px 25px rgba(22, 31, 42, .16);
    font: 800 12px/1 var(--nr-font, inherit);
    cursor: pointer;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, background .18s ease;
    backdrop-filter: blur(12px);
}

.site-back-to-top.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.site-back-to-top:hover { background: var(--nr-surface-raised); }
.site-back-to-top__icon { font-size: 17px; line-height: 1; }
.site-back-to-top__label { white-space: nowrap; }

html.site-is-scrolled body.site-shell #main-header,
html.site-is-scrolled .standalone-public-header {
    box-shadow: 0 8px 24px rgba(17, 26, 38, .18);
}

[data-theme='dark'] .site-back-to-top {
    background: color-mix(in srgb, var(--nr-surface-raised) 94%, transparent);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .35);
}

@media (max-width: 850px) {
    html { scroll-padding-top: 72px; }

    body.site-shell :is(.public-page, .rental-guide, .marketplace-page),
    body.standalone-page :is(.wrap, .legal-page, .city-landing-page) {
        overflow-wrap: anywhere;
    }

    body.site-shell :is(.public-page__card, .marketplace-panel, .affiliate-step, .news-hub__coverage, .news-hub__editorial-note),
    body.standalone-page :is(.panel, .card, .booking, .city-discovery, .faq details) {
        border-radius: var(--nr-radius-md);
    }

    .site-back-to-top {
        right: max(14px, env(safe-area-inset-right));
        bottom: calc(84px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 420px) {
    .site-back-to-top { min-width: 42px; padding-inline: 11px; }
    .site-back-to-top__label { display: none; }
}

@media print {
    .site-back-to-top,
    .mobile-nav,
    .standalone-public-header__theme { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.site-shell :is(.public-page__card, .marketplace-panel, .partner-page__benefit-card, .partner-page__route-card, .affiliate-step, .news-card),
    body.standalone-page :is(.panel, .card, .booking, .city-discovery, .faq details),
    .site-back-to-top {
        transition-duration: .01ms !important;
        transform: none !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; }
html body.catalog-reference-upgrade #catalog-filter-rail[hidden] { display: none !important; }
html body.catalog-reference-upgrade #catalog-filter-rail:not([hidden]) { display: block !important; position: static; padding: 10px 12px; margin-bottom: 8px; }
html body.catalog-reference-upgrade #catalog-filter-rail :is(.catalog-filter-rail__summary, .catalog-filter-rail__all) { display: none !important; }
html body.catalog-reference-upgrade #catalog-result-count { margin: 4px 0 !important; }

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

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


/* 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; }
}

@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; }
}
