@import"https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;600;700&family=Playfair+Display:wght@400;600;700&family=Great+Vibes&display=swap";:root{font-family:Playfair Display,serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;width:100vw;height:100vh;overflow:hidden;background:linear-gradient(135deg,#f8f6f3,#ebe7e0)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Playfair Display,serif;line-height:1.6}#root{width:100vw;height:100vh;overflow:hidden}.App{width:100%;height:100%}*{box-sizing:border-box}.invitation-container{min-height:100vh;background:linear-gradient(135deg,#f8f6f3,#ebe7e0);position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;padding:20px}.floating-hearts{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.heart{position:absolute;color:#d4af3799;font-size:20px;animation:float 6s ease-in-out infinite}.heart-1{left:10%;animation-delay:0s}.heart-2{left:20%;animation-delay:1s}.heart-3{left:30%;animation-delay:2s}.heart-4{left:40%;animation-delay:3s}.heart-5{left:60%;animation-delay:1.5s}.heart-6{left:70%;animation-delay:2.5s}.heart-7{left:80%;animation-delay:.5s}.heart-8{left:90%;animation-delay:3.5s}@keyframes float{0%,to{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}50%{transform:translateY(-10px) rotate(180deg)}}.sparkles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.sparkle{position:absolute;font-size:12px;animation:sparkle 4s ease-in-out infinite}.sparkle-1{top:10%;left:15%;animation-delay:0s}.sparkle-2{top:20%;right:20%;animation-delay:.5s}.sparkle-3{top:30%;left:80%;animation-delay:1s}.sparkle-4{top:40%;left:10%;animation-delay:1.5s}.sparkle-5{top:50%;right:15%;animation-delay:2s}.sparkle-6{top:60%;left:25%;animation-delay:2.5s}.sparkle-7{top:70%;right:30%;animation-delay:3s}.sparkle-8{top:80%;left:60%;animation-delay:3.5s}.sparkle-9{top:15%;left:50%;animation-delay:1.2s}.sparkle-10{top:75%;right:10%;animation-delay:2.7s}.sparkle-11{top:35%;left:70%;animation-delay:.8s}.sparkle-12{top:85%;left:40%;animation-delay:3.2s}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.invitation{position:relative;width:800px;height:900px;max-width:95vw;max-height:95vh;perspective:1000px;z-index:10;transition:transform .5s ease}.door{position:absolute;top:0;width:50%;height:100%;background:linear-gradient(145deg,#f5f3f0,#e8e5e0);border:3px solid #d4af37;border-radius:15px;transition:transform 1s ease-in-out;backface-visibility:hidden;box-shadow:0 20px 40px #0000001a}.left-door{left:0;transform-origin:left center;border-right:1.5px solid #d4af37}.right-door{right:0;transform-origin:right center;border-left:1.5px solid #d4af37}.door-content{padding:40px 20px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.ornament{font-size:60px;color:#d4af37;opacity:.7}.invitation.opened .left-door{transform:rotateY(-120deg)}.invitation.opened .right-door{transform:rotateY(120deg)}.wax-seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:radial-gradient(circle,#8b0000,#dc143c);border-radius:50%;cursor:pointer;z-index:20;transition:all .3s ease;box-shadow:0 8px 25px #8b000066;animation:pulse 2s infinite}.wax-seal:hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 12px 35px #8b000099}.seal-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#f5f3f0}.seal-heart{font-size:24px;margin-bottom:5px}.seal-text{font-size:10px;font-family:Playfair Display,serif;text-align:center;font-weight:600}@keyframes pulse{0%,to{box-shadow:0 8px 25px #8b000066}50%{box-shadow:0 8px 25px #8b0000cc,0 0 20px #8b00004d}}.invitation-content{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(145deg,#fefcf9,#f8f6f3);border-radius:15px;padding:40px;opacity:0;transition:opacity 1s ease .5s;overflow-y:auto;box-shadow:inset 0 0 50px #d4af371a;border:2px solid #d4af37}.invitation.opened .invitation-content{opacity:1}.header{text-align:center;margin-bottom:30px}.couple-names{font-family:Great Vibes,cursive;font-size:3.5rem;color:#8b4513;margin:0;line-height:1.2}.bride,.groom{display:block}.ampersand{font-size:2rem;color:#d4af37;margin:10px 0;display:block}.ampersand.small{font-size:1.2rem;margin:5px 0}.wedding-details{text-align:center;color:#5d4037}.invitation-text{font-family:Playfair Display,serif;font-size:1.1rem;margin-bottom:30px;font-style:italic;line-height:1.4}.date-venue{margin-bottom:30px;padding:20px;background:#d4af371a;border-radius:10px;border:1px solid rgba(212,175,55,.3)}.wedding-date{font-family:Dancing Script,cursive;font-size:2.2rem;color:#d4af37;margin:0 0 15px;font-weight:700}.venue,.address,.time{font-family:Playfair Display,serif;margin:5px 0;font-size:1.1rem}.venue-info,.reception-info{display:flex;flex-direction:column;align-items:center;gap:8px}.map-link{display:inline-flex;align-items:center;gap:5px;color:#d4af37;text-decoration:none;font-family:Playfair Display,serif;font-size:.95rem;font-weight:600;padding:8px 15px;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:20px;transition:all .3s ease;margin-top:5px}.map-link:hover{background:#d4af3733;border-color:#d4af3780;transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.parents{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.parents-section,.best-man,.reception{background:#f8f6f3cc;padding:15px;border-radius:8px;border-left:4px solid #d4af37}.parents-section h3,.best-man h3,.reception h3,.gift-section h3{font-family:Dancing Script,cursive;font-size:1.4rem;color:#d4af37;margin:0 0 10px}.parents-section p,.best-man p,.reception p{font-family:Playfair Display,serif;margin:5px 0}.wedding-party,.reception{margin-bottom:25px}.gift-section{background:#d4af371a;padding:20px;border-radius:10px;margin-bottom:25px;border:1px solid rgba(212,175,55,.3)}.gift-info{margin-top:15px}.iban-container{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding:10px;background:#fff;border-radius:5px;border:1px solid #d4af37}.iban{font-family:Courier New,monospace;font-weight:700;color:#5d4037;font-size:.9rem;letter-spacing:1px}.copy-btn{background:#d4af37;border:none;padding:5px 10px;border-radius:3px;cursor:pointer;font-size:14px;transition:background .3s ease}.copy-btn:hover{background:#b8941f}.rsvp{font-family:Playfair Display,serif;font-size:.95rem;font-style:italic;line-height:1.4}.rsvp p{margin:5px 0}@media (max-width: 768px){.invitation{width:98vw;height:98vh}.invitation-content{padding:20px;font-size:.9rem}.couple-names{font-size:2.8rem}.wedding-date{font-size:1.8rem}.parents{grid-template-columns:1fr;gap:10px}.iban-container{flex-direction:column;gap:5px}.iban{font-size:.8rem}.heart{font-size:16px}.sparkle{font-size:10px}.map-link{font-size:.85rem;padding:6px 12px}}
