/* ── ShepherdCMS Template: Community Heart (Warm Story-Led Neighborhood Church) ── */
:root {
  --ch-rose: #E0527A;
  --ch-rose-dark: #BE185D;
  --ch-rose-soft: rgba(224, 82, 122, 0.1);
  --ch-terracotta: #9A3412;
  --ch-dark: #2A171C;
  --ch-cream: #FFF8F6;
  --ch-cream-dark: #F7EBE8;
  --ch-border: #F0D9D3;
}

.sx-d-community_heart {
  --sx-accent: var(--ch-rose);
  --sx-radius: 22px;
  --sx-card-bg: #FFFFFF;
  --sx-shadow: 0 10px 30px rgba(224, 82, 122, 0.08);
  --sx-surface-alt: var(--ch-cream-dark);
  background-color: var(--ch-cream);
  color: var(--ch-dark);
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  overflow-x: hidden;
}

.sx-d-community_heart h1,
.sx-d-community_heart h2,
.sx-d-community_heart h3,
.sx-d-community_heart h4,
.sx-d-community_heart .sx-display {
  font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ch-dark);
}

/* ── Hero Styling ── */
.sx-d-community_heart .sx-hero {
  position: relative;
  min-height: 85vh;
  min-height: 85svh;
  display: flex;
  align-items: center;
  background-color: var(--ch-dark);
  padding: 5rem 0;
}

.sx-d-community_heart .sx-hero__overlay {
  background: linear-gradient(135deg, rgba(42, 23, 28, 0.78) 0%, rgba(224, 82, 122, 0.35) 100%);
}

.sx-d-community_heart .sx-hero[data-variant="card"] .sx-hero__content {
  background: #FFFFFF;
  color: var(--ch-dark);
  border-radius: var(--sx-radius);
  box-shadow: 0 20px 45px rgba(42, 23, 28, 0.15);
  border: 1px solid var(--ch-border);
}

.sx-d-community_heart .sx-hero[data-variant="card"] .sx-hero__title {
  color: var(--ch-dark);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  line-height: 1.1;
}

.sx-d-community_heart .sx-hero__badge {
  background: var(--ch-rose-soft);
  color: var(--ch-rose);
  border: 1px solid rgba(224, 82, 122, 0.25);
}

.sx-d-community_heart .sx-badge-dot {
  background: var(--ch-rose);
  box-shadow: 0 0 8px var(--ch-rose);
}

/* ── Buttons ── */
.sx-d-community_heart .sx-btn--primary {
  background: var(--ch-rose);
  color: #FFFFFF;
  border-radius: 999px;
  box-shadow: 0 4px 16px rgba(224, 82, 122, 0.35);
  font-weight: 700;
}

.sx-d-community_heart .sx-btn--primary:hover {
  background: var(--ch-rose-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(224, 82, 122, 0.45);
  color: #FFFFFF;
}

.sx-d-community_heart .sx-btn--ghost {
  background: transparent;
  border-color: var(--ch-rose);
  color: var(--ch-rose);
}

.sx-d-community_heart .sx-btn--ghost:hover {
  background: var(--ch-rose-soft);
  color: var(--ch-rose-dark);
}

/* ── Cards & Surfaces ── */
.sx-d-community_heart .sx-card {
  background: #FFFFFF;
  border: 1px solid var(--ch-border);
  border-radius: var(--sx-radius);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.sx-d-community_heart .sx-card:hover {
  transform: translateY(-4px);
  border-color: var(--ch-rose);
  box-shadow: 0 14px 35px rgba(224, 82, 122, 0.12);
}

.sx-d-community_heart .sx-section--alt {
  background-color: var(--ch-cream-dark);
}

/* ── Page Header ── */
.sx-d-community_heart .sx-page-header {
  background: linear-gradient(135deg, #381520 0%, var(--ch-rose) 100%);
  padding: 5rem 0 3.5rem;
}
