/* Small visual responses share one motion language; content and controls stay still. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  :root { --food-tilt:-2deg; --food-lift:1.02; --food-motion:220ms ease-out; }
  :is(.lp-hero-product,.lp-suggestion,.lp-dessert,.lp-direction) img,
  .product-art img,.counter-photo,.family-choice .family-icon {
    transition:rotate var(--food-motion),scale var(--food-motion);
  }
  :is(.lp-hero-product,.lp-suggestion,.lp-dessert,.lp-direction):is(:hover,:focus-visible) img,
  .product-card:is(:hover,:focus-visible) .product-art img,
  .counter-choose:is(:hover,:focus-visible) .counter-photo,
  .family-choice:is(:hover,:focus-visible) .family-icon {
    rotate:var(--food-tilt);
    scale:var(--food-lift);
  }
  /* Avoid stacking the former zoom with the shared effect. */
  .product-card:hover .product-art { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  .product-card:hover .product-art { transform:none; }
}
