/* Custom cursor — desktop only (fine pointer + hover) */
@media (hover: hover) and (pointer: fine) {
	html.has-cp-cursor,
	html.has-cp-cursor * {
		cursor: none !important;
	}

	.cp-cursor {
		position: fixed;
		top: 0;
		left: 0;
		width: var(--cp-cursor-size, 40px);
		height: var(--cp-cursor-size, 40px);
		margin: var(--cp-cursor-margin, -20px 0 0 -20px);
		pointer-events: none;
		z-index: 2147483647;
		opacity: 0;
		will-change: transform;
		transition:
			opacity 0.2s ease,
			width 0.2s ease,
			height 0.2s ease,
			margin 0.2s ease;
	}

	.cp-cursor.is-visible {
		opacity: 1;
	}

	.cp-cursor.is-hover {
		width: var(--cp-cursor-size-hover, 56px);
		height: var(--cp-cursor-size-hover, 56px);
		margin: var(--cp-cursor-margin-hover, -28px 0 0 -28px);
	}

	.cp-cursor__icon {
		display: block;
		width: 100%;
		height: 100%;
		background: center / contain no-repeat;
		background-image: var(--cp-cursor-url);
	}
}
