/* Custom Spec-Site Showcase styles for attleboroplumbing.com */
/* palette: #2563eb #1e3a8a */
:root {
  --primary-color: #2563eb;
  --primary-rgb: 37, 99, 235;
  --secondary-color: #1e3a8a;
  --secondary-rgb: 30, 58, 138;
  /* 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: #8cadf4;
  --on-primary: #ffffff;
  --on-secondary: #ffffff;
  --contrast-color: #ffffff;

  --primary: #2563eb;
  --secondary: #1e3a8a;
  --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);
}
