@font-face{font-family:ArtmoopScript;src:url('../fonts/GreatVibes-Regular.ttf') format('truetype');font-display:swap}
/* AI-generated envelope artwork, shared by sender preview and recipient animation. */
.wgcd-presentation-panel{flex-shrink:0;margin:0 18px 14px;padding:16px;background:#fff;border:1px solid #e0d8e8;border-radius:14px;color:#30263c;font:14px/1.5 Arial,sans-serif;scroll-margin-top:140px}
.wgcd-presentation-panel summary{cursor:pointer;font-weight:700}.wgcd-presentation-panel summary span{font-size:10px;letter-spacing:.09em;color:#805994;margin-left:8px}.wgcd-presentation-panel p{margin:12px 0;font-size:13px;color:#6c6275}
.wgcd-presentation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wgcd-presentation-fields label{font-size:12px;font-weight:700}.wgcd-presentation-fields select{display:block;width:100%;min-height:42px;padding:8px;margin-top:6px;border:1px solid #cfc3d7;border-radius:8px;font:14px Arial;background:#fff;color:#30263c}.wgcd-presentation-fields select:disabled{background:#f5f2f7;color:#928999}
.wgcd-presentation-panel button{background:#563775;color:#fff;border:0;border-radius:9px;min-height:44px;padding:10px 16px;cursor:pointer;font:700 13px Arial}.wgcd-presentation-panel :focus-visible{outline:3px solid #9166b5;outline-offset:3px}
.wgcd-envelope-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.wgcd-envelope-gallery .wgcd-envelope-tile{padding:4px;background:#fff;color:#413248;border:2px solid #eee7f1;min-width:0;text-align:left;border-radius:9px;transition:border-color .2s,box-shadow .2s}
.wgcd-envelope-tile img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:5px}.wgcd-envelope-tile span{display:block;padding:5px 3px;font-size:10px;line-height:1.3}.wgcd-envelope-tile small{display:block;color:#8d6b9d;font-size:8px;letter-spacing:.1em;margin-top:3px}.wgcd-envelope-tile[aria-pressed=true]{border-color:#9161b6;box-shadow:0 0 0 1px #9161b6}
.premium-envelope-preview{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:300px;margin:18px 0 12px;border-radius:12px;background:#eee7e2;perspective:1400px}
.premium-envelope-preview .envelope-zone{position:relative;left:auto;top:auto;transform:none;width:min(82%,390px);aspect-ratio:3/2;perspective:1500px;filter:drop-shadow(0 20px 18px #34223930)}
.presentation-free{--artwork:url('../envelopes/free.webp');--ink:#4b365d;--accent:#b397bf;--backdrop:#eee7f2}
.presentation-signature{--artwork:url('../envelopes/signature.webp');--ink:#6b512d;--accent:#c8aa67;--backdrop:#f0ebe1}
.presentation-midnight{--artwork:url('../envelopes/midnight.webp');--ink:#f0dba9;--accent:#d2b47a;--backdrop:#e3dfea}
.presentation-love{--artwork:url('../envelopes/love.webp');--ink:#81515b;--accent:#bf8194;--backdrop:#f2e5e7}
.presentation-emerald{--artwork:url('../envelopes/emerald.webp');--ink:#f3dfab;--accent:#cfb974;--backdrop:#e2e9e4}
.presentation-pearl{--artwork:url('../envelopes/pearl.webp');--ink:#73647b;--accent:#b0a7be;--backdrop:#edeaf1}
.presentation-deco{--artwork:url('../envelopes/deco.webp');--ink:#70532c;--accent:#be9955;--backdrop:#ede4d8}
.presentation-festive{--artwork:url('../envelopes/festive.webp');--ink:#f1d5aa;--accent:#d5ad67;--backdrop:#ebe1df}
.presentation-celebration{--artwork:url('../envelopes/celebration.webp');--ink:#ffe6ee;--accent:#d8a0ce;--backdrop:#e9e0ee}
.wgcd-art-envelope{background:var(--backdrop,#eee7e2);color:#382f39}
.wgcd-art-envelope .envelope-zone{width:min(86vw,570px);aspect-ratio:3/2;filter:drop-shadow(0 24px 24px #2e243032);perspective:1800px}
.wgcd-art-envelope .below-envelope-screen{display:none}
.wgcd-art-envelope .book{transform:none}
.wgcd-art-envelope .env-back,.premium-envelope-preview .env-back{position:absolute;inset:0;border-radius:6px;background:radial-gradient(ellipse at top,#fef9ec,#cdbfa9);box-shadow:inset 0 0 15px #6e55412b;overflow:hidden}
.wgcd-art-envelope .env-back:before,.premium-envelope-preview .env-back:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#fff2 0 1px,transparent 1px 3px);opacity:.3}
.wgcd-art-envelope .env-back:after,.premium-envelope-preview .env-back:after{content:"";position:absolute;inset:5px;border:1px solid #f7e2b0aa;border-radius:3px}
.lining-stars .env-back{background:radial-gradient(circle at 20% 30%,#e9cf7c 0 1px,transparent 2px),radial-gradient(circle at 80% 70%,#f1e0af 0 1px,transparent 2px),linear-gradient(135deg,#30364c,#171d32);background-size:25px 29px,39px 33px,100% 100%}
.lining-botanical .env-back{background:repeating-conic-gradient(from 22deg at 50% 110%,#a9b4a0 0deg 2deg,#f3efdf 2deg 5deg)}
.lining-brand .env-back{background:radial-gradient(circle at 25% 30%,#c2a4da 0 2px,transparent 2px),linear-gradient(135deg,#fbf2ff,#d4c0e2);background-size:24px 24px,100% 100%}
.wgcd-art-envelope .env-left,.wgcd-art-envelope .env-right,.premium-envelope-preview .env-left,.premium-envelope-preview .env-right{display:none}
.wgcd-art-envelope .env-bottom,.premium-envelope-preview .env-bottom{position:absolute;inset:0;width:100%;height:100%;z-index:9;border-radius:5px;background:var(--artwork) center/100% 100% no-repeat;clip-path:polygon(0 4%,3% 12%,40% 60%,45% 64%,50% 65%,55% 64%,60% 60%,97% 12%,100% 4%,100% 100%,0 100%);filter:none}
.wgcd-art-envelope .flap,.premium-envelope-preview .flap{position:absolute;inset:0;width:100%;height:100%;z-index:12;border-radius:5px;background:var(--artwork) center/100% 100% no-repeat;clip-path:polygon(0 0,100% 0,100% 4%,97% 12%,60% 60%,55% 64%,50% 65%,45% 64%,40% 60%,3% 12%,0 4%);transform-origin:50% 0;backface-visibility:hidden;transition:none;filter:none}
.wgcd-art-envelope .flap:after,.premium-envelope-preview .flap:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff4a 49%,transparent 70%);opacity:0;pointer-events:none}
.wgcd-art-envelope .envelope-addressee,.premium-envelope-preview .envelope-addressee{position:absolute;z-index:15;top:74%;left:16%;right:16%;max-height:23%;overflow:hidden;color:var(--ink);text-align:center;transition:opacity .25s}
.envelope-addressee small{display:block;font:8px/1.4 Arial,sans-serif;letter-spacing:.28em;opacity:.75;margin-bottom:1px}.envelope-addressee span{display:block;font:clamp(27px,5.4vw,45px)/1.15 ArtmoopScript,Georgia,serif;text-wrap:balance;overflow-wrap:anywhere}
.presentation-free .envelope-addressee{top:72%;max-height:17%}.presentation-free .envelope-addressee span{font-size:clamp(25px,5vw,40px)}
.envelope-brand{position:absolute;z-index:15;top:89%;left:25%;right:25%;display:flex;align-items:center;justify-content:center;gap:9px;color:#5b456c}.envelope-brand img{width:80px;height:auto;max-height:22px}.envelope-brand span{font:8px/1.4 Arial,sans-serif;max-width:70px;text-align:left;letter-spacing:.03em}
.wgcd-art-envelope .seal,.premium-envelope-preview .seal{position:absolute;left:50%;top:61%;z-index:18;display:grid;place-items:center;transform:translate(-50%,-50%);width:clamp(48px,11vw,72px);height:clamp(48px,11vw,72px);padding:0;appearance:none;cursor:pointer;border:0;border-radius:44% 48% 45% 42%;color:#fff0ca;font:25px Georgia,serif;background:radial-gradient(ellipse at 30% 20%,#f7e7ad 0%,#d8b76f 33%,#a17832 70%,#deb66d 100%);box-shadow:inset 1px 2px 2px #fff8,inset -2px -4px 5px #6e3c2966,0 7px 8px #35203145;text-shadow:0 1px #8d652a}
.seal:before{content:"";position:absolute;inset:13%;border:1px solid #ffefbeaa;box-shadow:0 1px 2px #78502b88,inset 0 1px 2px #fff7;border-radius:50%;pointer-events:none}.seal:after{content:"";position:absolute;inset:7%;border:1px dashed #fff2;border-radius:45%;pointer-events:none}
.seal-rose .seal{background:radial-gradient(ellipse at 30% 20%,#fbe0d1,#c98d7d 40%,#996354 75%,#e0ac99);color:#ffece3}.seal-silver .seal{background:radial-gradient(ellipse at 30% 20%,#fff,#c9c4cc 40%,#908895 78%,#dfd9e3);color:#fff;text-shadow:0 1px #777}
.seal-brand .seal{background:radial-gradient(ellipse at 30% 20%,#e9c4f4,#a56bbb 40%,#75408d 78%,#cb92da);color:#fff4ff}.seal-brand .seal:before{border-color:#f2dafa99}
.wgcd-art-envelope button.seal:focus-visible{outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 0 8px #79508b}
.premium-envelope-preview .envelope-addressee span{font-size:30px}.premium-envelope-preview .envelope-addressee small{font-size:6px}.premium-envelope-preview .seal{width:48px;height:48px;font-size:20px}.premium-envelope-preview .envelope-brand{top:88%;gap:5px}.premium-envelope-preview .envelope-brand img{width:58px}.premium-envelope-preview .envelope-brand span{font-size:6px}
.preview-note{position:absolute;z-index:6;left:20%;top:12%;width:60%;height:75%;border-radius:3px;background:linear-gradient(135deg,#fffcf6,#eee6da);box-shadow:0 5px 15px #3b25452b;display:grid;place-items:center;color:#765b7b;font:24px ArtmoopScript,Georgia,serif;opacity:0;transform:rotate(-4deg)}
.preview-opening .envelope-addressee,.preview-opening .envelope-brand{opacity:0}
.wgcd-art-envelope .controls .brand a{color:#796881;text-decoration:none;font:11px/1.4 Arial,sans-serif}.wgcd-art-envelope .controls .brand a:hover{text-decoration:underline}.wgcd-art-envelope .action{background:#413047;box-shadow:0 4px 12px #3b254526}.wgcd-art-envelope .skip-envelope{background:transparent;box-shadow:none;color:#6f5d76}
.wgcd-extraction-card{position:fixed!important;aspect-ratio:5/7;z-index:7;pointer-events:none;opacity:1;visibility:visible!important;filter:drop-shadow(0 18px 20px #2c1c3033);transform-origin:50% 50%;will-change:transform}
@media(max-width:650px){.wgcd-art-envelope .envelope-zone{width:92vw;top:53%}.wgcd-art-envelope .controls{bottom:3%}.wgcd-art-envelope .heading{top:5%}.wgcd-art-envelope .envelope-brand{gap:5px}.envelope-brand img{width:62px}.envelope-brand span{font-size:6px}.premium-envelope-preview{min-height:270px}}
@media(max-width:520px){.wgcd-presentation-fields{grid-template-columns:1fr}.wgcd-presentation-panel{margin:0 10px 12px;padding:12px}.wgcd-envelope-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.wgcd-envelope-tile span{font-size:9px}}
@media(max-height:650px){.wgcd-art-envelope .envelope-zone{width:min(70vw,360px);top:50%}}
@media(max-height:500px){.wgcd-art-envelope .stage{min-height:100svh}.wgcd-art-envelope .heading{top:3%}.wgcd-art-envelope .heading .logo,.wgcd-art-envelope .heading p{display:none}.wgcd-art-envelope .heading h1{font-size:24px}.wgcd-art-envelope .envelope-zone{width:min(48vw,290px);top:48%}.wgcd-art-envelope .controls{display:flex;gap:12px;align-items:center;bottom:3%;white-space:nowrap}.wgcd-art-envelope .controls .instruction,.wgcd-art-envelope .controls .brand{display:none}.wgcd-art-envelope .skip-envelope{margin:0}.wgcd-art-envelope .book{width:min(43vh,240px)}}
@media(prefers-reduced-motion:reduce){.wgcd-art-envelope .stage *,.premium-envelope-preview *{transition:none!important;animation:none!important}.wgcd-presentation-fx{display:none}}

.wgcd-presentation-fx{position:fixed;inset:0;z-index:2147483646;pointer-events:none;overflow:hidden}.premium-envelope-preview .wgcd-presentation-fx{position:absolute;z-index:20}
.wgcd-fx-piece{position:absolute;top:-20px;left:var(--x);width:var(--size);height:var(--size);background:var(--colour);animation:wgcdPremiumFall var(--duration) cubic-bezier(.2,.45,.5,1) var(--delay) both;will-change:transform,opacity}
.wgcd-fx-piece.petals{border-radius:90% 5% 90% 5%;height:calc(var(--size)*1.5);box-shadow:inset 2px 2px 4px #fff6}
.wgcd-fx-piece.snow{border-radius:50%;background:#fff;box-shadow:0 0 5px #fff}
.wgcd-fx-piece.sparkles{clip-path:polygon(50% 0,61% 37%,100% 50%,61% 62%,50% 100%,38% 62%,0 50%,38% 37%)}
.wgcd-fx-piece.confetti{height:calc(var(--size)*.45);border-radius:1px}
@keyframes wgcdPremiumFall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}12%{opacity:.95}90%{opacity:.8}100%{transform:translate3d(var(--drift),var(--fall),0) rotate(var(--spin));opacity:0}}
@keyframes wgcdEnvelopeGleam{0%{opacity:0;transform:translateX(-60%)}35%{opacity:.6}100%{opacity:0;transform:translateX(60%)}}
.envelope-opening .flap:after{animation:wgcdEnvelopeGleam 1s ease-out both}

.presentation-free{--flap-cut:polygon(0 0,100% 0,100% 4%,60% 54%,55% 62%,50% 64%,45% 62%,40% 54%,0 4%);--pocket-cut:polygon(0 4%,40% 54%,45% 62%,50% 64%,55% 62%,60% 54%,100% 4%,100% 100%,0 100%);--seal-y:61%;--name-y:73%}
.presentation-signature{--flap-cut:polygon(0 0,100% 0,100% 14%,60% 67%,55% 75%,50% 77%,45% 75%,40% 67%,0 14%);--pocket-cut:polygon(0 14%,40% 67%,45% 75%,50% 77%,55% 75%,60% 67%,100% 14%,100% 100%,0 100%);--seal-y:73%;--name-y:85%}
.presentation-midnight{--flap-cut:polygon(0 0,100% 0,100% 12%,60% 57%,55% 65%,50% 67%,45% 65%,40% 57%,0 12%);--pocket-cut:polygon(0 12%,40% 57%,45% 65%,50% 67%,55% 65%,60% 57%,100% 12%,100% 100%,0 100%);--seal-y:63%;--name-y:79%}
.presentation-love{--flap-cut:polygon(0 0,100% 0,100% 10%,60% 63%,55% 71%,50% 73%,45% 71%,40% 63%,0 10%);--pocket-cut:polygon(0 10%,40% 63%,45% 71%,50% 73%,55% 71%,60% 63%,100% 10%,100% 100%,0 100%);--seal-y:69%;--name-y:83%}
.presentation-emerald{--flap-cut:polygon(0 0,100% 0,100% 10%,60% 55%,55% 63%,50% 65%,45% 63%,40% 55%,0 10%);--pocket-cut:polygon(0 10%,40% 55%,45% 63%,50% 65%,55% 63%,60% 55%,100% 10%,100% 100%,0 100%);--seal-y:62%;--name-y:78%}
.presentation-pearl{--flap-cut:polygon(0 0,100% 0,100% 8%,60% 56%,55% 64%,50% 66%,45% 64%,40% 56%,0 8%);--pocket-cut:polygon(0 8%,40% 56%,45% 64%,50% 66%,55% 64%,60% 56%,100% 8%,100% 100%,0 100%);--seal-y:63%;--name-y:79%}
.presentation-deco{--flap-cut:polygon(0 0,100% 0,100% 5%,60% 54%,55% 62%,50% 64%,45% 62%,40% 54%,0 5%);--pocket-cut:polygon(0 5%,40% 54%,45% 62%,50% 64%,55% 62%,60% 54%,100% 5%,100% 100%,0 100%);--seal-y:61%;--name-y:78%}
.presentation-festive{--flap-cut:polygon(0 0,100% 0,100% 8%,60% 57%,55% 65%,50% 67%,45% 65%,40% 57%,0 8%);--pocket-cut:polygon(0 8%,40% 57%,45% 65%,50% 67%,55% 65%,60% 57%,100% 8%,100% 100%,0 100%);--seal-y:63%;--name-y:79%}
.presentation-celebration{--flap-cut:polygon(0 0,100% 0,100% 7%,60% 55%,55% 63%,50% 65%,45% 63%,40% 55%,0 7%);--pocket-cut:polygon(0 7%,40% 55%,45% 63%,50% 65%,55% 63%,60% 55%,100% 7%,100% 100%,0 100%);--seal-y:62%;--name-y:78%}
.wgcd-art-envelope .flap,.premium-envelope-preview .flap{clip-path:var(--flap-cut)}
.wgcd-art-envelope .env-bottom,.premium-envelope-preview .env-bottom{clip-path:var(--pocket-cut)}
.wgcd-art-envelope .seal,.premium-envelope-preview .seal{top:var(--seal-y)}
.wgcd-art-envelope .envelope-addressee,.premium-envelope-preview .envelope-addressee{top:var(--name-y)}
.presentation-signature .envelope-addressee small,.presentation-love .envelope-addressee small{display:none}

.envelope-addressee span{padding-top:4px;line-height:1.25}
.presentation-free{--name-y:72%}
.presentation-free .envelope-brand{top:92.5%}

/* The extracted card belongs between the lining and the front pocket until clear. */
.wgcd-art-envelope .env-back,.premium-envelope-preview .env-back{z-index:1}
.wgcd-art-envelope .wgcd-extraction-card.wgcd-pocket-card{position:absolute!important;z-index:6}
