/* Shared presentation only. Field names, validation, consent and submission stay in rsvp-shared.js. */
.shared-rsvp{
 --rs-ink:#303a2c;--rs-olive:#465137;--rs-paper:#fffdf7;--rs-edge:#ddd8c9;
 --rs-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 color:var(--rs-ink);font:400 15px/1.65 var(--rs-ui);max-width:740px;text-align:left;
}
.shared-rsvp h2,.shared-rsvp .rs-section legend,.shared-rsvp .rs-section h3,.shared-rsvp .rs-wish summary{
 font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:-.015em;color:var(--rs-ink);
}
.shared-rsvp .rs-intro{margin-bottom:28px}
.shared-rsvp .rs-intro h2{font-size:42px;line-height:1.12;margin:10px 0 14px}
.shared-rsvp .rs-kicker{font:600 10px/1.6 var(--rs-ui);letter-spacing:.16em;color:#67705d}
.shared-rsvp .rs-form{display:block;margin:0}
.shared-rsvp .rs-section{
 position:static;display:block;min-width:0;width:100%;height:auto;
 border:1px solid var(--rs-edge);border-radius:20px;background:var(--rs-paper);
 padding:20px 24px 24px;margin:0 0 24px;
}
.shared-rsvp .rs-section legend{font-size:29px;line-height:1.2;padding:0 9px;margin:0 0 10px -9px;width:auto;max-width:100%}
.shared-rsvp .rs-section h3{font-size:30px;line-height:1.2;padding:0;margin:0 0 18px}
.shared-rsvp .rs-field{font:500 14px/1.6 var(--rs-ui);display:block;margin:0 0 22px;color:#414a3a;text-wrap:pretty}
.shared-rsvp .rs-field input,.shared-rsvp .rs-field select,.shared-rsvp .rs-field textarea{
 display:block;width:100%;max-width:none;min-width:0;min-height:54px;margin:8px 0 0;
 border:1px solid #cecdbf;border-radius:12px;padding:13px 14px;background:#fffefb;
 color:#303a2c;font:400 16px/1.5 var(--rs-ui);box-shadow:none;
 transition:border-color .16s,box-shadow .16s;
}
.shared-rsvp .rs-field input::placeholder,.shared-rsvp .rs-field textarea::placeholder{color:#858b7c;opacity:1}
.shared-rsvp .rs-field select{padding-right:30px}
.shared-rsvp .rs-field textarea{min-height:140px}
.shared-rsvp .rs-field input[type=number]{width:112px;max-width:100%;font-size:20px;font-weight:600;text-align:center}
.shared-rsvp .rs-field input:focus,.shared-rsvp .rs-field select:focus,.shared-rsvp .rs-field textarea:focus{outline:0;border-color:#62734d;box-shadow:0 0 0 3px #62734d17}
.shared-rsvp .rs-field small,.shared-rsvp [data-error]{font:400 13px/1.6 var(--rs-ui);color:#944c3e}
.shared-rsvp [aria-invalid=true]{border-color:#944c3e}
.shared-rsvp .rs-attendance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}
.shared-rsvp .rs-attendance label,.shared-rsvp .rs-ages label{
 display:flex;align-items:center;gap:10px;min-height:56px;padding:13px 14px;
 background:#fffefb;border:1px solid #d7d7c9;border-radius:12px;
 font:500 14px/1.5 var(--rs-ui);cursor:pointer;
}
.shared-rsvp .rs-attendance label:has(:checked),.shared-rsvp .rs-ages label:has(:checked){background:#eef1e5;border-color:#75825c;box-shadow:inset 0 0 0 1px #75825c18}
.shared-rsvp input[type=checkbox],.shared-rsvp input[type=radio]{width:18px;height:18px;flex:none;accent-color:#566441;margin:0}
.shared-rsvp .rs-check{display:flex;gap:12px;align-items:flex-start;min-height:48px;margin:12px 0 22px;padding:10px 0;font:400 14px/1.65 var(--rs-ui)}
.shared-rsvp .rs-check input{margin-top:3px!important}
.shared-rsvp .rs-ages{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}
.shared-rsvp .rs-ages label{min-height:46px;font-size:13px;padding:10px 12px}
.shared-rsvp .rs-label{font:500 14px/1.6 var(--rs-ui)}
.shared-rsvp .rs-hint,.frame#card-15 .shared-rsvp .rs-hint{font:400 13px/1.65 var(--rs-ui)!important;color:#707666;margin:10px 0 18px!important}
.shared-rsvp .rs-total,.frame#card-15 .shared-rsvp .rs-total{font:500 14px/1.65 var(--rs-ui);padding:14px 16px;border:1px solid #dfe3d3;border-radius:12px;background:#eff2e7;margin:18px 0 10px}
.shared-rsvp .rs-wish{padding:0 24px;background:#f7f7ee}
.shared-rsvp .rs-wish summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:70px;list-style:none;font-size:27px;line-height:1.25;cursor:pointer}
.shared-rsvp .rs-wish summary::-webkit-details-marker{display:none}
.shared-rsvp .rs-wish summary::after{content:'+';font:300 26px/1 var(--rs-ui);color:#697459;flex:none}
.shared-rsvp .rs-wish[open] summary::after{content:'−'}
.shared-rsvp .rs-wish>div{padding:0 0 8px}
.shared-rsvp .rs-form>section.rs-section{padding:26px 24px;background:#f2f3e9;border-color:#dce0d0}
.shared-rsvp .rs-summary{padding:0;margin:0 0 22px;border:0;background:transparent;border-radius:0;text-align:left}
.shared-rsvp .rs-summary>div{display:grid;grid-template-columns:106px minmax(0,1fr);gap:16px;border-bottom:1px solid #dde0d2;padding:12px 0;font:400 14px/1.6 var(--rs-ui)}
.shared-rsvp .rs-summary>div:last-child{border-bottom:0}
.shared-rsvp .rs-summary dt{font-weight:400;color:#747b68}
.shared-rsvp .rs-summary dd,.frame.reply .shared-rsvp .rs-summary dd{font:500 14px/1.6 var(--rs-ui);color:#38432e;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.shared-rsvp .rs-submit,.shared-rsvp .rs-map{font:600 15px/1.5 var(--rs-ui);border-radius:14px;min-height:56px;padding:16px 20px;background:#465137;color:#fffdf7;border-color:#465137;letter-spacing:.01em}
.shared-rsvp .rs-submit:hover,.shared-rsvp .rs-map:hover{background:#37412b}
.shared-rsvp .rs-submit:disabled{opacity:.65;cursor:wait}
.shared-rsvp .rs-error,.frame#card-15 .shared-rsvp .rs-error{font:400 14px/1.6 var(--rs-ui)!important;color:#944c3e}
.shared-rsvp .rs-error:empty{display:none}
.shared-rsvp .rs-success{padding:12px 0}
.shared-rsvp .rs-success h2{font-size:42px;line-height:1.15;margin:16px 0}
.shared-rsvp .rs-success>p,.frame#card-15 .shared-rsvp .rs-success>p{font:400 15px/1.8 var(--rs-ui);color:#57604c}
.shared-rsvp .rs-success .rs-summary{background:#f2f3e9;border:1px solid #dce0d0;padding:10px 20px;margin:26px 0;border-radius:18px}
.shared-rsvp :focus-visible{outline:2px solid #617247;outline-offset:4px}
.frame.reply .shared-rsvp .rs-intro>p{font-family:var(--rs-ui)}
.frame#card-15.reply{padding:96px 20px 60px}
.frame#card-15.reply>.content{padding:0!important;width:100%;max-width:780px;background:transparent!important;border:0;box-shadow:none}
.shared-rsvp,.shared-rsvp *{font-family:var(--rs-ui)!important}
.shared-rsvp :is(h2,h3,legend,summary){font-family:"Cormorant Garamond",Georgia,serif!important;font-weight:600!important}
@media(max-width:720px){
 .shared-rsvp .rs-section{padding:16px 18px 20px;margin-bottom:22px;border-radius:18px}
 .shared-rsvp .rs-section legend{font-size:28px;margin-bottom:8px}
 .shared-rsvp .rs-section h3{font-size:29px}
 .shared-rsvp .rs-field{margin-bottom:20px}
 .shared-rsvp .rs-attendance label{min-height:84px;padding:12px;font-size:13px;gap:10px;flex-direction:column;align-items:flex-start}
 .shared-rsvp .rs-wish{padding:0 18px}
 .shared-rsvp .rs-wish summary{font-size:25px;min-height:68px}
 .shared-rsvp .rs-form>section.rs-section{padding:22px 18px}
 .shared-rsvp .rs-summary>div{grid-template-columns:82px minmax(0,1fr);gap:12px;font-size:13px}
 .shared-rsvp .rs-summary dd,.frame.reply .shared-rsvp .rs-summary dd{font-size:14px}
 .shared-rsvp .rs-submit{font-size:15px}
 .shared-rsvp .rs-intro h2{font-size:36px}
 .frame#card-15.reply{padding:90px 16px 50px}
}
@media(max-width:360px){.shared-rsvp .rs-attendance{grid-template-columns:1fr}.shared-rsvp .rs-attendance label{min-height:52px;flex-direction:row;align-items:center}.shared-rsvp .rs-wish summary{font-size:23px}.shared-rsvp .rs-section legend{font-size:25px}}
@media(prefers-reduced-motion:reduce){.shared-rsvp *{transition:none!important}}

/* RSVP confirmation deadline: prominent at both embedded and standalone entry. */
.shared-rsvp .rs-intro .rs-deadline{display:grid;gap:8px;margin:24px 0 12px;padding:20px 18px;background:#465037;color:#fff9ed;border:1px solid #687453;border-radius:16px;text-align:center;box-shadow:0 5px 18px #46503712}
.shared-rsvp .rs-deadline-label{font:600 12px/1.5 system-ui,sans-serif;letter-spacing:.12em;color:#f5f0e5}
.shared-rsvp .rs-deadline strong{font:700 clamp(22px,5vw,29px)/1.25 system-ui,sans-serif;color:#fff9ed;letter-spacing:.015em}
.shared-rsvp .rs-deadline-note{font:400 14px/1.6 system-ui,sans-serif;color:#f5f0e5;max-width:38ch;justify-self:center}
.reply-sheet .shared-rsvp .rs-intro{display:block}.reply-sheet .shared-rsvp .rs-intro>p,.reply-sheet .shared-rsvp .rs-intro>h2{display:none}
