/*
 * AACC — Design System (Stitch / Sanctuary Modern)
 *
 * Matches the "Stitch" modern ministry hub design: light off-white surfaces,
 * deep charcoal primary, slate blue secondary, gold accent ("divine spark"),
 * Source Serif 4 headlines + Hanken Grotesk body, soft 8px-based spacing.
 */

:root {
	--aacc-gold: var(--wp--preset--color--accent, #c5a059);
	--aacc-gold-deep: var(--wp--preset--color--accent-deep, #a17f3b);
	--aacc-gold-soft: var(--wp--preset--color--accent-soft, #ffdea5);
	--aacc-slate: var(--wp--preset--color--slate, #496177);
	--aacc-slate-deep: var(--wp--preset--color--violet, #4a6278);
	--aacc-slate-soft: var(--wp--preset--color--violet-soft, #e8f0f9);
	--aacc-steel: var(--wp--preset--color--aqua, #9aa7b0);
	--aacc-base: var(--wp--preset--color--base, #191c1d);
	--aacc-ink: var(--wp--preset--color--ink, #1a1c1e);
	--aacc-paper: var(--wp--preset--color--paper, #f8f9fa);
	--aacc-white: var(--wp--preset--color--white, #ffffff);
	--aacc-muted: var(--wp--preset--color--muted, #44474a);
	--aacc-outline: var(--wp--preset--color--outline, #c5c6ca);
	--aacc-ease: var(--wp--custom--easing--out, cubic-bezier(0.16, 1, 0.3, 1));
}

/* -------------------------------------------------------------------------
 * 0. Global polish
 * ---------------------------------------------------------------------- */
html { scroll-behavior: smooth; }

::selection { background: var(--aacc-gold); color: #fff; }

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
}

:where(a) { text-underline-offset: 4px; }

.aacc-section { padding-block: clamp(4rem, 9vw, 7rem); }
.aacc-section--tight { padding-block: clamp(2.5rem, 5vw, 4rem); }

/* Editorial "statement" paragraph (serif like the Stitch home hero). */
.aacc-statement {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-style: normal;
	font-size: clamp(1.15rem, 1rem + 1vw, 1.45rem);
	line-height: 1.55;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--aacc-muted);
}

/* Arrow links (uppercase, tracked — Stitch "Learn more" affordance). */
.aacc-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	font-family: var(--wp--preset--font-family--body, inherit);
	font-size: 0.82rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--aacc-base);
	text-decoration: none;
	transition: gap 220ms var(--aacc-ease), color 180ms ease;
}

.aacc-arrow-link:hover { gap: 0.8em; color: var(--aacc-gold-deep); }

.aacc-arrow-link::after {
	content: "\2192";
	font-size: 1em;
	transition: transform 220ms var(--aacc-ease);
}
.aacc-arrow-link:hover::after { transform: translateX(3px); }

/* =========================================================================
   1. is-style-* custom block styles
   ========================================================================= */

/* --- Eyebrow kicker (uppercase tracked label + gold dot) --- */
.wp-block-heading.is-style-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
	font-family: var(--wp--preset--font-family--body, inherit);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--aacc-slate) !important;
	font-style: normal !important;
	line-height: 1.4;
	margin-bottom: 0.6em !important;
}

.wp-block-heading.is-style-eyebrow::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background: var(--aacc-gold);
	flex-shrink: 0;
}

/* On dark panels, the eyebrow goes pale gold on transparent. */
.is-style-twilight-panel .is-style-eyebrow { color: var(--aacc-gold-soft) !important; }

/* --- Gradient text headline (gold → slate, subtle) --- */
.wp-block-heading.is-style-gradient-text {
	background: linear-gradient(110deg, var(--aacc-gold) 0%, var(--aacc-slate-deep) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}

/* --- Groups --- */
.wp-block-group.is-style-glass {
	background: rgba(255, 255, 255, 0.72);
	-webkit-backdrop-filter: blur(24px) saturate(1.4);
	backdrop-filter: blur(24px) saturate(1.4);
	border: 1px solid rgba(197, 198, 202, 0.5);
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	box-shadow: var(--wp--custom--shadow--md, 0 8px 24px -6px rgba(25, 28, 29, 0.1));
}

.wp-block-group.is-style-gradient-border {
	position: relative;
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	background:
		linear-gradient(var(--aacc-white), var(--aacc-white)) padding-box,
		linear-gradient(135deg, var(--aacc-gold), var(--aacc-slate-deep)) border-box;
	border: 1px solid transparent;
}

.wp-block-group.is-style-floating-card {
	position: relative;
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	background: var(--aacc-white);
	border: 1px solid rgba(197, 198, 202, 0.45);
	box-shadow: var(--wp--custom--shadow--md, 0 8px 24px -6px rgba(25, 28, 29, 0.1));
	transform: translateY(-0.5rem);
	transition: transform 300ms var(--aacc-ease), box-shadow 300ms ease;
}

.wp-block-group.is-style-floating-card:hover {
	transform: translateY(-1rem);
	box-shadow: var(--wp--custom--shadow--lg, 0 24px 64px -16px rgba(25, 28, 29, 0.16));
}

.wp-block-group.is-style-twilight-panel {
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	background:
		radial-gradient(110% 120% at 92% 0%, rgba(197, 160, 89, 0.18), transparent 52%),
		radial-gradient(120% 100% at 0% 100%, rgba(73, 97, 119, 0.22), transparent 55%),
		linear-gradient(160deg, var(--aacc-ink), #2e3132);
	color: #fff;
	box-shadow: var(--wp--custom--shadow--lg, 0 24px 64px -16px rgba(25, 28, 29, 0.2));
}

.wp-block-group.is-style-twilight-panel > :where(*):not(.wp-block-group__inner-container) { color: inherit; }

/* On the charcoal panel, filled buttons flip to gold for contrast. */
.is-style-twilight-panel .wp-block-button .wp-block-button__link:not(.is-style-ghost .wp-block-button__link) {
	background: var(--aacc-gold);
	color: #fff;
	border-color: var(--aacc-gold);
}

.is-style-twilight-panel .wp-block-button .wp-block-button__link:hover {
	background: var(--aacc-gold-deep);
	border-color: var(--aacc-gold-deep);
}

/* --- Buttons --- */

/* Base styling for core button blocks + dynamic-block CTAs. The Stitch
 * pages use raw Tailwind buttons instead; these rules only affect
 * `.wp-block-button__link` elements. */
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	min-height: 48px;
	padding: 0.75em 1.5em;
	background: var(--aacc-ink);
	color: #fff;
	border: 1px solid var(--aacc-ink);
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(25, 28, 29, 0.18);
	transition: transform 200ms var(--aacc-ease), box-shadow 200ms var(--aacc-ease), background-color 200ms ease, color 200ms ease;
	cursor: pointer;
}

.wp-block-button__link:hover {
	background: #2e3132;
	color: #fff;
	border-color: #2e3132;
	transform: translateY(-2px);
}

.wp-block-button__link:focus-visible { outline: 3px solid var(--aacc-gold); outline-offset: 3px; }

.wp-block-button.is-style-pulse .wp-block-button__link {
	position: relative;
	animation: aacc-btn-pulse 2.4s infinite;
}

@keyframes aacc-btn-pulse {
	0% { box-shadow: 0 0 0 0 rgba(197, 160, 89, 0.5); }
	70% { box-shadow: 0 0 0 14px rgba(197, 160, 89, 0); }
	100% { box-shadow: 0 0 0 0 rgba(197, 160, 89, 0); }
}

.wp-block-button.is-style-ghost .wp-block-button__link,
.wp-block-button.aacc-btn-outline .wp-block-button__link {
	background: transparent;
	color: var(--aacc-ink);
	border: 1px solid rgba(26, 28, 30, 0.4);
	box-shadow: none;
}

.wp-block-button.is-style-ghost .wp-block-button__link:hover,
.wp-block-button.aacc-btn-outline .wp-block-button__link:hover {
	background: var(--aacc-ink);
	color: #fff;
	border-color: var(--aacc-ink);
	box-shadow: none;
}

.wp-block-button.aacc-btn-solid .wp-block-button__link {
	background: var(--aacc-ink);
	color: #fff;
	border: 1px solid var(--aacc-ink);
}

.wp-block-button.is-style-soft .wp-block-button__link {
	background: var(--aacc-slate-soft);
	color: var(--aacc-slate-deep);
	box-shadow: none;
}

.wp-block-button.is-style-soft .wp-block-button__link:hover {
	background: var(--aacc-slate);
	color: #fff;
	box-shadow: none;
}

/* White ghost on dark panels. */
.wp-block-button__link--ghost,
.is-style-twilight-panel .wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	box-shadow: none !important;
}

.wp-block-button__link--ghost:hover,
.is-style-twilight-panel .wp-block-button.is-style-ghost .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	color: #fff !important;
}

/* --- Images --- */
.wp-block-image.is-style-gradient-frame img {
	border-radius: var(--wp--custom--radius--lg, 0.5rem);
	padding: 4px;
	background: linear-gradient(135deg, var(--aacc-gold), var(--aacc-slate-deep));
}

.wp-block-image.is-style-polaroid img {
	background: #fff;
	padding: 0.75rem 0.75rem 2.5rem;
	border-radius: 0.25rem;
	box-shadow: var(--wp--custom--shadow--md, 0 8px 24px -6px rgba(25, 28, 29, 0.1));
	transform: rotate(-2deg);
}

/* --- Cover --- */
.wp-block-cover.is-style-ambient-dark {
	background:
		radial-gradient(120% 100% at 12% 8%, rgba(197, 160, 89, 0.26) 0%, rgba(26, 28, 30, 0) 46%),
		radial-gradient(100% 90% at 92% 92%, rgba(73, 97, 119, 0.3) 0%, rgba(26, 28, 30, 0) 50%),
		linear-gradient(160deg, var(--aacc-ink) 0%, #2e3132 100%) !important;
}

.wp-block-cover.is-style-soft-vignette::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(ellipse at center, transparent 55%, rgba(25, 28, 29, 0.5));
}

/* --- Separators --- */
.wp-block-separator.is-style-sunrise {
	height: 2px;
	background: linear-gradient(90deg, var(--aacc-gold), var(--aacc-slate-deep));
	border: 0;
	opacity: 1;
	border-radius: 99px;
}

.wp-block-separator.is-style-rule {
	border: none;
	border-top: 1px solid rgba(197, 198, 202, 0.6);
	height: 0;
	background: none;
	opacity: 1;
}

.wp-block-separator.is-style-dotted {
	border: none;
	border-top: 2px dotted var(--aacc-gold);
	height: 0;
	background: none;
	opacity: 1;
}

.wp-block-columns.is-style-stack-on-mobile { flex-wrap: wrap; }

/* =========================================================================
   2. aacc/next-service-countdown block
   ========================================================================= */
.aacc-countdown {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 1.5rem;
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	background: rgba(255, 255, 255, 0.72);
	-webkit-backdrop-filter: blur(20px) saturate(1.4);
	backdrop-filter: blur(20px) saturate(1.4);
	border: 1px solid rgba(197, 198, 202, 0.5);
	box-shadow: var(--wp--custom--shadow--md, 0 8px 24px -6px rgba(25, 28, 29, 0.1));
}

.aacc-countdown__badge {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.3rem 0.85rem;
	border-radius: var(--wp--custom--radius--pill, 999px);
	background: rgba(197, 160, 89, 0.16);
	color: var(--aacc-gold-deep);
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-weight: 600;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.aacc-countdown__eyebrow {
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--aacc-muted);
}

.aacc-countdown__timer {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0.4rem, 1.5vw, 1rem);
}

.aacc-countdown__unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: clamp(3.5rem, 9vw, 5rem);
	padding: 0.85rem 0.5rem 0.75rem;
	border-radius: var(--wp--custom--radius--lg, 0.5rem);
	background: var(--aacc-white);
	border: 1px solid rgba(197, 198, 202, 0.55);
}

.aacc-countdown__unit strong {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.75rem, 4.5vw, 2.5rem);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--aacc-ink);
}

.aacc-countdown__unit em {
	font-style: normal;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--aacc-muted);
	margin-top: 0.35rem;
}

.aacc-countdown__details { display: grid; gap: 1.25rem; justify-items: start; }

.aacc-countdown__service { margin: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.aacc-countdown__service strong {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	color: var(--aacc-ink);
}
.aacc-countdown__service span { color: var(--aacc-muted); }

.aacc-countdown__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.aacc-countdown__ticker {
	display: flex;
	gap: 0.65rem;
	align-items: center;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.8rem;
	color: var(--aacc-muted);
	border-top: 1px solid rgba(197, 198, 202, 0.6);
	padding-top: 1rem;
}

/* =========================================================================
   3. aacc/latest-sermon block
   ========================================================================= */
/* The block now renders the exact Stitch card (Tailwind classes). This
 * wrapper rule just keeps the card block-level and contained. */
.aacc-latest-sermon-block { display: block; max-width: 100%; }
.aacc-latest-sermon-block img { display: block; }

/* Charcoal placeholder for cards without a featured image. */
.aacc-card-art-empty {
	background:
		radial-gradient(120% 120% at 90% 10%, rgba(197, 160, 89, 0.35), transparent 55%),
		linear-gradient(135deg, #2e3132, #1a1c1e);
}

/* =========================================================================
   4. aacc/events-upcoming + event cards
   ========================================================================= */
.aacc-events-upcoming__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

.aacc-event-card {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 1.25rem;
	align-items: center;
	padding: 1.25rem 1.5rem;
	background: var(--aacc-white);
	border: 1px solid rgba(197, 198, 202, 0.5);
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	box-shadow: var(--wp--custom--shadow--sm, 0 1px 2px rgba(25, 28, 29, 0.05));
	transition: transform 220ms var(--aacc-ease), box-shadow 220ms ease;
}

.aacc-event-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--wp--custom--shadow--md, 0 8px 24px -6px rgba(25, 28, 29, 0.1));
}

.aacc-event-card__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 3.75rem;
	height: 3.75rem;
	border-radius: var(--wp--custom--radius--lg, 0.5rem);
	background: var(--aacc-ink);
	color: #fff;
	line-height: 1.05;
	box-shadow: 0 6px 16px rgba(25, 28, 29, 0.2);
}

.aacc-event-card__month { font-size: 0.6rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--aacc-gold-soft); }
.aacc-event-card__day { font-family: var(--wp--preset--font-family--display, Georgia, serif); font-size: 1.35rem; font-weight: 600; }

.aacc-event-card__body { min-width: 0; }

.aacc-event-card__cat {
	margin: 0 0 0.1rem;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.66rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--aacc-slate);
}

.aacc-event-card__cat a { color: inherit; text-decoration: none; }

.aacc-event-card__title { margin: 0; font-size: 1.15rem; }
.aacc-event-card__title a { color: var(--aacc-base); text-decoration: none; }
.aacc-event-card__title a:hover { color: var(--aacc-gold-deep); }

.aacc-event-card__meta {
	margin: 0.25rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	color: var(--aacc-muted);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.aacc-event-card__register { white-space: nowrap; font-size: 0.75rem; padding: 0.6em 1.1em; }

.aacc-events-upcoming__all { margin-top: 1rem; text-align: right; }
.aacc-events-upcoming__all a { color: var(--aacc-slate); font-weight: 600; text-decoration: none; }

/* =========================================================================
   5. aacc/event-details + aacc/sermon-media
   ========================================================================= */
.aacc-event-details {
	background: var(--aacc-white);
	border: 1px solid rgba(197, 198, 202, 0.5);
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	padding: 1.5rem 1.75rem;
	box-shadow: var(--wp--custom--shadow--sm, 0 1px 2px rgba(25, 28, 29, 0.05));
}

.aacc-event-details__list {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.aacc-event-details__list li { display: flex; gap: 0.8rem; align-items: flex-start; }
.aacc-event-details__icon { font-size: 1.1rem; line-height: 1.4; }
.aacc-event-details__list strong { display: block; font-family: var(--wp--preset--font-family--display, Georgia, serif); font-size: 1.05rem; }
.aacc-event-details__list span { color: var(--aacc-muted); font-size: var(--wp--preset--font-size--small, 0.875rem); }
.aacc-event-details__register { width: 100%; }

.aacc-sermon-media {
	display: grid;
	gap: 1rem;
	background: var(--aacc-white);
	border: 1px solid rgba(197, 198, 202, 0.5);
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	padding: 1.25rem;
	box-shadow: var(--wp--custom--shadow--sm, 0 1px 2px rgba(25, 28, 29, 0.05));
}

.aacc-sermon-media__player {
	background: var(--aacc-ink);
	border-radius: var(--wp--custom--radius--lg, 0.5rem);
	padding: clamp(1rem, 3vw, 2rem);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.aacc-sermon-media__player audio { width: 100%; }

.aacc-sermon-media__play {
	all: unset;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.8rem 1.4rem;
	border-radius: var(--wp--custom--radius--pill, 999px);
	background: var(--aacc-gold);
	color: #fff;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-weight: 600;
	transition: transform 220ms var(--aacc-ease), box-shadow 220ms ease;
}

.aacc-sermon-media__play:hover { transform: scale(1.05); box-shadow: var(--wp--custom--shadow--glow); }
.aacc-sermon-media__play:focus-visible { outline: 3px solid var(--aacc-gold); outline-offset: 3px; }

.aacc-sermon-media__alt {
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.aacc-sermon-media__downloads {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	color: var(--aacc-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.aacc-ics-link { display: inline-flex; margin-top: 0.75rem; }

/* =========================================================================
   6. Site header & footer
   ========================================================================= */
.aacc-site-header {
	position: sticky;
	top: 0;
	z-index: 9980;
	background: rgba(248, 249, 250, 0.85);
	-webkit-backdrop-filter: blur(18px) saturate(1.5);
	backdrop-filter: blur(18px) saturate(1.5);
	border-bottom: 1px solid rgba(197, 198, 202, 0.45);
	padding-top: 0.75rem !important;
	padding-bottom: 0.75rem !important;
}

.aacc-site-header .wp-block-navigation .wp-block-navigation-item a {
	text-decoration: none;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-weight: 500;
	font-size: 0.95rem;
	color: var(--aacc-muted);
	transition: color 180ms ease;
}

.aacc-site-header .wp-block-navigation .wp-block-navigation-item a:hover { color: var(--aacc-ink); }

.aacc-site-header .aacc-btn-outline .wp-block-button__link,
.aacc-site-header .aacc-btn-solid .wp-block-button__link {
	min-height: 44px;
	padding-top: 0.6em;
	padding-bottom: 0.6em;
}

/* Footer: Stitch light surface-highest footer. */
.aacc-site-footer {
	background: var(--wp--preset--color--surface-high, #e7e8e9);
	color: var(--aacc-base);
	border-top: 1px solid rgba(197, 198, 202, 0.6);
}

.aacc-site-footer :where(a) { color: var(--aacc-slate); }
.aacc-site-footer :where(a):hover { color: var(--aacc-gold-deep); }

.aacc-site-footer .aacc-footer-label {
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--aacc-muted);
	margin: 0 0 0.6rem;
}

.aacc-site-footer .wp-block-list { padding-left: 1.1rem; }
.aacc-site-footer .wp-block-list li { margin-block: 0.35rem; font-size: 0.95rem; }
.aacc-site-footer .wp-block-heading { color: var(--aacc-base) !important; }

.aacc-bound { font-weight: 600; color: var(--aacc-ink); }

/* =========================================================================
   7. Ministry cards + archive grid
   ========================================================================= */
.aacc-ministry-card {
	background: var(--aacc-white);
	border: 1px solid rgba(197, 198, 202, 0.5);
	border-radius: var(--wp--custom--radius--xl, 0.75rem);
	box-shadow: var(--wp--custom--shadow--sm, 0 1px 2px rgba(25, 28, 29, 0.05));
	height: 100%;
	transition: transform 240ms var(--aacc-ease), box-shadow 240ms ease;
	overflow: hidden;
}

.aacc-ministry-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--wp--custom--shadow--md, 0 8px 24px -6px rgba(25, 28, 29, 0.1));
}

.aacc-ministry-card__art img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	display: block;
}

.aacc-ministry-card__type {
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 600;
	color: var(--aacc-slate);
}

.aacc-ministry-card__type a { color: inherit; text-decoration: none; }

/* Empty featured images: charcoal placeholder with a gold glow. */
.aacc-archive-grid .wp-block-post-featured-image:not(:has(img)),
.aacc-ministry-card .wp-block-post-featured-image:not(:has(img)) {
	background:
		radial-gradient(120% 120% at 90% 10%, rgba(197, 160, 89, 0.35), transparent 55%),
		linear-gradient(135deg, #2e3132, #1a1c1e);
	min-height: 180px;
}

.aacc-archive-grid .wp-block-post-featured-image { margin: 0; }
.aacc-archive-grid .wp-block-post-featured-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	display: block;
	border-radius: var(--wp--custom--radius--xl, 0.75rem) var(--wp--custom--radius--xl, 0.75rem) 0 0;
}

/* =========================================================================
   8. Cinematic hero (Stitch light hero)
   ========================================================================= */
.aacc-hero {
	position: relative;
	overflow: hidden;
	color: var(--aacc-base);
	background: var(--wp--preset--color--surface-container-low, #f3f4f5);
}

.aacc-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	opacity: 0.5;
	filter: saturate(0.6) contrast(1.02);
}

.aacc-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(100deg, rgba(248, 249, 250, 0.92) 0%, rgba(248, 249, 250, 0.72) 45%, rgba(248, 249, 250, 0.35) 100%),
		linear-gradient(180deg, rgba(248, 249, 250, 0.2) 0%, transparent 40%, rgba(248, 249, 250, 0.85) 100%);
}

.aacc-hero > .wp-block-group { position: relative; z-index: 2; }

/* =========================================================================
   9. Responsive
   ========================================================================= */
@media (max-width: 860px) {
	.aacc-latest-sermon-block { grid-template-columns: 1fr; }
	.aacc-latest-sermon-block__art img { aspect-ratio: 16 / 9; }
	.aacc-event-card { grid-template-columns: auto 1fr; }
	.aacc-event-card__register { grid-column: 2; justify-self: start; }
	.aacc-site-header .wp-block-navigation { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.aacc-latest-sermon-block__play,
	.aacc-ministry-card,
	.aacc-event-card,
	.wp-block-group.is-style-floating-card,
	.aacc-arrow-link,
	.wp-block-button.is-style-pulse .wp-block-button__link { transition: none !important; animation: none !important; }
}
