/**
 * Animation du logo SVG dans le preloader (voir template-parts/preloader/preloader.php).
 * Le spinner par défaut d'Inspiro (.inspiro-preloader__spinner) et le fondu de
 * sortie (.inspiro-preloader.is-hidden) restent gérés par le thème parent.
 */

.inspiro-preloader.has-logo {
	flex-direction: column;
}

.inspiro-preloader__logo {
	/* !important : certaines pages (ex. boutique/catégorie WooCommerce) chargent
	   des styles génériques sur "img" (galerie, zoom) qui peuvent sinon écraser
	   la taille de ce logo. Le preloader est un composant global, il doit rester
	   identique sur toutes les pages. */
	width: 38% !important;
	max-width: 160px !important;
	height: auto !important;
	object-fit: contain;
	opacity: 0;
	transform: scale(0.92);
	filter: blur(6px);
	animation:
		inspiro-preloader-logo-in 1.1s cubic-bezier(0.16, 1, 0.3, 1) forwards,
		inspiro-preloader-logo-pulse 2.2s ease-in-out 1.1s infinite;
}

.inspiro-preloader__text {
	margin: 14px 0 0;
	font-family: var(--preloader-text-font, var(--font-helvetica-now, inherit));
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-align: center;
	color: var(--inspiro-preloader-color, #111111);
	opacity: 0;
	transform: translateY(6px);
	animation: inspiro-preloader-text-in 0.8s ease-out 0.9s forwards;
}

@keyframes inspiro-preloader-logo-in {
	to {
		opacity: 1;
		transform: scale(1);
		filter: blur(0);
	}
}

@keyframes inspiro-preloader-logo-pulse {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.82;
		transform: scale(1.03);
	}
}

@keyframes inspiro-preloader-text-in {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.inspiro-preloader__logo {
		animation: inspiro-preloader-logo-in 0.6s ease forwards;
	}

	.inspiro-preloader__text {
		animation: inspiro-preloader-text-in 0.4s ease forwards;
	}
}
