.rsvp-section{padding:0 28px 80px;color:#545454}.rsvp-section .section-heading{padding:0 0 24px}.rsvp-script{display:block;font-family:'Great Vibes',cursive;font-size:48px;font-weight:400;line-height:1.2;color:#96a175;margin:0 0 16px}.rsvp-section>p{font-family:'Noto Serif KR',Georgia,serif;font-size:14px;font-weight:400;color:#545454;line-height:2.2;margin:0 0 28px;letter-spacing:-.3px}.rsvp-primary,.rsvp-secondary{font:inherit;font-size:13px;min-height:48px;padding:14px 22px;border:1px solid #a6aa95;border-radius:3px;background:#858d76;color:#fff;cursor:pointer}.rsvp-primary{width:100%;letter-spacing:.5px}.rsvp-primary span{margin-left:4px}.rsvp-secondary{background:transparent;color:#4a4a4a}.rsvp-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-width:440px;max-height:calc(100dvh - 32px);margin:auto;padding:26px 24px max(24px,env(safe-area-inset-bottom));border:1px solid #e5e1d5;border-radius:8px;background:#fffdf8;color:#4b4b4b;text-align:left;overflow:auto;overscroll-behavior:contain;font-family:'Noto Serif KR',Georgia,serif}.rsvp-dialog::backdrop{background:#353b32a6;backdrop-filter:blur(3px)}.rsvp-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rsvp-dialog-header .section-en{margin-bottom:8px}.rsvp-dialog h2{margin:0;color:#75685E;font-size:21px;font-weight:400;letter-spacing:.4px}.rsvp-close{border:0;background:transparent;color:#5b5b5b;font-size:26px;min-width:44px;min-height:44px;margin:-8px -12px 0 0}.rsvp-dialog .rsvp-help{font-size:11px;line-height:1.9;letter-spacing:0;color:#585858;margin:20px 0}.rsvp-dialog fieldset{margin:22px 0;padding:0;border:0;min-width:0}.rsvp-dialog legend,.rsvp-field{font-size:13px;line-height:1.8}.rsvp-dialog legend{margin-bottom:10px}.rsvp-choices{display:flex;gap:8px}.rsvp-choices label{position:relative;flex:1;min-width:0;cursor:pointer}.rsvp-choices input{position:absolute;opacity:0;width:1px;height:1px}.rsvp-choices span{display:block;padding:12px 2px;border:1px solid #d9d9cd;border-radius:3px;text-align:center;font-size:13px;background:#fff}.rsvp-choices input:checked+span{border-color:#858d76;background:#f0f1e9;color:#3c3c3c}.rsvp-choices input:focus-visible+span{outline:3px solid #b8a16e;outline-offset:3px}.rsvp-field{display:block;margin:20px 0}.rsvp-field input,.rsvp-field textarea,.rsvp-field select{display:block;box-sizing:border-box;width:100%;min-height:48px;margin-top:9px;padding:12px;border:1px solid #d9d9cd;border-radius:3px;background:#fff;color:#3c3c3c;font:16px/1.6 'Noto Serif KR',Georgia,serif}.rsvp-field textarea{resize:vertical}.rsvp-field small{display:block;font-size:10px;line-height:1.8;color:#585858;margin-top:6px}.rsvp-field input:disabled{background:#f1f0ea;color:#6c6c6c}.rsvp-dialog :focus-visible{outline:3px solid #b8a16e;outline-offset:3px}.rsvp-dialog button:disabled{opacity:.55;cursor:wait}.rsvp-status{font-size:12px;line-height:1.8;letter-spacing:0;color:#8b493d;white-space:pre-line}.rsvp-success{text-align:center;padding:36px 0 6px}.rsvp-success h3{font-size:16px;font-weight:400;line-height:1.8}.rsvp-success p{font-size:12px;letter-spacing:0;line-height:2;margin-bottom:30px}.rsvp-dialog [hidden]{display:none!important}#rsvpCaptcha{min-height:65px;margin-top:22px;overflow:hidden}@media(max-width:360px){.rsvp-dialog{padding-left:16px;padding-right:16px}.rsvp-choices{gap:5px}}

#rsvpOpen{background:#5f7d62;border-color:#5f7d62;display:block;width:max-content;min-width:9em;padding-left:12px;padding-right:12px;box-sizing:border-box;margin-left:auto;margin-right:auto}

.rsvp-consent{position:relative;margin:20px 0 10px;color:#545454;font-size:11px;line-height:1.9;letter-spacing:0}
.rsvp-consent-label{display:flex;align-items:flex-start;gap:7px;padding-right:68px;cursor:pointer;min-height:28px}
.rsvp-consent-label input{flex-shrink:0;width:15px;height:15px;margin:3px 0 0;accent-color:#96a175;cursor:pointer}
.rsvp-privacy-link{position:absolute;top:0;right:0;min-height:28px;padding:0 0 5px;border:0;background:transparent;color:#757575;font:11px/1.9 'Noto Serif KR',Georgia,serif;letter-spacing:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Compact guest response form, scoped to keep the admin screens unchanged. */
#rsvpDialog{width:min(400px,calc(100vw - 24px));padding:22px 20px max(20px,env(safe-area-inset-bottom))}
#rsvpDialog .rsvp-dialog-header .section-en{font-size:7.5px;margin-bottom:6px}
#rsvpDialog h2{font-size:18px}
#rsvpDialog .rsvp-close{font-size:22px}
#rsvpDialog .rsvp-help{font-size:10px;line-height:1.8;margin:6px 0 12px}
#rsvpDialog fieldset{margin:15px 0}
#rsvpDialog legend,#rsvpDialog .rsvp-field{font-size:12px;line-height:1.7}
#rsvpDialog legend{margin-bottom:7px}
#rsvpDialog .rsvp-field{margin:15px 0}
#rsvpDialog .rsvp-field input{min-height:40px;margin-top:6px;padding:8px 10px;font-size:14px;line-height:1.5}
#rsvpDialog .rsvp-field input::placeholder{font-size:12px}
#rsvpDialog .rsvp-choices{gap:6px}
#rsvpDialog .rsvp-choices span{padding:9px 2px;font-size:12px}
#rsvpDialog .rsvp-primary{min-height:42px;padding:10px 16px;font-size:12px;background:#96a175;border-color:#96a175}
#rsvpDialog .rsvp-consent{margin-top:8px}
#rsvpDialog #rsvpCaptcha{margin-top:15px}
@media(pointer:coarse){#rsvpDialog .rsvp-field input{font-size:16px}}
@media(max-width:360px){#rsvpDialog{padding-left:16px;padding-right:16px}}

#rsvpDialog .rsvp-attendance{margin-bottom:8px}
#rsvpDialog #rsvpCaptcha:empty{min-height:0;margin:0}

#rsvpPrivacyDialog{width:min(400px,calc(100vw - 24px));padding:22px 20px;color:#545454;font-size:12px;line-height:1.9;letter-spacing:0}
#rsvpPrivacyDialog h2{font-size:16px;line-height:1.8;letter-spacing:0}
#rsvpPrivacyDialog .rsvp-close{flex-shrink:0;font-size:22px}
#rsvpPrivacyDialog .rsvp-privacy-copy{margin-top:20px}
#rsvpPrivacyDialog dl{margin:0}
#rsvpPrivacyDialog dt{margin:17px 0 5px;font-weight:500;color:#474747}
#rsvpPrivacyDialog dt:first-child{margin-top:0}
#rsvpPrivacyDialog dd{margin:0;word-break:keep-all;overflow-wrap:anywhere}

#rsvpDialog #rsvpSubmit{background:#5f7d62;border-color:#5f7d62}
#rsvpDialog #rsvpSubmit:disabled{background:#d4d2cc;border-color:#d4d2cc;color:#fff;opacity:1;cursor:not-allowed}
