/*
 * Label Component
 * Form labels and descriptive text
 */

.label {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--theme-text-primary);
  margin-bottom: 0.375rem;
  font-family: var(--font-family-sans);
}

.label-required::after {
  content: " *";
  color: var(--color-error);
}

.label-optional::after {
  content: " (optional)";
  font-weight: 400;
  color: var(--theme-text-secondary);
  font-size: 0.75rem;
}

.label-small {
  font-size: 0.75rem;
}

.label-large {
  font-size: 1rem;
}

/* Helper Text */
.helper-text {
  display: block;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--theme-text-secondary);
  margin-top: 0.25rem;
  font-family: var(--font-family-sans);
}

.helper-text-error {
  color: var(--color-error);
}

.helper-text-success {
  color: var(--color-success);
}

.helper-text-warning {
  color: var(--color-warning);
}