/* Компонент: форма (.form-*) */

.form-field { margin-bottom: var(--space-5); }

.form-label {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-text-muted);
  margin-bottom: .4rem;
}

.form-input,
.form-textarea,
.form-select {
  width: 100%;
  background: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: .65rem .8rem;
  font-family: var(--font-body);
  font-size: var(--text-base);
  transition: var(--transition-theme), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.form-textarea { resize: vertical; min-height: 5rem; }

.form-input::placeholder,
.form-textarea::placeholder { color: var(--color-text-muted); }

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 25%, transparent);
}

.form-hint {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: .35rem;
}

/* състояние: грешка при валидация */
.form-field.has-error .form-input,
.form-field.has-error .form-textarea,
.form-field.has-error .form-select {
  border-color: var(--color-danger);
}
.form-field.has-error .form-hint { color: var(--color-danger); }

/* състояние: деактивирано */
.form-input:disabled,
.form-textarea:disabled,
.form-select:disabled {
  opacity: .5;
  cursor: not-allowed;
}

/* чекбокс / радио */
.form-check {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-text);
}
.form-check input[type="checkbox"],
.form-check input[type="radio"] {
  accent-color: var(--color-accent);
  width: 1.1em;
  height: 1.1em;
}
