/* ==========================================================================
   Formulare
   ========================================================================== */

.form-field { margin-bottom: var(--space-3); }
.form-field label {
  display: block;
  font-size: var(--step--1);
  font-weight: 500;
  margin-bottom: 0.4em;
}
.form-field input,
.form-field textarea {
  width: 100%;
  font-family: var(--font-body);
  font-size: var(--step-0);
  padding: 0.75em 0.9em;
  border: 1px solid var(--immo-line);
  border-radius: var(--radius-s);
  background: #fff;
  color: var(--immo-ink);
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.form-field input:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--immo-accent);
  box-shadow: 0 0 0 3px rgba(168, 80, 44, 0.15);
}
.form-field textarea { min-height: 140px; resize: vertical; }

.form-field-checkbox { display: flex; align-items: flex-start; gap: 0.6em; }
.form-field-checkbox input { width: auto; margin-top: 0.3em; }
.form-field-checkbox label { margin: 0; font-weight: 400; font-size: var(--step--1); }

.form-note {
  font-size: var(--step--1);
  color: var(--immo-ink-soft);
  margin-top: var(--space-2);
}

.form-message {
  padding: var(--space-3);
  border-radius: var(--radius-s);
  margin-bottom: var(--space-3);
  font-size: var(--step--1);
}
.form-message--success { background: #e8f3ea; color: #1e5c2c; }
.form-message--error   { background: #fbe9e7; color: #8a2f22; }

/* Honeypot-Feld: fuer echte Nutzer unsichtbar, Bots fuellen es oft blind aus */
.form-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.kontakt-grid {
  display: grid;
  gap: var(--space-5);
  grid-template-columns: 1fr;
}
@media (min-width: 55rem) {
  .kontakt-grid { grid-template-columns: 1.3fr 1fr; }
}
