/* ==========================================================================
   Emergency CTA widget — ported from pestcontrolgroupusa_core_old
   (components.css .emergency-cta__*, responsive.css emergency-cta
   breakpoints). Classes are namespaced pcgu-emergency-cta(__*) to avoid
   collisions with other plugins/themes; rendered output otherwise matches
   the original exactly. Shares .icon-circle and .pulse-ring with other
   widgets — see shared.css, not duplicated here.

   The call button is an <a> that sets box-shadow, so the Elementor/theme
   global <a> reset documented in Hero/Header/About/Services applies here
   too — the button rule is prefixed with the widget wrapper class to reach
   (0,2,0) specificity. ---- */

.pcgu-emergency-cta {
	padding-block: 4rem;
}
.pcgu-emergency-cta .container {
	padding-inline: 1rem;
}
.pcgu-emergency-cta__card {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
	background-image: var(--gradient-primary);
	padding: 2rem;
	color: var(--primary-foreground);
	box-shadow: var(--shadow-elegant);
}
.pcgu-emergency-cta__blob {
	position: absolute;
	pointer-events: none;
	border-radius: 9999px;
	height: 18rem;
	width: 18rem;
	filter: blur(64px);
}
.pcgu-emergency-cta__blob--a {
	right: -6rem;
	top: -6rem;
	background-color: color-mix(in oklab, var(--accent) 40%, transparent);
}
.pcgu-emergency-cta__blob--b {
	left: -4rem;
	bottom: -4rem;
	background-color: color-mix(in oklab, var(--secondary) 40%, transparent);
}

.pcgu-emergency-cta__inner {
	position: relative;
	display: grid;
	gap: 2rem;
}
.pcgu-emergency-cta__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-radius: 9999px;
	background-color: rgba(255, 255, 255, 0.1);
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.pcgu-emergency-cta__title {
	margin-top: 1rem;
	font-size: 1.875rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}
.pcgu-emergency-cta__copy {
	margin: 0.75rem 0 0 0;
	max-width: 36rem;
	color: color-mix(in oklab, var(--primary-foreground) 85%, transparent);
}
.pcgu-emergency-cta .pcgu-emergency-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	border-radius: var(--radius-2xl);
	background-color: #fff;
	padding: 1rem 1.5rem;
	color: var(--primary);
	box-shadow: var(--shadow-elegant);
	transition: transform 300ms;
}
.pcgu-emergency-cta .pcgu-emergency-cta__button:hover {
	transform: scale(1.02);
}
.pcgu-emergency-cta__button-icon {
	background-color: var(--secondary);
	color: var(--secondary-foreground);
}
.pcgu-emergency-cta__button-icon svg {
	color: var(--secondary-foreground);
	height: 1.25rem;
	width: 1.25rem;
}
.pcgu-emergency-cta__button-text {
	display: flex;
	flex-direction: column;
	text-align: left;
	line-height: 1.2;
}
.pcgu-emergency-cta__button-label {
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: color-mix(in oklab, var(--primary) 60%, transparent);
}
.pcgu-emergency-cta__button-number {
	font-size: 1.125rem;
	font-weight: 800;
}

/* ---- Responsive — exact original breakpoints (sm:640 / md:768) ---- */

@media (min-width: 640px) {
	.pcgu-emergency-cta { padding-block: 5rem; }
	.pcgu-emergency-cta .container { padding-inline: 1.5rem; }
	.pcgu-emergency-cta__card { padding: 3rem; }
	.pcgu-emergency-cta__title { font-size: 2.25rem; }
}

@media (min-width: 768px) {
	.pcgu-emergency-cta__inner { grid-template-columns: 1fr auto; align-items: center; }
}
