/*----------------------------------------
	Floating Contact Widget (WhatsApp / Call)
-----------------------------------------*/
.bd-float-widget {
	position: fixed;
	right: 24px;
	bottom: 100px;
	z-index: 999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 16px;
	pointer-events: none;
}

.bd-float-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	color: #fff;
	box-shadow: 0px 10px 25px 0px rgba(0, 0, 0, 0.2);
	cursor: pointer;
	border: none;
	pointer-events: all;
	opacity: 0;
	transform: translateX(90px) scale(.6);
	animation: bdFloatIn .6s cubic-bezier(.34, 1.56, .64, 1) forwards;
	transition: transform .3s ease, box-shadow .3s ease;
}

.bd-float-item:hover {
	transform: translateX(0) scale(1.08);
	box-shadow: 0px 14px 30px 0px rgba(0, 0, 0, 0.28);
}

.bd-float-item:nth-child(1) { animation-delay: .15s; }
.bd-float-item:nth-child(2) { animation-delay: .35s; }
.bd-float-item:nth-child(3) { animation-delay: .55s; }

@keyframes bdFloatIn {
	0% {
		opacity: 0;
		transform: translateX(90px) scale(.6);
	}
	100% {
		opacity: 1;
		transform: translateX(0) scale(1);
	}
}

.bd-float-icon {
	width: 26px;
	height: 26px;
	position: relative;
	z-index: 2;
	animation: bdFloatBob 2.6s ease-in-out infinite;
}

@keyframes bdFloatBob {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-3px); }
}

/* pulsing radar ring, one per button, brand-colored */
.bd-float-ping {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	z-index: 1;
	animation: bdFloatPing 2.2s cubic-bezier(0, 0, .2, 1) infinite;
}

@keyframes bdFloatPing {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, .55);
	}
	100% {
		box-shadow: 0 0 0 16px rgba(255, 255, 255, 0);
	}
}

/* brand colors */
.bd-float-whatsapp {
	background: #25D366;
}

.bd-float-call {
	background: linear-gradient(135deg, var(--bd-theme-2, #EB514A), var(--bd-theme-5, #FFA455));
}

.bd-float-item.bd-float-whatsapp .bd-float-ping { animation-delay: .4s; }
.bd-float-item.bd-float-call .bd-float-ping { animation-delay: .8s; }

/* hover label pill */
.bd-float-label {
	position: absolute;
	right: calc(100% + 14px);
	top: 50%;
	transform: translateY(-50%) translateX(8px);
	white-space: nowrap;
	background: #1f2937;
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	padding: 7px 14px;
	border-radius: 30px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease;
	z-index: 2;
}

.bd-float-item:hover .bd-float-label {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

@media (max-width: 575px) {
	.bd-float-widget {
		right: 14px;
		bottom: 84px;
		gap: 12px;
	}

	.bd-float-item {
		width: 50px;
		height: 50px;
	}

	.bd-float-icon {
		width: 22px;
		height: 22px;
	}

	.bd-float-label {
		display: none;
	}
}
