.vpoc-scroll-top {
	--vpoc-stt-bg: #0d4f32;
	--vpoc-stt-bg-deep: #07301f;
	--vpoc-stt-fg: #f2b138;
	--vpoc-stt-fg-hover: #ffd97d;

	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 9990;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	background: linear-gradient(180deg, var(--vpoc-stt-bg) 0%, var(--vpoc-stt-bg-deep) 100%);
	color: var(--vpoc-stt-fg);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15), 0 2px 10px rgba(0, 0, 0, 0.4);
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.2s ease,
		color 0.2s ease;
}

.vpoc-scroll-top svg {
	width: 22px;
	height: 22px;
}

.vpoc-scroll-top.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.vpoc-scroll-top:hover {
	color: var(--vpoc-stt-fg-hover);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 4px 16px rgba(0, 0, 0, 0.45);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.vpoc-scroll-top {
		transition: none;
	}
}