.ndw-cta,
.ndw-info-card {
	box-sizing: border-box;
	font-family: inherit;
}

.elementor-widget-noise-formatted-cta {
	min-inline-size: 0;
	max-inline-size: 100%;
}

.elementor-widget-noise-formatted-cta > .elementor-widget-container,
.elementor-widget-noise-formatted-cta .ndw-cta {
	inline-size: 100%;
	min-inline-size: 0;
}

.ndw-cta {
	display: grid;
	gap: 16px;
	align-content: start;
	align-items: start;
	height: 100%;
	padding: 32px;
	border: 1px solid rgba(20, 28, 38, 0.12);
	border-radius: 8px;
	background: #ffffff;
	color: #17202a;
	box-shadow: 0 16px 40px rgba(20, 28, 38, 0.08);
}

.ndw-cta__eyebrow {
	margin: 0;
	color: #2f6f62;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.ndw-cta__title {
	margin: 0;
	color: inherit;
	font-size: 32px;
	font-weight: 750;
	line-height: 1.12;
}

.ndw-cta__description {
	margin: 0;
	color: #4b5563;
	font-size: 17px;
	line-height: 1.6;
}

.ndw-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 44px;
	padding: 12px 18px;
	border-radius: 6px;
	background: var(--e-global-color-accent, #17202a);
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: background 280ms ease, color 280ms ease, transform 280ms ease;
}

.ndw-button:hover,
.ndw-button:focus-visible {
	background: #2f6f62;
	color: #ffffff;
	transform: translateY(-1px);
}

.ndw-info-card {
	display: grid;
	gap: 12px;
	height: 100%;
	padding: 24px;
	border: 1px solid rgba(20, 28, 38, 0.12);
	border-radius: 8px;
	background: #ffffff;
	color: #17202a;
}

.ndw-info-card__kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: #ecf7f4;
	color: #2f6f62;
	font-size: 13px;
	font-weight: 800;
}

.ndw-info-card__title {
	margin: 0;
	color: inherit;
	font-size: 22px;
	font-weight: 750;
	line-height: 1.2;
}

.ndw-info-card__description {
	margin: 0;
	color: #4b5563;
	font-size: 16px;
	line-height: 1.55;
}

/* Shared hover effects driven by the Hover_Effects_Trait custom properties.
 *
 * `.ndw-surface` is the generic opt-in: a widget adopting Hover_Effects_Trait
 * puts that class on the element it passes as the trait's selector and needs no
 * edit here. `.ndw-cta` and `.ndw-info-card` predate the class and stay listed so
 * pages published before it keep rendering identically.
 *
 * `:is()` is used rather than a flat selector list so the specificity stays what
 * it was when only the two widget classes were listed: every argument is a single
 * class, so `:is()` contributes (0,1,0) exactly as `.ndw-cta` did. */
:where([class*="ndw-hover-"]) :where(.ndw-cta, .ndw-info-card, .ndw-surface) {
	--ndw-hover-lift: 6px;
	--ndw-hover-scale: 1.025;
	--ndw-hover-duration: 280ms;
	transform: translateY(0) scale(1);
	transform-origin: center;
	transition:
		transform var(--ndw-hover-duration) ease,
		box-shadow var(--ndw-hover-duration) ease;
}

.ndw-hover-lift :is(.ndw-cta, .ndw-info-card, .ndw-surface):hover,
.ndw-hover-lift :is(.ndw-cta, .ndw-info-card, .ndw-surface):focus-within {
	transform: translateY(calc(-1 * var(--ndw-hover-lift)));
	box-shadow: var(--ndw-hover-shadow, 0 18px 40px rgb(20 28 38 / 12%));
}

.ndw-hover-sink :is(.ndw-cta, .ndw-info-card, .ndw-surface):hover,
.ndw-hover-sink :is(.ndw-cta, .ndw-info-card, .ndw-surface):focus-within {
	transform: translateY(var(--ndw-hover-lift));
	box-shadow: var(--ndw-hover-shadow, 0 18px 40px rgb(20 28 38 / 12%));
}

.ndw-hover-grow :is(.ndw-cta, .ndw-info-card, .ndw-surface):hover,
.ndw-hover-grow :is(.ndw-cta, .ndw-info-card, .ndw-surface):focus-within {
	transform: scale(var(--ndw-hover-scale));
	box-shadow: var(--ndw-hover-shadow, 0 18px 40px rgb(20 28 38 / 12%));
}

.ndw-hover-both :is(.ndw-cta, .ndw-info-card, .ndw-surface):hover,
.ndw-hover-both :is(.ndw-cta, .ndw-info-card, .ndw-surface):focus-within {
	transform: translateY(calc(-1 * var(--ndw-hover-lift))) scale(var(--ndw-hover-scale));
	box-shadow: var(--ndw-hover-shadow, 0 18px 40px rgb(20 28 38 / 12%));
}

@media (prefers-reduced-motion: reduce) {
	[class*="ndw-hover-"] :is(.ndw-cta, .ndw-info-card, .ndw-surface) {
		transition: none;
	}

	[class*="ndw-hover-"] :is(.ndw-cta, .ndw-info-card, .ndw-surface):hover,
	[class*="ndw-hover-"] :is(.ndw-cta, .ndw-info-card, .ndw-surface):focus-within {
		transform: none !important;
	}
}
