.waplb {
	position: fixed;
	bottom: var(--waplb-y, 30px);
	z-index: 2147483000;
	width: var(--waplb-size, 60px);
	height: var(--waplb-size, 60px);
	border-radius: 50%;
	background: #25D366;
	border: 2px solid #25D366;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
	animation: waplbBorder 2s infinite;
	box-sizing: border-box;
}
.waplb--right { right: var(--waplb-x, 30px); }
.waplb--left  { left: var(--waplb-x, 30px); }

.waplb__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	text-decoration: none;
	transition: transform .2s;
}
.waplb__link:hover,
.waplb__link:focus-visible { transform: scale(1.06); }
.waplb__link:focus-visible { outline: 3px solid #128C7E; outline-offset: 3px; }

.waplb__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	border: none !important;
	box-shadow: none !important;
}

.waplb__bubble {
	position: absolute;
	bottom: calc(100% + 10px);
	padding: 8px 12px;
	border-radius: 8px;
	background: #25D366;
	color: #fff;
	font: 500 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	white-space: nowrap;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .3s, transform .3s;
	pointer-events: none;
}
.waplb--right .waplb__bubble { right: 0; }
.waplb--left  .waplb__bubble { left: 0; }
.waplb--bubble-on .waplb__bubble { opacity: 1; transform: translateY(0); }

@keyframes waplbBorder {
	0%, 100% { border-color: #25D366; }
	50%      { border-color: #34B7F1; }
}

@media (max-width: 767px) {
	.waplb { --waplb-x: 16px; --waplb-y: 16px; }
	.waplb__bubble { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
	.waplb { animation: none; }
	.waplb__link, .waplb__bubble { transition: none; }
}

@media print { .waplb { display: none !important; } }
