/* ================= FLOATING BUTTONS ROOT ================= */
.dr1057floatingbuttons {
	position: relative;
	z-index: 9999;
}

/* ================= WRAPPER ================= */
.dr1057floatingbuttons .floating-buttons {
	position: fixed;
	right: 18px;
	bottom: 18px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-end;
}

/* ================= BASE BUTTON ================= */
.dr1057floatingbuttons .fab-btn {
	position: relative;
	width: 52px;
	height: 52px;
	border-radius: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	color: #fff;
	text-decoration: none;
	font-size: 20px;

	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);

	border: 1px solid rgba(255,255,255,0.15);

	transition: all 0.3s ease;

	/* subtle floating */
	animation: dr1057Float 4s ease-in-out infinite;
}

/* stagger */
.dr1057floatingbuttons .fab-btn:nth-child(2){animation-delay:.2s;}
.dr1057floatingbuttons .fab-btn:nth-child(3){animation-delay:.4s;}
.dr1057floatingbuttons .fab-btn:nth-child(4){animation-delay:.6s;}

/* floating animation */
@keyframes dr1057Float {
	0%,100% { transform: translateY(0); }
	50% { transform: translateY(-6px); }
}

/* ================= ICON ================= */
.dr1057floatingbuttons .fab-btn .icon {
	font-size: 20px;
}

/* ================= HOVER ================= */
.dr1057floatingbuttons .fab-btn:hover {
	transform: translateY(-6px) scale(1.08);
}

/* ================= LABEL ================= */
.dr1057floatingbuttons .fab-btn .label {
	position: absolute;
	right: 65px;
	top: 50%;
	transform: translateY(-50%) translateX(10px);

	opacity: 0;
	visibility: hidden;

	padding: 8px 14px;
	border-radius: 20px;

	font-size: 12px;
	font-weight: 600;
	color: #fff;

	background: rgba(0,0,0,0.85);
	border: 1px solid rgba(255,255,255,0.1);

	transition: 0.3s;
}

.dr1057floatingbuttons .fab-btn:hover .label {
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%) translateX(0);
}

/* ================= COLORS (MEDICAL PREMIUM) ================= */

/* WhatsApp */
.dr1057floatingbuttons .fab-btn.whatsapp {
	background: linear-gradient(135deg, #25D366, #128C7E);
}

/* Call */
.dr1057floatingbuttons .fab-btn.phone {
	background: linear-gradient(135deg, #00D4FF, #4facfe);
}

/* Share */
.dr1057floatingbuttons .fab-btn.share {
	background: linear-gradient(135deg, #7f00ff, #e100ff);
}

/* Top */
.dr1057floatingbuttons .fab-btn.top {
	background: linear-gradient(135deg, #333, #111);
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {

	.dr1057floatingbuttons .floating-buttons {
		right: 12px;
		bottom: 12px;
		gap: 10px;
	}

	.dr1057floatingbuttons .fab-btn {
		width: 46px;
		height: 46px;
		font-size: 18px;
	}

	.dr1057floatingbuttons .fab-btn .label {
		display: none;
	}
}