/* Accessibility + mobile tap fixes (keep small — loaded on critical path) */

/* FAQ accordion: kill default <button> chrome (black boxes before/without Elementor CSS) */
button.elementor-toggle-title,
.elementor-toggle .elementor-toggle-title,
.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title,
.elementor-toggle .elementor-tab-title.elementor-active {
  outline: 0 !important;
  outline-offset: 0 !important;
  border: none !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-block-end: none !important;
  box-shadow: none !important;
  background: transparent !important;
  -webkit-appearance: none;
  appearance: none;
}
button.elementor-toggle-title:focus,
button.elementor-toggle-title:focus-visible,
.elementor-toggle .elementor-tab-title:focus,
.elementor-toggle .elementor-tab-title:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

/* Contrast: muted hero text was ~0.5–0.78 white on photo overlays */
.hnb-hero__desc {
  color: rgb(255 255 255 / 0.92) !important;
}
.hnb-phone-inline__label,
.hnb-hero__cta-label {
  color: rgb(255 255 255 / 0.85) !important;
}
.hnb-hero__cta {
  border-color: rgb(255 255 255 / 0.35) !important;
  background: rgb(0 0 0 / 0.45) !important;
}
.hnb-hero__cta-title {
  color: #fff !important;
}

/* Footer / strip muted text */
#hb-foot,
#hb-foot .hb-brand p,
#hb-foot ul li a,
#hb-foot .hb-contact a,
#hb-foot .hb-contact li {
  color: #d0d0d0 !important;
}
#hb-foot .hb-stats div span,
#hb-foot .hb-bottom,
#hb-foot .hb-bottom a {
  color: #bdbdbd !important;
}
#hb-head .hb-logo em {
  color: #666 !important;
}

/* Form hints / secondary copy on white */
.hnb-hero .hnb-s1-form-sub,
.hnb-stats__label,
.hnb-st__sub,
.hnb-pj__sub,
.hnb-ab__copy p,
.hnb-ab__note,
.wcb-sub {
  color: #444 !important;
}

/* Soft orange pills on tint — bump text contrast */
.hab-rs-pill {
  color: #b84f0f !important;
  background: #fff0e6 !important;
  border-color: #f0c9a8 !important;
}

/* Touch targets ≥ 48px on mobile */
@media (max-width: 980px) {
  #hb-head .hb-burger {
    min-width: 48px !important;
    min-height: 48px !important;
  }

  #hb-head .hb-mobile a,
  #hb-head .hb-mobile .hb-mcta,
  #hb-head .hb-mobile .hb-mcall {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .hnb-hero__cta,
  .hnb-hero .hnb-s1-form-submit,
  .hnb-phone-inline,
  .ccb-btn,
  .hab-rs-cta,
  .hnb-ct__btn,
  .sm-section .sm-btn {
    min-height: 48px !important;
  }

  .hnb-phone-inline__icon {
    width: 44px !important;
    height: 44px !important;
  }

  .hnb-st__arrow,
  .wcb-arrow {
    min-width: 48px !important;
    min-height: 48px !important;
  }

  button.elementor-toggle-title,
  .elementor-toggle .elementor-tab-title,
  .elementor-accordion .elementor-tab-title {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    box-sizing: border-box !important;
  }

  #hb-foot ul li a,
  #hb-foot .hb-bottom a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 0 !important;
  }

  #hb-foot .hb-social a {
    min-width: 48px !important;
    min-height: 48px !important;
  }

  #hb-foot .hb-band-btns a {
    min-height: 48px !important;
  }

  .hb-tab {
    min-height: 48px;
    padding: 6px 0;
  }

  .hb-tab-ring {
    width: 48px !important;
    height: 48px !important;
  }
}
