/**
 * NMO Feature cards — scoped; mirrors html/index.html section.features / .feature-card
 * Section header: Style → Section header (alignment responsive). Fallbacks match static html.
 */

.elementor-widget-nmo-feature-cards .nmo-feature-cards__header {
	display: flex;
	flex-direction: column;
	/* Fallback when Alignment control has not saved yet */
	align-items: center;
	text-align: center;
	margin-bottom: 3.5rem;
	max-width: 100%;
}

.elementor-widget-nmo-feature-cards .nmo-feature-cards__header .section-label {
	display: inline-block;
	font-family: var(--font-sans, Inter, system-ui, sans-serif);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold, #c8922a);
	margin-bottom: 0.75rem;
}

.elementor-widget-nmo-feature-cards .nmo-feature-cards__header h2 {
	margin: 0 0 0.5rem;
	font-family: var(--font-serif, "Playfair Display", Georgia, serif);
	font-weight: 700;
	line-height: 1.2;
	color: var(--navy, #0b1d3a);
	max-width: 100%;
	width: 100%;
	text-align: inherit;
	box-sizing: border-box;
}

/* Gold bar: fixed width so flex align-items / Elementor align-self can place it (Section header → Alignment). */
.elementor-widget-nmo-feature-cards .nmo-feature-cards__header .section-divider,
.elementor-widget-nmo-feature-cards .nmo-feature-cards__header .nmo-feature-cards__header-divider {
	flex-shrink: 0;
	width: 48px !important;
	max-width: 48px;
	min-width: 48px;
	height: 3px;
	background: var(--gold, #c8922a);
	margin: 1rem 0 1.75rem;
	border: 0;
	padding: 0;
	box-sizing: content-box;
}

.elementor-widget-nmo-feature-cards .features {
	background: var(--white, #fff);
	/* Symmetric vertical rhythm — closer to NMO Newsletter Band (.newsletter padding); tune via Style → Section spacing */
	padding: clamp(5.75rem, 11vw, 9.25rem) 0 clamp(5.75rem, 11vw, 9.25rem);
}

.elementor-widget-nmo-feature-cards .features .container {
	width: 100%;
	max-width: var(--max-w, 1200px);
	margin: 0 auto;
	padding: 0 var(--pad-x, clamp(1.25rem, 5vw, 3rem));
}

.elementor-widget-nmo-feature-cards .features .grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.elementor-widget-nmo-feature-cards .features .feature-card {
	padding: 2.5rem;
	border: 1px solid var(--border, #e8e4df);
	border-radius: 6px;
	transition: transform var(--transition, 0.35s ease), box-shadow var(--transition, 0.35s ease),
		border-color var(--transition, 0.35s ease);
}

.elementor-widget-nmo-feature-cards .features .feature-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
	border-color: var(--gold, #c8922a);
}

.elementor-widget-nmo-feature-cards .features .feature-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgba(200, 146, 42, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	color: var(--gold, #c8922a);
	margin-bottom: 1.25rem;
}

.elementor-widget-nmo-feature-cards .features .feature-card .nmo-feature-cards__kicker {
	font-family: var(--font-sans, Inter, system-ui, sans-serif);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold, #c8922a);
	margin: 0 0 0.75rem;
}

.elementor-widget-nmo-feature-cards .features .feature-card h3 {
	font-family: var(--font-serif, "Playfair Display", Georgia, serif);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-shadow: none;
	-webkit-text-stroke: 0 transparent;
	margin-bottom: 0.75rem;
}

.elementor-widget-nmo-feature-cards .features .feature-card .feature-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--gold, #c8922a);
	text-decoration: none;
}

.elementor-widget-nmo-feature-cards .features .feature-card .feature-card-link:hover {
	color: var(--gold, #c8922a);
	opacity: 0.9;
}

@media (max-width: 768px) {
	.elementor-widget-nmo-feature-cards .features .grid-3 {
		grid-template-columns: 1fr;
	}
}
