.rsvp { background: var(--bg); padding-top: 32px; padding-bottom: 40px; }
.field { background: var(--surface); border: 0; border-radius: var(--radius-card); padding: 14px 16px; margin-bottom: 14px; font-size: 12px; min-width: 0; }
.field > label, .field > legend { display: block; padding: 0; margin-bottom: 8px; }
.field input[type=text], .field select, .field textarea {
  width: 100%; background: transparent; color: var(--text); font: inherit; font-size: 13px;
  border: 0; border-bottom: 1px solid var(--surface-line); padding: 6px 0;
}
.field select { border: 1px solid var(--surface-line); border-radius: 6px; padding: 8px; background: var(--bg); }
.field textarea { resize: vertical; }
.field ::placeholder { color: var(--muted); }
.choice { display: flex; align-items: center; gap: 8px; margin: 8px 0; }
.choice input[type=radio], .choice input[type=checkbox] { accent-color: var(--accent); width: 15px; height: 15px; }
.choice input[type=text] { flex: 1; }
.field__error { color: #f2a99b; display: block; margin-top: 4px; }
.rsvp form { display: flex; flex-direction: column; align-items: center; }
.rsvp .field { align-self: stretch; }
.rsvp__status { margin-top: 14px; font-size: 13px; text-align: center; }
.rsvp__status.is-error { color: #f2a99b; }
