/* ==========================================================================
   Componente: Formulários
   ========================================================================== */

.form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: var(--space-3);
}

.form-label {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-text);
}

.form-label .required {
  color: var(--color-secondary);
}

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1.5px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  font-size: var(--fs-base);
  color: var(--color-text);
}

.form-textarea {
  min-height: 140px;
  resize: vertical;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--color-primary);
}

.form-hint {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}

.form-error {
  font-size: var(--fs-sm);
  color: var(--color-red-700);
  font-weight: 600;
}

.form-grid {
  display: grid;
  gap: var(--space-2) var(--space-3);
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .form-grid--2 {
    grid-template-columns: 1fr 1fr;
  }
}

/* Honeypot antispam — escondido visualmente, mas acessível a bots */
.form-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-status {
  margin-top: var(--space-2);
}
