/* Custom Spec-Site Showcase styles for fairhavenplumbing.com */
/* palette: #0ea5e9 #0c4a6e */
:root {
  --primary-color: #0ea5e9;
  --primary-rgb: 14, 165, 233;
  --secondary-color: #199ae6;
  --secondary-rgb: 25, 154, 230;
  /* Contrast-safe derivatives (WCAG 1.4.3): accent usable on dark chrome,
     and the text color to pair with primary-colored fills. */
  --primary-on-dark: #4abff4;
  --on-primary: #0f172a;
  --on-secondary: #0f172a;
  --contrast-color: #0f172a;

  /* Dark theme: accents lightened from #0ea5e9/#0c4a6e to read
     on the page background; fills keep the raw palette under white text. */
  --accent-gradient: linear-gradient(135deg, #0ea5e9 0%, #0c4a6e 100%);

  --primary: #0b7caf;
  --secondary: #0c4a6e;
  --bg-card: #ffffff;
  --text-dark: #1e293b;
  --text-muted: #64748b;
  --border-color: #cbd5e1;
}

/* Prevent sideways scroll on mobile caused by off-canvas AOS animation
   transforms and Bootstrap gutter overflow */
html, body {
  overflow-x: hidden;
}

/* Push header and mobile menu down when alert banner is active.
   --bwg-banner-h is set from the banner's real height by a script in
   lead-cta.html, so a wrapped multi-line banner never overlaps the header. */
body.has-alert-banner {
  margin-top: var(--bwg-banner-h, 46px) !important;
}
body.has-alert-banner .header {
  top: var(--bwg-banner-h, 46px) !important;
}
@media (max-width: 1199px) {
  body.has-alert-banner .navmenu {
    top: calc(100% + var(--bwg-banner-h, 46px)) !important;
  }
}

/* Inner pages start below the fixed header without waiting for JS (CLS).
   --bwg-header-h is set per theme in main.css; the banner script's overlap
   check remains as a corrective fallback only. */
body.has-alert-banner .page-title {
  padding-top: calc(var(--bwg-header-h, 90px) + 24px);
}
