/* =============================================================
   SL Interactions — v1.1.0
   Particules énergétiques au clic (loader retiré)
   ============================================================= */

:root {
	/* Surcharger depuis le child theme si besoin */
	--uu-sl-accent: #0ea5e9;
}

/* ── Particules de clic ──────────────────────────────────── */

.uu-sl-spark {
	position:       fixed;
	pointer-events: none;
	z-index:        99998;
	width:          0;
	height:         0;
}

.uu-sl-spark__dot {
	position:         absolute;
	width:            7px;
	height:           7px;
	border-radius:    50%;
	background:       var(--uu-sl-accent);
	transform-origin: center;
	transform:
		translate(-50%, -50%)
		rotate(var(--uu-sl-angle))
		translateY(0);
	opacity: 1;
	animation: uu-sl-burst 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Alternance de couleurs pour un effet multi-gouttes */
.uu-sl-spark__dot:nth-child(odd) {
	background: color-mix(in srgb, var(--uu-sl-accent) 70%, white);
	width:  5px;
	height: 5px;
}

@keyframes uu-sl-burst {
	0%   {
		transform: translate(-50%, -50%) rotate(var(--uu-sl-angle)) translateY(0);
		opacity: 1;
	}
	100% {
		transform: translate(-50%, -50%) rotate(var(--uu-sl-angle)) translateY(-48px);
		opacity: 0;
	}
}

/* Mot qui pop */
.uu-sl-spark__word {
	position:    absolute;
	font-family: inherit;
	font-size:   0.78rem;
	font-weight: 700;
	color:       var(--uu-sl-accent);
	white-space: nowrap;
	animation:   uu-sl-word-pop 0.7s ease-out forwards;
}

@keyframes uu-sl-word-pop {
	0%   { opacity: 0; transform: translate(-50%, -180%) scale(0.5); }
	30%  { opacity: 1; transform: translate(-50%, -230%) scale(1.15); }
	100% { opacity: 0; transform: translate(-50%, -290%) scale(0.9); }
}

/* ── Accessibilité : mouvement réduit ────────────────────── */

@media (prefers-reduced-motion: reduce) {
	.uu-sl-spark__dot,
	.uu-sl-spark__word {
		display: none;
	}
}
