/* =============================================================================
   Liva Mall V2 — motion and depth.
   PHASE 5.6. One file for everything that moves. Rules:
     - transforms and opacity only; nothing animates width, height, top or left
     - every duration scales with --lmv2-m (the owner's Motion setting; 0 = off)
     - the visitor's reduced-motion preference wins over everything, and so does the
       admin QA switch `.lmv2-motion-reduce` (?lm-motion=reduce, design mode only)
     - pointer-driven depth exists only for a fine pointer that can hover
     - nothing in here is needed to read, reach or use anything
   ========================================================================== */

:root{--lmv2-ease:cubic-bezier(.2,0,0,1);--lmv2-ease-out:cubic-bezier(.16,1,.3,1)}

/* ---------- Reveal (shared IntersectionObserver in v3-motion.js) ------------ */
/* `.lmv2-rv` is applied by the script; without it nothing is ever hidden. */
.lmv2-v3 .lmv2-rv{opacity:0;transform:translate3d(0,calc(14px * var(--lmv2-m)),0)}
.lmv2-v3 .lmv2-rv.is-in{
  opacity:1;transform:none;
  transition:opacity calc(420ms * var(--lmv2-m)) var(--lmv2-ease),transform calc(420ms * var(--lmv2-m)) var(--lmv2-ease-out);
  transition-delay:calc(var(--lmv2-d,0) * 1ms * var(--lmv2-m));
}

/* ---------- Homepage hero: layered depth -------------------------------------- */
.lmv2-v3 .lmv2-hero__visual{perspective:1400px}
.lmv2-v3 .lmv2-hero__frame{
  transform:translate3d(var(--lmv2-px,0px),var(--lmv2-py,0px),0) rotateX(var(--lmv2-rx,0deg)) rotateY(var(--lmv2-ry,0deg));
  transition:transform calc(520ms * var(--lmv2-m)) var(--lmv2-ease-out),box-shadow calc(320ms * var(--lmv2-m)) ease;
  will-change:transform;
}
.lmv2-v3 .lmv2-hero__frame .lmv2-hero__img{transform:translate3d(calc(var(--lmv2-px,0px) * -.5),calc(var(--lmv2-py,0px) * -.5),0) scale(1.02)}
.lmv2-v3 .lmv2-hero__frame:hover .lmv2-hero__img{transform:translate3d(calc(var(--lmv2-px,0px) * -.5),calc(var(--lmv2-py,0px) * -.5),0) scale(1.05)}
.lmv2-v3 .lmv2-hero__card{
  transform:translate3d(calc(var(--lmv2-px,0px) * 1.8),calc(var(--lmv2-py,0px) * 1.8),0);
  transition:transform calc(520ms * var(--lmv2-m)) var(--lmv2-ease-out),box-shadow calc(220ms * var(--lmv2-m)) ease;
}
.lmv2-v3 .lmv2-hero__card:hover{transform:translate3d(calc(var(--lmv2-px,0px) * 1.8),calc(var(--lmv2-py,0px) * 1.8 - 2px),0);box-shadow:var(--lmv2-shadow-3)}
.lmv2-v3 .lmv2-hero__stamp{transform:translate3d(calc(var(--lmv2-px,0px) * 1.3),calc(var(--lmv2-py,0px) * 1.3),0);transition:transform calc(520ms * var(--lmv2-m)) var(--lmv2-ease-out)}

/* Cinema hero (5.6): the photograph breathes, the glows drift, the chips float and the
   kit card catches a light sweep — all on their own layers so the pointer parallax
   (transforms on the parents) is never overridden. Off under reduced motion. */
@keyframes lmv2-breathe{from{transform:scale(1.04)}to{transform:scale(1.11)}}
@keyframes lmv2-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(4%,-3%,0) scale(1.1)}}
@keyframes lmv2-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes lmv2-sweep{0%{transform:translateX(-130%)}14%{transform:translateX(130%)}100%{transform:translateX(130%)}}
.lmv2-motion .lmv2-v3 .lmv2-hero__bg{animation:lmv2-breathe calc(26s * var(--lmv2-m,1)) ease-in-out infinite alternate}
.lmv2-motion .lmv2-v3 .lmv2-hero__glow--a{animation:lmv2-drift calc(18s * var(--lmv2-m,1)) ease-in-out infinite alternate}
.lmv2-motion .lmv2-v3 .lmv2-hero__glow--b{animation:lmv2-drift calc(22s * var(--lmv2-m,1)) ease-in-out infinite alternate-reverse}
.lmv2-motion .lmv2-v3 .lmv2-hero__chipin{animation:lmv2-float calc(6.5s * var(--lmv2-m,1)) ease-in-out infinite}
.lmv2-motion .lmv2-v3 .lmv2-hero__chip--2 .lmv2-hero__chipin{animation-duration:calc(7.8s * var(--lmv2-m,1));animation-delay:-2.1s}
.lmv2-motion .lmv2-v3 .lmv2-hero__chip--3 .lmv2-hero__chipin{animation-duration:calc(7.1s * var(--lmv2-m,1));animation-delay:-4.3s}
.lmv2-motion .lmv2-v3 .lmv2-hero__card--stage::after{animation:lmv2-sweep 7s ease-in-out infinite;animation-delay:1.6s}

/* Entrance: copy rises in order, the visual settles after it. Only once the script has
   run (html.lmv2-motion), so a blocked script leaves everything simply visible. */
@keyframes lmv2-rise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@keyframes lmv2-settle{from{opacity:0;transform:translate3d(0,18px,0) scale(.985)}to{opacity:1;transform:none}}
.lmv2-motion .lmv2-v3 .lmv2-hero__copy > *{animation:lmv2-rise calc(480ms * var(--lmv2-m)) var(--lmv2-ease-out) both}
.lmv2-motion .lmv2-v3 .lmv2-hero__copy > :nth-child(2){animation-delay:calc(60ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmv2-hero__copy > :nth-child(3){animation-delay:calc(120ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmv2-hero__copy > :nth-child(4){animation-delay:calc(180ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmv2-hero__copy > :nth-child(5){animation-delay:calc(240ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmv2-hero__visual{animation:lmv2-settle calc(620ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(120ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmv2-hero__stage{animation:lmv2-settle calc(720ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(160ms * var(--lmv2-m))}

/* ---------- Buttons: one confident micro-interaction ------------------------ */
.lmv2-v3 .lmv2-btn{transition:background var(--lmv2-t-micro) ease,color var(--lmv2-t-micro) ease,border-color var(--lmv2-t-micro) ease,transform calc(160ms * var(--lmv2-m)) var(--lmv2-ease-out),box-shadow calc(160ms * var(--lmv2-m)) ease}
.lmv2-v3 .lmv2-btn--primary:hover{transform:translateY(calc(-1px * var(--lmv2-m)));box-shadow:var(--lmv2-shadow-2)}
.lmv2-v3 .lmv2-btn svg{transition:transform calc(200ms * var(--lmv2-m)) var(--lmv2-ease-out)}
.lmv2-v3 .lmv2-btn:hover svg:last-child{transform:translateX(calc(3px * var(--lmv2-m)))}

/* ---------- Shop by sport: lift, tilt, image shift, accent edge ------------- */
.lmv2-v3 .lmv2-sports{perspective:1200px}
.lmv2-v3 .lmv2-sport{
  transform:translate3d(0,0,0) rotateX(var(--lmv2-tx,0deg)) rotateY(var(--lmv2-ty,0deg));
  transform-style:preserve-3d;
  transition:transform calc(360ms * var(--lmv2-m)) var(--lmv2-ease-out),box-shadow calc(360ms * var(--lmv2-m)) ease;
}
.lmv2-v3 .lmv2-sport img{transition:transform calc(620ms * var(--lmv2-m)) var(--lmv2-ease-out)}
.lmv2-v3 .lmv2-sport::before{ /* accent edge; the dark scrim stays on ::after (home.css) — 5.6 QA found the edge had replaced it */
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:0 0 var(--lmv2-radius-card) var(--lmv2-radius-card);
  background:var(--lmv2-brand);transform:scaleX(0);transform-origin:left;
  transition:transform calc(320ms * var(--lmv2-m)) var(--lmv2-ease-out);pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .lmv2-v3 .lmv2-sport:hover{transform:translate3d(0,calc(-4px * var(--lmv2-m)),0) rotateX(var(--lmv2-tx,0deg)) rotateY(var(--lmv2-ty,0deg));box-shadow:var(--lmv2-shadow-3)}
  .lmv2-v3 .lmv2-sport:hover img{transform:scale(1.04) translate3d(calc(var(--lmv2-ty,0deg) * -1px),calc(var(--lmv2-tx,0deg) * 1px),0)}
  .lmv2-v3 .lmv2-sport:hover::before,.lmv2-v3 .lmv2-sport:focus-visible::before{transform:scaleX(1)}
}
@media (hover:none){
  .lmv2-v3 .lmv2-sport:active{transform:scale(.985);transition-duration:calc(120ms * var(--lmv2-m))}
}

/* ---------- Product cards: lift, elevation, image scale, badge nudge --------- */
.lmv2-v3 .lmv2-c__link{transition:transform calc(260ms * var(--lmv2-m)) var(--lmv2-ease-out),box-shadow calc(260ms * var(--lmv2-m)) ease}
.lmv2-v3 .lmv2-c__badge{transition:transform calc(220ms * var(--lmv2-m)) var(--lmv2-ease-out)}
@media (hover:hover) and (pointer:fine){
  /* PHASE 5.7H. This was -5px plus --lmv2-shadow-3, which is 0 4px 12px at 14% AND
     0 24px 60px at 18%. The card link has no surface on this storefront (background
     transparent, padding 0), so that heavy blur was painted around transparent content -
     under the title and the price as well as the image. On the warm light page it read as
     dark, muddy and detached, which is what the owner reported.

     Now: a smaller lift, and ONE restrained effect rather than all of them. The card
     carries no shadow; the hover is expressed on the image, which is the element that is
     actually a surface - its hairline ring firms up and takes the softest shadow in the
     system. Transform only on the card, so nothing reflows. */
  .lmv2-v3.lmv2-hoverlift .lmv2-c__link:hover{transform:translate3d(0,calc(-3px * var(--lmv2-m)),0)}
  .lmv2-v3.lmv2-hoverlift .lmv2-c__link:hover .lmv2-c__media,
  .lmv2-v3.lmv2-hoverlift .lmv2-c__link:focus-visible .lmv2-c__media{
    box-shadow:inset 0 1px 0 var(--lmv2-edge),0 0 0 1px var(--lmv2-line),var(--lmv2-shadow-1);
  }
  /* A card that genuinely has a surface keeps its shadow on that surface, one step down. */
  .lmv2-v3.lmv2-hoverlift .lmv2-c.has-surface .lmv2-c__link:hover{
    box-shadow:inset 0 1px 0 var(--lmv2-edge),var(--lmv2-shadow-2);
  }
  .lmv2-v3.lmv2-hoverlift .lmv2-c__link:hover .lmv2-c__badge{transform:translateY(calc(-1px * var(--lmv2-m)))}
  .lmv2-v3 .lmv2-c.has-zoom .lmv2-c__link:hover .lmv2-c__img,
  .lmv2-v3 .lmv2-c.has-zoom .lmv2-c__link:focus-visible .lmv2-c__img{transform:scale(1.03)}
}
@media (hover:none){
  .lmv2-v3 .lmv2-c__link:active{transform:scale(.99);transition-duration:calc(120ms * var(--lmv2-m))}
}

/* ---------- Product gallery: soft slide, calm thumbnails, zoom affordance ---- */
.lmv2-v3 .lmv2-gallery__stage{scroll-behavior:smooth}
.lmv2-v3 .lmv2-gallery__slide .lmv2-gallery__img{transition:transform calc(700ms * var(--lmv2-m)) var(--lmv2-ease-out)}
@media (hover:hover) and (pointer:fine){
  .lmv2-v3 .lmv2-gallery__slide:hover .lmv2-gallery__img{transform:scale(1.025)}
}
.lmv2-v3 .lmv2-gallery__thumb{transition:border-color calc(180ms * var(--lmv2-m)) ease,transform calc(180ms * var(--lmv2-m)) var(--lmv2-ease-out),opacity calc(180ms * var(--lmv2-m)) ease;opacity:.72}
.lmv2-v3 .lmv2-gallery__thumb:hover,.lmv2-v3 .lmv2-gallery__thumb.is-active{opacity:1}
.lmv2-v3 .lmv2-gallery__thumb.is-active{transform:translateY(calc(-2px * var(--lmv2-m)))}

/* ---------- Header --------------------------------------------------------- */
.lmv2-v3 .lmv2-header{transition:box-shadow calc(260ms * var(--lmv2-m)) ease,background calc(260ms * var(--lmv2-m)) ease}
.lmv2-v3 .lmv2-mode__btn{transition:background calc(180ms * var(--lmv2-m)) ease,color calc(180ms * var(--lmv2-m)) ease,transform calc(180ms * var(--lmv2-m)) var(--lmv2-ease-out),box-shadow calc(180ms * var(--lmv2-m)) ease}
.lmv2-v3 .lmv2-mode__btn:active{transform:scale(.94)}
.lmv2-v3 .lmv2-mode__btn svg{transition:transform calc(220ms * var(--lmv2-m)) var(--lmv2-ease-out)}
.lmv2-v3 .lmv2-mode__btn[aria-pressed=true] svg{transform:scale(1.1)}
.lmv2-v3 .lmv2-iconbtn{transition:background calc(160ms * var(--lmv2-m)) ease,color calc(160ms * var(--lmv2-m)) ease,transform calc(160ms * var(--lmv2-m)) var(--lmv2-ease-out)}
.lmv2-v3 .lmv2-iconbtn:active{transform:scale(.94)}

/* Drawer and search: 220ms slide (within the 180–260ms brief), backdrop fades with the
   scrim, items inside the drawer arrive in order. */
.lmv2-v3 .lmv2-drawer{transition:transform calc(240ms * var(--lmv2-m)) var(--lmv2-ease-out)}
.lmv2-v3 .lmv2-searchpanel{transition:opacity calc(240ms * var(--lmv2-m)) ease,visibility 0s linear calc(240ms * var(--lmv2-m))}
.lmv2-v3 .lmv2-searchpanel.is-open{transition:opacity calc(240ms * var(--lmv2-m)) ease,visibility 0s}
.lmv2-v3 .lmv2-scrim{transition:opacity calc(240ms * var(--lmv2-m)) ease,visibility calc(240ms * var(--lmv2-m))}
.lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li{animation:lmv2-rise calc(320ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(var(--lmv2-i,0) * 28ms * var(--lmv2-m))}
.lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(1){--lmv2-i:1} .lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(2){--lmv2-i:2}
.lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(3){--lmv2-i:3} .lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(4){--lmv2-i:4}
.lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(5){--lmv2-i:5} .lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(6){--lmv2-i:6}
.lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(7){--lmv2-i:7} .lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li:nth-child(n+8){--lmv2-i:8}
.lmv2-v3 .lmv2-searchpanel.is-open .lmv2-searchpanel__inner{animation:lmv2-rise calc(320ms * var(--lmv2-m)) var(--lmv2-ease-out) both}
.lmv2-v3 .lmv2-cartdrawer.is-open .lmv2-cartdrawer__item{animation:lmv2-rise calc(320ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(var(--lmv2-i,0) * 40ms * var(--lmv2-m))}

/* ---------- Footer: restrained ---------------------------------------------- */
.lmv2-v3 .lmv2-prefoot .lmv2-btn:hover{transform:translateY(calc(-2px * var(--lmv2-m)));box-shadow:var(--lmv2-shadow-3)}
.lmv2-v3 .lmv2-footer__list a{transition:color calc(140ms * var(--lmv2-m)) ease,transform calc(140ms * var(--lmv2-m)) var(--lmv2-ease-out)}
.lmv2-v3 .lmv2-footer__list a:hover{transform:translateX(calc(2px * var(--lmv2-m)))}

/* ---------- Appearance switch: colours cross over together ------------------ */
/* html.lmv2-theming is set by the script for ~300ms around a switch, so colour
   transitions exist only while the theme is actually changing. Images and video are
   excluded — a brightness fade on photography reads as a flash. */
html.lmv2-theming body,
html.lmv2-theming body *:not(img):not(video):not(svg):not(path){
  transition:background-color calc(180ms * var(--lmv2-m)) ease,border-color calc(180ms * var(--lmv2-m)) ease,color calc(180ms * var(--lmv2-m)) ease,box-shadow calc(180ms * var(--lmv2-m)) ease;
}

/* ---------- Cart / checkout: minimal, calm ------------------------------------ */
.lmv2-v3 .wc-block-components-totals-item__value,
.lmv2-v3 .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{transition:color calc(220ms * var(--lmv2-m)) ease}
.lmv2-v3 .wc-block-components-totals-item__value.is-updated{color:var(--lmv2-brand-ink)}
.lmv2-v3 .wc-block-cart-items__row{transition:opacity calc(220ms * var(--lmv2-m)) ease}
.lmv2-v3 .wc-block-cart-items__row.is-leaving{opacity:.35}
.lmv2-v3 .fc-checkout-step.is-current .fc-step__substep{animation:lmv2-rise calc(260ms * var(--lmv2-m)) var(--lmv2-ease-out) both}
.lmv2-v3 .fc-step__substep-fields .form-row input,.lmv2-v3 .fc-step__substep-fields .form-row select{transition:border-color calc(160ms * var(--lmv2-m)) ease,box-shadow calc(160ms * var(--lmv2-m)) ease}
.lmv2-v3.is-summary-open #order_review{animation:lmv2-rise calc(240ms * var(--lmv2-m)) var(--lmv2-ease-out) both}

/* ---------- Thank You: the mark arrives, the facts follow ------------------- */
@keyframes lmv2-mark{from{opacity:0;transform:scale(.6)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
.lmv2-motion .lmv2-v3 .lmv2-received__mark,.lmv2-motion .lmv2-v3 .lmv2-received__tick{animation:lmv2-mark calc(520ms * var(--lmv2-m)) var(--lmv2-ease-out) both}
.lmv2-motion .lmv2-v3 .lmv2-received__head > *:not(.lmv2-received__mark):not(.lmv2-received__tick){animation:lmv2-rise calc(420ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(160ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmv2-received__grid > *{animation:lmv2-rise calc(420ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(var(--lmv2-i,4) * 60ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmv2-received__grid > :nth-child(1){--lmv2-i:4} .lmv2-motion .lmv2-v3 .lmv2-received__grid > :nth-child(2){--lmv2-i:5}
.lmv2-motion .lmv2-v3 .lmv2-received__grid > :nth-child(3){--lmv2-i:6} .lmv2-motion .lmv2-v3 .lmv2-received__grid > :nth-child(4){--lmv2-i:7}
.lmv2-motion .lmv2-v3 .lmv2-received__next{animation:lmv2-rise calc(420ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(520ms * var(--lmv2-m))}

/* ---------- Track Order: result fades in, progress draws once ---------------- */
@keyframes lmv2-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lmv2-motion .lmv2-v3 .lmc-track__result{animation:lmv2-rise calc(420ms * var(--lmv2-m)) var(--lmv2-ease-out) both}
.lmv2-motion .lmv2-v3 .lmc-track__step{animation:lmv2-rise calc(360ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc((var(--lmc-i,0) + 2) * 90ms * var(--lmv2-m))}
@media (min-width:600px){
  .lmv2-motion .lmv2-v3 .lmc-track__step.is-done:not(:last-child)::before{transform-origin:left;animation:lmv2-draw calc(420ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc((var(--lmc-i,0) + 2) * 90ms * var(--lmv2-m))}
}
.lmv2-motion .lmv2-v3 .lmc-track__step.is-current .lmc-track__dot{animation:lmv2-mark calc(520ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc((var(--lmc-idx,0) + 3) * 90ms * var(--lmv2-m))}
.lmv2-motion .lmv2-v3 .lmc-track__verify,
.lmv2-motion .lmv2-v3 .lmc-track__verified{animation:lmv2-rise calc(420ms * var(--lmv2-m)) var(--lmv2-ease-out) both;animation-delay:calc(240ms * var(--lmv2-m))}

/* ---------- WhatsApp: smaller while the hero is in view ----------------------- */
.lmv2-v3 .qlwapp .qlwapp__container{transition:opacity calc(220ms * var(--lmv2-m)) ease,transform calc(320ms * var(--lmv2-m)) var(--lmv2-ease-out),bottom calc(320ms * var(--lmv2-m)) var(--lmv2-ease-out)}

/* ---------- Reduced motion: the visitor's word is final ---------------------- */
@media (prefers-reduced-motion:reduce){
  .lmv2-v3 .lmv2-rv{opacity:1;transform:none;transition:none}
  .lmv2-v3 .lmv2-hero__frame,.lmv2-v3 .lmv2-hero__card,.lmv2-v3 .lmv2-hero__stamp,.lmv2-v3 .lmv2-hero__frame .lmv2-hero__img,
  .lmv2-v3 .lmv2-sport,.lmv2-v3 .lmv2-sport:hover,.lmv2-v3 .lmv2-sport img,.lmv2-v3 .lmv2-sport:hover img,
  .lmv2-v3 .lmv2-c__link,.lmv2-v3.lmv2-hoverlift .lmv2-c__link:hover,.lmv2-v3 .lmv2-c__img,
  .lmv2-v3 .lmv2-gallery__thumb.is-active,.lmv2-v3 .lmv2-btn--primary:hover,.lmv2-v3 .lmv2-btn:hover svg:last-child,
  .lmv2-v3 .lmv2-mode__btn:active,.lmv2-v3 .lmv2-iconbtn:active,.lmv2-v3 .lmv2-footer__list a:hover,.lmv2-v3 .lmv2-prefoot .lmv2-btn:hover{transform:none!important;transition:none!important}
  .lmv2-motion .lmv2-v3 .lmv2-hero__copy > *,.lmv2-motion .lmv2-v3 .lmv2-hero__visual,
  .lmv2-v3 .lmv2-drawer.is-open .lmv2-drawer__list > li,.lmv2-v3 .lmv2-searchpanel.is-open .lmv2-searchpanel__inner > *,
  .lmv2-v3 .fc-checkout-step.is-current .fc-step__substep,.lmv2-v3.is-summary-open #order_review,
  .lmv2-motion .lmv2-v3 .lmv2-received__mark,.lmv2-motion .lmv2-v3 .lmv2-received__head > *,.lmv2-motion .lmv2-v3 .lmv2-received__grid > *,.lmv2-motion .lmv2-v3 .lmv2-received__next,
  .lmv2-motion .lmv2-v3 .lmc-track__result,.lmv2-motion .lmv2-v3 .lmc-track__step,.lmv2-motion .lmv2-v3 .lmc-track__step.is-done:not(:last-child)::before,.lmv2-motion .lmv2-v3 .lmc-track__step.is-current .lmc-track__dot,
  .lmv2-motion .lmv2-v3 .lmc-track__verify,.lmv2-motion .lmv2-v3 .lmc-track__verified{animation:none!important;opacity:1!important;transform:none!important}
  .lmv2-v3 .lmv2-gallery__stage{scroll-behavior:auto}
  html.lmv2-theming body,html.lmv2-theming body *{transition:none!important}
}
/* The same, for the design-mode QA switch (?lm-motion=reduce, admins only). */
.lmv2-v3.lmv2-motion-reduce .lmv2-gallery__stage,.lmv2-v3.lmv2-motion-reduce .lmv2-carousel__track{scroll-behavior:auto}
.lmv2-v3.lmv2-motion-reduce .lmv2-rv{opacity:1;transform:none;transition:none}
/* Animations and transitions are motion and are all switched off. A transform is NOT
   always motion — some carry layout state, and a blanket `transform:none` here removed
   the closed drawer's own translateX(100%), leaving the cart drawer sitting open on
   every page (found in 5.6B; only ever visible through this admin switch, never to a
   visitor, because the media query above resets transforms BY NAME). So this switch now
   resets exactly the transforms the media query does, and nothing else — its whole job
   is to show what a reduced-motion visitor actually sees. */
.lmv2-v3.lmv2-motion-reduce *,.lmv2-v3.lmv2-motion-reduce *::before,.lmv2-v3.lmv2-motion-reduce *::after{animation:none!important;transition:none!important}
.lmv2-v3.lmv2-motion-reduce .lmv2-hero__frame,.lmv2-v3.lmv2-motion-reduce .lmv2-hero__card,.lmv2-v3.lmv2-motion-reduce .lmv2-hero__stamp,.lmv2-v3.lmv2-motion-reduce .lmv2-hero__frame .lmv2-hero__img,
.lmv2-v3.lmv2-motion-reduce .lmv2-sport,.lmv2-v3.lmv2-motion-reduce .lmv2-sport:hover,.lmv2-v3.lmv2-motion-reduce .lmv2-sport img,.lmv2-v3.lmv2-motion-reduce .lmv2-sport:hover img,
.lmv2-v3.lmv2-motion-reduce .lmv2-c__link,.lmv2-v3.lmv2-motion-reduce.lmv2-hoverlift .lmv2-c__link:hover,.lmv2-v3.lmv2-motion-reduce .lmv2-c__img,
.lmv2-v3.lmv2-motion-reduce .lmv2-gallery__thumb.is-active,.lmv2-v3.lmv2-motion-reduce .lmv2-btn--primary:hover,.lmv2-v3.lmv2-motion-reduce .lmv2-btn:hover svg:last-child,
.lmv2-v3.lmv2-motion-reduce .lmv2-mode__btn:active,.lmv2-v3.lmv2-motion-reduce .lmv2-iconbtn:active,.lmv2-v3.lmv2-motion-reduce .lmv2-footer__list a:hover,.lmv2-v3.lmv2-motion-reduce .lmv2-prefoot .lmv2-btn:hover{transform:none!important}
.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmv2-hero__copy > *,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmv2-hero__visual,
.lmv2-v3.lmv2-motion-reduce .lmv2-drawer.is-open .lmv2-drawer__list > li,.lmv2-v3.lmv2-motion-reduce .lmv2-searchpanel.is-open .lmv2-searchpanel__inner > *,
.lmv2-v3.lmv2-motion-reduce .fc-checkout-step.is-current .fc-step__substep,.lmv2-v3.lmv2-motion-reduce.is-summary-open #order_review,
.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmv2-received__mark,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmv2-received__head > *,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmv2-received__grid > *,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmv2-received__next,
.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmc-track__result,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmc-track__step,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmc-track__step.is-done:not(:last-child)::before,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmc-track__step.is-current .lmc-track__dot,
.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmc-track__verify,.lmv2-motion .lmv2-v3.lmv2-motion-reduce .lmc-track__verified{opacity:1!important;transform:none!important}
