/* Ductless Brothers — "The Impact of Not Cleaning" + "Warning Signs" (homepage)
   Same look as gallery.css and service.css */

/* Section backgrounds: glows over faint dots */
#health-effects.section,
#when-to-clean.section{
  position:relative; overflow:hidden;
  padding-top:72px !important; padding-bottom:80px !important;
}
#health-effects.section{
  background:
    radial-gradient(600px 380px at 12% 20%, rgba(216,90,28,.14), transparent 70%),
    radial-gradient(560px 360px at 90% 85%, rgba(103,201,232,.15), transparent 70%),
    radial-gradient(rgba(255,255,255,.05) 1.5px, transparent 2px) 0 0 / 24px 24px,
    #0B1120 !important;
}
#when-to-clean.section{
  background:
    radial-gradient(600px 380px at 88% 18%, rgba(103,201,232,.15), transparent 70%),
    radial-gradient(560px 360px at 10% 85%, rgba(216,90,28,.14), transparent 70%),
    radial-gradient(rgba(255,255,255,.05) 1.5px, transparent 2px) 0 0 / 24px 24px,
    #0B1120 !important;
}

/* Titles with gradient underline */
#health-effects .impact-section-title,
#when-to-clean .warning-signs-title{
  position:relative; display:table; margin:0 auto 44px !important;
  padding:0 0 14px !important; background:none !important; border:0 !important; box-shadow:none !important;
  font-size:clamp(32px,4vw,52px) !important; color:#FFFFFF !important; letter-spacing:-.5px; text-align:center;
}
#health-effects .impact-section-title::after,
#when-to-clean .warning-signs-title::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:90px; height:5px; border-radius:99px;
  background:linear-gradient(90deg,#D85A1C,#67C9E8);
}

#health-effects .impact-layout,
#when-to-clean .warning-signs-layout{ gap:32px !important; align-items:stretch !important; }

/* Glowing gradient border on photos and cards */
#health-effects .impact-image-wrapper,
#health-effects .impact-bubble,
#when-to-clean .warning-signs-frame,
#when-to-clean .warning-signs-bubble{
  border:2px solid transparent !important;
  background:
    linear-gradient(#151E33,#151E33) padding-box,
    linear-gradient(135deg,#D85A1C,#67C9E8) border-box !important;
  box-shadow:0 20px 50px rgba(0,0,0,.45), 0 0 40px rgba(103,201,232,.12) !important;
  transition:transform .3s ease, box-shadow .3s ease;
}
#health-effects .impact-image-wrapper:hover,
#health-effects .impact-bubble:hover,
#when-to-clean .warning-signs-frame:hover,
#when-to-clean .warning-signs-bubble:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 60px rgba(0,0,0,.5), 0 0 55px rgba(103,201,232,.22) !important;
}
#health-effects .impact-bubble::before,
#when-to-clean .warning-signs-bubble::before{ display:none !important; }

/* Photos zoom on hover, soft shade at the bottom */
#health-effects .impact-image-wrapper,
#when-to-clean .warning-signs-frame{ position:relative; overflow:hidden; }
#health-effects .impact-image,
#when-to-clean .warning-signs-frame img{ transition:transform .6s ease, opacity .35s ease; }
#health-effects .impact-image-wrapper:hover .impact-image,
#when-to-clean .warning-signs-frame:hover img{ transform:scale(1.04); }
#health-effects .impact-image-wrapper::after,
#when-to-clean .warning-signs-frame::after{
  content:""; position:absolute; inset:auto 0 0 0; height:35%;
  background:linear-gradient(transparent, rgba(11,17,32,.5)); pointer-events:none;
}

/* Card headings with glowing dot */
#health-effects .impact-bubble h3,
#when-to-clean .warning-signs-bubble h3{
  display:flex; align-items:center; gap:10px;
  color:#FFFFFF !important; font-size:clamp(20px,1.8vw,24px) !important;
}
#health-effects .impact-bubble h3::before,
#when-to-clean .warning-signs-bubble h3::before{
  content:""; flex:0 0 auto; width:10px; height:10px; border-radius:50%;
  background:linear-gradient(135deg,#D85A1C,#67C9E8); box-shadow:0 0 10px rgba(103,201,232,.6);
}

/* List text: white titles, readable light descriptions */
#health-effects .impact-list strong,
#when-to-clean .warning-signs-list strong{ color:#FFFFFF !important; font-size:16.5px !important; }
#health-effects .impact-list span,
#when-to-clean .warning-signs-list span{ color:#C7D2E0 !important; font-size:14.5px !important; }

/* Impact list: round blue check badges */
#health-effects .impact-list li{ padding-left:34px !important; }
#health-effects .impact-list li::before{
  content:"✓" !important; top:1px !important;
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%;
  background:rgba(103,201,232,.18) !important; border:1px solid rgba(103,201,232,.6);
  color:#67C9E8 !important; font-size:12px !important; font-weight:800; line-height:1;
}

/* Warning list: numbered orange-to-blue badges */
#when-to-clean .warning-signs-list{ list-style:none !important; padding-left:0 !important; counter-reset:db-warn; }
#when-to-clean .warning-signs-list li{ position:relative; padding-left:38px !important; counter-increment:db-warn; }
#when-to-clean .warning-signs-list li::before{
  content:counter(db-warn); position:absolute; left:0; top:1px;
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%;
  background:linear-gradient(135deg,#E8682A,#C2511A);
  color:#FFFFFF; font-size:13px; font-weight:800; line-height:1;
  box-shadow:0 4px 12px rgba(216,90,28,.35);
}

/* Warning-signs photo controls (match gallery) */
#when-to-clean .warning-signs-image-label{
  z-index:2; padding:8px 18px !important; border-radius:99px !important; font-size:14px !important;
  letter-spacing:.06em; text-transform:uppercase;
  background:linear-gradient(135deg,#D85A1C,#B94712) !important; color:#FFFFFF !important;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
}
#when-to-clean .warning-signs-arrow{
  z-index:2; background:rgba(11,17,32,.6) !important; border:1px solid rgba(103,201,232,.6) !important;
  backdrop-filter:blur(6px); color:#FFFFFF !important;
}
#when-to-clean .warning-signs-arrow:hover{ background:#3AA9CF !important; }
#when-to-clean .warning-signs-dot{
  width:10px; height:10px; border:0 !important; border-radius:99px !important; padding:0;
  background:rgba(255,255,255,.3) !important; transform:none !important; transition:width .3s, background .3s;
}
#when-to-clean .warning-signs-dot.active{ width:28px !important; background:#67C9E8 !important; }

/* Caption banner under the photo */
#when-to-clean .warning-signs-caption{
  border:0 !important; border-radius:16px !important;
  background:linear-gradient(135deg,#D85A1C 0%,#C2511A 45%,#3AA9CF 100%) !important;
  box-shadow:0 14px 34px rgba(216,90,28,.25) !important;
  color:#FFFFFF !important; font-weight:800 !important; font-size:clamp(15px,1.4vw,19px) !important;
  text-shadow:0 2px 6px rgba(0,0,0,.25);
}

/* Computers: photos fill the full height next to the cards */
@media (min-width:901px){
  /* Photo across the top, the two cards side by side underneath */
  #health-effects .impact-layout{ grid-template-columns:1fr !important; }
  #health-effects .impact-image-wrapper{ height:auto !important; aspect-ratio:16 / 8; }
  #health-effects .impact-image{ position:absolute; inset:0; object-position:center 38% !important; }
  #health-effects .impact-details{ display:grid !important; grid-template-columns:1fr 1fr; gap:32px !important; align-items:stretch; }
  #when-to-clean .warning-signs-gallery{ display:flex; flex-direction:column; height:100%; }
  #when-to-clean .warning-signs-frame{ flex:1 1 auto; height:auto !important; min-height:440px; }
  #when-to-clean .warning-signs-frame img{ position:absolute; inset:0; }
}
@media (max-width:900px){
  #health-effects .impact-image-wrapper{ height:auto !important; aspect-ratio:4 / 3; }
  #health-effects.section, #when-to-clean.section{ padding-top:56px !important; padding-bottom:56px !important; }
  #health-effects .impact-section-title, #when-to-clean .warning-signs-title{ margin-bottom:32px !important; }
}

/* Town pages: the third "Why HVAC Cleaning Matters" box (the town-specific one)
   runs the full width, centered, with its points side by side */
@media (min-width:901px){
  #health-effects .impact-details > .impact-bubble:nth-child(3){
    grid-column:1 / -1; padding:28px 34px !important;
  }
  #health-effects .impact-details > .impact-bubble:nth-child(3) h3{ justify-content:center; text-align:center; margin-bottom:18px !important; }
  #health-effects .impact-details > .impact-bubble:nth-child(3) .impact-list{
    display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px !important;
  }
}
