fieldset {
  min-width: 0;
  padding: 0;
  border: 0;
}

label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  font-weight: 600;
}

:is(input, select, textarea) {
  width: 100%;
  min-height: 2.75rem;
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  padding: 0.65rem 0.75rem;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);

  &:focus {
    border-color: var(--color-brand-primary);
    outline: 0;
    box-shadow: var(--focus-ring);
  }
}

input {
  &[type="checkbox"],
  &[type="radio"] {
    width: 1rem;
    min-height: auto;
    accent-color: var(--color-brand-primary);
  }
}

textarea {
  min-height: 8rem;
  resize: vertical;

  &::placeholder {
    color: var(--color-text-subtle);
  }
}

input::placeholder {
  color: var(--color-text-subtle);
}
