/*
 * E2IT - ouverture de l accueil et transitions entre les pages.
 *
 * Tout est en CSS. Rien ne depend d un script pour se terminer :
 * l ecran d ouverture s efface seul apres 1,3 s et ne bloque jamais le clic.
 *
 * Chronologie de l ouverture (ms)
 *      0 -  400   le logo apparait et monte de 8 px
 *    900 - 1300   l ecran s efface
 */

/* ------------------------------------------------------------------
   1. Ouverture de l accueil
   Le balisage porte l attribut hidden : si cette feuille ne charge pas,
   l ecran reste invisible au lieu de laisser un bloc vide en haut de page.
   ------------------------------------------------------------------ */

.e2it-ouverture,
.e2it-ouverture[hidden] {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	background: var(--e2it-marine-fonce, #071C3E);
	pointer-events: none;
	animation: e2it-ouverture-sortie 400ms var(--e2it-courbe-sortie, ease-in) 900ms forwards;
}

/* Deja vue dans la session : rien ne s affiche. */
html.e2it-ouverture-vue .e2it-ouverture {
	display: none;
}

.e2it-ouverture__contenu {
	display: flex;
	justify-content: center;
	width: min(220px, 52vw);
}

.e2it-ouverture__logo {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0;
	animation: e2it-ouverture-logo 400ms var(--e2it-courbe, ease-out) forwards;
}

@keyframes e2it-ouverture-logo {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}

@keyframes e2it-ouverture-sortie {
	to { opacity: 0; visibility: hidden; }
}

/* ------------------------------------------------------------------
   2. Transitions entre les pages (View Transitions API)
   Les navigateurs qui ne la gerent pas naviguent normalement.
   ------------------------------------------------------------------ */

@view-transition {
	navigation: auto;
}

::view-transition-old(root) {
	animation: e2it-page-sortie 160ms var(--e2it-courbe-sortie, ease-in) both;
}

::view-transition-new(root) {
	animation: e2it-page-entree 260ms var(--e2it-courbe, ease-out) 60ms both;
}

@keyframes e2it-page-sortie {
	to { opacity: 0; }
}

@keyframes e2it-page-entree {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}

/* ------------------------------------------------------------------
   3. Mouvement reduit et impression : ni ouverture, ni transition.
   ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	.e2it-ouverture,
	.e2it-ouverture[hidden] {
		display: none;
	}

	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) {
		animation: none;
	}
}

@media print {
	.e2it-ouverture,
	.e2it-ouverture[hidden] {
		display: none;
	}
}
