/* Minimal styles for the replacement contact form. Keeps the site's existing layout/colors. */
.contact-form { margin: 0; }
.contact-form__field { margin: 0 0 14px; }
.contact-form label { display: block; margin: 0 0 5px; font-weight: 600; }
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 3px;
  padding: 10px 12px;
  background: #fff;
  color: #222;
  font: inherit;
}
.contact-form textarea { min-height: 150px; resize: vertical; }
.contact-form input:focus,
.contact-form textarea:focus { outline: 2px solid currentColor; outline-offset: 2px; }
.contact-form__privacy { display: flex; gap: 8px; align-items: flex-start; }
.contact-form__privacy input { margin-top: 4px; flex: 0 0 auto; }
.contact-form__required { font-weight: 700; }
.contact-form__actions { margin-top: 16px; }
.contact-form__submit {
  border: 0;
  border-radius: 3px;
  padding: 10px 20px;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.contact-form__submit[disabled] { cursor: wait; opacity: .65; }
.contact-form__status { margin-top: 14px; padding: 10px 12px; border-radius: 3px; }
.contact-form__status:empty { display: none; }
.contact-form__status--success { background: rgba(255,255,255,.85); color: #14532d; }
.contact-form__status--error { background: #fff1f1; color: #8a1c1c; }
.contact-form__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
