/* Shared hover rhythm: restrained movement, soft arrival and return. */
:root{--hover-duration:280ms;--hover-image-duration:650ms;--hover-ease:cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:no-preference){
  body :is(a,button,input,select,textarea,summary,.ts-control,.ts-dropdown .option),
  .product,.slider-pause,.slider-dot,.category-image{
    transition-property:color,background-color,border-color,box-shadow,opacity,filter,transform,text-decoration-color;
    transition-duration:var(--hover-duration);
    transition-timing-function:var(--hover-ease);
  }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body img,.hero-banner img{transition:scale var(--hover-image-duration) var(--hover-ease),translate var(--hover-image-duration) var(--hover-ease)}
  body img:hover,a:focus-visible>img,.product-image:hover img,.category-card:hover img,.hero-slide:hover img,.promo-card:hover img,.collection-banner:hover img{scale:1.008;translate:0 -.5px}
  .add-button:hover{transform:translateY(-1px)}
}

/* Native document navigation; unsupported browsers keep ordinary links. */
@view-transition{navigation:auto}
::view-transition-group(product-photo){animation-duration:360ms;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
::view-transition-old(product-photo),::view-transition-new(product-photo){height:100%;object-fit:contain;mix-blend-mode:normal}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
