/* Church Campaigns. Colours and fonts follow the site's Elementor kit (Nile palette). */
:root {
	--sdac-ink: var(--e-global-color-55e6f35, #142C2E);
	--sdac-dark: var(--e-global-color-604bd3c, #1D5358);
	--sdac-teal: var(--e-global-color-c75f39e, #007681);
	--sdac-light: var(--e-global-color-82cea66, #45C0CC);
	--sdac-gold: var(--e-global-color-39aa06c, #F0B209);
	--sdac-text: #2B4245;
	--sdac-muted: #5B7072;
	--sdac-line: #D5E5E7;
	--sdac-tint: #F2F8F8;
	--sdac-head: var(--e-global-typography-primary-font-family, "Advent Sans Official"), Figtree, sans-serif;
	--sdac-body: Figtree, "Helvetica Neue", Arial, sans-serif;
	--sdac-radius: 8px;
}

.sdac-summary, .sdac-give, .sdac-updates, .sdac-subscribe, .sdac-grid, .sdac-notice { font-family: var(--sdac-body); color: var(--sdac-text); }

/* Lead paragraph under the campaign title */
.sdac-lead { margin: 0; max-width: 62ch; font-family: var(--sdac-body); font-size: 19px; line-height: 1.55; color: #fff; }
@media (max-width: 767px) { .sdac-lead { font-size: 16px; } }

/* Status line ------------------------------------------------------------- */
.sdac-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 14px; color: var(--sdac-muted); }
.sdac-status { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; background: var(--sdac-tint); color: var(--sdac-dark); }
.sdac-status--active { background: var(--sdac-teal); color: #fff; }
.sdac-status--upcoming { background: var(--sdac-gold); color: var(--sdac-ink); }
.sdac-status--completed { background: #E4E9EA; color: var(--sdac-dark); }

/* Progress ---------------------------------------------------------------- */
.sdac-progress { margin: 0 0 16px; }
.sdac-bar { height: 10px; background: var(--sdac-line); border-radius: 999px; overflow: hidden; }
.sdac-bar > span { display: block; height: 100%; background: var(--sdac-teal); border-radius: 999px; }
.sdac-figures { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin: 10px 0 0; font-size: 15px; line-height: 1.4; }
.sdac-figures strong { color: var(--sdac-ink); font-size: 1.15em; }
.sdac-pct { margin-left: auto; font-weight: 700; color: var(--sdac-teal); }
.sdac-progress--large .sdac-bar { height: 14px; }
.sdac-progress--large .sdac-figures { font-size: 17px; }
.sdac-progress--large .sdac-figures strong { font-family: var(--sdac-head); font-size: 1.9em; line-height: 1.05; }
.sdac-givers { margin: -6px 0 16px; font-size: 14px; color: var(--sdac-muted); }

/* Summary on a dark hero -------------------------------------------------- */
.sdac-summary--dark, .sdac-summary--dark .sdac-meta, .sdac-summary--dark .sdac-givers { color: rgba(255, 255, 255, 0.82); }
.sdac-summary--dark .sdac-figures, .sdac-summary--dark .sdac-figures strong { color: #fff; }
.sdac-summary--dark .sdac-bar { background: rgba(255, 255, 255, 0.18); }
.sdac-summary--dark .sdac-bar > span { background: var(--sdac-gold); }
.sdac-summary--dark .sdac-pct { color: var(--sdac-gold); }
.sdac-summary--dark a.sdac-btn.sdac-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, 0.55); }
.sdac-summary--dark a.sdac-btn.sdac-btn--ghost:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }

/* Buttons ------------------------------------------------------------------ */
.sdac-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
a.sdac-btn { display: inline-block; padding: 13px 22px; border: 2px solid transparent; border-radius: 6px; font-family: var(--sdac-body); font-size: 15px; font-weight: 700; line-height: 1.2; text-decoration: none; transition: transform 0.12s ease, background-color 0.15s ease; }
a.sdac-btn:active { transform: translateY(1px); }
a.sdac-btn.sdac-btn--give { background: var(--sdac-gold); color: var(--sdac-ink); }
a.sdac-btn.sdac-btn--give:hover, a.sdac-btn.sdac-btn--give:focus { background: #DDA308; color: var(--sdac-ink); }
a.sdac-btn.sdac-btn--ghost { border-color: var(--sdac-teal); color: var(--sdac-teal); background: transparent; }
a.sdac-btn.sdac-btn--ghost:hover, a.sdac-btn.sdac-btn--ghost:focus { background: var(--sdac-tint); color: var(--sdac-dark); }
a.sdac-btn:focus-visible { outline: 3px solid var(--sdac-light); outline-offset: 2px; }

/* Give panel --------------------------------------------------------------- */
.sdac-give { scroll-margin-top: 140px; }
.sdac-give__title { margin: 0 0 6px; font-family: var(--sdac-head); font-size: 24px; line-height: 1.15; color: var(--sdac-ink); }
.sdac-give__lead { margin: 0 0 16px; font-size: 15px; line-height: 1.55; color: var(--sdac-muted); }
.sdac-give .flutterwave-payment-form { width: auto; max-width: none; margin: 0; padding: 0; background: transparent; box-shadow: none; border-radius: 0; }
.sdac-give .flw-simple-pay-now-form label { display: block; margin: 12px 0 4px; font-size: 14px; font-weight: 600; color: var(--sdac-ink); }
.sdac-give .flw-simple-pay-now-form input, .sdac-give .flw-simple-pay-now-form select { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #B9CFD2; border-radius: 6px; background: #fff; font-family: var(--sdac-body); font-size: 15px; color: var(--sdac-ink); }
.sdac-give .flw-simple-pay-now-form input:focus, .sdac-give .flw-simple-pay-now-form select:focus { outline: 2px solid var(--sdac-light); outline-offset: 1px; border-color: var(--sdac-teal); }
.sdac-give button#flw-pay-now-button.flw-pay-now-button { width: 100%; margin-top: 18px; padding: 14px 20px; border: 0; border-radius: 6px; background: var(--sdac-gold); color: var(--sdac-ink); font-family: var(--sdac-body); font-size: 16px; font-weight: 700; cursor: pointer; }
.sdac-give button#flw-pay-now-button.flw-pay-now-button:hover { background: #DDA308; }
.sdac-give__other { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--sdac-line); font-size: 15px; line-height: 1.55; }
.sdac-give__other h4 { margin: 0 0 6px; font-family: var(--sdac-head); font-size: 17px; color: var(--sdac-ink); }

/* Notices ------------------------------------------------------------------ */
.sdac-notice { margin: 0 0 18px; padding: 14px 16px; border-radius: 6px; font-size: 15px; line-height: 1.5; }
.sdac-notice--ok { background: #E6F4F1; border-left: 4px solid var(--sdac-teal); color: var(--sdac-ink); }
.sdac-notice--warn { background: #FDF4DC; border-left: 4px solid var(--sdac-gold); color: var(--sdac-ink); }

/* Subscribe ---------------------------------------------------------------- */
.sdac-subscribe { padding: 22px 0 0; border-top: 1px solid var(--sdac-line); }
.sdac-subscribe h3 { margin: 0 0 6px; font-family: var(--sdac-head); font-size: 19px; line-height: 1.2; color: var(--sdac-ink); }
.sdac-subscribe p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--sdac-muted); }
.sdac-subscribe input[type="email"] { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #B9CFD2; border-radius: 6px; font-size: 15px; }
.sdac-subscribe button, .sdac-subscribe input[type="submit"] { margin-top: 8px; padding: 12px 20px; border: 0; border-radius: 6px; background: var(--sdac-teal); color: #fff; font-weight: 700; cursor: pointer; }

/* Jetpack sign-up on a teal band (homepage newsletter section) */
.sdac-subscribe-light, .sdac-subscribe-light p { color: #fff; font-family: var(--sdac-body); }
.sdac-subscribe-light form { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.sdac-subscribe-light form > p, .sdac-subscribe-light form > div { margin: 0; }
.sdac-subscribe-light input[type="email"] { min-width: 260px; flex: 1 1 260px; box-sizing: border-box; padding: 14px 16px; border: 0; border-radius: 6px; font-size: 16px; color: var(--sdac-ink); background: #fff; }
.sdac-subscribe-light button, .sdac-subscribe-light input[type="submit"] { padding: 14px 24px; border: 0; border-radius: 6px; background: var(--sdac-gold); color: var(--sdac-ink); font-size: 16px; font-weight: 700; cursor: pointer; }
.sdac-subscribe-light button:hover, .sdac-subscribe-light input[type="submit"]:hover { background: #DDA308; }

.sdac-section-title { margin: 0 0 22px; font-family: var(--sdac-head); font-size: 30px; line-height: 1.1; color: var(--sdac-ink); }
* + .sdac-section-title { margin-top: 56px; }

/* Updates timeline --------------------------------------------------------- */
.sdac-updates { scroll-margin-top: 140px; }
.sdac-timeline { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--sdac-line); }
.sdac-timeline__item { position: relative; margin: 0 0 30px; padding-left: 26px; }
.sdac-timeline__item::before { content: ""; position: absolute; left: -7px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: var(--sdac-teal); box-shadow: 0 0 0 4px #fff; }
.sdac-timeline time { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sdac-teal); }
.sdac-timeline__body::after { content: ""; display: table; clear: both; }
.sdac-timeline__img { float: right; width: 150px; height: 100px; object-fit: cover; margin: 0 0 8px 18px; border-radius: 6px; }
.sdac-timeline h3 { margin: 0 0 6px; font-family: var(--sdac-head); font-size: 20px; line-height: 1.2; }
.sdac-timeline h3 a, .sdac-timeline h3 a:visited { color: var(--sdac-ink); text-decoration: none; }
.sdac-timeline h3 a:hover, .sdac-timeline h3 a:focus { color: var(--sdac-teal); }
.sdac-timeline p { margin: 0; font-size: 15px; line-height: 1.6; max-width: 62ch; }
.sdac-empty { padding: 18px 20px; background: var(--sdac-tint); border-radius: 6px; font-size: 15px; color: var(--sdac-muted); }

/* Campaign cards ----------------------------------------------------------- */
.sdac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; }
.sdac-grid--1 { grid-template-columns: 1fr; }
.sdac-grid--1 .sdac-card { flex-direction: row; }
.sdac-grid--1 .sdac-card__media { flex: 0 0 48%; aspect-ratio: auto; min-height: 320px; }
.sdac-grid--1 .sdac-card__body { padding: 32px 36px; justify-content: center; }
.sdac-grid--1 .sdac-card__title { font-size: 30px; }
.sdac-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--sdac-line); border-radius: var(--sdac-radius); box-shadow: 0 6px 20px rgba(20, 44, 46, 0.06); }
.sdac-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sdac-dark); }
.sdac-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.sdac-card:hover .sdac-card__media img { transform: scale(1.03); }
.sdac-card__placeholder { display: block; width: 100%; height: 100%; min-height: 180px; background: linear-gradient(135deg, var(--sdac-teal) 0%, var(--sdac-ink) 100%); }
.sdac-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px 24px 24px; }
.sdac-card__title { margin: 0 0 8px; font-family: var(--sdac-head); font-size: 22px; line-height: 1.15; }
.sdac-card__title a, .sdac-card__title a:visited { color: var(--sdac-ink); text-decoration: none; }
.sdac-card__title a:hover, .sdac-card__title a:focus { color: var(--sdac-teal); }
.sdac-card__text { margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: var(--sdac-muted); }
.sdac-card .sdac-progress { margin-top: auto; }
.sdac-card .sdac-btn { align-self: flex-start; margin-top: 4px; }
.sdac-card--completed .sdac-bar > span { background: var(--sdac-muted); }

@media (max-width: 767px) {
	.sdac-grid { grid-template-columns: 1fr; gap: 20px; }
	.sdac-grid--1 .sdac-card { flex-direction: column; }
	.sdac-grid--1 .sdac-card__media { min-height: 0; aspect-ratio: 16 / 10; }
	.sdac-grid--1 .sdac-card__body { padding: 22px 20px; }
	.sdac-grid--1 .sdac-card__title { font-size: 24px; }
	.sdac-timeline__img { float: none; width: 100%; height: 170px; margin: 0 0 10px; }
	.sdac-progress--large .sdac-figures strong { font-size: 1.6em; }
	.sdac-actions .sdac-btn { flex: 1 1 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.sdac-btn, .sdac-card__media img { transition: none; }
	.sdac-card:hover .sdac-card__media img { transform: none; }
}

/* Story content on campaign pages ------------------------------------------ */
.single-sdac_campaign .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 8px 0 28px !important; }
.single-sdac_campaign .gallery .gallery-item { width: auto !important; max-width: none; margin: 0 !important; padding: 0; }
.single-sdac_campaign .gallery img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border: 0 !important; border-radius: 6px; }
.single-sdac_campaign .gallery br { display: none; }
.single-sdac_campaign .elementor-widget-theme-post-content h3 { margin: 32px 0 10px; font-family: var(--sdac-head); font-size: 22px; line-height: 1.2; color: var(--sdac-ink); }
.single-sdac_campaign .elementor-widget-theme-post-content ul { margin: 0 0 20px; padding-left: 20px; }
.single-sdac_campaign .elementor-widget-theme-post-content li { margin-bottom: 8px; }
.single-sdac_campaign .elementor-widget-theme-post-content blockquote { margin: 28px 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--sdac-gold); font-size: 1.1em; font-style: italic; color: var(--sdac-ink); }
.sdac-give__other--only { margin-top: 0; padding-top: 0; border-top: 0; }
@media (max-width: 767px) { .single-sdac_campaign .gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* Campaign updates without a featured image: hide the empty image box of the site post template (Elementor single #3363). */
.sdac-update--no-thumb .elementor-element-c75a67f { display: none; }
.sdac-update .elementor-widget-theme-post-content img.size-large { width: 100%; max-width: 640px; height: auto; margin: 0 auto 24px; display: block; border-radius: 8px; }

/* Campaign updates are published by the church, so the author is not shown. */
.sdac-update .elementor-widget-author-box,
.sdac-update .elementor-post-info__item--type-author,
.sdac-update .elementor-icon-list-item:has(.elementor-post-info__item--type-author) { display: none !important; }
