/* ==========================================================================
   Scroll To Top Minucci — Styles
   Bouton global fixe. Custom properties pilotees par le Customizer (PHP inline).

   Specificite volontairement elevee : le selecteur combine element + classe +
   attribut, prefixe par `html body`, pour passer devant les styles globaux de
   bouton d'Elementor (Kit / reglages globaux) qui ciblent les <button>.
   `!important` est ajoute sur les proprietes visuelles qu'Elementor force le
   plus souvent (reset de bouton, couleurs, forme) afin de gagner meme contre
   ses propres regles !important.
   ========================================================================== */

html body button.stt-minucci[data-stt-minucci] {
	position: fixed !important;
	right: clamp(16px, 4vw, 32px) !important;
	bottom: clamp(16px, 4vw, 32px) !important;
	left: auto !important;
	top: auto !important;
	z-index: 9990 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 50% !important;
	background: var(--stt-minucci-bg-color, #111111) !important;
	color: var(--stt-minucci-icon-color, #ffffff) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22) !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	text-decoration: none !important;
	font-size: 0 !important;
	line-height: 0 !important;

	/* Etat masque par defaut — revele au scroll via .stt-minucci--visible */
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(16px) !important;
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease !important;
}

html body button.stt-minucci[data-stt-minucci] svg {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	pointer-events: none;
}

/* --- Etat visible --- */
html body button.stt-minucci[data-stt-minucci].stt-minucci--visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
}

/* --- Hover / focus (uniquement quand visible) --- */
html body button.stt-minucci[data-stt-minucci].stt-minucci--visible:hover {
	transform: translateY(-4px) !important;
}

html body button.stt-minucci[data-stt-minucci]:focus-visible {
	outline: 2px solid var(--stt-minucci-icon-color, #ffffff) !important;
	outline-offset: 3px !important;
}

/* ==========================================================================
   Reduced motion — accessibilite (pas de glissement, fondu seul)
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html body button.stt-minucci[data-stt-minucci] {
		transform: none !important;
		transition: opacity 0.2s ease, visibility 0.2s ease !important;
	}

	html body button.stt-minucci[data-stt-minucci].stt-minucci--visible,
	html body button.stt-minucci[data-stt-minucci].stt-minucci--visible:hover {
		transform: none !important;
	}
}
