/* ============================================================
   v1.1.0 — typography refinements + form components + page-hero
   Loaded after redesign.css (cascades on top).
   ============================================================ */

/* ---- typography pass ---- */
body.gcc-redesigned {
	font-size: 17px;
	line-height: 1.7;
}
body.gcc-redesigned p { margin: 0 0 1.1em; }
body.gcc-redesigned h1, body.gcc-redesigned h2, body.gcc-redesigned h3, body.gcc-redesigned h4 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--gcc-navy);
	line-height: 1.2;
}
body.gcc-redesigned h1 { font-size: clamp(30px, 4vw, 44px); margin: 0.6em 0 0.5em; font-weight: 900; }
body.gcc-redesigned h2 { font-size: clamp(24px, 3vw, 32px); margin: 1.2em 0 0.45em; }
body.gcc-redesigned h3 { font-size: clamp(20px, 2.4vw, 24px); margin: 1.1em 0 0.4em; font-weight: 700; }
body.gcc-redesigned h4 { font-size: 18px; margin: 1em 0 0.35em; font-weight: 700; }

/* Improve readability inside Thrive-built sub-page content too */
body.gcc-redesigned .gcc-site-main p,
body.gcc-redesigned .gcc-site-main li {
	font-size: 17px;
	line-height: 1.7;
}
body.gcc-redesigned .gcc-site-main ul,
body.gcc-redesigned .gcc-site-main ol {
	margin: 0 0 1.2em 1.4em;
	padding: 0;
}
body.gcc-redesigned .gcc-site-main li { margin-bottom: 0.4em; }
body.gcc-redesigned .gcc-site-main a {
	color: var(--gcc-blue);
	border-bottom: 1px solid rgba(30, 115, 190, 0.3);
	transition: 0.15s;
}
body.gcc-redesigned .gcc-site-main a:hover {
	color: var(--gcc-magenta);
	border-bottom-color: var(--gcc-magenta);
	text-decoration: none;
}

/* ---- generic page hero (used on /need-prayer/, /contact/, future sub-pages) ---- */
.gcc-page-hero {
	background: linear-gradient(135deg, var(--gcc-navy) 0%, #172A40 100%);
	color: var(--gcc-white);
	padding: 64px 0 56px;
	position: relative;
	overflow: hidden;
}
.gcc-page-hero::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 64px;
	background: linear-gradient(180deg,
		var(--gcc-red) 0%, var(--gcc-red) 32%, transparent 32% 38%,
		var(--gcc-blue) 38%, var(--gcc-blue) 70%, transparent 70% 76%,
		var(--gcc-yellow) 76%, var(--gcc-yellow) 100%);
	opacity: 0.85;
	clip-path: polygon(0 0, 100% 8%, 90% 50%, 100% 92%, 0 100%);
}
.gcc-page-hero .gcc-container { position: relative; padding-left: 80px; }
.gcc-page-hero-eyebrow {
	font-size: 12px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--gcc-yellow);
	font-weight: 700;
	margin-bottom: 14px;
}
body.gcc-redesigned .gcc-page-hero-title,
.gcc-page-hero-title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: clamp(34px, 5vw, 56px);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--gcc-white);
	margin: 0 0 18px;
}
.gcc-page-hero-lede {
	font-size: 18px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.86);
	max-width: 64ch;
	margin: 0;
}

/* ---- generic page body ---- */
.gcc-page-body { padding: 60px 0 80px; background: var(--gcc-white); }

/* ---- forms (shared) ---- */
.gcc-form {
	background: var(--gcc-white);
	border: 1px solid var(--gcc-grey-mid);
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 4px 18px -8px rgba(13, 27, 42, 0.12);
}
.gcc-form-heading {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 22px;
	color: var(--gcc-navy);
	margin: 0 0 22px;
}
.gcc-form-row { display: flex; flex-direction: column; margin-bottom: 18px; }
.gcc-form-row label {
	font-size: 13px;
	font-weight: 700;
	color: var(--gcc-navy);
	margin-bottom: 6px;
	letter-spacing: 0.02em;
}
.gcc-form-row .optional { color: var(--gcc-ink-soft); font-weight: 500; font-size: 12px; margin-left: 4px; }
.gcc-form-row .required { color: var(--gcc-red); font-weight: 700; }
.gcc-form-row input,
.gcc-form-row select,
.gcc-form-row textarea {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 1.45;
	padding: 12px 14px;
	border: 1.5px solid var(--gcc-grey-mid);
	border-radius: 8px;
	background: var(--gcc-grey);
	color: var(--gcc-ink);
	transition: 0.15s;
	width: 100%;
	box-sizing: border-box;
}
.gcc-form-row input:focus,
.gcc-form-row select:focus,
.gcc-form-row textarea:focus {
	outline: none;
	border-color: var(--gcc-blue);
	background: var(--gcc-white);
	box-shadow: 0 0 0 3px rgba(30, 115, 190, 0.15);
}
.gcc-form-row textarea { resize: vertical; min-height: 100px; }
.gcc-form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.gcc-form-checks {
	border: none;
	padding: 14px 0 4px;
	margin: 0 0 18px;
}
.gcc-form-checks legend {
	font-size: 13px;
	font-weight: 700;
	color: var(--gcc-navy);
	letter-spacing: 0.02em;
	margin-bottom: 10px;
	padding: 0;
}
.gcc-form-checks label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14.5px;
	color: var(--gcc-ink);
	font-weight: 500;
	padding: 6px 0;
	cursor: pointer;
}
.gcc-form-checks input[type="checkbox"] {
	accent-color: var(--gcc-blue);
	width: 18px;
	height: 18px;
	margin-top: 2px;
	flex-shrink: 0;
}

.gcc-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.gcc-form-submit { margin-top: 8px; }

.gcc-form-status {
	margin-top: 14px;
	font-size: 14.5px;
	min-height: 1.4em;
}
.gcc-form-status.success { color: var(--gcc-green); font-weight: 600; }
.gcc-form-status.error { color: var(--gcc-red); font-weight: 600; }

/* ---- prayer page layout ---- */
.gcc-prayer-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: start; }
.gcc-prayer-aside { display: flex; flex-direction: column; gap: 18px; }
.gcc-prayer-card {
	background: var(--gcc-grey);
	border-radius: 10px;
	padding: 22px 24px;
}
.gcc-prayer-card h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 17px;
	color: var(--gcc-navy);
	margin: 0 0 10px;
}
.gcc-prayer-card p,
.gcc-prayer-card ol,
.gcc-prayer-card li { font-size: 14.5px; line-height: 1.6; color: var(--gcc-ink); margin: 0 0 10px; }
.gcc-prayer-card ol { padding-left: 22px; }
.gcc-prayer-card-crisis {
	background: #FFF1F1;
	border-left: 4px solid var(--gcc-red);
}
.gcc-prayer-card-crisis h3 { color: var(--gcc-red); }
.gcc-prayer-card-quiet {
	background: #FFF8E1;
	border-left: 4px solid var(--gcc-yellow);
}

/* ---- contact page layout ---- */
.gcc-contact-grid-2col { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: start; }
.gcc-contact-info { display: flex; flex-direction: column; gap: 18px; }
.gcc-contact-info-card {
	background: var(--gcc-grey);
	border-radius: 12px;
	padding: 28px;
}
.gcc-contact-info-card h2 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 20px;
	color: var(--gcc-navy);
	margin: 0 0 18px;
}
.gcc-contact-info-list { list-style: none; padding: 0; margin: 0; }
.gcc-contact-info-list .ci {
	display: flex;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--gcc-grey-mid);
}
.gcc-contact-info-list .ci:last-child { border-bottom: none; }
.gcc-contact-info-list .ci > svg { flex-shrink: 0; margin-top: 2px; }
.gcc-contact-info-list .ci.pin > svg { fill: var(--gcc-red); }
.gcc-contact-info-list .ci.phone-office > svg { fill: var(--gcc-green); }
.gcc-contact-info-list .ci.phone-sms > svg { fill: var(--gcc-blue); }
.gcc-contact-info-list .ci.mail > svg { fill: var(--gcc-blue); }
.gcc-contact-info-list .ci.sunday > svg { fill: var(--gcc-yellow); }
.gcc-contact-info-list .ci.socials > svg { fill: var(--gcc-magenta); }
.gcc-contact-info-list .ci > div { display: flex; flex-direction: column; gap: 2px; }
.gcc-contact-info-list strong { font-size: 14.5px; font-weight: 800; color: var(--gcc-navy); letter-spacing: 0.02em; }
.gcc-contact-info-list span { font-size: 14px; color: var(--gcc-ink-soft); line-height: 1.45; }
.gcc-contact-info-list span.when { font-size: 12.5px; opacity: 0.85; }
.gcc-contact-info-list a.gcc-link { font-size: 14px; color: var(--gcc-blue); border-bottom: 0; font-weight: 600; }
.gcc-contact-info-list a.gcc-link:hover { color: var(--gcc-magenta); text-decoration: none; }

.gcc-contact-map {
	background: var(--gcc-grey);
	border-radius: 12px;
	overflow: hidden;
}
.gcc-contact-map-links {
	margin-top: 10px;
	font-size: 13px;
	color: var(--gcc-text-soft, #4a5566);
	text-align: center;
}
.gcc-contact-map-links a {
	color: var(--gcc-blue, #1e73be);
	text-decoration: none;
	border-bottom: 1px solid rgba(30, 115, 190, 0.3);
}
.gcc-contact-map-links a:hover {
	color: var(--gcc-magenta, #c2185b);
	border-bottom-color: var(--gcc-magenta, #c2185b);
}

/* ---- mobile ---- */
@media (max-width: 920px) {
	.gcc-prayer-grid,
	.gcc-contact-grid-2col { grid-template-columns: 1fr; }
	.gcc-form-grid-2 { grid-template-columns: 1fr; }
	.gcc-page-hero { padding: 48px 0 40px; }
	.gcc-page-hero .gcc-container { padding-left: 24px; }
	.gcc-page-hero::before { width: 16px; }
}
@media (max-width: 540px) {
	.gcc-form { padding: 22px 18px; }
}

/* ============================================================
   v1.2.0 — Plan Your Visit page
   ============================================================ */

/* timeline */
.gcc-visit-timeline {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 14px;
}
.gcc-visit-timeline li {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 20px;
	background: var(--gcc-grey);
	border-radius: 10px;
	padding: 18px 22px;
	border-left: 4px solid var(--gcc-yellow);
}
.gcc-visit-timeline li:nth-child(2) { border-left-color: var(--gcc-blue); }
.gcc-visit-timeline li:nth-child(3) { border-left-color: var(--gcc-red); }
.gcc-visit-timeline li:nth-child(4) { border-left-color: var(--gcc-green); }
.gcc-visit-timeline li:nth-child(5) { border-left-color: var(--gcc-magenta); }
.gcc-visit-timeline .time {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 17px;
	color: var(--gcc-navy);
	letter-spacing: -0.01em;
}
.gcc-visit-timeline strong {
	display: block;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 16px;
	color: var(--gcc-navy);
	margin-bottom: 4px;
}
.gcc-visit-timeline p {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--gcc-ink-soft);
	margin: 0;
}

/* the basics + kids grid */
.gcc-visit-basics-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.gcc-visit-basics-card {
	background: var(--gcc-grey);
	border-radius: 12px;
	padding: 28px;
}
.gcc-visit-basics-card h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 20px;
	color: var(--gcc-navy);
	margin: 0 0 18px;
}
.gcc-visit-basics-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.gcc-visit-basics-list li {
	display: flex;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--gcc-grey-mid);
}
.gcc-visit-basics-list li:last-child { border-bottom: none; }
.gcc-visit-basics-list li > svg { flex-shrink: 0; margin-top: 2px; fill: var(--gcc-navy); }
.gcc-visit-basics-list li > div { display: flex; flex-direction: column; gap: 2px; }
.gcc-visit-basics-list strong {
	font-size: 14.5px;
	font-weight: 800;
	color: var(--gcc-navy);
	letter-spacing: 0.02em;
}
.gcc-visit-basics-list span {
	font-size: 14px;
	color: var(--gcc-ink-soft);
	line-height: 1.45;
}
.gcc-visit-basics-list a.gcc-link {
	font-size: 14px;
	color: var(--gcc-blue);
	font-weight: 600;
	border-bottom: 0;
}
.gcc-visit-basics-list a.gcc-link:hover { color: var(--gcc-magenta); }

.gcc-visit-kids {
	background: #FFF8E1;
	border-left: 4px solid var(--gcc-yellow);
}
.gcc-visit-kids p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--gcc-ink);
	margin: 0 0 10px;
}

/* honest expectations */
.gcc-visit-expect {
	background: var(--gcc-grey);
	padding: 64px 0;
}
.gcc-visit-expect-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
.gcc-visit-expect-card {
	background: var(--gcc-white);
	border-radius: 10px;
	padding: 22px 24px;
	border-top: 4px solid var(--gcc-magenta);
}
.gcc-visit-expect-card:nth-child(2) { border-top-color: var(--gcc-blue); }
.gcc-visit-expect-card:nth-child(3) { border-top-color: var(--gcc-yellow); }
.gcc-visit-expect-card:nth-child(4) { border-top-color: var(--gcc-green); }
.gcc-visit-expect-card .hd {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 8px;
}
.gcc-visit-expect-card .num {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 22px;
	color: var(--gcc-ink-soft);
	opacity: 0.5;
	letter-spacing: -0.01em;
}
.gcc-visit-expect-card h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 17px;
	color: var(--gcc-navy);
	margin: 0;
	line-height: 1.25;
}
.gcc-visit-expect-card p {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--gcc-ink);
	margin: 0;
}

/* leadership card */
.gcc-leader-card {
	background: var(--gcc-grey);
	border-radius: 12px;
	padding: 28px 32px;
	max-width: 760px;
	margin: 0 auto;
	border-left: 4px solid var(--gcc-magenta);
}
.gcc-leader-card p {
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--gcc-ink);
	margin: 0 0 12px;
}
.gcc-leader-card p:last-child { margin-bottom: 0; }
.gcc-leader-card strong { color: var(--gcc-navy); }

/* FAQ accordion */
.gcc-faq {
	display: grid;
	gap: 12px;
	max-width: 800px;
	margin: 0 auto;
}
.gcc-faq details {
	background: var(--gcc-white);
	border-radius: 10px;
	padding: 16px 22px;
	border-left: 4px solid var(--gcc-blue);
	transition: 0.15s;
}
.gcc-faq details[open] {
	border-left-color: var(--gcc-magenta);
	box-shadow: 0 4px 18px -8px rgba(13, 27, 42, 0.15);
}
.gcc-faq summary {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--gcc-navy);
	cursor: pointer;
	padding: 4px 0;
	list-style: none;
	position: relative;
	padding-right: 30px;
}
.gcc-faq summary::-webkit-details-marker { display: none; }
.gcc-faq summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 700;
	color: var(--gcc-magenta);
	transition: 0.15s;
}
.gcc-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.gcc-faq details p {
	margin: 10px 0 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--gcc-ink);
}

/* mobile */
@media (max-width: 920px) {
	.gcc-visit-timeline li { grid-template-columns: 1fr; gap: 4px; }
	.gcc-visit-basics-grid { grid-template-columns: 1fr; }
	.gcc-visit-expect-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Sitewide typography overlay (v1.2.2)
   ------------------------------------------------------------
   Snaps every legacy page (about-us, mandate, salvation, etc.)
   onto the brand type scale without touching page layout.

   The parent Ignition theme forces:
     .cnt article p   { color:#555555 }
     .cnt             { font-size:13px }
     .bSe h1..h6      { font-family: Open Sans }
     .bSe h1          { font-size:33px }
   ...and Thrive Architect inherits those for its .thrv_text_element widgets.
   We win on specificity by chaining body.gcc-redesigned with Ignition's own
   structural classes, and only use !important where Ignition uses an inline
   color: declaration we have to displace.

   Touched: font-family, font-size, color, link colour, heading weight.
   Untouched: margin, padding, backgrounds, decorative blocks, hero zones,
   Thrive's per-element data-css rules (so existing layouts keep working).
   ============================================================ */

/* Body text — beats .cnt { font-size:13px } and .cnt article p { color:#555555 } */
body.gcc-redesigned .gcc-site-main .wrp.cnt,
body.gcc-redesigned .gcc-site-main .bSe,
body.gcc-redesigned .gcc-site-main .awr {
	font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: #1d2a3a;
}

body.gcc-redesigned .gcc-site-main .cnt p,
body.gcc-redesigned .gcc-site-main .bSe p,
body.gcc-redesigned .gcc-site-main .thrv_text_element p,
body.gcc-redesigned .gcc-site-main .thrv_paste_content p {
	font-family: inherit;
	font-size: 17px;
	line-height: 1.7;
	color: #1d2a3a !important; /* Ignition forces #555555 via color: */
}

body.gcc-redesigned .gcc-site-main .cnt li,
body.gcc-redesigned .gcc-site-main .bSe li,
body.gcc-redesigned .gcc-site-main .thrv_text_element li {
	font-family: inherit;
	font-size: 17px;
	line-height: 1.65;
	color: #1d2a3a !important;
}

/* Headings — beats .bSe h1..h6 { font-family:Open Sans; color:#555555 } */
body.gcc-redesigned .gcc-site-main .bSe h1,
body.gcc-redesigned .gcc-site-main .bSe h2,
body.gcc-redesigned .gcc-site-main .bSe h3,
body.gcc-redesigned .gcc-site-main .bSe h4,
body.gcc-redesigned .gcc-site-main .bSe h5,
body.gcc-redesigned .gcc-site-main .bSe h6,
body.gcc-redesigned .gcc-site-main .thrv_text_element h1,
body.gcc-redesigned .gcc-site-main .thrv_text_element h2,
body.gcc-redesigned .gcc-site-main .thrv_text_element h3,
body.gcc-redesigned .gcc-site-main .thrv_text_element h4,
body.gcc-redesigned .gcc-site-main .thrv_text_element h5,
body.gcc-redesigned .gcc-site-main .thrv_text_element h6 {
	font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
	color: var(--gcc-navy, #0D1B2A) !important;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

body.gcc-redesigned .gcc-site-main .bSe h1,
body.gcc-redesigned .gcc-site-main .thrv_text_element h1 {
	font-size: clamp(28px, 3.6vw, 40px) !important; /* beats Ignition's 33px */
	font-weight: 900;
	margin: 0.5em 0 0.5em;
}
body.gcc-redesigned .gcc-site-main .bSe h2,
body.gcc-redesigned .gcc-site-main .thrv_text_element h2 {
	font-size: clamp(22px, 2.8vw, 30px) !important;
	font-weight: 800;
	margin: 1.1em 0 0.4em;
}
body.gcc-redesigned .gcc-site-main .bSe h3,
body.gcc-redesigned .gcc-site-main .thrv_text_element h3 {
	font-size: clamp(19px, 2.2vw, 23px) !important;
	font-weight: 700;
	margin: 1em 0 0.35em;
}
body.gcc-redesigned .gcc-site-main .bSe h4,
body.gcc-redesigned .gcc-site-main .thrv_text_element h4 {
	font-size: clamp(17px, 1.8vw, 19px) !important;
	font-weight: 700;
	margin: 0.9em 0 0.3em;
}

/* Inline links — switch from theme default to brand blue with subtle underline */
body.gcc-redesigned .gcc-site-main .bSe a:not(.gcc-btn):not(.gcc-cta):not(.tcb-button-link),
body.gcc-redesigned .gcc-site-main .cnt a:not(.gcc-btn):not(.gcc-cta):not(.tcb-button-link),
body.gcc-redesigned .gcc-site-main .thrv_text_element a {
	color: var(--gcc-blue, #1e73be);
	border-bottom: 1px solid rgba(30, 115, 190, 0.3);
	transition: color 0.15s, border-color 0.15s;
	text-decoration: none;
}
body.gcc-redesigned .gcc-site-main .bSe a:not(.gcc-btn):not(.gcc-cta):not(.tcb-button-link):hover,
body.gcc-redesigned .gcc-site-main .cnt a:not(.gcc-btn):not(.gcc-cta):not(.tcb-button-link):hover,
body.gcc-redesigned .gcc-site-main .thrv_text_element a:hover {
	color: var(--gcc-magenta, #c2185b);
	border-bottom-color: var(--gcc-magenta, #c2185b);
}

/* WordPress entry title (the dup page title above content on legacy pages) */
body.gcc-redesigned .gcc-site-main .bSe .entry-title,
body.gcc-redesigned .gcc-site-main .bSe h1.entry-title {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 800;
	color: var(--gcc-navy, #0D1B2A) !important;
	font-size: clamp(26px, 3vw, 34px) !important;
	letter-spacing: -0.01em;
	margin: 0.4em 0 0.6em;
	text-transform: none;
}

/* Mobile — slightly smaller body so it doesn't crush */
@media (max-width: 600px) {
	body.gcc-redesigned .gcc-site-main .cnt p,
	body.gcc-redesigned .gcc-site-main .bSe p,
	body.gcc-redesigned .gcc-site-main .thrv_text_element p {
		font-size: 16.5px;
		line-height: 1.65;
	}
}

/* ============================================================
   Defensive button + nav + badge rules (v1.2.4)
   ------------------------------------------------------------
   Ignition's parent theme inserts inline rules with selectors
   like .bSe a, .cnt a, .cnt img, header ul.menu > li > a:hover
   that beat our base button/nav/badge styles on specificity and
   override colour or dimensions. We re-assert with chained
   selectors that win at 0,3,1+ specificity.
   ============================================================ */

/* Hero + ministry CTA buttons — colour locked in both rest + hover states.
   body + .gcc-btn + colour modifier = 0,3,0 specificity, beats Ignition's .bSe a (0,1,1). */
body.gcc-redesigned a.gcc-btn-yellow,
body.gcc-redesigned a.gcc-btn-yellow:hover,
body.gcc-redesigned a.gcc-btn-yellow:focus,
body.gcc-redesigned a.gcc-btn-yellow:visited {
	color: var(--gcc-navy) !important;
	text-decoration: none;
	border-bottom: 0;
}
body.gcc-redesigned a.gcc-btn-blue,
body.gcc-redesigned a.gcc-btn-blue:hover,
body.gcc-redesigned a.gcc-btn-blue:focus,
body.gcc-redesigned a.gcc-btn-blue:visited {
	color: var(--gcc-white) !important;
	text-decoration: none;
	border-bottom: 0;
}
body.gcc-redesigned a.gcc-btn-red,
body.gcc-redesigned a.gcc-btn-red:hover,
body.gcc-redesigned a.gcc-btn-red:focus,
body.gcc-redesigned a.gcc-btn-red:visited {
	color: var(--gcc-white) !important;
	text-decoration: none;
	border-bottom: 0;
}
body.gcc-redesigned a.gcc-btn-green,
body.gcc-redesigned a.gcc-btn-green:hover,
body.gcc-redesigned a.gcc-btn-green:focus,
body.gcc-redesigned a.gcc-btn-green:visited {
	color: var(--gcc-white) !important;
	text-decoration: none;
	border-bottom: 0;
}

/* Header nav links — Ignition's `header ul.menu > li > a:hover { color:#34495e }`
   matches if anything in our header markup ever has class="menu", and the slate
   would be invisible against our navy header. Lock white + yellow-on-hover.
   IMPORTANT: scoped to `:not(.gcc-mnav-on)` on body so the mobile-drawer rules
   below can override without a specificity arms race. */
body.gcc-redesigned:not(.gcc-mnav-on) .gcc-site-header .gcc-primary > ul > li > a,
body.gcc-redesigned:not(.gcc-mnav-on) .gcc-site-header .gcc-primary > ul > li > a:visited {
	color: var(--gcc-white) !important;
}
body.gcc-redesigned:not(.gcc-mnav-on) .gcc-site-header .gcc-primary > ul > li > a:hover,
body.gcc-redesigned:not(.gcc-mnav-on) .gcc-site-header .gcc-primary > ul > li > a:focus,
body.gcc-redesigned:not(.gcc-mnav-on) .gcc-site-header .gcc-primary > ul > li.active > a {
	color: var(--gcc-yellow) !important;
	border-bottom-color: var(--gcc-yellow);
}

/* Hero badge — re-assert dimensions over Ignition's .cnt img { max-width:100%; height:auto }.
   Also let it overflow the hero-photo container so a slightly larger badge can sit
   half-inside, half-outside the photo (the intended "sticker" look). */
body.gcc-redesigned .gcc-hero-photo {
	overflow: visible;
}
body.gcc-redesigned img.gcc-hero-badge {
	width: 140px !important;
	height: 140px !important;
	max-width: 140px !important;
	min-width: 0 !important;
	right: 20px;
	bottom: 20px;
	object-fit: contain;
}
@media (max-width: 920px) {
	body.gcc-redesigned img.gcc-hero-badge {
		width: 110px !important;
		height: 110px !important;
		max-width: 110px !important;
		right: 14px;
		bottom: 14px;
	}
}
@media (max-width: 600px) {
	body.gcc-redesigned img.gcc-hero-badge {
		width: 90px !important;
		height: 90px !important;
		max-width: 90px !important;
		right: 10px;
		bottom: 10px;
	}
}

/* ============================================================
   Cloudflare Turnstile widget container (v1.2.8)
   ============================================================ */
.gcc-turnstile {
	margin: 16px 0 12px;
	min-height: 65px; /* reserve space so layout doesn't jump as widget loads */
}
.gcc-turnstile iframe {
	border-radius: 8px;
}
/* Widget gets a subtle outline before it renders so it doesn't look broken */
.gcc-turnstile:empty {
	background: rgba(11, 31, 58, 0.03);
	border: 1px dashed rgba(11, 31, 58, 0.15);
	border-radius: 8px;
}

/* ============================================================
   Hero text colour fixes (homepage, v1.3.3)
   ------------------------------------------------------------
   The sitewide typography overlay forces all .bSe h1/h2 to
   navy. The home hero is inside .bSe (Ignition's body section)
   but rendered on a dark navy panel — so navy text on navy
   background → invisible. Re-assert hero colours at a higher
   specificity to win.
   ============================================================ */
body.gcc-redesigned .gcc-site-main .bSe .gcc-hero-h1,
body.gcc-redesigned .gcc-hero .gcc-hero-h1,
body .gcc-hero .gcc-hero-h1 {
	color: var(--gcc-white, #fff) !important;
}
body.gcc-redesigned .gcc-site-main .bSe .gcc-news,
body.gcc-redesigned .gcc-hero .gcc-news {
	color: var(--gcc-red, #E31E24) !important;
}
body.gcc-redesigned .gcc-site-main .bSe .gcc-hope-line,
body.gcc-redesigned .gcc-hero .gcc-hope-line {
	color: var(--gcc-white, #fff) !important;
}
body.gcc-redesigned .gcc-site-main .bSe .gcc-hero-h2,
body.gcc-redesigned .gcc-hero .gcc-hero-h2,
body .gcc-hero .gcc-hero-h2 {
	color: var(--gcc-yellow, #FFC107) !important;
}

/* Brand lockup image in header (v1.3.7) */
.gcc-brand-lockup-img {
	display: block;
	height: auto;
	width: 220px;
	max-width: 100%;
}
@media (max-width: 720px) {
	.gcc-brand-lockup-img { width: 170px; }
}
@media (max-width: 400px) {
	.gcc-brand-lockup-img { width: 140px; }
}

/* ============================================================
   Mobile menu — SIDE DRAWER (v1.3.11)
   ------------------------------------------------------------
   Inspired by mobcater.com's mobile menu pattern. Replaces the
   full-screen overlay attempt from v1.3.10 (which David found
   too aggressive and the dark navy contrast was reading dim
   somehow on Edge mobile).

   Pattern:
   - Tap MENU → drawer slides in from the LEFT (~85% screen, max 360px)
   - WHITE background, NAVY text → super-high contrast, no chance of
     "washing out" because we're not fighting white-on-dark gradients
   - Page content stays visible on the right side, dimmed behind a
     semi-transparent black overlay
   - Tap the dimmed area or the X button to close

   Body class `gcc-mnav-on` scopes everything so no cascade collisions.
   ============================================================ */

/* Lock page scroll when drawer is open */
body.gcc-mnav-on {
	overflow: hidden !important;
}

/* Dimmed page overlay — confined to the area RIGHT of the drawer. The drawer
   is up to 360px wide (responsive max-width). Putting the overlay full-viewport
   resulted in a faint dim being visible THROUGH the drawer in some browsers,
   which David read as "shadow on the left" — fixed by clipping the overlay
   to start where the drawer ends. */
body.gcc-mnav-on::before {
	content: "" !important;
	position: fixed !important;
	top: 0 !important;
	left: 85% !important;
	right: 0 !important;
	bottom: 0 !important;
	background: rgba(13, 27, 42, 0.55) !important;
	z-index: 9998 !important;
	cursor: pointer !important;
}
@media (min-width: 425px) {
	body.gcc-mnav-on::before {
		left: 360px !important;
	}
}

/* The drawer itself — FULL HEIGHT viewport so there's no bright/dark contrast
   strip below the menu items. Earlier "height: auto" exposed the regular page
   content below the last menu item which read as a "shadow on the left."
   Drawer is now 100vh; if the menu list is shorter than that, the rest of the
   drawer is just white space. Slides in from the left. */
body.gcc-mnav-on .gcc-primary,
html body.gcc-mnav-on .gcc-primary,
body.gcc-redesigned.gcc-mnav-on .gcc-primary {
	display: block !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 85% !important;
	max-width: 360px !important;
	height: 100vh !important;
	max-height: 100vh !important;
	background: #FFFFFF !important;
	background-color: #FFFFFF !important;
	z-index: 9999 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	box-shadow: none !important;
	border: 0 !important;
	outline: 0 !important;
	animation: gccMnavSlide 0.22s ease-out !important;
}

@keyframes gccMnavSlide {
	from { transform: translateX(-100%); }
	to   { transform: translateX(0); }
}

/* Drawer header band — site name + close button */
body.gcc-mnav-on .gcc-primary::before {
	content: "MENU" !important;
	display: block !important;
	padding: 18px 24px !important;
	background: #0D1B2A !important;
	color: #FFFFFF !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	border-bottom: 4px solid #FFC107 !important;
}

/* The UL inside */
body.gcc-mnav-on .gcc-primary > ul,
html body.gcc-mnav-on .gcc-primary > ul {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}
body.gcc-mnav-on .gcc-primary li,
html body.gcc-mnav-on .gcc-primary li {
	list-style: none !important;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
}
body.gcc-mnav-on .gcc-primary li::marker {
	content: "" !important;
	display: none !important;
}

/* Top-level rows — dark text on white */
body.gcc-mnav-on .gcc-primary > ul > li,
html body.gcc-mnav-on .gcc-primary > ul > li {
	border-bottom: 1px solid #EDEEF2 !important;
}
body.gcc-mnav-on .gcc-primary > ul > li > a,
html body.gcc-mnav-on .gcc-primary > ul > li > a,
body.gcc-mnav-on .gcc-primary > ul > li > a:link,
body.gcc-mnav-on .gcc-primary > ul > li > a:visited {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 15px 22px !important;
	color: #0D1B2A !important;
	background: #FFFFFF !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border: 0 !important;
	border-bottom: 0 !important;
	opacity: 1 !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}
body.gcc-mnav-on .gcc-primary > ul > li > a:hover,
body.gcc-mnav-on .gcc-primary > ul > li > a:focus,
body.gcc-mnav-on .gcc-primary > ul > li > a:active {
	color: #E31E24 !important;
	background: #F8F9FB !important;
}
body.gcc-mnav-on .gcc-primary > ul > li.current-menu-item > a,
body.gcc-mnav-on .gcc-primary > ul > li.current-menu-parent > a,
body.gcc-mnav-on .gcc-primary > ul > li.active > a {
	color: #E31E24 !important;
}

/* Chevron in nav-link gets a dark colour on the drawer */
body.gcc-mnav-on .gcc-primary .gcc-chev {
	color: #6B7588 !important;
	transition: transform 0.15s !important;
}
body.gcc-mnav-on .gcc-primary li.has-children.open > a .gcc-chev {
	transform: rotate(180deg) !important;
}

/* Submenu — light grey background, indented, only when parent .open */
body.gcc-mnav-on .gcc-primary .gcc-subnav,
html body.gcc-mnav-on .gcc-primary .gcc-subnav {
	position: static !important;
	display: none !important;
	background: #F4F6FA !important;
	box-shadow: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 4px 0 6px !important;
	margin: 0 !important;
	width: 100% !important;
	list-style: none !important;
}
body.gcc-mnav-on .gcc-primary li.has-children.open > .gcc-subnav,
body.gcc-mnav-on .gcc-primary li.has-children:focus-within > .gcc-subnav,
html body.gcc-mnav-on .gcc-primary li.has-children.open > .gcc-subnav {
	display: block !important;
}
body.gcc-mnav-on .gcc-primary .gcc-subnav li a,
html body.gcc-mnav-on .gcc-primary .gcc-subnav li a,
body.gcc-mnav-on .gcc-primary .gcc-subnav li a:link,
body.gcc-mnav-on .gcc-primary .gcc-subnav li a:visited {
	display: block !important;
	padding: 11px 22px 11px 42px !important;
	color: #1d2a3a !important;
	background: transparent !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	border: 0 !important;
	opacity: 1 !important;
	-webkit-font-smoothing: antialiased !important;
}
body.gcc-mnav-on .gcc-primary .gcc-subnav li a:hover,
body.gcc-mnav-on .gcc-primary .gcc-subnav li a:focus {
	color: #E31E24 !important;
	background: rgba(227, 30, 36, 0.06) !important;
}
body.gcc-mnav-on .gcc-primary .gcc-subnav li.current-menu-item a {
	color: #E31E24 !important;
	font-weight: 700 !important;
}

/* Close button — top-right of the drawer, navy circle with white X */
body.gcc-mnav-on .gcc-menu-toggle {
	position: fixed !important;
	top: 14px !important;
	right: 12px !important;
	z-index: 10001 !important;
	background: #FFFFFF !important;
	color: #0D1B2A !important;
	border: 2px solid #0D1B2A !important;
	font-weight: 800 !important;
	padding: 6px 14px !important;
	font-size: 12px !important;
	border-radius: 999px !important;
}

/* Header bar stays visible above the dim overlay (logo still in view) */
body.gcc-mnav-on .gcc-site-header {
	z-index: 9997 !important;
	position: relative !important;
}

/* OLD v1.3.8/v1.3.9 mobile menu block REMOVED in v1.3.12 — it was using
   `body.gcc-redesigned .gcc-primary.open` (specificity 0,4,3) and forcing
   white-on-white because the v1.3.11 side-drawer rules above (specificity
   0,3,3) couldn't beat them. The side-drawer rules above are now the
   single source of truth for the mobile menu. */

/* Hide the sticky "Plan Your Visit" CTA on mobile — redundant with hero CTAs */
@media (max-width: 920px) {
	body.gcc-redesigned .gcc-cta-visit { display: none !important; }
}

/* Compact hero layout per brand-pack target (v1.3.6) */
body.gcc-redesigned .gcc-hero .gcc-hero-h1,
.gcc-hero-h1 {
	line-height: 0.95 !important;
	margin: 0 0 8px !important;
}
.gcc-hero-h1 .gcc-hero-the,
body.gcc-redesigned .gcc-hero .gcc-hero-the {
	color: var(--gcc-white, #fff) !important;
	display: block;
	font-size: 0.42em;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0 0 -2px;
}
.gcc-hero-h1 .gcc-hero-good-row {
	display: block;
	white-space: nowrap;
	line-height: 0.95;
}
.gcc-hero-h1 .gcc-hero-good,
body.gcc-redesigned .gcc-hero .gcc-hero-good {
	color: var(--gcc-yellow, #FFC107) !important;
	display: inline-block;
	font-weight: 900;
	font-size: 1em;
	letter-spacing: -0.02em;
	line-height: 0.95;
	text-shadow: 0 3px 0 rgba(13, 27, 42, 0.22);
	vertical-align: baseline;
}

/* Tighten the rest of the hero stack — closer to the brand-pack target.
   Reduces vertical space between hope-pill, h2, tagline + CTA row. */
body.gcc-redesigned .gcc-hero .gcc-hope-line {
	margin: 10px 0 12px !important;
}
body.gcc-redesigned .gcc-hero .gcc-hero-h2 {
	margin: 0 0 6px !important;
	line-height: 1 !important;
}
body.gcc-redesigned .gcc-hero .gcc-hero-tagline {
	margin: 4px 0 16px !important;
	line-height: 1.15 !important;
}
body.gcc-redesigned .gcc-hero .gcc-hero-cta-row {
	margin-top: 4px;
}
body.gcc-redesigned .gcc-site-main .bSe .gcc-hero-tagline,
body.gcc-redesigned .gcc-hero .gcc-hero-tagline,
body.gcc-redesigned .gcc-site-main .bSe p.gcc-hero-tagline {
	color: var(--gcc-yellow, #FFC107) !important;
}

/* ============================================================
   Free Healing card — purple → yellow (v1.3.3)
   David asked for yellow to match the brand palette better.
   On yellow background, text needs to be navy (was white).
   ============================================================ */
body.gcc-redesigned .gcc-dual-healing {
	background: linear-gradient(135deg, #FFE08A 0%, var(--gcc-yellow, #FFC107) 100%) !important;
	color: var(--gcc-navy, #0D1B2A) !important;
}
body.gcc-redesigned .gcc-dual-healing .lead {
	color: var(--gcc-red, #E31E24) !important;
}
body.gcc-redesigned .gcc-site-main .bSe .gcc-dual-healing h3,
body.gcc-redesigned .gcc-dual-healing h3,
body .gcc-dual-healing h3 {
	color: var(--gcc-navy, #0D1B2A) !important;
}
body.gcc-redesigned .gcc-dual-healing .sub,
body.gcc-redesigned .gcc-site-main .bSe .gcc-dual-healing p {
	color: var(--gcc-navy, #0D1B2A) !important;
	opacity: 0.85;
}
/* SVG icon inside the healing card needs to be navy on yellow */
body.gcc-redesigned .gcc-dual-healing .gcc-dual-icon svg path {
	fill: var(--gcc-navy, #0D1B2A) !important;
}
body.gcc-redesigned .gcc-dual-healing .gcc-dual-icon {
	background: rgba(11, 31, 58, 0.08);
}

/* ============================================================
   Clickable value-prop cards (homepage, v1.2.7)
   ============================================================ */
body.gcc-redesigned a.gcc-value-link {
	text-decoration: none !important;
	color: inherit !important;
	border-bottom: 0 !important;
	transition: transform 0.15s ease;
}
body.gcc-redesigned a.gcc-value-link:hover {
	transform: translateY(-2px);
}
body.gcc-redesigned a.gcc-value-link:hover .gcc-value-text strong {
	color: var(--gcc-blue, #1e73be);
}

/* ============================================================
   Four Foundations cards (homepage, v1.2.6)
   ------------------------------------------------------------
   Repurposes the four-pillar grid as clickable doctrinal cards
   linking to /what-we-believe/, /word-of-god/, /mandate/.
   ============================================================ */
body.gcc-redesigned .gcc-foundations .gcc-pillar-link {
	display: block;
	text-decoration: none !important;
	color: inherit !important;
	border-bottom: 0 !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	cursor: pointer;
}
body.gcc-redesigned .gcc-foundations .gcc-pillar-link:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(11, 31, 58, 0.12);
}
body.gcc-redesigned .gcc-foundations .gcc-pillar-link h3 {
	color: var(--gcc-navy, #0D1B2A) !important;
}
.gcc-pillar-cta {
	display: inline-block;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(11, 31, 58, 0.1);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--gcc-blue, #1e73be);
	transition: color 0.15s, transform 0.15s;
}
body.gcc-redesigned .gcc-foundations .gcc-pillar-link:hover .gcc-pillar-cta {
	color: var(--gcc-magenta, #c2185b);
	transform: translateX(3px);
}

/* ============================================================
   Free Bible request page (v1.2.6)
   ============================================================ */
.gcc-bible-page {
	background: #fafafa;
	padding: 0 0 60px;
}
.gcc-bible-wrap {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 24px;
}
.gcc-bible-card {
	background: #fff;
	border: 1px solid var(--gcc-grey-mid, #e3e3e8);
	border-radius: 14px;
	padding: 36px 40px;
	margin-top: -40px;
	position: relative;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
.gcc-bible-card::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 6px;
	border-radius: 14px 14px 0 0;
	background: linear-gradient(90deg,
		var(--gcc-red) 0%, var(--gcc-red) 33%,
		var(--gcc-blue) 33%, var(--gcc-blue) 66%,
		var(--gcc-yellow) 66%, var(--gcc-yellow) 100%);
}
.gcc-bible-card h2 {
	font-size: clamp(24px, 2.8vw, 30px);
	font-weight: 800;
	color: var(--gcc-navy, #0D1B2A);
	margin: 8px 0 6px;
}
.gcc-bible-card .lede {
	color: var(--gcc-text-soft, #4a5566);
	margin-bottom: 24px;
	font-size: 16px;
	line-height: 1.6;
}
.gcc-bible-card .gcc-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}
.gcc-bible-card .gcc-form-row.full {
	grid-template-columns: 1fr;
}
.gcc-bible-card label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--gcc-navy, #0D1B2A);
	margin-bottom: 6px;
	letter-spacing: 0.02em;
}
.gcc-bible-card label .small {
	font-weight: 400;
	color: var(--gcc-text-soft, #4a5566);
	font-size: 12.5px;
}
.gcc-bible-card input[type=text],
.gcc-bible-card input[type=email],
.gcc-bible-card input[type=tel],
.gcc-bible-card select,
.gcc-bible-card textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--gcc-grey-mid, #e3e3e8);
	border-radius: 8px;
	font-family: inherit;
	font-size: 15px;
	background: #fff;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.gcc-bible-card input:focus,
.gcc-bible-card select:focus,
.gcc-bible-card textarea:focus {
	outline: none;
	border-color: var(--gcc-blue, #1e73be);
	box-shadow: 0 0 0 3px rgba(30, 115, 190, 0.15);
}
.gcc-bible-card textarea { min-height: 92px; resize: vertical; }
.gcc-bible-honeypot { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
.gcc-bible-consent {
	background: #f9f5e8;
	border-left: 4px solid var(--gcc-yellow);
	padding: 14px 18px;
	border-radius: 6px;
	font-size: 13.5px;
	color: var(--gcc-text-soft, #4a5566);
	margin: 18px 0;
	line-height: 1.55;
}
.gcc-bible-consent label {
	font-weight: 400;
	font-size: 13.5px;
	color: var(--gcc-text-soft);
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 8px 0 0;
}
.gcc-bible-consent input[type=checkbox] {
	margin-top: 3px;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}
.gcc-bible-submit-row {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 8px;
	flex-wrap: wrap;
}
.gcc-bible-submit-row .gcc-btn {
	font-size: 15px;
	padding: 12px 26px;
}
.gcc-bible-card .gcc-form-status {
	font-size: 14px;
	margin-top: 6px;
}
.gcc-bible-card .gcc-form-status.pending { color: var(--gcc-text-soft); }
.gcc-bible-card .gcc-form-status.success { color: var(--gcc-green, #2e7d32); }
.gcc-bible-card .gcc-form-status.error   { color: var(--gcc-red, #E31E24); }
.gcc-bible-aside {
	background: #fff;
	border: 1px solid var(--gcc-grey-mid, #e3e3e8);
	border-radius: 10px;
	padding: 20px 24px;
	margin: 24px 0;
	font-size: 14.5px;
	color: var(--gcc-text-soft, #4a5566);
	line-height: 1.6;
}
.gcc-bible-aside h3 {
	font-size: 16px;
	font-weight: 800;
	color: var(--gcc-navy, #0D1B2A);
	margin: 0 0 8px;
}
@media (max-width: 600px) {
	.gcc-bible-card { padding: 24px 22px; }
	.gcc-bible-card .gcc-form-row { grid-template-columns: 1fr; }
}

