
/* =========================================================
   FORM LABEL
   Label styling for form elements
========================================================= */

.form-label {
  display: block;

  margin-bottom: var(--space-sm);

  color: var(--dark);

  font-size: var(--label-size);

  font-weight: var(--weight-semibold);
}

/* =========================================================
   FORM INPUT
========================================================= */

.form-input {
  width: 100%;

  padding:
    var(--space-md)
    var(--space-lg);

  border: var(--border-dark);

  border-radius: var(--radius-md);

  background: var(--white);

  color: var(--text-primary);

  font-size: var(--text-md);

  font-family: var(--font-family);

  transition:
    border-color var(--transition-fast),
    box-shadow var(--transition-fast),
    background var(--transition-fast);
}

/* =========================================================
   FORM INPUT CODE
   Compact input variation for code fields
========================================================= */

.form-input--code {
  max-width: var(--input-width-sm);
}

/* =========================================================
   FORM PLACEHOLDER
========================================================= */

.form-input::placeholder {
  color: rgba(15,17,58,0.32);
}

/* =========================================================
   FORM INTERACTIONS
========================================================= */

.form-input:focus {
  outline: none;

  background: var(--white);

  border-color: var(--gold);

  box-shadow: var(--shadow-soft);
}

/* =========================================================
   FORM TEXTAREA
========================================================= */

.form-textarea {
  min-height: 240px;

  resize: vertical;
}

/* =========================================================
   RADIO COMPONENTS
========================================================= */

.radio-list {
  display: grid;

  gap: var(--space-lg);
}

.radio-option {
  display: flex;

  align-items: center;

  gap: var(--space-sm);

  color: var(--muted);

  font-size: var(--text-md);

  font-weight: var(--weight-regular);
}