/* ==========================================================================
   SHS Italia – pulsante contatti fluttuante (inc/contact-fab.php)
   ========================================================================== */
.shs-fab {
	position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 900;
	display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
	font-family: var(--shs-font); font-size: 15px;
}
.shs-fab [hidden] { display: none !important; }
body.shs .shs-fab button { margin: 0; font-family: inherit; text-transform: none; letter-spacing: normal; line-height: 1; min-height: 0; }

/* Pulsante principale */
body.shs .shs-fab__toggle {
	display: inline-flex; align-items: center; gap: 10px;
	height: 52px; padding: 0 20px 0 16px;
	border: 0; border-radius: var(--shs-radius); cursor: pointer;
	background: var(--shs-navy); color: #fff;
	box-shadow: 0 10px 24px -10px rgba(10, 26, 43, .55);
	font-weight: 600; font-size: 15px;
	transition: background-color .18s;
}
body.shs .shs-fab__toggle:hover { background: var(--shs-ink); color: #fff; }
.shs-fab__toggle svg { width: 22px; height: 22px; display: block; }
.shs-fab__toggle-close { display: none; }
.shs-fab[data-open="true"] .shs-fab__toggle-open { display: none; }
.shs-fab[data-open="true"] .shs-fab__toggle-close { display: block; }
.shs-fab[data-open="true"] .shs-fab__toggle-text { display: none; }
body.shs .shs-fab[data-open="true"] .shs-fab__toggle { width: 52px; padding: 0; justify-content: center; background: var(--shs-ink); }

/* Azioni */
.shs-fab__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; animation: shs-fab-in .2s var(--shs-ease) both; }
body.shs .shs-fab__action {
	display: inline-flex; align-items: center; gap: 12px;
	padding: 0; border: 0; background: none; cursor: pointer;
	color: var(--shs-ink) !important; text-decoration: none;
}
.shs-fab__label {
	padding: 9px 12px; border-radius: var(--shs-radius-sm);
	background: #fff; box-shadow: inset 0 0 0 1px var(--shs-line), 0 6px 16px -10px rgba(10, 26, 43, .4);
	font-size: 14px; font-weight: 600; white-space: nowrap;
}
.shs-fab__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: var(--shs-radius);
	color: #fff; box-shadow: 0 8px 18px -10px rgba(10, 26, 43, .55);
	transition: transform .2s var(--shs-ease);
}
.shs-fab__icon svg { width: 22px; height: 22px; display: block; }
.shs-fab__action--wa .shs-fab__icon { background: #25d366; }
.shs-fab__action--tel .shs-fab__icon { background: var(--shs-navy); }
.shs-fab__action--mail .shs-fab__icon { background: var(--shs-ink-2); }
body.shs .shs-fab__action:hover .shs-fab__icon,
body.shs .shs-fab__action:focus-visible .shs-fab__icon { transform: translateX(-3px); }


@keyframes shs-fab-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 767px) {
	.shs-fab { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
	body.shs .shs-fab__toggle { width: 52px; padding: 0; justify-content: center; }
	.shs-fab__toggle-text { display: none; }

}
@media (prefers-reduced-motion: reduce) {
	.shs-fab__actions { animation: none; }
	.shs-fab__icon { transition: none; }
}
@media print { .shs-fab { display: none; } }
