/* ================================================================
   BSR ESTIMATING — SHARED NAV + FOOTER STYLES
   Used by every page. Edit here once and it applies site-wide.
   Page-specific styles stay inside each page's own <style> block.
   ================================================================ */

/* ── NAV ── */
nav.site-nav { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(24,24,24,0.98); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid rgba(208,3,8,0.2); padding:0 3%; display:flex; align-items:center; justify-content:space-between; height:68px; margin:0; }
nav.site-nav .nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
nav.site-nav .nav-logo-mark { font-family:'Montserrat',sans-serif; font-weight:900; font-size:28px; color:#D00308; letter-spacing:-1px; line-height:1; }
nav.site-nav .nav-logo-sub { font-family:'Montserrat',sans-serif; font-weight:600; font-size:10px; color:#ffffff; letter-spacing:1.5px; text-transform:uppercase; line-height:1.3; border-left:1px solid rgba(255,255,255,0.2); padding-left:10px; }
nav.site-nav .nav-links { display:flex; align-items:center; gap:20px; list-style:none; margin:0; padding:0; position:static; background:none; border:0; }
nav.site-nav .nav-links li { list-style:none; margin:0; padding:0; }
nav.site-nav .nav-links a { color:rgba(255,255,255,0.72); text-decoration:none; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:0.8px; text-transform:uppercase; transition:color 0.2s; white-space:nowrap; padding:0; border:0; background:none; }
nav.site-nav .nav-links a:hover,
nav.site-nav .nav-links a.active { color:#D00308; }
nav.site-nav .nav-actions { display:flex; align-items:center; flex-shrink:0; margin-left:16px; gap:0; }
nav.site-nav .nav-cta { background:#D00308; color:#ffffff !important; padding:9px 18px; border-radius:4px; text-decoration:none; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; white-space:nowrap; transition:background 0.2s; border:0; }
nav.site-nav .nav-cta:hover { background:#a50207 !important; }

/* Hamburger (mobile menu button) */
nav.site-nav .nav-hamburger { display:none; flex-direction:column; justify-content:space-between; width:26px; height:18px; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0; margin-left:16px; }
nav.site-nav .nav-hamburger span { display:block; width:100%; height:2px; background:rgba(255,255,255,0.8); border-radius:2px; transition:all 0.3s; }
nav.site-nav .nav-hamburger.open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
nav.site-nav .nav-hamburger.open span:nth-child(2) { opacity:0; }
nav.site-nav .nav-hamburger.open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

/* Tighter spacing on mid-size screens so all links fit */
@media (max-width:1180px) {
  nav.site-nav .nav-links { gap:14px; }
  nav.site-nav .nav-links a { font-size:10.5px; letter-spacing:0.5px; }
}

/* Mobile: links collapse into the hamburger menu */
@media (max-width:1024px) {
  nav.site-nav .nav-links { display:none; position:absolute; top:68px; left:0; right:0; background:rgba(24,24,24,0.98); flex-direction:column; align-items:flex-start; gap:0; padding:8px 0 16px; border-bottom:1px solid rgba(208,3,8,0.2); z-index:999; }
  nav.site-nav .nav-links.open { display:flex; }
  nav.site-nav .nav-links li { width:100%; }
  nav.site-nav .nav-links a { display:block; padding:12px 24px; font-size:13px; }
  nav.site-nav .nav-links a:hover { background:rgba(208,3,8,0.08); }
  nav.site-nav .nav-actions { display:none; }
  nav.site-nav .nav-hamburger { display:flex; }
}

/* ── FOOTER ── */
footer.site-footer { background:#111; padding:60px 5% 36px; color:rgba(255,255,255,0.5); font-family:'Poppins',sans-serif; margin:0; }
footer.site-footer .footer-inner { max-width:1200px; margin:0 auto; }
footer.site-footer .footer-top { display:grid; grid-template-columns:240px 1fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,0.08); margin-bottom:32px; }
footer.site-footer .footer-logo-mark { font-family:'Montserrat',sans-serif; font-weight:900; font-size:36px; color:#D00308; line-height:1; margin-bottom:4px; }
footer.site-footer .footer-logo-sub { font-family:'Montserrat',sans-serif; font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.35); margin-bottom:16px; }
footer.site-footer .footer-tagline { font-size:13px; line-height:1.6; color:rgba(255,255,255,0.4); margin:0; }
footer.site-footer .footer-col h5 { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.6); margin:0 0 20px; }
footer.site-footer .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:12px; margin:0; padding:0; }
footer.site-footer .footer-col li { margin:0; padding:0; }
footer.site-footer .footer-col ul a { font-size:14px; color:rgba(255,255,255,0.4); text-decoration:none; transition:color 0.2s; }
footer.site-footer .footer-col ul a:hover { color:#ffffff; }
footer.site-footer .footer-col ul a.footer-admin { color:rgba(255,255,255,0.25); font-size:11px; }
footer.site-footer .footer-bottom { display:flex; justify-content:space-between; align-items:center; font-size:12px; }
footer.site-footer .footer-regions { display:flex; gap:16px; flex-wrap:wrap; }
footer.site-footer .region-pill { font-size:11px; padding:4px 10px; border:1px solid rgba(255,255,255,0.1); border-radius:20px; color:rgba(255,255,255,0.35); }
footer.site-footer .acia-logo { display:block; height:52px; width:auto; opacity:0.85; margin-top:20px; transition:opacity 0.2s; }
footer.site-footer .acia-logo:hover { opacity:1; }

@media (max-width:900px) {
  footer.site-footer .footer-top { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  footer.site-footer .footer-top { grid-template-columns:1fr; }
  footer.site-footer .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
  footer.site-footer .footer-regions { justify-content:center; }
  footer.site-footer .acia-logo { height:42px; }
}
