.back-to-top {
	position: fixed;
	z-index: 100;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	display: inline-flex;
	width: 3.25rem;
	height: 3.25rem;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 3px solid var(--wp--preset--color--white, #eff1f2);
	border-radius: 50%;
	box-shadow: 0 4px 14px color-mix(in srgb, var(--wp--preset--color--black) 28%, transparent);
	background: var(--wp--preset--color--pink, #e6007e);
	color: var(--wp--preset--color--white, #eff1f2);
	cursor: pointer;
	opacity: 0;
	transform: translateY(0.75rem);
	visibility: hidden;
	transition:
		opacity 180ms ease,
		transform 180ms ease,
		visibility 0s linear 180ms,
		background-color 160ms ease;
}

.back-to-top[hidden] {
	display: none;
}

.back-to-top.is-visible {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
	transition-delay: 0s;
}

.back-to-top svg {
	width: 1.75rem;
	height: 1.75rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.5;
}

.back-to-top:hover {
	background: var(--wp--preset--color--purple, #43358b);
}

.back-to-top:focus-visible {
	outline: 3px solid var(--wp--preset--color--yellow, #ffed00);
	outline-offset: 3px;
}

@media (min-width: 782px) {
	.back-to-top {
		right: 1.5rem;
		bottom: 1.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.back-to-top {
		transition-duration: 0.01ms !important;
	}
}
