.form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}
.form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form__field--full { grid-column: 1 / -1; }

.form__label {
  font: 500 14px/1.3 var(--font-sans);
  color: var(--color-text-subtle);
}

.form__input,
.form__textarea {
  width: 100%;
  padding: 14px 20px;
  font: 400 16px/1.35 var(--font-sans);
  color: var(--color-text);
  background: linear-gradient(174deg, #16161d 0%, var(--color-bg) 100%);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.form__input::placeholder,
.form__textarea::placeholder {
  color: var(--color-text);
  opacity: 0.85;
}

.form__textarea {
  resize: vertical;
  min-height: 180px;
}

.form__input:focus,
.form__textarea:focus {
  outline: none;
  border-color: var(--color-brand);
  box-shadow: 0 0 0 2px rgba(92, 69, 255, 0.25);
}

.form__field[data-error="true"] .form__input,
.form__field[data-error="true"] .form__textarea {
  border-color: #ff5a5a;
}
.form__error {
  font: 400 13px/1.3 var(--font-sans);
  color: #ff8a8a;
  min-height: 1em;
}

.form__submit-row {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-3);
}

.form__success {
  grid-column: 1 / -1;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: rgba(92, 69, 255, 0.12);
  border: 1px solid rgba(92, 69, 255, 0.4);
  color: var(--color-text);
}

@media (max-width: 767px) {
  .form { grid-template-columns: 1fr; }
}
