/* rsvp: an ivory card over the late pool. Tokens only. */
@layer sections{
[data-section="rsvp"].rsvp-on{justify-content:center;align-items:center}
[data-section="rsvp"] .rsvp-wrap{width:100%;max-width:var(--col-max);margin-inline:auto;display:flex;flex-direction:column;gap:var(--sp-3)}

/* recap over the paint, on a halo breath */
[data-section="rsvp"] .rsvp-recap{text-align:center;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);
  background:radial-gradient(closest-side,rgba(246,239,230,.95),rgba(246,239,230,.82) 65%,rgba(246,239,230,0))}
[data-section="rsvp"] .rsvp-recap-line{margin:0;font-family:var(--font-label);font-weight:600;font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--c-forest);text-wrap:balance}
[data-section="rsvp"]:lang(ar) .rsvp-recap-line{text-transform:none;font-size:15px}
[data-section="rsvp"] .rsvp-nw{white-space:nowrap}
[data-section="rsvp"] .rsvp-recap-venue{display:block;margin-top:2px}
[data-section="rsvp"] .rsvp-recap-links{display:flex;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-1)}
[data-section="rsvp"] .rsvp-mini{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--sp-3);border:0;background:none;
  color:var(--c-ink);font:inherit;font-size:var(--fs-small);text-decoration:underline;text-decoration-color:var(--c-silver-500);text-underline-offset:4px;cursor:pointer}
[data-section="rsvp"] .rsvp-mini .ico{width:18px;height:18px;color:var(--c-sage-600)}
[data-section="rsvp"] .rsvp-cal{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2)}
[data-section="rsvp"] .rsvp-cal[hidden]{display:none}

/* the card */
[data-section="rsvp"] .rsvp-card{position:relative;background:rgba(255,253,249,.95);border-radius:var(--r-card);box-shadow:var(--sh-card);
  padding:var(--sp-6) var(--sp-5) var(--sp-5);border:var(--hairline-in);overflow:hidden}
[data-section="rsvp"] .rsvp-card::before{content:"";position:absolute;inset:6px;border-radius:calc(var(--r-card) - 6px);border:var(--hairline-in);pointer-events:none}
[data-section="rsvp"] .rsvp-title{margin:0;text-align:center;font-family:var(--font-display);font-weight:500;font-size:var(--fs-display);line-height:1.15;color:var(--c-forest)}
[data-section="rsvp"] .rsvp-sub{margin:var(--sp-1) 0 var(--sp-5);text-align:center;font-style:italic;font-size:var(--fs-lead);color:var(--c-ink-2)}
[data-section="rsvp"]:lang(ar) .rsvp-sub{font-style:normal}
[data-section="rsvp"] .rsvp-form{display:flex;flex-direction:column;gap:var(--sp-4)}
[data-section="rsvp"] .rsvp-form[hidden],[data-section="rsvp"] .rsvp-back[hidden],[data-section="rsvp"] [hidden]{display:none}

/* choice cards */
[data-section="rsvp"] .rsvp-choice{border:0;margin:0;padding:0;display:grid;gap:var(--sp-2)}
[data-section="rsvp"] .rsvp-legend{padding:0;margin-bottom:var(--sp-2);font-family:var(--font-label);font-weight:600;font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--c-ink-2)}
[data-section="rsvp"]:lang(ar) .rsvp-legend{text-transform:none}
[data-section="rsvp"] .rsvp-opt{position:relative;display:flex;align-items:center;gap:var(--sp-3);min-height:60px;padding:var(--sp-2) var(--sp-4);
  border-radius:var(--r-field);background:var(--c-ivory);border:1px solid var(--c-paper-line);cursor:pointer;
  transition:background-color var(--dur-micro) var(--ease-out-soft),border-color var(--dur-micro) var(--ease-out-soft),transform var(--dur-press) var(--ease-out-soft)}
[data-section="rsvp"] .rsvp-opt:active{transform:scale(.97)}
[data-section="rsvp"] .rsvp-radio{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
[data-section="rsvp"] .rsvp-opt-ico{flex:none;width:46px;height:36px;display:grid;place-items:center}
[data-section="rsvp"] .rsvp-opt-lotus{width:46px;height:36px}
[data-section="rsvp"] .rsvp-opt-txt{font-size:var(--fs-body);color:var(--c-ink);font-weight:500}
[data-section="rsvp"] .rsvp-opt::after{content:"";position:absolute;inset-inline-end:var(--sp-4);width:20px;height:20px;border-radius:50%;border:1px solid var(--c-sage-600);background:var(--c-ivory)}
[data-section="rsvp"] .rsvp-opt:has(.rsvp-radio:checked){background:var(--c-blush-200);border-color:var(--c-silver-500);box-shadow:0 0 0 1px var(--c-silver-200) inset,0 8px 22px -12px rgba(176,100,124,.55)}
[data-section="rsvp"] .rsvp-opt:has(.rsvp-radio:checked) .rsvp-opt-txt{color:var(--c-rose-800)}
[data-section="rsvp"] .rsvp-opt:has(.rsvp-radio:checked)::after{border-color:var(--c-rose-800);background:radial-gradient(circle,var(--c-rose-800) 0 5px,var(--c-ivory) 6px)}
[data-section="rsvp"] .rsvp-opt:has(.rsvp-radio:focus-visible){outline:3px solid var(--c-forest);outline-offset:3px}
[data-section="rsvp"] .rsvp-opt--no .rsvp-opt-lotus{opacity:.85}

/* fields */
[data-section="rsvp"] .rsvp-field{display:flex;flex-direction:column;gap:6px}
[data-section="rsvp"] .rsvp-label{font-size:var(--fs-small);color:var(--c-ink-2);font-weight:500}
[data-section="rsvp"] .rsvp-input{width:100%;box-sizing:border-box;min-height:52px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-field);
  border:1px solid var(--c-sage-600);background:var(--c-ivory);color:var(--c-ink);font:inherit;font-size:var(--fs-input);line-height:1.4;
  -webkit-appearance:none;appearance:none;transition:border-color var(--dur-micro) var(--ease-out-soft),box-shadow var(--dur-micro) var(--ease-out-soft)}
[data-section="rsvp"] .rsvp-input:focus{outline:none;border-color:var(--c-forest);box-shadow:0 0 0 3px var(--c-sage-200)}
[data-section="rsvp"] .rsvp-input[aria-invalid="true"],[data-section="rsvp"] .rsvp-choice[aria-invalid="true"] .rsvp-opt{border-color:var(--c-rose-800)}
[data-section="rsvp"] .rsvp-wish{min-height:96px;resize:vertical}
[data-section="rsvp"] .rsvp-field-foot{display:flex;justify-content:space-between;gap:var(--sp-2);align-items:flex-start}
[data-section="rsvp"] .rsvp-count{margin-inline-start:auto;font-size:13px;color:var(--c-ink-2);font-variant-numeric:lining-nums tabular-nums}
[data-section="rsvp"] .rsvp-err{margin:0;font-size:var(--fs-small);color:var(--c-rose-800);font-weight:500}
[data-section="rsvp"] .rsvp-alert{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-field);background:var(--c-blush-100);color:var(--c-rose-800);font-size:var(--fs-small);line-height:1.45}
[data-section="rsvp"] .rsvp-adults{margin:calc(var(--sp-2) * -1) 0 0;font-size:var(--fs-small);font-style:italic;color:var(--c-ink-2);text-align:center}
[data-section="rsvp"]:lang(ar) .rsvp-adults{font-style:normal}

/* the painted water sliver + the guest's lotus */
/* a pool of light, not a strip: the painted water fades out on every side */
[data-section="rsvp"] .rsvp-water{position:relative;height:80px;margin:0 var(--sp-2);overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse 62% 72% at 50% 58%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 62% 72% at 50% 58%,#000 50%,transparent 100%)}
[data-section="rsvp"] .rsvp-water-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
[data-section="rsvp"] .rsvp-guest{position:absolute;left:50%;top:10px;width:72px;height:54px;margin-left:-36px;will-change:transform}
[data-section="rsvp"] .rsvp-guest-lotus{width:72px;height:54px;overflow:visible}
[data-section="rsvp"] .rsvp-flame{transform-box:fill-box;transform-origin:50% 90%;transform:scale(.6);transition:opacity var(--dur-text) var(--ease-out-soft)}
/* the guest's initial, painted in champagne-silver on the lotus's front petal (no chip) */
[data-section="rsvp"] .rsvp-initial{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);pointer-events:none;
  font-family:'Cormorant Garamond','Amiri',serif;font-style:italic;font-weight:700;font-size:12px;line-height:1;color:var(--c-silver-ink);
  text-shadow:0 0 2px rgba(255,248,232,.95),0 .5px 0 rgba(255,255,255,.85)}
[data-section="rsvp"] .rsvp-initial:empty{display:none}
[data-section="rsvp"]:lang(ar) .rsvp-initial{font-style:normal;font-family:'Amiri',serif;font-size:12px;top:45%}
[data-section="rsvp"] .rsvp-water.is-dim .rsvp-guest{opacity:.7}

/* preview */
[data-section="rsvp"] .rsvp-preview{border-radius:var(--r-field);border:var(--hairline-in);background:var(--c-sage-50)}
[data-section="rsvp"] .rsvp-summary-btn{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--sp-4);cursor:pointer;color:var(--c-forest);font-size:var(--fs-small);font-weight:600}
[data-section="rsvp"] .rsvp-summary-btn::-webkit-details-marker{display:none}
[data-section="rsvp"] .rsvp-chev{width:20px;height:20px;transition:transform var(--dur-micro) var(--ease-out-soft)}
[data-section="rsvp"] .rsvp-preview[open] .rsvp-chev{transform:rotate(180deg)}
[data-section="rsvp"] .rsvp-msg{margin:0 var(--sp-4);padding:var(--sp-3);border-radius:10px;background:var(--c-ivory);white-space:pre-wrap;word-break:break-word;font:inherit;font-size:var(--fs-small);line-height:1.55;color:var(--c-ink)}
[data-section="rsvp"] .rsvp-copy{margin:var(--sp-3) var(--sp-4) var(--sp-4)}

/* send */
[data-section="rsvp"] .rsvp-send-row{display:flex}
[data-section="rsvp"] .rsvp-send{flex:1;min-height:56px;font-size:var(--fs-btn);border-radius:var(--r-btn);text-decoration:none}
[data-section="rsvp"] .rsvp-send .ico{width:22px;height:22px}
[data-section="rsvp"] .rsvp-or-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-2)}
[data-section="rsvp"] .rsvp-or{margin:0;font-size:var(--fs-small);color:var(--c-ink-2)}
[data-section="rsvp"] .rsvp-or bdi{color:var(--c-ink);font-variant-numeric:lining-nums;white-space:nowrap}
[data-section="rsvp"] .rsvp-copy-num{min-height:44px}

/* the return state */
[data-section="rsvp"] .rsvp-back{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);text-align:center;padding:var(--sp-4) 0 var(--sp-2)}
[data-section="rsvp"] .rsvp-back-lotus{width:96px;height:72px}
[data-section="rsvp"] .rsvp-back-lotus.is-unlit .rsvp-flame{opacity:0}
[data-section="rsvp"] .rsvp-back-msg{margin:0;font-family:var(--font-display);font-size:clamp(22px,6vw,26px);line-height:1.35;color:var(--c-forest);outline:none;text-wrap:balance}
[data-section="rsvp"] .rsvp-back-light{margin:calc(var(--sp-2) * -1) 0 0;font-style:italic;font-size:var(--fs-small);color:var(--c-ink-2)}
[data-section="rsvp"]:lang(ar) .rsvp-back-light{font-style:normal}
[data-section="rsvp"] .rsvp-wrap[data-back] .rsvp-title{margin-bottom:var(--sp-2)}
/* the quiet way back to WhatsApp under the thank-you */
[data-section="rsvp"] .rsvp-resend{display:inline-flex;align-items:center;min-height:44px;margin:calc(var(--sp-3) * -1) 0 calc(var(--sp-1) * -1);padding:0 var(--sp-2);
  font-size:var(--fs-small);color:var(--c-ink-2);text-decoration:underline;text-decoration-color:var(--c-silver-500);text-decoration-thickness:1px;text-underline-offset:4px}
[data-section="rsvp"]:lang(ar) .rsvp-resend{text-underline-offset:.5em}
[data-section="rsvp"]:lang(ar) .rsvp-recap :is(a,.rsvp-mini){text-underline-offset:.5em;text-decoration-thickness:1px;text-decoration-skip-ink:auto}

@media (hover:hover) and (pointer:fine){
  [data-section="rsvp"] .rsvp-opt:hover{border-color:var(--c-silver-500)}
  [data-section="rsvp"] .rsvp-mini:hover{color:var(--c-forest)}
}

/* the reply is always at night: the recap reads in ivory on a soft deep-teal scrim, static (never keyed
   to html[data-tod], never transitioned) */
[data-section="rsvp"] .rsvp-recap{background:radial-gradient(farthest-side,rgba(16,42,48,.5),rgba(16,42,48,.3) 60%,rgba(16,42,48,0))}
[data-section="rsvp"] .rsvp-recap-line{color:var(--c-ivory);text-shadow:0 1px 14px rgba(16,42,48,.6)}
[data-section="rsvp"] .rsvp-mini{color:var(--c-ivory);text-decoration-color:rgba(233,237,240,.6);text-shadow:0 1px 10px rgba(16,42,48,.6)}
[data-section="rsvp"] .rsvp-mini .ico{color:var(--c-sage-200)}
}

/* the thank-you: sentences never split; the lotus wears the guest's initial in silver on its front petal */
[data-section="rsvp"] .rsvp-back-msg .rsvp-sent{display:inline-block}
[data-section="rsvp"] .rsvp-back-guest{position:relative;width:96px;height:72px}
[data-section="rsvp"] .rsvp-back-guest .rsvp-back-lotus{display:block}
[data-section="rsvp"] .rsvp-back-ini{font-size:17px;top:71%;color:var(--c-silver-ink)}
[data-section="rsvp"]:lang(ar) .rsvp-back-ini{font-size:17px;top:69%}
