/* WA Bubble — scoped styles. Everything is prefixed .wab- to avoid clashes. */
.wab-wrap{
	position:fixed;
	bottom:var(--wab-bottom,24px);
	z-index:99990;
	display:flex;
	align-items:center;
	gap:10px;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	line-height:1.4;
}
.wab-right{right:var(--wab-side,24px);flex-direction:row-reverse;}
.wab-left{left:var(--wab-side,24px);flex-direction:row;}

.wab-btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:var(--wab-size,60px);
	height:var(--wab-size,60px);
	border-radius:50%;
	background:var(--wab-color,#25D366);
	color:var(--wab-icon,#fff);
	box-shadow:0 6px 20px -4px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.2);
	text-decoration:none;
	transition:transform .2s ease,box-shadow .2s ease;
	-webkit-tap-highlight-color:transparent;
}
.wab-btn:hover,.wab-btn:focus-visible{
	transform:scale(1.06);
	box-shadow:0 10px 26px -4px rgba(0,0,0,.4),0 3px 8px rgba(0,0,0,.25);
}
.wab-btn:focus-visible{outline:3px solid rgba(37,211,102,.5);outline-offset:3px;}
.wab-icon{display:block;width:52%;height:52%;}

/* pulse ring */
.wab-btn::after{
	content:"";
	position:absolute;
	inset:0;
	border-radius:50%;
	box-shadow:0 0 0 0 var(--wab-color,#25D366);
	opacity:.55;
	animation:wab-pulse 2.4s ease-out infinite;
	pointer-events:none;
}

/* online/offline status dot */
.wab-dot{
	position:absolute;
	top:2px;
	right:2px;
	width:12px;
	height:12px;
	border-radius:50%;
	background:#9aa3ad;
	border:2px solid #fff;
	box-shadow:0 0 0 1px rgba(0,0,0,.05);
}
.wab-wrap[data-status="online"] .wab-dot{background:#2ecc71;}
.wab-wrap[data-status="offline"] .wab-dot{background:#f0a020;}

/* greeting card */
.wab-card{
	position:relative;
	max-width:230px;
	padding:10px 30px 10px 14px;
	background:#fff;
	color:#1f2430;
	border-radius:12px;
	box-shadow:0 8px 24px -8px rgba(0,0,0,.28);
	font-size:13px;
	animation:wab-in .5s .6s both cubic-bezier(.16,1,.3,1);
}
.wab-right .wab-card{border-bottom-right-radius:4px;}
.wab-left .wab-card{border-bottom-left-radius:4px;}
.wab-card-cta{display:block;font-weight:700;}
.wab-card-status{display:block;color:#6b7280;font-size:12px;margin-top:1px;}
.wab-card-close{
	position:absolute;
	top:4px;
	right:6px;
	border:0;
	background:none;
	color:#9aa3ad;
	font-size:16px;
	line-height:1;
	cursor:pointer;
	padding:2px;
}
.wab-card-close:hover{color:#4b5563;}
.wab-card.wab-hidden{display:none;}
.wab-no-label .wab-card{display:none;}

@keyframes wab-pulse{
	0%{box-shadow:0 0 0 0 var(--wab-color,#25D366);opacity:.5;}
	70%{box-shadow:0 0 0 16px var(--wab-color,#25D366);opacity:0;}
	100%{box-shadow:0 0 0 0 var(--wab-color,#25D366);opacity:0;}
}
@keyframes wab-in{from{opacity:0;transform:translateY(8px) scale(.96);}to{opacity:1;transform:none;}}

/* device visibility */
@media (max-width:781px){
	.wab-no-mobile{display:none !important;}
	.wab-card{display:none;} /* keep it tidy on small screens */
}
@media (min-width:782px){
	.wab-no-desktop{display:none !important;}
}

@media (prefers-reduced-motion:reduce){
	.wab-btn,.wab-btn:hover,.wab-btn:focus-visible{transition:none;transform:none;}
	.wab-btn::after{animation:none;display:none;}
	.wab-card{animation:none;}
}
