/* The artwork and the percentage-based touch area scale together. */
.rsvp-art{position:relative;width:100%;margin:0;padding:0;line-height:0;isolation:isolate}
.rsvp-art>img{display:block;width:100%;height:auto;margin:0}
.rsvp-art .rsvp-hotspot{position:absolute;display:block;z-index:1;margin:0;padding:0;min-height:44px;border:0;border-radius:999px;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rsvp-hotspot:focus-visible{outline:3px solid var(--accent-color,#c79b3b);outline-offset:4px;box-shadow:0 0 0 7px #fff!important}
.rsvp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rsvp-art-fallback{display:block;min-height:48px;padding:16px;text-align:center;background:var(--confirm-color,#fff8ee);color:var(--confirm-text,#46101c);font:600 16px/1.5 Arial,sans-serif}
.rsvp-art.art-ready .rsvp-art-fallback{display:none}
.rsvp-art.art-failed .rsvp-hotspot{display:none}
.rsvp-dialog{padding:0;border:1px solid var(--accent-color,#c79b3b);border-radius:24px;width:min(520px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:90vh;max-height:90svh;overflow:auto;overscroll-behavior:contain;background:var(--confirm-color,#fff8ee);color:var(--confirm-text,#46101c);box-shadow:0 25px 80px #0006}
.rsvp-dialog:not([open]){display:none}
.rsvp-dialog::backdrop{background:#140b25bd;backdrop-filter:blur(7px)}
.rsvp-dialog-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 12px 8px 20px;background:var(--confirm-color,#fff8ee);border-bottom:1px solid var(--accent-color,#c79b3b)}
.rsvp-dialog-bar>span{font:600 10px/1.4 Arial,sans-serif;letter-spacing:2px}
.rsvp-dialog-close{width:44px;height:44px;min-height:44px;border:1px solid var(--accent-color,#c79b3b);border-radius:50%;background:transparent;color:var(--confirm-text,#46101c);font:28px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.rsvp-dialog-close:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}
.rsvp-dialog .confirm{border:0!important;padding-top:36px!important;text-align:center;box-shadow:none!important}
.rsvp-dialog .confirm-seal{position:static;transform:none;margin:0 auto 20px;width:48px;height:48px;font-size:26px}
.rsvp-dialog .confirm h2{font-size:32px!important}
.rsvp-dialog .confirm input,.rsvp-dialog .confirm select,.rsvp-dialog .confirm textarea{font-size:16px!important}
.rsvp-dialog .confirm .row{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:10px}
.rsvp-dialog .confirm input,.rsvp-dialog .confirm select{min-width:0;width:100%}
.rsvp-dialog .family-pass{margin-bottom:24px}
.rsvp-dialog .family-pass~.confirm-seal{display:none}
.rsvp-modal-open,.rsvp-modal-open body{overflow:hidden!important}
@media(max-width:360px){.rsvp-dialog .confirm{padding-inline:16px!important}.rsvp-dialog .confirm h2{font-size:29px!important}.rsvp-dialog .confirm .row{grid-template-columns:minmax(0,1fr) 70px}}
@media(prefers-reduced-motion:reduce){.rsvp-dialog *{scroll-behavior:auto!important}}
