/**
 * JCR editorial display corrections.
 *
 * Kept separate from the original compressed stylesheet so the fixes remain
 * easy to audit and are guaranteed to load after the base editorial rules.
 */

/* Dark sections must not inherit the default navy heading color. */
.jcr-about-system h2,
.jcr-about-final h2 {
	color: #fff;
}

/*
 * WordPress global spacing adds 24px between flow children and 64px before
 * the inner footer group. On full-bleed colour sections that exposes the
 * white parent background as an unintended horizontal band.
 */
.jcr-about > *,
.jcr-editorial > * {
	margin-block-start: 0 !important;
}

body.page-about .wp-site-blocks > footer > .jcr-footer,
body.single-post .wp-site-blocks > footer > .jcr-footer {
	margin-block-start: 0 !important;
}

.jcr-about-operator-details {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	gap: clamp(2rem, 7vw, 6rem);
	padding: clamp(4.5rem, 8vw, 7rem) max(var(--jcr-page-gutter), calc((100% - 1120px) / 2));
	background: #f7fafb;
}

.jcr-about-operator-details__intro h2 {
	margin: .25rem 0 1.5rem;
	color: #0c2942;
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.12;
}

.jcr-about-operator-details__intro > p:not(.jcr-about-kicker) {
	color: #506776;
	line-height: 1.9;
}

.jcr-about-operator-card {
	padding: clamp(1.5rem, 3vw, 2.4rem);
	border: 1px solid #c8d9e1;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 20px 45px rgba(12, 41, 66, .08);
}

.jcr-about-operator-card h3 {
	margin: 0 0 .7rem;
	color: #0c2942;
	font-size: 1.35rem;
}

.jcr-about-operator-card dl { margin: 0; }
.jcr-about-operator-card dl div {
	display: grid;
	grid-template-columns: 9rem 1fr;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid #d9e4e9;
}
.jcr-about-operator-card dt { color: #5d7280; font-size: .8rem; font-weight: 800; }
.jcr-about-operator-card dd { margin: 0; color: #0c2942; font-weight: 750; line-height: 1.65; }
.jcr-about-operator-card a { color: #0b648d; font-weight: 800; text-underline-offset: .2rem; }
.jcr-about-operator-card__note {
	margin: 1.4rem 0 0;
	padding: 1rem 1.1rem;
	border-left: 4px solid #f2a715;
	background: #f2f6f8;
	color: #405a69;
	font-size: .88rem;
	line-height: 1.75;
}

@media (max-width: 900px) {
	.jcr-about-operator-details { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.jcr-about-operator-card dl div { grid-template-columns: 1fr; gap: .35rem; }
}

/* Keep both editorial columns in the same grid and align their top edges. */
.jcr-editorial-layout > .jcr-editorial-body,
.jcr-editorial-layout > .jcr-editorial-side {
	min-width: 0;
	margin-block-start: 0;
}

.jcr-editorial-layout > .jcr-editorial-body {
	grid-column: 1;
}

.jcr-editorial-layout > .jcr-editorial-side {
	grid-column: 2;
}

/* v0.47.1: keep guide links compact and inside the reading-guide card. */
.jcr-editorial-side-links {
	display: grid;
	gap: .65rem;
	margin-top: 1.25rem;
	padding-top: 1.1rem;
	border-top: 1px solid #d5e1e7;
}

.jcr-editorial-side-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding: .65rem .8rem;
	border: 1px solid #b9cbd5;
	border-radius: .45rem;
	color: #12304a;
	background: #fff;
	font-size: .84rem;
	font-weight: 800;
	line-height: 1.45;
	text-decoration: none;
}

.jcr-editorial-side-link::after {
	content: "→";
	flex: 0 0 auto;
	margin-left: .65rem;
}

.jcr-editorial-side-link.is-primary {
	border-color: #146c94;
	color: #fff;
	background: #146c94;
}

.jcr-editorial-side-link:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(18,48,74,.1);
}

/* A two-column article becomes too narrow before the former 900px breakpoint. */
@media (max-width: 1080px) {
	.jcr-editorial-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.jcr-editorial-layout > .jcr-editorial-body,
	.jcr-editorial-layout > .jcr-editorial-side {
		grid-column: 1;
	}

	.jcr-editorial-side {
		position: static;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.jcr-editorial-side > .wp-block-buttons {
		align-self: start;
	}
}

@media (max-width: 600px) {
	.jcr-editorial-side {
		grid-template-columns: minmax(0, 1fr);
	}
}
