.bs-floating-contact {
	position: fixed;
	z-index: 9990;
	top: 50%;
	right: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transform: translateY(-50%);
}

.bs-floating-contact-button {
	position: relative;
	width: 50px;
	height: 50px;
	display: grid;
	place-items: center;
	border: 2px solid rgba(255, 255, 255, .92);
	border-radius: 50%;
	box-shadow: 0 5px 18px rgba(13, 45, 22, .24);
	color: #fff;
	transition: transform .2s ease, box-shadow .2s ease;
}

.bs-floating-contact-button:hover,
.bs-floating-contact-button:focus-visible {
	color: #fff;
	transform: translateX(-3px);
	box-shadow: 0 7px 22px rgba(13, 45, 22, .32);
}

.bs-floating-contact-button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.bs-floating-contact-button svg {
	width: 25px;
	height: 25px;
}

.bs-floating-contact-button > span {
	position: absolute;
	right: calc(100% + 10px);
	top: 50%;
	padding: 6px 10px;
	border-radius: 4px;
	background: #173d20;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translate(5px, -50%);
	transition: opacity .2s ease, transform .2s ease;
}

.bs-floating-contact-button:hover > span,
.bs-floating-contact-button:focus-visible > span {
	opacity: 1;
	transform: translate(0, -50%);
}

.bs-floating-messenger { background: #168aff; }
.bs-floating-email { background: #b34b3d; }
.bs-floating-whatsapp { background: #20a95a; }

@media (max-width: 620px) {
	.bs-floating-contact {
		top: auto;
		right: 10px;
		bottom: 86px;
		gap: 8px;
		transform: none;
	}

	.bs-floating-contact-button {
		width: 46px;
		height: 46px;
	}

	.bs-floating-contact-button > span {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bs-floating-contact-button,
	.bs-floating-contact-button > span {
		transition: none;
	}
}
