/* Omni Terrain universal storefront performance + device compatibility layer */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}
body{min-width:320px;overflow-x:hidden}
img,svg,video{max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

/* Skip rendering work for off-screen catalogue blocks while keeping layout stable. */
.card,.live-card,.category-card,.category-home,.policy-card,.why-card,.request-item,.uk-cart-item{
  content-visibility:auto;
  contain-intrinsic-size:1px 360px;
}

/* Prevent slow images from collapsing their containers. */
.media,.live-media,.product-visual,.uk-cart-thumb,.hero-showcase{contain:layout paint}
.media img,.live-media img,.product-visual img,.uk-cart-thumb img,.hero-showcase img{
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* Catalogue and department images stay contained at every viewport width. */
.grid .card .media{aspect-ratio:4/3;min-height:0!important;display:grid;place-items:center;overflow:hidden;background:#fff}
.grid .card .media img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:auto!important}
.media.ot-media-failed img,.live-media.ot-media-failed img{display:none!important}
.media.ot-media-failed:after,.live-media.ot-media-failed:after{content:"Product image temporarily unavailable";max-width:210px;padding:20px;color:#71808d;text-align:center;font:700 12px/1.5 Manrope,Inter,system-ui,sans-serif}

/* Better touch behaviour and safer text wrapping across narrow devices. */
.product-copy h1,.card h3,.live-card h3,.policy-card h2,.footer-copy,.market-note{overflow-wrap:anywhere}
@media(pointer:coarse){
  .card:hover,.live-card:hover,.category-card:hover,.category-home:hover,.button:hover,.ot-theme-toggle:hover{transform:none!important}
  button,.button,.card-link,.live-link,.nav a,.nav-links a,.mobile-nav a{min-height:44px}
}

/* Tablet / small laptop layout safeguards. */
@media(max-width:1024px){
  .container{width:min(100% - 28px,1360px)!important}
  .product-layout{gap:24px!important}
}

/* Mobile-first stability. */
@media(max-width:760px){
  html{scroll-padding-top:72px}
  body{font-size:16px}
  .container{width:min(100% - 22px,1360px)!important}
  .header-main,.header .container{gap:12px!important}
  .nav,.nav-links{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .nav::-webkit-scrollbar,.nav-links::-webkit-scrollbar{display:none}
  .product-layout{grid-template-columns:1fr!important;gap:18px!important}
  .product-visual{min-height:280px!important}
  .product-copy{padding:20px!important}
  .product-copy h1{font-size:clamp(2rem,10vw,3.2rem)!important}
  .grid{gap:14px!important}
  .grid .card .media{aspect-ratio:1/1!important;padding:10px!important}
  .grid .card .media img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
  .footer-grid{gap:24px!important}
  .mobile-store-bar{padding-bottom:max(6px,env(safe-area-inset-bottom))!important}
}

@media(max-width:420px){
  .container{width:min(100% - 16px,1360px)!important}
  .section,.home-section,.policy-wrap{padding-left:0!important;padding-right:0!important}
  .card-body,.live-body{padding:16px!important}
  .product-visual{min-height:240px!important;border-radius:18px!important}
  .product-copy{border-radius:18px!important}
  .grid .card .media{padding:8px!important}
  .ot-theme-toggle{right:10px!important}
}

/* Battery/data saver class applied by storefront-performance.js. */
html.ot-perf-lite *,html.ot-perf-lite *::before,html.ot-perf-lite *::after{
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
  scroll-behavior:auto!important;
}
html.ot-perf-lite .ot-stage-orbit,
html.ot-perf-lite .ot-stage-glow,
html.ot-perf-lite .ot-marquee-track{animation:none!important;transform:none!important}
html.ot-perf-lite .ot-reel{transform:none!important}

/* Keep region navigation readable in dark mode on both legacy and shared shells. */
html[data-ot-theme="dark"] .market-label,
html[data-ot-theme="dark"] .ot-site-market-label{
  color:#d8b469!important;
  opacity:1!important;
}
html[data-ot-theme="dark"] .market-strip .container>a:not(.market-link),
html[data-ot-theme="dark"] .ot-site-market a:not(.active){
  color:#a9b8c5!important;
}
html[data-ot-theme="dark"] .market-link,
html[data-ot-theme="dark"] .ot-site-market a.active{
  color:#e2bd72!important;
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
