.rsvpelan-wrap{max-width:720px;margin:20px auto;padding:20px;background:#111;color:#f0f0f0;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.rsvpelan-title{margin:0 0 10px 0;font-size:1.25rem;font-weight:700}
.rsvpelan-form .field{margin-bottom:14px}
.rsvpelan-form label{display:block;margin-bottom:6px;font-weight:600}
.rsvpelan-form input[type="text"], .rsvpelan-form select, .rsvpelan-form textarea{
  width:100%;padding:10px 12px;border-radius:10px;border:1px solid #2a2a2a;background:#1a1a1a;color:#fff;outline:none
}
.rsvpelan-form .btn-submit{background:#e50914;color:#fff;border:none;border-radius:12px;padding:10px 16px;cursor:pointer;font-weight:700;transition:transform .15s ease}
.rsvpelan-form .btn-submit:hover{transform:scale(1.02)}
.rsvpelan-msg{margin-top:8px;font-size:.95rem}
.rsvpelan-msg.ok{color:#6ee7b7}
.rsvpelan-msg.err{color:#fca5a5}
.rsvp-list{margin-top:18px}
.ucapan-item{background:#0f0f0f;border:1px solid #222;padding:14px 16px;border-radius:14px;margin-bottom:14px;animation:fadeIn .25s ease}
.ucapan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ucapan-item h4{margin:0;font-size:1.05rem}
.badge{background:#1f2937;color:#fff;border:1px solid #334155;padding:2px 8px;border-radius:999px;font-size:.8rem}
.pesan{margin:8px 0 6px 0;font-style:italic;opacity:.95}
.time{font-size:.8rem;color:#9ca3af}
.rsvpelan-pagination{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px}
.rsvpelan-pagination button{background:#1f2937;color:#fff;border:1px solid #334155;border-radius:10px;padding:6px 10px;cursor:pointer}
.rsvpelan-pagination button[disabled]{opacity:.5;cursor:not-allowed}
.rsvpelan-pageinfo{font-size:.9rem;opacity:.9}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
