@import url('/assets/dark-theme-polish.css?v=1');

/* Omni Terrain cross-device hardening. Loaded last so it can safely correct legacy layers. */

/* Shared header controls: comfortable touch targets without increasing desktop clutter. */
.ot-site-cart,.ot-site-menu,.cart-link,.menu-btn{min-height:44px!important;box-sizing:border-box}
.ot-site-menu,.menu-btn{min-width:52px;padding-left:12px!important;padding-right:12px!important}
.ot-site-brand,.brand{min-width:0}
#header .brand>.wordmark,.header .brand>.wordmark,.ot-site-brand>.ot-site-wordmark{display:none!important}

/* Product-page controls and confidence row must never create page-level overflow. */
body.ot-product-page .ot-image-zoom{min-height:44px!important;padding-left:14px!important;padding-right:14px!important}
body.ot-product-page .ot-product-confidence{max-width:100%}
body.ot-product-page .ot-product-confidence span{max-width:100%;white-space:normal}

/* Cart quantity controls are primary touch targets. */
.ot-qty{grid-template-columns:44px 40px 44px!important}
.ot-qty button{width:44px;min-width:44px;height:44px!important;min-height:44px}
.ot-remove{min-height:44px;padding:0 8px}

/* Horizontal brand rails are intentionally scrollable inside their own box, not the page. */
.cp-brand-rail,.brand-strip-inner{max-width:100%;min-width:0}
.cp-brand-rail{overscroll-behavior-inline:contain}

/* ---- 2026-09-17 final storefront cleanup ---- */
/* UK available-products filter row must stay compact instead of becoming a tall sticky patch. */
body:has(.catalogue-hero) .filter-row{
  position:static!important;
  top:auto!important;
  min-height:0!important;
  height:auto!important;
  margin:0 0 14px!important;
  padding:6px 0 8px!important;
  align-items:center!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:has(.catalogue-hero) .filter-button{min-height:34px!important;height:34px!important;padding:0 13px!important;font-size:10.5px!important;line-height:1!important}
body:has(.catalogue-hero) .filter-result{margin:0 0 14px!important;min-height:0!important;font-size:10px!important}
body:has(.catalogue-hero) .product-grid{align-items:stretch!important}
body:has(.catalogue-hero) .product-image{min-height:190px!important;height:190px!important;padding:18px!important}
body:has(.catalogue-hero) .product-image img{height:150px!important;max-height:150px!important;object-fit:contain!important}
body:has(.catalogue-hero) .product-body{padding:15px!important}
body:has(.catalogue-hero) .product-card h3{font-size:14px!important;line-height:1.28!important;margin:9px 0 7px!important}
body:has(.catalogue-hero) .product-card p{font-size:10.5px!important;line-height:1.5!important;min-height:32px!important}

/* UK footer logo: only one clean logo layer, never background + image at once. */
body:has(.catalogue-hero) footer .brand,
html[lang="en-GB"] footer .brand{
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0 0 14px!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body:has(.catalogue-hero) footer .brand::before,
body:has(.catalogue-hero) footer .brand::after,
html[lang="en-GB"] footer .brand::before,
html[lang="en-GB"] footer .brand::after{content:none!important;display:none!important}
body:has(.catalogue-hero) footer .brand .wordmark,
html[lang="en-GB"] footer .brand .wordmark{display:none!important}
body:has(.catalogue-hero) footer .brand img,
html[lang="en-GB"] footer .brand img,
body:has(.catalogue-hero) footer .ot-brand-logo-image,
html[lang="en-GB"] footer .ot-brand-logo-image{
  display:block!important;
  width:190px!important;
  max-width:190px!important;
  height:52px!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}
body:has(.catalogue-hero) footer .footer-copy,
html[lang="en-GB"] footer .footer-copy{margin-top:8px!important;max-width:390px!important;font-size:11px!important;line-height:1.65!important}

/* Shared desktop navigation/dropdowns: compact, consistent typography. */
.ot-site-categorybar a,.ot-site-nav-item>button{font-size:11px!important;height:38px!important;padding-left:22px!important;padding-right:22px!important}
.ot-site-dropdown{top:38px!important;width:232px!important;padding:11px 13px 12px!important}
.ot-site-dropdown h4{font-size:13px!important;margin-bottom:7px!important}
.ot-site-dropdown a{min-height:31px!important;padding:6px 2px!important;font-size:10.5px!important;line-height:1.3!important}

/* Used OEM page: smaller first fold, calmer typography, denser search card. */
body:has(.used-hero) .used-hero{padding:18px 0 18px!important;min-height:0!important}
body:has(.used-hero) .used-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(340px,.78fr)!important;gap:24px!important;align-items:start!important}
body:has(.used-hero) .used-kicker{font-size:8.5px!important;padding:5px 8px!important}
body:has(.used-hero) .used-hero h1{max-width:680px!important;margin:8px 0 8px!important;font-size:clamp(28px,2.55vw,34px)!important;line-height:1.08!important;letter-spacing:-.02em!important}
body:has(.used-hero) .used-hero-grid>div>p{max-width:690px!important;font-size:12px!important;line-height:1.52!important}
body:has(.used-hero) .used-points{margin-top:13px!important;gap:7px!important}
body:has(.used-hero) .used-point{padding:9px!important}
body:has(.used-hero) .used-point strong{font-size:10.5px!important}
body:has(.used-hero) .used-point span{font-size:9px!important}
body:has(.used-hero) .used-request{padding:15px!important;border-radius:9px!important}
body:has(.used-hero) .used-request h2{font-size:18px!important;margin-bottom:4px!important}
body:has(.used-hero) .used-request p{font-size:10.5px!important;margin-bottom:9px!important}
body:has(.used-hero) .used-request input,body:has(.used-hero) .used-request select{height:38px!important;font-size:11.5px!important}
body:has(.used-hero) .used-request button{min-height:40px!important;font-size:11.5px!important}
body:has(.used-hero) .used-request small{font-size:8.5px!important}

@media(max-width:860px){
  .ot-site-header-main{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  .ot-site-actions{min-width:0!important;gap:6px!important;max-width:100%}
  .ot-site-cart{padding-left:9px!important;padding-right:9px!important}
  .ot-site-mobile-nav{width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important;left:auto!important;right:auto!important;transform:none!important}
  body:has(.used-hero) .used-hero-grid{grid-template-columns:1fr!important;gap:16px!important}
  body:has(.used-hero) .used-request{max-width:620px!important}
}

@media(max-width:760px){
  /* Homepage uses its older header names; match the shared shell behavior. */
  #header .header-main{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  #header .header-actions{min-width:0!important;gap:6px!important;max-width:100%}
  #header .cart-link{padding-left:9px!important;padding-right:9px!important}
  #header .mobile-nav{width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important;left:auto!important;right:auto!important;transform:none!important}

  body.ot-product-page .ot-product-confidence{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:6px!important;padding-bottom:0!important}
  body.ot-product-page .ot-product-confidence span{flex:1 1 auto!important;min-width:0!important;min-height:36px!important;padding:7px 9px!important;line-height:1.3!important}
  body.ot-product-page .ot-image-tools{gap:7px!important}
  body.ot-product-page .ot-image-hint{white-space:normal;line-height:1.25}

  .ot-promo-button,.ot-promo-input{min-height:44px!important;height:44px!important}
  .ot-deal-button{min-height:48px!important}
  body:has(.catalogue-hero) .filter-row{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding:6px 0!important;scrollbar-width:none!important}
  body:has(.catalogue-hero) .filter-row::-webkit-scrollbar{display:none!important}
  body:has(.catalogue-hero) .filter-button{flex:0 0 auto!important}
  body:has(.catalogue-hero) .product-image{height:172px!important;min-height:172px!important}
  body:has(.catalogue-hero) .product-image img{height:136px!important;max-height:136px!important}
  body:has(.used-hero) .used-hero{padding:16px 0!important}
  body:has(.used-hero) .used-hero h1{font-size:27px!important}
  body:has(.used-hero) .used-hero-grid>div>p{font-size:11.5px!important}
}

@media(max-width:360px){
  /* The approved graphic is rendered by brand-speed.css. Never re-expose its hidden fallback wordmark. */
  .ot-site-wordmark-sub,.ot-site-wordmark-meta,#header .wordmark-sub,#header .wordmark-meta{display:none!important}
  .ot-site-wordmark,#header .wordmark{display:none!important;padding-bottom:0!important}
  .ot-site-cart,.cart-link{font-size:10px!important}
  .ot-site-cart-count,.cart-count{margin-left:5px!important}
  .ot-shell-container,#header .container{width:min(100% - 16px,var(--ot-shell-max,1400px))!important}
}

@media(max-width:330px){
  .ot-site-cart,.cart-link{padding-left:7px!important;padding-right:7px!important}
  .ot-site-menu,.menu-btn{min-width:48px!important;padding-left:8px!important;padding-right:8px!important}
}
