/**handles:geshmak-cursor-zone**/
/* בס״ד
 * GESHMAK CURSOR ZONE — frontend styles
 *
 * The floating cursor element is appended to <body> by the frontend script.
 * Its colour is driven by `color` (the inline SVG uses currentColor), its size
 * by width/height, and its overlay behaviour by mix-blend-mode — all set
 * inline per-instance by the script from the widget's panel settings.
 *
 * DEVELOPED BY TOM GOLDSTEIN > GESHMAK! > https://geshmak.com.au/
 */

/* The floating cursor element (created in JS, appended to <body>). */
.gshmk-cursor {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2147483600; /* above virtually everything, below max */
	pointer-events: none;
	opacity: 0;
	transform: translate3d(-50%, -50%, 0);
	will-change: transform, opacity;
	transition: opacity 0.18s ease;
	/* width / height / color / mix-blend-mode set inline per instance */
}

.gshmk-cursor.is-visible {
	opacity: var(--gshmk-cursor-opacity, 1);
}

.gshmk-cursor svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Native-cursor suppression. Applied to <html> by the script while a custom
 * cursor is active (and that zone is set to hide the default), and only when a
 * fine pointer is present and the user has not requested reduced motion. */
.gshmk-cursor-hide-native,
.gshmk-cursor-hide-native * {
	cursor: none !important;
}

/* Safety net: never hide the native cursor or paint a custom one for users
 * who prefer reduced motion (the script already avoids creating it, this is a
 * defensive backstop). */
@media (prefers-reduced-motion: reduce) {
	.gshmk-cursor {
		display: none !important;
	}
	.gshmk-cursor-hide-native,
	.gshmk-cursor-hide-native * {
		cursor: auto !important;
	}
}