/* ==========================================================
   CONFIRMAÇÃO DE PRESENÇA (RSVP) — combina com a paleta do site
   ========================================================== */
/* aviso "exclusivo para convidados" */
.rsvp__aviso{
  text-align:center;font-family:var(--sans);font-size:.82rem;font-weight:500;
  letter-spacing:.08em;color:var(--verde-folha);
  background:rgba(69,96,76,.08);border:1px solid rgba(168,135,79,.3);
  border-radius:99px;padding:.5rem 1.1rem;display:block;width:fit-content;margin:1.4rem auto 0;
}

.rsvp-form{
  max-width:520px;margin:1.6rem auto 0;text-align:left;
  display:flex;flex-direction:column;gap:1.3rem;
}
.rsvp-campo{display:flex;flex-direction:column}
.rsvp-campo label,.rsvp-label{
  font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--verde-folha);margin-bottom:.5rem;
}
.rsvp-form input[type=text]{
  font-family:var(--sans);font-size:1.05rem;color:var(--carvao);
  padding:.8rem .9rem;border:1px solid rgba(168,135,79,.45);background:#fff;
  border-radius:2px;transition:border-color .2s;
}
.rsvp-form input[type=text]:focus{outline:none;border-color:var(--dourado)}

/* toggle Sim / Não */
.rsvp-toggle{display:flex;gap:.7rem;flex-wrap:wrap}
.rsvp-toggle label{
  flex:1;min-width:150px;cursor:pointer;position:relative;
  display:flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.85rem 1rem;border:1px solid var(--verde-mata);background:#fff;
  font-size:.95rem;color:var(--verde-mata);text-transform:none;letter-spacing:0;font-weight:400;
  transition:background .2s,color .2s;margin:0;
}
.rsvp-toggle input{position:absolute;opacity:0;pointer-events:none}
.rsvp-toggle label:has(input:checked){background:var(--verde-mata);color:var(--marfim)}

/* acompanhantes */
.rsvp-acomp-linha{display:flex;gap:.5rem;margin-bottom:.55rem}
.rsvp-acomp-linha input{flex:1}
.rsvp-remover{
  flex:none;width:44px;border:1px solid rgba(168,135,79,.45);background:#fff;
  color:var(--rosa-ipe);font-size:1.3rem;line-height:1;cursor:pointer;border-radius:2px;
}
.rsvp-remover:hover{background:var(--rosa-ipe);color:#fff;border-color:var(--rosa-ipe)}
.rsvp-add{
  align-self:flex-start;background:none;border:1px dashed var(--dourado);color:var(--dourado);
  padding:.55rem 1rem;font-size:.82rem;font-weight:500;letter-spacing:.05em;cursor:pointer;
  border-radius:2px;transition:background .2s,color .2s;margin-top:.2rem;
}
.rsvp-add:hover{background:var(--dourado);color:var(--marfim)}

.rsvp-hint{font-size:.82rem;color:var(--verde-folha);margin-top:.3rem}
.rsvp-msg{text-align:center;font-size:.92rem;margin-top:.2rem;min-height:1.2em}
.rsvp-msg.erro{color:#a4322f}

#rsvp-enviar{margin-top:.3rem}
.oculto{display:none!important}

/* tela de sucesso */
.rsvp-sucesso{
  max-width:520px;margin:2.2rem auto 0;text-align:center;
  background:#fff;border:1px solid rgba(168,135,79,.3);border-top:3px solid var(--dourado);
  padding:2.4rem 1.6rem;
}
.rsvp-sucesso__icone{font-size:3rem;line-height:1}
.rsvp-sucesso h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;color:var(--verde-mata);margin:.6rem 0 .4rem}
.rsvp-sucesso p{font-family:var(--serif);font-size:1.12rem;color:var(--verde-folha)}
.rsvp-sucesso button{
  margin-top:1.2rem;background:none;border:none;color:var(--dourado);
  font-size:.82rem;letter-spacing:.05em;cursor:pointer;text-decoration:underline;
}
@media (prefers-reduced-motion:no-preference){
  .rsvp-sucesso{animation:rsvpPop .5s ease}
}
@keyframes rsvpPop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
