/* Global scroll-to-top (Theme Settings: color via --logodom-scroll-top-bg on the button). */
.logodom-scroll-top {
	--logodom-scroll-top-bg: #2563eb;
	box-sizing: border-box;
	position: fixed;
	right: max(1rem, env(safe-area-inset-right, 0px));
	bottom: max(1rem, env(safe-area-inset-bottom, 0px));
	z-index: 999; /* above sticky header (998), below drawer (--logodom-z-drawer 1000) */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: var(--logodom-scroll-top-bg);
	color: #ffffff;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(0, 0.375rem, 0);
	transition:
		opacity 0.22s ease,
		visibility 0.22s ease,
		transform 0.22s ease,
		box-shadow 0.2s ease,
		filter 0.2s ease;
}

.logodom-scroll-top.logodom-scroll-top--visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
}

.logodom-scroll-top:hover {
	filter: brightness(1.06);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.22);
}

.logodom-scroll-top:focus {
	outline: none;
}

.logodom-scroll-top:focus-visible {
	outline: none;
	box-shadow:
		0 4px 14px rgba(15, 23, 42, 0.18),
		var(--logodom-focus-ring);
}

.logodom-scroll-top__icon {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	pointer-events: none;
}

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