/* -------------------------------------------------------------------------
 * Curseur personnalisé Solaris
 *
 * Seule feuille de style du projet, et la seule chose qui ne pouvait pas
 * s'exprimer en classes globales Elementor : un curseur suit la position du
 * pointeur, ce que le CSS seul ne sait pas faire.
 *
 * Le curseur natif n'est masqué que sous la classe .solaris-curseur-actif,
 * posée par le script une fois les deux éléments créés. Si le script ne se
 * charge pas, ou s'il échoue, la règle ne s'applique jamais et le curseur du
 * système reste en place.
 *
 * Les couleurs viennent des variables globales du site, avec une valeur de
 * repli au cas où la feuille du thème ne serait pas encore arrivée.
 * ---------------------------------------------------------------------- */

.solaris-curseur {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	pointer-events: none;
	opacity: 0;
	transition: opacity .2s ease;
	will-change: transform;
}

.solaris-curseur--visible {
	opacity: 1;
}

/* L'anneau, qui suit avec un léger retard. */
.solaris-curseur-anneau {
	width: 30px;
	height: 30px;
	margin: -15px 0 0 -15px;
	border: 1.5px solid var(--c-sun, #FABF77);
	border-radius: 50%;
	background-color: transparent;
	transition:
		width .2s ease,
		height .2s ease,
		margin .2s ease,
		background-color .2s ease,
		border-color .2s ease,
		opacity .2s ease;
}

/* Le point, qui colle exactement au pointeur. */
.solaris-curseur-point {
	width: 6px;
	height: 6px;
	margin: -3px 0 0 -3px;
	border-radius: 50%;
	background-color: var(--c-ember, #CF6139);
}

/* Au-dessus d'un lien, d'un bouton ou d'un onglet : l'anneau s'ouvre. */
.solaris-curseur-anneau.est-actif {
	width: 52px;
	height: 52px;
	margin: -26px 0 0 -26px;
	background-color: color-mix(in srgb, var(--c-sun, #FABF77) 22%, transparent);
	border-color: var(--c-ember, #CF6139);
}

/* Au clic : l'anneau se resserre. */
.solaris-curseur-anneau.est-presse {
	width: 22px;
	height: 22px;
	margin: -11px 0 0 -11px;
}

/* Dans un champ de saisie, le curseur du système est plus utile que le nôtre. */
.solaris-curseur--masque {
	opacity: 0;
}

html.solaris-curseur-actif,
html.solaris-curseur-actif body,
html.solaris-curseur-actif a,
html.solaris-curseur-actif button,
html.solaris-curseur-actif [role="tab"] {
	cursor: none;
}

html.solaris-curseur-actif input,
html.solaris-curseur-actif textarea,
html.solaris-curseur-actif select {
	cursor: auto;
}
