/* ============================================================
   SPARK-RESET v3.0 — HVAC247PRO FINAL COLOR AUTHORITY
   Built 2026-05-20 | Loaded LAST — wins all !important wars
   
   ROOT PROBLEM: "section h1/h2/h3" and "section p/li" rules
   in hvac-font-color-fix forced dark navy (#0a1628) text on
   ALL sections — including dark navy backgrounds.
   This caused "white on white" and "navy on navy" for 10 months.
   
   FIX STRATEGY: Use higher specificity (.class + element)
   to beat the nuclear (element + element) rules.
   Specificity: .hvac-x h1 = (0,1,1) > section h1 = (0,0,2) ✓
   ============================================================ */

/* ============================================================
   0. BODY NUCLEAR OVERRIDE — MUST BE FIRST
   consolidated/critical.css has: body { background:var(--navy)!important }
   This causes entire page to be dark navy = white text on white sections.
   We beat it with !important here (loaded AFTER consolidated/critical.css).
   ============================================================ */
body {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #1a2332 !important;
  padding-top: 0 !important;
}
h1, h2, h3, h4, h5, h6 {
  color: #0a1628 !important;
}
p { color: inherit; }
li { color: inherit; }


/* ============================================================
   1. DARK V3 SECTIONS — Override nuclear "section" rules
   These are all sections with dark navy backgrounds.
   Nuclear rule: section h1 { color: #0a1628 !important }
   Our fix:      .hvac-x h1 { color: #fff !important } → wins
   ============================================================ */

/* --- Hero section --- */
.hvac-hero h1, .hvac-hero h2, .hvac-hero h3, .hvac-hero h4,
.hvac-hero p, .hvac-hero li, .hvac-hero span:not(.hvac-hero__trust-badge) {
  color: inherit !important;
}
.hvac-hero { color: #ffffff !important; }
.hvac-hero__title { color: #ffffff !important; -webkit-text-fill-color: inherit; }
.hvac-hero__subtitle { color: #dde6f1 !important; }
.hvac-hero__stat strong { color: #e92227 !important; }
.hvac-hero__stat span { color: #9fb0c5 !important; }
.hvac-hero a { color: #e92227 !important; }

/* --- Why-Us v3 (dark cards on light bg) --- */
.hvac-why-v3 { color: #0a1628 !important; }
.hvac-why-v3__title { color: #0a1628 !important; }
.hvac-why-v3__lede { color: #52647a !important; }
.hvac-why-v3__card { color: #0a1628 !important; }
.hvac-why-v3__h { color: #0a1628 !important; }
.hvac-why-v3__p { color: #52647a !important; }
.hvac-why-v3__eyebrow { color: #bb221e !important; }

/* --- Services v3 (dark navy bg) --- */
.hvac-services-v3 { color: #ffffff !important; }
.hvac-services-v3 h1, .hvac-services-v3 h2, .hvac-services-v3 h3, .hvac-services-v3 h4 { color: #ffffff !important; }
.hvac-services-v3 p, .hvac-services-v3 li { color: #c9d4e3 !important; }
.hvac-services-v3 a { color: #e92227 !important; }
.hvac-services-v3__eyebrow { color: #e92227 !important; }
.hvac-services-v3__title { color: #ffffff !important; }
.hvac-services-v3__card h3 { color: #ffffff !important; }
.hvac-services-v3__card p { color: #c9d4e3 !important; }
.hvac-services-v3__link { color: #e92227 !important; }

/* --- Certs v3 (dark navy bg) --- */
.hvac-certs-v3 { color: #ffffff !important; }
.hvac-certs-v3 h1, .hvac-certs-v3 h2, .hvac-certs-v3 h3 { color: #ffffff !important; }
.hvac-certs-v3 p, .hvac-certs-v3 li, .hvac-certs-v3 span { color: #c9d4e3 !important; }
.hvac-certs-v3__eyebrow { color: #e92227 !important; }
.hvac-certs-v3__title { color: #ffffff !important; }
.hvac-certs-v3__card-h { color: #ffffff !important; }
.hvac-certs-v3__card-sub { color: #9fb0c5 !important; }
.hvac-certs-v3__card--featured .hvac-certs-v3__card-h { color: #e92227 !important; }

/* --- Areas v3 (dark navy bg) --- */
.hvac-areas-v3 { color: #ffffff !important; }
.hvac-areas-v3 h1, .hvac-areas-v3 h2, .hvac-areas-v3 h3, .hvac-areas-v3 h4 { color: #ffffff !important; }
.hvac-areas-v3 p, .hvac-areas-v3 li { color: #c9d4e3 !important; }
.hvac-areas-v3 a { color: #ffffff !important; }
.hvac-areas-v3__title { color: #ffffff !important; }
.hvac-areas-v3__lede { color: #c9d4e3 !important; }
.hvac-areas-v3__office-h { color: #ffffff !important; }
.hvac-areas-v3__office-addr, .hvac-areas-v3__office-detail { color: #dde6f1 !important; }
.hvac-areas-v3__office-detail a { color: #ffffff !important; }
.hvac-areas-v3__city-name { color: #ffffff !important; }
.hvac-areas-v3__city-meta { color: #9fb0c5 !important; }
.hvac-areas-v3__office-rating-wrap { color: #c9d4e3 !important; }
.hvac-areas-v3__eyebrow { color: #e92227 !important; }
.hvac-areas-v3__office-license { color: #e92227 !important; }

/* --- Social/reviews v3 (white bg) --- */
.hvac-social-v3 { color: #0a1628 !important; }
.hvac-social-v3 h1, .hvac-social-v3 h2, .hvac-social-v3 h3 { color: #0a1628 !important; }
.hvac-social-v3 p, .hvac-social-v3 li { color: #52647a !important; }
.hvac-social-v3__h { color: #0a1628 !important; }
.hvac-social-v3__lede { color: #5a6b80 !important; }
.hvac-social-v3__rating { color: #f59e0b !important; }
.hvac-social-v3__rating-count { color: #5a6b80 !important; }
.hvac-social-v3__cta-text small { color: #bb221e !important; }
.hvac-social-v3__cta-text strong { color: #0a1628 !important; }

/* --- Lead-Gen v3 (white bg) --- */
.hvac-lead-v3 { color: #0a1628 !important; }
.hvac-lead-v3 h1, .hvac-lead-v3 h2, .hvac-lead-v3 h3 { color: #0a1628 !important; }
.hvac-lead-v3 p, .hvac-lead-v3 li { color: #52647a !important; }
.hvac-lead-v3__eyebrow { color: #bb221e !important; }
.hvac-lead-v3__title { color: #0a1628 !important; }
.hvac-lead-v3__lede { color: #52647a !important; }
.hvac-lead-v3__proof-copy { color: #52647a !important; }
.hvac-lead-v3__proof-copy strong { color: #0a1628 !important; }
.hvac-lead-v3__card-title { color: #0a1628 !important; }
.hvac-lead-v3__card-sub { color: #52647a !important; }
.hvac-lead-v3__field input { color: #0a1628 !important; }
.hvac-lead-v3__field input::placeholder { color: #9fb0c5 !important; }
.hvac-lead-v3__submit { color: #0a1628 !important; }
.hvac-lead-v3__fine { color: #9fb0c5 !important; }
.hvac-lead-v3__fine a { color: #bb221e !important; }
.hvac-lead-v3__or span { color: #9fb0c5 !important; }

/* --- Process v3 (light bg) --- */
.hvac-process-v3 { color: #0a1628 !important; }
.hvac-process-v3 h1, .hvac-process-v3 h2, .hvac-process-v3 h3 { color: #0a1628 !important; }
.hvac-process-v3 p, .hvac-process-v3 li { color: #52647a !important; }
.hvac-process-v3__eyebrow { color: #bb221e !important; }
.hvac-process-v3__title { color: #0a1628 !important; }
.hvac-process-v3__h { color: #0a1628 !important; }
.hvac-process-v3__p { color: #52647a !important; }
.hvac-process-v3__p a { color: #bb221e !important; }
.hvac-process-v3__num { color: #e92227 !important; }

/* --- Final CTA v3 (dark navy bg) --- */
.hvac-finalcta-v3 { color: #ffffff !important; }
.hvac-finalcta-v3 h1, .hvac-finalcta-v3 h2, .hvac-finalcta-v3 h3 { color: #ffffff !important; -webkit-text-fill-color: inherit; }
.hvac-finalcta-v3 p, .hvac-finalcta-v3 li { color: #c9d4e3 !important; }
.hvac-finalcta-v3 a { color: #e92227 !important; }
.hvac-finalcta-v3__eyebrow { color: #e92227 !important; }
.hvac-finalcta-v3__title { color: #ffffff !important; }
.hvac-finalcta-v3__sub { color: #c9d4e3 !important; }
.hvac-finalcta-v3__stat-n { color: #e92227 !important; }
.hvac-finalcta-v3__stat-l { color: #9fb0c5 !important; }
.hvac-finalcta-v3__trust span { color: #9fb0c5 !important; }
.hvac-finalcta-v3__trust i { color: #e92227 !important; }

/* --- Footer v3 (dark navy bg) --- */
.hvac-footer { color: #c9d4e3 !important; }
.hvac-footer h1, .hvac-footer h2, .hvac-footer h3, .hvac-footer h4, .hvac-footer h5 { color: #ffffff !important; }
.hvac-footer p, .hvac-footer li { color: #9fb0c5 !important; }
.hvac-footer a { color: #c9d4e3 !important; }
.hvac-footer a:hover { color: #e92227 !important; }
.hvac-footer__brand strong { color: #ffffff !important; }
.hvac-footer__brand span { color: #9fb0c5 !important; }
.hvac-footer__about { color: #9fb0c5 !important; }
.hvac-footer__badge { color: #e92227 !important; }
.hvac-footer__trust { color: #c9d4e3 !important; }
.hvac-footer__contact-block p { color: #dde6f1 !important; }
.hvac-footer__contact-block a { color: #fff !important; }
.hvac-footer__cta-title { color: #ffffff !important; }
.hvac-footer__cta-desc { color: rgba(255,255,255,.85) !important; }
.hvac-footer__bottom-inner { color: #7a8b9f !important; }
.hvac-footer__bottom-inner a { color: #9fb0c5 !important; }
.hvac-footer__bottom-inner p { color: #7a8b9f !important; }

/* ============================================================
   2. HEADER — always dark background, always white text
   ============================================================ */
.hvac-header { color: #c9d4e3 !important; }
.hvac-header h1, .hvac-header h2, .hvac-header h3 { color: #ffffff !important; }
.hvac-header__brand strong { color: #ffffff !important; }
.hvac-header__brand small { color: #e92227 !important; }
.hvac-header__topbar { color: #c9d4e3 !important; }
.hvac-header__topbar p, .hvac-header__topbar span, .hvac-header__topbar li { color: #c9d4e3 !important; }
.hvac-header__navlink { color: #c9d4e3 !important; }
.hvac-header__navlink:hover { color: #e92227 !important; }
.hvac-header__menu-trigger { color: #c9d4e3 !important; }
.hvac-header__megamenu-item { color: #e6ecf5 !important; }
.hvac-header__megamenu-item strong { color: #ffffff !important; }
.hvac-header__megamenu-item span { color: #9ab0c8 !important; }
.hvac-header__megamenu-item:hover strong { color: #e92227 !important; }
.hvac-header__phone-text strong { color: #ffffff !important; }
.hvac-header__phone-text small { color: #e92227 !important; }
.hvac-header__quote-btn { color: #0a1628 !important; }

/* ============================================================
   3. STICKYBAR — dark bg, white/gold text
   ============================================================ */
.hvac-stickybar { color: #ffffff !important; }
.hvac-stickybar h1, .hvac-stickybar h2, .hvac-stickybar h3 { color: #ffffff !important; }
.hvac-stickybar p, .hvac-stickybar span, .hvac-stickybar li { color: inherit !important; }
.hvac-stickybar__btn--call { color: #0a1628 !important; }
.hvac-stickybar__btn--quote { color: #e92227 !important; }
.hvac-quote-modal__head h3 { color: #ffffff !important; }
.hvac-quote-modal__head small { color: #e92227 !important; }
.hvac-quote-modal__intro { color: #475066 !important; }
.hvac-quote-form label { color: #0a1628 !important; }

/* ============================================================
   4. FIX BLUE LINKS ON DARK SECTIONS (the "blue on blue" bug)
   Nuclear: section a { color: #0a5bb5 !important; }
   On dark navy backgrounds, #0a5bb5 is unreadable.
   ============================================================ */
.hvac-hero a:not(.hvac-hero__cta):not(.hvac-hero__cta--call) { color: #e92227 !important; }
.hvac-services-v3 a { color: #e92227 !important; }
.hvac-certs-v3 a { color: #e92227 !important; }
.hvac-areas-v3 a { color: inherit !important; }
.hvac-finalcta-v3 a:not(.hvac-finalcta-v3__btn-call):not(.hvac-finalcta-v3__btn-ghost) { color: #e92227 !important; }
.hvac-footer a { color: #c9d4e3 !important; }
.hvac-header a { color: inherit !important; }

/* ============================================================
   5. FIX CSS VARIABLE CONFLICTS
   color-fix.css maps --gold → #e92227 (red) but our v3 uses
   #e92227 (actual gold). Override with correct values.
   ============================================================ */
:root {
  --gold: #e92227 !important;
  --gold-light: #f24247 !important;
  --gold-dark: #bb221e !important;
  --gold-primary: #e92227 !important;
  --navy: #0a1628 !important;
  --navy-light: #0c1d3a !important;
  --text-on-dark: #ffffff !important;
  --text-secondary: rgba(255,255,255,0.75) !important;
}

/* ============================================================
   6. GRADIENT TEXT — protect -webkit-text-fill-color 
   The nuclear "color" rules don't override -webkit-text-fill-color
   but some browsers inherit it. Ensure our gradient clips work.
   ============================================================ */
.hvac-areas-v3__title span,
.hvac-services-v3__title span,
.hvac-why-v3__title span,
.hvac-finalcta-v3__title em,
.hvac-process-v3__title span,
.hvac-lead-v3__title em,
.hvac-hero__title-gold,
.hvac-certs-v3__title span,
.hvac-social-v3__title span {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
}

/* ============================================================
   7. LEGACY SECTION OVERRIDES — common old-template classes
   used on /pages/ service + area pages that still have the
   old color-fix.css red (#e92227) accent scheme
   ============================================================ */
.rts-service-area, .service-page, .service-area-page,
.page-content-area, .rts-about-area {
  color: #1a2332;
}
.rts-service-area h1, .rts-service-area h2, .rts-service-area h3,
.service-page h1, .service-page h2, .service-page h3,
.page-content-area h1, .page-content-area h2, .page-content-area h3 {
  color: #0a1628 !important;
}
.rts-service-area p, .rts-service-area li,
.service-page p, .service-page li,
.page-content-area p, .page-content-area li {
  color: #334155 !important;
}

/* ============================================================
   8. FORM ELEMENTS — always readable
   ============================================================ */
input:not([type=hidden]), textarea, select {
  color: #0a1628;
}
input::placeholder, textarea::placeholder { color: #9fb0c5; }
label { color: #0a1628 !important; }

/* ============================================================
   9. BUTTONS — text always readable regardless of background
   ============================================================ */
.hvac-areas-v3__office-btn--call { color: #ffffff !important; }
.hvac-areas-v3__office-btn--dir { color: #ffffff !important; }
.hvac-areas-v3__all-btn { color: #0a1628 !important; }
.hvac-process-v3__cta-call { color: #ffffff !important; }
.hvac-process-v3__cta-quote { color: #0a1628 !important; }
.hvac-process-v3__cta-quote:hover { color: #0a1628 !important; }
.hvac-finalcta-v3__btn-call { color: #0a1628 !important; }
.hvac-finalcta-v3__btn-ghost { color: #ffffff !important; }
.hvac-finalcta-v3__btn-ghost:hover { color: #e92227 !important; }
.hvac-lead-v3__call-btn { color: #ffffff !important; }
.hvac-footer__cta-btn { color: #e92227 !important; }
.hvac-stickybar__btn--call i, .hvac-stickybar__btn--call span { color: #0a1628 !important; }
.hvac-stickybar__btn--quote i, .hvac-stickybar__btn--quote span { color: #e92227 !important; }

/* ============================================================
   10. MOBILE — nav drawer background fix (beats coolair's transparent !important)
   ============================================================ */
@media (max-width: 991px) {
  .hvac-header__nav {
    background: #0a1628 !important;
    background-color: #0a1628 !important;
    color: #c9d4e3 !important;
    box-shadow: -8px 0 32px rgba(0,0,0,.6) !important;
  }
  .hvac-header__nav a,
  .hvac-header__nav .hvac-header__navlink { color: #c9d4e3 !important; }
  .hvac-header__nav a:hover,
  .hvac-header__nav .hvac-header__navlink:hover { color: #e92227 !important; }
  .hvac-header__megamenu {
    background: #0d1c34 !important;
    color: #e6ecf5 !important;
  }
  .hvac-header__nav[data-open] {
    right: 0 !important;
  }
  /* Overlay behind open nav */
  .hvac-header__nav-overlay {
    background: rgba(0,0,0,0.55) !important;
  }
}
