/* Efeito de entrada: produtos e seções aparecem suavemente na primeira vez que entram na tela ao rolar. */
.rv { opacity: 0; transform: translateY(34px) scale(.985); filter: blur(8px);
  transition: opacity .9s ease, transform 1s cubic-bezier(.2,.7,.2,1), filter .9s ease; transition-delay: var(--d, 0ms); }
.rv--in { opacity: 1; transform: none; filter: none; }

/* Parallax: cada camada [data-par] anda numa velocidade própria (app.js grava --py).
   Usa "translate" separado do "transform" para não brigar com o efeito de entrada. */
[data-par] { translate: 0 var(--py, 0px); will-change: translate; }

@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; filter: none; transition: none; }
  [data-par] { translate: none; }
}
