/* Shared UI additions: sticky header/call button, mobile CTA bar,
   form validation states, consent text, gas warning, reviews placeholder,
   footer tagline contrast fix. Linked from every page (hand-maintained + generated). */

.site-header{position:sticky;top:0;z-index:50;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.header-call{background:#dc2626;color:#fff !important;padding:8px 14px;border-radius:999px;font-weight:700;font-size:14px;white-space:nowrap}
.header-call:hover{background:#991b1b}

.mobile-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;grid-template-columns:1fr 1fr;box-shadow:0 -2px 10px rgba(0,0,0,.15)}
.mobile-cta-bar a{display:block;text-align:center;padding:14px 10px;font-weight:700;font-size:15px;text-decoration:none;color:#fff}
.mobile-cta-bar .mcb-call{background:#dc2626}
.mobile-cta-bar .mcb-estimate{background:#0b5d8a}
body{padding-bottom:0}
@media (max-width:640px){
  .mobile-cta-bar{display:grid}
  body{padding-bottom:56px}
}

.field-error{display:none;color:#dc2626;font-size:13px;margin-top:4px}
.field-error.show{display:block}
.field-invalid{border-color:#dc2626 !important;outline:2px solid #fecaca}

.consent-text{font-size:12px;color:#64748a;line-height:1.5;margin:4px 0 0}
.consent-text a{color:inherit;text-decoration:underline}

.gas-warning{display:none;background:#fef2f2;border:2px solid #dc2626;color:#991b1b;border-radius:10px;padding:14px 16px;margin:4px 0;font-weight:600}
.gas-warning.show{display:block}

.reviews-block{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px 24px;margin:24px 0}

.service-banner{display:block;background:linear-gradient(135deg,#0b5d8a,#084665);color:#fff;text-decoration:none;border-radius:10px;padding:14px 18px;margin:16px 0;font-weight:600;text-align:center}
.service-banner:hover{opacity:.92}

footer .muted{color:rgba(255,255,255,.82)}
