/* Case card hover cursor — follows pointer, scales in/out. */

.case-cursor {
	--case-cursor-size: 6rem;
	--case-cursor-arrow: 2.5rem;

	align-items: center;
	block-size: var(--case-cursor-size);
	display: flex;
	inline-size: var(--case-cursor-size);
	justify-content: center;
	left: 0;
	margin-block-start: calc(var(--case-cursor-size) / -2);
	margin-inline-start: calc(var(--case-cursor-size) / -2);
	pointer-events: none;
	position: fixed;
	top: 0;
	z-index: 10000;
	transform: translate3d(-100vw, -100vh, 0);
	will-change: transform;
}

.case-cursor__inner {
	align-items: center;
	background: #fff;
	block-size: 100%;
	border-radius: 50%;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-dark) 8%, transparent);
	display: flex;
	inline-size: 100%;
	justify-content: center;
	transform: scale(0);
	transform-origin: center center;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.case-cursor.is-visible .case-cursor__inner {
	transform: scale(1);
}

.case-cursor__arrow {
	block-size: var(--case-cursor-arrow);
	color: var(--color-dark);
	display: block;
	flex: 0 0 auto;
	inline-size: var(--case-cursor-arrow);
	line-height: 0;
}

.case-cursor__arrow svg {
	block-size: 100%;
	display: block;
	inline-size: 100%;
}

@media (hover: hover) and (pointer: fine) {
	.case__card,
	.tjanst-case,
	.case-archive__card {
		cursor: none;
	}

	.case__card.has-case-cursor,
	.tjanst-case.has-case-cursor,
	.case-archive__card.has-case-cursor {
		cursor: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.case-cursor {
		display: none !important;
	}

	.case__card,
	.tjanst-case,
	.case-archive__card {
		cursor: pointer;
	}
}
