.wacp-root {
	position: static !important;
	width: 0 !important;
	height: 0 !important;
	overflow: visible !important;
	background: transparent !important;
	pointer-events: none;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
a.wacp-float,
button.wacp-float,
.wacp-root .wacp-float {
	pointer-events: auto !important;
	position: fixed !important;
	z-index: var(--wacp-z, 9990) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	height: 56px !important;
	min-width: 56px !important;
	padding: 0 22px 0 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #25D366 !important;
	background: var(--wacp-color, #25D366) !important;
	color: #ffffff !important;
	box-shadow: 0 10px 28px rgba(17, 24, 39, .18), 0 6px 16px rgba(37, 211, 102, .35) !important;
	cursor: pointer !important;
	text-decoration: none !important;
	line-height: 1 !important;
	letter-spacing: .01em !important;
	left: 50% !important;
	right: auto !important;
	transform: translateX(-50%) !important;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}
a.wacp-float.wacp-float-icon {
	padding: 0 !important;
	width: 56px !important;
}
a.wacp-float:hover,
a.wacp-float:focus,
button.wacp-float:hover,
button.wacp-float:focus {
	background: #1EBE57 !important;
	background: var(--wacp-hover, #1EBE57) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateX(-50%) translateY(-3px) scale(1.02) !important;
	box-shadow: 0 14px 32px rgba(17, 24, 39, .2), 0 8px 18px rgba(37, 211, 102, .4) !important;
	outline: none !important;
}
a.wacp-float:visited {
	color: #ffffff !important;
}
.wacp-float .wacp-icon,
a.wacp-float .wacp-icon {
	width: 22px !important;
	height: 22px !important;
	display: block !important;
	flex-shrink: 0 !important;
	fill: currentColor !important;
}
.wacp-float-label {
	font-size: 15px !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	color: #ffffff !important;
}
.wacp-pulse {
	animation: wacp-pulse 2.4s ease-out infinite !important;
}
@keyframes wacp-pulse {
	0% { box-shadow: 0 10px 28px rgba(17, 24, 39, .18), 0 0 0 0 rgba(37, 211, 102, .45); }
	70% { box-shadow: 0 10px 28px rgba(17, 24, 39, .18), 0 0 0 16px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 10px 28px rgba(17, 24, 39, .18), 0 0 0 0 rgba(37, 211, 102, 0); }
}
.wacp-panel {
	position: fixed;
	z-index: var(--wacp-z, 9990);
	width: min(320px, calc(100vw - 24px));
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(17, 24, 39, .22);
	pointer-events: auto;
}
.wacp-panel[hidden] { display: none !important; }
.wacp-panel-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 12px 14px 14px;
	background: var(--wacp-header, #075E54);
	color: #fff;
}
.wacp-avatar { position: relative; width: 44px; height: 44px; flex-shrink: 0; }
.wacp-avatar img,
.wacp-avatar-fallback {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.18);
	font-weight: 700;
	font-size: 14px;
}
.wacp-online {
	position: absolute;
	right: 1px;
	bottom: 1px;
	width: 10px;
	height: 10px;
	background: #25D366;
	border: 2px solid var(--wacp-header, #075E54);
	border-radius: 50%;
}
.wacp-meta { flex: 1; min-width: 0; }
.wacp-meta strong { display: block; font-size: 14px; line-height: 1.2; }
.wacp-meta span { display: block; font-size: 12px; opacity: .85; margin-top: 2px; }
.wacp-close {
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	padding: 0 6px;
}
.wacp-panel-body { padding: 16px; background: #efeae2; }
.wacp-bubble {
	background: #fff;
	border-radius: 0 12px 12px 12px;
	padding: 10px 12px;
	font-size: 14px;
	line-height: 1.45;
	color: #111827;
}
.wacp-panel-footer { padding: 12px; background: #fff; }
a.wacp-cta,
a.wacp-inline,
a.wacp-property-btn,
a.wacp-card-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #25D366 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 18px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
	box-shadow: 0 6px 16px rgba(37, 211, 102, .28) !important;
}
a.wacp-cta:hover,
a.wacp-inline:hover,
a.wacp-property-btn:hover,
a.wacp-card-btn:hover,
a.wacp-cta:visited,
a.wacp-property-btn:visited,
a.wacp-card-btn:visited {
	background: #1EBE57 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}
a.wacp-cta .wacp-icon,
a.wacp-inline .wacp-icon,
a.wacp-property-btn .wacp-icon,
a.wacp-card-btn .wacp-icon {
	width: 18px !important;
	height: 18px !important;
	flex-shrink: 0 !important;
}
a.wacp-property-btn,
a.wacp-card-btn,
a.wacp-cta {
	width: 100%;
}
.wacp-single-cta {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	margin: 28px auto !important;
	max-width: 420px;
	width: 100%;
}
.wacp-card-slot {
	padding: 0 12px 12px;
	box-sizing: border-box;
}
.wacp-sticky-bar {
	display: none !important;
}
@media (max-width: 782px) {
	.wacp-hide-mobile { display: none !important; }
	a.wacp-float,
	button.wacp-float,
	.wacp-root .wacp-float {
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		max-width: none !important;
		height: 58px !important;
		transform: none !important;
		border-radius: 0 !important;
		justify-content: center !important;
		padding: 0 16px !important;
	}
	a.wacp-float:hover,
	button.wacp-float:hover {
		transform: none !important;
	}
	body { padding-bottom: 58px; }
}
@media (min-width: 783px) {
	.wacp-hide-desktop { display: none !important; }
}
