/* ─────────────────────────────────────
   Ensoul Custom Cursor v2.3.0
   ───────────────────────────────────── */

.ens-custom-cursor {
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	/* z-index sotto al transition overlay (.ens-transition-overlay → 999)
	   così durante una transizione le strips coprono il cursore. */
	z-index: 100;
	will-change: transform, opacity;
	opacity: 1;
	transition: opacity 0.2s ease;
}

/* Sparisci durante le page-transition Barba */
.ens-transitioning .ens-custom-cursor {
	opacity: 0;
}

.ens-custom-cursor__img {
	display: block;
	width: var(--ens-cursor-size, 3em);
	height: auto;
	/* Centre on cursor point + start hidden (scale 0) */
	transform: translate(-50%, -50%) scale(0);
	transform-origin: center center;
	transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
	user-select: none;
	-webkit-user-drag: none;
}

.ens-custom-cursor--active .ens-custom-cursor__img {
	transform: translate(-50%, -50%) scale(1);
	animation: ens-cursor-spin 6s linear 0.35s infinite;
}

@keyframes ens-cursor-spin {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Hide native cursor on target elements (solo desktop) */
@media (hover: hover) and (pointer: fine) {
	[data-ens-cursor] {
		cursor: none;
	}
}

/* Touch device / mobile: niente cursore custom in nessun caso */
@media (hover: none), (pointer: coarse) {
	.ens-custom-cursor {
		display: none !important;
	}
}
