.rsvp-boda-wrap { display:flex; justify-content:center; padding: 18px 12px; }
.rsvp-card{
  width: 100%;
  max-width: 520px;
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 0px;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.rsvp-title{ margin: 10px 0 6px; font-size: 22px; }
.rsvp-subtitle{ margin:0 0 12px; color:#444; }
.rsvp-label{ display:block; font-weight:600; margin: 12px 0 6px; }
.rsvp-input{
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 10px;
  outline: none;
  background: #fff;
}
.rsvp-input:focus{ border-color:#bdbdbd; }
.rsvp-radio-row{ display:flex; gap:12px; }
.rsvp-radio{ display:flex; align-items:center; gap:8px; border:1px solid #eee; padding:10px 12px; border-radius:12px; cursor:pointer; }
.rsvp-btn{
  width:100%;
  margin-top: 14px;
  padding: 12px 14px;
  border: none;
  border-radius: 0px;
  cursor:pointer;
  font-weight:700;
  color:#fff;
  transition: transform .06s ease, opacity .2s ease;
}
.rsvp-btn:active{ transform: scale(.99); }
.rsvp-note{ margin-top: 10px; font-size: 12px; color:#666; }

.rsvp-images{ display:flex; gap:12px; justify-content:center; margin-bottom: 10px; flex-wrap:wrap; }
.rsvp-img-box{ width: 150px; text-align:center; }
.rsvp-img-box img{ width:150px; height:150px; object-fit:cover; border-radius: 16px; border: 1px solid #eee; }
.rsvp-img-label{ font-size: 12px; color:#555; margin-top: 6px; }

.rsvp-companeros{ margin-top: 10px; }
.rsvp-small{ font-size: 12px; color:#666; margin-bottom: 8px; }
.rsvp-comp-item{ display:flex; gap:8px; margin-bottom: 8px; }
.rsvp-comp-item input{ flex:1; }