:root {
  --smv-royal-blue: #3b73dd;
  --smv-mid-blue: #4983e8;
  --smv-light-blue: #5c94f2;
  --smv-gold-trim: #ceb15e;
  --smv-light-gold: #eace87;
  --smv-pale-gold: #f6ebce;
  --smv-parchment: #eff2f9;
  --smv-ink: #23356e;
  --smv-warm-cream: #fff9e9;
  --smv-footer-blue: #3b73dd;
}

/* Show the hero photography at its natural color. The element was also
   removed from the homepage; this rule protects against cached/legacy markup. */
.hero-overlay {
  display: none !important;
  background: transparent !important;
  opacity: 0 !important;
}

/* The two text-heavy sections below the community image should read as warm
   parchment rather than stark white. */
.intro-section,
.heritage-section {
  background: var(--smv-warm-cream) !important;
}

/* Safe defaults. /theme.css.php may override these with approved admin choices. */
.contact-section,
.smv-links-panel {
  background: var(--smv-warm-cream) !important;
  color: var(--smv-ink) !important;
  border-top: 4px solid var(--smv-gold-trim) !important;
  padding: 3rem 0 !important;
}
.contact-section h3,
.contact-section p,
.contact-section address,
.contact-section a,
.smv-links-panel h3,
.smv-links-panel p,
.smv-links-panel address,
.smv-links-panel a { color: var(--smv-ink) !important; }
.smv-links-panel .smv-directions { margin-top: 1rem; display: inline-block; border-color: var(--smv-ink) !important; }

.site-footer {
  background: var(--smv-footer-blue) !important;
  color: var(--smv-warm-cream) !important;
  border-top: 1px solid var(--smv-gold-trim) !important;
}
.site-footer::before,
.site-footer::after { background: var(--smv-gold-trim) !important; }
.site-footer a,
.site-footer .footer-copy,
.site-footer .footer-intercessions,
.site-footer .footer-logo,
.site-footer .footer-social-link { color: var(--smv-warm-cream) !important; }
.site-footer a:hover { color: var(--smv-light-gold) !important; }

/* Keep the site shell consistent on PHP pages. */
.public-site-page { background: var(--smv-parchment); }
.public-site-page .site-header { position: relative; }
.public-site-page .public-calendar-main { max-width: 1180px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem); }
.public-site-page .calendar-heading { margin-bottom: 1.5rem; }
.public-site-page .calendar-heading h1 { margin-bottom: .6rem; }
.public-site-page .announcement-strip { margin-bottom: 2rem; }
.public-site-page .calendar-column { background: #fffdf8; }

/* Homepage nameplate v2: one type family, one typographic voice.
   The previous <em> treatment remains in the base stylesheet for rollback. */
.hero-title.hero-title-unified,
.hero-title.hero-title-unified span,
.hero-title.hero-title-unified strong {
  font-family: "Cinzel", Georgia, serif !important;
  font-style: normal !important;
  text-transform: none;
}
.hero-title.hero-title-unified {
  font-weight: 600 !important;
  letter-spacing: .025em;
  text-wrap: balance;
}
.hero-title.hero-title-unified strong {
  color: inherit !important;
  font-weight: 600 !important;
}

@media (max-width: 850px) {
  .smv-links-panel { padding: 2rem 0 !important; }
}
