/* Boost Essentials: floating phone and WhatsApp buttons. Values come from CSS variables set on the elements. */
.boost-cb {
	position: fixed;
	z-index: var(--cb-z, 99999);
	bottom: var(--cb-bottom, 20px);
	display: flex;
	flex-direction: column;
	gap: var(--cb-gap, 12px);
	margin: 0;
	padding: 0;
	pointer-events: none;
}
.boost-cb--right { right: var(--cb-side, 20px); align-items: flex-end; }
.boost-cb--left { left: var(--cb-side, 20px); align-items: flex-start; }

/* ".boost-cb .boost-cb__btn" outranks theme and Elementor kit link colours (a, a:hover). */
.boost-cb .boost-cb__btn,
.boost-cb .boost-cb__btn:hover,
.boost-cb .boost-cb__btn:focus,
.boost-cb .boost-cb__btn:visited {
	color: var(--cb-fg, #fff);
	text-decoration: none;
}
.boost-cb .boost-cb__btn {
	pointer-events: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: var(--cb-size, 56px);
	height: var(--cb-size, 56px);
	margin: 0;
	padding: 0;
	border: var(--cb-border, none);
	border-radius: var(--cb-radius, 50%);
	background: var(--cb-bg, #111827);
	box-shadow: var(--cb-shadow, none);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}
.boost-cb .boost-cb__btn:hover { transform: scale(1.06); }
.boost-cb .boost-cb__btn:focus-visible { outline: 3px solid var(--cb-bg, #111827); outline-offset: 3px; }
.boost-cb .boost-cb__btn svg { display: block; width: 52%; height: 52%; fill: currentColor; }

/* WhatsApp: fixed look, WhatsApp green app-icon square with the white logo. */
.boost-cb .boost-cb__btn--whatsapp {
	--cb-bg: #25d366;
	--cb-fg: #ffffff;
	--cb-radius: 23%;
	--cb-border: none;
	--cb-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.boost-cb .boost-cb__btn--whatsapp svg { width: 60%; height: 60%; }

@media (max-width: 767px) {
	.boost-cb { bottom: var(--cb-bottom-m, 16px); }
	.boost-cb--right { right: var(--cb-side-m, 16px); }
	.boost-cb--left { left: var(--cb-side-m, 16px); }
	.boost-cb .boost-cb__btn { width: var(--cb-size-m, 52px); height: var(--cb-size-m, 52px); }
	.boost-cb .boost-cb__btn--desktop-only { display: none; }
}
@media (min-width: 768px) {
	.boost-cb .boost-cb__btn--mobile-only { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.boost-cb .boost-cb__btn { transition: none; }
	.boost-cb .boost-cb__btn:hover { transform: none; }
}
@media print {
	.boost-cb { display: none; }
}
