/*
Theme Name: Redemption's Hill Salient Child
Description: Update-safe typography and visual refinements for Redemption's Hill Church.
Author: Redemption's Hill Church
Template: salient
Version: 1.0.0
Text Domain: redemptions-hill-salient-child
*/

/* Redemption's Hill typography system */
:root {
  --rh-heading-font: "Sora", sans-serif;
  --rh-body-font: "Source Sans 3", sans-serif;
}

body .main-content,
body .main-content p,
body .main-content li,
body .main-content label,
body .main-content input,
body .main-content textarea,
body .main-content select,
body .main-content button {
  font-family: var(--rh-body-font) !important;
}

body .main-content h1,
body .main-content h2,
body .main-content h3,
body .main-content h4,
body .main-content h5,
body .main-content h6 {
  font-family: var(--rh-heading-font) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  font-synthesis: none;
}

body .main-content h1 {
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

body .main-content h2 {
  line-height: 1.12 !important;
  letter-spacing: -.03em !important;
}

body .main-content h3 {
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

body .main-content h4,
body .main-content h5,
body .main-content h6 {
  line-height: 1.28 !important;
  letter-spacing: -.01em !important;
}

body .main-content .wpb_text_column p:not([style*="font-size"]) {
  font-size: 18px !important;
  line-height: 1.65 !important;
}

body .main-content .wpb_text_column li,
body .main-content .fancy_box p:not([style*="font-size"]) {
  font-size: 17px !important;
  line-height: 1.6 !important;
}

body .main-content input,
body .main-content textarea,
body .main-content select {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

body.home .main-content h1 {
  text-transform: uppercase !important;
}

#footer-outer,
#footer-outer p,
#footer-outer li,
#footer-outer a {
  font-family: var(--rh-body-font) !important;
}

#footer-outer h1,
#footer-outer h2,
#footer-outer h3,
#footer-outer h4,
#footer-outer h5,
#footer-outer h6 {
  font-family: var(--rh-heading-font) !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}

/* Preserve the logo artwork's ratio inside Salient's hidden spacing image. */
#header-outer img.hidden-logo {
  object-fit: contain;
}

/* Accessible footer hierarchy and contrast. */
#footer-outer #footer-widgets .widget h3 {
  color: #f2f2f2 !important;
  font-family: var(--rh-heading-font) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

#footer-outer #footer-widgets .widget,
#footer-outer #footer-widgets .widget p,
#footer-outer #footer-widgets .widget li,
#footer-outer #footer-widgets .widget a,
#footer-outer #footer-widgets .textwidget {
  color: #c4c4c4 !important;
}

#footer-outer #copyright,
#footer-outer #copyright p,
#footer-outer #copyright a {
  color: #b8b8b8 !important;
}

#footer-outer #copyright p {
  font-size: 13px !important;
}

/* Leadership card hierarchy */
body .main-content .team-member[data-style="bio_fullscreen_alt"] .team-meta h5 {
  font-family: var(--rh-body-font) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

body .main-content .team-member[data-style="bio_fullscreen_alt"] .team-meta h3 {
  font-family: var(--rh-heading-font) !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}

/* Our Story page */
.page-id-4436 .main-content .rh-story-title {
  font-family: var(--rh-heading-font) !important;
  font-size: clamp(48px, 4.7vw, 68px) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  letter-spacing: -.04em !important;
  text-transform: none !important;
}

.page-id-4436 .main-content .rh-story-heading {
  font-family: var(--rh-heading-font) !important;
  font-size: clamp(34px, 2.8vw, 44px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: -.03em !important;
  text-transform: none !important;
  margin-bottom: 20px !important;
}

.page-id-4436 .main-content .rh-story-heading span {
  color: inherit !important;
}

.page-id-4436 .main-content .rh-story-heading::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 18px;
  background: rgba(255, 255, 255, .82);
  border-radius: 2px;
}

.page-id-4436 .main-content .rh-story-lead {
  font-family: var(--rh-body-font) !important;
  font-size: clamp(20px, 1.55vw, 24px) !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  max-width: 34em;
  margin: 0 0 30px !important;
}

.page-id-4436 .main-content .wpb_text_column p {
  font-family: var(--rh-body-font) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  margin-bottom: 1.4em !important;
}

@media (max-width: 690px) {
  body .main-content .wpb_text_column p:not([style*="font-size"]) {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  body .main-content .wpb_text_column li,
  body .main-content .fancy_box p:not([style*="font-size"]) {
    font-size: 16.5px !important;
    line-height: 1.6 !important;
  }

  .page-id-4436 .main-content .rh-story-title {
    font-size: 44px !important;
    line-height: 1.06 !important;
  }

  .page-id-4436 .main-content .rh-story-heading {
    font-size: 34px !important;
  }

  .page-id-4436 .main-content .rh-story-lead {
    font-size: 20px !important;
  }

  .page-id-4436 .main-content .wpb_text_column p {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }
}

/* Keep Plan a Visit section headings readable below desktop widths. */
@media (max-width: 999px) {
  .page-id-9026 .main-content .nectar-responsive-text.font_size_desktop_1vw h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  /* Remove the empty desktop spacer column that creates a tall mobile gap. */
  .page-id-9026 .main-content
    #about
    > .row_col_wrap_12
    > .vc_col-sm-4.padding-5-percent {
    display: none !important;
    min-height: 0 !important;
  }
}

/* Give the Plan a Visit desktop layout a tighter, more balanced rhythm. */
@media (min-width: 1000px) {
  .page-id-9026 .main-content
    .wpb_row.full-width-content.vc_row-o-content-top
    > .row_col_wrap_12
    > .wpb_column.padding-12-percent
    > .vc_column-inner {
    padding-top: clamp(72px, 6vw, 96px) !important;
    padding-bottom: clamp(72px, 6vw, 96px) !important;
  }

  .page-id-9026 .main-content
    .wpb_row.full-width-content.vc_row-o-content-top
    > .row_col_wrap_12
    > .vc_col-sm-4
    > .vc_column-inner {
    justify-content: center !important;
  }

  .page-id-9026 .main-content #about {
    padding-bottom: clamp(56px, 5vw, 76px) !important;
  }
}
