/* ==========================================================================
   SVC new pages (Sept 2026): Plan Your Visit, What We Believe, Prayer Request,
   Languages, Youth, VBS, Kids & Families, fellowships, Prayer Night, Bible
   Study, Events, Retreat, Give, Missions, Safeguarding, Privacy, Charity.
   Block-editor content styled to match the theme (Gilda Display / Inter /
   Cinzel, bronze #ab815a, dark #1e232b, cream #faf8f5). Uses the site tokens
   from svc-site-improvements.css (--svc-*), with fallbacks.
   Scoped to body.svc-np (the pages Batch 2 created) except the last two
   sections (phone visit bar, wide dropdown), which are site-wide.
   ========================================================================== */

body.svc-np {
	--np-ink: var(--svc-ink, #1e232b);
	--np-text: var(--svc-text, #3a404a);
	--np-muted: var(--svc-muted, #5b6270);
	--np-bronze: var(--svc-bronze, #ab815a);
	--np-bronze-deep: var(--svc-bronze-deep, #6f4f30);
	--np-bronze-soft: var(--svc-bronze-soft, #d8c3aa);
	--np-bronze-dark: var(--svc-bronze-dark, #8f6741);
	--np-cream: var(--svc-cream, #faf8f5);
	--np-stone: var(--svc-stone, #e8e2da);
	--np-stone-2: var(--svc-stone-2, #d9d1c6);
	--np-white: #ffffff;
	--np-display: var(--svc-display, "Gilda Display", Georgia, serif);
	--np-body: var(--svc-body, "Inter", -apple-system, "Segoe UI", sans-serif);
	--np-label: var(--svc-label, "Cinzel", Georgia, serif);
	--np-radius: var(--svc-radius, 18px);
	--np-radius-sm: var(--svc-radius-sm, 10px);
	--np-shadow: var(--svc-shadow, 0 12px 40px -18px rgba(30, 35, 43, .35));
	--np-ease: var(--svc-ease, cubic-bezier(.16, 1, .3, 1));
	--np-gap: clamp(1.25rem, 1rem + 1.5vw, 2rem);
	--np-pad: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
}

/* ---------- page frame: the theme's content column, a little narrower for reading ---------- */
body.svc-np #Content .section.the_content {
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
	padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}
body.svc-np #Content .the_content_wrapper {
	max-width: 1120px;
	margin: 0 auto;
	font-size: 1rem;
	line-height: var(--svc-lh-body, 1.65);
	color: var(--np-text);
}
body.svc-np #Content .the_content_wrapper > * + * {
	margin-top: var(--np-gap);
}
body.svc-np #Content .the_content_wrapper > p,
body.svc-np #Content .the_content_wrapper > ul,
body.svc-np #Content .the_content_wrapper > ol {
	max-width: var(--svc-measure, 64ch);
}
body.svc-np #Content .the_content_wrapper > h2 {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
}
body.svc-np #Content .the_content_wrapper > h2 + * {
	margin-top: 1rem;
}
body.svc-np #Content .the_content_wrapper a:not(.wp-block-button__link):not(.svc-np-link):not(.svc-np-cta__btn) {
	color: var(--np-bronze-deep);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
body.svc-np #Content .the_content_wrapper a:not(.wp-block-button__link):hover {
	color: var(--np-ink);
}

/* ---------- headings ---------- */
body.svc-np #Content h2 {
	margin: 0 0 .75rem;
	font-family: var(--np-display);
	font-weight: 400;
	font-size: var(--svc-fs-h2, clamp(2rem, 1.3rem + 2.6vw, 3.4rem));
	line-height: var(--svc-lh-display, 1.08);
	letter-spacing: var(--svc-ls-display, .02em);
	text-transform: uppercase;
	color: var(--np-bronze);
	text-wrap: balance;
}
body.svc-np #Content h3 {
	margin: 0 0 .5rem;
	font-family: var(--np-display);
	font-weight: 400;
	font-size: var(--svc-fs-h3, clamp(1.375rem, 1.2rem + .7vw, 1.625rem));
	line-height: var(--svc-lh-heading, 1.22);
	text-transform: none;
	letter-spacing: 0;
	color: var(--np-ink);
}
body.svc-np #Content .svc-np-eyebrow {
	margin: 0 0 .75rem;
	font: 600 var(--svc-fs-xs, .8125rem)/1.5 var(--np-body);
	letter-spacing: var(--svc-ls-caps, .14em);
	text-transform: uppercase;
	color: var(--np-bronze-deep);
}
body.svc-np #Content .svc-np-eyebrow + h2 {
	margin-top: 0;
}
body.svc-np #Content .svc-np-lede {
	font-size: var(--svc-fs-lede, 1.125rem);
	line-height: 1.6;
	color: var(--np-ink);
	max-width: 46rem;
}
body.svc-np #Content .svc-np-small {
	font-size: var(--svc-fs-sm, .9375rem);
	color: var(--np-muted);
}
body.svc-np #Content .svc-np-refs {
	font-size: var(--svc-fs-sm, .9375rem);
	color: var(--np-bronze-deep);
	margin-bottom: 0;
}

/* ---------- lists ---------- */
body.svc-np #Content ul.wp-block-list,
body.svc-np #Content ol.wp-block-list {
	margin: 0;
	padding-left: 1.4rem;
	list-style: disc;
}
body.svc-np #Content ol.wp-block-list {
	list-style: decimal;
}
body.svc-np #Content .wp-block-list li {
	margin-bottom: .55rem;
	padding-left: .2rem;
}
body.svc-np #Content .wp-block-list li::marker {
	color: var(--np-bronze);
}
body.svc-np #Content ul.svc-np-times {
	list-style: none;
	padding-left: 0;
}
body.svc-np #Content ul.svc-np-times li {
	padding: .6rem 0;
	margin: 0;
	border-bottom: 1px dashed var(--np-stone-2);
}
body.svc-np #Content ul.svc-np-times li:last-child {
	border-bottom: 0;
}
body.svc-np #Content ul.svc-np-times strong {
	color: var(--np-ink);
}

/* ---------- columns and cards ---------- */
body.svc-np #Content .wp-block-columns {
	gap: var(--np-gap);
	margin-bottom: 0;
}
body.svc-np #Content .wp-block-column > * + * {
	margin-top: 1rem;
}
body.svc-np #Content .wp-block-column > h2 + * {
	margin-top: .75rem;
}
body.svc-np #Content .wp-block-column > .svc-np-card:only-child {
	height: 100%;
}
body.svc-np #Content .svc-np-card {
	box-sizing: border-box;
	padding: var(--np-pad);
	background: var(--np-white);
	border: 1px solid var(--np-stone);
	border-radius: var(--np-radius);
	transition: transform .4s var(--np-ease), box-shadow .4s var(--np-ease);
}
body.svc-np #Content .svc-np-card h3 {
	color: var(--np-bronze-deep);            /* polished site rule: card titles under 24px on light = bronze-deep */
}
body.svc-np #Content .svc-np-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--np-shadow);
}
/* BeTheme has no theme.json, so every group block gets an inner "__inner-container" div. */
body.svc-np #Content .svc-np-card > * + *,
body.svc-np #Content .svc-np-card > .wp-block-group__inner-container > * + * {
	margin-top: .6rem;
}
body.svc-np #Content .svc-np-card p:last-child {
	margin-bottom: 0;
}
body.svc-np #Content .svc-np-link {
	display: inline-flex;
	gap: .35em;
	align-items: center;
	font-weight: 600;
	color: var(--np-bronze-deep);
	text-decoration: none;
	border-bottom: 1.5px solid currentColor;
	padding-bottom: 1px;
}
body.svc-np #Content .svc-np-link span {
	transition: transform .3s var(--np-ease);
}
body.svc-np #Content .svc-np-link:hover {
	color: var(--np-ink);
}
body.svc-np #Content .svc-np-link:hover span {
	transform: translateX(3px);
}

/* Full-width cream band (the group stretches to the window edges). */
body.svc-np #Content .svc-np-band {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(2.5rem, 6vw, 4.5rem) 0;
	background: var(--np-cream);
	border-top: 1px solid var(--np-stone);
	border-bottom: 1px solid var(--np-stone);
}
body.svc-np #Content .svc-np-band > .wp-block-group__inner-container {
	max-width: 1120px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}
body.svc-np #Content .svc-np-band > .wp-block-group__inner-container > * + * {
	margin-top: 1rem;
}
body.svc-np #Content .svc-np-band > .wp-block-group__inner-container > p,
body.svc-np #Content .svc-np-band > .wp-block-group__inner-container > ul,
body.svc-np #Content .svc-np-band > .wp-block-group__inner-container > .wp-block-quote {
	max-width: 46rem;
}
body.svc-np #Content .svc-np-band > .wp-block-group__inner-container > .svc-np-eyebrow + h2 {
	margin-top: 0;
}
body.svc-np #Content .svc-np-band > .wp-block-group__inner-container > .wp-block-buttons {
	margin-top: 1.5rem;
}

/* Beliefs: two-column grid of statements. */
body.svc-np #Content .svc-np-beliefs > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1rem;
}
body.svc-np #Content .svc-np-belief {
	padding: var(--np-pad);
	background: var(--np-cream);
	border-left: 3px solid var(--np-bronze);
	border-radius: 0 var(--np-radius-sm) var(--np-radius-sm) 0;
}
body.svc-np #Content .svc-np-belief h3 {
	font-size: 1.2rem;
}
body.svc-np #Content .svc-np-belief p {
	margin-bottom: .5rem;
}
body.svc-np #Content .svc-np-belief > .wp-block-group__inner-container > * + * {
	margin-top: .4rem;
}

/* ---------- photos ---------- */
body.svc-np #Content .wp-block-image {
	margin: 0;
}
body.svc-np #Content .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--np-radius);
}
body.svc-np #Content .svc-np-photo img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* ---------- buttons: the theme's pill buttons (Cinzel, 2px bronze border, 24px radius) ---------- */
body.svc-np #Content .wp-block-buttons {
	gap: .75rem;
}
body.svc-np #Content .wp-block-button__link {
	display: inline-block;
	box-sizing: border-box;
	padding: 12px 30px;
	border: 2px solid var(--np-bronze);
	border-radius: 24px;
	background: transparent;
	font-family: var(--np-label);
	font-size: var(--svc-fs-btn, 1rem);
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.4;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--np-bronze-deep);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .3s var(--np-ease);
}
body.svc-np #Content .wp-block-button__link:hover,
body.svc-np #Content .wp-block-button__link:focus-visible {
	background: var(--np-bronze);
	color: var(--np-white);
	transform: translateY(-1px);
}
body.svc-np #Content .svc-np-btn-solid .wp-block-button__link {
	background: var(--np-ink);
	border-color: var(--np-ink);
	color: var(--np-white);
}
body.svc-np #Content .svc-np-btn-solid .wp-block-button__link:hover,
body.svc-np #Content .svc-np-btn-solid .wp-block-button__link:focus-visible {
	background: var(--np-bronze);
	border-color: var(--np-bronze);
	color: var(--np-white);
}

/* ---------- Bible verse ---------- */
body.svc-np #Content .wp-block-quote.svc-np-verse {
	top: 0;                                  /* the theme nudges every blockquote 15px down */
	margin: 0;
	padding: 1.25rem 1.5rem;
	border-left: 3px solid var(--np-bronze);
	background: var(--np-cream);
	border-radius: 0 var(--np-radius-sm) var(--np-radius-sm) 0;
	max-width: 46rem;
}
body.svc-np #Content .wp-block-quote.svc-np-verse p {
	margin: 0 0 .5rem;
	font-family: var(--np-display);
	font-size: 1.25rem;
	line-height: 1.5;
	color: var(--np-ink);
}
body.svc-np #Content .wp-block-quote.svc-np-verse cite {
	font-style: normal;
	font-size: var(--svc-fs-sm, .9375rem);
	color: var(--np-bronze-deep);
}

/* ---------- FAQ (details) ---------- */
body.svc-np #Content .the_content_wrapper > .svc-np-faq + .svc-np-faq {
	margin-top: .5rem;
}
body.svc-np #Content .svc-np-faq {
	max-width: 46rem;
	border: 1px solid var(--np-stone);
	border-radius: var(--np-radius-sm);
	background: var(--np-white);
}
body.svc-np #Content .svc-np-faq summary {
	padding: .9rem 2.75rem .9rem 1.1rem;
	position: relative;
	cursor: pointer;
	font-weight: 600;
	color: var(--np-ink);
	list-style: none;
}
body.svc-np #Content .svc-np-faq summary::-webkit-details-marker {
	display: none;
}
body.svc-np #Content .svc-np-faq summary::after {
	content: "+";
	position: absolute;
	right: 1.1rem;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--np-display);
	font-size: 1.5rem;
	line-height: 1;
	color: var(--np-bronze);
}
body.svc-np #Content .svc-np-faq[open] summary::after {
	content: "\2013";
}
body.svc-np #Content .svc-np-faq > p {
	padding: 0 1.1rem 1rem;
	margin: 0;
}

/* ---------- separator ---------- */
body.svc-np #Content hr.svc-np-rule {
	border: 0;
	border-top: 1px solid var(--np-stone-2);
	margin: 0;
}

/* ---------- forms (Contact Form 7) ---------- */
body.svc-np #Content .wpcf7 {
	max-width: 46rem;
}
body.svc-np #Content .svc-np-form p {
	margin-bottom: 1rem;
}
body.svc-np #Content .svc-np-form label {
	display: block;
	font-weight: 500;
	color: var(--np-ink);
}
body.svc-np #Content .svc-np-form input[type="text"],
body.svc-np #Content .svc-np-form input[type="email"],
body.svc-np #Content .svc-np-form select,
body.svc-np #Content .svc-np-form textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: .35rem;
	padding: .75rem .9rem;
	font: inherit;
	color: var(--np-ink);
	background: var(--np-white);
	border: 1px solid var(--np-stone-2);
	border-radius: var(--np-radius-sm);
	box-shadow: none;
}
body.svc-np #Content .svc-np-form input:focus,
body.svc-np #Content .svc-np-form select:focus,
body.svc-np #Content .svc-np-form textarea:focus {
	outline: 3px solid var(--svc-orange, #f16923);
	outline-offset: 2px;
	border-color: var(--np-bronze);
}
body.svc-np #Content .svc-np-form .wpcf7-acceptance label {
	display: flex;
	gap: .6rem;
	align-items: flex-start;
	font-weight: 400;
	color: var(--np-text);
	font-size: var(--svc-fs-sm, .9375rem);
	line-height: 1.5;
}
body.svc-np #Content .svc-np-form .wpcf7-acceptance input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: .15rem 0 0;
	accent-color: var(--np-bronze);
}
body.svc-np #Content .svc-np-form .wpcf7-list-item {
	margin: 0;
}
body.svc-np #Content .svc-np-form .wpcf7-submit {
	display: inline-block;
	padding: 12px 30px;
	border: 2px solid var(--np-ink);
	border-radius: 24px;
	background: var(--np-ink);
	font-family: var(--np-label);
	font-size: var(--svc-fs-btn, 1rem);
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--np-white);
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}
body.svc-np #Content .svc-np-form .wpcf7-submit:hover,
body.svc-np #Content .svc-np-form .wpcf7-submit:focus-visible {
	background: var(--np-bronze);
	border-color: var(--np-bronze);
	color: var(--np-white);
}
body.svc-np #Content .wpcf7 .wpcf7-spinner {
	display: block;
	margin: .5rem 0 0;
}
body.svc-np #Content .wpcf7 .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: .8rem 1rem;
	border: 1px solid var(--np-bronze);
	border-radius: var(--np-radius-sm);
	background: var(--np-cream);
	color: var(--np-ink);
}
body.svc-np #Content .wpcf7 form.invalid .wpcf7-response-output,
body.svc-np #Content .wpcf7 form.failed .wpcf7-response-output,
body.svc-np #Content .wpcf7 form.spam .wpcf7-response-output {
	border-color: #b45309;
}
body.svc-np #Content .wpcf7 .wpcf7-not-valid-tip {
	color: #9a3412;
	font-size: var(--svc-fs-sm, .9375rem);
	margin-top: .3rem;
}
/* the honeypot field is off-screen for people, present for bots */
.svc-np-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---------- welcome cards (Languages page): a font stack that has Indic glyphs ---------- */
body.svc-np #Content .svc-np-welcome__text {
	font-family: "Noto Sans", "Nirmala UI", "Segoe UI", "Kohinoor Devanagari", "Kartika", "Latha", "Gautami", "Noto Sans Malayalam", "Noto Sans Devanagari", "Noto Sans Tamil", "Noto Sans Telugu", system-ui, sans-serif;
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--np-ink);
	margin-bottom: .5rem;
}

/* ---------- events (from Settings > SVC Homepage) ---------- */
body.svc-np #Content .svc-np-events {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--np-gap);
}
body.svc-np #Content .svc-np-event {
	display: flex;
	gap: 1rem;
	padding: var(--np-pad);
	background: var(--np-cream);
	border-radius: var(--np-radius);
}
body.svc-np #Content .svc-np-event__date {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .2rem;
	width: 72px;
	height: 72px;
	box-sizing: border-box;
	border-radius: var(--np-radius-sm);
	background: var(--np-ink);
	color: var(--np-cream);
}
body.svc-np #Content .svc-np-event__day {
	font-family: var(--np-display);
	font-size: 1.6rem;
	line-height: 1;
}
body.svc-np #Content .svc-np-event__month {
	font-size: .75rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1;
}
body.svc-np #Content .svc-np-event__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
body.svc-np #Content .svc-np-event__when {
	margin: 0 0 .3rem;
	font-size: var(--svc-fs-xs, .8125rem);
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--np-bronze-deep);
}
body.svc-np #Content .svc-np-event__title {
	margin: 0 0 .4rem;
}
body.svc-np #Content .svc-np-event__body p {
	margin-bottom: .6rem;
}
body.svc-np #Content .svc-np-event__body > .svc-np-link {
	margin-top: auto;
	align-self: flex-start;
}
body.svc-np #Content .svc-np-admin-note {
	margin-top: 1rem;
}

/* ---------- contact strip ---------- */
body.svc-np #Content .svc-np-strip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	padding: var(--np-pad);
	border: 1px solid var(--np-stone);
	border-radius: var(--np-radius);
	background: var(--np-white);
}
body.svc-np #Content .svc-np-strip__label {
	display: block;
	margin-bottom: .2rem;
	font: 600 var(--svc-fs-xs, .8125rem)/1.5 var(--np-body);
	letter-spacing: var(--svc-ls-caps, .14em);
	text-transform: uppercase;
	color: var(--np-bronze-deep);
}
body.svc-np #Content .svc-np-strip a {
	color: var(--np-ink);
	text-decoration: none;
	overflow-wrap: anywhere;
}
body.svc-np #Content .svc-np-strip a:hover {
	text-decoration: underline;
}

/* ---------- "come and see" band (dark, full width) ---------- */
body.svc-np #Content .svc-np-cta {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: calc(-1 * clamp(2.5rem, 6vw, 4.5rem));   /* sits flush on the footer */
	padding: clamp(2.5rem, 6vw, 4.5rem) 24px;
	box-sizing: border-box;
	background: var(--np-ink);
	color: var(--svc-light, #c9cdd4);
}
body.svc-np #Content .svc-np-cta__inner {
	max-width: 1120px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}
body.svc-np #Content .svc-np-cta .svc-np-eyebrow--light {
	color: var(--np-bronze-soft);
}
body.svc-np #Content .svc-np-cta__title {
	margin: 0 0 .5rem;
	color: var(--np-bronze);
	font-size: clamp(1.8rem, 1.3rem + 1.7vw, 2.5rem);
}
body.svc-np #Content .the_content_wrapper .svc-np-cta p.svc-np-cta__text {
	margin: 0;
	max-width: 40rem;
	color: var(--svc-light, #c9cdd4);
}
body.svc-np #Content .svc-np-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}
body.svc-np #Content .svc-np-cta__btn {
	display: inline-block;
	padding: 12px 30px;
	border: 2px solid var(--np-bronze);
	border-radius: 24px;
	font-family: var(--np-label);
	font-size: var(--svc-fs-btn, 1rem);
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.4;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--np-white);
	transition: background-color .2s ease, color .2s ease, transform .3s var(--np-ease);
}
body.svc-np #Content .svc-np-cta__btn:hover,
body.svc-np #Content .svc-np-cta__btn:focus-visible {
	background: var(--np-bronze);
	color: var(--np-white);
	transform: translateY(-1px);
}
body.svc-np #Content .svc-np-cta__btn--solid {
	background: var(--np-bronze);
	color: var(--np-ink);
}
body.svc-np #Content .svc-np-cta__btn--solid:hover,
body.svc-np #Content .svc-np-cta__btn--solid:focus-visible {
	background: var(--np-bronze-dark);
	border-color: var(--np-bronze-dark);
	color: var(--np-white);
}

/* ---------- phones ---------- */
@media only screen and (max-width: 781px) {
	body.svc-np #Content .wp-block-columns {
		gap: 1rem;
	}
}
@media only screen and (max-width: 767px) {
	body.svc-np #Content .the_content_wrapper {
		padding-left: 0;
		padding-right: 0;
	}
	body.svc-np #Content .svc-np-band,
	body.svc-np #Content .svc-np-cta {
		padding-left: 16px;
		padding-right: 16px;
	}
	body.svc-np #Content .svc-np-band > .wp-block-group__inner-container {
		padding-left: 0;
		padding-right: 0;
	}
	body.svc-np #Content .svc-np-cta__actions,
	body.svc-np #Content .svc-np-cta__btn,
	body.svc-np #Content .wp-block-button,
	body.svc-np #Content .wp-block-button__link {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
	body.svc-np #Content .svc-np-event {
		padding: 1rem;
	}
	body.svc-np #Content .svc-np-event__date {
		width: 60px;
		height: 60px;
	}
}

/* ==========================================================================
   Site-wide: "Plan your visit" bar on phones - bottom-left, beside the round
   WhatsApp button (which is 56px wide at right:14px, bottom:14px on ≤767px).
   Hidden on the Plan Your Visit page by PHP. The footer already has 84px of
   bottom padding on phones (svc-site-improvements.css), so nothing is covered.
   ========================================================================== */
.svc-visit-bar {
	display: none;
}
@media only screen and (max-width: 767px) {
	.svc-visit-bar {
		position: fixed;
		left: 14px;
		right: 84px;                       /* 14px gap + 56px button + 14px edge */
		bottom: 14px;
		z-index: 9989;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 56px;
		padding: 0 18px;
		box-sizing: border-box;
		border: 1px solid var(--svc-bronze, #ab815a);
		border-radius: 999px;
		background: var(--svc-ink, #1e232b);
		color: #ffffff !important;
		font-family: inherit;
		font-size: 12px;
		font-weight: 500;
		letter-spacing: 2px;
		text-transform: uppercase;
		line-height: 1;
		text-decoration: none !important;
		box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
		transition: background-color .2s ease;
	}
	.svc-visit-bar svg {
		flex: 0 0 auto;
		color: var(--svc-bronze, #ab815a);
	}
	.svc-visit-bar:hover,
	.svc-visit-bar:focus-visible {
		background: var(--svc-bronze, #ab815a);
	}
	.svc-visit-bar:hover svg,
	.svc-visit-bar:focus-visible svg {
		color: #ffffff;
	}
	.svc-visit-bar:focus-visible {
		outline: 3px solid var(--svc-orange, #f16923);
		outline-offset: 3px;
	}
	/* Homepage: hidden (below the screen edge) until the hero's own button has scrolled away. */
	.svc-visit-bar--after-hero {
		transform: translateY(calc(100% + 24px));
		opacity: 0;
		pointer-events: none;
		transition: transform .3s ease, opacity .3s ease, background-color .2s ease;
	}
	.svc-visit-bar--after-hero.is-shown {
		transform: none;
		opacity: 1;
		pointer-events: auto;
	}
	/* Keep the "back to top" button above both bars. */
	#back_to_top {
		bottom: 84px !important;
	}
}
@media (prefers-reduced-motion: reduce) {
	.svc-visit-bar,
	body.svc-np #Content .svc-np-card,
	body.svc-np #Content .svc-np-link span,
	body.svc-np #Content .wp-block-button__link,
	body.svc-np #Content .svc-np-cta__btn {
		transition: none;
	}
	body.svc-np #Content .svc-np-card:hover,
	body.svc-np #Content .wp-block-button__link:hover,
	body.svc-np #Content .svc-np-cta__btn:hover {
		transform: none;
	}
}

/* ==========================================================================
   Site-wide: the header now has 3 groups left of the logo and 4 on the right
   (Ministries, Media Centre, Contact, Give). The theme pads each menu word
   20px each side, which no longer fits beside the centred logo; 12px does
   (9px on 1240-1365px screens). Same look, slightly closer together.
   ========================================================================== */
@media (min-width: 1240px) {
	#Top_bar .menu > li > a span:not(.description) {
		padding-left: 12px;
		padding-right: 12px;
	}
}
@media (min-width: 1240px) and (max-width: 1365px) {
	#Top_bar .menu > li > a span:not(.description) {
		padding-left: 9px;
		padding-right: 9px;
	}
}

/* ==========================================================================
   Site-wide: long desktop dropdowns (Ministries has 12 items) in two columns
   so they fit on a 1366x768 screen. The menu item carries the class
   "svc-menu-wide" (set by Batch 2), never an item number.
   ========================================================================== */
@media (min-width: 1240px) {
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu {
		width: 500px !important;
		display: none;
		box-sizing: border-box;
		padding-bottom: 8px;
	}
	#Top_bar .menu > li.svc-menu-wide:hover > ul.sub-menu,
	#Top_bar .menu > li.svc-menu-wide.hover > ul.sub-menu,
	#Top_bar .menu > li.svc-menu-wide:focus-within > ul.sub-menu {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		grid-auto-flow: row dense;   /* each item drops into the next free row of its own column */
	}
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu > li {
		width: auto;
		box-sizing: border-box;
	}
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu > li > a {
		width: auto;
	}
	/* Grouped columns (Tools > SVC Email Address > "Group the Ministries menu"). */
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu > li.svc-col-all { grid-column: 1 / -1; border-bottom: 1px solid rgba(171, 129, 90, .35); }
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu > li.svc-col-1 { grid-column: 1; }
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu > li.svc-col-2 { grid-column: 2; }
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu > li.svc-menu-heading > a {
		pointer-events: none;
		cursor: default;
		padding-top: 16px !important;
		padding-bottom: 4px !important;
		font-size: 11px !important;
		letter-spacing: .16em;
		text-transform: uppercase;
		color: var(--svc-bronze-soft, #d8c3aa) !important;
	}
	#Top_bar .menu > li.svc-menu-wide > ul.sub-menu > li.svc-menu-heading > a:hover {
		background: none !important;
	}
}
/* Phones/tablets (slide-out menu): the same groups as small bronze labels, so the long list is easy to scan. */
@media (max-width: 1239px) {
	#Side_slide li.svc-menu-heading > a {
		pointer-events: none;
		cursor: default;
		padding-top: 18px !important;
		padding-bottom: 6px !important;
		min-height: 0 !important;
		font-size: 11px !important;
		line-height: 1.2 !important;
		letter-spacing: .16em;
		text-transform: uppercase;
		color: var(--svc-bronze-soft, #d8c3aa) !important;
		border: 0 !important;
	}
	#Side_slide li.svc-menu-heading { border-bottom: 0 !important; }
	#Side_slide li.svc-menu-wide li:not(.svc-menu-heading) > a {
		padding-top: 11px !important;
		padding-bottom: 11px !important;
		font-size: 15px !important;
	}
	/* "Our Ministries" reads as a clear way to see everything */
	#Side_slide li.svc-menu-wide li.svc-col-all > a::after {
		content: " \2192";
		color: var(--svc-bronze-soft, #d8c3aa);
	}
	#Side_slide li.svc-menu-wide li.svc-col-all > a {
		font-weight: 600;
	}
	/* the top-bar menu on tablets (not the slide-out) keeps headings hidden */
	#Top_bar #menu li.svc-menu-heading { display: none !important; }
}


/* ---------- Batch 5 (Sept 2026): photo / clip on top of a card, group photos ---------- */
body.svc-np #Content .svc-np-card .svc-np-card__media {
	margin: calc(var(--np-pad) * -1) calc(var(--np-pad) * -1) 1rem;
	overflow: hidden;
	border-radius: var(--np-radius) var(--np-radius) 0 0;
}
body.svc-np #Content .svc-np-card .svc-np-card__media img,
body.svc-np #Content .svc-np-card .svc-np-card__media video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: 50% 45%;
	border-radius: 0;
	background: var(--np-stone);
}
body.svc-np #Content .svc-np-card .svc-np-card__media + h3 {
	margin-top: 0;
}
/* group photos: keep the faces (lower middle of the frame) in view */
body.svc-np #Content .svc-np-photo--group img {
	object-position: 50% 62%;
}

@media (prefers-reduced-motion: reduce) {
	.svc-visit-bar--after-hero {
		transition: none;
	}
}
