/**
 * Luxury Cursor — Rose gold ring + gold center dot + sparkle trail.
 * Desktop only. Touch devices see standard cursor.
 *
 * @package SkyyRose_Flagship
 * @since   3.1.0
 */

/* Hide default cursor on desktop */
@media (hover: hover) {
	body:not(.immersive-page) {
		cursor: none;
	}

	body:not(.immersive-page) a,
	body:not(.immersive-page) button,
	body:not(.immersive-page) [role="button"],
	body:not(.immersive-page) input,
	body:not(.immersive-page) select,
	body:not(.immersive-page) textarea {
		cursor: none;
	}
}

/* ==================================================
   RING — Rose Gold, larger, follows with lag
   ================================================== */

.luxury-cursor-ring {
	position: fixed;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	border: 1.5px solid rgba(183, 110, 121, 0.5);
	border-radius: 50%;
	pointer-events: none;
	z-index: 99999;
	transition: width 0.3s ease, height 0.3s ease, border-color 0.3s ease;
	mix-blend-mode: difference;
}

.luxury-cursor-ring.hovering {
	width: 54px;
	height: 54px;
	border-color: rgba(212, 175, 55, 0.6);
}

/* ==================================================
   DOT — Gold center, tight follow
   ================================================== */

.luxury-cursor-dot {
	position: fixed;
	top: 0;
	left: 0;
	width: 6px;
	height: 6px;
	background: var(--color-gold, #D4AF37);
	border-radius: 50%;
	pointer-events: none;
	z-index: 99999;
	transition: width 0.2s ease, height 0.2s ease, background 0.2s ease;
}

.luxury-cursor-dot.hovering {
	width: 8px;
	height: 8px;
	background: var(--color-rose-gold, #B76E79);
}

/* ==================================================
   SPARKLE TRAIL
   ================================================== */

.luxury-cursor-trail {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 99998;
	overflow: hidden;
}

.cursor-sparkle {
	position: absolute;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(212, 175, 55, 0.6);
	pointer-events: none;
	animation: cursorSparkle 0.6s ease-out forwards;
	transform: translate(-50%, -50%);
}

@keyframes cursorSparkle {
	0%   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
	100% { opacity: 0; transform: translate(-50%, -50%) scale(0.2) translateY(-12px); }
}

/* ==================================================
   HIDE ON TOUCH / MOBILE
   ================================================== */

@media (hover: none) {
	.luxury-cursor-ring,
	.luxury-cursor-dot,
	.luxury-cursor-trail {
		display: none !important;
	}
}

/* ==================================================
   REDUCED MOTION
   ================================================== */

@media (prefers-reduced-motion: reduce) {
	.cursor-sparkle {
		animation: none;
		display: none;
	}

	.luxury-cursor-ring {
		transition: none;
	}
}
