html.asj-cursor-enabled:not(.asj-cursor-native-visible),
html.asj-cursor-enabled:not(.asj-cursor-native-visible) body {
	cursor: none;
}

html.asj-cursor-enabled:not(.asj-cursor-native-visible) a,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) button,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) summary,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) label,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) [role="button"],
html.asj-cursor-enabled:not(.asj-cursor-native-visible) .button,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) .wd-button,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) .add_to_cart_button,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) .single_add_to_cart_button,
html.asj-cursor-enabled:not(.asj-cursor-native-visible) .woocommerce-Button {
	cursor: none !important;
}

html.asj-cursor-enabled input,
html.asj-cursor-enabled textarea,
html.asj-cursor-enabled select,
html.asj-cursor-enabled [contenteditable="true"] {
	cursor: text !important;
}

.asj-cursor,
.asj-cursor-dot,
.asj-cursor-trail {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2147482500;
	pointer-events: none;
	contain: layout style paint;
}

.asj-cursor {
	width: var(--asj-cursor-size, 34px);
	height: var(--asj-cursor-size, 34px);
	opacity: 0;
	transform: translate3d(-50%, -50%, 0) scale(.9);
	transition: opacity .18s ease, width .22s ease, height .22s ease, filter .22s ease;
	will-change: transform, opacity, width, height;
}

.asj-cursor.is-visible {
	opacity: var(--asj-cursor-opacity, .92);
}

.asj-cursor.is-hover {
	width: calc(var(--asj-cursor-size, 34px) * 1.55);
	height: calc(var(--asj-cursor-size, 34px) * 1.55);
	filter: saturate(1.15);
}

.asj-cursor.is-down {
	width: calc(var(--asj-cursor-size, 34px) * .82);
	height: calc(var(--asj-cursor-size, 34px) * .82);
}

.asj-cursor.is-text {
	opacity: .24;
}

.asj-cursor-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--asj-cursor-primary, #b16d36);
	box-shadow: 0 0 16px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 50%, transparent);
	opacity: 0;
	transform: translate3d(-50%, -50%, 0);
	transition: opacity .16s ease, transform .18s ease;
	will-change: transform, opacity;
}

.asj-cursor-dot.is-visible {
	opacity: 1;
}

.asj-cursor.is-hover + .asj-cursor-dot {
	transform: translate3d(-50%, -50%, 0) scale(.72);
}

.asj-cursor-trail {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--asj-cursor-secondary, #f5d4bc);
	box-shadow: 0 0 18px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 34%, transparent);
	opacity: .52;
	transform: translate3d(-50%, -50%, 0) scale(1);
	animation: asj-cursor-trail-out .58s ease-out forwards;
}

.asj-cursor--ring {
	border: 2px solid var(--asj-cursor-primary, #b16d36);
	border-radius: 999px;
	background:
		radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--asj-cursor-secondary, #f5d4bc) 42%, transparent) 0 28%, transparent 30%),
		color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 8%, transparent);
	box-shadow:
		0 0 0 1px rgba(255,255,255,.72) inset,
		0 10px 30px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 26%, transparent);
}

.asj-cursor--dot {
	border-radius: 999px;
	background: radial-gradient(circle, var(--asj-cursor-primary, #b16d36) 0 36%, color-mix(in srgb, var(--asj-cursor-secondary, #f5d4bc) 70%, transparent) 38% 68%, transparent 70%);
	box-shadow: 0 0 28px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 42%, transparent);
}

.asj-cursor--bag {
	width: calc(var(--asj-cursor-size, 34px) * .9);
	height: calc(var(--asj-cursor-size, 34px) * .76);
	margin-top: calc(var(--asj-cursor-size, 34px) * .12);
	border: 2px solid var(--asj-cursor-primary, #b16d36);
	border-radius: 7px 7px 10px 10px;
	background: linear-gradient(145deg, var(--asj-cursor-secondary, #f5d4bc), rgba(255,255,255,.42));
	box-shadow: 0 12px 24px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 24%, transparent);
}

.asj-cursor--bag:before {
	content: "";
	position: absolute;
	top: -34%;
	left: 50%;
	width: 48%;
	height: 46%;
	border: 2px solid var(--asj-cursor-primary, #b16d36);
	border-bottom: 0;
	border-radius: 999px 999px 0 0;
	transform: translateX(-50%);
}

.asj-cursor--arrow {
	width: calc(var(--asj-cursor-size, 34px) * .92);
	height: calc(var(--asj-cursor-size, 34px) * .92);
	background: linear-gradient(135deg, var(--asj-cursor-primary, #b16d36), color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 72%, #111));
	clip-path: polygon(8% 0, 88% 50%, 54% 58%, 74% 100%, 57% 100%, 38% 62%, 8% 84%);
	filter: drop-shadow(0 8px 14px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 32%, transparent));
}

.asj-cursor--star {
	background: linear-gradient(135deg, var(--asj-cursor-secondary, #f5d4bc), var(--asj-cursor-primary, #b16d36));
	clip-path: polygon(50% 0, 61% 34%, 98% 34%, 68% 55%, 79% 92%, 50% 70%, 21% 92%, 32% 55%, 2% 34%, 39% 34%);
	filter: drop-shadow(0 8px 18px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 34%, transparent));
}

.asj-cursor--target {
	border: 2px solid var(--asj-cursor-primary, #b16d36);
	border-radius: 999px;
	background:
		linear-gradient(var(--asj-cursor-primary, #b16d36), var(--asj-cursor-primary, #b16d36)) 50% 0 / 2px 100% no-repeat,
		linear-gradient(90deg, var(--asj-cursor-primary, #b16d36), var(--asj-cursor-primary, #b16d36)) 0 50% / 100% 2px no-repeat;
	box-shadow: 0 0 0 7px color-mix(in srgb, var(--asj-cursor-secondary, #f5d4bc) 28%, transparent);
}

.asj-cursor--target:after {
	content: "";
	position: absolute;
	inset: 38%;
	border-radius: 999px;
	background: var(--asj-cursor-primary, #b16d36);
}

.asj-cursor--square {
	border: 2px solid var(--asj-cursor-primary, #b16d36);
	border-radius: 9px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--asj-cursor-secondary, #f5d4bc) 58%, transparent), transparent),
		color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 10%, transparent);
	box-shadow:
		0 0 0 1px rgba(255,255,255,.72) inset,
		0 0 26px color-mix(in srgb, var(--asj-cursor-primary, #b16d36) 36%, transparent);
	transform-origin: center;
}

@keyframes asj-cursor-trail-out {
	0% {
		opacity: .5;
		transform: translate3d(-50%, -50%, 0) scale(1);
	}
	100% {
		opacity: 0;
		transform: translate3d(-50%, -50%, 0) scale(.15);
	}
}

@media (pointer: coarse) {
	.asj-cursor,
	.asj-cursor-dot,
	.asj-cursor-trail {
		display: none !important;
	}

	html.asj-cursor-enabled,
	html.asj-cursor-enabled body,
	html.asj-cursor-enabled a,
	html.asj-cursor-enabled button {
		cursor: auto !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.asj-cursor,
	.asj-cursor-dot {
		transition: none !important;
	}

	.asj-cursor-trail {
		display: none !important;
	}
}
