/* ── Pulsante mobile flottante ─────────────────────────────────────────────── */

#rm-mobile-btn {
	/* Custom properties — sovrascritte inline da PHP */
	--rm-btn-bg:     #1a1a1a;
	--rm-btn-icon:   #ffffff;
	--rm-btn-radius: 50px;
	--rm-btn-size:   56px;

	position: fixed;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	width: var(--rm-btn-size);
	height: var(--rm-btn-size);
	border-radius: var(--rm-btn-radius);
	background-color: var(--rm-btn-bg);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	/* Posizione di default: basso destra */
	bottom: 20px;
	right: 20px;
}

/* Visibile (aggiunto via JS) */
#rm-mobile-btn.rm-is-visible {
	display: flex;
}

/* ── Posizioni ─────────────────────────────────────────────────────────────── */

#rm-mobile-btn.rm-mobile-btn--bottom-right {
	bottom: 20px;
	right: 20px;
	top: auto;
	left: auto;
}

#rm-mobile-btn.rm-mobile-btn--bottom-left {
	bottom: 20px;
	left: 20px;
	top: auto;
	right: auto;
}

#rm-mobile-btn.rm-mobile-btn--top-right {
	top: 20px;
	right: 20px;
	bottom: auto;
	left: auto;
}

#rm-mobile-btn.rm-mobile-btn--top-left {
	top: 20px;
	left: 20px;
	bottom: auto;
	right: auto;
}

/* ── Link interno ──────────────────────────────────────────────────────────── */

#rm-mobile-btn .rm-mobile-btn__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--rm-btn-icon);
	text-decoration: none;
	border-radius: inherit;
}

#rm-mobile-btn .rm-mobile-btn__link:focus-visible {
	outline: 3px solid var(--rm-btn-icon);
	outline-offset: 3px;
}

/* ── Icona SVG ─────────────────────────────────────────────────────────────── */

#rm-mobile-btn svg {
	width: calc(var(--rm-btn-size) * 0.45);
	height: calc(var(--rm-btn-size) * 0.45);
	fill: currentColor;
	pointer-events: none;
	flex-shrink: 0;
}

/* ── Hover / Active ────────────────────────────────────────────────────────── */

@media (hover: hover) {
	#rm-mobile-btn:hover {
		transform: scale(1.08);
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
	}
}

#rm-mobile-btn:active {
	transform: scale(0.95);
}

/* ── Animazione entrata ────────────────────────────────────────────────────── */

@keyframes rm-btn-pop {
	from {
		opacity: 0;
		transform: scale(0.7);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

#rm-mobile-btn.rm-is-visible {
	animation: rm-btn-pop 0.25s ease both;
}

/* ── Accessibilità: riduzione movimento ────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	#rm-mobile-btn,
	#rm-mobile-btn:hover,
	#rm-mobile-btn:active {
		transition: none;
		animation: none;
		transform: none;
	}
}
