/* Bouton « Remonter » (option « Style du site »). Invisible et hors du parcours au clavier tant qu'il n'est pas affiché. */
.mb-to-top {
	position: fixed;
	z-index: 90;
	bottom: 24px;
	right: 24px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mb-primary, #1f2937);
	color: var(--mb-white, #fff);
	font-size: 18px;
	box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.35);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.25s, transform 0.25s, visibility 0s 0.25s, filter 0.2s;
}
.mb-to-top--left { right: auto; left: 24px; }
.mb-to-top.is-visible { opacity: 1; visibility: visible; transform: none; transition: opacity 0.25s, transform 0.25s, filter 0.2s; }
.mb-to-top:hover { filter: brightness(1.15); }
.mb-to-top:focus-visible { outline: 3px solid var(--mb-primary, #1f2937); outline-offset: 3px; }
.mb-to-top svg { width: 1em; height: 1em; fill: currentColor; }
@media (max-width: 767px) {
	.mb-to-top { bottom: 16px; right: 16px; width: 44px; height: 44px; font-size: 16px; }
	.mb-to-top--left { right: auto; left: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.mb-to-top, .mb-to-top.is-visible { transition: none; transform: none; }
}
