/**
 * Content Module
 * Single-column WYSIWYG content with optional right-aligned CTA.
 * "Narrow Width" variant (.content-module--narrow) constrains .cm__inner to
 * ~60% width, left-aligned, on desktop only — full width below 992px.
 */

/* ===========================
   # Section
=========================== */

.content-module {
	padding: 80px 0;
}

/* ===========================
   # Inner width wrapper
=========================== */

.cm__inner {
	width: 100%;
}

@media (min-width: 992px) {
	.content-module--narrow .cm__inner {
		max-width:    60%;
		margin-left:  auto;
		margin-right: auto;
	}
}

/* Below 992px the narrow variant reverts to full width — see .cm__inner default above. */

/* ===========================
   # Body copy
=========================== */

.cm__body {
	color: var(--nec-grey);
}

.cm__body p:first-child {
	margin-top: 0;
}

.cm__body p:last-child {
	margin-bottom: 0;
}

.cm__body strong,
.cm__body b {
	font-weight: 700;
	color:       var(--nec-grey);
}

/* ===========================
   # CTA
=========================== */

.cm__cta-wrap {
	display:         flex;
	justify-content: flex-start;
	margin-top:      32px;
}

.cm__cta {
	display:         inline-flex;
	align-items:     center;
	gap:             12px;
	background:      none;
	border:          none;
	padding:         0;
	cursor:          pointer;
	color:           var(--nec-grey);
	font-family:     var(--nec-font);
	font-size:       16px;
	font-weight:     500;
	text-decoration: none;
}

.cm__cta:hover,
.cm__cta:focus-visible {
	color:           var(--nec-grey);
	outline:         none;
	text-decoration: none;
}

.cm__cta-icon {
	display:     flex;
	align-items: center;
	flex-shrink: 0;
	transition:  transform 0.25s ease;
}

.cm__cta:hover .cm__cta-icon,
.cm__cta:focus-visible .cm__cta-icon {
	transform: translateX(5px);
}

.cm__cta-icon svg {
	width:  34px;
	height: 34px;
	color:  var(--nec-orange);
}

/* ===========================
   # Responsive
=========================== */

@media (max-width: 1280px) {
	.content-module {
		padding: 64px 0;
	}
}

@media (max-width: 991px) {
	.content-module {
		padding: 48px 0;
	}

	.cm__cta-wrap {
		margin-top: 24px;
	}
}

@media (max-width: 599px) {
	.content-module {
		padding: 36px 0;
	}
}
