.kcb-contact-buttons {
	--kcb-size: 54px;
	position: fixed;
	top: var(--kcb-top, auto);
	right: var(--kcb-right, auto);
	bottom: var(--kcb-bottom, auto);
	left: var(--kcb-left, auto);
	z-index: 99999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.kcb-contact-button {
	position: relative;
	display: grid;
	width: var(--kcb-size);
	height: var(--kcb-size);
	place-items: center;
	border: 2px solid rgba(255, 255, 255, .94);
	border-radius: 50%;
	box-shadow: 0 5px 18px rgba(15, 23, 42, .22);
	transition: transform .18s ease, box-shadow .18s ease;
}

.kcb-contact-button:hover,
.kcb-contact-button:focus-visible {
	transform: translateY(-2px) scale(1.06);
	box-shadow: 0 8px 24px rgba(15, 23, 42, .3);
}

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

.kcb-contact-button img {
	display: block;
	width: 28px;
	height: 28px;
}

.kcb-phone { background: #16a34a; }
.kcb-zalo { background: #0068ff; }
.kcb-facebook { background: #1877f2; }
.kcb-whatsapp { background: #25d366; }

.kcb-tooltip {
	position: absolute;
	top: 50%;
	right: calc(100% + 10px);
	width: max-content;
	max-width: 180px;
	padding: 6px 9px;
	transform: translateY(-50%) translateX(4px);
	border-radius: 5px;
	background: #111827;
	color: #fff;
	font: 600 12px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease, transform .15s ease;
}

.kcb-position-left .kcb-tooltip,
.kcb-position-custom[style*="--kcb-left"] .kcb-tooltip {
	right: auto;
	left: calc(100% + 10px);
	transform: translateY(-50%) translateX(-4px);
}

.kcb-contact-button:hover .kcb-tooltip,
.kcb-contact-button:focus-visible .kcb-tooltip {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

@media (max-width: 600px) {
	.kcb-contact-buttons { --kcb-size: 48px; gap: 8px; }
	.kcb-contact-button img { width: 25px; height: 25px; }
	.kcb-tooltip { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.kcb-contact-button,
	.kcb-tooltip { transition: none; }
}

