/* Check-in-Formular, Schnellstrecke (27.10.2026). Lädt erst mit dem Check-in nach (src/checkin-boot.js),
 * damit der Start-Payload klein bleibt. Nur Tokens aus styles.css; keine eigenen Farben. */

/* Schnellwahl als Chips: native Radios (Tastatur/Screenreader), das ganze Label ist das 44-px-Ziel. */
.choice { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 8px; }
.choice-legend { padding: 0; font-weight: 600; font-size: 14px; color: var(--text); }
.choice-row { display: flex; flex-wrap: wrap; gap: 8px; }
.choice-opt {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px 0 12px;
  border: 1px solid var(--line-stark); border-radius: 999px; background: var(--karte); color: var(--text);
  font-weight: 600; cursor: pointer; flex: 1 1 auto; min-width: 0;
  transition: border-color var(--zeit) var(--kurve), background var(--zeit) var(--kurve);
}
.choice-opt:hover { border-color: var(--accent); background: var(--accent-tint-2); }
.choice-input { width: 20px; height: 20px; margin: 0; accent-color: var(--accent); flex: none; }
.choice-input:focus-visible { box-shadow: var(--fokus); border-radius: 50%; }
.choice-opt:has(.choice-input:checked) { border-color: var(--accent); background: var(--accent-tint); }
.choice-opt:has([aria-invalid="true"]) { border-color: var(--fehler); }
@media (min-width: 480px) { .choice-opt { flex: 0 1 auto; } }

/* Erkanntes Geburtsdatum: neutrale Bestätigung statt Warnfarbe. */
.field-hint-info { color: var(--muted); background: var(--accent-tint-2); }

.nat-block, .address-fields { display: grid; gap: 14px; }
.field-compact select { max-width: 120px; }

/* „Gleiche Anschrift wie angegeben“ mit der Anschrift als zweite Zeile. */
.check-address label { display: grid; gap: 2px; }
.check-sub { font-weight: 400; font-size: 13.5px; color: var(--muted); }

@media (prefers-reduced-motion: reduce) {
  .choice-opt { transition: none; }
}
