/* Shared mobile storefront palette; owner administration and desktop are independent. */
.mobile-product-carousel { display:none; }
@media(max-width:760px) {
 html { overflow-x:clip; }
 html body:not(.owner-body) {
  --ui-bg:#fff; --ui-surface:#f1f3f8; --ui-text:#10121f; --ui-muted:#626b7b;
  --ui-line:#e1e6ee; --ui-blue:#0086ff;
  --mobile-bg:var(--ui-bg); --bg:var(--ui-bg); --surface:var(--ui-surface);
  --surface2:var(--ui-surface); --mobile-surface:var(--ui-surface);
  --text:var(--ui-text); --mobile-text:var(--ui-text); --muted:var(--ui-muted);
  --mobile-muted:var(--ui-muted); --line:var(--ui-line); --mobile-line:var(--ui-line);
  background:var(--ui-bg)!important; color:var(--ui-text)!important; overflow-x:clip;
 }
 html body:not(.owner-body) main { min-width:0; max-width:100%; background:var(--ui-bg)!important; }
 html body:not(.owner-body) :is(.catalog-main,.product-page,.product-left-column,.account-grid,.account-main,.catalog-layout) { min-width:0; max-width:100%; }
 html body:not(.owner-body):not(.home-page) .site-header,
 html body:not(.owner-body) .mobile-bottom-nav.reference-nav { background:var(--ui-bg)!important; color:var(--ui-text)!important; border-color:var(--ui-line)!important; }
 html body:not(.owner-body):not(.home-page) .site-header :is(.brand-name,.brand-sub) { color:var(--ui-text)!important; }
 html body:not(.owner-body) :is(.filters,.filter-chip,.sort-menu summary,.sort-menu-popover,.filter-cat-option,.price-input,.mobile-category-scroll a,.mobile-vehicle-card,.gallery-panel,.product-info,.product-compatibility,.detail-tabs-panel,.detail-copy,.vin-box,.cart-row,.cart-section,.account-panel,.account-side,.account-main,.account-mini-panel,.account-quick-card,.account-empty,.auth-card,.login-modal,.vehicle-picker-modal,.vehicle-picker-modal-premium,.vehicle-vin-panel,.vehicle-vin-result-card,.generation-card,.generation-card-premium,.garage-card,.garage-side-card,.search-suggestions,.search-suggestion,.modal-close,.question-btn,.bonus-card,.loyalty-panel,.corporate-price-card,.icon-btn) {
  background:var(--ui-surface)!important; color:var(--ui-text)!important; border-color:var(--ui-line)!important;
 }
 html body:not(.owner-body) :is(.product-info,.product-description-section,.product-compatibility,.account-main,.auth-card,.filters,.vin-box) :is(h1,h2,h3,h4,b,strong,label,.product-block-heading,.compatibility-vehicle,.product-description-text) { color:var(--ui-text)!important; }
 html body:not(.owner-body) :is(.product-description-text,.product-back-link,.check-row,.filter-cat-option,.reset-btn-clean) { color:var(--ui-text)!important; }
 html body:not(.owner-body) :is(.muted,.breadcrumbs,.catalog-count,.stock,.condition-table .label,.compatibility-vehicle small,.account-panel small) { color:var(--ui-muted)!important; }
 html body:not(.owner-body) :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea) { background:var(--ui-bg); color:var(--ui-text); border-color:var(--ui-line); min-width:0; max-width:100%; }
 html body:not(.owner-body) :is(input,textarea)::placeholder { color:var(--ui-muted); }
 html body:not(.owner-body) :is(.black-btn,.black-cart-btn,.auth-card .black-btn,.reset-btn.primary,.vin-row button,.product-actions .black-cart-btn,.mobile-card-cart,.mobile-smart-search-tabs button.active,.mobile-category-scroll a.active,.filter-cat-option.active,.account-side a.active,.detail-tabs button.active,.gallery-tab.active,.view-btn.active,.sort-menu-popover a.active) {
  background:linear-gradient(110deg,#008aff,#0074ff)!important; color:#fff!important; border-color:#0086ff!important;
 }
 html body:not(.owner-body) :is(.light-btn,.outline-pill,.reset-btn,.filters-mobile-head button,.segmented,.account-type-switch) { background:var(--ui-surface)!important; color:var(--ui-text)!important; border-color:var(--ui-line)!important; }
 html body:not(.owner-body) :is(.filter-block,.condition-table div,.info-sep) { border-color:var(--ui-line)!important; }
 html body:not(.owner-body) input:is([type=checkbox],[type=radio],[type=range]) { accent-color:var(--ui-blue); }
 html body:not(.owner-body) .dual-range-fill { background:var(--ui-blue)!important; }
 /* Fixed sheet stays within the viewport; only its vertical content scrolls. */
 html body:not(.owner-body) .filters {
  box-sizing:border-box!important; position:fixed!important; inset:auto 0 0!important;
  width:100%!important; max-width:100%!important; min-width:0!important;
  max-height:86dvh!important; overflow-x:hidden!important; overflow-y:auto!important;
  overscroll-behavior:contain; padding:16px 16px max(20px,env(safe-area-inset-bottom))!important;
  visibility:hidden; pointer-events:none; z-index:110!important;
 }
 html body:not(.owner-body) .filters.is-open { visibility:visible; pointer-events:auto; }
 html body:not(.owner-body) .filters-backdrop { z-index:109!important; }
 html body:not(.owner-body) .filters :is(.price-fields,.filter-block,.filter-cat,.price-input) { min-width:0!important; max-width:100%; box-sizing:border-box; }
 html body:not(.owner-body) .filters .price-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 html body:not(.owner-body) .filters .price-input input { width:100%!important; min-width:0!important; }
 html body:not(.owner-body) .filter-cat-option span { min-width:0; overflow-wrap:anywhere; }
 html body:not(.owner-body) .filters-mobile-head { position:sticky; top:-16px; padding:10px 0; z-index:2; background:var(--ui-surface); }
 html body:not(.owner-body) .gallery-panel { padding:0!important; border:0!important; background:transparent!important; border-radius:0!important; overflow:visible; min-width:0; }
 html body:not(.owner-body) .gallery-panel > :is(.gallery-main,.gallery-thumbs) { display:none!important; }
 html body:not(.owner-body) .mobile-product-carousel {
  display:flex; gap:12px; width:100%; min-width:0; border-radius:0!important; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; scroll-padding-inline:0; scrollbar-width:none;
  overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; padding:0 0 8px;
 }
 .mobile-product-carousel::-webkit-scrollbar { display:none; }
 .mobile-product-slide { position:relative; isolation:isolate; flex:0 0 88%; min-width:0; aspect-ratio:1.1; border-radius:18px; overflow:hidden; scroll-snap-align:start; background:var(--ui-surface); }
 .mobile-product-slide:only-child { flex-basis:100%; }
 .mobile-product-slide :is(img,video) { display:block; width:100%; height:100%; object-fit:contain; }
 .mobile-product-slide .mobile-slide-backdrop {
  position:absolute; inset:-10%; width:120%; height:120%; object-fit:cover;
  filter:blur(18px); opacity:.75; z-index:0; pointer-events:none;
 }
 .mobile-product-slide .mobile-slide-photo {
  position:relative; z-index:1; padding:0; transform:scale(1.06); transform-origin:center;
 }
 .mobile-product-slide video { position:relative; z-index:1; }
 .mobile-product-carousel:focus-visible { outline:2px solid #0086ff; outline-offset:-2px; }
}
@media(max-width:760px) and (prefers-color-scheme:dark) {
 html body:not(.owner-body) { color-scheme:dark; --ui-bg:#000; --ui-surface:#1b1e21; --ui-text:#f3f3f5; --ui-muted:#bfc5d1; --ui-line:#34383e; }
 html body:not(.owner-body) .mobile-bottom-nav.reference-nav a { color:#bfc5d1!important; }
 html body:not(.owner-body) .mobile-bottom-nav.reference-nav a.active { color:#218bce!important; }
}
@media(max-width:760px) {
 html body:not(.owner-body):not(.home-page) .mobile-smart-search { background:var(--ui-bg)!important; color:var(--ui-text)!important; border-color:var(--ui-line)!important; box-shadow:none!important; }
 html body:not(.owner-body):not(.home-page) .mobile-smart-search-tabs { background:var(--ui-surface)!important; }
 html body:not(.owner-body):not(.home-page) .mobile-smart-search-tabs button { color:var(--ui-text)!important; }
 html body:not(.owner-body):not(.home-page) .mobile-smart-search-tabs button.active { background:#0086ff!important; color:#fff!important; }
 html body:not(.owner-body):not(.home-page) .mobile-smart-search-form { background:#fff!important; color:#10121f!important; }
 html body:not(.owner-body):not(.home-page) .mobile-smart-search-form input { background:transparent!important; color:#10121f!important; -webkit-text-fill-color:#10121f!important; }
 html body:not(.owner-body):not(.home-page) .mobile-smart-search-form button { background:transparent!important; color:#10121f!important; }
 html body:not(.owner-body) :is(.product-compatibility,.vin-box) :is(small,label,.compatibility-vehicle b) { color:var(--ui-text)!important; }
}
