/* Custom Spec-Site Showcase styles for newbedfordpaving.com */
/* palette: #ea580c #7c2d12 */
:root {
  --primary-color: #f36317;
  --primary-rgb: 243, 99, 23;
  --secondary-color: #e46c43;
  --secondary-rgb: 228, 108, 67;
  /* 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: #f36317;
  --on-primary: #0f172a;

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

  --primary: #cd4d0b;
  --secondary: #7c2d12;
  --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);
}
