/* Twee soorten formulier: de inline strook (mailadres plus knop) en
   het volledige formulier op de aanmeld- en demopagina. */

@layer components {
  .field {
    display: grid;
    gap: var(--space-3xs);
  }

  .field > span {
    font-size: var(--step--1);
    font-weight: 600;
  }

  .field input,
  .field select,
  .field textarea {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-s);
    background: #ffffff;
    color: var(--color-ink);
    font: inherit;
    font-size: var(--step-0);
  }

  .field textarea {
    min-height: 8rem;
    resize: vertical;
  }

  .field input:focus-visible,
  .field select:focus-visible,
  .field textarea:focus-visible {
    border-color: var(--color-accent);
  }

  .field__error {
    color: #b91c1c;
    font-size: var(--step--1);
  }

  .form {
    display: grid;
    gap: var(--space-s);
    padding: var(--space-l);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    background: #ffffff;
    box-shadow: var(--shadow-card);
  }

  .form__note {
    color: var(--color-muted);
    font-size: var(--step--1);
  }

  .form__message {
    padding: var(--space-s);
    border-radius: var(--radius-s);
    background: color-mix(in srgb, var(--color-mint) 12%, transparent);
    color: #065f46;
    font-size: var(--step--1);
  }

  .form__errors {
    padding: var(--space-s);
    border-radius: var(--radius-s);
    background: #fef2f2;
    color: #b91c1c;
    font-size: var(--step--1);
  }

  /* Inline strook: mailadres plus knop op één regel. */
  .form-inline {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2xs);
    align-items: center;
  }

  .form-inline input {
    flex: 1 1 14rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-pill);
    background: #ffffff;
    color: var(--color-ink);
    font: inherit;
    font-size: var(--step-0);
  }

  .form-inline__note {
    flex-basis: 100%;
    font-size: 0.75rem;
    opacity: 0.75;
  }
}
