.wedding-gift{padding:50px 24px 35px;background:linear-gradient(#f4eedecc,#f4eedecc),url('assets/castle-background.webp') center bottom/100% auto no-repeat;text-align:center}.wedding-gift h2{font:700 28px/1.4 'Times New Roman',serif;color:#511419;margin:0 0 28px}.gift-envelope-button{display:block;position:relative;width:min(580px,100%);margin:0 auto;border:0;padding:0;background:transparent;color:#815455;cursor:pointer;-webkit-tap-highlight-color:transparent}.gift-envelope-scene{position:relative;display:block;height:500px;width:100%;isolation:isolate}.gift-envelope-scene>img{position:absolute;object-fit:contain;filter:drop-shadow(0 14px 12px #3c121a20);user-select:none;-webkit-user-drag:none;transition:filter .3s}.gift-envelope-front{height:96%;width:62%;left:3%;top:3%;z-index:2;transform:rotate(-10deg);animation:gift-envelope-front-float 5.5s ease-in-out infinite}.gift-envelope-back{height:82%;width:54%;right:4%;top:12%;z-index:1;transform:rotate(28deg);animation:gift-envelope-back-float 6s .4s ease-in-out infinite}.gift-envelope-button:hover img{filter:drop-shadow(0 18px 16px #3c121a38)}.gift-envelope-button:focus-visible{outline:2px solid #9e7938;outline-offset:8px;border-radius:15px}.gift-open-label{display:block;font:18px/1.5 Arial,sans-serif;margin:25px 0 0;color:#885459}.gift-sparkle{position:absolute;color:#b99b51;font-size:28px;z-index:3;animation:gift-twinkle 2.4s ease-in-out infinite;pointer-events:none}.gift-sparkle.one{left:22%;top:5%}.gift-sparkle.two{right:17%;top:14%;animation-delay:.8s}.gift-sparkle.three{left:15%;top:40%;font-size:20px;animation-delay:1.5s}.wedding-gift-dialog{width:min(1000px,calc(100vw - 32px));max-width:none;max-height:92dvh;padding:0;background:#fff7e9;color:#511419;border:0;border-radius:28px;overflow:auto;box-shadow:0 25px 70px #20050844}.wedding-gift-dialog[open]{animation:gift-dialog-in .3s ease-out}.wedding-gift-dialog::backdrop{background:#0007;backdrop-filter:blur(2px)}.wedding-gift-dialog header{position:relative;background:#511419;padding:32px 50px 30px;text-align:center}.wedding-gift-dialog header h2{margin:0;font:700 34px/1.4 'Times New Roman',serif;color:#fffaf0}.wedding-gift-dialog header button{position:absolute;right:25px;top:24px;width:32px;height:32px;background:none;border:0;color:#ecdbd6;font:34px/1 Arial,sans-serif;cursor:pointer}.gift-accounts{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:40px 50px 44px}.gift-account{text-align:center;min-width:0;font-family:Arial,sans-serif}.gift-account h3{font:400 20px/1.5 Arial,sans-serif;margin:0 0 35px;overflow-wrap:anywhere}.gift-account-qr,.gift-account-empty{width:min(280px,100%);aspect-ratio:1;margin:0 auto 20px;border:3px solid #e6e0df;border-radius:20px;background:white;box-shadow:0 10px 16px #4734211c}.gift-account-qr{object-fit:contain;padding:20px;display:block}.gift-account-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:25px;color:#967b70;background:#fffdf8}.gift-account-empty svg{width:80px;height:80px;margin-bottom:18px;opacity:.6}.gift-account-empty p{font:14px/1.6 Arial,sans-serif;margin:0}.gift-account p{margin:8px 0;line-height:1.5}.gift-account-bank{font-size:16px}.gift-account-number{font-size:15px}.gift-account-owner{font-size:16px;font-weight:600}.gift-account-note{font:13px/1.7 Arial,sans-serif;color:#9b7b70;max-width:270px;margin:14px auto!important}.gift-save-qr{display:inline-block;position:static;background:#efe3d8;border:0;border-radius:30px;text-decoration:none;color:#511419;font:15px/1.4 Arial,sans-serif;padding:10px 17px;cursor:pointer;margin-top:5px}.gift-save-qr:disabled{opacity:.45;cursor:default}.gift-modal-open{overflow:hidden}.gift-modal-open #music-toggle,.gift-modal-open #restore-tools{visibility:hidden}.wedding-gift+.thanks{padding-top:30px}.wedding-gift+.thanks p{margin-bottom:25px}@keyframes gift-envelope-front-float{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-10px) rotate(-8deg)}}@keyframes gift-envelope-back-float{0%,100%{transform:translateY(0) rotate(28deg)}50%{transform:translateY(-12px) rotate(26deg)}}@keyframes gift-twinkle{0%,100%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes gift-dialog-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:767px){.wedding-gift{padding:35px 18px 25px}.wedding-gift h2{font-size:24px;margin-bottom:25px}.gift-envelope-scene{height:420px}.gift-open-label{font-size:16px;margin-top:18px}.wedding-gift-dialog{border-radius:22px;width:calc(100vw - 24px)}.wedding-gift-dialog header{padding:24px 40px}.wedding-gift-dialog header h2{font-size:26px}.wedding-gift-dialog header button{top:20px;right:14px;font-size:29px}.gift-accounts{gap:24px;padding:28px 25px 30px}.gift-account h3{font-size:15px;margin-bottom:22px;min-height:45px}.gift-account-empty{padding:14px;border-radius:15px;margin-bottom:15px}.gift-account-empty svg{width:55px;height:55px;margin-bottom:10px}.gift-account-empty p{font-size:12px}.gift-account-note{font-size:11px}.gift-save-qr{font-size:13px;padding:9px 13px}}@media(max-width:420px){.gift-envelope-scene{height:350px}.wedding-gift h2{font-size:22px}.gift-accounts{gap:18px;padding:24px 18px}.gift-account-empty p{font-size:11px}.gift-account-empty svg{width:44px;height:44px}.gift-account h3{font-size:13px}}@media(prefers-reduced-motion:reduce){.gift-envelope-scene img,.gift-sparkle,.wedding-gift-dialog[open]{animation:none!important}}
