/*
 * Animações de scroll — reveal fade-up.
 * Sem flash: a classe .dg-anim é setada no <html> de forma síncrona (functions.php)
 * só quando o navegador suporta IntersectionObserver E o usuário não pediu menos
 * movimento. O JS (reveal.js) adiciona .is-visible quando o elemento entra na tela.
 * Se o JS/IO não rodar, .dg-anim nunca é aplicada → conteúdo aparece normal.
 */

.dg-anim main > section,
.dg-anim main > .wp-block-group,
.dg-anim main > .wp-block-columns,
.dg-anim main > .wp-block-buttons,
.dg-anim main > .wp-block-heading,
.dg-anim main .wp-block-post-content > section,
.dg-anim main .wp-block-post-content > .wp-block-group,
.dg-anim main .wp-block-post-content > .wp-block-columns,
.dg-anim main .wp-block-post-content > .wp-block-buttons,
.dg-anim main .wp-block-post-content > .wp-block-heading {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.8s cubic-bezier(0.16, 0.6, 0.2, 1),
		transform 0.8s cubic-bezier(0.16, 0.6, 0.2, 1);
	will-change: opacity, transform;
}

.dg-anim main > section.is-visible,
.dg-anim main > .wp-block-group.is-visible,
.dg-anim main > .wp-block-columns.is-visible,
.dg-anim main > .wp-block-buttons.is-visible,
.dg-anim main > .wp-block-heading.is-visible,
.dg-anim main .wp-block-post-content > section.is-visible,
.dg-anim main .wp-block-post-content > .wp-block-group.is-visible,
.dg-anim main .wp-block-post-content > .wp-block-columns.is-visible,
.dg-anim main .wp-block-post-content > .wp-block-buttons.is-visible,
.dg-anim main .wp-block-post-content > .wp-block-heading.is-visible {
	opacity: 1;
	transform: none;
}

/* Segurança: se o movimento foi desativado, nada fica escondido. */
@media (prefers-reduced-motion: reduce) {
	.dg-anim main > * {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
