
/* V9 premium motion layer */

/* V9 owns the scroll reveal; neutralize V6's old one */
.joy-reveal {
  opacity: 1 !important;
  transform: none !important;
}

.joy-v9-reveal {
  opacity: 0;
  filter: blur(8px);
  translate: 0 22px;
  transition:
    opacity 750ms ease,
    filter 750ms ease,
    translate 750ms cubic-bezier(.22,1,.36,1);
}

.joy-v9-reveal.joy-v9-visible {
  opacity: 1;
  filter: blur(0);
  translate: 0 0;
}

/* Smooth height animation when changing categories */
.gallery.joy-v9-switching {
  overflow: hidden;
}

/* Subtle buttons */
.filters button {
  transition:
    color .3s ease,
    background-color .3s ease,
    border-color .3s ease,
    box-shadow .3s ease,
    transform .3s cubic-bezier(.22,1,.36,1);
}

.filters button:hover {
  transform: translateY(-2px);
}

.filters button.active {
  box-shadow: 0 0 18px rgba(255,150,25,.16);
}

/* Preserve the approved card and player dimensions */
.gallery .card {
  backface-visibility: hidden;
}

/* Accessibility and performance */
@media (prefers-reduced-motion:reduce) {
  .joy-v9-reveal,
  .joy-v9-reveal.joy-v9-visible {
    opacity:1 !important;
    filter:none !important;
    translate:none !important;
    transition:none !important;
  }
}
