/* =========================
   DF HERO (safe baseline)
   - Keeps the white "page hero" box styling
   - Keeps Nivo caption tweaks
   - NO page-hero-style selectors here by design
   ========================= */

/* 1) PAGE HERO (H1 in white box) */
.section-wrapper.white.page-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 0;
  min-height: 150px;
}

.section-wrapper.white.page-hero h1.page-title {
  font-size: clamp(38px, 4.2vw, 55px) !important;
  line-height: 1;
  transform: translateY(-6px);
  font-weight: 700;
  letter-spacing: 0.5px;
  margin: 0;
  text-align: center;
  color: #000;
  text-shadow: 2px 2px 4px rgba(0, 204, 255, 0.8);
}

@media (max-width: 1024px) {
  .section-wrapper.white.page-hero { min-height: 130px; }
  .section-wrapper.white.page-hero h1.page-title {
    letter-spacing: 0.3px;
    text-shadow: 1.8px 1.8px 3.6px rgba(0, 204, 255, 0.8);
  }
}

@media (max-width: 768px) {
  .section-wrapper.white.page-hero { min-height: 115px; }
  .section-wrapper.white.page-hero h1.page-title {
    font-size: clamp(34px, 5.2vw, 46px) !important;
    letter-spacing: 0.2px;
    text-shadow: 1.5px 1.5px 3px rgba(0, 204, 255, 0.8);
  }
}

@media (max-width: 575px) {
  .section-wrapper.white.page-hero { min-height: 100px; }
  .section-wrapper.white.page-hero h1.page-title {
    font-size: clamp(33px, 7.2vw, 41px) !important;
    letter-spacing: 0.1px;
    text-shadow: 1.2px 1.2px 2.4px rgba(0, 204, 255, 0.8);
  }
}

@media (max-width: 380px) {
  .section-wrapper.white.page-hero { min-height: 90px; }
  .section-wrapper.white.page-hero h1.page-title {
    font-size: clamp(28px, 8vw, 34px) !important;
    letter-spacing: 0;
    text-shadow: 1px 1px 2px rgba(0, 204, 255, 0.8);
  }
}

/* 2) Nivo Caption Extension (scoped to caption only) */
.nivoSlider .nivo-caption h2,
#slider .nivo-caption h2 {
  text-shadow:
    2px 2px 0 rgba(17, 17, 17, 1),
    1px 1px 6px rgba(85, 85, 85, 1),
    3px 3px 0 rgba(34, 34, 34, 1) !important;
}

.nivoSlider .nivo-caption h4,
#slider .nivo-caption h4 {
  text-shadow:
    2px 2px 0 rgba(17, 17, 17, 1),
    1px 1px 6px rgba(85, 85, 85, 1),
    3px 3px 0 rgba(34, 34, 34, 1) !important;
}

.nivoSlider .nivo-caption p,
#slider .nivo-caption p {
  text-shadow:
    1px 1px 0 rgba(17, 17, 17, 1),
    1px 1px 4px rgba(85, 85, 85, 1),
    2px 2px 0 rgba(34, 34, 34, 1) !important;
  font-size: clamp(15px, 2vw, 20px) !important;
  line-height: 1.4 !important;
}

.nivoSlider .nivo-caption a.sliderbtn,
#slider .nivo-caption a.sliderbtn {
  position: relative;
  overflow: hidden;
  background: rgba(60, 60, 60, 0.45);
  color: #fff;
  font-weight: 600 !important;
  text-shadow:
    2px 2px 0 rgba(17, 17, 17, 1),
    1px 1px 6px rgba(85, 85, 85, 1),
    3px 3px 0 rgba(34, 34, 34, 1) !important;
  letter-spacing: 0.5px;
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .nivoSlider .nivo-caption a.sliderbtn,
  #slider .nivo-caption a.sliderbtn {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }
}

.nivoSlider .nivo-caption a.sliderbtn:hover,
#slider .nivo-caption a.sliderbtn:hover {
  background: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  color: #fff !important;
}

.nivoSlider .nivo-caption a.sliderbtn:hover::after,
#slider .nivo-caption a.sliderbtn:hover::after {
  background: rgba(0, 204, 255, 0.4);
  z-index: -1;
  pointer-events: none;
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .nivoSlider .nivo-caption a.sliderbtn:hover::after,
  #slider .nivo-caption a.sliderbtn:hover::after {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }
}






/* === Nivo caption sizing override (append to END of hero.css) === */

/* Stop any theme transform-based scaling on captions/titles */
.nivoSlider .nivo-caption h1.page-hero-style,
.nivoSlider .nivo-caption h2.page-hero-style,
#slider .nivo-caption h1.page-hero-style,
#slider .nivo-caption h2.page-hero-style {
  transform: none !important;
}

/* Tablet & up: sane clamp (matches innerbanner feel) */
@media (min-width: 576px) {
  .nivoSlider .nivo-caption h1.page-hero-style,
  #slider .nivo-caption h1.page-hero-style {
    font-size: clamp(34px, 4.6vw, 52px) !important;
    line-height: 1.05 !important;
  }
  .nivoSlider .nivo-caption h2.page-hero-style,
  #slider .nivo-caption h2.page-hero-style {
    font-size: clamp(30px, 4.6vw, 48px) !important;
    line-height: 1.08 !important;
  }
  .nivoSlider .nivo-caption h4,
  #slider .nivo-caption h4 {
    font-size: clamp(18px, 2.4vw, 22px) !important;
  }
}

/* Phones: lock sizes so they can't “grow” via vw math */
@media (max-width: 575.98px) {
  .nivoSlider .nivo-caption h1.page-hero-style,
  #slider .nivo-caption h1.page-hero-style {
    font-size: 30px !important;
    line-height: 1.06 !important;
    letter-spacing: .01em;
  }
  .nivoSlider .nivo-caption h2.page-hero-style,
  #slider .nivo-caption h2.page-hero-style {
    font-size: 30px !important;        /* same floor as innerbanner */
    line-height: 1.08 !important;
  }
  .nivoSlider .nivo-caption h4,
  #slider .nivo-caption h4 {
    font-size: 17px !important;
    line-height: 1.35 !important;
  }
  .nivoSlider .nivo-caption p,
  #slider .nivo-caption p {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
}

/* Ultra-narrow */
@media (max-width: 360px) {
  .nivoSlider .nivo-caption h1.page-hero-style,
  #slider .nivo-caption h1.page-hero-style,
  .nivoSlider .nivo-caption h2.page-hero-style,
  #slider .nivo-caption h2.page-hero-style {
    font-size: 28px !important;
  }
}


@media (min-width: 576px) and (max-width: 1024px) {
  .nivoSlider .nivo-caption p,
  #slider .nivo-caption p {
    position: relative;
    top: 4px;
  }
}

/* NOTE: Do not add any h1/h2/h3.page-hero-style rules here.
   Those live in headings.css so there is a single source of truth. */






/* Force Nivo caption sizes to match innerbanner scaling */
.home #slider .nivo-caption h2,
.home .nivoSlider .nivo-caption h2 {
  font-size: clamp(28px, 6vw, 40px) !important;
  line-height: 1.15 !important;
}

.home #slider .nivo-caption h4,
.home .nivoSlider .nivo-caption h4 {
  font-size: clamp(16px, 3.8vw, 22px) !important;
  line-height: 1.2 !important;
}

.home #slider .nivo-caption p,
.home .nivoSlider .nivo-caption p {
  font-size: clamp(14px, 3.5vw, 18px) !important;
  line-height: 1.4 !important;
}
