/**
 * Mayflower Next Read — frontend stylesheet (Layout A).
 *
 * Everything is scoped under the module root `.mnr-next-read`, so the `.mnr-`
 * namespace never leaks into the theme. Colours and type come from CSS custom
 * properties with WordPress theme-preset fallbacks (`var(--wp--preset--…, …)`)
 * so a theme's palette wins where it defines one, and the values below apply
 * otherwise — all overridable via Additional CSS. The brand accent is #e35205;
 * text and white-on-fill surfaces use the darker #b03f04 (and #8f3303 for the
 * button-hover step) so every text/background pair clears WCAG AA — pure #e35205
 * on white is only ~3.8:1 and never carries text. Muted text uses #616c64, which
 * also clears AA on the light surfaces (white / base / accent-tint).
 *
 * No webfonts, no frontend JavaScript (Spec §3.9): a system font stack, and the
 * series cap/scroll + "+N" counter are pure CSS + server-rendered markup.
 */

.mnr-next-read {
	--mnr-bg: var(--wp--preset--color--base, #faf9f5);
	--mnr-surface: var(--wp--preset--color--white, #fff);
	--mnr-ink: var(--wp--preset--color--contrast, #16211d);
	--mnr-ink-soft: #4b5952;
	--mnr-ink-faint: #616c64;
	--mnr-line: #e3e3dc;
	--mnr-accent: var(--wp--preset--color--primary, #e35205);
	--mnr-accent-dark: var(--wp--preset--color--primary-dark, #b03f04);
	--mnr-accent-darker: var(--wp--preset--color--primary-darker, #8f3303);
	--mnr-accent-tint: #fdebe1;

	/*
	 * bild-cover aspect ratio. Set to match the site's standard (landscape)
	 * Aufmacher — our blog leaders are wide banners (~2400×692 ≈ 3.47:1) — so the
	 * cover box follows their shape and the image fills it without cropping the
	 * bottom. 24/7 (≈3.43) sits just under 3.47, so a standard banner fills the
	 * full height (a hair cropped left/right, never top/bottom); a square (1:1)
	 * Aufmacher is cropped to this landscape frame, as intended. Override per site
	 * via Additional CSS if your leaders use a different ratio (e.g. 16/9).
	 */
	--mnr-cover-ratio: 24 / 7;

	box-sizing: border-box;
	margin: 2.5rem 0;
	color: var(--mnr-ink);

	/* A system font stack reads as one unit; breaking it helps nobody. */
	/* stylelint-disable-next-line max-line-length */
	font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
	line-height: 1.5;
}

.mnr-next-read *,
.mnr-next-read *::before,
.mnr-next-read *::after {
	box-sizing: border-box;
}

/*
 * Neutralise theme spacing on the structural elements the module emits. Block
 * themes routinely give `section`, `nav` and lists their own padding/margin,
 * which would otherwise blow the module's blocks far apart. The module sets its
 * own spacing below; each block's inner card (.author-box, .cta-box, .pick-card,
 * …) carries its own padding, so zeroing the wrappers is safe.
 */
.mnr-next-read section,
.mnr-next-read nav,
.mnr-next-read ul,
.mnr-next-read ol,
.mnr-next-read figure {
	margin: 0;

	/*
	 * !important is deliberate: block-theme global styles pad `section` via
	 * `:root :where(…) section` rules whose specificity a plain reset ties with
	 * (and loses on source order). Each inner card carries its own padding, so
	 * forcing the wrappers to zero is safe and keeps the module's rhythm ours.
	 */
	padding: 0 !important;
	border: 0;
}

.mnr-next-read .mnr-block {
	margin: 0 0 1.75rem;
}

.mnr-next-read .mnr-block:last-child {
	margin-bottom: 0;
}

.mnr-next-read .block-label {
	margin: 0 0 0.75rem;
	color: var(--mnr-ink-faint);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.mnr-next-read .kicker {
	color: var(--mnr-accent-dark);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.mnr-next-read a {
	color: inherit;
}

/* Visible keyboard focus on every interactive element. */
.mnr-next-read a:focus-visible,
.mnr-next-read .cta-btn:focus-visible {
	outline: 2px solid var(--mnr-accent-dark);
	outline-offset: 2px;
	border-radius: 6px;
}

/* ================================================
   Baustein 0 — Previous / next (Spec §3.5)
   ================================================ */

.mnr-next-read .pn-compact,
.mnr-next-read .pn-titel,
.mnr-next-read .pn-thumb,
.mnr-next-read .pn-cover {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.875rem;
}

.mnr-next-read .pn-compact .single,
.mnr-next-read .pn-titel .single,
.mnr-next-read .pn-thumb .single,
.mnr-next-read .pn-cover .single {
	grid-column: 1 / -1;
}

.mnr-next-read .tagline {
	display: block;
	margin-bottom: 0.3125rem;
	color: var(--mnr-ink-faint);
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* kompakt — plain text links */
.mnr-next-read .pn-compact a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 44px; /* touch target floor (§4.1) */
	padding: 0.625rem 0.25rem;
	text-decoration: none;
}

.mnr-next-read .pn-compact .next {
	text-align: right;
}

.mnr-next-read .pn-compact .pn-title {
	font-size: 1rem;
	font-weight: 600;
}

.mnr-next-read .pn-compact a:hover .pn-title {
	color: var(--mnr-accent-dark);
	text-decoration: underline;
}

/* titel — small tagline + prominent title */
.mnr-next-read .pn-titel a {
	display: block;
	padding: 1rem;
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	background: var(--mnr-surface);
	text-decoration: none;
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.mnr-next-read .pn-titel a:hover {
	border-color: var(--mnr-accent);
	transform: translateY(-2px);
}

.mnr-next-read .pn-titel .next {
	text-align: right;
}

.mnr-next-read .pn-titel h3 {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

/* bild-thumb — thumbnail beside text */
.mnr-next-read .pn-thumb a {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	background: var(--mnr-surface);
	text-decoration: none;
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.mnr-next-read .pn-thumb a:hover {
	border-color: var(--mnr-accent);
	transform: translateY(-2px);
}

.mnr-next-read .pn-thumb .next {
	flex-direction: row-reverse;
	text-align: right;
}

.mnr-next-read .pn-thumb .pic {
	width: 88px;
	height: 66px;
	flex-shrink: 0;
	border-radius: 10px;
	object-fit: cover;
}

.mnr-next-read .pn-thumb .pic--initials {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mnr-accent-dark);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
}

.mnr-next-read .pn-thumb h3 {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

/* bild-cover — full-bleed image with overlay */
.mnr-next-read .pn-cover a {
	position: relative;
	display: flex;

	/*
	 * The box follows the standard-Aufmacher ratio (see --mnr-cover-ratio) so a
	 * landscape leader fills it without a bottom crop. min-height is only a floor
	 * for very narrow cards (so the overlaid title always fits); a long title that
	 * needs more room lets the box grow past the ratio.
	 */
	aspect-ratio: var(--mnr-cover-ratio, 24 / 7);
	min-height: 128px;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.125rem 1.25rem;
	border-radius: 14px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
	transition: transform 0.15s ease;
}

.mnr-next-read .pn-cover a:hover {
	transform: translateY(-2px);
}

.mnr-next-read .pn-cover a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;

	/* Near-full dark veil so the light text is readable over any image; it fades
	   out on hover (below) to reveal the featured image. */
	background: rgba(10, 22, 18, 0.82);
}

.mnr-next-read .pn-cover .pic {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mnr-next-read .pn-cover .next {
	text-align: right;
	align-items: flex-end;
}

.mnr-next-read .pn-cover .tagline {
	color: rgba(255, 255, 255, 0.9);
}

.mnr-next-read .pn-cover h3 {
	margin: 0;
	max-width: 92%;

	/* Explicit light colour: headings otherwise inherit the theme's dark heading
	   colour (block themes set `h3` directly), which is unreadable on the veil. */
	color: #fff;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

/* A cover card with no usable image degrades to the titel card (Spec §3.5). */
.mnr-next-read .pn-cover a.is-degraded {

	/* No image: drop the cover ratio and size to the text (titel-card fallback). */
	aspect-ratio: auto;
	min-height: 0;
	padding: 1rem;
	border: 1px solid var(--mnr-line);
	background: var(--mnr-surface);
	color: var(--mnr-ink);
	isolation: auto;
}

.mnr-next-read .pn-cover a.is-degraded::after {
	content: none;
}

.mnr-next-read .pn-cover a.is-degraded .tagline {
	color: var(--mnr-ink-faint);
}

.mnr-next-read .pn-cover a.is-degraded h3 {
	max-width: none;
	text-shadow: none;
}

/* ================================================
   Baustein 1 — Series (Spec §3.6)
   ================================================ */

.mnr-next-read .series-head {
	display: flex;
	gap: 0.75rem;
	align-items: baseline;
	flex-wrap: wrap;
	margin: 0 0 0.875rem;
}

.mnr-next-read .series-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
}

.mnr-next-read .series-count {
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

.mnr-next-read .series-wrap {
	position: relative;
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	overflow: hidden;
}

.mnr-next-read .series-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mnr-next-read .series-list li {
	border-bottom: 1px solid var(--mnr-line);
}

.mnr-next-read .series-list li:last-child {
	border-bottom: none;
}

/* Cap at ~5 rows and scroll the rest — pure CSS, no scroll-into-view JS. */
.mnr-next-read .series-list.is-capped {
	max-height: 275px;
	overflow-y: auto;
}

.mnr-next-read .series-fade {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 46px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--mnr-surface));
	pointer-events: none;
}

.mnr-next-read .series-more {
	margin: 0.625rem 0.125rem 0;
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

.mnr-next-read .series-more b {
	color: var(--mnr-accent-dark);
	font-weight: 700;
}

.mnr-next-read .part {
	display: flex;
	gap: 0.875rem;
	align-items: center;
	padding: 0.875rem 1.125rem;
	text-decoration: none;
	transition: background 0.15s ease;
}

.mnr-next-read a.part:hover {
	background: var(--mnr-accent-tint);
}

.mnr-next-read .part .num {
	width: 62px;
	flex-shrink: 0;
	color: var(--mnr-ink-faint);
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mnr-next-read .part h3 {
	flex: 1;
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.35;
}

.mnr-next-read .part .arrow {
	color: var(--mnr-ink-faint);
	font-size: 0.8125rem;
}

.mnr-next-read .part.is-current {
	background: var(--mnr-accent-tint);
	cursor: default;
}

.mnr-next-read .part.is-current .num {
	color: var(--mnr-accent-dark);
	font-weight: 700;
}

.mnr-next-read .part.is-current h3 {
	color: var(--mnr-accent-dark);
	font-weight: 600;
}

.mnr-next-read .now-pill {
	padding: 0.25rem 0.625rem;
	border-radius: 999px;
	background: var(--mnr-accent-dark);
	color: #fff;
	font-size: 0.625rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* ================================================
   Baustein 2 — Next reads (mini grid)
   ================================================ */

.mnr-next-read .mini-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.875rem;
}

.mnr-next-read .mini-card {
	display: block;
	padding: 0.875rem 1rem;
	border: 1px solid var(--mnr-line);
	border-radius: 12px;
	background: var(--mnr-surface);
	text-decoration: none;
	transition: border-color 0.15s ease;
}

.mnr-next-read .mini-card:hover {
	border-color: var(--mnr-accent);
}

.mnr-next-read .mini-card h3 {
	margin: 0.375rem 0 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.35;
}

.mnr-next-read .mini-readtime {
	display: block;
	margin-top: 0.5rem;
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

/* ================================================
   Baustein 3 — Editorial pick (Spec §3.7)
   ================================================ */

.mnr-next-read .pick-card {
	display: flex;
	flex-direction: column;
	border: 1.5px solid var(--mnr-accent);
	border-radius: 16px;
	overflow: hidden;
	background: var(--mnr-accent-tint);
	text-decoration: none;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.mnr-next-read .pick-card:hover {
	box-shadow: 0 10px 30px rgba(176, 63, 4, 0.14);
	transform: translateY(-1px);
}

.mnr-next-read .pick-body {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	padding: 1.625rem 1.75rem;
}

.mnr-next-read .pick-badge {
	align-self: flex-start;
	padding: 0.3125rem 0.75rem;
	border-radius: 999px;
	background: var(--mnr-accent-dark);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mnr-next-read .pick-title {
	margin: 0.25rem 0 0;
	color: var(--mnr-ink);
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.2;
}

.mnr-next-read .pick-excerpt {
	margin: 0;
	color: var(--mnr-ink-soft);
	font-size: 0.875rem;

	/* Keep the feature card compact regardless of excerpt length: clamp to 3
	   lines (graceful degrade — no clamp support just shows the full text).
	   `.pick-excerpt` is a SHARED base rule: Layouts B and C reuse the class and
	   inherit this clamp on purpose (compact pick cards everywhere) — don't scope
	   it to Layout A. */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.mnr-next-read .pick-meta {
	display: flex;
	gap: 0.875rem;
	align-items: center;
	margin-top: 0.125rem;
}

.mnr-next-read .pick-readtime {
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

.mnr-next-read .pick-go {
	margin-top: auto;
	color: var(--mnr-accent-dark);
	font-size: 0.8125rem;
	font-weight: 700;
}

/* Image on top, shown complete (natural aspect, no crop). */
.mnr-next-read .pick-figure {
	position: relative;
}

.mnr-next-read .pick-figure__img {
	display: block;
	width: 100%;
	height: auto;
}

/* Badge + category pill overlaid on the image, top-left, so the text body below
   isn't crowded with both. */
.mnr-next-read .pick-figure__tags {
	position: absolute;
	top: 0.875rem;
	left: 0.875rem;
	display: flex;
	gap: 0.5rem;
	align-items: center;
	flex-wrap: wrap;
}

/* The category reads over any image via a solid pill (matching the badge). */
.mnr-next-read .pick-figure__tags .kicker {
	padding: 0.3125rem 0.625rem;
	border-radius: 999px;
	background: var(--mnr-surface);
	color: var(--mnr-accent-dark);
}

/* ================================================
   Baustein 4 — Author box
   ================================================ */

.mnr-next-read .author-box {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding: 1.125rem 1.375rem;
	border-radius: 14px;
	background: var(--mnr-accent-tint);
}

.mnr-next-read .avatar {
	display: flex;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--mnr-accent-dark);
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 600;
	object-fit: cover;
}

.mnr-next-read .author-info {
	flex: 1;
}

.mnr-next-read .author-info h3 {
	margin: 0 0 0.1875rem;
	font-size: 0.9375rem;
	font-weight: 600;
}

.mnr-next-read .author-info p {
	margin: 0;
	color: var(--mnr-ink-soft);
	font-size: 0.8125rem;
}

.mnr-next-read .author-box .link {
	display: inline-flex;
	align-items: center;
	min-height: 44px; /* touch target (§4.1); text size unchanged */
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	white-space: nowrap;
	text-decoration: none;
}

.mnr-next-read .author-box .link:hover {
	text-decoration: underline;
}

/* ================================================
   Baustein 5 — CTA
   ================================================ */

.mnr-next-read .cta-box {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 1.25rem 1.5rem;

	/* Neutral frame so the CTA reads distinct from the orange editorial pick —
	   the accent lives only on the action button. */
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	background: var(--mnr-surface);
}

.mnr-next-read .cta-box h3 {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	font-weight: 600;
}

.mnr-next-read .cta-box p {
	margin: 0;
	color: var(--mnr-ink-soft);
	font-size: 0.8125rem;
}

.mnr-next-read .cta-btn {
	display: inline-block;
	min-height: 44px;
	padding: 0.75rem 1.25rem;
	border: none;
	border-radius: 9px;
	background: var(--mnr-accent-dark);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.6;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
}

.mnr-next-read .cta-btn:hover {
	background: var(--mnr-accent-darker);
}

/* ================================================
   Baustein 6 — Newsletter row
   ================================================ */

.mnr-next-read .newsletter-row {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 1rem 0.25rem 0;
}

.mnr-next-read .newsletter-row p {
	margin: 0;
	color: var(--mnr-ink-faint);
	font-size: 0.8125rem;
}

.mnr-next-read .newsletter-row a {
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	text-decoration: underline;
}

/* ================================================
   Responsive — 3 to 1 columns below 780px
   ================================================ */

@media ( max-width: 780px ) {

	.mnr-next-read .pn-compact,
	.mnr-next-read .pn-titel,
	.mnr-next-read .pn-thumb,
	.mnr-next-read .pn-cover,
	.mnr-next-read .mini-grid {
		grid-template-columns: 1fr;
	}

	.mnr-next-read .pn-compact .next,
	.mnr-next-read .pn-titel .next {
		text-align: left;
	}

	.mnr-next-read .pn-thumb .next {
		flex-direction: row;
		text-align: left;
	}

	.mnr-next-read .pn-cover .next {
		text-align: left;
		align-items: flex-start;
	}

	.mnr-next-read .pick-card {
		grid-template-columns: 1fr;
	}

	.mnr-next-read .pick-figure {
		min-height: 150px;
		order: -1;
	}

	.mnr-next-read .part .num {
		width: 54px;
	}
}

/* ================================================
   Motion — smooth anchor scroll, reduced-motion guard
   ================================================ */

@media ( prefers-reduced-motion: no-preference ) {

	html:has(.mnr-next-read) {
		scroll-behavior: smooth;
	}

	/* bild-cover: the dark veil + light text fade out on hover to reveal the
	   featured image (Spec §3.5). Motion, so only when motion is welcome — under
	   reduced-motion the veil + text simply stay, keeping the card readable. The
	   degraded (image-less titel) card is excluded. */
	.mnr-next-read .pn-cover a:not(.is-degraded)::after,
	.mnr-next-read .pn-cover a:not(.is-degraded) .tagline,
	.mnr-next-read .pn-cover a:not(.is-degraded) h3 {
		transition: opacity 0.3s ease;
	}

	.mnr-next-read .pn-cover a:not(.is-degraded):hover::after,
	.mnr-next-read .pn-cover a:not(.is-degraded):hover .tagline,
	.mnr-next-read .pn-cover a:not(.is-degraded):hover h3 {
		opacity: 0;
	}
}

@media ( prefers-reduced-motion: reduce ) {

	.mnr-next-read .pn-titel a,
	.mnr-next-read .pn-thumb a,
	.mnr-next-read .pn-cover a,
	.mnr-next-read .pn-cover .pic,
	.mnr-next-read .part,
	.mnr-next-read .mini-card,
	.mnr-next-read .pick-card {
		transition: none;
	}

	/* Also neutralise the hover transforms (card lift + bild-cover zoom, Spec
	   §3.5/§3.9) — transition:none alone would only make them snap, not stop. */
	.mnr-next-read .pn-titel a:hover,
	.mnr-next-read .pn-thumb a:hover,
	.mnr-next-read .pn-cover a:hover,
	.mnr-next-read .pn-cover a:hover .pic,
	.mnr-next-read .pick-card:hover {
		transform: none;
	}
}

/* ================================================================
   Layout executions B–E (Spec §7). Every rule is scoped under the
   `.mnr-next-read.mnr-layout-{code}` compound selector so it outranks and
   never collides with the shipped Layout A rules (which stay un-scoped);
   a single post only ever carries one layout class. Ports
   docs/next-read-layouts-preview.html (.lb/.lc/.ld/.le). Colours reuse the
   `--mnr-*` custom properties; no webfonts, no frontend JavaScript.
   ================================================================ */

/* ---- Shared pick-image atoms (Layout B + C) ---- */

.mnr-next-read .pick-fig {
	position: relative;
}

.mnr-next-read .pick-fig__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mnr-next-read .fig-overlay {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 0.5rem;
}

/* On the image the overlay is pinned top-left; in the no-image body it stays a
   static inline row (the margin above spaces it from the title). */
.mnr-next-read .pick-fig .fig-overlay {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	margin-bottom: 0;
}

.mnr-next-read .pill {
	padding: 0.3125rem 0.6875rem;
	border-radius: 999px;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}

.mnr-next-read .pill-badge {
	background: var(--mnr-accent-dark);
	color: #fff;
}

.mnr-next-read .pill-cat {
	border: 1px solid var(--mnr-line);
	background: var(--mnr-surface);
	color: var(--mnr-accent-dark);
}

/* ================================================================
   B — one container, internal dividers (.lb)
   ================================================================ */

.mnr-next-read.mnr-layout-b .shell {
	border: 1px solid var(--mnr-line);
	border-radius: 18px;
	overflow: hidden;
	background: var(--mnr-surface);
}

.mnr-next-read.mnr-layout-b .row {
	padding: 1.375rem 1.625rem;
	border-bottom: 1px solid var(--mnr-line);
}

.mnr-next-read.mnr-layout-b .row:last-child {
	border-bottom: none;
}

.mnr-next-read.mnr-layout-b .prevnext {
	display: flex;
	gap: 1.125rem;
	justify-content: space-between;
	flex-wrap: wrap;
}

.mnr-next-read.mnr-layout-b .prevnext a {
	flex: 1 1 0;
	min-width: 180px;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--mnr-line);
	border-radius: 12px;
	text-decoration: none;
	transition: border-color 0.15s ease;
}

.mnr-next-read.mnr-layout-b .prevnext a:hover {
	border-color: var(--mnr-accent);
}

.mnr-next-read.mnr-layout-b .pn-label {
	color: var(--mnr-ink-faint);
	font-size: 0.625rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.mnr-next-read.mnr-layout-b .prevnext .pn-next {
	text-align: right;
	align-items: flex-end;
}

.mnr-next-read.mnr-layout-b .prevnext h3 {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 500;
}

.mnr-next-read.mnr-layout-b .series-title {
	font-size: 1rem;
}

.mnr-next-read.mnr-layout-b .series {
	list-style: none;
	border: 1px solid var(--mnr-line);
	border-radius: 12px;
	overflow: hidden;
}

.mnr-next-read.mnr-layout-b .series li {
	border-bottom: 1px solid var(--mnr-line);
}

.mnr-next-read.mnr-layout-b .series li:last-child {
	border-bottom: none;
}

.mnr-next-read.mnr-layout-b .part {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.6875rem 0.875rem;
	text-decoration: none;
}

.mnr-next-read.mnr-layout-b a.part:hover {
	background: var(--mnr-accent-tint);
}

.mnr-next-read.mnr-layout-b .part .num {
	width: 52px;
	flex-shrink: 0;
	color: var(--mnr-ink-faint);
	font-size: 0.6875rem;
}

.mnr-next-read.mnr-layout-b .part h4 {
	flex: 1;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.3;
}

.mnr-next-read.mnr-layout-b .part .arrow {
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

.mnr-next-read.mnr-layout-b .part.is-current {
	background: var(--mnr-accent-tint);
	cursor: default;
}

.mnr-next-read.mnr-layout-b .part.is-current .num,
.mnr-next-read.mnr-layout-b .part.is-current h4 {
	color: var(--mnr-accent-dark);
}

.mnr-next-read.mnr-layout-b .part.is-current .num {
	font-weight: 700;
}

.mnr-next-read.mnr-layout-b .part.is-current h4 {
	font-weight: 600;
}

.mnr-next-read.mnr-layout-b .mini-grid {
	gap: 0;
}

.mnr-next-read.mnr-layout-b .mini-grid a {
	padding: 0.125rem 1rem;
	border-right: 1px solid var(--mnr-line);
	text-decoration: none;
}

.mnr-next-read.mnr-layout-b .mini-grid a:first-child {
	padding-left: 0;
}

.mnr-next-read.mnr-layout-b .mini-grid a:last-child {
	border-right: none;
	padding-right: 0;
}

.mnr-next-read.mnr-layout-b .mini-grid h4 {
	margin: 0.375rem 0 0;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
}

.mnr-next-read.mnr-layout-b .pick {
	display: block;
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	overflow: hidden;
	background: var(--mnr-accent-tint);
	text-decoration: none;
}

.mnr-next-read.mnr-layout-b .pick .pick-fig {
	height: 150px;
}

.mnr-next-read.mnr-layout-b .pick .pick-body {
	display: block;
	padding: 1.125rem 1.25rem 1.25rem;
}

.mnr-next-read.mnr-layout-b .pick .pick-title {
	margin: 0.5rem 0 0.375rem;
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.2;
}

.mnr-next-read.mnr-layout-b .pick .pick-excerpt {
	margin: 0 0 0.625rem;
	color: var(--mnr-ink-soft);
	font-size: 0.875rem;
}

.mnr-next-read.mnr-layout-b .pick .pick-go {
	color: var(--mnr-accent-dark);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.mnr-next-read.mnr-layout-b .author-row {
	display: flex;
	align-items: center;
	gap: 0.875rem;
}

.mnr-next-read.mnr-layout-b .avatar {
	width: 42px;
	height: 42px;
	background: var(--mnr-ink);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-b .a-info h4 {
	margin: 0 0 0.125rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.mnr-next-read.mnr-layout-b .a-info p {
	margin: 0;
	color: var(--mnr-ink-soft);
	font-size: 0.75rem;
}

.mnr-next-read.mnr-layout-b .author-row .link {
	margin-left: auto;
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	white-space: nowrap;
	text-decoration: none;
}

.mnr-next-read.mnr-layout-b .cta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.125rem;
	flex-wrap: wrap;
	background: var(--mnr-accent-dark);
}

.mnr-next-read.mnr-layout-b .cta-row h4 {
	margin: 0 0 0.1875rem;
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 600;
}

.mnr-next-read.mnr-layout-b .cta-row p {
	margin: 0;
	color: var(--mnr-accent-tint);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-b .cta-row .cta-btn {
	background: #fff;
	color: var(--mnr-accent-dark);
}

.mnr-next-read.mnr-layout-b .cta-row .cta-btn:hover {
	background: var(--mnr-accent-tint);
}

.mnr-next-read.mnr-layout-b .news-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.mnr-next-read.mnr-layout-b .news-row p {
	margin: 0;
	color: var(--mnr-ink-faint);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-b .news-row a {
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	text-decoration: underline;
}

/* ================================================================
   C — two columns: reading left, sidebar right (.lc)
   ================================================================ */

.mnr-next-read.mnr-layout-c .cols {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 1.5rem;
	align-items: start;
}

/* If a whole region (reading column or sidebar) is empty, its column is omitted
   in the markup — collapse to one column so the survivor doesn't sit next to a
   dead ~42% gutter. */
.mnr-next-read.mnr-layout-c .cols:has(> :only-child) {
	grid-template-columns: 1fr;
}

.mnr-next-read.mnr-layout-c .reading {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.mnr-next-read.mnr-layout-c .sidebar {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.mnr-next-read.mnr-layout-c .prevnext {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.mnr-next-read.mnr-layout-c .prevnext a {
	flex: 1 1 0;
	min-width: 150px;
	display: flex;
	flex-direction: column;
	gap: 0.1875rem;
	padding: 0.75rem 0.875rem;
	border: 1px solid var(--mnr-line);
	border-radius: 12px;
	text-decoration: none;
	transition: border-color 0.15s ease;
}

.mnr-next-read.mnr-layout-c .prevnext a:hover {
	border-color: var(--mnr-accent);
}

.mnr-next-read.mnr-layout-c .pn-label {
	color: var(--mnr-ink-faint);
	font-size: 0.625rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.mnr-next-read.mnr-layout-c .prevnext .pn-next {
	text-align: right;
	align-items: flex-end;
}

.mnr-next-read.mnr-layout-c .prevnext h3 {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
}

.mnr-next-read.mnr-layout-c .list {
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	overflow: hidden;
}

.mnr-next-read.mnr-layout-c .list a,
.mnr-next-read.mnr-layout-c .list .part {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.8125rem 1rem;
	border-bottom: 1px solid var(--mnr-line);
	text-decoration: none;
}

.mnr-next-read.mnr-layout-c .list a:last-child,
.mnr-next-read.mnr-layout-c .list .part:last-child {
	border-bottom: none;
}

.mnr-next-read.mnr-layout-c .list a:hover {
	background: var(--mnr-accent-tint);
}

.mnr-next-read.mnr-layout-c .list .num {
	width: 44px;
	flex-shrink: 0;
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

.mnr-next-read.mnr-layout-c .list .body {
	flex: 1;
}

.mnr-next-read.mnr-layout-c .list h3 {
	margin: 0 0 0.125rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.3;
}

.mnr-next-read.mnr-layout-c .list .part.is-current {
	background: var(--mnr-accent-tint);
	cursor: default;
}

.mnr-next-read.mnr-layout-c .list .part.is-current .num {
	color: var(--mnr-accent-dark);
	font-weight: 700;
}

.mnr-next-read.mnr-layout-c .list .part.is-current h3 {
	color: var(--mnr-accent-dark);
	font-weight: 600;
}

.mnr-next-read.mnr-layout-c .list .arrow {
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

.mnr-next-read.mnr-layout-c .pick-card {
	display: block;
	border: 1.5px solid var(--mnr-accent);
	border-radius: 14px;
	overflow: hidden;
	background: var(--mnr-accent-tint);
	text-decoration: none;
}

.mnr-next-read.mnr-layout-c .pick-card .pick-fig {
	height: 120px;
}

.mnr-next-read.mnr-layout-c .pick-card .pick-body {
	display: block;
	padding: 0.875rem 1rem 1rem;
}

.mnr-next-read.mnr-layout-c .pick-card .pick-title {
	margin: 0.5rem 0 0.375rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
}

.mnr-next-read.mnr-layout-c .pick-card .pick-excerpt {
	margin: 0 0 0.5rem;
	color: var(--mnr-ink-soft);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-c .pick-card .pick-go {
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	font-weight: 700;
}

.mnr-next-read.mnr-layout-c .profile-card {
	padding: 1.125rem;
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	background: var(--mnr-surface);
	text-align: center;
}

.mnr-next-read.mnr-layout-c .profile-card .avatar {
	width: 52px;
	height: 52px;
	margin: 0 auto 0.625rem;
	font-size: 1rem;
}

.mnr-next-read.mnr-layout-c .profile-card h3 {
	margin: 0 0 0.1875rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.mnr-next-read.mnr-layout-c .profile-card p {
	margin: 0 0 0.75rem;
	color: var(--mnr-ink-soft);
	font-size: 0.75rem;
}

.mnr-next-read.mnr-layout-c .profile-card .link {
	display: inline-block;
	padding: 0.375rem 0.75rem;
	border: 1px solid var(--mnr-accent);
	border-radius: 7px;
	color: var(--mnr-accent-dark);
	font-size: 0.6875rem;
	text-decoration: none;
}

/* Space the optional bio/contact pill from the author-page pill. */
.mnr-next-read.mnr-layout-c .profile-card .link-contact {
	margin-right: 0.375rem;
}

.mnr-next-read.mnr-layout-c .cta-card {
	padding: 1.125rem;
	border: 1px solid var(--mnr-line);
	border-radius: 14px;
	background: var(--mnr-surface);
}

.mnr-next-read.mnr-layout-c .cta-card h3 {
	margin: 0 0 0.375rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.mnr-next-read.mnr-layout-c .cta-card p {
	margin: 0 0 0.75rem;
	color: var(--mnr-ink-soft);
	font-size: 0.75rem;
}

.mnr-next-read.mnr-layout-c .cta-card .cta-btn {
	display: block;
	width: 100%;
	text-align: center;
}

.mnr-next-read.mnr-layout-c .news-note {
	margin: 0.125rem 0 0;
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
	text-align: center;
}

.mnr-next-read.mnr-layout-c .news-note a {
	color: var(--mnr-accent-dark);
	text-decoration: underline;
}

/* ================================================================
   D — editorial colour band (.ld)
   ================================================================ */

/* D stacks optional blocks that carry a bottom hairline + margin; drop them on
   whichever block ends the stack so there's no trailing line/gap. */
.mnr-next-read.mnr-layout-d > :last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.mnr-next-read.mnr-layout-d .band {
	margin-bottom: 1.125rem;
	padding: 1.875rem 2rem 1.625rem;
	border-radius: 18px;
	background: var(--mnr-accent-dark);
	color: #fff;
}

.mnr-next-read.mnr-layout-d .band .eyebrow {
	display: block;
	margin-bottom: 1rem;
	color: var(--mnr-accent-tint);
	font-size: 0.6875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mnr-next-read.mnr-layout-d .band-grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 1.625rem;
	align-items: center;
}

.mnr-next-read.mnr-layout-d .feature-title {
	margin: 0 0 0.75rem;
	font-size: 1.625rem;
	font-weight: 600;
	line-height: 1.2;
}

.mnr-next-read.mnr-layout-d .feature-excerpt {
	margin: 0 0 1rem;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.875rem;
}

.mnr-next-read.mnr-layout-d .band .pick-go {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.mnr-next-read.mnr-layout-d .band-fig {
	height: 170px;
	border-radius: 12px;
	overflow: hidden;
}

.mnr-next-read.mnr-layout-d .band-fig__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mnr-next-read.mnr-layout-d .nextreads {
	display: flex;
	gap: 1.5rem;
	align-items: baseline;
	flex-wrap: wrap;
	padding: 0.25rem 0.125rem 1.25rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--mnr-line);
}

.mnr-next-read.mnr-layout-d .nr-label {
	color: var(--mnr-ink-faint);
	font-size: 0.625rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.mnr-next-read.mnr-layout-d .nextreads a {
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.mnr-next-read.mnr-layout-d .nextreads a:hover {
	color: var(--mnr-accent-dark);
	border-bottom-color: var(--mnr-accent);
}

.mnr-next-read.mnr-layout-d .series-strip {
	margin-bottom: 1.25rem;
}

.mnr-next-read.mnr-layout-d .s-head {
	display: flex;
	align-items: baseline;
	gap: 0.625rem;
	flex-wrap: wrap;
	margin-bottom: 0.625rem;
}

.mnr-next-read.mnr-layout-d .s-title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
}

.mnr-next-read.mnr-layout-d .s-count {
	color: var(--mnr-ink-faint);
	font-size: 0.75rem;
}

.mnr-next-read.mnr-layout-d .strip {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.mnr-next-read.mnr-layout-d .chip {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--mnr-line);
	border-radius: 10px;
	font-size: 0.8125rem;
	font-weight: 500;
	text-decoration: none;
	transition: border-color 0.15s ease;
}

.mnr-next-read.mnr-layout-d .chip:hover {
	border-color: var(--mnr-accent);
}

.mnr-next-read.mnr-layout-d .chip .n {
	color: var(--mnr-ink-faint);
	font-size: 0.625rem;
}

.mnr-next-read.mnr-layout-d .chip.is-current {
	border-color: var(--mnr-accent);
	background: var(--mnr-accent-tint);
	color: var(--mnr-accent-dark);
	cursor: default;
}

.mnr-next-read.mnr-layout-d .chip.is-current .n {
	color: var(--mnr-accent-dark);
}

.mnr-next-read.mnr-layout-d .chip .now {
	padding: 0.1875rem 0.4375rem;
	border-radius: 999px;
	background: var(--mnr-accent-dark);
	color: #fff;
	font-size: 0.5625rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mnr-next-read.mnr-layout-d .prevnext {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	padding-bottom: 1.25rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--mnr-line);
}

.mnr-next-read.mnr-layout-d .prevnext a {
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	text-decoration: none;
}

.mnr-next-read.mnr-layout-d .prevnext a:hover {
	text-decoration: underline;
}

.mnr-next-read.mnr-layout-d .below {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	flex-wrap: wrap;
	padding-bottom: 1.125rem;
	margin-bottom: 1.125rem;
	border-bottom: 1px solid var(--mnr-line);
}

.mnr-next-read.mnr-layout-d .author-inline {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.mnr-next-read.mnr-layout-d .author-inline .avatar {
	width: 40px;
	height: 40px;
	background: var(--mnr-accent-tint);
	color: var(--mnr-accent-dark);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-d .author-inline .name {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
}

.mnr-next-read.mnr-layout-d .author-inline .role {
	margin-right: 0.5rem;
	color: var(--mnr-ink-soft);
	font-size: 0.6875rem;
}

.mnr-next-read.mnr-layout-d .author-inline .link {
	color: var(--mnr-accent-dark);
	font-size: 0.6875rem;
	text-decoration: none;
}

/* Space the optional bio/contact link from the author-page link. */
.mnr-next-read.mnr-layout-d .author-inline .link-contact {
	margin-right: 0.5rem;
}

.mnr-next-read.mnr-layout-d .cta-mini {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.mnr-next-read.mnr-layout-d .cta-mini p {
	margin: 0;
	color: var(--mnr-ink-soft);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-d .news-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.mnr-next-read.mnr-layout-d .news-line p {
	margin: 0;
	color: var(--mnr-ink-faint);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-d .news-line a {
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	text-decoration: underline;
}

/* ================================================================
   E — minimal, text-based (.le)
   ================================================================ */

.mnr-next-read.mnr-layout-e .stack {
	display: flex;
	flex-direction: column;
}

.mnr-next-read.mnr-layout-e .row-line {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	flex-wrap: wrap;
	padding: 1rem 0;
	border-bottom: 1px solid var(--mnr-line);
}

.mnr-next-read.mnr-layout-e .row-line:first-child {
	padding-top: 0;
}

.mnr-next-read.mnr-layout-e .row-line:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.mnr-next-read.mnr-layout-e .label {
	min-width: 150px;
	flex-shrink: 0;
	color: var(--mnr-ink-faint);
	font-size: 0.6875rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.mnr-next-read.mnr-layout-e .content {
	flex: 1;
	min-width: 220px;
}

.mnr-next-read.mnr-layout-e .content p {
	margin: 0;
}

.mnr-next-read.mnr-layout-e .inline a {
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--mnr-ink);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.mnr-next-read.mnr-layout-e .inline a:hover {
	color: var(--mnr-accent-dark);
	border-bottom-color: var(--mnr-accent);
}

.mnr-next-read.mnr-layout-e .inline .sep {
	margin: 0 0.625rem;
	color: var(--mnr-ink-faint);
	font-size: 0.8125rem;
}

.mnr-next-read.mnr-layout-e .inline .cur {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--mnr-accent-dark);
}

.mnr-next-read.mnr-layout-e .inline .cur small {
	color: var(--mnr-ink-faint);
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.mnr-next-read.mnr-layout-e .pick-line a {
	font-size: 1rem;
	font-weight: 600;
	color: var(--mnr-accent-dark);
	text-decoration: none;
	border-bottom: 1px solid var(--mnr-accent);
}

.mnr-next-read.mnr-layout-e .pick-line .tagword {
	margin-right: 0.625rem;
	color: var(--mnr-ink-faint);
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mnr-next-read.mnr-layout-e .author-line {
	color: var(--mnr-ink-soft);
	font-size: 0.875rem;
}

.mnr-next-read.mnr-layout-e .author-line strong {
	color: var(--mnr-ink);
	font-weight: 600;
}

.mnr-next-read.mnr-layout-e .author-line a {
	margin-left: 0.5rem;
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	text-decoration: none;
}

.mnr-next-read.mnr-layout-e .author-line a:hover {
	text-decoration: underline;
}

.mnr-next-read.mnr-layout-e .cta-line a {
	color: var(--mnr-accent-dark);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid var(--mnr-accent);
}

.mnr-next-read.mnr-layout-e .news-line a {
	color: var(--mnr-accent-dark);
	font-size: 0.75rem;
	text-decoration: underline;
}

/* ================================================================
   Responsive — collapse B–E to single column below 780px
   ================================================================ */

@media ( max-width: 780px ) {

	.mnr-next-read.mnr-layout-b .mini-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.mnr-next-read.mnr-layout-b .mini-grid a {
		padding: 0 0 0.75rem;
		border-right: none;
		border-bottom: 1px solid var(--mnr-line);
	}

	.mnr-next-read.mnr-layout-b .mini-grid a:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}

	.mnr-next-read.mnr-layout-c .cols {
		grid-template-columns: 1fr;
	}

	.mnr-next-read.mnr-layout-d .band-grid {
		grid-template-columns: 1fr;
		gap: 1.125rem;
	}

	.mnr-next-read.mnr-layout-d .band-fig {
		order: -1;
		height: 150px;
	}

	.mnr-next-read.mnr-layout-e .label {
		min-width: 100%;
	}
}
