/* ============================================================
   Saloni & Praful — RSVP section (after the photo gallery)
   Submit opens WhatsApp with the response pre-filled.
   ============================================================ */
.rsvp{
  position:relative; z-index:45; width:100%; min-height:100dvh;
  padding:clamp(2.6rem,8vh,5rem) 5vw calc(env(safe-area-inset-bottom,0px) + 2.6rem);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(120% 80% at 50% 0%, #fbf6ec 0%, #f2eadd 48%, #e6dcc9 100%);
  box-shadow:0 -22px 50px rgba(60,45,30,.2);
}
.rsvp::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg, transparent, var(--gold) 20%, #e7cf93 50%, var(--gold) 80%, transparent); opacity:.8;
}

.rsvp__head{ text-align:center; margin-bottom:clamp(1.2rem,3.5vh,2rem); max-width:34rem; }
.rsvp__eyebrow{ display:block; font-family:var(--sans); font-size:.66rem; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin-bottom:.35rem; }
.rsvp__title{ font-family:var(--script); font-weight:400; color:var(--wine); font-size:clamp(2.6rem,10vw,3.8rem); line-height:.92; }
.rsvp__intro{ display:block; font-family:var(--serif); font-size:1.02rem; line-height:1.5; color:var(--ink-2); margin-top:.6rem; }

.rsvp__card{
  width:min(92vw, 30rem); background:#fdfaf3;
  border:1px solid rgba(184,146,62,.35); border-radius:16px;
  padding:clamp(1.4rem,5vw,2.3rem);
  box-shadow:0 16px 40px rgba(70,50,30,.16), inset 0 0 0 1px rgba(255,255,255,.5);
}
.field{ margin-bottom:1.15rem; }
.field:last-of-type{ margin-bottom:0; }
.field > label,.field > .flabel{
  display:block; margin-bottom:.45rem;
  font-family:var(--sans); font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink);
}
.field .opt{ color:var(--ink-2); letter-spacing:.12em; }
.field input[type=text],.field input[type=number],.field textarea{
  width:100%; padding:.72rem .85rem; border:1px solid #d9cdb5; border-radius:9px;
  background:#fff; font-family:var(--serif); font-size:1rem; color:var(--ink); -webkit-appearance:none;
}
.field textarea{ resize:vertical; min-height:3.2rem; }
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 2px rgba(184,146,62,.25); }

.choices{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.choice{ position:relative; }
.choice input{ position:absolute; inset:0; opacity:0; cursor:pointer; margin:0; }
.choice span{
  display:block; text-align:center; padding:.75rem .5rem; border:1px solid #d9cdb5; border-radius:10px;
  background:#fff; font-family:var(--sans); font-size:.76rem; letter-spacing:.03em; color:var(--ink); transition:all .2s ease;
}
.choice input:checked + span{ background:var(--wine); color:#fff; border-color:var(--wine); box-shadow:0 4px 12px rgba(154,42,53,.25); }
.choice input:focus-visible + span{ outline:2px solid var(--gold); outline-offset:2px; }

.rsvp__err{ margin:.5rem 0 0; font-family:var(--sans); font-size:.68rem; letter-spacing:.04em; color:var(--wine); }

.rsvp__submit{
  margin-top:1.5rem; width:100%; padding:.95rem 1rem; border-radius:999px;
  background:var(--wine); color:#fff; font-family:var(--sans); font-size:.72rem; letter-spacing:.26em; text-transform:uppercase;
  box-shadow:0 6px 18px rgba(154,42,53,.32); transition:transform .18s ease, box-shadow .2s ease;
}
.rsvp__submit:hover{ transform:translateY(-1px); box-shadow:0 9px 22px rgba(154,42,53,.4); }
.rsvp__wa{ display:block; margin-top:.75rem; text-align:center; font-family:var(--sans); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }

/* thank-you state */
.rsvp__thanks{ width:min(92vw,30rem); text-align:center; padding:2rem 1rem; }
.rsvp__thanks .ty-mark{ width:3.4rem; height:3.4rem; margin:0 auto 1rem; display:grid; place-items:center; border-radius:50%; background:var(--wine); color:#fff; }
.rsvp__thanks .ty-mark svg{ width:1.7rem; height:1.7rem; }
.rsvp__thanks .ty-title{ font-family:var(--script); font-size:clamp(2.4rem,11vw,3.2rem); color:var(--wine); line-height:.95; }
.rsvp__thanks .ty-text{ font-family:var(--serif); font-size:1.05rem; line-height:1.5; color:var(--ink-2); margin-top:.6rem; }

/* footer links */
.rsvp__up{
  margin-top:clamp(1.3rem,3.5vh,2rem); display:inline-flex; align-items:center; gap:.45rem;
  font-family:var(--sans); font-size:.62rem; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-2);
}
.rsvp__up svg{ width:.9rem; height:.9rem; }

/* "RSVP ↓" cue at the bottom of the gallery */
.album__next{
  margin-top:.9rem; display:inline-flex; align-items:center; gap:.4rem;
  font-family:var(--sans); font-size:.62rem; letter-spacing:.26em; text-transform:uppercase; color:var(--wine);
}
.album__next svg{ width:.95rem; height:.95rem; animation:sd-bob 2.2s ease-in-out infinite; }
