/**
 * Form Components
 */

.c-form {
  /* Form wrapper */
}

.c-form__group {
  margin-bottom: var(--space-lg);
}

.c-form__label {
  display: block;
  margin-bottom: var(--space-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wide);
}

.c-form__input,
.c-form__textarea,
.c-form__select {
  width: 100%;
  padding: var(--input-padding);
  font-family: var(--font-mono);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  border: var(--input-border-width) solid var(--color-border);
  border-radius: var(--input-border-radius);
  transition: all var(--transition-fast);
}

.c-form__input:focus,
.c-form__textarea:focus,
.c-form__select:focus {
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 2px rgba(255, 255, 0, 0.2);
}

.c-form__input--error,
.c-form__textarea--error,
.c-form__select--error {
  border-color: var(--color-danger);
}

.c-form__error {
  display: block;
  margin-top: var(--space-sm);
  color: var(--color-danger);
  font-size: var(--font-size-sm);
}

.c-form__help {
  display: block;
  margin-top: var(--space-sm);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

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

.c-form__checkbox,
.c-form__radio {
  margin-right: var(--space-sm);
  cursor: pointer;
}
