/* ============================================
   Typography

   Prompt headings, subtext, entity counters,
   and empty state text styles.
   ============================================ */

/* Responsive prompt — Work Sans Bold, left-aligned */
.input-prompt {
  margin: 0 0 var(--spacing-sm) 0;
  min-height: 1em;
  width: 100%;
  font-family: var(--theme-font-display, var(--font-family));
  font-size: var(--font-size-xl);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--color-text);
  padding: 0;
}

@media (min-width: 768px) {
  .input-prompt {
    font-size: var(--font-size-2xl);
  }
}

@media (min-width: 1024px) {
  .input-prompt {
    font-size: var(--font-size-3xl);
    letter-spacing: -0.02em;
  }
}

/* Responsive subtext — Work Sans Regular, left-aligned.
   align-self: flex-start overrides the parent's align-items: center
   so subtext stays left even when narrower than container (max-width). */
.input-subtext {
  margin: 0;
  min-height: 1em;
  align-self: flex-start;
  font-family: var(--theme-font-display, var(--font-family));
  font-size: var(--font-size-sm);
  font-weight: 400;
  color: var(--color-text-muted);
  padding: 0;
  max-width: 500px;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .input-subtext {
    font-size: var(--font-size-base);
    max-width: 600px;
  }
}

@media (min-width: 1024px) {
  .input-subtext {
    font-size: var(--font-size-lg);
    max-width: 700px;
  }
}

.input-entity-counter {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: 500;
  color: var(--color-text-muted);
}

/* ============================================
   Empty state for when no options are available
   ============================================ */
.input-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-lg);
  padding: var(--spacing-xl);
  text-align: center;
  color: var(--color-text-muted);
}

.input-empty-state p {
  margin: 0;
  font-size: var(--font-size-base);
}
