:root {
  --primary-purple: #2B0C30;
  --primary-purple-dark: #1E0722;
  --accent-gold: #EAB83F;
  --accent-gold-hover: #d8a531;
  --text-light: #FFFFFF;
  --text-muted: #D1C5D5;
  --border-dark: rgba(255, 255, 255, 0.1);
  --font-bebas: 'Bebas Neue', sans-serif;
  --font-proxima: 'Proxima Nova', sans-serif;
  --font-script: 'Abuget', cursive;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
  font-family: var(--font-proxima);
  background-color: var(--primary-purple-dark);
  color: #fff;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* GSAP Animated Word / Character Wrappers */
.split-word {
  display: inline-block;
  white-space: nowrap;
  perspective: 1200px;
}

.split-char {
  display: inline-block;
  will-change: transform, opacity;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

/* ==========================================================
   HERO / BANNER & FLOATING NAVBAR SECTION
   ========================================================== */
.hero-banner-section {
  position: relative;
  background: linear-gradient(to bottom, transparent calc(100% - 50px), #FFFFFF calc(100% - 50px)) !important;
  padding: 0;
  width: 100%;
  border-radius: 0 !important;
}

.hero-banner-container {
  position: relative;
  background-image: url('../images/banner-bg.webp');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  border-radius: 0;
  border-bottom-left-radius: 25px !important;
  border-bottom-right-radius: 25px !important;
  overflow: hidden !important;
  min-height: 840px;
  display: flex;
  flex-direction: column;
}

.hero-banner-container::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(30, 7, 34, 0.94) 0%, rgba(43, 12, 48, 0.8) 45%, rgba(43, 12, 48, 0.25) 100%);
  pointer-events: none;
  z-index: 1;
  border-bottom-left-radius: 25px !important;
  border-bottom-right-radius: 25px !important;
}

/* Floating Navbar */
.church-navbar {
  position: relative;
  z-index: 20;
  background: #FFFFFF;
  border-radius: 12px;
  margin: 32px 30px 0 30px;
  padding: 10px 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

/* Protruding Logo Badge (Circular / Ellipse extending top and bottom) */
.nav-logo-badge-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  margin-right: 25px;
}

.nav-logo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  margin-top: -24px;
  margin-bottom: -24px;
  position: relative;
  z-index: 25;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
}

.nav-logo-badge:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
}

.nav-logo {
  max-width: 110px;
  height: auto;
  display: block;
}

.church-navbar .navbar-nav {
  gap: 12px;
}

.church-navbar .nav-link {
  font-family: var(--font-bebas);
  font-size: 1.25rem;
  letter-spacing: 1.2px;
  color: #1a1a1a;
  padding: 6px 10px !important;
  text-transform: uppercase;
  transition: color 0.25s ease;
}

.church-navbar .nav-link:hover,
.church-navbar .nav-link.active {
  color: var(--primary-purple);
}

.btn-nav-outline {
  border: 1.5px solid var(--primary-purple);
  color: var(--primary-purple);
  background: transparent;
  font-family: var(--font-bebas);
  font-size: 1.2rem;
  letter-spacing: 1.2px;
  padding: 8px 22px;
  border-radius: 6px;
  text-transform: uppercase;
  transition: all 0.25s ease;
  text-decoration: none;
}

.btn-nav-outline:hover {
  background-color: var(--primary-purple);
  color: #FFFFFF;
}

.btn-nav-gold {
  background-color: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.2rem;
  letter-spacing: 1.2px;
  padding: 8px 22px;
  border-radius: 6px;
  text-transform: uppercase;
  border: none;
  transition: all 0.25s ease;
  text-decoration: none;
  font-weight: 400;
}

.btn-nav-gold:hover {
  background-color: var(--accent-gold-hover);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(234, 184, 63, 0.4);
}

/* Hero Content Wrapper */
.hero-content-wrapper {
  position: relative;
  z-index: 2;
  margin-top: auto;
  margin-bottom: auto;
  padding: 80px 0 100px 0;
}

.hero-content {
  max-width: 680px;
}

.hero-pill-badge {
  display: inline-block;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #EDE3F1;
  font-family: var(--font-proxima);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  padding: 8px 22px;
  border-radius: 50px;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.15);
  margin-bottom: 24px;
}

.hero-main-title {
  font-family: var(--font-bebas);
  font-size: clamp(3.6rem, 7.5vw, 6.2rem);
  color: #FFFFFF;
  line-height: 1.02;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 22px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.hero-script-text,
.hero-script-text *,
.hero-script-text .split-word,
.hero-script-text .split-char {
  font-family: var(--font-script) !important;
  color: var(--accent-gold) !important;
  text-transform: none;
  font-weight: normal;
  letter-spacing: 1px;
  transform: rotate(-3deg);
  display: inline-block;
  line-height: 0.85;
}

.hero-description {
  font-family: var(--font-proxima);
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.6;
  color: #E2D9E7;
  max-width: 580px;
  margin-bottom: 34px;
  font-weight: 400;
}

.hero-btn-wrap {
  position: relative;
  display: block;
  width: fit-content;
}

.btn-hero-cta {
  background-color: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.45rem;
  letter-spacing: 1.5px;
  padding: 14px 38px;
  border-radius: 8px;
  border: none;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
  text-decoration: none;
}

.btn-hero-cta:hover {
  background-color: var(--accent-gold-hover);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(234, 184, 63, 0.45);
}

.btn-hero-cta i {
  font-size: 1.1rem;
  transition: transform 0.3s ease;
}

.btn-hero-cta:hover i {
  transform: translateX(4px);
}

/* Mobile Hamburger Toggler */
.church-nav-toggler {
  border: none;
  background: rgba(43, 12, 48, 0.06);
  padding: 8px 10px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  outline: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease;
}

.church-nav-toggler:hover {
  background: rgba(43, 12, 48, 0.12);
}

.church-hamburger-box {
  width: 26px;
  height: 20px;
  display: inline-block;
  position: relative;
}

.church-hamburger-inner,
.church-hamburger-inner::before,
.church-hamburger-inner::after {
  width: 26px;
  height: 2.5px;
  background-color: var(--primary-purple);
  border-radius: 4px;
  position: absolute;
  transition: all 0.3s ease;
}

.church-hamburger-inner {
  top: 50%;
  transform: translateY(-50%);
}

.church-hamburger-inner::before {
  content: '';
  top: -8px;
}

.church-hamburger-inner::after {
  content: '';
  bottom: -8px;
}

/* ==========================================================
   OFFCANVAS MOBILE DRAWER STYLING
   ========================================================== */
.church-drawer {
  background-color: var(--primary-purple);
  color: #FFFFFF;
  width: 320px !important;
  max-width: 85vw;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: -10px 0 35px rgba(0, 0, 0, 0.5);
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  overflow: hidden !important;
}

.church-drawer-header {
  padding: 24px 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0 !important;
}

.drawer-brand-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.drawer-logo {
  max-width: 52px;
  height: auto;
}

.drawer-church-name {
  font-family: var(--font-bebas);
  font-size: 1.35rem;
  letter-spacing: 1.2px;
  line-height: 1;
  color: #FFFFFF;
}

.drawer-church-tag {
  font-family: var(--font-proxima);
  font-size: 0.65rem;
  letter-spacing: 1.5px;
  color: var(--accent-gold);
  font-weight: 700;
  text-transform: uppercase;
}

.btn-close-drawer {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: all 0.25s ease;
  cursor: pointer;
}

.btn-close-drawer:hover {
  background: var(--accent-gold);
  color: #111111;
  border-color: var(--accent-gold);
  transform: rotate(90deg);
}

.church-drawer-body {
  padding: 25px 22px 35px 22px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
}

/* Sleek Scrollbar for Mobile Drawer */
.church-drawer-body::-webkit-scrollbar {
  width: 5px;
}

.church-drawer-body::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 6px;
}

.church-drawer-body::-webkit-scrollbar-thumb {
  background: var(--accent-gold);
  border-radius: 6px;
}

.church-drawer-body::-webkit-scrollbar-thumb:hover {
  background: #ffda73;
}

.drawer-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.drawer-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 10px;
  color: #ECE3F1;
  text-decoration: none;
  font-family: var(--font-bebas);
  font-size: 1.35rem;
  letter-spacing: 1.2px;
  transition: all 0.25s ease;
  background: transparent;
}

.drawer-nav-link i {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.4);
  transition: transform 0.25s ease, color 0.25s ease;
}

.drawer-nav-link:hover,
.drawer-nav-link.active {
  background: rgba(234, 184, 63, 0.12);
  color: var(--accent-gold);
  padding-left: 20px;
}

.drawer-nav-link:hover i,
.drawer-nav-link.active i {
  transform: translateX(3px);
  color: var(--accent-gold);
}

.btn-drawer-primary {
  background-color: transparent;
  color: #FFFFFF;
  border: 1.5px solid var(--accent-gold);
  font-family: var(--font-bebas);
  font-size: 1.25rem;
  letter-spacing: 1.5px;
  padding: 12px 20px;
  border-radius: 8px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.btn-drawer-primary:hover {
  background-color: var(--accent-gold);
  color: #111111;
}

.btn-drawer-gold {
  background-color: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.25rem;
  letter-spacing: 1.5px;
  padding: 12px 20px;
  border-radius: 8px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
}

.btn-drawer-gold:hover {
  background-color: var(--accent-gold-hover);
  color: #000;
  transform: translateY(-2px);
}

.drawer-quick-info {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.drawer-info-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--font-proxima);
  font-size: 0.85rem;
  color: #D3C4DB;
  line-height: 1.45;
}

.drawer-info-item i {
  color: var(--accent-gold);
  font-size: 0.95rem;
  margin-top: 2px;
  flex-shrink: 0;
}

@media (max-width: 1199.98px) {
  .church-navbar {
    margin: 20px 15px 0 15px;
    padding: 8px 16px;
  }

  .nav-logo-badge {
    width: 105px;
    height: 105px;
    margin-top: -15px;
    margin-bottom: -15px;
  }

  .nav-logo {
    max-width: 90px;
  }
}

@media (max-width: 767.98px) {
  .hero-banner-section {
    padding: 0;
  }

  .hero-banner-container {
    min-height: 720px;
  }

  .church-navbar {
    margin: 15px 12px 0 12px;
    padding: 8px 14px;
  }

  .nav-logo-badge {
    width: 90px;
    height: 90px;
    margin-top: -10px;
    margin-bottom: -10px;
  }

  .nav-logo {
    max-width: 76px;
  }
}

/* ==========================================================
   ABOUT US SECTION
   ========================================================== */
.about-section {
  background-color: #FFFFFF;
  padding: 85px 0 75px 0;
  position: relative;
}

/* Top Intro Pill & Lead Statement */
.about-intro-wrap {
  max-width: 980px;
  margin-bottom: 55px;
}

.about-badge {
  display: inline-block;
  border: 1px solid rgba(43, 12, 48, 0.2);
  color: var(--primary-purple);
  font-family: var(--font-proxima);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 5px 18px;
  border-radius: 50px;
  text-transform: uppercase;
}

.about-lead-text {
  font-family: var(--font-proxima);
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.68;
  color: #333333;
  font-weight: 400;
  margin-bottom: 0;
}

.about-lead-text .highlight-purple {
  color: var(--primary-purple);
  font-weight: 700;
}

.about-lead-text strong {
  color: #222222;
  font-weight: 600;
}

/* Main 2-Column Row */
.about-main-row {
  margin-bottom: 60px;
}

.about-img-container {
  width: 100%;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
  background-color: #f5f5f5;
}

.about-img {
  width: 100%;
  height: 100%;
  max-height: 480px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.about-img-container:hover .about-img {
  transform: scale(1.02);
}

.about-main-title {
  font-family: var(--font-bebas);
  font-size: clamp(2.8rem, 5.2vw, 4.2rem);
  line-height: 1.08;
  letter-spacing: 1.5px;
  color: #111111;
  margin-bottom: 22px;
  text-transform: uppercase;
}

.about-script-text {
  font-family: var(--font-script);
  color: var(--accent-gold);
  font-size: clamp(3.2rem, 5.8vw, 4.8rem);
  text-transform: none;
  font-weight: normal;
  letter-spacing: 0;
  transform: rotate(-3deg);
  display: inline-block;
  line-height: 0.85;
  margin-left: 6px;
}

.about-story-text {
  font-family: var(--font-proxima);
  font-size: 0.94rem;
  line-height: 1.65;
  color: #555555;
  margin-bottom: 16px;
  font-weight: 400;
}

.about-action-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.btn-about-primary {
  background-color: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.3rem;
  letter-spacing: 1.5px;
  padding: 10px 30px;
  border-radius: 6px;
  border: none;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(234, 184, 63, 0.25);
  text-decoration: none;
}

.btn-about-primary:hover {
  background-color: var(--accent-gold-hover);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(234, 184, 63, 0.4);
}

.btn-about-primary i {
  font-size: 1rem;
  transition: transform 0.3s ease;
}

.btn-about-primary:hover i {
  transform: translateX(4px);
}

.btn-about-secondary {
  background-color: #FFFFFF;
  color: var(--primary-purple);
  border: 1.5px solid rgba(43, 12, 48, 0.15);
  font-family: var(--font-bebas);
  font-size: 1.3rem;
  letter-spacing: 1.5px;
  padding: 9px 28px;
  border-radius: 6px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.btn-about-secondary:hover {
  background-color: #F8F2F9;
  border-color: var(--primary-purple);
  color: var(--primary-purple);
  transform: translateY(-2px);
}

/* 4 Feature / Schedule Cards */
.about-cards-row {
  margin-top: 20px;
}

.about-feature-card {
  background: #FAF5FC;
  border-radius: 12px;
  padding: clamp(20px, 2.5vw, 32px) clamp(14px, 1.8vw, 20px);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(43, 12, 48, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.about-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(43, 12, 48, 0.08);
}

.about-card-title {
  font-family: var(--font-bebas);
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  letter-spacing: 1.2px;
  color: var(--primary-purple-dark);
  margin-bottom: 8px;
  text-transform: uppercase;
  line-height: 1.15;
  word-break: break-word;
  overflow-wrap: break-word;
}

.about-card-desc {
  font-family: var(--font-proxima);
  font-size: clamp(0.85rem, 1.1vw, 0.95rem);
  color: #4b3d50;
  line-height: 1.45;
  font-weight: 500;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* ==========================================================
   SENIOR PASTOR SECTION (FULL WIDTH)
   ========================================================== */
.pastor-section {
  position: relative;
  background-image: url('../images/senior-pastor-bg.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 100px 0;
  overflow: hidden !important;
  border-radius: 0;
  border-top-left-radius: 25px !important;
  border-top-right-radius: 25px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.18);
}

.pastor-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(43, 12, 48, 1) 0%, rgba(30, 7, 34, 0.58) 100%);
  pointer-events: none;
  border-top-left-radius: 25px !important;
  border-top-right-radius: 25px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.pastor-content {
  position: relative;
  z-index: 2;
  color: #FFFFFF;
}

.pastor-script-subtitle {
  font-family: var(--font-script);
  color: var(--accent-gold);
  font-size: clamp(2.8rem, 5.5vw, 4.2rem);
  line-height: 0.9;
  letter-spacing: 1px;
  transform: rotate(-2deg);
  margin-bottom: 8px;
}

.pastor-title {
  font-family: var(--font-bebas);
  font-size: clamp(3.2rem, 6.5vw, 5.2rem);
  color: #FFFFFF;
  letter-spacing: 2px;
  line-height: 1.05;
  margin-bottom: 24px;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

.pastor-desc {
  font-family: var(--font-proxima);
  font-size: 0.96rem;
  line-height: 1.68;
  color: #ede6f2;
  margin-bottom: 20px;
  font-weight: 400;
  max-width: 620px;
}

.pastor-btn-wrap {
  margin-top: 32px;
}

.btn-pastor-bio {
  background-color: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.35rem;
  letter-spacing: 1.5px;
  padding: 12px 34px;
  border-radius: 8px;
  border: none;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  text-decoration: none;
}

.btn-pastor-bio:hover {
  background-color: var(--accent-gold-hover);
  color: #000000;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(234, 184, 63, 0.4);
}

.btn-pastor-bio i {
  font-size: 1.05rem;
  transition: transform 0.3s ease;
}

.btn-pastor-bio:hover i {
  transform: translateX(4px);
}

/* Right Imagery Composition */
.pastor-visual-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.pastor-big-img-card {
  width: 100%;
  max-width: 460px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.45);
  background-color: rgba(255, 255, 255, 0.05);
}

.pastor-big-img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  object-position: top center;
  display: block;
}

/* Small Overlapping Family/Wife Badge */
.pastor-family-badge {
  position: absolute;
  bottom: 30px;
  left: -20px;
  width: 200px;
  border-radius: 16px;
  overflow: hidden;
  border: 4px solid #FFFFFF;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.5);
  z-index: 3;
  transition: transform 0.3s ease;
}

.pastor-family-badge:hover {
  transform: scale(1.04);
}

.pastor-family-img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 991.98px) {
  .pastor-section {
    padding: 70px 0;
  }

  .pastor-family-badge {
    position: static;
    margin-top: 15px;
    width: 180px;
  }

  .pastor-visual-wrap {
    flex-direction: column;
    align-items: center;
  }
}

/* ==========================================================
   SUPPORT THE MISSION / WHY WE GIVE SECTION
   ========================================================== */
.mission-section {
  background-color: #FFFFFF;
  padding: 100px 0 80px 0;
  position: relative;
}

.mission-header {
  margin-bottom: 50px;
}

.mission-script-subtitle {
  font-family: var(--font-script);
  color: var(--accent-gold);
  font-size: clamp(2.8rem, 5.5vw, 4.2rem);
  line-height: 0.9;
  letter-spacing: 1px;
  transform: rotate(-2deg);
  margin-bottom: 8px;
}

.mission-section-title {
  font-family: var(--font-bebas);
  font-size: clamp(3.2rem, 6.2vw, 5rem);
  color: #111111;
  letter-spacing: 2px;
  line-height: 1.05;
  margin-bottom: 0;
  text-transform: uppercase;
}

/* Mission Card */
.mission-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.mission-img-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 16px;
  margin-bottom: 24px;
  background-color: #f7f7f7;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
}

.mission-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.mission-card:hover .mission-img {
  transform: scale(1.03);
}

.mission-card-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.mission-title {
  font-family: var(--font-bebas);
  font-size: 1.85rem;
  letter-spacing: 1.2px;
  color: #111111;
  line-height: 1.15;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.mission-description {
  font-family: var(--font-proxima);
  font-size: 0.94rem;
  line-height: 1.6;
  color: #555555;
  margin-bottom: 0;
  font-weight: 400;
}

.mission-verse {
  font-family: var(--font-proxima);
  font-size: 0.95rem;
  line-height: 1.5;
  color: #555555;
  margin-bottom: 22px;
  font-weight: 500;
}

.mission-btn-wrap {
  margin-top: auto;
}

.btn-mission-give {
  background-color: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.25rem;
  letter-spacing: 1.5px;
  padding: 10px 28px;
  border-radius: 5px;
  border: none;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(234, 184, 63, 0.25);
  text-decoration: none;
}

.btn-mission-give:hover {
  background-color: var(--accent-gold-hover);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(234, 184, 63, 0.4);
}

.btn-mission-give i {
  font-size: 0.95rem;
  transition: transform 0.3s ease;
}

.btn-mission-give:hover i {
  transform: translateX(4px);
}

/* ==========================================================
   UPCOMING EVENTS SECTION
   ========================================================== */
.events-section {
  background-color: #FFFFFF;
  padding: 100px 0 90px 0;
  position: relative;
}

.events-header {
  margin-bottom: 50px;
}

.events-section-title {
  font-family: var(--font-bebas);
  font-size: clamp(2.8rem, 5.5vw, 4.4rem);
  color: #111111;
  letter-spacing: 1.5px;
  line-height: 1.1;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.events-script-title {
  font-family: var(--font-script);
  color: var(--accent-gold);
  font-size: clamp(3.5rem, 6.5vw, 5.2rem);
  font-weight: normal;
  text-transform: none;
  letter-spacing: 1px;
  transform: rotate(-3deg);
  display: inline-block;
  line-height: 0.8;
}

/* Event Card Layout */
.event-card {
  display: flex;
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.05);
  overflow: hidden;
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.event-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(43, 12, 48, 0.1);
}

/* Homepage Event Date Badge (Warm Gold / Deep Charcoal Luxury, No Muddy Purple) */
.event-date-badge {
  background: linear-gradient(135deg, #1b0f24 0%, #120819 100%);
  color: #ffffff;
  min-width: 95px;
  width: 95px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 12px;
  border-radius: 12px;
  margin: 6px;
  flex-shrink: 0;
  border: 1px solid rgba(212, 175, 55, 0.4);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.event-date-day {
  font-family: var(--font-bebas);
  font-size: 3.4rem;
  line-height: 0.95;
  letter-spacing: 1px;
  color: #d4af37;
}

.event-date-month {
  font-family: var(--font-proxima);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 2px;
  color: #ffffff;
}

/* Event Content Body */
.event-card-body {
  padding: 26px 28px 22px 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.event-title {
  font-family: var(--font-bebas);
  font-size: 1.7rem;
  letter-spacing: 1.2px;
  color: #111111;
  line-height: 1.15;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.event-description {
  font-family: var(--font-proxima);
  font-size: 0.9rem;
  color: #666666;
  line-height: 1.55;
  margin-bottom: 18px;
  font-weight: 400;
}

.event-divider {
  width: 100%;
  height: 1px;
  background-color: #EFEFEF;
  margin-bottom: 16px;
  margin-top: auto;
}

.event-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  font-family: var(--font-bebas);
  font-size: 1.05rem;
  letter-spacing: 1.2px;
  color: #1a1a1a;
  transition: all 0.25s ease;
  width: fit-content;
  gap: 12px;
}

.event-link:hover {
  color: var(--primary-purple);
}

.event-link-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--accent-gold);
  color: #111111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  transition: transform 0.25s ease, background-color 0.25s ease;
  flex-shrink: 0;
}

.event-link:hover .event-link-icon {
  transform: translate(2px, -2px);
  background-color: var(--accent-gold-hover);
}

/* View All Events Button Wrap & Button */
.events-btn-wrap {
  position: relative;
  margin-top: 102px !important;
  display: block;
}

.btn-view-all-events {
  background-color: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.35rem;
  letter-spacing: 1.5px;
  padding: 12px 34px;
  border-radius: 6px;
  border: none;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(234, 184, 63, 0.25);
  text-decoration: none;
}

.btn-view-all-events:hover {
  background-color: var(--accent-gold-hover);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(234, 184, 63, 0.4);
}

.btn-view-all-events i {
  font-size: 1.05rem;
  transition: transform 0.3s ease;
}

.btn-view-all-events:hover i {
  transform: translateX(4px);
}

/* ==========================================================
   CALL TO ACTION (BANNER / BANNER-BOTTOM) SECTION
   ========================================================== */
.cta-section {
  position: relative;
  background-image: url('../images/cta-bg.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 570px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-top-left-radius: 25px !important;
  border-top-right-radius: 25px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(43, 12, 48, 0.25) 0%, rgba(20, 5, 23, 0.75) 100%);
  pointer-events: none;
  border-top-left-radius: 25px !important;
  border-top-right-radius: 25px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.cta-content {
  position: relative;
  z-index: 2;
  max-width: 950px;
}

.cta-title-main {
  font-family: var(--font-bebas);
  font-size: clamp(3.2rem, 7vw, 5.8rem);
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 1.05;
  color: #ffffff;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
  margin-bottom: 0px;
  text-transform: uppercase;
}

.cta-title-sub {
  font-family: var(--font-bebas);
  font-size: clamp(3rem, 6.5vw, 5.4rem);
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 1.1;
  color: #ffffff;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
  text-transform: uppercase;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  margin-bottom: 34px;
}

.cta-script-text {
  font-family: var(--font-script);
  font-weight: normal;
  color: var(--accent-gold);
  text-transform: none;
  font-size: clamp(3.8rem, 8vw, 6.5rem);
  letter-spacing: 1px;
  line-height: 0.85;
  transform: rotate(-3deg);
  display: inline-block;
  text-shadow: 0 3px 15px rgba(0, 0, 0, 0.5);
  margin-left: 6px;
}

.btn-cta-plan {
  background-color: var(--accent-gold);
  color: #120315;
  font-family: var(--font-bebas);
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: 1.5px;
  padding: 13px 36px;
  border-radius: 8px;
  border: none;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
  text-decoration: none;
}

.btn-cta-plan:hover {
  background-color: var(--accent-gold-hover);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(234, 184, 63, 0.4);
}

.btn-cta-plan i {
  font-size: 1.1rem;
  transition: transform 0.3s ease;
}

.btn-cta-plan:hover i {
  transform: translateX(4px);
}

/* ==========================================================
   FOOTER SECTION
   ========================================================== */
.footer-section {
  background-color: var(--primary-purple);
  color: #ffffff;
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-top {
  padding-top: 75px;
  padding-bottom: 55px;
}

/* Church identity col */
.footer-logo-wrap {
  margin-bottom: 24px;
}

.footer-logo {
  max-width: 175px;
  height: auto;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.3));
}

.footer-church-desc {
  color: #d8cde0;
  font-size: 0.92rem;
  line-height: 1.68;
  max-width: 330px;
  font-weight: 400;
}

/* Footer widget headings */
.footer-widget-title {
  font-family: var(--font-bebas);
  font-size: 1.6rem;
  letter-spacing: 1.5px;
  color: #ffffff;
  margin-bottom: 28px;
  text-transform: uppercase;
}

/* Full links list */
.footer-links-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.footer-links-list li {
  margin-bottom: 12px;
}

.footer-links-list a {
  color: #ded6e6;
  text-decoration: none;
  font-size: 0.98rem;
  font-weight: 400;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.footer-link-fa {
  color: var(--accent-gold) !important;
  font-size: 0.9rem;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
  transition: transform 0.25s ease, color 0.25s ease;
}

.footer-links-list a .link-quote {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  font-family: monospace;
}

.footer-links-list a:hover {
  color: var(--accent-gold);
  transform: translateX(4px);
}

.footer-links-list a:hover .footer-link-fa {
  color: #ffda73 !important;
  transform: scale(1.15);
}

/* Contact Info list */
.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.contact-icon-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.05rem;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.03);
  transition: all 0.3s ease;
}

.contact-item:hover .contact-icon-circle {
  border-color: var(--accent-gold);
  color: var(--accent-gold);
  background: rgba(234, 184, 63, 0.1);
}

.contact-info-meta {
  display: flex;
  flex-direction: column;
}

.contact-label {
  font-size: 0.72rem;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #a491ad;
  font-weight: 600;
  margin-bottom: 3px;
}

.contact-value,
.contact-value a {
  color: #f1ecf5;
  font-size: 0.96rem;
  line-height: 1.45;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.contact-value a:hover {
  color: var(--accent-gold);
}

/* Office Hours */
.office-hours-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.office-hours-item {
  color: #ded6e6;
  font-size: 0.96rem;
  line-height: 1.55;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.office-hours-icon {
  color: var(--accent-gold) !important;
  font-size: 1.05rem;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
  margin-top: 3px;
}

.office-hours-item span {
  font-weight: 400;
  flex: 1;
}

/* Column Divider Borders */
.footer-col-divider {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 991.98px) {
  .footer-col-divider {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 30px;
    margin-bottom: 15px;
  }
}

/* Social links row */
.footer-social-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 24px 0;
}

.social-link-item {
  color: #ffffff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 1.05rem;
  font-weight: 500;
  transition: all 0.25s ease;
  padding: 6px 16px;
}

.social-link-item i.bi-arrow-up-right {
  font-size: 0.85rem;
  opacity: 0.75;
  transition: transform 0.25s ease;
}

.social-link-item:hover {
  color: var(--accent-gold);
}

.social-link-item:hover i.bi-arrow-up-right {
  transform: translate(2px, -2px);
  opacity: 1;
}

/* Copyright Bar */
.footer-bottom-bar {
  padding: 25px 0 35px 0;
  text-align: center;
}

.copyright-text {
  font-size: 0.92rem;
  color: #c9bed2;
  margin-bottom: 0;
  font-weight: 400;
}

/* ==========================================================
   ABOUT PAGE CUSTOM STYLES & DEDICATED SECTIONS
   ========================================================== */
/* ==========================================================
   ABOUT PAGE CUSTOM STYLES & DEDICATED SECTIONS (Clean White Theme)
   ========================================================== */
.py-section {
  padding: 100px 0;
  position: relative;
}

@media (max-width: 768px) {
  .py-section {
    padding: 60px 0;
  }
}

/* Page Dedicated Hero Header */
.page-hero-section {
  min-height: auto;
}

.page-hero-container {
  min-height: 480px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.78) 0%, rgba(18, 12, 22, 0.90) 100%),
    url('../images/about-church-header.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.page-hero-container::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(234, 184, 63, 0.35) 50%, transparent 100%);
  pointer-events: none;
}

.page-hero-content-wrapper {
  padding: 60px 0 80px 0;
  position: relative;
  z-index: 10;
}

.page-hero-content {
  max-width: 860px;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.about-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(234, 184, 63, 0.14);
  color: var(--accent-gold);
  border: 1px solid rgba(234, 184, 63, 0.45);
  padding: 8px 24px;
  border-radius: 50px;
  font-family: var(--font-bebas);
  font-size: 1.15rem;
  letter-spacing: 2px;
  margin-bottom: 22px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  text-align: left;
}

.about-hero-badge i {
  color: var(--accent-gold);
  font-size: 1.05rem;
}

.page-hero-title {
  display: block;
  font-family: var(--font-bebas);
  font-size: clamp(2.8rem, 6vw, 4.6rem);
  line-height: 1.05;
  letter-spacing: 1.5px;
  color: #FFFFFF;
  margin-bottom: 18px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  text-align: left;
}

.page-hero-description {
  display: block;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.7;
  color: #f1e8f6;
  max-width: 760px;
  margin: 0 0 26px 0 !important;
  font-weight: 300;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
  text-align: left;
}

.page-breadcrumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.page-breadcrumb .breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0;
  font-size: 0.95rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  justify-content: flex-start !important;
}

.page-breadcrumb .breadcrumb-item a {
  color: var(--accent-gold);
  text-decoration: none;
  transition: color 0.2s ease;
}

.page-breadcrumb .breadcrumb-item a:hover {
  color: #fff;
}

.page-breadcrumb .breadcrumb-item.active {
  color: #d1c5d5;
}

.page-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.4);
}

/* Church Badges & Accents */
.church-badge-pill {
  display: inline-flex;
  align-items: center;
  background: #f4ecfb;
  border: 1.5px solid #d9c4ee;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: 1.05rem;
  letter-spacing: 1.5px;
  padding: 6px 18px;
  border-radius: 50px;
  font-weight: 600;
}

.text-gold {
  color: var(--accent-gold) !important;
}

.text-purple {
  color: #5c2d91 !important;
}

.text-purple-strong {
  color: #5c2d91 !important;
  font-weight: 700;
}

.gold-accent-divider {
  width: 70px;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-gold) 0%, rgba(234, 184, 63, 0.3) 100%);
  border-radius: 4px;
}

.about-section-heading {
  font-family: var(--font-bebas);
  font-size: clamp(2.4rem, 4.8vw, 3.8rem);
  line-height: 1.1;
  letter-spacing: 1.2px;
  color: #1e0722;
  margin: 14px 0 16px 0;
}

.about-section-heading .hero-script-text,
.about-section-heading .hero-script-text *,
.about-section-heading .hero-script-text .split-word,
.about-section-heading .hero-script-text .split-char {
  font-family: var(--font-script) !important;
  color: var(--accent-gold) !important;
  font-size: clamp(3.2rem, 5.8vw, 4.8rem);
  text-transform: none;
  font-weight: normal;
  display: inline-block;
  margin-left: 8px;
  transform: rotate(-3deg);
  line-height: 0.85;
}

.section-subtext {
  font-size: 1.15rem;
  color: #5d4a63;
  max-width: 620px;
  line-height: 1.6;
}

.text-gold-bold {
  color: #c99318 !important;
  font-weight: 700;
}

.text-gold-highlight {
  color: #c99318 !important;
  font-weight: 700;
}

/* ==========================================================
   ABOUT SECTION 1: WELCOME STORY (Clean White)
   ========================================================== */
.about-welcome-section {
  background: #ffffff;
  position: relative;
}

.about-story-paragraphs {
  color: #3b2742;
  font-size: 1.08rem;
  line-height: 1.85;
}

.about-story-paragraphs .lead-highlight {
  font-size: 1.2rem;
  color: #1e0722;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 20px;
}

.about-highlights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}

.highlight-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #faf6fd;
  padding: 18px 22px;
  border-radius: 16px;
  border: 1.5px solid #ebdff2;
  box-shadow: 0 4px 14px rgba(92, 45, 145, 0.04);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.highlight-item:hover {
  transform: translateY(-3px);
  border-color: #5c2d91;
}

.highlight-icon {
  font-size: 1.6rem;
  color: #5c2d91;
  line-height: 1;
}

.highlight-title {
  font-family: var(--font-bebas);
  font-size: 1.25rem;
  letter-spacing: 1px;
  color: #1e0722;
  margin-bottom: 4px;
}

.highlight-desc {
  font-size: 0.92rem;
  color: #635168;
  margin-bottom: 0;
  line-height: 1.5;
}

.btn-outline-church {
  border: 2px solid #5c2d91;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: 1.3rem;
  letter-spacing: 1.5px;
  padding: 12px 30px;
  border-radius: 8px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
}

.btn-outline-church:hover {
  background: #5c2d91;
  color: #ffffff;
  border-color: #5c2d91;
  transform: translateY(-2px);
}

/* About Welcome Visuals */
.about-welcome-visual {
  position: relative;
}

@media (min-width: 992px) {
  .about-welcome-visual.sticky-top {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 100px !important;
    z-index: 10 !important;
  }
}

.welcome-img-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(43, 12, 48, 0.12);
  border: 1.5px solid #ebdff2;
}

.welcome-img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.welcome-img-card:hover .welcome-img {
  transform: scale(1.03);
}

.welcome-img-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(30, 7, 34, 0.92);
  backdrop-filter: blur(8px);
  padding: 12px 20px;
  border-radius: 12px;
  border: 1px solid rgba(234, 184, 63, 0.4);
}

.welcome-img-badge .badge-num {
  font-family: var(--font-bebas);
  font-size: 1.8rem;
  color: var(--accent-gold);
  display: block;
  line-height: 1;
}

.welcome-img-badge .badge-label {
  font-size: 0.78rem;
  letter-spacing: 1.2px;
  color: #ffffff;
  text-transform: uppercase;
}

.welcome-floating-quote {
  position: absolute;
  top: -25px;
  right: -20px;
  background: #ffffff;
  border: 1.5px solid #d9c4ee;
  padding: 22px 26px;
  border-radius: 18px;
  max-width: 290px;
  box-shadow: 0 16px 40px rgba(92, 45, 145, 0.12);
}

@media (max-width: 991px) {
  .welcome-floating-quote {
    position: static;
    margin-top: 20px;
    max-width: 100%;
  }
}

.welcome-floating-quote .quote-icon {
  font-size: 1.8rem;
  color: #5c2d91;
  line-height: 1;
  margin-bottom: 6px;
}

.welcome-floating-quote .quote-text {
  font-size: 0.95rem;
  font-style: italic;
  color: #2b1232;
  line-height: 1.55;
  margin-bottom: 8px;
}

.welcome-floating-quote .quote-cite {
  font-size: 0.82rem;
  color: #5c2d91;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* ==========================================================
   ABOUT SECTION 2: PASTOR PROFILE (Subtle Ivory Tint #fbf9fc)
   ========================================================== */
.about-pastor-section {
  background: #fbf9fc;
  border-top: 1px solid #f1e9f6;
  border-bottom: 1px solid #f1e9f6;
  position: relative;
}

.pastor-portrait-card {
  position: relative;
}

@media (min-width: 992px) {
  .pastor-portrait-card.sticky-top {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 100px !important;
    z-index: 10 !important;
  }
}

.pastor-image-frame {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(43, 12, 48, 0.12);
  border: 2px solid #ebdff2;
  background: #f4ecfb;
}

.pastor-portrait-img {
  width: 100%;
  height: 580px;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.pastor-side-badge {
  position: absolute;
  bottom: -25px;
  right: -25px;
  background: #FFFFFF;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 15px 40px rgba(92, 45, 145, 0.15);
  border: 1.5px solid #d9c4ee;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 320px;
  z-index: 5;
}

@media (max-width: 991px) {
  .pastor-side-badge {
    position: static;
    margin-top: 20px;
    max-width: 100%;
  }
}

.pastor-thumb-img {
  width: 75px;
  height: 75px;
  border-radius: 12px;
  object-fit: cover;
}

.pastor-thumb-meta .thumb-title {
  font-family: var(--font-bebas);
  font-size: 1.3rem;
  color: #1e0722;
  line-height: 1.1;
  letter-spacing: 0.8px;
}

.pastor-thumb-meta .thumb-subtitle {
  font-size: 0.88rem;
  color: #5c2d91;
  font-weight: 600;
}

.pastor-bio-text {
  color: #3b2742;
  font-size: 1.08rem;
  line-height: 1.85;
}

.pastor-quote-callout {
  background: #ffffff;
  border-left: 4px solid var(--accent-gold);
  border-top: 1.5px solid #ebdff2;
  border-right: 1.5px solid #ebdff2;
  border-bottom: 1.5px solid #ebdff2;
  border-radius: 0 16px 16px 0;
  padding: 26px 30px;
  position: relative;
  box-shadow: 0 8px 25px rgba(92, 45, 145, 0.05);
}

.callout-icon {
  font-size: 2rem;
  color: #5c2d91;
  opacity: 0.8;
  margin-bottom: 8px;
  display: inline-block;
}

.callout-quote-text {
  font-size: 1.22rem;
  font-style: italic;
  color: #1e0722;
  line-height: 1.65;
  margin-bottom: 12px;
}

.callout-author {
  display: block;
  font-size: 0.95rem;
  color: #5c2d91;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* Pastor Bio Download Box */
.pastor-download-box {
  background: #ffffff;
  border: 1.5px solid #d9c4ee;
  border-radius: 16px;
  padding: 22px 26px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 8px 25px rgba(92, 45, 145, 0.06);
}

.download-info {
  display: flex;
  align-items: center;
  gap: 16px;
}

.download-icon {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: #f4ecfb;
  color: #5c2d91;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
}

.download-title {
  display: block;
  font-family: var(--font-bebas);
  font-size: 1.3rem;
  letter-spacing: 1px;
  color: #1e0722;
  line-height: 1.2;
}

.download-subtitle {
  font-size: 0.88rem;
  color: #635168;
}

.btn-download-bio {
  background: #5c2d91;
  color: #ffffff !important;
  font-family: var(--font-bebas);
  font-size: 1.15rem;
  letter-spacing: 1.2px;
  padding: 10px 24px;
  border-radius: 8px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(92, 45, 145, 0.25);
}

.btn-download-bio:hover {
  background: #3f1869;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(92, 45, 145, 0.35);
}

/* ==========================================================
   ABOUT SECTION 3: SERVICE TIMES (Pure White with Purple-Bordered Cards)
   ========================================================== */
.about-schedule-section {
  background: #ffffff;
  position: relative;
}

.schedule-glass-card {
  background: #ffffff;
  border: 1.5px solid #d9c4ee;
  border-radius: 20px;
  padding: clamp(22px, 2.5vw, 34px) clamp(16px, 2vw, 30px);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(92, 45, 145, 0.06);
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.schedule-glass-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #5c2d91 0%, var(--accent-gold) 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.schedule-glass-card:hover {
  transform: translateY(-8px);
  border-color: #5c2d91;
  box-shadow: 0 20px 45px rgba(92, 45, 145, 0.16);
}

.schedule-glass-card:hover::before {
  opacity: 1;
}

.schedule-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.schedule-icon-wrap {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  background: #f4ecfb;
  color: #5c2d91;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.55rem;
  flex-shrink: 0;
}

.schedule-day-badge {
  font-family: var(--font-bebas);
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  letter-spacing: 1.5px;
  color: #5c2d91;
  background: #f4ecfb;
  border: 1px solid #d9c4ee;
  padding: 4px 14px;
  border-radius: 30px;
  font-weight: 600;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  word-break: break-word;
}

.schedule-title {
  font-family: var(--font-bebas);
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  letter-spacing: 1px;
  color: #1e0722;
  margin-bottom: 12px;
  line-height: 1.15;
  word-break: break-word;
  overflow-wrap: break-word;
}

.schedule-time {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 700;
  color: #5c2d91;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  word-break: break-word;
}

.schedule-time i {
  color: var(--accent-gold);
}

.schedule-desc {
  color: #5d4a63;
  font-size: clamp(0.92rem, 1.1vw, 1rem);
  line-height: 1.65;
  margin-bottom: 24px;
  flex-grow: 1;
  word-break: break-word;
  overflow-wrap: break-word;
}

.schedule-location {
  font-size: clamp(0.85rem, 1vw, 0.9rem);
  color: #79687e;
  border-top: 1px solid #ebdff2;
  padding-top: 14px;
  font-weight: 500;
  word-break: break-word;
  overflow-wrap: break-word;
}

.schedule-location i {
  color: #5c2d91;
}


/* ==========================================================
   MINISTRIES PAGE CUSTOM STYLES & EDITORIAL LAYOUT
   ========================================================== */
.ministries-hero-container {
  min-height: 460px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.76) 0%, rgba(20, 14, 25, 0.88) 100%),
    url('../images/ministries/ministries-banner.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Quick Category Navigation Chips */
.ministry-nav-chip {
  background: #ffffff;
  border: 1px solid #e2d5ec;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: 1.05rem;
  letter-spacing: 1px;
  padding: 6px 16px;
  border-radius: 30px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  box-shadow: 0 4px 12px rgba(43, 12, 48, 0.04);
  transition: all 0.25s ease;
}

.ministry-nav-chip:hover {
  background: #5c2d91;
  color: #ffffff;
  border-color: #5c2d91;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(92, 45, 145, 0.2);
}

.ministry-nav-chip.chip-gold {
  background: #fff9ed;
  border-color: #e8d09b;
  color: #92660a;
}

.ministry-nav-chip.chip-gold:hover {
  background: var(--accent-gold);
  color: #111111;
  border-color: var(--accent-gold);
}

/* Ministries Showcase: Clean, Bright, High-End Editorial Canvas */
.ministries-showcase-section {
  background: #fdfbfd;
  color: #2b1f30;
  position: relative;
}

.ministries-showcase-section .about-section-heading {
  color: #1e0722;
}

.ministries-showcase-section .section-subtext {
  color: #5d4a63;
}

.ministries-showcase-section .church-badge-pill {
  background: #f3ecfb;
  border: 1px solid #d9c4ee;
  color: #5c2d91;
}

.ministries-list-wrap {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

@media (max-width: 991px) {
  .ministries-list-wrap {
    gap: 36px;
  }
}

/* Ministry Item Row: White Card, Layered Elevation, Purple/Gold Details */
.ministry-item-row {
  background: #ffffff;
  border: 1px solid #ece3f4;
  border-radius: 24px;
  padding: 38px 42px;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(43, 12, 48, 0.06);
}

@media (max-width: 768px) {
  .ministry-item-row {
    padding: 24px 20px;
    border-radius: 18px;
  }
}

.ministry-item-row:hover {
  transform: translateY(-6px);
  border-color: #d9c4ee;
  box-shadow: 0 22px 55px rgba(43, 12, 48, 0.12);
}

.ministry-visual-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(43, 12, 48, 0.12);
  border: 1px solid #ebdff2;
  background: linear-gradient(135deg, #fbf7ff 0%, #f3e8fc 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
}

.ministry-img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}

.ministry-visual-card:hover .ministry-img {
  transform: scale(1.04);
}

.ministry-tag-pill {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  color: #5c2d91;
  border: 1px solid #d9c4ee;
  font-family: var(--font-bebas);
  font-size: 0.95rem;
  letter-spacing: 1.5px;
  padding: 5px 16px;
  border-radius: 30px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.ministry-category-badge {
  display: inline-block;
  background: #f3ecfb;
  border: 1px solid #d9c4ee;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: 1.05rem;
  letter-spacing: 1.5px;
  padding: 5px 16px;
  border-radius: 30px;
  margin-bottom: 12px;
}

.ministry-title {
  font-family: var(--font-bebas);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  color: #1e0722;
  line-height: 1.1;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.ministry-body-text {
  color: #503d55;
  font-size: 1.06rem;
  line-height: 1.8;
  margin-bottom: 24px;
}

.ministry-body-text p:last-child {
  margin-bottom: 0;
}

.ministry-body-text .text-purple-strong {
  color: #5c2d91 !important;
  font-weight: 700;
}

/* Warm Ivory Ministry Focus Callout */
.ministry-focus-callout {
  background: #fff9ed;
  border: 1px solid #fae9c5;
  border-left: 4px solid var(--accent-gold);
  border-radius: 0 14px 14px 0;
  padding: 20px 24px;
  box-shadow: 0 4px 14px rgba(234, 184, 63, 0.08);
}

.focus-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #92660a;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.focus-quote {
  font-size: 1.06rem;
  font-style: italic;
  color: #33261a;
  line-height: 1.65;
}

/* Generation Ministries Section: Clean Ivory & White Contrast */
.generation-ministries-section {
  background: #f7f3f9;
  border-top: 1px solid #ece0f3;
  color: #2b1f30;
  position: relative;
}

.generation-ministries-section .about-section-heading {
  color: #1e0722;
}

.generation-ministries-section .section-subtext {
  color: #5d4a63;
}

.generation-ministries-section .church-badge-pill {
  background: #ffffff;
  border: 1px solid #d9c4ee;
  color: #5c2d91;
  box-shadow: 0 4px 12px rgba(43, 12, 48, 0.04);
}

.generation-card {
  background: #ffffff;
  border: 1px solid #ebe1f3;
  border-radius: 20px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  box-shadow: 0 10px 30px rgba(43, 12, 48, 0.06);
}

.generation-card:hover {
  transform: translateY(-8px);
  border-color: #d9c4ee;
  box-shadow: 0 22px 50px rgba(43, 12, 48, 0.12);
}

.generation-img-wrap {
  position: relative;
  overflow: hidden;
  /*   height: 333px; */
  background-color: #f7f4fa;
}

.generation-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.generation-card:hover .generation-img {
  transform: scale(1.05);
}

@media (max-width: 991.98px) {
  .generation-img-wrap {
    height: 280px;
  }
}

@media (max-width: 575.98px) {
  .generation-img-wrap {
    height: 250px;
  }
}

.age-badge {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  color: #5c2d91;
  border: 1px solid #d9c4ee;
  font-family: var(--font-bebas);
  font-size: 0.95rem;
  letter-spacing: 1.2px;
  padding: 4px 14px;
  border-radius: 30px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-weight: 600;
  display: none;
}

.generation-card-body {
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.generation-title {
  font-family: var(--font-bebas);
  font-size: 1.7rem;
  letter-spacing: 1px;
  color: #1e0722;
  margin-bottom: 10px;
}

.generation-desc {
  color: #5d4a63;
  font-size: 0.98rem;
  line-height: 1.65;
  margin-bottom: 20px;
  flex-grow: 1;
}

.generation-meta {
  font-size: 0.92rem;
  color: #1e0722;
  font-weight: 600;
  border-top: 1px solid #f0e6f7;
  padding-top: 14px;
  display: flex;
  align-items: center;
}


/* ==========================================================
   CONTACT PAGE CUSTOM STYLES & INTERACTIVE FORM DESIGN
   ========================================================== */
.contact-hero-container {
  min-height: 460px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.76) 0%, rgba(20, 14, 25, 0.88) 100%),
    url('../images/about-church-header.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Contact Hub Section: Crisp, Clean, Bright Canvas with Soft Royal Undercurrent */
.contact-hub-section {
  background: #fdfbfd;
  color: #2b1f30;
  position: relative;
}

.contact-hub-section .about-section-heading {
  color: #1e0722;
}

.contact-hub-section .section-subtext {
  color: #5d4a63;
}

.contact-hub-section .church-badge-pill {
  background: #f3ecfb;
  border: 1px solid #d9c4ee;
  color: #5c2d91;
}

/* 4 Quick Info Contact Cards: Clean White Cards with Rich Shadows */
.contact-info-card {
  background: #ffffff;
  border: 1px solid #ebe2f3;
  border-radius: 18px;
  padding: clamp(22px, 2.5vw, 32px) clamp(16px, 2vw, 26px);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(43, 12, 48, 0.06);
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.contact-info-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-gold) 0%, var(--primary-purple) 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.contact-info-card:hover {
  transform: translateY(-8px);
  border-color: #d9c4ee;
  box-shadow: 0 20px 45px rgba(43, 12, 48, 0.12);
}

.contact-info-card:hover::before {
  opacity: 1;
}

.contact-card-icon {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: #f6f0fd;
  color: var(--primary-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.65rem;
  margin-bottom: 20px;
  border: 1px solid #e7d8f5;
  transition: background-color 0.3s ease, color 0.3s ease;
  flex-shrink: 0;
}

.contact-info-card:hover .contact-card-icon {
  background: var(--accent-gold);
  color: #111111;
  border-color: var(--accent-gold);
}

.contact-card-title {
  font-family: var(--font-bebas);
  font-size: clamp(1.3rem, 1.8vw, 1.5rem);
  letter-spacing: 1.2px;
  color: #1e0722;
  margin-bottom: 10px;
  line-height: 1.15;
  word-break: break-word;
  overflow-wrap: break-word;
}

.contact-card-text {
  color: #5d4a63;
  font-size: clamp(0.9rem, 1.1vw, 0.98rem);
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
  word-break: break-word;
  overflow-wrap: break-word;
}

.contact-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  letter-spacing: 1.2px;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.25s ease, transform 0.25s ease;
  margin-top: auto;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.contact-card-link:hover {
  color: #d8a531;
  transform: translateX(4px);
}

.contact-card-link.contact-card-email-link,
.contact-card-link[href^="mailto:"] {
  font-family: var(--font-main, 'Plus Jakarta Sans', -apple-system, sans-serif) !important;
  font-size: clamp(0.82rem, 0.92vw, 0.95rem) !important;
  letter-spacing: normal !important;
  text-transform: lowercase !important;
  font-weight: 600 !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  display: block !important;
  line-height: 1.4 !important;
}

.contact-card-link.contact-card-email-link span,
.contact-card-link[href^="mailto:"] span {
  display: inline;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
}

.contact-card-badge {
  display: inline-block;
  background: #fdf6e7;
  color: #92660a;
  border: 1px solid #ebd8a6;
  padding: 5px 14px;
  border-radius: 30px;
  font-size: clamp(0.74rem, 0.9vw, 0.82rem);
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin-top: auto;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  word-break: break-word;
  overflow-wrap: break-word;
  width: fit-content;
}

.font-bebas-large {
  font-size: clamp(1.2rem, 1.7vw, 1.45rem) !important;
  word-break: break-word;
  white-space: nowrap;
}

/* Church Faith & Belief Boxes: Crisp Ivory Background with Purple Details */
/* Church Faith & Belief Boxes: Crisp Ivory Background with Purple Details */
.church-faith-box {
  background: #ffffff;
  border: 1px solid #ebe2f3;
  border-radius: 18px;
  padding: 26px 28px;
  box-shadow: 0 8px 24px rgba(43, 12, 48, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.church-faith-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(43, 12, 48, 0.08);
}

.faith-box-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.faith-tag {
  font-family: var(--font-bebas);
  font-size: 1.15rem;
  letter-spacing: 1.5px;
  color: #5c2d91;
}

.faith-verse {
  font-size: 0.85rem;
  color: #7b6583;
  font-style: italic;
  font-weight: 600;
}

.faith-title {
  font-family: var(--font-bebas);
  font-size: 1.55rem;
  letter-spacing: 1px;
  color: #1e0722;
  margin-bottom: 10px;
}

.faith-desc {
  color: #503d55;
  font-size: 0.98rem;
  line-height: 1.65;
  margin-bottom: 10px;
}

.welcome-home-callout {
  background: #fff9ed;
  border: 1px solid #fae9c5;
  border-left: 5px solid var(--accent-gold);
  border-radius: 0 18px 18px 0;
  padding: 20px 24px;
  box-shadow: 0 8px 20px rgba(234, 184, 63, 0.07);
}

.welcome-home-icon {
  font-size: 1.8rem;
  color: #c9931a;
}

.welcome-home-title {
  font-family: var(--font-bebas);
  font-size: 1.55rem;
  letter-spacing: 1px;
  color: #222222;
}

.welcome-home-desc {
  color: #554433;
  font-size: 0.98rem;
  line-height: 1.65;
}

/* Contact Form Sticky Wrapper (Pinned & Balanced on Desktop/Laptops) */
@media (min-width: 992px) {
  .contact-form-sticky-wrap {
    position: sticky;
    top: 96px;
    z-index: 5;
  }
}

/* White Form Card: High-End Shadow, Deep Purple Accents, Gold Buttons */
.contact-form-glass-card {
  background: #ffffff;
  border: 1.5px solid #e8def2;
  border-radius: 20px;
  padding: 34px 30px;
  box-shadow: 0 16px 45px rgba(43, 12, 48, 0.08);
}

@media (max-width: 768px) {
  .contact-form-glass-card {
    padding: 26px 18px;
  }
}

.contact-form-title {
  font-family: var(--font-bebas);
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  letter-spacing: 1.2px;
  color: #1e0722;
  line-height: 1.1;
  margin-bottom: 8px;
}

.contact-form-desc {
  color: #5d4a63;
  font-size: 0.98rem;
  line-height: 1.6;
  margin-bottom: 20px;
}

.church-form-label {
  font-family: var(--font-bebas);
  font-size: 1.12rem;
  letter-spacing: 1px;
  color: #1e0722;
  margin-bottom: 5px;
  display: block;
}

.input-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.input-icon-wrap .input-icon {
  position: absolute;
  left: 15px;
  color: #7b3899;
  font-size: 1.15rem;
  pointer-events: none;
  z-index: 2;
}

.church-form-control {
  background: #faf7fc !important;
  border: 1.5px solid #ded0ea !important;
  color: #24142a !important;
  border-radius: 10px !important;
  padding: 11px 16px 11px 44px !important;
  font-size: 0.98rem !important;
  transition: all 0.25s ease !important;
  width: 100% !important;
}

.church-form-control:focus {
  border-color: #5c2d91 !important;
  box-shadow: 0 0 0 4px rgba(92, 45, 145, 0.15) !important;
  background: #ffffff !important;
  outline: none !important;
}

.church-form-control::placeholder {
  color: #9f8ba8 !important;
}

.textarea-control {
  padding-left: 16px !important;
}

.btn-submit-message {
  background: linear-gradient(135deg, #14091c 0%, #2b0c30 100%);
  color: #ffffff;
  font-family: var(--font-bebas);
  font-size: 1.35rem;
  letter-spacing: 1.5px;
  padding: 14px 28px;
  border-radius: 10px;
  border: 1.5px solid var(--accent-gold);
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(20, 9, 28, 0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.btn-submit-message:hover {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #14091c;
  font-weight: 800;
  border-color: #d4af37;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(212, 175, 55, 0.35);
}

/* Embedded Google Map Section */
.contact-map-section {
  position: relative;
  background: #f7f3f9;
  border-top: 1px solid #ebe0f2;
}

.church-map-container {
  width: 100%;
  filter: none;
  transition: filter 0.5s ease;
}

.map-overlay-badge {
  position: absolute;
  top: 30px;
  left: 40px;
  background: #ffffff;
  padding: 18px 26px;
  border-radius: 16px;
  border: 1px solid #dfd1eb;
  box-shadow: 0 15px 35px rgba(43, 12, 48, 0.15);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 16px;
}

.map-badge-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #f6f0fd;
  color: #5c2d91;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  border: 1px solid #e7d8f5;
}

.map-badge-title {
  font-family: var(--font-bebas);
  font-size: 1.3rem;
  letter-spacing: 1px;
  color: #1e0722;
  line-height: 1.1;
  margin-bottom: 2px;
}

.map-badge-desc {
  font-size: 0.9rem;
  color: #5d4a63;
}

/* ==========================================================
   GIVE PAGE CUSTOM STYLES & DEDICATED SECTIONS
   ========================================================== */
.give-page-main {
  background: #fbf9fc;
}

.give-hero-container {
  min-height: 480px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.78) 0%, rgba(18, 12, 22, 0.90) 100%),
    url('../images/about-church-header.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Section 1: Ways to give 4 cards */
.ways-to-give-section {
  background: linear-gradient(180deg, #faf7fc 0%, #ffffff 100%);
  color: #1e0722;
  position: relative;
}

.ways-to-give-section .about-section-heading {
  color: #1e0722 !important;
  font-size: clamp(2.6rem, 5vw, 4rem);
  letter-spacing: 1.5px;
  margin: 16px 0;
}

.ways-to-give-section .section-subtext {
  color: #3e2648 !important;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.7;
}

.ways-to-give-section .text-purple-strong {
  color: #5c2d91 !important;
  font-weight: 700;
}

.ways-to-give-section .church-badge-pill {
  background: #f2e6fc !important;
  border: 1.5px solid #d4b5f0 !important;
  color: #5c2d91 !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(92, 45, 145, 0.08);
}

.give-method-card {
  background: #ffffff;
  border: 1.5px solid #ebdff2;
  border-radius: 22px;
  padding: clamp(24px, 3vw, 38px) clamp(18px, 2.5vw, 28px);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.35s ease;
  box-shadow: 0 12px 35px rgba(43, 12, 48, 0.06);
  position: relative;
  overflow: hidden;
  opacity: 1 !important;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.give-method-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #5c2d91 0%, var(--accent-gold) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.give-method-card:hover {
  transform: translateY(-8px);
  border-color: #5c2d91;
  box-shadow: 0 24px 50px rgba(92, 45, 145, 0.14);
}

.give-method-card:hover::before {
  opacity: 1;
}

.method-icon-wrap {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fbf7ff 0%, #f3e6fc 100%);
  border: 1.5px solid #e5ccf7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 24px;
  box-shadow: 0 6px 18px rgba(92, 45, 145, 0.08);
  flex-shrink: 0;
}

.method-title {
  font-family: var(--font-bebas);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  letter-spacing: 1.2px;
  color: #1e0722;
  line-height: 1.15;
  margin-bottom: 12px;
  word-break: break-word;
  overflow-wrap: break-word;
}

.method-desc {
  color: #3b2844;
  font-size: clamp(0.92rem, 1.1vw, 1.04rem);
  line-height: 1.65;
  margin-bottom: 22px;
  font-weight: 400;
  word-break: break-word;
  overflow-wrap: break-word;
}

.give-card-action-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: clamp(1.05rem, 1.3vw, 1.2rem);
  letter-spacing: 1.2px;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.25s ease;
  max-width: 100%;
  word-break: break-word;
}

.give-card-action-link:hover {
  color: var(--accent-gold);
  transform: translateX(4px);
}

.method-badge {
  display: inline-block;
  background: #f4e9fd;
  border: 1px solid #d8b7f2;
  color: #5c2d91;
  font-size: clamp(0.78rem, 0.95vw, 0.92rem);
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 30px;
  letter-spacing: 0.5px;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  word-break: break-word;
  overflow-wrap: break-word;
}

.mail-address-callout {
  background: #fbf8fd;
  border: 1px solid #ebdff2;
  border-left: 4px solid #5c2d91;
  padding: 14px 16px;
  border-radius: 0 10px 10px 0;
  font-size: clamp(0.86rem, 1vw, 0.96rem);
  color: #1e0722;
  line-height: 1.6;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(43, 12, 48, 0.03);
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
}

.mail-address-callout strong {
  color: #5c2d91;
  font-weight: 700;
}

/* Section 2: Online Giving Module Card */
.online-giving-module-card {
  background: #ffffff;
  border: 1.5px solid #eddff5;
  border-radius: 26px;
  padding: 50px 45px;
  box-shadow: 0 25px 70px rgba(43, 12, 48, 0.08);
}

.online-giving-module-card .church-badge-pill {
  background: #f5edfc !important;
  border: 1px solid #d8bfec !important;
  color: #5c2d91 !important;
}

@media (max-width: 768px) {
  .online-giving-module-card {
    padding: 30px 22px;
  }
}

.giving-module-title {
  font-family: var(--font-bebas);
  font-size: clamp(2.4rem, 4.5vw, 3.8rem);
  letter-spacing: 1.2px;
  color: #1e0722;
  line-height: 1.05;
  margin-bottom: 14px;
}

.giving-module-desc {
  color: #4a3754;
  font-size: 1.08rem;
  line-height: 1.7;
  margin-bottom: 28px;
}

.giving-presets-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

@media (max-width: 576px) {
  .giving-presets-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.preset-amount-btn {
  background: #faf7fc;
  border: 1.5px solid #ded0ea;
  border-radius: 12px;
  padding: 14px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
}

.preset-amount-btn .amount-val {
  font-family: var(--font-bebas);
  font-size: 1.7rem;
  letter-spacing: 1px;
  color: #1e0722;
  line-height: 1;
}

.preset-amount-btn .amount-label {
  font-size: 0.76rem;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #7d6884;
  font-weight: 600;
  margin-top: 4px;
}

.preset-amount-btn:hover {
  border-color: #5c2d91;
  background: #f6ecfc;
  transform: translateY(-2px);
}

.preset-amount-btn.active {
  background: #5c2d91;
  border-color: #5c2d91;
  box-shadow: 0 8px 20px rgba(92, 45, 145, 0.3);
}

.preset-amount-btn.active .amount-val {
  color: #ffffff;
}

.preset-amount-btn.active .amount-label {
  color: var(--accent-gold);
}

.giving-scripture-box {
  background: #fffcf4;
  border-left: 3px solid var(--accent-gold);
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
  position: relative;
  margin-top: 20px;
}

.scripture-quote-icon {
  font-size: 1.4rem;
  color: var(--accent-gold);
  line-height: 1;
  margin-bottom: 4px;
  display: block;
}

.scripture-text {
  font-style: italic;
  font-size: 0.95rem;
  color: #423011;
  line-height: 1.55;
}

.scripture-ref {
  font-size: 0.84rem;
  color: #7a5a1e;
  font-weight: 600;
}

/* Giving Action Card */
.give-action-card {
  background: linear-gradient(135deg, #2b0c30 0%, #1e0722 100%);
  border-radius: 20px;
  padding: 40px 32px;
  box-shadow: 0 20px 50px rgba(43, 12, 48, 0.25);
  border: 1px solid rgba(234, 184, 63, 0.2);
  color: #ffffff;
}

@media (max-width: 576px) {
  .give-action-card {
    padding: 30px 20px;
  }
}

.custom-amount-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 260px;
  margin: 10px auto 14px;
}

.currency-sign {
  font-family: var(--font-bebas);
  font-size: 3.2rem;
  color: var(--accent-gold);
  margin-right: 6px;
  line-height: 1;
}

.custom-amount-input {
  font-family: var(--font-bebas);
  font-size: 3.4rem;
  letter-spacing: 1px;
  color: #ffffff;
  background: transparent;
  border: none;
  border-bottom: 2px solid rgba(234, 184, 63, 0.4);
  width: 140px;
  text-align: center;
  line-height: 1;
  padding: 0 4px;
  outline: none;
  transition: border-color 0.25s ease;
}

.custom-amount-input:focus {
  border-color: var(--accent-gold);
}

.badge-giving-frequency {
  display: inline-block;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 30px;
  padding: 4px 14px;
  font-size: 0.82rem;
  letter-spacing: 0.6px;
  color: #ded1e4;
}

.btn-launch-give {
  background: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.5rem;
  letter-spacing: 1.5px;
  padding: 16px 30px;
  border-radius: 10px;
  border: none;
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 10px 25px rgba(234, 184, 63, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-launch-give:hover {
  background: #ffffff;
  color: #2b0c30;
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(255, 255, 255, 0.3);
}

.security-badges-row .sec-item {
  font-size: 0.85rem;
  color: #d1c0db;
}

/* Section 3: Text Giving Details */
.text-giving-section {
  background: #fbf8fd;
}

.text-giving-section .about-section-heading {
  color: #1e0722 !important;
}

.text-giving-section .church-badge-pill {
  background: #f5edfc !important;
  border: 1px solid #d8bfec !important;
  color: #5c2d91 !important;
}

.text-giving-visual-card {
  display: flex;
  justify-content: center;
}

.phone-mockup-frame {
  width: 320px;
  background: #ffffff;
  border: 8px solid #2b0c30;
  border-radius: 36px;
  box-shadow: 0 25px 60px rgba(43, 12, 48, 0.15);
  overflow: hidden;
  position: relative;
}

.phone-mockup-screen {
  background: #f9f7fb;
  padding: 30px 20px;
  min-height: 400px;
  display: flex;
  flex-direction: column;
}

.sms-header {
  border-bottom: 1px solid #ebdff2;
  padding-bottom: 12px;
  margin-bottom: 20px;
}

.sms-number {
  font-family: var(--font-bebas);
  font-size: 1.15rem;
  letter-spacing: 1.2px;
  color: #5c2d91;
}

.sms-bubble {
  padding: 12px 16px;
  border-radius: 16px;
  font-size: 0.92rem;
  line-height: 1.45;
  margin-bottom: 12px;
  max-width: 85%;
  text-align: left;
}

.sms-bubble.sender {
  background: #5c2d91;
  color: #ffffff;
  align-self: flex-end;
  border-bottom-right-radius: 4px;
}

.sms-bubble.receiver {
  background: #e9deef;
  color: #2a1036;
  align-self: flex-start;
  border-bottom-left-radius: 4px;
}

.text-instruction-box {
  background: #ffffff;
  border: 1px solid #e5d8ec;
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 10px 30px rgba(43, 12, 48, 0.05);
}

.instruction-subtitle {
  font-family: var(--font-bebas);
  font-size: 1.05rem;
  letter-spacing: 1.5px;
  color: #775283;
  margin-bottom: 4px;
  font-weight: 600;
}

.instruction-main {
  font-family: var(--font-bebas);
  font-size: 1.85rem;
  letter-spacing: 0.8px;
  color: #1e0722;
  margin-bottom: 0;
  line-height: 1.2;
}

.instruction-main strong {
  color: #5c2d91;
}

.text-steps-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.step-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.step-num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #5c2d91;
  color: #ffffff;
  font-family: var(--font-bebas);
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 6px 16px rgba(92, 45, 145, 0.3);
}

.step-title {
  font-family: var(--font-bebas);
  font-size: 1.45rem;
  letter-spacing: 0.8px;
  color: #1e0722;
  margin-bottom: 4px;
}

.step-desc {
  color: #4a3754;
  font-size: 1.02rem;
  line-height: 1.65;
  margin-bottom: 0;
}

/* Section 4: Mobile App Giving (App Store / Play Store) */
.mobile-app-section {
  background: #ffffff;
}

.mobile-app-banner-card {
  background: linear-gradient(135deg, #2b0c30 0%, #17041a 100%);
  border-radius: 28px;
  padding: 60px 50px;
  box-shadow: 0 25px 60px rgba(43, 12, 48, 0.2);
  border: 1px solid rgba(234, 184, 63, 0.2);
}

@media (max-width: 768px) {
  .mobile-app-banner-card {
    padding: 35px 24px;
  }
}

.app-banner-title {
  font-family: var(--font-bebas);
  font-size: clamp(2.4rem, 4.2vw, 3.8rem);
  letter-spacing: 1.2px;
  color: #ffffff;
  line-height: 1.1;
  margin-bottom: 16px;
}

.app-banner-desc {
  color: #ded1e4;
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 580px;
}

.store-badge-btn {
  display: inline-block;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.store-badge-btn:hover {
  transform: translateY(-3px);
  opacity: 0.95;
}

.app-features-glass-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 32px 28px;
  text-align: left;
}

.app-features-title {
  font-family: var(--font-bebas);
  font-size: 1.5rem;
  letter-spacing: 1.2px;
  color: #ffffff;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 10px;
}

.app-features-list li {
  color: #f1ecf5;
  font-size: 1rem;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.app-features-list li:last-child {
  margin-bottom: 0;
}

/* ==========================================================
   SERMONS PAGE CUSTOM STYLES & DEDICATED SECTIONS
   ========================================================== */
.sermons-page-main {
  background: #fbf9fc;
}

.sermons-hero-container {
  min-height: 480px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.78) 0%, rgba(18, 12, 22, 0.90) 100%),
    url('../images/about-church-header.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Section 1: Featured Sermon Player Glass Card */
.featured-sermon-section {
  background: #ffffff;
  color: #1e0722;
}

.featured-sermon-section .about-section-heading {
  color: #1e0722 !important;
}

.featured-sermon-section .section-subtext {
  color: #3e2648 !important;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.7;
}

.featured-sermon-section .church-badge-pill {
  background: #f2e6fc !important;
  border: 1.5px solid #d4b5f0 !important;
  color: #5c2d91 !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(92, 45, 145, 0.08);
}

.featured-sermon-glass-card {
  background: #ffffff;
  border: 1.5px solid #ebdff2;
  border-radius: 26px;
  padding: 44px 40px;
  box-shadow: 0 20px 60px rgba(43, 12, 48, 0.08);
}

@media (max-width: 768px) {
  .featured-sermon-glass-card {
    padding: 26px 20px;
    border-radius: 20px;
  }
}

.featured-video-embed-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(43, 12, 48, 0.2);
  background: #000000;
  border: 2px solid rgba(92, 45, 145, 0.2);
}

.featured-video-ratio iframe {
  border: none;
  width: 100%;
  height: 100%;
}

.video-badge-live {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(30, 7, 34, 0.85);
  backdrop-filter: blur(8px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 5px 14px;
  border-radius: 30px;
  font-size: 0.76rem;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff0000;
  display: inline-block;
  box-shadow: 0 0 8px #ff0000;
  animation: pulseLiveDot 1.8s infinite;
}

@keyframes pulseLiveDot {
  0% {
    transform: scale(0.95);
    opacity: 0.8;
  }

  50% {
    transform: scale(1.3);
    opacity: 1;
  }

  100% {
    transform: scale(0.95);
    opacity: 0.8;
  }
}

.sermon-tag-pill {
  background: #f3ecfb;
  border: 1px solid #d9c4ee;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: 0.95rem;
  letter-spacing: 1.5px;
  padding: 4px 14px;
  border-radius: 30px;
  font-weight: 600;
}

.sermon-meta-time {
  font-size: 0.92rem;
  color: #4a3754;
  font-weight: 600;
}

.featured-sermon-title {
  font-family: var(--font-bebas);
  font-size: clamp(2rem, 3.8vw, 3rem);
  letter-spacing: 1px;
  color: #1e0722 !important;
  line-height: 1.15;
  margin-bottom: 18px;
}

.sermon-speaker-bar {
  background: #faf7fc;
  padding: 12px 18px;
  border-radius: 14px;
  border: 1px solid #ebdff2;
}

.speaker-avatar-wrap {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--accent-gold);
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(92, 45, 145, 0.15);
}

.speaker-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.speaker-role {
  font-size: 0.74rem;
  letter-spacing: 1.2px;
  color: #8c7396;
  font-weight: 600;
}

.speaker-name {
  font-family: var(--font-bebas);
  font-size: 1.3rem;
  letter-spacing: 0.8px;
}

.featured-sermon-desc {
  color: #4a3754;
  font-size: 1.04rem;
  line-height: 1.7;
  margin-bottom: 22px;
}

.btn-watch-yt {
  background: #cc0000;
  color: #ffffff;
  font-family: var(--font-bebas);
  font-size: 1.2rem;
  letter-spacing: 1.2px;
  padding: 12px 24px;
  border-radius: 8px;
  border: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  box-shadow: 0 6px 18px rgba(204, 0, 0, 0.25);
}

.btn-watch-yt:hover {
  background: #b30000;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(204, 0, 0, 0.35);
}

.btn-outline-subscribe {
  border: 1.5px solid #5c2d91;
  color: #5c2d91;
  font-family: var(--font-bebas);
  font-size: 1.2rem;
  letter-spacing: 1.2px;
  padding: 11px 22px;
  border-radius: 8px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
}

.btn-outline-subscribe:hover {
  background: #5c2d91;
  color: #ffffff;
  transform: translateY(-2px);
}

/* Section 2: Sunday Broadcast Banner */
.sunday-broadcast-banner-section {
  background: linear-gradient(135deg, #2b0c30 0%, #1e0722 100%);
  color: #ffffff;
  border-top: 1px solid rgba(234, 184, 63, 0.2);
  border-bottom: 1px solid rgba(234, 184, 63, 0.2);
}

.broadcast-icon-circle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(234, 184, 63, 0.15);
  border: 1.5px solid var(--accent-gold);
  color: var(--accent-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.broadcast-title {
  font-family: var(--font-bebas);
  font-size: 1.35rem;
  letter-spacing: 1.2px;
  color: #ffffff;
}

.broadcast-sub {
  color: #ded1e4;
  font-size: 0.95rem;
}

.btn-channel-link {
  background: var(--accent-gold);
  color: #111111;
  font-family: var(--font-bebas);
  font-size: 1.15rem;
  letter-spacing: 1.2px;
  padding: 10px 22px;
  border-radius: 6px;
  font-weight: 600;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
}

.btn-channel-link:hover {
  background: #ffffff;
  color: #2b0c30;
  transform: translateY(-2px);
}

/* Section 3: Sermon Archive Grid */
.sermon-archive-section {
  background: #fbf8fd;
  color: #1e0722;
}

.sermon-archive-section .about-section-heading {
  color: #1e0722 !important;
}

.sermon-archive-section .church-badge-pill {
  background: #f2e6fc !important;
  border: 1.5px solid #d4b5f0 !important;
  color: #5c2d91 !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(92, 45, 145, 0.08);
}

.sermon-search-wrap {
  width: 320px;
  max-width: 100%;
}

.sermon-search-wrap .form-control {
  border-color: #ebdff2;
  padding: 10px 14px;
  font-size: 0.98rem;
  border-radius: 0 10px 10px 0;
  color: #1e0722;
}

.sermon-search-wrap .form-control:focus {
  border-color: #5c2d91;
  box-shadow: 0 0 0 3px rgba(92, 45, 145, 0.12);
}

.sermon-search-wrap .input-group-text {
  border-color: #ebdff2;
  border-radius: 10px 0 0 10px;
}

/* Sermon Cards */
.sermon-card {
  background: #ffffff;
  border: 1.5px solid #ebdff2;
  border-radius: 20px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  opacity: 1 !important;
  box-shadow: 0 10px 30px rgba(43, 12, 48, 0.05);
}

.sermon-card:hover {
  transform: translateY(-6px);
  border-color: #5c2d91;
  box-shadow: 0 20px 45px rgba(92, 45, 145, 0.14);
}

.sermon-thumb-wrap {
  position: relative;
  overflow: hidden;
  height: 220px;
  background: #1e0722;
}

.sermon-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.sermon-card:hover .sermon-thumb-img {
  transform: scale(1.06);
}

.sermon-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(92, 45, 145, 0.9);
  color: #ffffff;
  border: 2px solid var(--accent-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  transition: all 0.25s ease;
}

.sermon-play-btn:hover {
  background: var(--accent-gold);
  color: #111111;
  transform: translate(-50%, -50%) scale(1.1);
}

.sermon-service-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(30, 7, 34, 0.85);
  backdrop-filter: blur(6px);
  color: #ffffff;
  font-size: 0.74rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.sermon-card-body {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.meta-speaker {
  font-size: 0.86rem;
  color: #5c2d91;
  font-weight: 700;
}

.meta-date {
  font-size: 0.82rem;
  color: #7d6884;
}

.sermon-card-title {
  font-family: var(--font-bebas);
  font-size: 1.55rem;
  letter-spacing: 0.8px;
  line-height: 1.25;
  margin-bottom: 12px;
}

.sermon-card-title a {
  color: #1e0722;
  text-decoration: none;
  transition: color 0.2s ease;
}

.sermon-card-title a:hover {
  color: #5c2d91;
}

.sermon-card-footer {
  border-top: 1px solid #f2e9f8;
}

.sermon-link-action {
  font-family: var(--font-bebas);
  font-size: 1.15rem;
  letter-spacing: 1px;
  color: #5c2d91;
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}

.sermon-link-action:hover {
  color: var(--accent-gold);
}

.sermon-views-count {
  font-size: 0.8rem;
  color: #8c7396;
}

/* Modal styling */
.sermon-video-modal .modal-content {
  background: #ffffff;
  border-radius: 20px;
  border: 2px solid #5c2d91;
  box-shadow: 0 25px 60px rgba(43, 12, 48, 0.3);
  overflow: hidden;
}

.sermon-video-modal .modal-video-ratio iframe {
  border-radius: 12px;
}

/* Sermons Pagination Styling */
.sermons-pagination-wrap {
  border-top: 1px solid #ebdff2;
}

.sermon-page-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px !important;
  border: 1.5px solid #dfcdee !important;
  background: #ffffff !important;
  color: #5c2d91 !important;
  font-family: var(--font-bebas) !important;
  font-size: 1.25rem !important;
  letter-spacing: 0.8px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 12px rgba(43, 12, 48, 0.04);
}

.sermon-page-btn:hover {
  background: #f4e9fd !important;
  border-color: #5c2d91 !important;
  color: #5c2d91 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(92, 45, 145, 0.15);
}

.page-item.active .sermon-page-btn {
  background: #5c2d91 !important;
  border-color: #5c2d91 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(92, 45, 145, 0.3);
}

.page-item.disabled .sermon-page-btn {
  opacity: 0.45;
  pointer-events: none;
  background: #faf7fc !important;
  border-color: #ebdff2 !important;
}

.sermon-page-indicator {
  font-size: 0.94rem;
  color: #5d4a63;
  font-weight: 500;
  letter-spacing: 0.5px;
}

/* ==========================================================
   DYNAMIC EVENTS LISTING & SINGLE EVENT STYLES (ENHANCED CONTRAST)
   ========================================================== */

/* Hero Banner for Events */
.events-hero-container {
  min-height: 480px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.78) 0%, rgba(18, 12, 22, 0.90) 100%),
    url('../images/banner-bg.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.events-hero-container .page-hero-title {
  color: #FFFFFF !important;
}

.events-hero-container .page-hero-title span {
  color: #FFFFFF !important;
}

.events-hero-container .page-hero-title .hero-script-text {
  color: var(--accent-gold) !important;
}

.events-hero-container .page-hero-description {
  color: #f0e6f5 !important;
  font-size: 1.15rem;
}

/* Events Dedicated Page Main Canvas */
.events-page-main {
  background-color: #fcfbf8 !important;
  color: #14091c;
  min-height: 80vh;
  position: relative;
}

/* Events Archive Header on White Canvas */
.events-archive-header {
  position: relative;
  z-index: 2;
}

.events-archive-header .church-badge-pill {
  background: #faf5ea !important;
  border: 1.5px solid rgba(212, 175, 55, 0.45) !important;
  color: #8c6a00 !important;
  font-weight: 700;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 10px rgba(212, 175, 55, 0.12);
}

.events-archive-header .church-badge-pill i {
  color: #b3820a !important;
}

.events-archive-header .about-section-heading {
  color: #14091c !important;
  font-family: var(--font-bebas);
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  letter-spacing: 1.2px;
  line-height: 1.1;
  margin: 14px 0 16px 0;
}

.events-archive-header .about-section-heading .hero-script-text,
.events-archive-header .about-section-heading .hero-script-text *,
.events-archive-header .about-section-heading .hero-script-text .split-word,
.events-archive-header .about-section-heading .hero-script-text .split-char,
#events-gatherings-title,
#events-gatherings-title *,
#events-gatherings-title .split-word,
#events-gatherings-title .split-char,
.events-gatherings-script,
.events-gatherings-script *,
.events-gatherings-script .split-word,
.events-gatherings-script .split-char {
  color: var(--accent-gold, #EAB83F) !important;
  font-family: var(--font-script, 'Abuget', cursive) !important;
  font-size: clamp(3.2rem, 5.8vw, 4.8rem);
  display: inline-block;
  transform: rotate(-3deg);
  margin-left: 8px;
  line-height: 0.85;
}

.events-archive-header .section-subtext {
  color: #3b2f42 !important;
  font-size: 1.1rem;
  font-weight: 450;
  line-height: 1.7;
  max-width: 680px;
}

.empty-events-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto;
  border-radius: 50%;
  background: #faf5ea;
  border: 2px solid rgba(212, 175, 55, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}

.empty-events-title {
  color: #14091c !important;
  font-family: var(--font-bebas);
  font-size: 2.2rem;
  letter-spacing: 1px;
}

.empty-events-sub {
  color: #55445c !important;
  font-size: 1.05rem;
}

/* Events Listing Grid Cards */
.events-listing-section {
  background: #fbf9fc;
  padding: 90px 0 110px;
}

.event-listing-card {
  background: #FFFFFF;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(43, 12, 48, 0.08);
  border: 1.5px solid #ebdff2;
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}

.event-listing-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 45px rgba(43, 12, 48, 0.16);
  border-color: #c9a7e6;
}

.event-card-media-wrap {
  height: 250px;
  position: relative;
  overflow: hidden;
  background-color: #2b0c30;
}

.event-thumb-link {
  height: 100%;
  width: 100%;
}

.event-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.event-listing-card:hover .event-thumb-img {
  transform: scale(1.06);
}

.event-thumb-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #2b0c30 0%, #5c2d91 100%);
  color: var(--accent-gold);
  font-size: 3.5rem;
}

/* Floating Date Badge on Image */
.event-floating-date-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: #FFFFFF;
  border-radius: 14px;
  padding: 8px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  border-left: 4px solid var(--accent-gold);
  min-width: 68px;
  z-index: 2;
}

.event-badge-day {
  font-family: var(--font-bebas);
  font-size: 2.2rem;
  line-height: 0.95;
  color: #1a0820;
  font-weight: 700;
}

.event-badge-month {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #5c2d91;
  margin-top: 2px;
}

.event-category-chip {
  background: #1a0820;
  color: #FFFFFF !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 20px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(234, 184, 63, 0.6);
  z-index: 2;
}

.event-listing-card-body {
  background: #FFFFFF;
}

.event-meta-row {
  margin-bottom: 12px;
}

.event-meta-item {
  font-size: 0.88rem;
  color: #55445c !important;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
}

.event-meta-item i {
  color: #b3820a !important;
  font-size: 0.95rem;
}

.event-listing-title {
  font-family: var(--font-bebas);
  font-size: 1.75rem;
  letter-spacing: 1px;
  line-height: 1.15;
  margin-bottom: 10px;
}

.event-listing-title a {
  color: #1a0820 !important;
  transition: color 0.25s ease;
  text-decoration: none;
}

.event-listing-card:hover .event-listing-title a {
  color: #5c2d91 !important;
}

.event-listing-excerpt {
  color: #433649 !important;
  font-size: 0.95rem;
  line-height: 1.65;
  font-weight: 400;
}

.event-card-footer {
  border-top: 1px solid #ebdff2 !important;
}

.event-read-more-btn {
  font-family: var(--font-bebas);
  font-size: 1.18rem;
  letter-spacing: 1.2px;
  color: #5c2d91 !important;
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  transition: all 0.25s ease;
}

.event-read-more-btn:hover {
  color: #b3820a !important;
  transform: translateX(4px);
}

.event-icon-circle-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f4ecfb;
  color: #5c2d91 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1.05rem;
  transition: all 0.25s ease;
}

.event-listing-card:hover .event-icon-circle-btn {
  background: #5c2d91;
  color: #FFFFFF !important;
  transform: rotate(45deg);
}

/* Pagination in Events */
.events-pagination-nav .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  background: #FFFFFF;
  border: 1.5px solid #dfcdee;
  color: #5c2d91 !important;
  font-family: var(--font-bebas);
  font-size: 1.25rem;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(43, 12, 48, 0.04);
}

.events-pagination-nav .page-numbers.current {
  background: #5c2d91 !important;
  border-color: #5c2d91 !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 18px rgba(92, 45, 145, 0.3);
}

.events-pagination-nav .page-numbers:hover:not(.current) {
  background: #f4e9fd !important;
  border-color: #5c2d91 !important;
  color: #5c2d91 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(92, 45, 145, 0.15);
}

/* ==========================================================
   SINGLE EVENT PAGE STYLING (SHARP CONTRAST & READABILITY)
   ========================================================== */

.single-event-hero-container {
  min-height: 460px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.78) 0%, rgba(18, 12, 22, 0.90) 100%),
    url('../images/banner-bg.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.single-event-hero-container .page-hero-title {
  color: #FFFFFF !important;
}

.single-event-hero-container .page-hero-title span {
  color: #FFFFFF !important;
}

.single-event-hero-meta,
.single-post-hero-meta {
  justify-content: flex-start !important;
}

.single-event-hero-meta .hero-meta-pill,
.single-post-hero-meta .hero-meta-pill {
  background: rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 9px 20px;
  border-radius: 50px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #FFFFFF !important;
}

.single-event-hero-meta .hero-meta-pill i,
.single-post-hero-meta .hero-meta-pill i {
  color: var(--accent-gold) !important;
}

.single-event-section {
  background: #fdfbf8;
  padding: 85px 0 110px;
}

.single-event-featured-img {
  max-height: 480px;
  width: 100%;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.08);
}

.single-event-body-card {
  background: #FFFFFF !important;
  border: 1.5px solid #ece6db !important;
  border-radius: 20px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.04);
}

.single-event-heading-group {
  border-bottom: 1.5px solid #ece6db !important;
}

.single-event-article-title {
  font-family: var(--font-bebas);
  font-size: clamp(2.4rem, 4.5vw, 3.4rem);
  color: #14091c !important;
  letter-spacing: 1px;
  line-height: 1.12;
}

.single-event-intro-lead {
  color: #4a3c53 !important;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.65;
}

.single-event-content-area.event-typography {
  font-size: 1.1rem;
  line-height: 1.85;
  color: #2b1f30 !important;
}

.single-event-content-area.event-typography p {
  color: #2b1f30 !important;
  margin-bottom: 1.5rem;
}

.single-event-share-box {
  border-top: 1.5px solid #ece6db !important;
}

.single-event-share-box span {
  color: #14091c !important;
  font-size: 1rem;
}

/* Sidebar Details */
.sidebar-details-card {
  background: #FFFFFF !important;
  border: 1.5px solid #ece6db !important;
  border-radius: 20px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.04);
}

.sidebar-card-title {
  font-family: var(--font-bebas);
  font-size: 1.7rem;
  letter-spacing: 1px;
  color: #14091c !important;
  border-bottom: 1.5px solid #ece6db !important;
}

.sidebar-card-title i {
  color: #b3820a !important;
}

.meta-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #faf5ea;
  color: #b3820a !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.meta-detail-label {
  color: #66556e;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.meta-detail-value {
  color: #14091c;
  font-weight: 800;
  font-size: 1.05rem;
}

.meta-detail-sub {
  color: #75657d;
  font-size: 0.85rem;
}

.event-meta-detail-list .text-dark {
  color: #14091c !important;
  font-size: 1.05rem;
}

.event-meta-detail-list .text-muted {
  color: #635168 !important;
}

/* Sidebar Contact Card (NO PURPLE BACKGROUND) */
.sidebar-contact-card {
  background-color: #ffffff !important;
  border: 1.5px solid rgba(212, 175, 55, 0.4) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  position: relative;
}

.contact-card-icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #faf5ea;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(212, 175, 55, 0.4);
}

.sidebar-contact-card h4 {
  color: #14091c !important;
}

.sidebar-contact-desc {
  color: #42354a !important;
  line-height: 1.6;
}

.btn-contact-card {
  background-color: #14091c;
  color: #ffffff !important;
  font-weight: 700;
  transition: all 0.25s ease;
  border: none;
}

.btn-contact-card:hover {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #14091c !important;
}

.btn-event-share {
  background: #ffffff;
  border: 1.5px solid #d9d2c5;
  color: #14091c;
  font-weight: 600;
  border-radius: 50px;
  transition: all 0.2s ease;
}

.btn-event-share:hover {
  background: #14091c;
  color: #ffffff !important;
  border-color: #14091c;
}

/* ==========================================================
   NEWS & BLOG ARCHIVE / SINGLE POST STYLING
   ========================================================== */

/* Hero Banner Container for News & Single Post (Single Banner Structure) */
.news-hero-container {
  min-height: 460px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.78) 0%, rgba(18, 12, 22, 0.90) 100%),
    url('../images/about-church-header.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.single-post-hero-container {
  min-height: 480px !important;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(234, 184, 63, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, rgba(14, 10, 18, 0.78) 0%, rgba(18, 12, 22, 0.90) 100%),
    url('../images/about-church-header.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* News Archive Section */
.news-listing-section,
.news-archive-section {
  background: #ffffff !important;
  color: #2b1f30;
  position: relative;
}

.news-listing-card {
  background: #ffffff;
  border: 1.5px solid #d9c4ee;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(92, 45, 145, 0.08);
  display: flex;
  flex-direction: column;
  transition: all 0.35s ease;
  position: relative;
}

.news-listing-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 50px rgba(92, 45, 145, 0.2);
  border-color: #5c2d91;
}

.news-card-media-wrap {
  position: relative;
  overflow: hidden;
  background: #f4ecfb;
  height: 250px;
}

.news-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
  display: block;
}

.news-listing-card:hover .news-thumb-img {
  transform: scale(1.06);
}

.news-thumb-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f4ecfb 0%, #ecdcf7 100%);
  color: #9b72b8;
  font-size: 3.5rem;
}

.news-category-badge,
.news-category-chip {
  background: linear-gradient(135deg, #5c2d91 0%, #3f1869 100%);
  backdrop-filter: blur(8px);
  color: #ffffff !important;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 6px 16px;
  border-radius: 30px;
  box-shadow: 0 4px 15px rgba(92, 45, 145, 0.35);
  border: 1px solid rgba(234, 184, 63, 0.4);
  z-index: 3;
}

.news-listing-card-body,
.news-card-body {
  padding: 30px 28px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background: #ffffff;
}

.news-meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.88rem;
  color: #79687e;
  margin-bottom: 14px;
}

.news-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
}

.news-meta-item i {
  color: var(--accent-gold);
  font-size: 0.95rem;
}

.news-listing-title {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.35;
  color: #1e0722;
  margin-bottom: 14px;
}

.news-listing-title a {
  color: #1e0722;
  text-decoration: none;
  transition: color 0.25s ease;
}

.news-listing-title a:hover {
  color: #5c2d91;
}

.news-listing-excerpt {
  color: #55445b;
  font-size: 0.98rem;
  line-height: 1.65;
  margin-bottom: 22px;
  flex-grow: 1;
}

.news-card-footer {
  border-top: 1px solid #ebdff2;
  padding-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.news-read-more-btn {
  color: #5c2d91;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.6px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.25s ease;
}

.news-read-more-btn i {
  transition: transform 0.25s ease;
  color: var(--accent-gold);
}

.news-read-more-btn:hover {
  color: #3f1869;
}

.news-read-more-btn:hover i {
  transform: translateX(4px);
}

.news-icon-circle-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f4ecfb;
  border: 1px solid #d9c4ee;
  color: #5c2d91;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.25s ease;
}

.news-icon-circle-btn:hover {
  background: #5c2d91;
  border-color: #5c2d91;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(92, 45, 145, 0.25);
}

/* Pagination */
.news-pagination-nav .pagination {
  gap: 8px;
  margin-bottom: 0;
}

.news-pagination-nav .page-link {
  color: #5c2d91;
  background: #ffffff;
  border: 1.5px solid #e5d6ef;
  border-radius: 10px !important;
  padding: 10px 18px;
  font-weight: 600;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.news-pagination-nav .page-item.active .page-link {
  background-color: #5c2d91 !important;
  border-color: #5c2d91 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(92, 45, 145, 0.3) !important;
}

.news-pagination-nav .page-link:hover:not(.active) {
  background-color: #f7f0fc;
  border-color: #5c2d91;
  color: #5c2d91;
  transform: translateY(-2px);
}

/* ==========================================================
   SINGLE POST LAYOUT & TYPOGRAPHY
   ========================================================== */
.single-post-section {
  background: #fdfbfd;
  color: #2b1f30;
  position: relative;
}

.single-post-body-card {
  background: #ffffff;
  border: 1px solid #ece2f2;
  border-radius: 24px;
  padding: 45px 50px;
  box-shadow: 0 15px 40px rgba(43, 12, 48, 0.05);
}

@media (max-width: 768px) {
  .single-post-body-card {
    padding: 28px 20px;
    border-radius: 18px;
  }
}

.single-post-featured-wrapper {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(43, 12, 48, 0.08);
  border: 1px solid #ebdeef;
}

.single-post-featured-img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  display: block;
}

/* Post Typography inside Single */
.post-typography {
  font-size: 1.12rem;
  line-height: 1.85;
  color: #2e1c33;
}

.post-typography p {
  margin-bottom: 1.6rem;
  color: #3b2841;
}

.post-typography h2 {
  font-size: 1.85rem;
  font-weight: 700;
  color: #1e0722;
  margin-top: 2.4rem;
  margin-bottom: 1.1rem;
  line-height: 1.3;
}

.post-typography h3 {
  font-size: 1.45rem;
  font-weight: 700;
  color: #1e0722;
  margin-top: 2rem;
  margin-bottom: 0.9rem;
}

.post-typography ul,
.post-typography ol {
  margin-bottom: 1.6rem;
  padding-left: 1.5rem;
}

.post-typography li {
  margin-bottom: 0.6rem;
  color: #3b2841;
}

.post-typography blockquote {
  background: #fbf5fe;
  border-left: 4px solid var(--accent-gold);
  border-radius: 0 14px 14px 0;
  padding: 22px 28px;
  margin: 2rem 0;
  font-size: 1.2rem;
  font-style: italic;
  color: #2b0c30;
}

/* Post Share & Tags Footer */
.post-share-footer {
  border-top: 1px solid #ebdeef;
  padding-top: 25px;
  margin-top: 35px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.share-btn-round {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f4ecfb;
  color: #5c2d91;
  text-decoration: none;
  font-size: 1.1rem;
  transition: all 0.25s ease;
}

.share-btn-round:hover {
  background: #5c2d91;
  color: #ffffff;
  transform: translateY(-2px);
}

/* Post Prev / Next Navigation */
.post-nav-card {
  display: block;
  background: #ffffff;
  border: 1px solid #ebdff2;
  border-radius: 16px;
  padding: 22px 24px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.03);
  height: 100%;
}

.post-nav-card:hover {
  border-color: #5c2d91;
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(92, 45, 145, 0.12);
}

.post-nav-label {
  font-size: 0.82rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #79687e;
  font-weight: 600;
  margin-bottom: 6px;
}

.post-nav-title {
  color: #1e0722;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.35;
  margin-bottom: 0;
  transition: color 0.2s ease;
}

.post-nav-card:hover .post-nav-title {
  color: #5c2d91;
}

/* Sidebar Recent Posts */
.recent-post-widget-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #f2e9f6;
  text-decoration: none;
  transition: transform 0.2s ease;
}

.recent-post-widget-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.recent-post-widget-item:hover {
  transform: translateX(4px);
}

.recent-post-thumb {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
}

.recent-post-thumb-fallback {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  background: #f4ecfb;
  color: #5c2d91;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}

.recent-post-meta {
  flex-grow: 1;
}

.recent-post-title {
  font-size: 0.96rem;
  font-weight: 600;
  color: #1e0722;
  line-height: 1.35;
  margin-bottom: 4px;
  transition: color 0.2s ease;
}

.recent-post-widget-item:hover .recent-post-title {
  color: #5c2d91;
}

.recent-post-date {
  font-size: 0.8rem;
  color: #79687e;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* ==========================================================
   THE PRAYER GARDEN JOURNEY 2026 STYLES
   ========================================================== */
.prayer-garden-hero-section {
  position: relative;
  overflow: hidden;
  min-height: 420px;
}

.prayer-garden-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
  filter: brightness(0.95);
  transform: scale(1.03);
  transition: transform 6s cubic-bezier(0.25, 1, 0.5, 1);
}

.prayer-garden-hero-section:hover .prayer-garden-hero-bg {
  transform: scale(1.08);
}

.prayer-garden-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(38, 14, 58, 0.92) 0%, rgba(59, 23, 90, 0.85) 50%, rgba(20, 8, 30, 0.94) 100%);
  backdrop-filter: blur(2px);
}

.prayer-garden-main {
  background: linear-gradient(180deg, #f9f7fb 0%, #ffffff 350px, #fdfbf8 100%);
  min-height: 70vh;
}

/* Controls Toolbar */
.prayer-controls-card {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
  border-radius: 18px;
  padding: 1.15rem 1.6rem;
  box-shadow: 0 10px 30px rgba(59, 29, 90, 0.08);
  position: relative;
  z-index: 50;
  opacity: 1 !important;
}

.prayer-controls-card .dropdown {
  position: relative;
  z-index: 55;
}

.prayer-nav-btn {
  background: #f4ecfb;
  color: #5c2d91;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.55rem 1.1rem;
  border-radius: 50px;
  border: 1px solid rgba(92, 45, 145, 0.15);
  transition: all 0.25s ease;
}

.prayer-nav-btn:hover {
  background: #5c2d91;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(92, 45, 145, 0.25);
}

.prayer-today-btn {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #1a0c2a;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.55rem 1.25rem;
  border-radius: 50px;
  border: none;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
  transition: all 0.25s ease;
}

.prayer-today-btn:hover {
  background: linear-gradient(135deg, #e5c358 0%, #c49d26 100%);
  color: #1a0c2a;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.45);
}

.prayer-date-picker {
  border-radius: 10px;
  border: 1px solid #e0d5eb;
  padding: 0.55rem 0.85rem;
  font-size: 0.92rem;
  color: #3b1d5a;
  font-weight: 500;
}

.prayer-date-picker:focus {
  border-color: #d4af37;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

.prayer-month-dropdown-btn {
  background: #ffffff !important;
  border: 1.5px solid #dcd1e8 !important;
  color: #3b1d5a !important;
  border-radius: 10px;
  padding: 0.55rem 1.15rem;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.2s ease;
  position: relative;
  z-index: 56;
  opacity: 1 !important;
}

.prayer-month-dropdown-btn:hover,
.prayer-month-dropdown-btn:focus,
.prayer-month-dropdown-btn.show,
.prayer-month-dropdown-btn[aria-expanded="true"] {
  border-color: #d4af37 !important;
  color: #5c2d91 !important;
  background: #faf6fd !important;
  opacity: 1 !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2) !important;
}

.prayer-month-menu {
  max-height: 280px !important;
  overflow-y: scroll !important;
  scrollbar-width: thin !important;
  scrollbar-color: #d4af37 #f4ecfb !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  border-radius: 14px !important;
  box-shadow: 0 20px 50px rgba(38, 14, 58, 0.25) !important;
  border: 1.5px solid #d4af37 !important;
  padding: 8px !important;
  margin-top: 8px !important;
  z-index: 1060 !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
}

/* Custom Visible Scrollbar for Month Menu */
.prayer-month-menu::-webkit-scrollbar {
  width: 7px !important;
  display: block !important;
}

.prayer-month-menu::-webkit-scrollbar-track {
  background: #f4ecfb !important;
  border-radius: 10px !important;
  margin: 6px 0 !important;
}

.prayer-month-menu::-webkit-scrollbar-thumb {
  background: #d4af37 !important;
  border-radius: 10px !important;
  border: 1px solid #c49d26 !important;
}

.prayer-month-menu::-webkit-scrollbar-thumb:hover {
  background: #b89320 !important;
}

.prayer-controls-card:has(.show),
.prayer-controls-card:has([aria-expanded="true"]) {
  z-index: 100 !important;
  opacity: 1 !important;
}

.prayer-month-menu .dropdown-item {
  border-radius: 8px !important;
  padding: 0.55rem 0.95rem !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  color: #1a0c2a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
  opacity: 1 !important;
}

.prayer-month-menu .dropdown-item:hover {
  background: #fbf5e6 !important;
  color: #8c6800 !important;
  font-weight: 700 !important;
  transform: translateX(3px) !important;
}

.prayer-month-menu .dropdown-item.active {
  background: #f4ecfb !important;
  color: #5c2d91 !important;
  font-weight: 700 !important;
}

/* Devotional Toast Notification */
#prayerToast {
  background: #ffffff !important;
  color: #111111 !important;
  border: 2px solid #d4af37 !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.22) !important;
}

#toastMessage {
  color: #111111 !important;
  font-weight: 700 !important;
  font-size: 0.96rem !important;
}

/* Main Sanctuary Card */
.prayer-sanctuary-card {
  background: #ffffff;
  border-radius: 26px;
  padding: 3rem 3.25rem;
  border: 1px solid rgba(212, 175, 55, 0.25);
  box-shadow: 0 24px 65px rgba(59, 29, 90, 0.09);
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.sanctuary-top-glow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, #d4af37 0%, #9b59b6 50%, #d4af37 100%);
}

.sanctuary-day-pill {
  background: #faf5e8;
  color: #8c6a00;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 0.4rem 0.95rem;
  border-radius: 50px;
  border: 1px solid rgba(212, 175, 55, 0.35);
  display: inline-flex;
  align-items: center;
}

.sanctuary-date-text {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2b113d;
}

.sanctuary-tool-btn {
  background: #ffffff;
  border: 1px solid #e2d9ee;
  color: #5c2d91;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.45rem 0.9rem;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.sanctuary-tool-btn:hover {
  background: #5c2d91;
  color: #ffffff;
  border-color: #5c2d91;
  transform: translateY(-2px);
}

/* Scripture Callout */
.sanctuary-scripture-box {
  background: linear-gradient(135deg, rgba(92, 45, 145, 0.05) 0%, rgba(212, 175, 55, 0.09) 100%);
  border-left: 5px solid #d4af37;
  border-radius: 14px;
  padding: 1.75rem 2.25rem;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  border-right: 1px solid rgba(212, 175, 55, 0.15);
  border-bottom: 1px solid rgba(212, 175, 55, 0.15);
}

.scripture-badge-label {
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #8c6a00;
  text-transform: uppercase;
}

.sanctuary-scripture-title {
  font-size: 2.2rem;
  font-weight: 800;
  color: #2a0f3c;
  letter-spacing: -0.5px;
  line-height: 1.25;
}

.sanctuary-bible-link {
  background: #ffffff;
  border: 1.5px solid #d4af37;
  color: #8c6a00;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.6rem 1.25rem;
  border-radius: 50px;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.sanctuary-bible-link:hover {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #1a0c2a;
  border-color: #d4af37;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.3);
}

/* Thought Quote */
.thought-section-label h3,
.prayer-section-label h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #3b1d5a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.sanctuary-thought-quote {
  background: #ffffff;
  border-left: 3px solid #9b59b6;
  border-radius: 0 14px 14px 0;
  padding: 1.5rem 1.75rem 1.5rem 2.25rem;
}

.thought-quote-mark {
  position: absolute;
  top: -15px;
  left: 10px;
  font-size: 4.5rem;
  line-height: 1;
  color: rgba(155, 89, 182, 0.15);
  font-family: Georgia, serif;
  user-select: none;
}

.thought-quote-text {
  font-size: 1.22rem;
  line-height: 1.85;
  color: #2e2433;
  font-weight: 400;
}

/* Prayer Card */
.sanctuary-prayer-card {
  background: linear-gradient(135deg, #faf7f2 0%, #fbf9f5 100%);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 18px;
  padding: 2rem 2.25rem;
  box-shadow: inset 0 2px 4px rgba(212, 175, 55, 0.05);
}

.prayer-text-body {
  font-size: 1.18rem;
  line-height: 1.9;
  color: #2a1f18;
  font-style: italic;
  font-family: Georgia, serif;
}

.amen-pill {
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #8c6a00;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.35rem 0.95rem;
  border-radius: 50px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

/* Month Grid Entry Cards */
.month-entry-card {
  background: #ffffff;
  border: 1px solid #e8e0f0;
  border-radius: 14px;
  padding: 1.1rem 1.25rem;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.month-entry-card:hover {
  transform: translateY(-3px);
  border-color: #9b59b6;
  box-shadow: 0 8px 24px rgba(92, 45, 145, 0.12);
}

.month-entry-card.selected {
  border: 2px solid #d4af37;
  background: #fffdf9;
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.2);
}

.entry-date-chip {
  background: #f4ecfb;
  color: #5c2d91;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.25rem 0.65rem;
  border-radius: 50px;
}

.month-entry-card.selected .entry-date-chip {
  background: #d4af37;
  color: #1a0c2a;
}

.entry-scripture-title {
  color: #2b113d;
  font-size: 0.98rem;
}

/* Print Styles */
@media print {

  .church-navbar,
  .site-footer,
  .prayer-garden-hero-section,
  .prayer-controls-card,
  .monthly-readings-section,
  .sanctuary-action-tools,
  .breadcrumb {
    display: none !important;
  }

  .prayer-sanctuary-card {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
  }
}

@media (max-width: 767.98px) {
  .prayer-sanctuary-card {
    padding: 1.75rem 1.25rem;
  }

  .sanctuary-scripture-title {
    font-size: 1.65rem;
  }

  .thought-quote-text,
  .prayer-text-body {
    font-size: 1.05rem;
  }
}

/* Homepage Prayer Garden Spotlight */
.home-prayer-garden-section {
  background: #fdfbf8;
  padding: 80px 0;
}

.prayer-garden-spotlight-card {
  background: linear-gradient(135deg, #260e3a 0%, #3b175a 50%, #1a0824 100%);
  border-radius: 28px;
  padding: 3.5rem 3.5rem;
  border: 1px solid rgba(212, 175, 55, 0.3);
  box-shadow: 0 25px 60px rgba(38, 14, 58, 0.2);
  position: relative;
  overflow: hidden;
}

.spotlight-title {
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -0.5px;
}

.spotlight-thought {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.15rem;
  line-height: 1.75;
}

.btn-spotlight-primary {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #1a0c2a;
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.5px;
  padding: 0.75rem 1.6rem;
  border-radius: 50px;
  border: none;
  transition: all 0.25s ease;
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35);
  display: inline-flex;
  align-items: center;
}

.btn-spotlight-primary:hover {
  background: linear-gradient(135deg, #e5c358 0%, #c49d26 100%);
  color: #1a0c2a;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(212, 175, 55, 0.5);
}

.btn-spotlight-outline {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  transition: all 0.25s ease;
  backdrop-filter: blur(8px);
  display: inline-flex;
  align-items: center;
}

.btn-spotlight-outline:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-color: #d4af37;
  transform: translateY(-2px);
}

.spotlight-garden-img {
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35);
  border: 2px solid rgba(212, 175, 55, 0.35);
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.spotlight-glass-quote {
  position: absolute;
  bottom: -15px;
  left: 20px;
  right: 20px;
  background: rgba(26, 8, 36, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 14px;
  padding: 0.85rem 1.15rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.88rem;
  font-style: italic;
  display: flex;
  align-items: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

@media (max-width: 991.98px) {
  .prayer-garden-spotlight-card {
    padding: 2rem 1.5rem;
  }

  .spotlight-title {
    font-size: 1.7rem;
  }

  .spotlight-garden-img {
    height: 220px;
  }

  .spotlight-glass-quote {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    margin-top: 15px;
  }
}

/* ==========================================================
   OFFICIAL 2026 EVENTS & MASTER CALENDAR STYLES (NO PURPLE BG / HIGH CONTRAST)
   ========================================================== */
.events-filter-card {
  background: #ffffff;
  border: 1.5px solid #ece6db;
  border-radius: 20px;
  padding: 1.6rem 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.filter-label-text {
  font-weight: 800;
  font-size: 0.98rem;
  color: #14091c;
  letter-spacing: 0.3px;
}

.filter-sublabel-text {
  font-weight: 700;
  font-size: 0.9rem;
  color: #55445c;
}

/* Month Pills Mobile-Responsive Container */
.month-pills-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.month-pills-scroller {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  gap: 0.5rem;
  padding: 6px 4px 10px 4px;
  width: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.month-pills-scroller::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Left & Right Edge Gradient Fade Cues */
.month-pills-wrapper::before,
.month-pills-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 8px;
  width: 28px;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.month-pills-wrapper::before {
  left: 0;
  background: linear-gradient(90deg, #ffffff 30%, rgba(255, 255, 255, 0) 100%);
}

.month-pills-wrapper::after {
  right: 0;
  background: linear-gradient(270deg, #ffffff 30%, rgba(255, 255, 255, 0) 100%);
}

.month-pills-wrapper.can-scroll-left::before {
  opacity: 1;
}

.month-pills-wrapper.can-scroll-right::after {
  opacity: 1;
}

/* Mobile-Friendly Month Scroll Arrows */
.month-scroll-arrow {
  position: absolute;
  top: calc(50% - 5px);
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ffffff;
  border: 1.5px solid #dfd8cb;
  color: #14091c;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
  font-size: 0.82rem;
  opacity: 0;
  pointer-events: none;
}

.month-scroll-arrow:hover {
  background: #14091c;
  color: #ffffff;
  border-color: #14091c;
  transform: translateY(-50%) scale(1.08);
}

.month-scroll-prev {
  left: -10px;
}

.month-scroll-next {
  right: -10px;
}

.month-pill-btn {
  background: #fbf9f6;
  border: 1px solid #e2ddd3;
  color: #2b1b36;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 0.48rem 1.2rem;
  border-radius: 50px;
  transition: all 0.25s ease;
  flex-shrink: 0;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  scroll-snap-align: center;
}

.month-pill-btn:hover {
  background: #14091c;
  color: #ffffff;
  border-color: #14091c;
  transform: translateY(-2px);
}

.month-pill-btn.active {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #14091c !important;
  border-color: #d4af37;
  font-weight: 800;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
}

.cat-chip-btn {
  background: #ffffff;
  border: 1px solid #dfd8cb;
  color: #382845;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 0.4rem 1rem;
  border-radius: 10px;
  transition: all 0.2s ease;
}

.cat-chip-btn:hover {
  border-color: #d4af37;
  color: #14091c;
  background: #faf6ed;
}

.cat-chip-btn.active {
  background: #14091c;
  color: #ffffff !important;
  border-color: #14091c;
  font-weight: 700;
}

.btn-clear-filter {
  color: #8c6a00;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.88rem;
  transition: color 0.2s ease;
}

.btn-clear-filter:hover {
  color: #14091c;
  text-decoration: underline;
}

.border-light-divider {
  border-color: #eee7dd !important;
}

/* Flagship Event Spotlight */
.flagship-event-spotlight {
  background: #ffffff;
  border: 1.5px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 2.75rem 3rem;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

.flagship-event-spotlight::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #d4af37, #f3e5ab, #d4af37);
}

.spotlight-event-title {
  font-family: var(--font-bebas, 'Bebas Neue', sans-serif);
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 700;
  color: #14091c;
  line-height: 1.15;
  letter-spacing: 0.5px;
}

.spotlight-event-meta .meta-pill {
  background: #faf6ed;
  color: #735002;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 0.45rem 1rem;
  border-radius: 50px;
  border: 1px solid rgba(212, 175, 55, 0.35);
  display: inline-flex;
  align-items: center;
}

.spotlight-event-desc {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #3b2f42;
  font-weight: 400;
}

/* Spotlight Action Buttons */
.btn-spotlight-primary {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #14091c !important;
  font-weight: 800;
  font-size: 0.92rem;
  padding: 0.85rem 1.75rem;
  border-radius: 50px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  border: none;
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  letter-spacing: 0.5px;
}

.btn-spotlight-primary:hover {
  background: linear-gradient(135deg, #e5c358 0%, #caa12c 100%);
  color: #14091c !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(212, 175, 55, 0.4);
}

.btn-spotlight-secondary {
  background: #ffffff;
  color: #14091c !important;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 0.82rem 1.75rem;
  border-radius: 50px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  border: 1.5px solid #14091c;
  transition: all 0.3s ease;
  letter-spacing: 0.5px;
}

.btn-spotlight-secondary:hover {
  background: #14091c;
  color: #ffffff !important;
  transform: translateY(-2px);
}

/* Luxury White Spotlight Venue Card (NO PURPLE BACKGROUND) */
.spotlight-venue-card {
  background: #ffffff;
  border-radius: 20px;
  color: #14091c;
  border: 1.5px solid rgba(212, 175, 55, 0.45);
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.05);
  padding: 2.25rem 2rem;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.spotlight-venue-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(212, 175, 55, 0.15);
}

.venue-icon-circle {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fdf8ec 0%, #f7ecd0 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(212, 175, 55, 0.5);
  color: #b3820a;
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.2);
}

.venue-card-title {
  color: #14091c;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.3px;
}

.venue-card-address {
  color: #483a50 !important;
  font-size: 0.95rem;
  line-height: 1.55;
  font-weight: 500;
}

.venue-date-badge {
  background: #14091c;
  color: #f7ecd0 !important;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.5rem 1.25rem;
  border-radius: 50px;
  display: inline-block;
  border: 1px solid rgba(212, 175, 55, 0.4);
  letter-spacing: 0.5px;
}

/* Master Calendar Event Card */
.master-event-card {
  background: #ffffff;
  border: 1.5px solid #ece6db;
  border-radius: 18px;
  padding: 1.75rem 1.6rem;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

.master-event-card:hover {
  transform: translateY(-5px);
  border-color: #d4af37;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

/* Warm Ivory/Gold Date Badge (NO PURPLE BACKGROUND) */
.event-date-box {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: #faf5ea;
  border: 1.5px solid rgba(212, 175, 55, 0.45);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(212, 175, 55, 0.12);
}

.event-date-box .date-month {
  font-size: 0.72rem;
  font-weight: 800;
  color: #8c6a00;
  letter-spacing: 0.8px;
  line-height: 1;
}

.event-date-box .date-day {
  font-size: 1.35rem;
  font-weight: 800;
  color: #14091c;
  line-height: 1;
  margin-top: 2px;
}

.event-weekday-meta .weekday-name {
  font-weight: 800;
  font-size: 1rem;
  color: #14091c;
  line-height: 1.2;
}

.event-weekday-meta .date-full {
  color: #55445c;
  font-weight: 500;
}

.event-card-title {
  font-size: 1.24rem;
  font-weight: 700;
  line-height: 1.35;
}

.event-card-title-link {
  color: #14091c;
  text-decoration: none;
  transition: color 0.2s ease;
}

.event-card-title-link:hover {
  color: #b3820a;
}

.event-meta-row-item {
  color: #3f3148;
  font-weight: 600;
  font-size: 0.92rem;
}

.event-card-desc {
  font-size: 0.94rem;
  line-height: 1.65;
  color: #42354a;
}

.btn-card-action {
  color: #14091c;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
}

.btn-card-action:hover {
  color: #b3820a;
  transform: translateX(3px);
}

.btn-card-visit {
  color: #756280;
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.btn-card-visit:hover {
  color: #14091c;
  text-decoration: underline;
}

/* Category Badges (Vibrant, high-contrast, multi-tone palette) */
.event-cat-badge {
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.35rem 0.85rem;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  display: inline-block;
  line-height: 1;
}

.badge-worship {
  background: #fdf1ea;
  color: #a83506;
  border: 1px solid rgba(168, 53, 6, 0.25);
}

.badge-banquet {
  background: #fcf7e8;
  color: #826000;
  border: 1px solid rgba(212, 175, 55, 0.45);
}

.badge-music {
  background: #eef4ff;
  color: #1e40af;
  border: 1px solid rgba(30, 64, 175, 0.25);
}

.badge-youth {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid rgba(6, 95, 70, 0.25);
}

.badge-mission {
  background: #f0fdfa;
  color: #0f766e;
  border: 1px solid rgba(15, 118, 110, 0.25);
}

.badge-fellowship {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid rgba(180, 83, 9, 0.25);
}

.badge-governance {
  background: #f1f5f9;
  color: #334155;
  border: 1px solid rgba(51, 65, 85, 0.25);
}

.badge-celebration {
  background: #fdf2f8;
  color: #be185d;
  border: 1px solid rgba(190, 24, 93, 0.25);
}

.badge-discipleship {
  background: #f5f3ff;
  color: #4338ca;
  border: 1px solid rgba(67, 56, 202, 0.25);
}

.badge-default {
  background: #faf5ea;
  color: #826000;
  border: 1px solid rgba(212, 175, 55, 0.4);
}

@media (max-width: 767.98px) {
  .flagship-event-spotlight {
    padding: 1.75rem 1.25rem;
  }

  .spotlight-event-title {
    font-size: 1.6rem;
  }
}

/* ==========================================================
   EVENTS GRID NON-RELOADING PAGINATION (LUXURY GOLD & OBSIDIAN)
   ========================================================== */
.events-pagination-wrapper {
  border-top: 1.5px solid #ece6db;
  padding-top: 2rem;
}

.events-pagination-info {
  font-size: 0.95rem;
  color: #55445c;
  letter-spacing: 0.2px;
}

.events-pagination-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.events-pagination-list .page-item {
  margin: 0;
}

.events-pagination-list .page-link {
  outline: none !important;
  box-shadow: none;
}

/* Page Numbers */
.page-link.events-page-num {
  width: 44px;
  height: 44px;
  border-radius: 50% !important;
  border: 1.5px solid #dfd8cb;
  background: #ffffff;
  color: #14091c;
  font-weight: 700;
  font-size: 0.92rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  cursor: pointer;
  padding: 0;
}

.events-pagination-list .page-item.active .page-link.events-page-num {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%) !important;
  color: #14091c !important;
  border-color: #d4af37 !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.4) !important;
  transform: scale(1.08);
}

.events-pagination-list .page-item:not(.active):not(.disabled) .page-link.events-page-num:hover {
  background: #faf6ed;
  border-color: #d4af37;
  color: #14091c;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.2);
}

/* Prev / Next Nav Buttons */
.page-link.events-page-nav-btn {
  border-radius: 50px !important;
  padding: 0.55rem 1.25rem;
  font-weight: 700;
  font-size: 0.9rem;
  border: 1.5px solid #dfd8cb;
  background: #ffffff;
  color: #14091c;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  cursor: pointer;
}

.events-pagination-list .page-item:not(.disabled) .page-link.events-page-nav-btn:hover {
  background: #14091c;
  color: #ffffff;
  border-color: #14091c;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(20, 9, 28, 0.15);
}

.events-pagination-list .page-item.disabled .page-link.events-page-nav-btn {
  opacity: 0.38;
  cursor: not-allowed !important;
  pointer-events: none;
  background: #f7f4ef;
  border-color: #e5dfd4;
  color: #887a8f;
}

.events-page-ellipsis {
  width: 32px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #887a8f;
  font-weight: 800;
  font-size: 1.05rem;
  user-select: none;
}

/* Card visibility and smooth fade-in */
.event-card-col.event-card-hidden {
  display: none !important;
}

@keyframes eventCardFadeIn {
  0% {
    opacity: 0;
    transform: translateY(16px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.event-card-col.event-card-animating {
  animation: eventCardFadeIn 0.38s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

@media (max-width: 767.98px) {
  .events-filter-card {
    padding: 1.15rem 1rem !important;
    border-radius: 16px !important;
  }

  .month-pill-btn {
    padding: 0.45rem 1rem !important;
    font-size: 0.84rem !important;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: center;
  }

  .month-scroll-arrow {
    width: 28px;
    height: 28px;
    font-size: 0.75rem;
  }

  .month-scroll-prev {
    left: -4px;
  }

  .month-scroll-next {
    right: -4px;
  }

  .events-pagination-list {
    gap: 0.3rem !important;
  }

  .page-link.events-page-num {
    width: 38px !important;
    height: 38px !important;
    font-size: 0.85rem !important;
  }

  .page-link.events-page-nav-btn {
    padding: 0.45rem 0.95rem !important;
    font-size: 0.84rem !important;
  }
}

/* ==========================================================
   CHURCH LEADERSHIP, GOVERNANCE & 117TH HERITAGE STYLES
   ========================================================== */
.bg-light-section {
  background-color: #fcfbf8 !important;
}

.about-history-section {
  background-color: #fcfbf8 !important;
  color: #1e0722;
  position: relative;
}

.about-history-section .about-section-heading {
  color: #1e0722 !important;
}

.about-history-section .about-section-heading .hero-script-text,
.about-history-section .about-section-heading .hero-script-text *,
.about-history-section .about-section-heading .hero-script-text .split-word,
.about-history-section .about-section-heading .hero-script-text .split-char {
  color: var(--accent-gold) !important;
  font-family: var(--font-script) !important;
}

.about-history-section .section-subtext {
  color: #483a50 !important;
}

.bg-gold-subtle {
  background-color: #faf5ea !important;
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
}

.extra-small {
  font-size: 0.75rem;
}

/* History Milestone Cards */
.history-milestone-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
  overflow: hidden;
  border: 1.5px solid #ece6db !important;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.history-milestone-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.06);
  border-color: #d4af37 !important;
}

.history-milestone-card.active-milestone {
  border: 1.5px solid rgba(212, 175, 55, 0.6) !important;
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.12);
}

.milestone-year-badge {
  display: inline-block;
  background: #14091c;
  color: #ffffff;
  font-family: var(--font-bebas, 'Bebas Neue', sans-serif);
  font-size: 1.5rem;
  letter-spacing: 1px;
  padding: 0.25rem 0.85rem;
  border-radius: 8px;
}

.milestone-year-badge.gold-badge {
  background: linear-gradient(135deg, #d4af37 0%, #b89320 100%);
  color: #14091c;
  font-weight: 800;
}

.milestone-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #14091c;
}

/* First Family Card */
.first-family-card {
  background: #ffffff;
  border: 1.5px solid rgba(212, 175, 55, 0.4);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.family-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #faf5ea;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(212, 175, 55, 0.4);
}

.family-card-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #14091c;
}

.badge-anniversary-date {
  display: inline-block;
  background: #faf5ea;
  color: #7a5800;
  font-weight: 700;
  padding: 0.35rem 0.85rem;
  border-radius: 50px;
  border: 1px solid rgba(212, 175, 55, 0.35);
}

/* Congregational Care & Diaconate Cards */
.care-group-card {
  border: 1.5px solid #ece6db !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.care-group-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.07);
  border-color: #d4af37 !important;
}

.care-alpha-badge {
  display: inline-block;
  background: #14091c;
  color: #f7ecd0;
  font-weight: 800;
  font-size: clamp(0.72rem, 0.9vw, 0.78rem);
  letter-spacing: 1px;
  padding: 0.35rem 0.95rem;
  border-radius: 50px;
  border: 1px solid rgba(212, 175, 55, 0.4);
  max-width: 100%;
  white-space: normal;
  text-align: center;
  word-break: break-word;
  overflow-wrap: break-word;
}

.care-avatar-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #faf5ea;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(212, 175, 55, 0.4);
}

.roster-member-badge {
  background: #f8f6f0;
  color: #2b1b36;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 50px;
  border: 1px solid #e2ddd3;
}

.roster-member-badge.gold-highlight-badge {
  background: #faf5ea;
  color: #826000;
  border-color: rgba(212, 175, 55, 0.5);
  font-weight: 700;
}

/* Officer Feature Cards & Trustees */
.officer-feature-card {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
  border: 1.5px solid #ece6db !important;
  transition: transform 0.25s ease;
}

.officer-feature-card:hover {
  transform: translateY(-3px);
  border-color: #d4af37 !important;
}

.officer-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #faf5ea;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(212, 175, 55, 0.35);
  flex-shrink: 0;
}

.trustee-item-pill {
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.trustee-item-pill:hover {
  transform: translateY(-2px);
  border-color: #d4af37 !important;
}

/* Ministry Rehearsal Department Cards */
.schedule-department-card {
  border: 1.5px solid #ece6db;
}

.dept-icon-circle {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.schedule-dept-item {
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.schedule-dept-item:hover {
  border-color: #d4af37 !important;
  transform: translateX(3px);
}

/* ==========================================================================
   WPFORMS PRO & PLAN YOUR VISIT POPUP MODAL (White & Yellow Mix)
   ========================================================================== */

/* Modal Backdrop Blur & Scroll Lock Override */
.gfbc-modal.modal {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  background-color: rgba(20, 9, 28, 0.65);
  overflow-y: auto !important;
}

.gfbc-modal .modal-dialog-scrollable {
  max-height: calc(100vh - 40px) !important;
  margin: 20px auto !important;
}

.plan-visit-modal-content {
  border: 1.5px solid rgba(234, 184, 63, 0.45);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 25px 70px rgba(20, 9, 28, 0.35), 0 0 50px rgba(234, 184, 63, 0.15);
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(90vh - 20px) !important;
  transition: transform 0.3s ease-out;
}

/* Modal Top Gold Accent Bar */
.modal-top-accent-bar {
  height: 5px;
  width: 100%;
  flex-shrink: 0;
  background: linear-gradient(90deg, #EAB83F 0%, #ffdf85 50%, #EAB83F 100%);
}

/* Modal Header */
.plan-visit-modal-header {
  background: #ffffff;
  padding: 28px 32px 14px 32px;
  position: relative;
  flex-shrink: 0 !important;
}

.modal-pill-badge {
  display: inline-flex;
  align-items: center;
  background: #fef8e7;
  color: #8c6200;
  border: 1px solid rgba(234, 184, 63, 0.4);
  border-radius: 9999px;
  font-family: var(--font-base), 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  padding: 5px 14px;
}

.plan-visit-modal-title {
  font-family: var(--font-bebas);
  font-size: 2.5rem;
  letter-spacing: 1.2px;
  color: #14091c;
  line-height: 1.1;
}

.modal-subtitle {
  color: #554261;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Modal Close Button */
.btn-close-modal {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1.5px solid #eae3d7;
  background: #faf6f0;
  color: #14091c;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.25s ease;
  z-index: 10;
}

.btn-close-modal:hover {
  background: #EAB83F;
  border-color: #EAB83F;
  color: #14091c;
  transform: rotate(90deg) scale(1.05);
  box-shadow: 0 4px 14px rgba(234, 184, 63, 0.4);
}

/* Modal Body - Guaranteed Smooth Scrolling */
.plan-visit-modal-body {
  background: #ffffff;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
}

/* Sleek Yellow/Gold Scrollbar */
.plan-visit-modal-body::-webkit-scrollbar {
  width: 7px;
}

.plan-visit-modal-body::-webkit-scrollbar-track {
  background: #fcfbf8;
  border-radius: 8px;
}

.plan-visit-modal-body::-webkit-scrollbar-thumb {
  background: #EAB83F;
  border-radius: 8px;
}

.plan-visit-modal-body::-webkit-scrollbar-thumb:hover {
  background: #d49b14;
}

/* Modal Footer */
.plan-visit-modal-footer {
  flex-shrink: 0 !important;
  background: #faf8f4;
  border-top: 1px solid #eee7db !important;
}

.modal-service-badge {
  background: #ffffff;
  border: 1px solid rgba(234, 184, 63, 0.35);
  border-radius: 9999px;
  padding: 4px 12px;
  color: #14091c;
  font-weight: 600;
}

/* ==========================================================================
   WPFORMS UNIVERSAL WHITE & YELLOW MIX THEME
   ========================================================================== */

div.wpforms-container-full {
  margin: 0 !important;
  width: 100% !important;
}

div.wpforms-container-full .wpforms-form {
  width: 100% !important;
}

/* WPForms Field Spacing */
div.wpforms-container-full .wpforms-field {
  padding: 0 !important;
  margin-bottom: 20px !important;
}

/* Field Labels */
div.wpforms-container-full .wpforms-field-label {
  font-family: var(--font-base), 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #14091c !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  margin-bottom: 7px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

div.wpforms-container-full .wpforms-required-label {
  color: #d49b14 !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
}

/* Sub-labels (e.g., First, Last Name) */
div.wpforms-container-full .wpforms-field-sublabel {
  font-family: var(--font-base), 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  color: #72607d !important;
  text-transform: capitalize !important;
  margin-top: 5px !important;
}

/* Description Text */
div.wpforms-container-full .wpforms-field-description {
  font-size: 0.82rem !important;
  color: #6a5775 !important;
  line-height: 1.5 !important;
  margin-top: 6px !important;
}

/* Universal Inputs: Text, Email, Tel, Date, Select, Textarea */
div.wpforms-container-full input[type="text"],
div.wpforms-container-full input[type="email"],
div.wpforms-container-full input[type="tel"],
div.wpforms-container-full input[type="date"],
div.wpforms-container-full select,
div.wpforms-container-full textarea {
  width: 100% !important;
  background: #ffffff !important;
  border: 1.5px solid #ded6c9 !important;
  border-radius: 12px !important;
  color: #14091c !important;
  font-family: var(--font-base), 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.95rem !important;
  padding: 12px 18px !important;
  line-height: 1.5 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.25s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}

div.wpforms-container-full textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

/* Focus States: Radiant Yellow/Gold Halo Glow */
div.wpforms-container-full input[type="text"]:focus,
div.wpforms-container-full input[type="email"]:focus,
div.wpforms-container-full input[type="tel"]:focus,
div.wpforms-container-full input[type="date"]:focus,
div.wpforms-container-full select:focus,
div.wpforms-container-full textarea:focus {
  border-color: #EAB83F !important;
  background: #fffdf9 !important;
  box-shadow: 0 0 0 4px rgba(234, 184, 63, 0.22) !important;
}

/* Placeholder Styling */
div.wpforms-container-full input::placeholder,
div.wpforms-container-full textarea::placeholder {
  color: #9a88a3 !important;
  font-size: 0.92rem !important;
}

/* Dropdown Select Enhancement */
div.wpforms-container-full select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23d49b14' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  padding-right: 45px !important;
  cursor: pointer !important;
}

/* Radio & Checkbox Choices */
div.wpforms-container-full ul.wpforms-image-choices,
div.wpforms-container-full .wpforms-field-radio ul,
div.wpforms-container-full .wpforms-field-checkbox ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 6px 0 0 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

div.wpforms-container-full .wpforms-field-radio li,
div.wpforms-container-full .wpforms-field-checkbox li {
  margin: 0 !important;
  background: #fbf9f4 !important;
  border: 1px solid #ebe2d3 !important;
  border-radius: 10px !important;
  padding: 8px 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

div.wpforms-container-full .wpforms-field-radio li:hover,
div.wpforms-container-full .wpforms-field-checkbox li:hover {
  background: #fef8eb !important;
  border-color: #EAB83F !important;
}

div.wpforms-container-full input[type="radio"],
div.wpforms-container-full input[type="checkbox"] {
  accent-color: #EAB83F !important;
  width: 17px !important;
  height: 17px !important;
  cursor: pointer !important;
}

/* Two Column Name Rows */
div.wpforms-container-full .wpforms-field-row {
  display: flex !important;
  gap: 15px !important;
}

div.wpforms-container-full .wpforms-field-row .wpforms-field-row-block {
  flex: 1 !important;
}

/* Submit Button: Executive Deep Obsidian with Gold Gradient & Yellow Hover */
div.wpforms-container-full .wpforms-submit-container {
  margin-top: 24px !important;
  padding: 0 !important;
  text-align: center !important;
}

div.wpforms-container-full button.wpforms-submit {
  width: 100% !important;
  background: linear-gradient(135deg, #14091c 0%, #2b0c30 100%) !important;
  color: #ffffff !important;
  font-family: var(--font-bebas) !important;
  font-size: 1.35rem !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border-radius: 12px !important;
  border: 2px solid #EAB83F !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 8px 24px rgba(20, 9, 28, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

div.wpforms-container-full button.wpforms-submit:hover {
  background: linear-gradient(135deg, #EAB83F 0%, #d49b14 100%) !important;
  color: #14091c !important;
  font-weight: 800 !important;
  border-color: #b8840c !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(234, 184, 63, 0.4) !important;
}

/* Loading / Spinner State */
div.wpforms-container-full button.wpforms-submit[disabled] {
  opacity: 0.8 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Confirmation Box */
div.wpforms-container-full div.wpforms-confirmation-container-full {
  background: #fdfaf3 !important;
  border: 1.5px solid rgba(234, 184, 63, 0.5) !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  color: #14091c !important;
  box-shadow: 0 10px 30px rgba(234, 184, 63, 0.15) !important;
  font-family: var(--font-base), 'Plus Jakarta Sans', sans-serif !important;
  line-height: 1.7 !important;
  margin: 15px 0 !important;
}

/* ==========================================================================
   MOBILE RESPONSIVENESS: 100% FULL-WIDTH & STACKED FIELDS
   ========================================================================== */

@media (max-width: 767.98px) {

  /* Modal Dialog Full Width & Spacing on Mobile */
  .gfbc-modal.modal {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .gfbc-modal .modal-dialog {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    margin: 10px auto !important;
  }

  .plan-visit-modal-content {
    width: 100% !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 18px !important;
  }

  .plan-visit-modal-header {
    padding: 20px 18px 12px 18px !important;
  }

  .plan-visit-modal-title {
    font-size: 1.95rem !important;
    line-height: 1.1 !important;
  }

  .modal-subtitle {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
  }

  .btn-close-modal {
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 0.95rem !important;
  }

  .plan-visit-modal-body {
    padding: 18px 16px !important;
  }

  .plan-visit-modal-footer {
    padding: 14px 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  /* Contact Page Card on Mobile */
  .contact-form-glass-card {
    padding: 22px 16px !important;
    border-radius: 16px !important;
    width: 100% !important;
  }

  /* 100% Full Width & Vertical Stacking for All WPForms Elements */
  div.wpforms-container-full,
  div.wpforms-container-full .wpforms-form,
  div.wpforms-container-full .wpforms-field-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  div.wpforms-container-full .wpforms-field {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 16px !important;
    clear: both !important;
    float: none !important;
  }

  /* Stacking Multi-column Field Rows (First Name, Last Name, etc.) */
  div.wpforms-container-full .wpforms-field-row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
  }

  div.wpforms-container-full .wpforms-field-row-block,
  div.wpforms-container-full .wpforms-first,
  div.wpforms-container-full .wpforms-one-half,
  div.wpforms-container-full .wpforms-one-third,
  div.wpforms-container-full .wpforms-two-thirds,
  div.wpforms-container-full .wpforms-one-fourth {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 14px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  div.wpforms-container-full .wpforms-field-row-block:last-child {
    margin-bottom: 0 !important;
  }

  /* Force 100% Input Widths */
  div.wpforms-container-full input[type="text"],
  div.wpforms-container-full input[type="email"],
  div.wpforms-container-full input[type="tel"],
  div.wpforms-container-full input[type="date"],
  div.wpforms-container-full select,
  div.wpforms-container-full textarea {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
    /* Prevents auto-zoom on iOS */
    padding: 12px 14px !important;
    box-sizing: border-box !important;
  }

  /* Radio & Checkbox Choices: Full-width stacked buttons */
  div.wpforms-container-full ul.wpforms-image-choices,
  div.wpforms-container-full .wpforms-field-radio ul,
  div.wpforms-container-full .wpforms-field-checkbox ul {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
  }

  div.wpforms-container-full .wpforms-field-radio li,
  div.wpforms-container-full .wpforms-field-checkbox li {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
  }

  /* Full-width Stacked Submit Buttons */
  div.wpforms-container-full .wpforms-submit-container {
    width: 100% !important;
    margin-top: 18px !important;
  }

  div.wpforms-container-full button.wpforms-submit {
    width: 100% !important;
    font-size: 1.25rem !important;
    padding: 14px 20px !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  .plan-visit-modal-header {
    padding: 18px 14px 10px 14px !important;
  }

  .plan-visit-modal-title {
    font-size: 1.75rem !important;
  }

  .modal-pill-badge {
    font-size: 0.72rem !important;
    padding: 4px 10px !important;
  }

  .plan-visit-modal-body {
    padding: 14px 12px !important;
  }

  .contact-form-glass-card {
    padding: 18px 12px !important;
  }
}

/* ==========================================================
   GLOBAL UNIVERSAL CARD ANTI-TRUNCATION & OVERFLOW PROTECTION
   Fixes cropped text, overflowing strings, emails, and cramped layouts
   ========================================================== */
.contact-info-card,
.give-method-card,
.about-feature-card,
.care-group-card,
.history-milestone-card,
.schedule-glass-card,
.schedule-department-card,
.event-listing-card,
.news-listing-card,
.sermon-card,
.give-action-card,
.prayer-sanctuary-card,
.spotlight-venue-card,
.master-event-card,
.first-family-card,
.officer-feature-card,
.church-faith-box,
.sidebar-details-card,
.sidebar-contact-card,
.trustee-item-pill {
  min-width: 0;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.contact-info-card *,
.give-method-card *,
.about-feature-card *,
.care-group-card *,
.history-milestone-card *,
.schedule-glass-card *,
.schedule-department-card * {
  min-width: 0;
  box-sizing: border-box;
}

/* Universal Email & Long String Protection Across All Cards */
a[href^="mailto:"],
.contact-card-email-link {
  overflow-wrap: anywhere !important;
  word-break: break-all !important;
  max-width: 100% !important;
}

/* Card Badges & Pills Universal Safety */
.contact-card-badge,
.method-badge,
.care-alpha-badge,
.schedule-day-badge,
.roster-member-badge,
.badge-anniversary-date {
  max-width: 100% !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* Laptop & Tablet Responsive Card Padding Tuning */
@media (max-width: 1199.98px) {
  .contact-info-card {
    padding: 24px 20px !important;
  }

  .give-method-card {
    padding: 28px 22px !important;
  }

  .schedule-glass-card {
    padding: 26px 20px !important;
  }

  .about-feature-card {
    padding: 24px 16px !important;
  }
}

@media (max-width: 575.98px) {
  .contact-info-card {
    padding: 22px 18px !important;
  }

  .give-method-card {
    padding: 24px 18px !important;
  }

  .schedule-glass-card {
    padding: 22px 16px !important;
  }

  .about-feature-card {
    padding: 20px 14px !important;
  }

  .contact-card-title {
    font-size: 1.35rem !important;
  }

  .method-title {
    font-size: 1.65rem !important;
  }
}

/* ==========================================================================
   Sticky Floating "Visit Events Page" Pill / Widget
   ========================================================================== */
.gfbc-sticky-events {
  position: fixed;
  bottom: 26px;
  right: 26px;
  z-index: 1040;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(35px) scale(0.92);
  transition: opacity 0.45s ease, transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), visibility 0.45s ease;
  pointer-events: none;
}

.gfbc-sticky-events.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.gfbc-sticky-events.is-dismissed {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(20px) scale(0.9) !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.sticky-events-card {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #ffffff 0%, #fffef5 55%, #fef9c3 100%);
  border: 1.5px solid #eab308;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16), 0 4px 16px rgba(234, 179, 8, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.95) inset;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 999px;
  padding: 10px 18px 10px 12px;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
  position: relative;
}

.sticky-events-card:hover {
  transform: translateY(-3px) scale(1.02);
  border-color: #ca8a04;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22), 0 6px 22px rgba(234, 179, 8, 0.42);
  background: linear-gradient(135deg, #ffffff 0%, #fefce8 50%, #fef08a 100%);
}

.sticky-events-icon-box {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fef08a 0%, #facc15 50%, #eab308 100%);
  border: 1.5px solid #ca8a04;
  box-shadow: 0 4px 12px rgba(202, 138, 4, 0.32);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #593006;
  font-size: 1.05rem;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.sticky-events-card:hover .sticky-events-icon-box {
  transform: rotate(8deg) scale(1.08);
}

.sticky-events-pulse {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 10px;
  height: 10px;
  background-color: #16a34a;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 6px #16a34a;
  animation: stickyEventsPulse 2s infinite;
}

@keyframes stickyEventsPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.75);
  }

  70% {
    box-shadow: 0 0 0 7px rgba(22, 163, 74, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);
  }
}

.sticky-events-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.sticky-events-kicker {
  font-family: var(--font-heading, inherit);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #b45309;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.sticky-events-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1f2937;
  display: inline-flex;
  align-items: center;
  transition: color 0.25s ease;
}

.sticky-events-card:hover .sticky-events-title {
  color: #0f172a;
}

.sticky-events-arrow {
  color: #ca8a04;
  transition: transform 0.25s ease;
}

.sticky-events-card:hover .sticky-events-arrow {
  transform: translateX(4px);
  color: #a16207;
}

.sticky-events-dismiss {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ffffff;
  border: 1.5px solid #eab308;
  color: #78716c;
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer !important;
  padding: 0;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.sticky-events-dismiss:hover {
  background: #ef4444;
  border-color: #ef4444;
  color: #ffffff;
  transform: scale(1.15);
}

@media (max-width: 575.98px) {
  .gfbc-sticky-events {
    bottom: 18px;
    right: 14px;
  }

  .sticky-events-card {
    padding: 8px 14px 8px 10px;
    gap: 10px;
    max-width: calc(100vw - 28px);
  }

  .sticky-events-icon-box {
    width: 34px;
    height: 34px;
    font-size: 0.92rem;
  }

  .sticky-events-kicker {
    font-size: 0.6rem;
  }

  .sticky-events-title {
    font-size: 0.82rem;
  }
}
/* ==========================================================
   MINISTRIES PAGE — DEDICATED EMAIL CONTACT ELEMENTS
   (clickable mailto links wired into each ministry)
   ========================================================== */

/* --- Editorial ministry card: full-width "Reach the team" email dock --- */
.ministry-email-dock {
  margin-top: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #fbf7ff 100%);
  border: 1px solid #e9dcf4;
  border-radius: 16px;
  padding: 18px 22px;
  box-shadow: 0 6px 20px rgba(43, 12, 48, 0.05);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.email-dock-lead {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.email-dock-label {
  font-family: var(--font-bebas);
  font-size: 0.9rem;
  letter-spacing: 2px;
  color: #92660a;
  text-transform: uppercase;
}

.email-dock-hint {
  font-size: 0.82rem;
  color: #6b5b72;
  line-height: 1.4;
}

/* The clickable email pill button */
.email-dock-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--primary-purple);
  color: #ffffff;
  text-decoration: none;
  padding: 12px 18px 12px 12px;
  border-radius: 40px;
  position: relative;
  box-shadow: 0 8px 20px rgba(43, 12, 48, 0.18);
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  flex: 1 1 auto;
  justify-content: space-between;
  min-width: 260px;
}

.email-dock-btn-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--accent-gold);
  color: #1e0722;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.email-dock-btn-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  overflow: hidden;
}

.email-dock-btn-mail {
  font-size: 0.98rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 320px;
}

.email-dock-btn-label {
  font-size: 0.7rem;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--text-muted);
}

.email-dock-btn-arrow {
  font-size: 1.35rem;
  color: var(--accent-gold);
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

.email-dock-btn:hover {
  background: #d8a531;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(216, 165, 49, 0.32);
}

.email-dock-btn:hover .email-dock-btn-icon {
  transform: scale(1.08);
  background: #ffffff;
  color: var(--accent-gold);
}

.email-dock-btn:hover .email-dock-btn-arrow {
  transform: translate(4px, -4px);
  color: #1e0722;
}

.email-dock-btn:hover .email-dock-btn-label {
  color: #1e0722;
}

/* --- Generation program cards: compact email button at card footer --- */
.generation-email-btn {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  justify-content: center;
  background: #fff9ed;
  border: 1px solid #fae9c5;
  color: #92660a;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  padding: 11px 16px;
  border-radius: 12px;
  transition: background-color 0.25s ease, color 0.25s ease,
              border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.generation-email-btn i {
  color: var(--accent-gold);
  font-size: 1.05rem;
  transition: color 0.25s ease;
}

.generation-email-btn:hover {
  background: var(--primary-purple);
  color: #ffffff;
  border-color: var(--primary-purple);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(43, 12, 48, 0.18);
}

.generation-email-btn:hover i {
  color: var(--accent-gold);
}

/* --- Schedule rows: slim "email" action button --- */
.schedule-email-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-bebas);
  font-size: 0.82rem;
  letter-spacing: 1px;
  color: #5c2d91;
  background: #f3ecfb;
  border: 1px solid #d9c4ee;
  padding: 5px 12px;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.25s ease;
  flex-shrink: 0;
  max-width: 100%;
}

.schedule-email-btn i {
  font-size: 0.9rem;
}

.schedule-email-btn:hover {
  background: var(--accent-gold);
  color: #1e0722;
  border-color: var(--accent-gold);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(234, 184, 63, 0.3);
}

/* Responsive: stack the editorial email dock on small screens */
@media (max-width: 575.98px) {
  .ministry-email-dock {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .email-dock-btn {
    min-width: 0;
  }

  .email-dock-btn-mail {
    max-width: 100%;
  }
}

/* --- Ministry Contact Directory: clickable inbox tiles --- */
.ministry-directory-section {
  background: #fdfbfd;
  color: #2b1f30;
  position: relative;
}

.ministry-directory-section .church-badge-pill {
  background: #f3ecfb;
  border: 1px solid #d9c4ee;
  color: #5c2d91;
}

.ministry-inbox-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #ffffff;
  border: 1px solid #ece3f4;
  border-radius: 18px;
  padding: 22px;
  text-decoration: none;
  color: inherit;
  height: 100%;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.ministry-inbox-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-gold) 0%, var(--primary-purple) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ministry-inbox-card:hover {
  transform: translateY(-6px);
  border-color: #d9c4ee;
  box-shadow: 0 20px 45px rgba(43, 12, 48, 0.12);
}

.ministry-inbox-card:hover::before {
  opacity: 1;
}

.inbox-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #f6f0fd;
  border: 1px solid #e7d8f5;
  color: var(--primary-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.ministry-inbox-card:hover .inbox-card-icon {
  background: var(--accent-gold);
  color: #1e0722;
}

.inbox-card-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
}

.inbox-card-label {
  font-family: var(--font-bebas);
  font-size: 1.2rem;
  letter-spacing: 0.5px;
  color: #1e0722;
  line-height: 1.1;
}

.inbox-card-email {
  font-size: 0.92rem;
  font-weight: 600;
  color: #5c2d91;
  word-break: break-all;
  overflow-wrap: anywhere;
}

.inbox-card-blurb {
  font-size: 0.85rem;
  color: #6b5b72;
  line-height: 1.5;
  margin-top: 4px;
}

.inbox-card-cta {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-bebas);
  font-size: 0.82rem;
  letter-spacing: 1px;
  color: #92660a;
  text-transform: uppercase;
}

.ministry-inbox-card:hover .inbox-card-cta {
  color: var(--accent-gold);
}

.inbox-card-arrow {
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: 1.25rem;
  color: #c9b8d8;
  transition: color 0.3s ease, transform 0.3s ease;
}

.ministry-inbox-card:hover .inbox-card-arrow {
  color: var(--accent-gold);
  transform: translate(3px, -3px);
}

@media (max-width: 575.98px) {
  .ministry-inbox-card {
    padding: 18px 16px;
    flex-direction: column;
  }

  .inbox-card-arrow {
    top: 14px;
    right: 14px;
  }
}

/* --- Schedule department header email chip --- */
.schedule-dept-email {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: center;
  font-size: 0.78rem;
  font-weight: 600;
  color: #5c2d91;
  background: #f3ecfb;
  border: 1px solid #d9c4ee;
  padding: 6px 12px;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.25s ease;
  word-break: break-all;
  overflow-wrap: anywhere;
  max-width: 100%;
}

.schedule-dept-email i {
  color: var(--accent-gold);
  font-size: 0.9rem;
  flex-shrink: 0;
}

.schedule-dept-email:hover {
  background: var(--accent-gold);
  color: #1e0722;
  border-color: var(--accent-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(234, 184, 63, 0.3);
}

.schedule-dept-email:hover i {
  color: #1e0722;
}
