/* QR Menu Premium Motion v1 - isolated visual enhancement */
@media (prefers-reduced-motion: no-preference) {
  #products.qr-products-enter .product-card {animation:qrProductReveal .28s cubic-bezier(.2,.75,.2,1) both;}
  #products.qr-products-enter .product-card:nth-child(2n){animation-delay:35ms}
  #products.qr-products-enter .product-card:nth-child(3n){animation-delay:65ms}
  @keyframes qrProductReveal {from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
  .category{transition:transform .22s ease,border-color .22s ease,background-color .22s ease,box-shadow .22s ease}
  .category:active{transform:scale(.965)}
  .product-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
  .product-card:active{transform:scale(.985)}
  #productModal:not(.hidden){animation:qrBackdropIn .22s ease both}
  #productModal:not(.hidden)>.sheet{animation:qrSheetIn .3s cubic-bezier(.2,.85,.25,1) both;will-change:transform,opacity}
  #productModal.qr-closing{animation:qrBackdropOut .18s ease both;pointer-events:none}
  #productModal.qr-closing>.sheet{animation:qrSheetOut .18s ease both}
  @keyframes qrBackdropIn{from{background-color:rgba(0,0,0,0)}to{background-color:rgba(0,0,0,.73)}}
  @keyframes qrBackdropOut{from{opacity:1}to{opacity:0}}
  @keyframes qrSheetIn{from{opacity:.65;transform:translateY(32px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes qrSheetOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(26px)}}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.18)}}
@media (prefers-reduced-motion:reduce){.category,.product-card{transition:none!important}}
