/* reveal-on-scroll.css – postupné objevení bloků při scrollu / načtení */

@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

.reveal-on-scroll {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.65s ease;
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* Varianty (data-reveal na prvku nebo ruční třída) */
.reveal-on-scroll.reveal-fade {
  transform: none;
}

.reveal-on-scroll.reveal-left {
  transform: translate3d(-40px, 0, 0);
}

.reveal-on-scroll.reveal-right {
  transform: translate3d(40px, 0, 0);
}

.reveal-on-scroll.reveal-scale {
  transform: scale(0.94);
}

.reveal-on-scroll.reveal-scale.is-revealed {
  transform: scale(1);
}

.reveal-on-scroll.reveal-blur {
  filter: blur(6px);
}

.reveal-on-scroll.reveal-blur.is-revealed {
  filter: blur(0);
}

/* První načtení: pozvolný fade shora dolů (třídu přidá JS u viditelné části okna) */
.reveal-on-scroll.reveal-load-fade {
  transform: none !important;
  filter: none !important;
  transition:
    opacity 1.05s cubic-bezier(0.33, 1, 0.68, 1),
    transform 0s linear;
  transition-delay: var(--reveal-delay, 0s);
}

.reveal-on-scroll.reveal-load-fade.is-revealed {
  transform: none !important;
}
