/* Short, interruptible transitions. No motion is applied to the bowl layer stack. */
@media (prefers-reduced-motion: no-preference) {
  html.menu-pointer-motion :is(.category-card, .menu-item, .bowl-product) {
    transition: opacity 220ms cubic-bezier(.23, 1, .32, 1), translate 220ms cubic-bezier(.23, 1, .32, 1);
  }
  html.menu-pointer-motion :is(.category-detail, .bowl-list) {
    transition: opacity 180ms cubic-bezier(.23, 1, .32, 1), translate 180ms cubic-bezier(.23, 1, .32, 1);
  }
  html.menu-pointer-motion :is(.nh-cart, .product-detail)[open] {
    transition: opacity 240ms cubic-bezier(.32, .72, 0, 1), translate 240ms cubic-bezier(.32, .72, 0, 1);
  }
  html.menu-pointer-motion :is(.nh-cart, .product-detail)[open]::backdrop {
    transition: opacity 200ms ease-out;
  }
  html.menu-pointer-motion :is(.menu-item-order, .bowl-product-add, .product-save, .nh-cart-submit, .nh-cart-clear, .product-choice, .nh-cart-quantity button, .order-trigger) {
    transition: transform 140ms cubic-bezier(.23, 1, .32, 1);
  }
  html.menu-pointer-motion :is(.menu-item-order, .bowl-product-add, .product-save, .nh-cart-submit, .nh-cart-clear, .product-choice, .nh-cart-quantity button, .order-trigger):active:not(:disabled) {
    transform: scale(.97);
  }
  html.menu-pointer-motion .product-choice-toggle {
    transition: transform 160ms cubic-bezier(.23, 1, .32, 1);
  }
  html.menu-pointer-motion .product-choice.is-selected .product-choice-toggle { transform: scale(1.08); }
  @starting-style {
    html.menu-pointer-motion :is(.category-card, .menu-item, .bowl-product) { opacity: 0; translate: 0 8px; }
    html.menu-pointer-motion :is(.category-detail, .bowl-list) { opacity: 0; translate: 0 5px; }
    html.menu-pointer-motion :is(.nh-cart, .product-detail)[open] { opacity: 0; translate: 24px 0; }
    html.menu-pointer-motion :is(.nh-cart, .product-detail)[open]::backdrop { opacity: 0; }
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.menu-pointer-motion .category-card:hover { translate: 0 -3px; }
  html.menu-pointer-motion :is(.menu-item-order, .bowl-product-add):hover { transform: scale(1.07); }
  html.menu-pointer-motion :is(.menu-item-order, .bowl-product-add):active { transform: scale(.97); }
}
/* Keyboard navigation and reduced-motion preferences never trigger decorative motion. */
html:not(.menu-pointer-motion) .category-photo > img { transition: none; }
@media (prefers-reduced-motion: reduce) {
  .category-photo > img { transition: none; transform: none; }
}
