/**
 * Animazioni pagina "Presentazione (copia)" (ID 28).
 * Caricato solo su quella pagina da functions.php.
 * Animazioni di ingresso legate allo scroll (animation-timeline: view()):
 * dove il browser non le supporta, i contenuti restano fermi e visibili.
 */

/* ---------- Hero: sottotitoli in dissolvenza dopo il titolo ---------- */
/* Il titolo H1 usa già .my-custom-fade (CSS aggiuntivo del Customizer). */
.page-id-28 .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container > p {
	opacity: 0;
	animation: p28-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	animation-delay: 0.35s;
}
.page-id-28 .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container > p + p {
	animation-delay: 0.55s;
}

/* ---------- Hover leggero sulle immagini con angoli arrotondati ---------- */
.page-id-28 .entry-content .wp-block-image.has-custom-border img,
.page-id-28 .entry-content .wp-block-image img[style*="border-radius"] {
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
}
.page-id-28 .entry-content .wp-block-image.has-custom-border img:hover,
.page-id-28 .entry-content .wp-block-image img[style*="border-radius"]:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

/* ---------- Ingressi allo scroll ---------- */
@supports (animation-timeline: view()) {

	/* Titoli di sezione (figli diretti di gruppi e cover, esclusa la hero) */
	.page-id-28 .entry-content > .wp-block-group > .wp-block-heading,
	.page-id-28 .entry-content > .wp-block-cover:not(:first-child) .wp-block-cover__inner-container > *,
	.page-id-28 .entry-content > .wp-block-heading {
		animation: p28-fade-up linear both;
		animation-timeline: view();
		animation-range: entry 0% cover 25%;
	}

	/* Colonne "foglia" (senza altre colonne dentro), in sequenza */
	.page-id-28 .entry-content .wp-block-column:not(:has(.wp-block-columns)) {
		animation: p28-fade-up linear both;
		animation-timeline: view();
		animation-range: entry 0% cover 25%;
	}
	.page-id-28 .entry-content .wp-block-column:not(:has(.wp-block-columns)):nth-child(2) {
		animation-range: entry 5% cover 29%;
	}
	.page-id-28 .entry-content .wp-block-column:not(:has(.wp-block-columns)):nth-child(3) {
		animation-range: entry 10% cover 33%;
	}
	.page-id-28 .entry-content .wp-block-column:not(:has(.wp-block-columns)):nth-child(4) {
		animation-range: entry 15% cover 37%;
	}

	/* Immagini: leggero zoom in uscita dal bordo */
	.page-id-28 .entry-content .wp-block-column .wp-block-image img {
		animation: p28-settle linear both;
		animation-timeline: view();
		animation-range: entry 0% cover 30%;
	}

	/* Separatori che si allungano dal centro */
	.page-id-28 .entry-content .wp-block-separator {
		animation: p28-grow linear both;
		animation-timeline: view();
		animation-range: entry 0% cover 30%;
	}
}

@keyframes p28-fade-up {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: none; }
}
@keyframes p28-settle {
	from { transform: scale(1.04); }
	to   { transform: none; }
}
@keyframes p28-grow {
	from { transform: scaleX(0); }
	to   { transform: scaleX(1); }
}

/* ---------- Rispetto di "riduci movimento" ---------- */
@media (prefers-reduced-motion: reduce) {
	.page-id-28 .entry-content *,
	.page-id-28 .entry-content .my-custom-fade {
		animation: none !important;
		opacity: 1 !important;
		transition: none !important;
	}
}
