.wacc-btn {
	position: fixed;
	z-index: 99999;
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none !important;
	-webkit-tap-highlight-color: transparent;
}
.wacc-pos-bottom-right { right: var(--wacc-x); bottom: var(--wacc-y); }
.wacc-pos-bottom-left  { left: var(--wacc-x);  bottom: var(--wacc-y); flex-direction: row-reverse; }
.wacc-pos-top-right    { right: var(--wacc-x); top: var(--wacc-y); }
.wacc-pos-top-left     { left: var(--wacc-x);  top: var(--wacc-y);  flex-direction: row-reverse; }

.wacc-icon {
	width: var(--wacc-size);
	height: var(--wacc-size);
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wacc-bg);
	color: var(--wacc-fg);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	transition: transform .2s ease;
	overflow: hidden;
}
.wacc-btn:hover .wacc-icon,
.wacc-btn:focus-visible .wacc-icon { transform: scale(1.08); }
.wacc-btn:focus-visible { outline: none; }
.wacc-btn:focus-visible .wacc-icon { outline: 3px solid var(--wacc-bg); outline-offset: 3px; }

.wacc-icon svg { width: 56%; height: 56%; display: block; }
.wacc-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }

.wacc-label {
	background: #fff;
	color: #1f1f1f;
	font: 500 14px/1.25 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	padding: 8px 12px;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
	white-space: nowrap;
}

.wacc-pulse .wacc-icon { animation: wacc-pulse 2.2s infinite; }
@keyframes wacc-pulse {
	0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--wacc-bg) 55%, transparent), 0 4px 14px rgba(0,0,0,.25); }
	70%  { box-shadow: 0 0 0 14px transparent, 0 4px 14px rgba(0,0,0,.25); }
	100% { box-shadow: 0 0 0 0 transparent, 0 4px 14px rgba(0,0,0,.25); }
}

@media (max-width: 767px) { .wacc-hide-mobile { display: none !important; } }
@media (min-width: 768px) { .wacc-hide-desktop { display: none !important; } }
@media (max-width: 480px) { .wacc-label { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.wacc-pulse .wacc-icon { animation: none; }
	.wacc-icon { transition: none; }
}

/* Inline shortcode button */
.wacc-inline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--wacc-bg);
	color: var(--wacc-fg) !important;
	font-weight: 600;
	text-decoration: none !important;
	line-height: 1.2;
	transition: filter .15s ease;
}
.wacc-inline:hover { filter: brightness(.94); }
.wacc-inline-icon { display: inline-flex; width: 1.25em; height: 1.25em; }
.wacc-inline-icon svg, .wacc-inline-icon img { width: 100%; height: 100%; }
.wacc-inline-icon svg circle { fill: var(--wacc-bg) !important; }
