/* Plowz Sam attention layer.
   Sits over the Sam widget bubble. Renders a pulse + greeting bubble,
   positioned to match the configured corner. Respects prefers-reduced-motion
   and the admin opt-out. */

.plowz-sam-pulse {
	position: fixed;
	z-index: 2147483646; /* below the widget itself but above page chrome */
	width: 60px;
	height: 60px;
	border-radius: 50%;
	pointer-events: none;
	display: none;
}

.plowz-sam-pulse.is-visible { display: block; }

.plowz-sam-pulse::before,
.plowz-sam-pulse::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 3px solid var(--plowz-sam-color, #2C9A4A);
	opacity: 0;
	animation: plowz-sam-pulse-ring 2.8s ease-out infinite;
}

.plowz-sam-pulse::after { animation-delay: 1.4s; }

@keyframes plowz-sam-pulse-ring {
	0%   { transform: scale(0.92); opacity: 0.6; }
	70%  { transform: scale(1.45); opacity: 0;   }
	100% { transform: scale(1.45); opacity: 0;   }
}

.plowz-sam-pulse.is-pos-bottom-right { right: 18px; bottom: 18px; }
.plowz-sam-pulse.is-pos-bottom-left  { left:  18px; bottom: 18px; }
.plowz-sam-pulse.is-pos-top-right    { right: 18px; top:    18px; }
.plowz-sam-pulse.is-pos-top-left     { left:  18px; top:    18px; }

.plowz-sam-greeting {
	position: fixed;
	z-index: 2147483646;
	max-width: 280px;
	padding: 14px 16px 14px 18px;
	background: #ffffff;
	color: #1A222C;
	border-radius: 14px;
	box-shadow: 0 18px 48px rgba(14, 68, 33, 0.22), 0 2px 6px rgba(0, 0, 0, 0.06);
	font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	opacity: 0;
	transform: translateY(8px) scale(0.96);
	transform-origin: bottom right;
	transition: opacity 0.24s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
	display: none;
	border-left: 3px solid var(--plowz-sam-color, #2C9A4A);
}

.plowz-sam-greeting.is-visible {
	display: block;
	opacity: 1;
	transform: translateY(0) scale(1);
}

.plowz-sam-greeting.is-pos-bottom-right { right: 92px; bottom: 22px; transform-origin: bottom right; }
.plowz-sam-greeting.is-pos-bottom-left  { left:  92px; bottom: 22px; transform-origin: bottom left; }
.plowz-sam-greeting.is-pos-top-right    { right: 92px; top:    22px; transform-origin: top right; }
.plowz-sam-greeting.is-pos-top-left     { left:  92px; top:    22px; transform-origin: top left; }

.plowz-sam-greeting__close {
	position: absolute;
	top: 6px;
	right: 8px;
	width: 22px;
	height: 22px;
	border: 0;
	background: transparent;
	color: #5B6573;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
}

.plowz-sam-greeting__close:hover { background: #EFF2F5; color: #1A222C; }

/* Mobile: slide-in from the bottom edge instead of a corner pop. */
@media (max-width: 640px) {
	.plowz-sam-greeting {
		left: 14px !important;
		right: 14px !important;
		top: auto !important;
		bottom: 88px;
		max-width: none;
		border-radius: 16px;
		transform: translateY(28px);
	}
	.plowz-sam-greeting.is-visible { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.plowz-sam-pulse::before,
	.plowz-sam-pulse::after {
		animation: none;
		opacity: 0;
	}
	.plowz-sam-greeting,
	.plowz-sam-greeting.is-visible {
		transition: none;
		transform: none;
	}
}

/* Inline CTA button from shortcode / block. */
.plowz-sam-inline-cta {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	font-size: 15px;
}

.plowz-sam-inline-cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(14, 68, 33, 0.18);
}
