/* ==========================================================================
   Performa Page Transitions
   Transizioni native tra navigazioni multi-page tramite View Transitions API.
   I browser senza supporto (Firefox) ignorano queste regole: nessun fallback
   necessario, la navigazione funziona normalmente.
   ========================================================================== */

@view-transition {
	navigation: auto;
}

/* Crossfade morbido tra vecchia e nuova pagina */
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: var(--performa-transition-duration, 0.35s);
	animation-timing-function: ease-in-out;
	animation-fill-mode: both;
}

::view-transition-old(root) {
	animation-name: performa-fade-out;
}

::view-transition-new(root) {
	animation-name: performa-fade-in;
}

@keyframes performa-fade-out {
	from { opacity: 1; }
	to   { opacity: 0; }
}

@keyframes performa-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* Rispetta le preferenze di riduzione movimento */
@media (prefers-reduced-motion: reduce) {
	@view-transition {
		navigation: none;
	}
}
