
/* StormHelpLine — single B/W/Y theme. Forbids invisible text (wrong class on wrong background). */

html {
  color-scheme: light;
  --bs-body-color: #111111;
  --bs-body-bg: #ffffff;
  --bs-secondary-color: #4b5563;
  --bs-heading-color: #0a0a0a;
}

body,
body.admin-page,
body.dashboard-page {
  background: #ffffff !important;
  color: #111111 !important;
}

/* Dark surfaces: force readable light text */
.bg-dark,
.bg-black,
.bg-primary,
footer,
footer.footer-mobile,
.hero,
.hero-section,
.hero-contact,
.hero-roof,
.hero-siding,
.modern-hero,
section[class*="hero"],
.mobile-footer,
.dark-section {
  color: #ffffff !important;
}

.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.bg-dark p, .bg-dark li, .bg-dark span, .bg-dark small, .bg-dark label,
.bg-black h1, .bg-black h2, .bg-black h3, .bg-black h4, .bg-black h5, .bg-black h6,
.bg-black p, .bg-black li, .bg-black span, .bg-black small,
.hero h1, .hero h2, .hero h3, .hero p, .hero .lead,
.hero-contact h1, .hero-contact p, .hero-contact .lead,
.modern-hero h1, .modern-hero h2, .modern-hero p,
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer p, footer small, footer li {
  color: #ffffff !important;
}

.bg-dark .text-dark,
.bg-black .text-dark,
.bg-primary .text-dark,
.hero .text-dark,
.hero-contact .text-dark,
.modern-hero .text-dark,
footer .text-dark,
.bg-dark .text-body,
.bg-black .text-body {
  color: #ffffff !important;
}

.bg-dark .text-muted,
.bg-black .text-muted,
.hero .text-muted,
footer .text-muted,
.mobile-footer .text-muted {
  color: rgba(255, 255, 255, 0.82) !important;
}

.bg-dark a:not(.btn):not(.dropdown-item),
.bg-black a:not(.btn):not(.dropdown-item),
footer a:not(.btn) {
  color: #ffffff !important;
}

.bg-dark a:not(.btn):hover,
.bg-black a:not(.btn):hover,
footer a:not(.btn):hover {
  color: #ffd400 !important;
}

/* Light surfaces: force readable dark text */
.bg-light,
.bg-white,
.card,
.feature-card,
.contact-method,
.service-area {
  color: #111111 !important;
}

.bg-light h1, .bg-light h2, .bg-light h3, .bg-light h4, .bg-light h5, .bg-light h6,
.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4, .bg-white h5, .bg-white h6,
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.card p, .card li, .card span, .feature-card p {
  color: #111111 !important;
}

.bg-light .text-white:not(.btn):not(.badge),
.bg-white .text-white:not(.btn):not(.badge),
.card .text-white:not(.btn):not(.badge),
.bg-light .text-light:not(.btn),
.bg-white .text-light:not(.btn) {
  color: #111111 !important;
}

.text-dark,
.text-body {
  color: #111111 !important;
}

.text-muted {
  color: #6b7280 !important;
}

/* Yellow accents stay dark-on-gold */
.bg-warning,
.btn-warning,
.bg-yellow,
.badge.bg-warning {
  color: #0a0a0a !important;
}

.bg-warning h1, .bg-warning h2, .bg-warning h3, .bg-warning h4, .bg-warning h5, .bg-warning h6,
.bg-warning p, .bg-warning small, .bg-warning span,
.btn-warning {
  color: #0a0a0a !important;
}

/* Bootstrap secondary panels on dark heroes */
.bg-dark .bg-secondary,
.bg-black .bg-secondary,
.hero .bg-secondary {
  background-color: #1a1a1a !important;
  color: #ffffff !important;
}

.bg-dark .bg-secondary .text-dark,
.hero .bg-secondary .text-dark {
  color: #ffffff !important;
}

/* Nav dropdowns on public site */
.dropdown-menu {
  background: #ffffff !important;
}

.dropdown-item {
  color: #111111 !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(255, 212, 0, 0.2) !important;
  color: #0a0a0a !important;
}

/* Neutralize any leftover data-theme / dual-theme hooks */
[data-theme="dark"],
[data-theme="light"],
html[data-theme] {
  color-scheme: light;
}

[data-theme] .bg-dark,
[data-theme] .bg-black {
  background: #0a0a0a !important;
}
