/* ============================================================
   TCGC pages-c.css
   1:1 port of the designer v2 PAGE BODIES (Builder C set):
     - sermons.jsx          -> .wc-sermons-*
     - sermon-lift-up.jsx   -> .wc-sermon-single-*
     - events.jsx           -> .wc-events-*
     - event-single.jsx     -> .wc-event-single-*
     - 404.jsx              -> .wc-404-*

   Every value below is taken verbatim from the inline `style={{…}}`
   objects in the matching .jsx mockup. Shared chrome (header, footer,
   breadcrumb, page hero) is NOT restyled here — it stays driven by
   interior.css. This file is fully .wc-* scoped (no generic selectors)
   so it is safe to enqueue site-wide; we only need it on the 5 pages.

   Tokens reused from tokens.css; the two v2-only colours (--ink-soft,
   --forest-deep) are already declared (scoped) by interior.css.
   ============================================================ */

/* shared section edge padding parity with the mockups (40px desktop) */
.wc-c-section { padding: 0 40px; }

/* ============================================================
   sermons.jsx — archive
   ============================================================ */

/* filter bar — section bg sandDeep, 24px 40px, 1px sand bottom border */
.wc-sermons-filter {
  background: var(--sand-deep);
  padding: 24px 40px;
  border-bottom: 1px solid var(--sand);
}
.wc-sermons-filter__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.wc-sermons-filter__group { display: flex; align-items: center; gap: 10px; }
.wc-sermons-filter__label {
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
/* the designer's <select> look — reused 1:1 for the Type filter links */
.wc-sermons-filter__pills { display: flex; gap: 8px; flex-wrap: wrap; }
.wc-sermons-filter__pill {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--sand-deep);
  background: var(--cream);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}
.wc-sermons-filter__pill:hover { border-color: var(--crimson); color: var(--crimson); }
.wc-sermons-filter__pill.is-active {
  background: var(--crimson);
  border-color: var(--crimson);
  color: var(--cream);
}
.wc-sermons-filter__count {
  margin-left: auto;
  font-size: 13px;
  color: var(--muted);
}

/* featured */
.wc-sermons-featured {
  padding: 48px 40px 28px;
  background: var(--cream);
}
.wc-sermons-featured__inner { max-width: 1280px; margin: 0 auto; }
.wc-featured-grid {
  background: var(--ink);
  color: var(--cream);
  border-radius: 24px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  text-decoration: none;
}
.wc-featured-grid__media {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  background: var(--crimson);
}
.wc-featured-grid__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
}
.wc-featured-grid__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wc-featured-grid__play span {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--gold-light);
  display: flex;
  align-items: center;
  justify-content: center;
}
.wc-featured-grid__play span::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 22px solid var(--ink);
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  margin-left: 6px;
}
.wc-featured-grid__badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: var(--gold);
  color: var(--ink);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
}
.wc-featured-grid__body {
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wc-featured-grid__eyebrow {
  font-size: 12px;
  color: var(--gold-light);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.wc-featured-grid__title {
  font-family: var(--font-serif);
  font-size: 38px;
  font-weight: 600;
  margin: 0 0 12px;
  line-height: 1.1;
}
.wc-featured-grid__meta { font-size: 14px; opacity: 0.7; margin-bottom: 22px; }
.wc-featured-grid__date { font-size: 12px; opacity: 0.5; letter-spacing: 1px; }

/* grid */
.wc-sermons-grid-sec { padding: 0 40px 80px; background: var(--cream); }
.wc-sermons-grid-sec__inner { max-width: 1280px; margin: 0 auto; }
.wc-sermons-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.wc-sermon-card {
  background: var(--cream);
  border: 1.5px solid var(--sand-deep);
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  display: block;
}
.wc-sermon-card:hover { box-shadow: var(--shadow-md); }
.wc-sermon-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  position: relative;
}
.wc-sermon-card__media img { width: 100%; height: 100%; object-fit: cover; }
.wc-sermon-card__tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: rgba(251, 246, 236, 0.94);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  color: var(--crimson);
  letter-spacing: 1px;
}
.wc-sermon-card__body { padding: 20px; }
.wc-sermon-card__title {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 6px;
  line-height: 1.25;
}
.wc-sermon-card__sub { font-size: 12px; color: var(--ink-soft); margin-bottom: 10px; }
.wc-sermon-card__foot {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.5px;
}
/* "Planned" group label — keeps designer card layout, neutral heading */
.wc-sermons-group-head {
  max-width: 1280px;
  margin: 48px auto 18px;
  font-size: 12px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.wc-sermons-group-head__note {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: var(--muted);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

/* ============================================================
   sermon-lift-up.jsx — single sermon
   ============================================================ */
.wc-ss-hero {
  background: var(--ink);
  color: var(--cream);
  padding: 40px 40px 0;
}
.wc-ss-hero__inner { max-width: 1100px; margin: 0 auto; }
.wc-ss-hero__eyebrow {
  font-size: 12px;
  color: var(--gold-light);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.wc-ss-hero__eyebrow a { color: inherit; text-decoration: none; }
.wc-ss-hero__title {
  font-family: var(--font-serif);
  font-size: 64px;
  font-weight: 600;
  line-height: 1;
  margin: 0 0 18px;
  letter-spacing: -1.5px;
}
.wc-ss-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 13px;
  opacity: 0.8;
  margin-bottom: 28px;
}
.wc-ss-hero__poster {
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  background: var(--crimson);
  margin-bottom: 28px;
}
.wc-ss-hero__poster img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
}
.wc-ss-hero__poster-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wc-ss-hero__poster-play span {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
}
.wc-ss-hero__poster-play span::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 24px solid var(--ink);
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  margin-left: 8px;
}
.wc-ss-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding-bottom: 40px;
}
.wc-ss-hero__action {
  background: rgba(251, 246, 236, 0.06);
  color: var(--cream);
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(251, 246, 236, 0.13);
}
.wc-ss-hero__action:hover { background: rgba(251, 246, 236, 0.12); }
.wc-ss-hero__action span { margin-right: 8px; }

/* notes body */
.wc-ss-body { padding: 64px 40px; background: var(--cream); }
.wc-ss-body__inner { max-width: 880px; margin: 0 auto; }
.wc-ss-block { margin-bottom: 40px; }
.wc-ss-kicker {
  font-size: 12px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.wc-ss-lead { font-size: 18px; line-height: 1.8; color: var(--ink-soft); margin: 0 0 14px; }
.wc-ss-prose { font-size: 17px; line-height: 1.85; color: var(--ink-soft); }
.wc-ss-prose p { margin: 0 0 14px; }
.wc-ss-prose ol, .wc-ss-prose ul { font-size: 16px; line-height: 1.8; color: var(--ink-soft); padding-left: 20px; margin: 0 0 14px; }
.wc-ss-prose li { margin-bottom: 8px; }
.wc-ss-quote {
  background: var(--sand-deep);
  border-left: 5px solid var(--crimson);
  padding: 28px 32px;
  border-radius: 14px;
  margin-bottom: 36px;
}
.wc-ss-quote__label {
  font-size: 12px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.wc-ss-quote__text {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--ink);
  margin: 0;
  font-style: italic;
}
.wc-ss-point {
  margin-bottom: 36px;
  padding: 28px 32px;
  background: var(--cream);
  border: 1.5px solid var(--sand-deep);
  border-radius: 16px;
}
.wc-ss-point__head { display: flex; align-items: baseline; gap: 18px; margin-bottom: 16px; }
.wc-ss-point__n {
  font-family: var(--font-serif);
  font-size: 48px;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}
.wc-ss-point__t {
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
}
.wc-ss-point__body p { font-size: 16px; line-height: 1.8; color: var(--ink-soft); margin: 12px 0 0; }
.wc-ss-point__body p:first-child { margin-top: 0; }
.wc-ss-conc {
  margin-top: 48px;
  padding: 36px;
  background: var(--crimson);
  color: var(--cream);
  border-radius: 20px;
}
.wc-ss-conc__label {
  font-size: 12px;
  color: var(--gold-light);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.wc-ss-conc__title {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 18px;
  line-height: 1.2;
}
.wc-ss-conc__body { font-size: 15px; line-height: 1.8; opacity: 0.95; }
.wc-ss-conc__body ol, .wc-ss-conc__body ul { padding-left: 22px; margin: 0; }
.wc-ss-conc__body li { margin-bottom: 8px; }
.wc-ss-conc__body p { margin: 0 0 12px; }
.wc-ss-author {
  margin-top: 40px;
  padding: 24px;
  background: var(--sand);
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 18px;
}
.wc-ss-author img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--gold);
  flex-shrink: 0;
}
.wc-ss-author__name { font-family: var(--font-serif); font-size: 18px; font-weight: 700; color: var(--ink); }
.wc-ss-author__role { font-size: 13px; color: var(--crimson); font-weight: 600; }
.wc-ss-author__bio { font-size: 12px; color: var(--muted); margin-top: 4px; }
.wc-ss-back { margin-top: 28px; text-align: center; }
.wc-ss-back a {
  color: var(--crimson);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-decoration: none;
  border-bottom: 2px solid var(--crimson);
  padding-bottom: 3px;
}
/* planned-sermon notice (graceful, keeps page structure) */
.wc-ss-planned {
  background: var(--sand);
  border: 1px dashed var(--gold);
  border-radius: 14px;
  padding: 22px 26px;
  margin-bottom: 36px;
  font-size: 16px;
  color: var(--ink-soft);
}

/* ============================================================
   events.jsx — list
   ============================================================ */
.wc-events-filter { background: var(--sand-deep); padding: 20px 40px; }
.wc-events-filter__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.wc-events-filter__btn {
  padding: 8px 18px;
  border-radius: 999px;
  border: none;
  background: var(--cream);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: 0.5px;
  text-decoration: none;
  display: inline-block;
}
.wc-events-filter__btn:hover { color: var(--crimson); }
.wc-events-filter__btn.is-active { background: var(--crimson); color: var(--cream); }
.wc-events-filter__count {
  margin-left: auto;
  font-size: 13px;
  color: var(--muted);
  align-self: center;
}
.wc-events-grid-sec { padding: 48px 40px 80px; background: var(--cream); }
.wc-events-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.wc-event-card {
  background: var(--cream);
  border: 1.5px solid var(--sand-deep);
  border-radius: 22px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-decoration: none;
}
.wc-event-card:hover { box-shadow: var(--shadow-md); }
.wc-event-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 4px;
}
.wc-event-card__media img { width: 100%; height: 100%; object-fit: cover; }
.wc-event-card__date {
  position: absolute;
  top: 12px;
  left: 12px;
  border-radius: 12px;
  padding: 10px 14px;
  text-align: center;
  min-width: 60px;
  background: #FDE8E3;
  color: var(--crimson);
}
.wc-event-card__date-d { font-family: var(--font-serif); font-size: 24px; font-weight: 700; line-height: 1; }
.wc-event-card__date-m { font-size: 10px; font-weight: 700; letter-spacing: 1px; margin-top: 2px; }
.wc-event-card__tagpill {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 5px 10px;
  background: rgba(251, 246, 236, 0.94);
  border-radius: 999px;
  font-size: 10px;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: 1px;
}
.wc-event-card__title {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 8px;
  line-height: 1.2;
}
.wc-event-card__blurb { font-size: 13px; color: var(--ink-soft); margin-bottom: 8px; }
.wc-event-card__meta {
  font-size: 12px;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.wc-event-card__cta {
  margin-top: auto;
  font-size: 12px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 0.5px;
}
/* recurring-cadence colour variants (designer used per-tag colours) */
.wc-event-card--service  .wc-event-card__date { background: #FDE8E3; color: var(--crimson); }
.wc-event-card--service  .wc-event-card__cta  { color: var(--crimson); }
.wc-event-card--teaching .wc-event-card__date { background: #E3F1E9; color: var(--forest); }
.wc-event-card--teaching .wc-event-card__cta  { color: var(--forest); }
.wc-event-card--prayer   .wc-event-card__date { background: #FBF0D8; color: var(--gold); }
.wc-event-card--prayer   .wc-event-card__cta  { color: var(--gold); }
.wc-event-card--annual   .wc-event-card__date { background: #F3E5D1; color: #6B4423; }
.wc-event-card--annual   .wc-event-card__cta  { color: #6B4423; }

/* events-page MISSING notice (no real one-off events) */
.wc-events-note {
  max-width: 1280px;
  margin: 0 auto 28px;
  background: var(--sand);
  border: 1px dashed var(--gold);
  border-radius: 14px;
  padding: 18px 22px;
  font-size: 14px;
  color: var(--ink-soft);
}

/* ============================================================
   event-single.jsx
   ============================================================ */
.wc-es-hero { position: relative; min-height: 360px; overflow: hidden; }
.wc-es-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wc-es-hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(138, 31, 14, 0.8), rgba(42, 24, 16, 0.93));
}
.wc-es-hero__inner {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 40px;
  color: var(--cream);
}
.wc-es-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  background: var(--gold);
  color: var(--ink);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  margin-bottom: 18px;
}
.wc-es-hero__title {
  font-family: var(--font-serif);
  font-size: 64px;
  font-weight: 600;
  line-height: 1;
  margin: 0 0 18px;
  letter-spacing: -1.5px;
}
.wc-es-hero__meta { font-size: 16px; opacity: 0.9; display: flex; gap: 14px; flex-wrap: wrap; }
.wc-es-body { padding: 64px 40px; background: var(--cream); }
.wc-two-col {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 48px;
}
.wc-es-kicker {
  font-size: 12px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.wc-es-h2 {
  font-family: var(--font-serif);
  font-size: 36px;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 22px;
  color: var(--ink);
  letter-spacing: -0.6px;
}
.wc-es-p { font-size: 17px; line-height: 1.8; color: var(--ink-soft); margin: 0 0 16px; }
.wc-es-card {
  background: var(--sand);
  border-radius: 16px;
  padding: 22px;
  margin-bottom: 24px;
}
.wc-es-card--deep { background: var(--sand-deep); margin-bottom: 0; }
.wc-es-card__label {
  font-size: 11px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.wc-es-card ul { font-size: 14px; line-height: 1.8; color: var(--ink-soft); margin: 0; padding-left: 18px; }
.wc-es-times { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-size: 14px; color: var(--ink); }
.wc-es-times__row {
  background: var(--cream);
  padding: 10px 14px;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
}
.wc-es-times__row span:first-child { font-weight: 600; }
.wc-es-times__row span:last-child { color: var(--crimson); font-weight: 700; }
.wc-es-aside__box {
  background: var(--crimson);
  color: var(--cream);
  border-radius: 18px;
  padding: 28px;
  position: sticky;
  top: 100px;
}
.wc-es-aside__label {
  font-size: 11px;
  color: var(--gold-light);
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.wc-es-aside__title { font-family: var(--font-serif); font-size: 24px; font-weight: 700; margin: 0 0 14px; }
.wc-es-aside__intro { font-size: 13px; line-height: 1.65; opacity: 0.9; margin-bottom: 20px; }
.wc-es-field { margin-bottom: 10px; }
.wc-es-field label {
  display: block;
  font-size: 11px;
  color: var(--gold-light);
  letter-spacing: 1px;
  margin-bottom: 4px;
  font-weight: 600;
}
.wc-es-field input,
.wc-es-field select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: none;
  background: var(--cream);
  color: var(--ink);
  font-size: 13px;
}
.wc-es-aside__submit {
  width: 100%;
  margin-top: 12px;
  background: var(--ink);
  color: var(--cream);
  border: none;
  padding: 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.wc-es-aside__foot {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(251, 246, 236, 0.13);
  font-size: 12px;
  opacity: 0.7;
  text-align: center;
}

/* ============================================================
   404.jsx
   ============================================================ */
.wc-404 {
  padding: 120px 40px;
  background: var(--sand);
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 200px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.wc-404__inner { position: relative; text-align: center; max-width: 680px; }
.wc-404__code {
  font-family: var(--font-serif);
  font-size: 160px;
  font-weight: 700;
  color: var(--crimson);
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: -6px;
}
.wc-404__eyebrow {
  font-size: 13px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.wc-404__title {
  font-family: var(--font-serif);
  font-size: 48px;
  font-weight: 600;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 18px;
  letter-spacing: -1px;
}
.wc-404__lead { font-size: 17px; line-height: 1.7; color: var(--ink-soft); margin-bottom: 36px; }
.wc-404__cta-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.wc-404__cta-primary {
  background: var(--crimson);
  color: var(--cream);
  padding: 14px 26px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.wc-404__cta-secondary {
  background: transparent;
  color: var(--ink);
  border: 1.5px solid var(--ink);
  padding: 13px 24px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.wc-404__or { font-size: 12px; color: var(--muted); letter-spacing: 1px; margin-bottom: 12px; }
.wc-404__links {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 600;
}
.wc-404__links a {
  color: var(--crimson);
  text-decoration: none;
  border-bottom: 2px solid var(--crimson);
  padding-bottom: 2px;
}
.wc-404__verse {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid rgba(42, 24, 16, 0.08);
  font-style: italic;
  color: var(--muted);
  font-size: 15px;
  font-family: var(--font-serif);
}

/* ============================================================
   Responsive — exact designer breakpoints
     sermons/events:  900px -> 1col ; events 901-1200 -> 2col
     event-single:    900px -> 1col
   ============================================================ */
@media (max-width: 1200px) and (min-width: 901px) {
  .wc-events-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 900px) {
  .wc-featured-grid { grid-template-columns: 1fr !important; }
  .wc-sermons-grid { grid-template-columns: 1fr !important; }
  .wc-events-grid  { grid-template-columns: 1fr !important; }
  .wc-two-col      { grid-template-columns: 1fr !important; }
}
@media (max-width: 768px) {
  .wc-ss-hero__title  { font-size: 40px !important; }
  .wc-es-hero__title  { font-size: 40px !important; }
  .wc-404__code       { font-size: 110px !important; }
  .wc-404__title      { font-size: 34px !important; }
}
@media (max-width: 600px) {
  .wc-c-section,
  .wc-sermons-filter,
  .wc-sermons-featured,
  .wc-sermons-grid-sec,
  .wc-ss-hero,
  .wc-ss-body,
  .wc-events-filter,
  .wc-events-grid-sec,
  .wc-es-body,
  .wc-404 { padding-left: 20px; padding-right: 20px; }
  .wc-es-hero__inner { padding: 48px 20px; }
  .wc-es-times { grid-template-columns: 1fr; }
}
