/* Custom Spec-Site Showcase styles for mansfieldpaving.com */
/* palette: #475569 #1e293b */
:root {
  --primary-color: #8192aa;
  --primary-rgb: 129, 146, 170;
  --secondary-color: #7d95bd;
  --secondary-rgb: 125, 149, 189;
  /* 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: #8192aa;
  --on-primary: #0f172a;

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

  --primary: #475569;
  --secondary: #1e293b;
  --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);
}
