.rsvp-section{background:#f5f1e8;padding:55px 30px 48px;scroll-margin-top:25px;border-top:1px solid #dadcca}
.rsvp-section h2{font:normal 26px/1.6 var(--serif);letter-spacing:3px;margin:0 0 13px}.rsvp-intro{font:13px/1.95 var(--serif);letter-spacing:.7px;color:#738168;margin:0 0 26px}
.rsvp-form label,.rsvp-form legend{display:block;font:12px/1.7 var(--sans);letter-spacing:.7px;color:#52664c;margin-bottom:9px}.rsvp-form label span{color:#89927c;font-size:10px;letter-spacing:0}
.rsvp-field{margin-bottom:21px}.rsvp-form input:not([type=radio]),.rsvp-form textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #c5cbb7;border-radius:2px;background:#fffdf7;color:#31483d;padding:12px 13px;font:16px/1.6 var(--sans);min-height:48px;-webkit-appearance:none}.rsvp-form input:focus,.rsvp-form textarea:focus{outline:2px solid #819071;outline-offset:2px}.rsvp-form textarea{min-height:100px;resize:vertical}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#9a9d90;font-size:12px}
.rsvp-status-options{border:0;padding:0;margin:0 0 22px}.rsvp-choices{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.rsvp-choices label{margin:0;display:flex;align-items:center;justify-content:center;gap:5px;min-height:46px;padding:9px 4px;border:1px solid #c3c9b5;background:#fffdf7;cursor:pointer;font-size:11px;letter-spacing:0}.rsvp-choices label:has(input:checked){background:#e6ebdd;border-color:#7a8b6b}.rsvp-choices input{margin:0;accent-color:#4d6549;width:14px;height:14px}
.rsvp-counts{display:grid;grid-template-columns:1fr;gap:0}.rsvp-counts[hidden]{display:none}.rsvp-form .rsvp-counts input{font-size:19px;text-align:center}.rsvp-help{font:10px/1.9 var(--sans);letter-spacing:.3px;color:#859078;margin:8px 0 0}.rsvp-counter-hint{grid-column:1/-1;margin:-10px 0 20px}
.rsvp-submit,.rsvp-edit{width:100%;border:1px solid #3d563e;background:#3d563e;color:#fff9ee;padding:14px 16px;min-height:50px;font:13px/1.6 var(--sans);letter-spacing:2px;cursor:pointer}.rsvp-submit:disabled{opacity:.55;cursor:wait}.rsvp-form[hidden],.rsvp-saved[hidden],.rsvp-message[hidden],.rsvp-retry[hidden]{display:none!important}
.rsvp-connection{font:11px/1.9 var(--sans);color:#7a866d;margin:0 0 16px}.rsvp-connection.ready{display:none}.rsvp-retry{display:inline-block;min-height:40px;margin:0 0 20px;padding:8px 13px;background:transparent;border:1px solid #9aa78b;font-size:12px;color:#52664c}.rsvp-message{border:1px solid #d4bbaa;background:#faf0e7;color:#86583d;padding:12px 14px;font:12px/1.8 var(--sans);margin:18px 0}
.rsvp-saved{padding:26px 22px;border:1px solid #bec9af;background:#edf0e5;text-align:center}.rsvp-saved h3{font:normal 21px/1.7 var(--serif);letter-spacing:2px;margin:0 0 12px}.rsvp-saved p{font:12px/1.9 var(--sans);color:#6a7d60;margin:8px 0}.rsvp-saved .rsvp-edit{margin-top:18px;background:transparent;color:#425b3d}
.rsvp-floating{position:fixed;z-index:32;right:max(18px,calc((100vw - 480px)/2 + 18px));bottom:calc(22px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:12px 17px;background:#3d563ef5;color:#fff9ee;box-shadow:0 4px 16px #31483d25;border:1px solid #667b5d;border-radius:24px;text-decoration:none;font:12px/1.5 var(--sans);letter-spacing:1px}.rsvp-floating svg{width:16px;height:16px}
.rsvp-floating[hidden],.entry-pending .rsvp-floating,.poster-mode .rsvp-floating,.poster-mode .rsvp-section,.album-preview .rsvp-floating{display:none!important}.action-bar.has-rsvp{grid-template-columns:1fr 1fr 1fr}.action-bar .rsvp-action{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;border:1px solid #50634e;color:var(--ink);font-size:12px;letter-spacing:1px}.rsvp-top-link{display:inline-block;font:11px/1.6 var(--sans);letter-spacing:1.5px;color:#6f7c61;text-underline-offset:4px;margin-top:13px;min-height:30px}.poster-mode .rsvp-top-link{display:none}
@media(max-width:360px){.rsvp-section{padding-inline:23px}.rsvp-choices{gap:5px}.rsvp-choices label{font-size:10px;gap:4px}.rsvp-section h2{font-size:24px}.action-bar.has-rsvp{padding-inline:20px;gap:8px}.action-bar.has-rsvp button,.action-bar .rsvp-action{font-size:11px;letter-spacing:1px}}
