/* ELCSA Almanac — navy & gold styling to match elcsa.church. Override in the theme if needed. */

:root {
	--elcsa-navy: #041e63;
	--elcsa-navy-deep: #02123f;
	--elcsa-gold: #f2c14e;
	--elcsa-ink: #1c2333;
}

/* ---------- Site-wide Verse of the Day band ---------- */

.elcsa-vod-band {
	background: linear-gradient(90deg, var(--elcsa-navy-deep), var(--elcsa-navy));
	border-bottom: 3px solid var(--elcsa-gold);
	color: #fff;
}

.elcsa-vod-band__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 10px 18px;
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}

.elcsa-vod-band__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--elcsa-gold);
	white-space: nowrap;
}

.elcsa-vod-band__text {
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-size: 15px;
	line-height: 1.5;
	color: #fff;
}

.elcsa-vod-band__ref {
	font-size: 13px;
	font-weight: 700;
	color: var(--elcsa-gold);
	text-decoration: none;
	white-space: nowrap;
}

.elcsa-vod-band__ref:hover {
	color: #fff;
}

@media (max-width: 640px) {
	.elcsa-vod-band__inner { padding: 9px 12px; gap: 6px; }
	.elcsa-vod-band__text { font-size: 13.5px; }
}

/* ---------- Almanac blocks (shortcodes) ---------- */

.elcsa-almanac {
	margin: 1.5em 0;
	padding: 1.4em 1.6em;
	background: #f7f8fc;
	border-left: 5px solid var(--elcsa-gold);
	border-radius: 0 10px 10px 0;
	box-shadow: 0 1px 3px rgba(4, 30, 99, 0.08);
}

.elcsa-almanac__heading {
	margin: 0 0 0.3em;
	font-size: 0.78em;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--elcsa-navy);
}

.elcsa-almanac__subline {
	margin: 0 0 0.6em;
	font-size: 0.85em;
	font-style: italic;
	color: #5a6373;
}

.elcsa-almanac__text {
	margin: 0.3em 0 0.6em;
	padding: 0;
	border: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.18em;
	line-height: 1.6;
	font-style: normal;
	color: var(--elcsa-ink);
}

.elcsa-almanac__ref {
	margin: 0;
	font-weight: 700;
	font-size: 0.92em;
	color: var(--elcsa-navy);
}

.elcsa-almanac__version {
	font-weight: 400;
	color: #5a6373;
}

.elcsa-almanac__copyright {
	margin: 0.7em 0 0;
	font-size: 0.66em;
	line-height: 1.4;
	color: #8a90a0;
}

/* Composite Daily Word page */
.elcsa-daily-word {
	display: grid;
	gap: 0.9em;
}

@media (min-width: 720px) {
	.elcsa-daily-word {
		grid-template-columns: 1fr 1fr;
	}
	.elcsa-daily-word .elcsa-vod {
		grid-column: 1 / -1;
	}
}

.elcsa-daily-word .elcsa-vod {
	background: linear-gradient(135deg, var(--elcsa-navy-deep), var(--elcsa-navy));
	border-left-color: var(--elcsa-gold);
}

.elcsa-daily-word .elcsa-vod .elcsa-almanac__heading { color: var(--elcsa-gold); }
.elcsa-daily-word .elcsa-vod .elcsa-almanac__subline { color: #c7cede; }
.elcsa-daily-word .elcsa-vod .elcsa-almanac__text { color: #fff; font-size: 1.35em; }
.elcsa-daily-word .elcsa-vod .elcsa-almanac__ref { color: var(--elcsa-gold); }
.elcsa-daily-word .elcsa-vod .elcsa-almanac__copyright { color: #9aa3bd; }

/* Readability fix: the theme paints light text inside has-background groups.
   Scope body text inside our light card groups back to ink. */
.wp-block-group.has-background[style*="f7f8fc"] p,
.wp-block-group.has-background[style*="f7f8fc"] li {
	color: #3a4358;
}

/* CMSMasters theme defaults content text to white; give core-block content
   readable ink. Inline colors (covers, CTA bands) override this rule. */
.cmsmasters-content p,
.cmsmasters-content li {
	color: #3a4358;
}

/* ---------- Front page polish ---------- */

.home .wp-block-cover h1 { text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45); }
.home .wp-block-cover p { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5); }

.home .wp-block-columns .wp-block-group.has-background {
	box-shadow: 0 6px 22px rgba(4, 30, 99, 0.10);
	border-top: 4px solid var(--elcsa-gold);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	height: 100%;
}

.home .wp-block-columns .wp-block-group.has-background:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(4, 30, 99, 0.16);
}

.home .wp-block-latest-posts__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 0;
	list-style: none;
}

.home .wp-block-latest-posts__list li {
	background: #f7f8fc;
	border-radius: 10px;
	padding: 22px;
	margin: 0;
	box-shadow: 0 2px 10px rgba(4, 30, 99, 0.06);
}

.home .wp-block-latest-posts__list a {
	color: var(--elcsa-navy);
	font-weight: 700;
	font-size: 17px;
	text-decoration: none;
}

.home .wp-block-latest-posts__post-date {
	display: block;
	margin-top: 8px;
	color: #8a90a0;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

@media (max-width: 781px) {
	.home .wp-block-latest-posts__list { grid-template-columns: 1fr; }
}

/* Brand coherence: recolor the theme's magenta footer bar to ELCSA navy. */
.cmsmasters-footer,
.cmsmasters-footer .cmsmasters-footer-copyright,
.cmsmasters-footer [class*="copyright"] {
	background-color: var(--elcsa-navy-deep) !important;
}

.cmsmasters-footer,
.cmsmasters-footer p,
.cmsmasters-footer a {
	color: #dfe4f2;
}

.cmsmasters-footer a:hover {
	color: var(--elcsa-gold);
}

/* =================== ELCSA Design System v2 (el-*) =================== */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap");

:root {
	--el-navy: #0a1b4d;
	--el-deep: #05102e;
	--el-crimson: #a6192e;
	--el-gold: #f2c14e;
	--el-paper: #f7f5f0;
	--el-ink: #1c2333;
	--el-muted: #5b6478;
	--el-line: #e8e6df;
}

.el-page { font-family: Inter, system-ui, sans-serif; color: var(--el-ink); background: #fff; margin: 0; -webkit-font-smoothing: antialiased; }
.el-page * { box-sizing: border-box; }
.el-wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* Header (light) */
.el-header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--el-line); }
body.admin-bar .el-header { top: 32px; }
.el-header .el-wrap { display: flex; align-items: center; justify-content: space-between; height: 74px; }
.el-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.el-brand img { height: 46px; width: auto; border-radius: 50%; }
.el-brand-tx { display: flex; flex-direction: column; line-height: 1.05; }
.el-brand-tx b { font-family: Fraunces, serif; font-size: 22px; color: var(--el-navy); letter-spacing: .02em; }
.el-brand-tx span { font-size: 9.5px; color: var(--el-crimson); letter-spacing: .2em; text-transform: uppercase; margin-top: 3px; }
.el-nav { display: flex; gap: 26px; align-items: center; }
.el-nav a { color: var(--el-ink); text-decoration: none; font-size: 14px; font-weight: 500; transition: color .15s; }
.el-nav a:hover { color: var(--el-crimson); }
.el-nav .el-cta { background: var(--el-crimson); color: #fff; font-weight: 700; padding: 10px 22px; border-radius: 100px; transition: transform .15s, background .15s; }
.el-nav .el-cta:hover { transform: translateY(-1px); background: #8d1526; color: #fff; }
@media (max-width: 940px) { .el-nav a:not(.el-cta) { display: none; } }

/* Heros */
.el-hero { position: relative; min-height: 86vh; display: flex; align-items: center; background-size: cover; background-position: center; }
.el-hero-page { position: relative; min-height: 340px; display: flex; align-items: flex-end; background-size: cover; background-position: center; padding-bottom: 44px; }
.el-hero-in { max-width: 1160px; margin: 0 auto; padding: 110px 24px; width: 100%; }
.el-hero-page .el-hero-in { padding: 90px 24px 0; }
.el-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--el-gold); font-size: 12px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; margin-bottom: 22px; }
.el-kicker:before { content: ""; width: 34px; height: 2px; background: var(--el-crimson); display: inline-block; }
.el-hero h1, .el-hero-page h1 { font-family: Fraunces, serif; font-weight: 600; color: #fff; margin: 0; }
.el-hero h1 { font-size: clamp(42px, 6.6vw, 80px); line-height: 1.05; margin-bottom: 24px; }
.el-hero-page h1 { font-size: clamp(34px, 4.6vw, 56px); line-height: 1.1; }
.el-hero h1 em { font-style: italic; color: var(--el-gold); }
.el-hero p.el-sub, .el-hero-page p.el-sub { color: #d5dbec; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.65; max-width: 56ch; margin: 0 0 38px; }
.el-hero-page p.el-sub { margin: 14px 0 0; }
.el-crumb { color: #aab3d0; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; margin: 18px 0 0; }
.el-crumb a { color: var(--el-gold); text-decoration: none; }

/* Buttons */
.el-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.el-btn { display: inline-block; padding: 15px 32px; border-radius: 100px; font-weight: 700; font-size: 15px; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.el-btn-crimson { background: var(--el-crimson); color: #fff; box-shadow: 0 10px 26px rgba(166,25,46,.35); }
.el-btn-gold { background: var(--el-gold); color: var(--el-deep); box-shadow: 0 8px 24px rgba(242,193,78,.35); }
.el-btn-ghost { border: 1.5px solid rgba(255,255,255,.5); color: #fff; }
.el-btn-outline { border: 1.5px solid var(--el-navy); color: var(--el-navy); }
.el-btn:hover { transform: translateY(-2px); }

/* Sections */
.el-sec { padding: 92px 0; }
.el-sec-alt { background: var(--el-paper); }
.el-eyebrow { color: var(--el-crimson); font-size: 12px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; text-align: center; margin: 0 0 10px; }
.el-h2 { font-family: Fraunces, serif; font-weight: 600; font-size: clamp(28px, 4vw, 42px); color: var(--el-navy); text-align: center; margin: 0 0 52px; line-height: 1.15; }
.el-h2-left { text-align: left; margin-bottom: 24px; }
.el-h3 { font-family: Fraunces, serif; font-size: 21px; color: var(--el-navy); margin: 0 0 10px; font-weight: 600; }

/* Prose */
.el-prose { max-width: 760px; }
.el-prose p { font-size: 16.5px; line-height: 1.75; color: #3a4358; margin: 0 0 18px; }
.el-prose li { font-size: 16.5px; line-height: 1.7; color: #3a4358; margin-bottom: 10px; }
.el-prose a { color: var(--el-crimson); }
.el-cols2 { display: grid; grid-template-columns: 1.2fr .9fr; gap: 44px; align-items: start; }
@media (max-width: 860px) { .el-cols2 { grid-template-columns: 1fr; } }

/* Cards */
.el-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.el-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.el-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 960px) { .el-grid, .el-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .el-grid, .el-grid-3, .el-grid-2 { grid-template-columns: 1fr; } }
.el-card { background: #fff; border: 1px solid var(--el-line); border-radius: 18px; padding: 32px 28px; text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; display: block; }
.el-sec-alt .el-card { background: #fff; }
.el-sec:not(.el-sec-alt) .el-card { background: var(--el-paper); border-color: #eceae3; }
a.el-card:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(10,27,77,.12); border-color: var(--el-gold); }
.el-card .el-ic { width: 46px; height: 46px; border-radius: 12px; background: rgba(242,193,78,.2); color: var(--el-navy); display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 18px; }
.el-card h3 { font-family: Fraunces, serif; font-size: 20px; color: var(--el-navy); margin: 0 0 10px; font-weight: 600; }
.el-card p { color: var(--el-muted); font-size: 14.5px; line-height: 1.65; margin: 0 0 16px; }
.el-card .el-go { color: var(--el-crimson); font-weight: 700; font-size: 13.5px; }
.el-info-card { background: #fff; border: 1px solid var(--el-line); border-left: 4px solid var(--el-gold); border-radius: 14px; padding: 26px 26px; }
.el-info-card p { margin: 0 0 8px; font-size: 15px; line-height: 1.7; color: #3a4358; }

/* Stats + bands */
.el-stats { background: var(--el-deep); padding: 66px 0; }
.el-stats .el-wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
@media (max-width: 700px) { .el-stats .el-wrap { grid-template-columns: repeat(2, 1fr); } }
.el-stat b { display: block; font-family: Fraunces, serif; font-size: 50px; color: var(--el-gold); font-weight: 600; line-height: 1; }
.el-stat span { display: block; margin-top: 10px; color: #aab3d0; font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase; }
.el-final { position: relative; background-size: cover; background-position: center; padding: 104px 0; text-align: center; }
.el-final h2 { font-family: Fraunces, serif; font-size: clamp(30px, 4.4vw, 50px); color: #fff; margin: 0 0 16px; font-weight: 600; }
.el-final p { color: #d5dbec; font-size: 17px; margin: 0 auto 34px; max-width: 46ch; }

/* Tables */
.el-page table { width: 100%; border-collapse: collapse; font-size: 15px; }
.el-page table th { background: var(--el-navy); color: #fff; text-align: left; padding: 13px 16px; font-weight: 600; font-size: 13.5px; letter-spacing: .04em; }
.el-page table td { border-bottom: 1px solid var(--el-line); padding: 13px 16px; color: #3a4358; }
.el-page table tr:nth-child(even) td { background: var(--el-paper); }

/* Footer */
.el-footer { background: var(--el-deep); color: #aab3d0; padding: 62px 0 0; }
.el-footer .el-cols { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding-bottom: 46px; }
@media (max-width: 760px) { .el-footer .el-cols { grid-template-columns: 1fr; } }
.el-footer h4 { color: #fff; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; margin: 0 0 18px; }
.el-footer a { color: #aab3d0; text-decoration: none; display: block; margin-bottom: 10px; font-size: 14.5px; }
.el-footer a:hover { color: var(--el-gold); }
.el-footer p { font-size: 14.5px; line-height: 1.7; margin: 0 0 10px; }
.el-legal { border-top: 1px solid rgba(255,255,255,.09); padding: 22px 0; font-size: 12.5px; color: #7a83a3; text-align: center; }

/* Watchword + almanac embeds inside the design system */
.el-watchword { max-width: 820px; margin: 0 auto; text-align: center; }
.el-watchword .elcsa-almanac { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 0; border-radius: 0; }
.el-watchword .elcsa-almanac__heading { color: var(--el-crimson); letter-spacing: .24em; font-size: 12px; }
.el-watchword .elcsa-almanac__subline { color: #9aa3bd; }
.el-watchword .elcsa-almanac__text { font-family: Fraunces, serif; font-size: clamp(24px, 3vw, 34px); line-height: 1.4; color: var(--el-navy); font-weight: 500; font-style: normal; }
.el-watchword .elcsa-almanac__text:before { content: "\201C"; display: block; font-size: 70px; line-height: .6; color: var(--el-gold); margin-bottom: 14px; }
.el-watchword .elcsa-almanac__ref { font-family: Inter, sans-serif; font-size: 14px; letter-spacing: .06em; }
.el-yearchip { margin-top: 36px; max-width: 660px; }
.el-yearchip .elcsa-almanac { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-left: 3px solid var(--el-gold); border-radius: 14px; padding: 16px 22px; margin: 0; box-shadow: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.el-yearchip .elcsa-almanac__heading { color: var(--el-gold); font-size: 10.5px; letter-spacing: .22em; margin-bottom: 4px; }
.el-yearchip .elcsa-almanac__subline { display: none; }
.el-yearchip .elcsa-almanac__text { font-family: Fraunces, serif; color: #fff; font-size: 19px; margin: 2px 0 6px; line-height: 1.45; font-style: normal; }
.el-yearchip .elcsa-almanac__ref { color: #c7cede; font-size: 12.5px; }
.el-daily .elcsa-almanac { border-radius: 14px; }

/* ---------- Mobile navigation ---------- */
.el-burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; padding: 8px; }
.el-burger span { display: block; height: 2.5px; background: var(--el-navy); border-radius: 2px; transition: transform .2s, opacity .2s; }
.el-burger.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.el-burger.open span:nth-child(2) { opacity: 0; }
.el-burger.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
@media (max-width: 940px) { .el-burger { display: flex; } }
.el-mobile-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--el-line); box-shadow: 0 18px 32px rgba(10,27,77,.12); padding: 18px 24px 22px; flex-direction: column; gap: 4px; }
.el-mobile-nav.open { display: flex; }
.el-mobile-nav a { color: var(--el-navy); text-decoration: none; font-size: 16px; font-weight: 600; padding: 10px 0; border-bottom: 1px solid #f0eee8; }
.el-mobile-nav a:last-child { border-bottom: 0; }
.el-mobile-nav .el-cta { background: var(--el-crimson); color: #fff; border-radius: 100px; text-align: center; padding: 12px; margin-top: 10px; }

/* ---------- Old-theme bridge (posts, events, archives match the new look) ---------- */
.cmsmasters-header { font-family: Inter, system-ui, sans-serif; }
.cmsmasters-header a { color: var(--el-navy); }
.cmsmasters-header a:hover { color: var(--el-crimson); }
.cmsmasters-content h1, .cmsmasters-content h2, .cmsmasters-content h3,
.cmsmasters-headline__text { font-family: Fraunces, Georgia, serif; color: var(--el-navy); }
.cmsmasters-content p, .cmsmasters-content li { font-family: Inter, system-ui, sans-serif; }
.cmsmasters-theme .button, .cmsmasters-theme button[type="submit"], .cmsmasters-theme input[type="submit"] { border-radius: 100px; }

/* ---------- Native-block shell mapping (editable pages) ---------- */
.el-page .wp-block-cover.el-hero-cover { min-height: 380px; border-radius: 0; }
.el-page .wp-block-cover.el-hero-cover.el-hero-tall { min-height: 80vh; }
.el-page .wp-block-cover.el-hero-cover h1 { font-family: Fraunces, serif; font-weight: 600; font-size: clamp(34px, 5vw, 60px); line-height: 1.08; color: #fff; }
.el-page .wp-block-cover.el-hero-cover.el-hero-tall h1 { font-size: clamp(42px, 6.6vw, 80px); }
.el-page .wp-block-cover.el-hero-cover h1 em { font-style: italic; color: var(--el-gold); }
.el-page .wp-block-cover.el-hero-cover p { color: #d5dbec; }
.el-page p.el-kicker-block { display: inline-flex; align-items: center; gap: 10px; color: var(--el-gold) !important; font-size: 12px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; margin-bottom: 8px; }
.el-page p.el-kicker-block:before { content: ""; width: 34px; height: 2px; background: var(--el-crimson); display: inline-block; }
.el-page .wp-block-group.el-sec { padding: 72px 0; }
.el-page .wp-block-group.el-wrap { max-width: 1160px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.el-page .wp-block-group.el-info-card { margin-bottom: 18px; }
.el-page h2.wp-block-heading, .el-page h3.wp-block-heading { font-family: Fraunces, serif; color: var(--el-navy); }
.el-page p, .el-page li { color: #3a4358; }
.el-page .wp-block-image img { border-radius: 14px; }
.el-page .wp-block-image figcaption { font-size: 13px; color: #5b6478; text-align: left; }
.el-page .wp-block-button .wp-block-button__link { border-radius: 100px; font-weight: 700; padding: 14px 30px; }
.el-page .wp-block-button.el-btn-crimson-blk .wp-block-button__link { background: var(--el-crimson); color: #fff; }
.el-page .wp-block-button.el-btn-gold-blk .wp-block-button__link { background: var(--el-gold); color: var(--el-deep); }
.el-page .wp-block-button.el-btn-ghost-blk .wp-block-button__link { background: transparent; border: 1.5px solid rgba(255,255,255,.55); color: #fff; }
.el-page .wp-block-columns { gap: 24px; }

/* Native-block polish: button variants must beat theme styles; almanac cards inside covers become glass chips. */
.el-page .wp-block-button.el-btn-crimson-blk .wp-block-button__link { background: var(--el-crimson) !important; color: #fff !important; }
.el-page .wp-block-button.el-btn-gold-blk .wp-block-button__link { background: var(--el-gold) !important; color: var(--el-deep) !important; }
.el-page .wp-block-button.el-btn-ghost-blk .wp-block-button__link { background: transparent !important; border: 1.5px solid rgba(255,255,255,.55) !important; color: #fff !important; }
.el-page .wp-block-cover .elcsa-almanac { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-left: 3px solid var(--el-gold); border-radius: 14px; box-shadow: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); max-width: 680px; padding: 16px 22px; }
.el-page .wp-block-cover .elcsa-almanac__heading { color: var(--el-gold); }
.el-page .wp-block-cover .elcsa-almanac__subline { color: #c7cede; }
.el-page .wp-block-cover .elcsa-almanac__text { color: #fff; font-size: 19px; margin: 2px 0 6px; }
.el-page .wp-block-cover .elcsa-almanac__ref { color: #f2e3b8; }
.el-page .wp-block-cover h2.wp-block-heading { color: #fff; }

/* ---------- v0.6.2: "national church" design refinement ----------
   The CoE/ELCA class of design = restraint: more whitespace, disciplined
   type scale, limited accents per view, consistent components. */

/* Air */
.el-page .wp-block-group.el-sec { padding: 110px 0; }
@media (max-width: 700px) { .el-page .wp-block-group.el-sec { padding: 64px 0; } }

/* Type discipline: serif reserved for display; UI/body in Inter */
.el-page h2.wp-block-heading { font-size: clamp(30px, 3.6vw, 44px); letter-spacing: -0.01em; margin-bottom: 28px; line-height: 1.12; }
.el-page h3.wp-block-heading { font-family: Inter, system-ui, sans-serif; font-weight: 700; font-size: 18.5px; letter-spacing: -0.005em; }
.el-page .wp-block-group.el-wrap > p { max-width: 72ch; font-size: 17px; line-height: 1.78; }
.el-page .wp-block-group.el-wrap > ul, .el-page .wp-block-group.el-wrap > ol { max-width: 72ch; }

/* Heros: left-aligned, calmer, stronger scrim for busy photographs */
.el-page .wp-block-cover.el-hero-cover .wp-block-cover__inner-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; text-align: left; }
.el-page .wp-block-cover.el-hero-cover .wp-block-cover__background { background: linear-gradient(100deg, rgba(5,16,46,.94) 0%, rgba(10,27,77,.78) 45%, rgba(10,27,77,.42) 100%) !important; opacity: 1 !important; }
.el-page .wp-block-cover.el-hero-cover h1 { max-width: 16ch; }
.el-page .wp-block-cover.el-hero-cover p:not(.el-kicker-block) { max-width: 58ch; }
.el-page .wp-block-cover.el-hero-cover .wp-block-buttons { margin-top: 34px; }

/* Cards: one consistent component everywhere */
.el-page .wp-block-group.el-info-card { background: #fff; border: 1px solid var(--el-line); border-left: 4px solid var(--el-gold); border-radius: 14px; padding: 28px; transition: transform .18s ease, box-shadow .18s ease; }
.el-page .wp-block-group.el-info-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(10,27,77,.10); }
.el-page .wp-block-group.el-sec-alt .wp-block-group.el-info-card { border-color: #eee9dd; }
.el-page .wp-block-group.el-info-card h3 a { color: var(--el-navy); text-decoration: none; }
.el-page .wp-block-group.el-info-card h3 a:hover { color: var(--el-crimson); }

/* Photography treatment: consistent radius + lift */
.el-page .wp-block-image img { border-radius: 16px; box-shadow: 0 10px 30px rgba(10,27,77,.10); }
.el-page .wp-block-image figcaption { margin-top: 10px; }

/* Accent discipline: kicker is the only gold text on white sections */
.el-page .wp-block-group.el-wrap > p.el-kicker-block { color: var(--el-crimson) !important; }
.el-page .wp-block-cover p.el-kicker-block { color: var(--el-gold) !important; }

/* ---------- CoE-style overlap panel hero (el-hero-panel) ----------
   Photo runs clean full-bleed; the words live on a solid navy panel. */
.el-page .wp-block-cover.el-hero-cover.el-hero-panel { align-items: flex-end; min-height: 78vh; }
.el-page .wp-block-cover.el-hero-cover.el-hero-panel .wp-block-cover__background { background: linear-gradient(180deg, rgba(5,16,46,.08) 40%, rgba(5,16,46,.35) 100%) !important; }
.el-page .wp-block-cover.el-hero-cover.el-hero-panel .wp-block-cover__inner-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.el-page .el-hero-panel .el-panel-card { background: var(--el-navy); padding: 40px 44px; max-width: 600px; border-radius: 4px; margin-bottom: -64px; position: relative; box-shadow: 0 30px 60px rgba(5,16,46,.35); }
.el-page .el-hero-panel h1 { font-size: clamp(34px, 4.4vw, 54px); margin: 6px 0 22px; }
.el-page .el-hero-panel .el-panel-card p.el-kicker-block { margin-bottom: 4px; }
.el-page .el-hero-panel .el-arrow-cta { display: inline-block; color: #fff; font-weight: 700; font-size: 17px; text-decoration: none; border-bottom: 2px solid var(--el-gold); padding-bottom: 6px; }
.el-page .el-hero-panel .el-arrow-cta:after { content: " \2192"; color: var(--el-gold); }
.el-page .el-hero-panel .el-arrow-cta:hover { color: var(--el-gold); }
.el-page .el-hero-panel + .wp-block-group.el-sec { padding-top: 150px; }
@media (max-width: 640px) { .el-page .el-hero-panel .el-panel-card { padding: 28px; margin-bottom: -40px; } }
