/**
 * Deco motion — entradas e estado inicial (parallax via JS + translate/rotate individuais).
 * !important nas entradas: vence opacity/filter do vo-store do editor.
 */
[data-deco-prop][data-deco-enter]:not(.deco-enter-done) {
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-deco-prop][data-deco-enter='fade']:not(.deco-enter-done) {
  opacity: 0 !important;
}

[data-deco-prop][data-deco-enter='blur']:not(.deco-enter-done) {
  opacity: 0 !important;
  filter: blur(12px) var(--deco-filter-extra, none) !important;
}

[data-deco-prop][data-deco-enter='blur-up']:not(.deco-enter-done) {
  opacity: 0 !important;
  filter: blur(10px) var(--deco-filter-extra, none) !important;
}

[data-deco-prop][data-deco-enter='scale']:not(.deco-enter-done) {
  opacity: 0 !important;
  filter: blur(6px) var(--deco-filter-extra, none) !important;
}

[data-deco-prop].deco-enter-done,
[data-deco-prop][data-deco-enter='fade'].deco-enter-done,
[data-deco-prop][data-deco-enter='blur'].deco-enter-done,
[data-deco-prop][data-deco-enter='blur-up'].deco-enter-done,
[data-deco-prop][data-deco-enter='scale'].deco-enter-done {
  opacity: var(--deco-opacity-effective, 1) !important;
  filter: var(--deco-filter-effective, var(--deco-filter-extra, none)) !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-deco-prop][data-deco-enter] {
    opacity: var(--deco-opacity-effective, 1) !important;
    filter: var(--deco-filter-effective, var(--deco-filter-extra, none)) !important;
    transition: none !important;
  }
}
