/* ==========================================================================
   SPARK-RESET.CSS v1.0 — Loads LAST. Wins all conflicts.
   Cleans up the mess of 13 conflicting stylesheets across HVAC247PRO pages.

   Strategy:
   - Light page baseline (white bg, dark text)
   - Section-context awareness (dark sections force white text via class)
   - Scoped overrides — no broad `* {color:...}` rules
   - Minimal !important; relies on cascade order
   ========================================================================== */

/* === RESET to a SANE baseline === */
html,body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif!important;line-height:1.6}
body{
  background:#ffffff!important;
  color:#0f172a!important;
  margin:0;
}

/* Headings: dark by default; sections with dark backgrounds set white via section class */
h1,h2,h3,h4,h5,h6{
  color:#0f172a;
  letter-spacing:-0.02em;
  font-weight:800;
  line-height:1.15;
}

/* Default paragraph + lists in normal content */
p,li,td{
  color:#334155;
  line-height:1.65;
}

/* Links — readable + visible underline only on hover */
a{
  color:#d97706;
  text-decoration:none;
  transition:color .15s;
}
a:hover{
  color:#b45309;
  text-decoration:underline;
}

/* === DARK SECTIONS: where the design uses dark bg, force white text === */
.hvac-hero,
.hvac-hero--premium,
.hvac-section--process,
.hvac-section--final-cta,
.hvac-final-cta,
.hvac-footer,
.parallax-trust-section,
.connect-platforms-section,
.spk-hero,
.spk-trust,
.spk-why,
.spk-form-section,
.spk-footer,
[class*="bg-dark"],
[class*="bg-navy"],
[data-theme="dark"]{
  color:#ffffff;
}

.hvac-hero h1,.hvac-hero h2,.hvac-hero h3,.hvac-hero p,.hvac-hero a:not(.hvac-hero__cta--secondary),
.hvac-hero--premium h1,.hvac-hero--premium h2,.hvac-hero--premium h3,.hvac-hero--premium p,
.hvac-section--process h1,.hvac-section--process h2,.hvac-section--process h3,.hvac-section--process p,
.hvac-final-cta h1,.hvac-final-cta h2,.hvac-final-cta h3,.hvac-final-cta p,
.spk-hero h1,.spk-hero h2,.spk-hero h3,.spk-hero p,
.spk-trust *,
.spk-why h1,.spk-why h2,.spk-why h3,.spk-why p,
.spk-form-section__info h1,.spk-form-section__info h2,.spk-form-section__info h3,.spk-form-section__info p,
.spk-footer h1,.spk-footer h2,.spk-footer h3,.spk-footer p{
  color:#ffffff;
}

.spk-form-section__info p,
.spk-footer__bio,
.spk-why .spk-why__desc{
  color:#94a3b8;
}

/* === LIGHT SECTIONS (services on white bg, FAQ etc.): keep dark text === */
.spk-services h1,.spk-services h2,.spk-services h3,
.spk-services .spk-sec__heading--dark{
  color:#0f172a;
}
.spk-services p,
.spk-services .spk-sec__lede--dark,
.spk-svc__desc,
.spk-faq summary,
.spk-faq__answer{
  color:#475569;
}

/* === SAFETY NETS for legacy bootstrap conflicts === */
.text-white,.text-light{color:#fff!important}
.text-dark,.text-body{color:#0f172a!important}
.bg-light{background:#ffffff!important;color:#0f172a!important}
.bg-dark,.bg-primary,.bg-secondary{color:#fff}

/* Buttons — preserve existing button styles by NOT touching them */
button:not([class*="spk-"]):not([class*="cta"]):not([class*="btn"]){
  font-family:inherit;
}

/* SVG: ensure currentColor works (some pages reset SVG fill) */
svg{fill:currentColor;flex-shrink:0}

/* === IMAGES: prevent layout shift, force constrained max width === */
img{max-width:100%;height:auto;display:block}
img[width][height]{height:auto}

/* === FORMS in body content (not modal) get sane defaults === */
input:not([type="checkbox"]):not([type="radio"]):not([class*="spk-"]),
select:not([class*="spk-"]),
textarea:not([class*="spk-"]){
  font-family:inherit;
  font-size:1rem;
}

/* === Visible focus ring (a11y) === */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid #fbbf24;
  outline-offset:2px;
  border-radius:4px;
}

/* === Section padding sanity === */
section{padding:3rem 1rem}
@media(min-width:768px){section{padding:4rem 1.5rem}}

/* === Mobile: reduce padding === */
@media(max-width:480px){
  h1{font-size:1.85rem!important}
  h2{font-size:1.45rem!important}
  h3{font-size:1.15rem!important}
  section{padding:2.5rem 1rem}
}

/* === Print friendly === */
@media print{
  .spk-dock,.spk-header,.spk-modal{display:none!important}
  body{color:#000;background:#fff}
}

/* === SPARK-RESET-V1 MARKER === */
[data-spark-reset]::after{content:'SPARK-RESET-V1';display:none}
