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