.vinyl-envelope-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-light);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;cursor:pointer}.ve-scene{width:100%;max-width:450px;height:300px;position:relative;perspective:1200px}.ve-envelope{width:100%;height:100%;background:var(--envelope-paper);position:relative;box-shadow:0 15px 40px #0003;border-radius:8px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1)}.ve-flap{position:absolute;top:0;left:0;right:0;height:60%;background:var(--envelope-paper);clip-path:polygon(0 0,50% 100%,100% 0);z-index:7;transform-origin:top;transition:transform .8s ease-in-out}.ve-envelope.open .ve-flap{transform:rotateX(180deg);background:var(--envelope-green);z-index:3}.ve-body{position:absolute;inset:0;background:var(--envelope-paper);clip-path:polygon(0 0,0 100%,100% 100%,100% 0,50% 60%);z-index:6}.ve-wax-seal{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#628671;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:8;box-shadow:0 5px 15px #0000004d;color:var(--gold);font-family:Great Vibes,cursive;font-size:1.8rem;transition:opacity .4s}.ve-envelope.open .ve-wax-seal{opacity:0}.ve-vinyl{position:absolute;width:140px;height:140px;background:#111;border-radius:50%;top:40px;left:40px;z-index:1;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 20px #0006;transition:all 1.2s ease-in-out;background-image:radial-gradient(circle,transparent 40%,#111 41%,#222 45%,#111 50%,#222 55%,#111 60%)}.ve-envelope.open .ve-vinyl{transform:translate(-100px,-50px) rotate(-45deg)}.ve-vinyl-center{width:45px;height:45px;background:var(--envelope-green);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--gold);color:#fff}.ve-card-preview{position:absolute;bottom:10px;left:10px;right:10px;background:#fff;height:150px;z-index:4;border-radius:4px;padding:20px;text-align:center;transition:transform 1.2s ease}.ve-envelope.open .ve-card-preview{transform:translateY(-80px)}.ve-hint{margin-top:50px;font-size:.9rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-green);animation:pulseHint 2s infinite}@keyframes pulseHint{0%,to{opacity:.6}50%{opacity:1}}.invitation-container{width:100%;max-width:500px;margin:0 auto;padding:40px 20px}.invitation-card{background:#fff;border-radius:20px;padding:40px 30px;position:relative;z-index:10;background-image:url(https://www.transparenttextures.com/patterns/floral-texture.png)}.wedding-names{font-family:Great Vibes,cursive;font-size:3.5rem;color:var(--text-green);line-height:1.1}.and-symbol{font-size:2rem;opacity:.6}.wedding-date-top{font-family:Cormorant Garamond,serif;font-size:1.5rem;letter-spacing:3px;text-transform:uppercase}.details-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:25px;margin:40px 0}.detail-item{padding:20px;background:#1a4f3b08;border-radius:15px;text-align:center;border:1px solid rgba(26,79,59,.05)}.detail-icon{font-size:1.5rem;color:var(--text-green);margin-bottom:10px}.detail-label{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:#888;margin-bottom:5px}.detail-value{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600}.italic{font-style:italic;opacity:.8}.footer-divider{height:1px;background:linear-gradient(to right,transparent,rgba(26,79,59,.2),transparent)}@media(max-width:500px){.wedding-names{font-size:2.8rem}.ve-scene{max-width:90%}}
