.tsch-back-to-top {
	position: fixed;
	right: var(--space-lg);
	bottom: var(--space-lg);
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: var(--color-primary);
	color: var(--color-white);
	box-shadow: var(--shadow-soft);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity var(--transition-normal), transform var(--transition-normal),
		visibility var(--transition-normal), background var(--transition-normal), color var(--transition-normal);
}

.tsch-back-to-top--visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.tsch-back-to-top:hover {
	background: var(--color-primary-light);
	color: var(--color-ink);
}

.tsch-back-to-top svg {
	width: 20px;
	height: 20px;
}

@media (prefers-reduced-motion: reduce) {
	.tsch-back-to-top {
		transition: opacity var(--transition-fast), visibility var(--transition-fast);
	}
}

@media (max-width: 700px) {
	.tsch-back-to-top {
		right: var(--space-md);
		bottom: var(--space-md);
	}
}
