/* ==========================================================================
   Component: Copy Field (locked Pattern 8)
   Smart-default-placeholder text/textarea field used by every type-specific
   editor (Card Title, Card Description, error_text, voting label, sharing
   text, etc.). Italic placeholder communicates "smart default; type to
   override." Promoted verbatim from the Pattern 21 q-and-a-finals locked
   mockup.

     • .copy-field            — vertical stack: label + input
     • .copy-field__label     — small uppercase label
     • .copy-field__input     — input/textarea body
     • .copy-field--textarea  — textarea modifier (resize, min-height)
     • .copy-fields           — vertical stack of multiple .copy-field rows
   ========================================================================== */

.copy-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.copy-field__label {
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  color: var(--text-secondary);
}

.copy-field__input {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  border-radius: var(--radius-md);
  font-family: inherit;
  font-size: var(--text-sm);
  color: var(--text-primary);
}

.copy-field__input:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px var(--accent-subtle);
}

.copy-field__input::placeholder {
  color: var(--text-tertiary);
  font-style: italic;
}

.copy-field--textarea .copy-field__input {
  min-height: 64px;
  resize: vertical;
  font-family: inherit;
}

/* No padding-top — spacing above .copy-fields is owned by the parent
   section's gap (var(--space-3)). Adding padding here would double-up
   the heading-to-content gap relative to other section primitives and
   make Pattern 22 icon-section-heading spacing inconsistent. */
.copy-fields {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
