/* ==========================================================================
   Retour en haut — MinucciSuite
   Bouton fixe en bas à droite. Couleurs en variables posées par le module
   (couleurs du site ou couleurs choisies) ; décalage vertical posé par le
   script quand un autre élément flottant occupe ce coin.

   Spécificité volontairement élevée (html body + élément + classe + attribut)
   et !important sur les propriétés que les styles globaux de bouton
   d'Elementor (Kit) ou du thème forcent le plus souvent.
   ========================================================================== */

html body button.stt-minucci[data-stt-minucci] {
	--stt-minucci-gap: clamp(16px, 4vw, 28px);
	position: fixed !important;
	right: calc(var(--stt-minucci-gap) + env(safe-area-inset-right, 0px)) !important;
	bottom: calc(var(--stt-minucci-gap) + env(safe-area-inset-bottom, 0px) + var(--stt-minucci-lift, 0px)) !important;
	left: auto !important;
	top: auto !important;
	z-index: 9990 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !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, #1d1d1f) !important;
	color: var(--stt-minucci-icon-color, #ffffff) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 6px 18px rgba(0, 0, 0, 0.14) !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	-webkit-tap-highlight-color: transparent;
	text-decoration: none !important;
	font-size: 0 !important;
	line-height: 0 !important;

	/* Masqué par défaut, révélé au défilement (.stt-minucci--visible). */
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(12px) scale(0.92) !important;
	transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.25s ease, bottom 0.2s ease, box-shadow 0.2s ease !important;
}

/* Sans script, ou en double avec le bouton du thème : absent. */
html body button.stt-minucci[data-stt-minucci][hidden] {
	display: none !important;
}

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

html body button.stt-minucci[data-stt-minucci].stt-minucci--visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* Survol : seulement avec une souris, pour ne pas rester « survolé » au doigt. */
@media (hover: hover) {
	html body button.stt-minucci[data-stt-minucci].stt-minucci--visible:hover {
		transform: translateY(-2px) !important;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 10px 24px rgba(0, 0, 0, 0.18) !important;
	}
}

/* Appui : le bouton s'enfonce légèrement, comme sur iOS. */
html body button.stt-minucci[data-stt-minucci].stt-minucci--visible:active {
	transform: scale(0.94) !important;
}

/* Clavier : anneau de la couleur du bouton, détaché de lui. */
html body button.stt-minucci[data-stt-minucci]:focus {
	outline: none !important;
}

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

/* Mouvement réduit : fondu seul, ni glissement ni rebond. */
@media (prefers-reduced-motion: reduce) {
	html body button.stt-minucci[data-stt-minucci],
	html body button.stt-minucci[data-stt-minucci].stt-minucci--visible,
	html body button.stt-minucci[data-stt-minucci].stt-minucci--visible:hover,
	html body button.stt-minucci[data-stt-minucci].stt-minucci--visible:active {
		transform: none !important;
		transition: opacity 0.2s ease, visibility 0.2s ease !important;
	}
}

/* Rien à l'impression. */
@media print {
	html body button.stt-minucci[data-stt-minucci] {
		display: none !important;
	}
}
