/* v6.6.0: one source for paper, opening, controls and dialogs. */
:root{--wedding-paper-image:url('/assets/reference/paper-bg.jpg')}
main>div>div,.motdoi-opening-card,#invitation .relative.mt-\[30px\],.clone-gift-section,.clone-gift-dialog,.sig-dialog{background-color:var(--site-paper,#f6edda)!important;background-image:var(--wedding-paper-image)!important;background-position:center top!important;background-size:100% auto!important;background-repeat:repeat-y!important}
html.wedding-opening-lock,html.wedding-opening-lock body,html.clone-modal-open,html.clone-modal-open body{overflow:hidden!important;overscroll-behavior:none}
html.wedding-admin-preview-boot #wedding-opening{display:none!important}
#wedding-opening.motdoi-opening{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;background:radial-gradient(900px 600px at 50% 20%,#7e1518,#340607);transition:opacity .55s ease,transform .75s ease;isolation:isolate}
#wedding-opening:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#e6c87e12 1px,transparent 1.5px);background-size:26px 26px;pointer-events:none}
.motdoi-opening-card{position:relative;width:min(100%,360px);flex-shrink:0;margin:auto;padding:11px;border-radius:22px;box-shadow:0 30px 70px #0005,0 0 0 1px #e6c87e80;max-height:calc(100svh - 40px);overflow:auto;scrollbar-width:thin}
.motdoi-opening-inner{display:flex;flex-direction:column;align-items:center;position:relative;border:1.5px solid #a31e23b3;border-radius:14px;padding:26px 24px 32px;text-align:center;box-shadow:inset 0 0 0 4px #f6edda,inset 0 0 0 5px #c9a24b80;min-height:0}
.motdoi-opening-knot{width:108px;height:108px;object-fit:contain;display:block;margin:0 auto 20px;transform-origin:top center;animation:shy-knot-sway 4.5s ease-in-out infinite}
.motdoi-opening-eyebrow{font:400 10px/1.3 'Be Vietnam Pro',sans-serif;letter-spacing:.36em;color:#a31e23;margin:5px 0 12px}
.motdoi-opening-name{width:100%;font:400 42px/1.25 'Great Vibes',cursive;color:#7e1518;overflow-wrap:anywhere}
.motdoi-opening-amp{font:italic 20px/1.3 'Cormorant Garamond',serif;color:#c9a24b;margin:4px 0}
.motdoi-opening-rule{display:flex;align-items:center;gap:10px;margin:20px 0 14px}.motdoi-opening-rule i{width:40px;height:1px;background:linear-gradient(90deg,transparent,#c9a24b)}.motdoi-opening-rule i:last-child{transform:rotate(180deg)}.motdoi-opening-rule b{width:6px;height:6px;background:#c9a24b;transform:rotate(45deg)}
.motdoi-opening-invite-label{font-size:12px;color:#6b5744}.motdoi-opening-guest{width:100%;min-height:32px;margin-top:7px;font:600 23px/1.35 'Cormorant Garamond',serif;color:#3e2b22;overflow-wrap:anywhere}
.motdoi-opening-seal{display:grid;place-items:center;width:88px;height:88px;flex:0 0 88px;margin:22px auto 0;border:0;border-radius:50%;padding:6px;background:radial-gradient(circle at 35% 30%,#a82227,#7e1518 72%);box-shadow:0 0 0 6px #c9a24b22,0 12px 24px #34060740;cursor:pointer;color:#e6c87e}
.motdoi-opening-seal span{display:grid;place-items:center;width:76px;height:76px;border:2px solid #c9a24b;border-radius:50%;font:700 37px/1 serif;color:#e6c87e}.motdoi-opening-seal:active{transform:scale(.97)}
.motdoi-opening-hint{margin-top:17px;font:500 10px/1.5 'Be Vietnam Pro',sans-serif;letter-spacing:.22em;color:#a31e23}
.opening-message{margin:10px 0 0;font-size:11px;line-height:1.8;color:#80665c}.opening-date{margin-top:12px;font:600 17px/1.3 'Cormorant Garamond',serif;color:#a47a3d;letter-spacing:3px}.opening-date:empty{display:none}.opening-paper-label{font-size:9px;letter-spacing:3px;color:#a47a3d;margin-bottom:12px}.opening-cover-photo{width:150px;height:100px;object-fit:cover;border-radius:10px;margin-bottom:14px}
#wedding-opening.opening-leave{opacity:0;transform:translateY(-24px);pointer-events:none}
.clone-overlay{z-index:9000!important;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.clone-overlay[hidden]{display:none!important}.clone-toast{z-index:11000;border-radius:14px;width:max-content;max-width:calc(100vw - 32px);text-align:center}
#clone-guestbook-modal.clone-modal-wrap{padding:20px 14px;align-items:center}
.sig-dialog{width:min(100%,480px);min-height:0;max-height:calc(100dvh - 40px);overflow:auto;margin:auto;border-radius:22px;padding-bottom:18px;box-shadow:0 25px 80px #0005}
.sig-progress{height:auto;padding:24px 64px 20px 24px;align-items:center;gap:10px;position:sticky;top:0;background:#fff9ed;z-index:5}.sig-progress>span{width:38px;height:38px;flex:0 0 38px;font-size:15px}.sig-progress>i{flex:1;margin:0;height:2px}.sig-progress>button{right:14px;top:23px;width:36px;height:36px;font-size:27px;border-radius:50%;background:#7e15180c;color:#7e1518}
.sig-step{padding:22px 24px 4px}.sig-step h3{font-size:20px;margin-bottom:18px}.sig-bottom-actions{position:sticky;bottom:-4px;z-index:3;padding:12px 0 4px;background:#f6edda;gap:10px}.sig-bottom-actions button{min-height:44px}.sig-btn.red,.gift-copy{background:var(--site-primary,#7e1518);color:white}.sig-btn.light{background:white;color:#49362f}
#signature-canvas{width:100%;height:auto;aspect-ratio:900/480;border:1px dashed #b7897d;border-radius:12px;background:#fff}#signature-canvas.light-ink{background:#514743}
.sig-side button.active{background:#7e1518;color:white;border-color:#7e1518}.sig-reposition-head{padding:22px 60px 0 24px;position:relative}.sig-reposition-head h3{margin:4px 0}.sig-reposition-head p{font-size:12px}.sig-reposition-head>button{position:absolute;right:16px;top:20px;border:0;background:transparent;font-size:28px;color:#7e1518}
.clone-gift-modal{align-items:center}.clone-gift-dialog{width:min(620px,100%);max-height:calc(100dvh - 40px);margin:auto;padding:30px 22px 24px;border:1px solid #dbc4a0;border-radius:22px}.clone-gift-dialog .rsvp-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#7e15180d;color:#7e1518;font-size:26px}
.gift-accounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;margin-top:22px}.gift-account{min-width:0;background:#fffcf6;border:1px solid #e1ceb0;border-radius:16px;padding:16px 12px}.gift-account h4{margin:0 0 12px;color:#7e1518;font:600 22px/1.2 'Cormorant Garamond',serif}.gift-account .clone-gift-qr{width:100%;height:auto;max-width:230px;aspect-ratio:1;object-fit:contain;margin:0 auto;padding:8px;border-radius:8px}.gift-account .clone-bank-details{margin:12px 0}.gift-account .clone-bank-details>div{flex-direction:column;gap:3px;padding:8px}.gift-account .clone-bank-details b{text-align:left;color:#3e2b22;user-select:text}.gift-copy{width:100%;min-height:42px;border:0;border-radius:9px;font:600 12px/1.4 'Be Vietnam Pro',sans-serif;padding:10px;cursor:pointer}
[data-side]{min-height:44px}.clone-side-active{background:#e6c87e!important;color:#4a0a0d!important}.clone-side-idle{background:transparent!important;color:#fff8e8!important}button:focus-visible,a:focus-visible{outline:3px solid #c9a24b;outline-offset:3px}.calendar-day{display:grid;place-items:center;aspect-ratio:1;color:#3e2b22}.calendar-wedding-day{background:#7e1518;color:#fff8e8;border-radius:50%}
@media(max-width:430px){#wedding-opening.motdoi-opening{padding:12px}.motdoi-opening-card{max-height:calc(100svh - 24px)}.motdoi-opening-inner{padding:24px 18px 28px}.motdoi-opening-name{font-size:40px}.motdoi-opening-knot{width:100px;height:100px;margin-bottom:16px}.sig-dialog{border-radius:18px}.sig-step{padding:20px 18px 4px}.sig-progress{padding-left:18px}.clone-gift-dialog h3{font-size:32px}}
@media(max-height:650px){.motdoi-opening-knot{width:74px;height:74px;margin-bottom:10px}.motdoi-opening-inner{padding-top:18px;padding-bottom:20px}.motdoi-opening-name{font-size:36px}.motdoi-opening-rule{margin-top:12px}.motdoi-opening-seal{width:76px;height:76px;flex-basis:76px;margin-top:14px}.motdoi-opening-seal span{width:64px;height:64px;font-size:32px}}
@media(prefers-reduced-motion:reduce){#wedding-opening,.motdoi-opening-knot{animation:none!important;transition:none!important}}
