/* chatagent.ca site-kit — cookie, sticky mobile CTA, forms, loading */
.lygo-load { position:fixed; inset:0; z-index:80; background:#120e0a; display:grid; place-items:center; color:#e0b36a; font:700 .85rem/1 Syne,system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.lygo-load[hidden] { display:none; }
.cookie-banner { position:fixed; left:0; right:0; bottom:0; z-index:70; background:#1a140c; color:#f3ece3; padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom)); display:none; gap:.75rem; align-items:center; justify-content:space-between; flex-wrap:wrap; font:500 .88rem/1.4 system-ui,sans-serif; border-top:1px solid rgba(224,179,106,.35); }
.cookie-banner.show { display:flex; }
.cookie-banner a { color:#e0b36a; }
.cookie-banner button { border:0; border-radius:8px; padding:.45rem .8rem; font-weight:700; cursor:pointer; }
.cookie-banner .ok { background:#e0b36a; color:#1a140c; }
.cookie-banner .no { background:transparent; color:#f3ece3; border:1px solid rgba(255,255,255,.25); }
.sticky-cta { display:none; position:fixed; left:0; right:0; bottom:0; z-index:60; padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom)); background:rgba(18,14,10,.94); border-top:1px solid rgba(224,179,106,.4); gap:.5rem; }
.sticky-cta a { flex:1; text-align:center; text-decoration:none; font-weight:800; font-size:.82rem; padding:.65rem .5rem; border-radius:8px; }
.sticky-cta .pri { background:#e0b36a; color:#1a140c; }
.sticky-cta .sec { border:1px solid #e0b36a; color:#e0b36a; }
.field-err { color:#b42318; font-size:.85rem; margin:.25rem 0 0; display:none; }
.field.bad input, .field.bad textarea, .field.bad select { outline:2px solid #b42318; }
.field.bad .field-err { display:block; }
.contact-form label { display:block; font-weight:700; margin:1rem 0 .3rem; }
.contact-form input, .contact-form textarea, .contact-form select { width:100%; padding:.55rem .7rem; border:1px solid #e4e0d8; border-radius:8px; font:inherit; }
.contact-form button[type=submit] { margin-top:1rem; background:#0b6e4f; color:#fff; border:0; padding:.7rem 1.1rem; border-radius:8px; font-weight:800; cursor:pointer; }
@media (max-width: 820px) {
  .sticky-cta { display:flex; }
  body { padding-bottom:4.2rem; }
  .home nav { display:none; }
}
@media (max-width: 520px) {
  .hero h1 { font-size:1.85rem; }
  .cta-row .btn { width:100%; text-align:center; }
}
