/*
 * section-contact-form/style.css
 * ────────────────────────────────
 * Kontaktformular-Styles.
 * Erfordert: core-theme/style.css, core-layout/style.css
 */

/* ── Form layout ── */
.contact-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; }
.stack-form  { display: grid; gap: 18px; }
.form-row    { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.form-field  { display: grid; gap: 6px; }
.form-field label { font-size: 0.875rem; font-weight: 600; color: var(--forest); }
.form-note   { font-size: 0.8rem; font-weight: 400; color: var(--muted); }

/* ── Inputs ── */
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%; min-height: 48px; padding: 12px 16px;
  background: var(--fern); border: 1.5px solid transparent; border-radius: var(--radius-md);
  color: var(--forest); font: inherit; font-size: 0.9375rem;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s; outline: none;
}
.form-field input:focus,
.form-field textarea:focus {
  border-color: var(--meadow); background: white; box-shadow: 0 0 0 4px rgba(46,125,72,0.1);
}
.form-field textarea { min-height: 130px; resize: vertical; }

/* ── Consent ── */
.form-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 0.875rem; color: var(--muted); line-height: 1.55; }
.form-consent input[type="checkbox"] { width: 18px; height: 18px; min-height: 0; margin-top: 2px; flex-shrink: 0; accent-color: var(--meadow); }
.form-consent label { font-size: 0.875rem; line-height: 1.55; font-weight: normal; cursor: pointer; }
.form-consent a { color: var(--meadow); text-decoration: underline; }

/* ── Actions / Status ── */
.form-actions { display: flex; gap: 12px; }
.form-status  { min-height: 1.4em; font-size: 0.9rem; color: var(--muted); }
.form-status.is-success { color: var(--meadow); font-weight: 600; }
.form-status.is-error   { color: #c0392b; font-weight: 600; }

/* ── Responsive ── */
@media (max-width: 980px) { .form-row, .contact-grid { grid-template-columns: 1fr; } }
