/* ── Forms Common: shared form styles for register, contact ── */

/* ── Form Header ── */
.form-header { margin-bottom: 1.75rem; }
.form-title {
  font-family: var(--serif); font-size: calc(1.4rem * var(--ts));
  font-weight: 400; margin-bottom: .25rem;
}
.form-sub { font-size: calc(.85rem * var(--ts)); color: var(--muted); font-weight: 300; }

/* ── Form Grid ── */
.form-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 0 1.25rem;
}
.form-grid .full { grid-column: 1 / -1; }

/* ── Fields ── */
.field { margin-bottom: .85rem; }
.field label {
  display: block; font-size: .72rem; font-weight: 600;
  letter-spacing: .05em; text-transform: uppercase;
  color: var(--muted); margin-bottom: .35rem;
}
.field input, .field select, .field textarea, .field .input-wrap input {
  width: 100%; padding: .6rem .8rem;
  border: 1px solid var(--border); border-radius: var(--radius);
  font-family: var(--font); font-size: .88rem;
  color: var(--ink); background: var(--card);
  outline: none; transition: border-color .18s;
}
.field input:focus, .field select:focus, .field textarea:focus, .field .input-wrap input:focus {
  border-color: var(--ink); background: #fff;
}
.field select { cursor: pointer; }
.field textarea { resize: vertical; min-height: 120px; line-height: 1.6; }

/* ── Submit ── */
.submit-row { grid-column: 1 / -1; margin-top: .75rem; }
.btn-submit {
  width: 100%; padding: .85rem;
  background: var(--accent); color: #fff;
  border: none; border-radius: var(--radius);
  font-family: var(--font); font-size: .9rem; font-weight: 600;
  cursor: pointer; transition: background .18s;
  letter-spacing: .01em;
}
.btn-submit:hover { background: #962b18; }
.btn-submit:disabled { opacity: .5; cursor: default; }

/* ── Toast (dark pill) ── */
.toast {
  position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%) translateY(64px);
  background: var(--ink); color: #fff; padding: .65rem 1.25rem;
  border-radius: 999px; font-size: .82rem; font-weight: 500;
  transition: transform .28s ease; white-space: nowrap; z-index: 999;
  pointer-events: none;
}
.toast.show { transform: translateX(-50%) translateY(0); }
.toast.success { background: #1e6f3e; }
.toast.error   { background: var(--accent); }
