/* Avoca WhatsApp Button */
.awb {
	--awb-green: #25d366;
	--awb-green-dark: #1da851;
	--awb-navy: #011227;
	--awb-orange: #ef4714;
	position: fixed !important;
	bottom: calc(var(--awb-bottom, 20px) + env(safe-area-inset-bottom, 0px));
	z-index: 99990 !important;
	font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
/* Always bottom left */
.awb { left: 20px !important; right: auto !important; align-items: flex-start; }

.awb .awb-icon { width: 28px; height: 28px; flex: none; }

/* Button */
.awb .awb-btn {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	width: auto !important;
	margin: 0 !important;
	padding: 12px 20px 12px 14px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--awb-green) !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
	transition: transform .2s ease, background-color .2s ease;
}
.awb .awb-btn:hover { background: var(--awb-green-dark) !important; transform: translateY(-2px); }
.awb .awb-btn:focus-visible,
.awb .awb-card__cta:focus-visible,
.awb .awb-card__close:focus-visible { outline: 3px solid var(--awb-orange); outline-offset: 3px; }
.awb--icon-only .awb-btn { padding: 14px !important; }
.awb--icon-only .awb-btn .awb-icon { width: 32px; height: 32px; }

/* Attention pulse, once after load */
.awb .awb-btn.awb-pulse { animation: awb-pulse 1.6s ease-out 2; }
@keyframes awb-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55), 0 6px 20px rgba(0, 0, 0, .22); }
	100% { box-shadow: 0 0 0 18px rgba(37, 211, 102, 0), 0 6px 20px rgba(0, 0, 0, .22); }
}

/* Card */
.awb .awb-card {
	width: min(340px, calc(100vw - 40px));
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(1, 18, 39, .28);
	transform-origin: bottom left;
	animation: awb-in .22s ease-out;
}
.awb .awb-card[hidden] { display: none !important; }
@keyframes awb-in { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }

.awb .awb-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	background: var(--awb-navy);
	color: #fff;
}
.awb .awb-card__avatar {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--awb-green);
	color: #fff;
	flex: none;
}
.awb .awb-card__who { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.awb .awb-card__who strong { font-size: 16px; font-weight: 700; color: #fff; }
.awb .awb-status { font-size: 12px; color: rgba(255, 255, 255, .8); display: flex; align-items: flex-start; gap: 6px; }
.awb .awb-status::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: 4px;
	border-radius: 50%;
	background: var(--awb-green);
	flex: none;
}
.awb .awb-status.is-offline::before { background: #9aa4b2; }

.awb .awb-card__close {
	align-self: flex-start;
	width: 32px !important;
	height: 32px;
	margin: -6px -6px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #fff !important;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
.awb .awb-card__close:hover { background: rgba(255, 255, 255, .12) !important; }

.awb .awb-card__body {
	padding: 18px 16px;
	background: #efeae2;
}
.awb .awb-bubble {
	position: relative;
	max-width: 88%;
	padding: 10px 12px;
	background: #fff;
	border-radius: 0 10px 10px 10px;
	color: #111b21;
	font-size: 14px;
	box-shadow: 0 1px 1px rgba(0, 0, 0, .08);
}

.awb .awb-card__cta {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 12px 16px 16px;
	padding: 12px 16px;
	border-radius: 999px;
	background: var(--awb-green);
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color .2s ease;
}
.awb .awb-card__cta:hover { background: var(--awb-green-dark); }
.awb .awb-card__cta .awb-icon { width: 22px; height: 22px; }

/* Device visibility + mobile sizing */
@media (max-width: 767px) {
	.awb { left: 16px !important; }
	.awb .awb-btn__label { display: none; }
	.awb .awb-btn { padding: 14px !important; }
	.awb .awb-btn .awb-icon { width: 32px; height: 32px; }
	.awb .awb-card { width: calc(100vw - 32px); }
	.awb--no-mobile { display: none !important; }
}
@media (min-width: 768px) {
	.awb--no-desktop { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.awb .awb-btn, .awb .awb-card { animation: none !important; transition: none !important; }
}

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