/**
 * Nach-oben-Button — Glas-Kreis, grau/schwarz, kein Gold.
 */
.wagner-to-top {
	--wagner-to-top-size: 44px;
	--wagner-to-top-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--wagner-to-top-ink: #2c2a27;
	--wagner-to-top-focus: #173c5b;

	position: fixed;
	right: max(18px, env(safe-area-inset-right));
	bottom: max(22px, env(safe-area-inset-bottom));
	z-index: 50;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--wagner-to-top-size);
	height: var(--wagner-to-top-size);
	min-width: var(--wagner-to-top-size);
	min-height: var(--wagner-to-top-size);
	padding: 0;
	margin: 0;
	border-radius: 50%;
	border: 1px solid rgba(44, 42, 39, 0.18);
	background: rgba(255, 255, 255, 0.42);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: var(--wagner-to-top-ink);
	box-shadow: none;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(6px);
	transition:
		opacity 0.35s var(--wagner-to-top-ease),
		visibility 0.35s var(--wagner-to-top-ease),
		transform 0.35s var(--wagner-to-top-ease),
		color 0.2s var(--wagner-to-top-ease),
		background-color 0.2s var(--wagner-to-top-ease),
		border-color 0.2s var(--wagner-to-top-ease);
}

.wagner-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.wagner-to-top:hover {
	border-color: rgba(44, 42, 39, 0.32);
	background: rgba(255, 255, 255, 0.62);
	color: #1a1917;
}

.wagner-to-top:focus-visible {
	outline: 2px solid var(--wagner-to-top-focus);
	outline-offset: 3px;
}

.wagner-to-top svg {
	width: 18px;
	height: 18px;
	display: block;
	flex-shrink: 0;
}

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