/* Shop interaction states only. Layout belongs to the route and shared card stylesheets. */
html.ea-motion-ready [data-ea-motion-reveal] {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity 220ms ease, transform 220ms ease;
  will-change: opacity, transform;
}

html.ea-motion-ready [data-ea-motion-reveal].is-ea-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

html.ea-motion-ready body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag) .ea-shop-shell {
  opacity: 1 !important;
  transform: none !important;
  will-change: auto !important;
}

.ea-motion-press {
  transform: translate3d(0, 1px, 0) scale(.985) !important;
}

.ea-motion-cart-pulse {
  animation: ea-motion-cart-pulse 340ms cubic-bezier(.2, .8, .2, 1);
}

.ea-motion-success-ring {
  box-shadow: 0 0 0 3px rgba(47, 91, 79, .2) !important;
}

.ea-motion-cart-shake {
  animation: ea-motion-cart-shake 360ms cubic-bezier(.2, .8, .2, 1);
}

.ea-motion-control {
  touch-action: manipulation;
  transition: opacity 160ms ease, transform 160ms ease;
}

.ea-motion-control:is(a, button):hover {
  transform: translate3d(0, -1px, 0);
}

.ea-motion-control:is(a, button):focus-visible,
.ea-motion-control-field:focus-visible {
  outline: 3px solid rgba(23, 23, 23, .22) !important;
  outline-offset: 2px !important;
}

.ea-motion-form-submitting :is(button[type="submit"], input[type="submit"]) {
  opacity: .72 !important;
  cursor: progress !important;
}

.ea-motion-control-field {
  min-height: 44px;
}

@keyframes ea-motion-cart-pulse {
  0%, 100% { transform: scale(1); }
  45% { transform: scale(1.12); }
}

@keyframes ea-motion-cart-shake {
  0%, 100% { transform: translateX(0); }
  30% { transform: translateX(-3px); }
  70% { transform: translateX(3px); }
}

@media (prefers-reduced-motion: reduce) {
  html.ea-motion-ready [data-ea-motion-reveal],
  html.ea-motion-ready [data-ea-motion-reveal].is-ea-motion-visible,
  .ea-motion-press,
  .ea-motion-cart-pulse,
  .ea-motion-success-ring,
  .ea-motion-cart-shake,
  .ea-motion-control,
  .ea-motion-control-field {
    animation: none !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}
