/* Optional visual effects. Enabled from Settings (body.anim-on) and driven by
   assets/animations.js, which adds html.anim-ready before hiding anything —
   without scripts everything stays visible. All motion is disabled for
   reduced-motion users, and print always shows the final state. */
@media (prefers-reduced-motion: no-preference){
  .anim-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
  .anim-ready .reveal.is-in{opacity:1;transform:none}
  .anim-on .hero-copy>*{animation:almajd-rise .7s ease both}
  .anim-on .hero-copy>*:nth-child(2){animation-delay:.07s}
  .anim-on .hero-copy>*:nth-child(3){animation-delay:.14s}
  .anim-on .hero-copy>*:nth-child(4){animation-delay:.21s}
  .anim-on .hero-copy>*:nth-child(5){animation-delay:.28s}
  .anim-on .hero-art,.anim-on .daily-feature{animation:almajd-rise .8s .15s ease both}
  @keyframes almajd-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  [data-cart-count].cart-pulse{animation:almajd-cart-pulse .45s ease}
  @keyframes almajd-cart-pulse{0%{transform:scale(1)}35%{transform:scale(1.4)}100%{transform:scale(1)}}
}
@media print{
  .anim-ready .reveal{opacity:1!important;transform:none!important}
  .anim-on .hero-copy>*,.anim-on .hero-art,.anim-on .daily-feature{animation:none!important}
}
