.invitation-details .wi-rsvp-compact{padding:64px 24px;text-align:center}
.wi-rsvp-inner{max-width:580px;margin:auto}
.wi-rsvp-inner h2{margin:0 0 16px}
.invitation-details #rsvp-invitee{margin:0 0 12px;overflow-wrap:anywhere}
.invitation-details #rsvp-allocation{margin:0 0 26px}
.invitation-details .wi-rsvp-compact #rsvp-form{max-width:400px}
.wi-guest-counter{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px auto}
.wi-guest-counter button{flex:0 0 44px;width:44px;height:44px;border:1px solid #b8a572;border-radius:50%;background:transparent;color:#847044;font:24px Georgia,serif;cursor:pointer}
.wi-guest-counter button:disabled{opacity:.3;cursor:default}
.invitation-details .wi-rsvp-compact #rsvp-form #rsvp-count{width:80px;min-height:48px;padding:0;margin:0;border:0;border-bottom:1px solid #b8a57270;text-align:center;font:400 30px/1.4 Georgia,serif!important;color:#494a3e!important;appearance:textfield;-moz-appearance:textfield}
#rsvp-count::-webkit-inner-spin-button,#rsvp-count::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.wi-rsvp-decline{border:0;border-bottom:1px solid #b8a57270;padding:5px 0;background:transparent;color:#66624f;font:16px/1.4 Georgia,serif;cursor:pointer}
.invitation-details #rsvp-count-description{margin:14px 0 18px;font:14px/1.5 Georgia,serif!important;color:#64644f!important}
.invitation-details .wi-rsvp-compact .wi-rsvp-preview{font:12px/1.6 Arial,sans-serif!important;letter-spacing:0!important;color:#777467!important;max-width:430px;margin:22px auto 0}
#rsvp-confirmation{padding:20px 0}
#rsvp-confirmation[hidden],#rsvp-form[hidden]{display:none!important}
#rsvp-result:focus{outline:none}
.wi-rsvp-compact button:focus-visible,.wi-rsvp-compact input:focus-visible{outline:2px solid #a58a50;outline-offset:4px}
@media(max-width:600px){.invitation-details .wi-rsvp-compact{padding:45px 22px}}

#rsvp-count-fields[hidden]{display:none!important}
.invitation-details #rsvp-form .wi-rsvp-choices{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0}
.wi-rsvp-choices legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.wi-rsvp-choices label{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #b8a57270;cursor:pointer;font:16px/1.4 Georgia,serif;color:#565541}
.wi-rsvp-choices label:has(input:checked){border-color:#a58a50;background:#b8a57218}
.wi-rsvp-choices input{accent-color:#a58a50}
#rsvp-count-fields{margin-bottom:22px}

/* Match the other chapter headings, with a considered personal introduction. */
.invitation-details .wi-rsvp-compact{padding:78px 24px}
.wi-rsvp-inner{max-width:760px}
.wi-rsvp-heading .wi-section-icon{margin:0 auto 18px}
.wi-rsvp-heading .wi-small-rule{margin:22px auto 30px}
.invitation-details #rsvp-invitee{margin:0 auto 12px;max-width:720px}
.invitation-details .wi-rsvp-deadline{margin:0 auto 26px;max-width:680px}
.wi-rsvp-deadline time{color:var(--wi-gold);white-space:nowrap;font-weight:600}
.invitation-details #rsvp-allocation{padding:17px 22px;margin:0 auto 26px;max-width:500px;border-block:1px solid var(--wi-line);background:#b8a57208}
.invitation-details .wi-rsvp-compact #rsvp-form{max-width:520px}
.wi-rsvp-choices label{flex:1;justify-content:center;min-height:54px;font-size:18px;padding:14px 16px}
.invitation-details .wi-rsvp-compact .wi-button{min-width:300px;justify-content:center;min-height:54px}
@media(max-width:600px){.invitation-details .wi-rsvp-compact{padding:52px 22px}.wi-rsvp-choices label{font-size:16px;padding:12px 9px}.invitation-details .wi-rsvp-compact .wi-button{min-width:0;width:100%}.wi-rsvp-deadline br{display:none}}

/* Inset coloured stationery card; None leaves the original section untouched. */
.invitation-details #rsvp[data-rsvp-theme]{background:#fff;border:0;padding:70px 24px}
#rsvp[data-rsvp-theme] .wi-rsvp-inner{box-sizing:border-box;max-width:900px;padding:58px 58px;background:var(--rsvp-surface);color:var(--rsvp-ink);position:relative;isolation:isolate;box-shadow:0 12px 40px #4634190b}
@media(max-width:600px){.invitation-details #rsvp[data-rsvp-theme]{padding:36px 16px}#rsvp[data-rsvp-theme] .wi-rsvp-inner{padding:38px 20px}}
#rsvp[data-rsvp-theme] .wi-rsvp-inner::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.invitation-details #rsvp[data-rsvp-theme] :is(h2,p,label,legend,time,strong,#rsvp-count-description,#rsvp-result){color:var(--rsvp-ink)!important}
#rsvp[data-rsvp-theme] .wi-section-icon{stroke:var(--rsvp-ink);color:var(--rsvp-ink)}
#rsvp[data-rsvp-theme] .wi-small-rule,#rsvp[data-rsvp-theme] .wi-small-rule::after{background:var(--rsvp-ink);opacity:.55}
.invitation-details #rsvp[data-rsvp-theme] #rsvp-allocation{border-color:color-mix(in srgb,var(--rsvp-ink) 35%,transparent);background:color-mix(in srgb,var(--rsvp-ink) 5%,transparent)}
#rsvp[data-rsvp-theme] .wi-rsvp-choices label,#rsvp[data-rsvp-theme] .wi-guest-counter button{border-color:color-mix(in srgb,var(--rsvp-ink) 55%,transparent);color:var(--rsvp-ink)}
#rsvp[data-rsvp-theme] .wi-rsvp-choices label:has(input:checked){background:color-mix(in srgb,var(--rsvp-ink) 16%,transparent);border-color:var(--rsvp-ink)}
#rsvp[data-rsvp-theme] .wi-rsvp-choices input{accent-color:var(--rsvp-ink)}
.invitation-details #rsvp[data-rsvp-theme] #rsvp-form #rsvp-count{color:var(--rsvp-ink)!important;border-color:color-mix(in srgb,var(--rsvp-ink) 50%,transparent)}
.invitation-details #rsvp[data-rsvp-theme] .wi-button{background:var(--rsvp-ink);color:var(--rsvp-surface);border-color:var(--rsvp-ink)}
#rsvp[data-rsvp-theme] .wi-rsvp-decline{color:var(--rsvp-ink);border-color:var(--rsvp-ink)}
#rsvp[data-rsvp-theme] :focus-visible{outline-color:var(--rsvp-ink)}
.rsvp-theme-options{display:grid;gap:9px;margin:14px 0}
.rsvp-theme-options button{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #cbd0d2;border-radius:6px;background:white;color:#36434d;text-align:left;cursor:pointer;font:13px/1.4 system-ui,sans-serif}
.rsvp-theme-options button::before{content:"";width:26px;height:26px;flex:none;border-radius:50%;background:var(--swatch);border:1px solid #0001}
.rsvp-theme-options button[aria-pressed=true]{border-color:#897344;box-shadow:inset 0 0 0 1px #897344;background:#f7f3e9}

.rsvp-hex-label{display:block;margin:18px 0 7px;font:13px/1.4 system-ui,sans-serif;color:#36434d}
#rsvp-custom-hex{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #cbd0d2;border-radius:6px;background:#fff;color:#36434d;font:14px/1.4 monospace}
#rsvp-custom-hex:invalid{border-color:#a64f3c}

/* Soft corners for the response choices and confirmation action. */
.invitation-details #rsvp-form .wi-rsvp-choices label{border-radius:8px}
.invitation-details #rsvp-form .wi-button[type="submit"]{border-radius:15px}

/* Green/rose response cards with a tick only on the selected choice. */
.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label {
  --reply-ink:#008568; --reply-border:#a9c9ad; --reply-active:#60b68f; --reply-tint:#e7f2e9; --reply-badge:#009c76;
  position:relative; box-sizing:border-box; min-height:54px; padding:12px 32px;
  justify-content:center; text-align:center; border:1.5px solid var(--reply-border); border-radius:8px;
  background:#fff; color:#59514e!important;
  transition:border-color .18s,background-color .18s,color .18s;
}
.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label:has(input[value="decline"]) {
  --reply-ink:#ce003d; --reply-border:#f2d8de; --reply-active:#ff5278; --reply-tint:#fce5e9; --reply-badge:#ed0046;
}
.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label:has(input:checked) {
  border-color:var(--reply-active); background:#fff; color:var(--reply-ink)!important;
}
.invitation-details #rsvp #rsvp-form .wi-rsvp-choices input {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label:has(input:focus-visible) {outline:2px solid var(--reply-ink);outline-offset:4px}
.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label:has(input:checked)::before {
  content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--reply-badge);
}
.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label:has(input:checked)::after {
  content:"";position:absolute;right:13px;top:50%;transform:translateY(-50%);width:14px;height:14px;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
}
@media(max-width:600px){.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label{min-height:48px;padding:10px 32px}}
@media(prefers-reduced-motion:reduce){.invitation-details #rsvp #rsvp-form .wi-rsvp-choices label{transition:none}}
