.wacp-widget{ --wacp-color:#25D366; }
.wacp-widget *{ box-sizing:border-box; }

/* ---- Floating button ---- */
.wacp-fab{
	position:fixed;
	bottom:24px;
	z-index:99998;
	display:flex;
	align-items:center;
	gap:10px;
	background:var(--wacp-color);
	color:#fff;
	border:none;
	border-radius:999px;
	padding:14px 20px 14px 14px;
	box-shadow:0 10px 30px -8px rgba(0,0,0,0.35);
	cursor:pointer;
	font-family:inherit;
	font-size:14px;
	font-weight:600;
	line-height:1;
	transition:transform .2s ease, box-shadow .2s ease;
	animation:wacpPulse 2.4s ease-in-out infinite;
}
.wacp-fab:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 34px -6px rgba(0,0,0,0.4);
}
.wacp-pos-bottom-right .wacp-fab{ right:24px; }
.wacp-pos-bottom-left .wacp-fab{ left:24px; }

.wacp-fab-icon{
	width:26px; height:26px;
	display:flex; align-items:center; justify-content:center;
	flex-shrink:0;
}
.wacp-fab-icon svg{ display:block; }
.wacp-fab-label{ white-space:nowrap; }

@keyframes wacpPulse{
	0%, 100%{ box-shadow:0 10px 30px -8px rgba(0,0,0,0.35), 0 0 0 0 rgba(37,211,102,0.4); }
	50%{ box-shadow:0 10px 30px -8px rgba(0,0,0,0.35), 0 0 0 10px rgba(37,211,102,0); }
}

/* ---- Overlay ---- */
.wacp-overlay{
	position:fixed; inset:0;
	background:rgba(10,20,18,0.55);
	z-index:99999;
	opacity:0;
	pointer-events:none;
	transition:opacity .25s ease;
}
.wacp-overlay.wacp-open{
	opacity:1;
	pointer-events:auto;
}

/* ---- Popup ---- */
.wacp-popup{
	position:fixed;
	bottom:24px;
	z-index:100000;
	width:320px;
	max-width:calc(100vw - 32px);
	background:#fff;
	border-radius:16px;
	padding:28px 24px 24px;
	box-shadow:0 30px 60px -15px rgba(0,0,0,0.4);
	text-align:center;
	opacity:0;
	transform:translateY(16px) scale(0.97);
	pointer-events:none;
	transition:opacity .25s ease, transform .25s ease;
}
.wacp-popup.wacp-open{
	opacity:1;
	transform:translateY(0) scale(1);
	pointer-events:auto;
}
.wacp-pos-bottom-right .wacp-popup{ right:24px; }
.wacp-pos-bottom-left .wacp-popup{ left:24px; }

.wacp-popup-close{
	position:absolute;
	top:10px; right:14px;
	background:none;
	border:none;
	font-size:22px;
	line-height:1;
	color:#999;
	cursor:pointer;
	padding:4px;
}
.wacp-popup-close:hover{ color:#333; }

.wacp-popup-icon{
	width:56px; height:56px;
	margin:0 auto 14px;
	background:var(--wacp-color);
	color:#fff;
	border-radius:50%;
	display:flex; align-items:center; justify-content:center;
}
.wacp-popup-icon svg{ width:30px; height:30px; }

.wacp-popup h3{
	margin:0 0 8px;
	font-size:19px;
	color:#1a1a1a;
	font-family:inherit;
}
.wacp-popup p{
	margin:0 0 18px;
	font-size:14px;
	line-height:1.5;
	color:#555;
}

.wacp-popup-cta{
	display:inline-block;
	width:100%;
	background:var(--wacp-color);
	color:#fff !important;
	text-decoration:none !important;
	padding:12px 18px;
	border-radius:999px;
	font-weight:600;
	font-size:14px;
	transition:filter .15s ease;
}
.wacp-popup-cta:hover{ filter:brightness(0.94); color:#fff !important; }

/* ---- Inline shortcode button ---- */
.wacp-inline-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:var(--wacp-color, #25D366);
	color:#fff !important;
	text-decoration:none !important;
	padding:10px 18px;
	border-radius:999px;
	font-weight:600;
	font-size:14px;
	line-height:1;
}
.wacp-inline-btn:hover{ filter:brightness(0.94); }
.wacp-inline-btn svg{ width:16px; height:16px; flex-shrink:0; }

/* ---- Device visibility ---- */
@media (min-width:783px){
	.wacp-hide-desktop{ display:none !important; }
}
@media (max-width:782px){
	.wacp-hide-mobile{ display:none !important; }
	.wacp-fab-label{ display:none; }
	.wacp-fab{ padding:14px; }
}
