/* Forms rendered by the Form plugin; class names come from promptproof.php. */
.form { display: grid; grid-template-columns: 1fr; gap: 22px; }
@media (min-width: 40em) {
  .form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form > * { grid-column: span 2; }
  .form > .form__field--half { grid-column: span 1; }
}
.form__field { display: flex; flex-direction: column; gap: 6px; }
.form__label { font-size: 14px; font-weight: var(--weight-semibold); color: var(--color-ink); }
.form__label .required { color: var(--color-error); margin-left: 2px; }
.form__control {
  width: 100%;
  min-height: var(--control-height);
  padding: 0 14px;
  font: inherit;
  font-size: var(--text-base);
  color: var(--color-ink);
  background: var(--color-white);
  border: 1px solid var(--color-input-border);
  border-radius: var(--radius-sm);
}
textarea.form__control { padding: 14px; line-height: 1.5; min-height: 8rem; resize: vertical; }
select.form__control { appearance: auto; }
.form__control:focus { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.form__field.has-errors .form__control { border-color: var(--color-error); }
.form__error-text { font-size: 14px; color: var(--color-error); }
.form-description { font-size: 14px; color: var(--color-muted); }
.form__checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: var(--text-sm); }
.form__checkbox input { margin-top: 0.3em; }
.form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.form__errors { color: var(--color-error); }
.form__errors ul { margin: 0; padding-left: 1.2em; }
.form__privacy { margin: 0; font-size: 14px; color: var(--color-muted); }

/* Honeypot: hidden from people, present for bots */
.form__field--honeypot { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
