/** The contact form. */
.ecza-form-section__inner { max-width: 44rem; }

.ecza-form__routes { border: 0; padding: 0; margin: 0 0 1.5rem; }
.ecza-form__routes legend { padding: 0; margin-bottom: 0.6rem; font-size: 0.875rem; font-weight: 600; }
.ecza-form__route { display: inline-flex; align-items: center; gap: 0.45rem; margin: 0 1.25rem 0.5rem 0; }

.ecza-form__row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 560px) { .ecza-form__row { grid-template-columns: 1fr; } }

.ecza-form__field { margin: 0 0 1rem; }
.ecza-form__field label { display: block; margin-bottom: 0.3rem; font-size: 0.875rem; font-weight: 600; }
.ecza-form__field input,
.ecza-form__field textarea {
  width: 100%;
  padding: 0.65rem 0.8rem;
  font: inherit;
  color: inherit;
  background: #fff;
  border: 1px solid var(--border-soft);
  border-radius: 10px;
}
.ecza-form__field textarea { resize: vertical; }
.ecza-form__field input:focus-visible,
.ecza-form__field textarea:focus-visible { outline: 2px solid var(--champagne-text); outline-offset: 1px; }

/*
 * The honeypot. Positioned off-screen rather than display:none, because some
 * bots skip anything that is display:none — and aria-hidden plus tabindex="-1"
 * on the field keep it away from real people either way.
 */
.ecza-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ecza-form__privacy { font-size: 0.8125rem; color: var(--ink-muted); }
.ecza-form__actions { margin: 1.25rem 0 0; }

.ecza-form__status { margin: 1rem 0 0; padding: 0.75rem 1rem; border-radius: 10px; font-size: 0.9375rem; }
.ecza-form__status.is-success { background: #DFF3E7; color: #1B6B42; }
.ecza-form__status.is-error { background: #FBE3E0; color: #93291D; }

.is-dark .ecza-form__field input,
.is-dark .ecza-form__field textarea { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.2); color: var(--cream-50); }
.is-dark .ecza-form__privacy { color: rgba(248,245,239,0.6); }
