/*
 * Floating Buttons — WhatsApp, Call, Back-to-Top
 * ----------------------------------------------------------------------- */

.floating-buttons {
	position: fixed;
	bottom: var(--space-md);
	right: var(--space-md);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	z-index: var(--z-floating);
}

.floating-buttons__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	box-shadow: var(--shadow-lg);
	border: none;
	color: var(--color-white);
	transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.floating-buttons__btn:hover,
.floating-buttons__btn:focus-visible {
	transform: scale(1.08);
}

.floating-buttons__btn .icon {
	width: 26px;
	height: 26px;
}

.floating-buttons__btn--whatsapp {
	background: #25D366;
	animation: a1pro-pulse 2.4s infinite;
}

.floating-buttons__btn--call {
	background: var(--gradient-primary);
}

.floating-buttons__btn--top {
	background: var(--color-dark);
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
}

.floating-buttons__btn--top.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

@keyframes a1pro-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5), var(--shadow-lg); }
	50% { box-shadow: 0 0 0 10px rgba(37, 211, 102, 0), var(--shadow-lg); }
}

@media (prefers-reduced-motion: reduce) {
	.floating-buttons__btn--whatsapp {
		animation: none;
	}
}

@media (max-width: 640px) {
	.floating-buttons {
		bottom: var(--space-sm);
		right: var(--space-sm);
	}

	.floating-buttons__btn {
		width: 48px;
		height: 48px;
	}
}
