@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Cormorant+Garamond:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500;600&family=Great+Vibes&family=Allura&family=Dancing+Script:wght@400;600;700&family=Alex+Brush&family=Pacifico&family=Playlist+Script&family=Sacramento&family=Arizonia&family=Tangerine:wght@400;700&family=Yellowtail&family=Parisienne&family=Mr+De+Haviland&family=Kaushan+Script&display=swap);@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Poppins:wght@300;400;500&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home{align-items:center;background-color:#fff9f9;color:#333;display:flex;font-family:Poppins,sans-serif;justify-content:center;line-height:1.6;min-height:100vh;overflow-x:hidden}.simple-center{text-align:center}.simple-center h1{color:#5d4037;font-family:Playfair Display,serif;font-size:3rem;margin:0}.section{padding:80px 0}.section-title{color:#8d6e63;font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:50px;position:relative}.section-title:after{background:#d7ccc8;content:"";display:block;height:3px;margin:15px auto;width:100px}.hero{align-items:center;background:linear-gradient(#fff9f9e6,#fff9f9e6),url(https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=1920&h=1080) no-repeat 50%/cover;display:flex;height:100vh;justify-content:center;position:relative;text-align:center}.hero-content{padding:20px}.ornament-bottom,.ornament-top{margin:20px 0}.ornament-bottom img,.ornament-top img{filter:sepia(50%);height:auto;width:100px}.couple-names{color:#5d4037;font-family:Playfair Display,serif;font-size:4rem;text-shadow:2px 2px 4px #0000001a}.ampersand{color:#8d6e63}.wedding-date{color:#8d6e63;font-size:1.5rem;font-weight:300}.story{background-color:#fff;padding:80px 0}.story-content{align-items:center;flex-wrap:wrap;gap:40px}.story-text{flex:1 1;min-width:300px}.story-text p{color:#5d4037;font-size:1.1rem;margin-bottom:20px}.story-image{flex:1 1;min-width:300px;text-align:center}.story-image img{border:10px solid #f3e5e5;border-radius:10px;box-shadow:0 10px 30px #0000001a;max-width:100%}.events{background-color:#f3e5e5;padding:80px 0}.events-container{display:flex;flex-wrap:wrap;gap:40px;justify-content:center}.event-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;padding:30px;transition:transform .3s ease;width:350px}.event-card:hover{transform:translateY(-10px)}.event-icon{color:#8d6e63;font-size:3rem}.event-card h3{color:#5d4037;font-family:Playfair Display,serif;font-size:1.8rem;margin-bottom:20px}.event-details p{color:#5d4037;margin-bottom:10px}.event-date{font-size:1.2rem;font-weight:600}.event-time{font-style:italic}.event-location{font-size:.9rem}.countdown{background:linear-gradient(#8d6e63e6,#8d6e63e6),url(https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=1920&h=1080) no-repeat 50%/cover;color:#fff;padding:80px 0;text-align:center}.countdown .section-title{color:#fff}.countdown .section-title:after{background:#d7ccc8}.countdown-container{display:flex;flex-wrap:wrap}.countdown-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;min-width:120px;padding:20px}.countdown-number{font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:10px}.countdown-label{font-size:1rem}.gallery{background-color:#fff;padding:80px 0}.gallery-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.gallery-item{border-radius:10px;box-shadow:0 5px 15px #0000001a;transition:transform .3s ease}.gallery-item:hover{transform:scale(1.05)}.gallery-item img{display:block;height:250px;object-fit:cover;transition:transform .5s ease;width:100%}.gallery-item:hover img{transform:scale(1.1)}.location{background-color:#f3e5e5;padding:80px 0}.location-container{display:flex;flex-wrap:wrap;gap:40px}.location-details,.map-container{flex:1 1;min-width:300px}.location-details{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;padding:30px}.location-details h3{color:#5d4037;font-family:Playfair Display,serif;font-size:1.8rem;margin-bottom:20px}.location-details p{align-items:flex-start;color:#5d4037;display:flex;margin-bottom:15px}.location-details i{color:#8d6e63;margin-right:10px;width:20px}.footer{background:#5d4037;color:#fff;padding:50px 0 20px;text-align:center}.footer-content{margin:0 auto;max-width:600px}.footer-text{font-size:1.2rem;margin-bottom:20px}.footer-couple{color:#f3e5e5;font-family:Playfair Display,serif;font-size:2rem;margin-bottom:30px}.social-links{display:flex;gap:20px;justify-content:center;margin-bottom:30px}.social-links a{align-items:center;background:#ffffff1a;border-radius:50%;color:#fff;display:inline-flex;font-size:1.5rem;height:50px;justify-content:center;text-decoration:none;transition:all .3s ease;width:50px}.social-links a:hover{background:#8d6e63;transform:translateY(-5px)}@media (max-width:768px){.section{padding:50px 0}.section-title{font-size:2rem}.couple-names{font-size:2.5rem}.wedding-date{font-size:1.2rem}.events-container{align-items:center;flex-direction:column}.event-card{max-width:350px;width:100%}.countdown-item{min-width:100px;padding:15px}.countdown-number{font-size:2rem}.location-container{flex-direction:column}}@media (max-width:480px){.container{width:95%}.couple-names{font-size:2rem}.ornament-bottom img,.ornament-top img{width:70px}.countdown-container{gap:10px}.countdown-item{min-width:70px;padding:10px}.countdown-number{font-size:1.5rem}.countdown-label{font-size:.8rem}}.welcome-cover{height:100vh;height:100dvh;left:0;overflow:hidden;position:fixed;top:0;transition:opacity 1s ease,transform 1s ease;width:100%;z-index:9999}body.cover-open{height:100vh;overflow:hidden}.welcome-cover.opening{opacity:0;pointer-events:none;transform:scale(.95)}.cover-background{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#f5f1e8,#faf8f3 50%,#f5f1e8);background-size:200% 200%}.cover-background,.cover-background:before{height:100%;left:0;position:absolute;top:0;width:100%}.cover-background:before{animation:pulseGlow 8s ease-in-out infinite;background-image:radial-gradient(circle at 20% 30%,#87a96b08 0,#0000 50%),radial-gradient(circle at 80% 70%,#c9a96108 0,#0000 50%),radial-gradient(circle at 50% 50%,#2d501605 0,#0000 60%);content:""}@keyframes pulseGlow{0%,to{opacity:.5}50%{opacity:1}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.floating-ornament{animation:floatAround 20s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(45,80,22,.1));font-size:2.5rem;opacity:.15;position:absolute;text-shadow:0 1px 2px #87a96b33}.orn-1{animation-delay:0s;left:15%;top:10%}.orn-2{animation-delay:3s;right:20%;top:20%}.orn-3{animation-delay:6s;bottom:30%;left:10%}.orn-4{animation-delay:9s;bottom:15%;right:15%}.orn-5{animation-delay:12s;left:5%;top:50%}.orn-6{animation-delay:15s;right:10%;top:60%}.cover-content{align-items:center;animation:fadeInUp 1.5s ease;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:center;padding:40px 20px;position:relative}.cover-content:after,.cover-content:before{animation:fadeIn 1.5s ease .5s backwards;border:2px solid #87a96b26;content:"";height:120px;position:absolute;width:120px}.cover-content:before{border-bottom:none;border-right:none;border-top-left-radius:20px;left:40px;top:40px}.cover-content:after{border-bottom-right-radius:20px;border-left:none;border-top:none;bottom:40px;right:40px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.cover-ornament{animation:rotateOrnament 20s linear infinite,pulseOrnament 4s ease-in-out infinite;color:#87a96b;height:100px;margin:20px 0;position:relative;width:100px}.cover-ornament:before{animation:expandRing 3s ease-in-out infinite;background:radial-gradient(circle,#87a96b14 0,#0000 70%);border-radius:50%;content:"";inset:-10px;position:absolute}@keyframes expandRing{0%,to{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes pulseOrnament{0%,to{filter:drop-shadow(0 2px 8px rgba(45,80,22,.1))}50%{filter:drop-shadow(0 4px 16px rgba(135,169,107,.3))}}.ornament-svg{filter:drop-shadow(0 3px 10px rgba(45,80,22,.15));height:100%;width:100%}@keyframes rotateOrnament{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cover-text{margin:30px 0;text-align:center}.cover-subtitle{animation:fadeIn 1.5s ease .3s backwards;color:#5a6c5b;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;letter-spacing:4px;margin-bottom:25px;text-transform:uppercase}.cover-names{align-items:center;color:#2d5016;display:flex;flex-wrap:wrap;font-family:Cormorant Garamond,serif;font-size:4.5rem;font-weight:600;gap:10px;justify-content:center;letter-spacing:3px;line-height:1.2;margin:20px 0;position:relative;text-shadow:2px 2px 4px #87a96b1a;text-transform:uppercase}.cover-names:after,.cover-names:before{animation:fadeIn 1.5s ease 1.5s backwards;color:#87a96b;content:"❦";font-size:1.5rem;opacity:.4;position:absolute}.cover-names:before{left:-40px;top:50%;transform:translateY(-50%) rotate(-15deg)}.cover-names:after{right:-40px;top:50%;transform:translateY(-50%) rotate(15deg)}.name-animate{animation:slideInName 1s ease .5s backwards;display:inline-block;position:relative}.name-animate:first-child{animation-delay:.6s}.name-animate:nth-child(3){animation-delay:.8s}@keyframes slideInName{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.ampersand{animation:scaleIn .8s ease 1s backwards;font-family:Sacramento,cursive;font-size:4rem;font-style:normal;font-weight:400;letter-spacing:normal;text-transform:none!important}.cover-divider{animation:expandWidth 1s ease 1.2s backwards;background:linear-gradient(90deg,#0000,#87a96b,#0000);height:2px;margin:30px auto;position:relative;width:150px}.cover-divider:after,.cover-divider:before{animation:fadeIn 1s ease 1.4s backwards,twinkle 2s ease-in-out 2s infinite;color:#87a96b;content:"✦";font-size:.8rem;position:absolute;top:50%;transform:translateY(-50%)}.cover-divider:before{left:-20px}.cover-divider:after{right:-20px}@keyframes twinkle{0%,to{opacity:.6;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.2)}}@keyframes expandWidth{0%{opacity:0;width:0}to{opacity:1;width:150px}}.cover-date{animation:fadeIn 1s ease 1.4s backwards;color:#2d5016;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:500;letter-spacing:2px}.guest-greeting{animation:fadeIn 1s ease 1.6s backwards;margin:40px 0 30px;padding:30px 50px;position:relative;text-align:center}.guest-greeting:before{left:10px;transform:translateY(-50%)}.guest-greeting:after,.guest-greeting:before{color:#87a96b;content:"〜";font-size:1.5rem;opacity:.5;position:absolute;top:50%}.guest-greeting:after{right:10px;transform:translateY(-50%) scaleX(-1)}.greeting-label{animation:fadeIn 1s ease 1.7s backwards;margin-bottom:8px}.greeting-label,.greeting-title{color:#5a6c5b;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:400;letter-spacing:2px}.greeting-title{animation:fadeIn 1s ease 1.8s backwards;margin-bottom:15px}.greeting-name{animation:fadeIn 1s ease 1.9s backwards,gentleGlow 3s ease-in-out 2.5s infinite;color:#2d5016;font-family:Playfair Display,serif;font-size:2.2rem;font-weight:700;letter-spacing:1px;position:relative;text-shadow:2px 2px 4px #87a96b1a}.greeting-name:after{animation:expandWidth .8s ease 2s backwards;background:linear-gradient(90deg,#0000,#87a96b,#0000);bottom:-8px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:60%}@keyframes gentleGlow{0%,to{text-shadow:2px 2px 4px #87a96b1a}50%{text-shadow:2px 2px 8px #87a96b4d}}.open-invitation-btn{align-items:center;animation:bounceIn 1s ease 1.8s backwards,pulseButton 2s ease-in-out 3s infinite;background:linear-gradient(135deg,#2d5016,#4a7c2c);border:2px solid #fff3;border-radius:50px;box-shadow:0 8px 25px #2d50164d,0 0 0 0 #87a96b66;color:#fff;cursor:pointer;display:flex;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;gap:12px;letter-spacing:1px;margin-top:30px;overflow:hidden;padding:14px 40px;position:relative;transition:all .4s ease}@keyframes pulseButton{0%,to{box-shadow:0 8px 25px #2d50164d,0 0 0 0 #87a96b66}50%{box-shadow:0 8px 25px #2d50164d,0 0 0 8px #87a96b00}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.open-invitation-btn:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);width:200%}@keyframes shimmer{0%{left:-100%}50%,to{left:100%}}.open-invitation-btn:hover{border-color:#fff6;box-shadow:0 15px 40px #2d501666,0 0 0 4px #87a96b33;transform:translateY(-5px) scale(1.05)}.open-invitation-btn:active{transform:translateY(-2px) scale(1.02)}.btn-icon,.btn-text{position:relative;z-index:1}.btn-icon{animation:envelopeFloat 2s ease-in-out infinite;font-size:1.3rem}@keyframes envelopeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.scroll-indicator{display:none}@media (max-width:768px){.cover-content{padding:40px 35px 70px}.cover-content:before{height:100px;left:35px;top:40px;width:100px}.cover-content:after{bottom:30px;height:90px;right:35px;width:90px}.floating-ornament{font-size:2rem}.cover-names{gap:15px}.ampersand,.cover-names{font-size:3rem}.cover-subtitle{font-size:.8rem;letter-spacing:3px}.cover-date{font-size:.95rem}.greeting-label,.greeting-title{font-size:.85rem;letter-spacing:1.5px}.greeting-name{font-size:1.8rem}.guest-greeting{margin:25px 0 20px}.open-invitation-btn{font-size:.95rem;padding:12px 35px}.cover-ornament{height:60px;width:60px}}@media (max-width:480px){.cover-content{padding:35px 30px 70px}.cover-content:before{height:80px;left:30px;top:30px;width:80px}.cover-content:after{bottom:30px;height:70px;right:30px;width:70px}.cover-ornament{height:50px;margin:15px 0;width:50px}.cover-subtitle{font-size:.75rem;letter-spacing:2px;margin-bottom:18px}.cover-names{flex-direction:column;font-size:2.5rem;gap:10px;margin:12px 0}.ampersand{font-size:2.5rem;margin:5px 0}.cover-divider{margin:18px auto}.cover-date{font-size:.9rem}.guest-greeting{margin:25px 0 18px;padding:20px 30px}.greeting-label,.greeting-title{font-size:.8rem;letter-spacing:1px}.greeting-name{font-size:1.6rem}.open-invitation-btn{font-size:.9rem;gap:10px;margin-top:20px;padding:12px 30px}.scroll-indicator{bottom:30px}}:root{--primary-green:#2d5016;--light-green:#4a7c2c;--sage-green:#87a96b;--cream:#f5f1e8;--light-cream:#faf8f3;--white:#fff;--dark-text:#2c3e2e;--light-text:#5a6c5b;--gold-accent:#c9a961}body{background-color:#faf8f3;background-color:var(--light-cream);color:#2c3e2e;color:var(--dark-text);font-family:Montserrat,sans-serif;overflow-x:hidden;scroll-behavior:smooth}.music-toggle{align-items:center;background:linear-gradient(135deg,#87a96b,#a8c89a);border:2px solid #ffffff4d;border-radius:50%;bottom:30px;box-shadow:0 5px 20px #87a96b4d;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:60px;justify-content:center;position:fixed;right:30px;transition:all .3s ease;width:60px;z-index:1000}.music-toggle:hover{background:linear-gradient(135deg,#6f9156,#87a96b);box-shadow:0 8px 30px #87a96b66;transform:scale(1.1)}.music-toggle:active{transform:scale(.95)}.animate-on-scroll{opacity:0;transform:translateY(50px);transition:opacity .8s ease,transform .8s ease}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}.invitation-loading{align-items:center;background:linear-gradient(135deg,#faf8f3,#f5f1e8);background:linear-gradient(135deg,var(--light-cream) 0,var(--cream) 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.invitation-loading:before{animation:pulseBackground 3s ease-in-out infinite;background:radial-gradient(circle,#87a96b1a 0,#0000 70%);border-radius:50%;content:"";height:300px;position:absolute;width:300px}@keyframes pulseBackground{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}.loader{animation:floatLogo 3s ease-in-out infinite}.loader img{animation:gentleRotate 8s ease-in-out infinite,pulseLogo 2s ease-in-out infinite}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gentleRotate{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.05)}}@keyframes pulseLogo{0%,to{opacity:.9}50%{opacity:1}}.loader:after,.loader:before{animation:orbitStar 4s linear infinite;color:#87a96b;color:var(--sage-green);content:"✦";font-size:1.5rem;position:absolute}.loader:before{left:50%;top:-30px;transform-origin:0 90px}.loader:after{animation-delay:2s;bottom:-30px;left:50%;transform-origin:0 -90px}@keyframes orbitStar{0%{transform:rotate(0deg) translateX(60px)}to{transform:rotate(1turn) translateX(60px)}}.invitation-loading p{animation:fadeInOut 2s ease-in-out infinite;color:#2d5016;color:var(--primary-green);font-size:1.1rem;font-weight:500;letter-spacing:1px;margin-top:40px;position:relative;z-index:1}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.invitation-wrapper{background-color:#fff;background-color:var(--white);width:100%}section{padding:80px 20px;width:100%}.section-title{color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:3.5rem;font-weight:800;letter-spacing:1px;margin-bottom:60px;text-align:center;text-shadow:2px 2px 4px #2d50161a}.section-title-wrapper{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:-20px}.leaf-ornament{animation:float 3s ease-in-out infinite;color:#87a96b;color:var(--sage-green);font-size:2rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-section{align-items:center;background:linear-gradient(135deg,#faf8f3,#fff 50%,#f5f1e8);background:linear-gradient(135deg,var(--light-cream) 0,var(--white) 50%,var(--cream) 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:30px 20px 60px;position:relative;text-align:center}.hero-floating-ornament{animation:floatAround 20s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(45,80,22,.1));font-size:2rem;opacity:.12;pointer-events:none;position:absolute;z-index:0}.hero-floating-ornament.hero-orn-1{animation-delay:0s;left:8%;top:15%}.hero-floating-ornament.hero-orn-2{animation-delay:3s;font-size:1.8rem;right:10%;top:25%}.hero-floating-ornament.hero-orn-3{animation-delay:6s;left:5%;top:45%}.hero-floating-ornament.hero-orn-4{animation-delay:9s;font-size:1.8rem;right:8%;top:55%}.hero-floating-ornament.hero-orn-5{animation-delay:12s;bottom:25%;left:12%}.hero-floating-ornament.hero-orn-6{animation-delay:15s;bottom:30%;font-size:1.8rem;right:15%}@keyframes floatAround{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(15px,-15px) rotate(5deg)}50%{transform:translate(-12px,12px) rotate(-5deg)}75%{transform:translate(12px,15px) rotate(3deg)}}.hero-section:after{border:2px solid #87a96b26;border-bottom:none;border-right:none;border-top-left-radius:15px;content:"";left:40px;top:40px}.hero-corner-decoration,.hero-section:after{height:100px;position:fixed;width:100px;z-index:1}.hero-corner-decoration{border:2px solid #87a96b26;border-bottom-right-radius:15px;border-left:none;border-top:none;bottom:80px;pointer-events:none;right:40px}.hero-section:before{animation:rotate 30s linear infinite;background:radial-gradient(circle at 30% 40%,#87a96b14 0,#0000 50%),radial-gradient(circle at 70% 60%,#c9a9610f 0,#0000 50%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-ornament{animation:float 4s ease-in-out infinite,twinkleSlow 3s ease-in-out infinite;color:#87a96b;color:var(--sage-green);filter:drop-shadow(0 4px 8px rgba(45,80,22,.15));font-size:3.5rem;margin:0 0 10px;opacity:.6;position:relative}.hero-ornament:before{animation:pulseRing 4s ease-in-out infinite;background:radial-gradient(circle,#87a96b1a 0,#0000 60%);border-radius:50%;content:"";inset:-15px;position:absolute}@keyframes pulseRing{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.6;transform:scale(1.3)}}@keyframes twinkleSlow{0%,to{opacity:.5}50%{opacity:.8}}.hero-content{margin-top:10px;max-width:800px;z-index:1}.hero-logo{margin-bottom:30px}.hero-logo img{filter:drop-shadow(0 4px 10px rgba(45,80,22,.2));height:auto;width:120px}.hero-subtitle{color:#5a6c5b;color:var(--light-text);font-size:1.1rem;font-weight:400;letter-spacing:3px;margin-bottom:15px;text-transform:uppercase}.couple-names{animation:fadeInScale 1.2s ease;color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:4.5rem;font-weight:700;line-height:1.2;margin:20px 0;position:relative;text-shadow:3px 3px 6px #87a96b26}.couple-names:after,.couple-names:before{animation:twinkleStars 2s ease-in-out infinite;color:#c9a961;color:var(--gold-accent);content:"✦";font-size:1.5rem;opacity:.6;position:absolute}.couple-names:before{left:auto;right:80px;top:120px}.couple-names:after,.couple-names:before{font-size:1.8rem;opacity:.4;position:fixed;z-index:1}.couple-names:after{bottom:120px;left:80px;right:auto;top:auto}@keyframes twinkleStars{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.ampersand{color:#87a96b;color:var(--sage-green);font-style:italic;margin:0 20px}.wedding-date{color:#5a6c5b;color:var(--light-text);font-size:1.1rem;font-weight:400;margin:20px 0}.hero-divider{background:linear-gradient(90deg,#0000,#87a96b,#0000);background:linear-gradient(to right,#0000,var(--sage-green),#0000);height:2px;margin:40px auto;position:relative;width:120px}.hero-divider:after,.hero-divider:before{animation:fadeIn 1.5s ease .5s backwards;color:#87a96b;color:var(--sage-green);content:"❦";font-size:1rem;position:absolute;top:50%;transform:translateY(-50%)}.hero-divider:before{left:-25px}.hero-divider:after{right:-25px}.personalized-greeting{color:#2d5016;color:var(--primary-green);font-size:1.5rem;font-weight:500;margin-bottom:20px;padding:15px 30px;position:relative}.personalized-greeting:before{content:"«";left:0}.personalized-greeting:after,.personalized-greeting:before{color:#87a96b;color:var(--sage-green);font-size:1.8rem;opacity:.4;position:absolute;top:50%;transform:translateY(-50%)}.personalized-greeting:after{content:"»";right:0}.hero-message{background:#ffffff80;border:1px solid #87a96b1a;border-radius:20px;box-shadow:0 5px 20px #2d50160d;color:#5a6c5b;color:var(--light-text);font-size:1.1rem;line-height:1.8;margin:0 auto;max-width:600px;padding:25px}.couple-section{background:linear-gradient(135deg,#fdfcfb,#f8f7f4 50%,#fdfcfb);overflow:hidden;position:relative}.couple-section:before{animation:floatSlow 8s ease-in-out infinite;content:"🌿";font-size:3rem;left:5%;opacity:.15;position:absolute;top:10%}.couple-section:after{animation:floatSlow 6s ease-in-out infinite reverse;bottom:15%;content:"🌸";font-size:2.5rem;opacity:.15;position:absolute;right:8%}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}.couple-decoration{font-size:2rem;opacity:.12;pointer-events:none;position:absolute;z-index:0}.couple-decor-1{animation:floatSlow 7s ease-in-out infinite;font-size:2.5rem;right:12%;top:10%}.couple-decor-2{animation:floatSlow 9s ease-in-out 1s infinite;font-size:2rem;left:8%;top:30%}.couple-decor-3{animation:floatSlow 6s ease-in-out 2s infinite;font-size:2.8rem;left:25%;top:20%}.couple-decor-4{animation:floatSlow 8s ease-in-out 1.5s infinite;bottom:25%;font-size:1.8rem;left:15%}.couple-decor-5{animation:floatSlow 7.5s ease-in-out .5s infinite;bottom:10%;font-size:2.3rem;right:20%}.couple-introduction{margin:0 auto 50px;max-width:700px;padding:0 20px;text-align:center}.couple-greeting{color:#2d5016;color:var(--primary-green);font-size:1.1rem;font-style:italic;font-weight:600;margin-bottom:20px}.couple-message{color:#2c3e2e;color:var(--dark-text);font-size:1rem;line-height:1.8;text-align-last:center}.couple-container{align-items:center;display:flex;flex-wrap:wrap;gap:60px;justify-content:center}.couple-card{flex:1 1;max-width:300px;min-width:250px;text-align:center}.couple-image-wrapper{margin-bottom:25px;position:relative}.couple-image{background:linear-gradient(135deg,#87a96b,#4a7c2c);background:linear-gradient(135deg,var(--sage-green) 0,var(--light-green) 100%);border:5px solid #f5f1e8;border:5px solid var(--cream);border-radius:50%;box-shadow:0 10px 30px #2d501626;height:220px;margin:0 auto;overflow:hidden;position:relative;transition:transform .5s ease,box-shadow .5s ease;width:220px}.couple-image:before{background:linear-gradient(45deg,#0000 30%,#ffffff4d 50%,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);transition:all .5s;width:200%}.couple-image:hover:before{left:100%}.couple-image:hover{box-shadow:0 15px 40px #2d501640;transform:scale(1.05) rotate(3deg)}.couple-name{color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:600;margin-bottom:10px}.couple-description{color:#5a6c5b;color:var(--light-text);font-size:1rem;letter-spacing:2px;text-transform:uppercase}.couple-divider{flex-shrink:0}.heart-icon{animation:heartbeat 1.5s ease-in-out infinite;color:#87a96b;color:var(--sage-green);font-size:2.5rem}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.couple-container-vertical{align-items:center;display:flex;flex-direction:column;gap:60px;margin:0 auto;max-width:500px;padding:40px 20px;position:relative}@media (min-width:1024px){.couple-container-vertical{flex-direction:row;gap:80px;justify-content:center;max-width:1200px}}.couple-card-vertical{background:linear-gradient(135deg,#ffffff80,#faf8f3cc);border:1px solid #87a96b1a;border-radius:30px;box-shadow:0 10px 40px #2d501614;padding:30px;position:relative;text-align:center;transition:all .5s ease;width:100%;z-index:10}@media (min-width:1024px){.couple-card-vertical{max-width:450px}}.couple-card-vertical:hover{border-color:#87a96b33;box-shadow:0 15px 50px #2d501626;transform:translateY(-5px)}.couple-image-wrapper-vertical{display:inline-block;margin-bottom:30px;position:relative}.couple-image-wrapper-vertical:after,.couple-image-wrapper-vertical:before{animation:floatPetal 4s ease-in-out infinite;color:#87a96b;color:var(--sage-green);content:"❀";font-size:2rem;opacity:.4;position:absolute}.couple-image-wrapper-vertical:before{animation-delay:0s;left:-10px;top:-10px}.couple-image-wrapper-vertical:after{animation-delay:2s;bottom:-10px;right:-10px}.groom-card .couple-image-wrapper-vertical:after,.groom-card .couple-image-wrapper-vertical:before{content:"🌿"}@keyframes floatPetal{0%,to{opacity:.3;transform:translateY(0) rotate(0deg)}50%{opacity:.6;transform:translateY(-8px) rotate(10deg)}}.couple-image-vertical{background:linear-gradient(135deg,#87a96b,#a8c69f);background:linear-gradient(135deg,var(--sage-green) 0,#a8c69f 100%);border:8px solid #fff;border:8px solid var(--white);border-radius:50%;box-shadow:0 15px 50px #2d501633,0 0 0 12px #87a96b26,inset 0 0 20px #ffffff4d;height:280px;margin:0 auto;overflow:hidden;position:relative;transition:all .5s ease;width:280px}.couple-image-vertical:hover{border-color:#fff;border-color:var(--white);box-shadow:0 20px 60px #2d501659,0 0 0 12px #87a96b40,0 0 0 20px #c9a9611a,inset 0 0 30px #fff6;transform:scale(1.05)}.couple-name-vertical{color:#2d5016;color:var(--primary-green);display:inline-block;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700;letter-spacing:.5px;line-height:1.3;margin:20px 0 10px;padding-bottom:10px;position:relative}.couple-name-vertical:after{background:linear-gradient(90deg,#0000,#87a96b,#0000);background:linear-gradient(to right,#0000,var(--sage-green),#0000);bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80%}.couple-name-vertical:before{animation:sparkle 2s ease-in-out infinite;bottom:-5px;color:#c9a961;color:var(--gold-accent);content:"✦";font-size:.8rem;left:50%;position:absolute;transform:translateX(-50%)}@keyframes sparkle{0%,to{opacity:.5}50%{opacity:1}}.couple-role{color:#5a6c5b;color:var(--light-text);font-size:.95rem;font-weight:500;letter-spacing:3px;text-transform:uppercase}.couple-parent-info,.couple-role{font-family:Montserrat,sans-serif}.couple-parent-info{color:#2c3e2e;color:var(--dark-text);font-size:.85rem;line-height:1.6;margin:10px auto 0;max-width:400px;padding:0 15px;text-align:center}.couple-heart-icon{animation:floatHeart 3s ease-in-out infinite,heartPulse 2s ease-in-out infinite;bottom:-30px;filter:drop-shadow(0 6px 12px rgba(45,80,22,.3));font-size:3.5rem;position:absolute;right:30px;z-index:10}.couple-heart-icon:before{animation:heartRing 3s ease-in-out infinite;background:radial-gradient(circle,#87a96b26 0,#0000 70%);border-radius:50%;content:"";inset:-15px;position:absolute;z-index:-1}@keyframes heartPulse{0%,to{filter:drop-shadow(0 6px 12px rgba(45,80,22,.3))}50%{filter:drop-shadow(0 8px 20px rgba(45,80,22,.5))}}@keyframes heartRing{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:.6;transform:scale(1.2)}}@keyframes floatHeart{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(5deg)}}.story-section{background:linear-gradient(135deg,#faf8f3,#f5f1e8 50%,#faf8f3);overflow:hidden;position:relative}.story-section:before{background-image:radial-gradient(circle at 20% 30%,#87a96b08 0,#0000 50%),radial-gradient(circle at 80% 70%,#c9a96108 0,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.story-section:after{animation:floatDecor 10s ease-in-out infinite;color:#87a96b0a;content:"✿ ❀ ✿";font-size:8rem;left:50%;letter-spacing:150px;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap;z-index:1}@keyframes floatDecor{0%,to{opacity:.5;transform:translate(-50%,-50%) rotate(0deg)}50%{opacity:.7;transform:translate(-50%,-52%) rotate(2deg)}}.story-content{background:radial-gradient(circle at 10% 20%,#87a96b0d 0,#0000 40%),radial-gradient(circle at 90% 80%,#c9a9610d 0,#0000 40%),#ffffff80;border:1px solid #87a96b33;border-radius:25px;box-shadow:0 8px 32px #2d501614,inset 0 2px 0 #fff9;display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:850px;overflow:visible;padding:80px 40px 120px;position:relative;text-align:center;z-index:2}.story-content:after,.story-content:before{animation:fadeIn 1s ease backwards;color:#87a96b33;font-family:Playfair Display,serif;font-size:6rem;font-weight:700;left:50%;line-height:1;position:absolute;transform:translateX(-50%)}.story-content:before{animation-delay:.3s;content:"\201C";top:10px}.story-content:after{animation-delay:.5s;bottom:10px;content:"\201D"}.story-text{animation:fadeInUp .8s ease backwards;color:#2d3e2e;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;font-weight:500;letter-spacing:.3px;line-height:2.2;margin-bottom:20px;position:relative;text-align:center;text-justify:inter-word;z-index:1}.story-text:first-child{animation-delay:.2s}.story-text:last-child{animation-delay:.4s;margin-bottom:0}.story-divider{animation:expandWidth .8s ease .6s backwards;background:linear-gradient(90deg,#0000,#87a96b,#0000);height:2px;margin:35px auto;position:relative;width:120px}.story-divider:after,.story-divider:before{animation:fadeIn 1s ease .8s backwards,twinkle 2s ease-in-out 1.5s infinite;color:#87a96b;content:"\2726";font-size:.9rem;position:absolute;top:50%;transform:translateY(-50%)}.story-divider:before{left:-25px}.story-divider:after{right:-25px}.countdown-section{background:linear-gradient(135deg,#2d5016,#4a7c2c);background:linear-gradient(135deg,var(--primary-green) 0,var(--light-green) 100%);color:#fff;color:var(--white);overflow:hidden;position:relative;text-align:center}.countdown-section .section-title{color:#fff;color:var(--white);font-size:2rem;margin-bottom:50px;text-shadow:2px 2px 8px #0003}.countdown-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);justify-content:center;margin:0 auto;max-width:700px;position:relative}@media (max-width:768px){.countdown-container{gap:18px;grid-template-columns:repeat(2,1fr);max-width:238px;padding:0 20px}}.countdown-item{align-items:center;aspect-ratio:1;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:radial-gradient(circle at 20% 30%,#c9a96114 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff26 0,#0000 50%),linear-gradient(135deg,#ffffff40,#ffffff26);border:2px solid #fff6;border-radius:20px;box-shadow:0 8px 32px #0000001a,inset 0 1px 0 #ffffff4d;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:150px;overflow:hidden;padding:25px 15px;position:relative;transition:all .4s ease}.countdown-item:before{background:radial-gradient(circle at 50% 0,#fff3 0,#0000 60%);border-radius:20px;content:"";inset:0;opacity:0;position:absolute;transition:opacity .4s ease;z-index:1}.countdown-item:hover:before{animation:softGlow 2s ease-in-out infinite;opacity:1}@keyframes softGlow{0%,to{opacity:.5}50%{opacity:1}}.countdown-item:hover{background:radial-gradient(circle at 20% 30%,#c9a96126 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff40 0,#0000 50%),linear-gradient(135deg,#ffffff59,#fff3);border-color:#c9a96180;box-shadow:0 15px 40px #00000026,0 0 0 1px #c9a96166,inset 0 1px 0 #ffffff80;transform:translateY(-8px) scale(1.03)}.countdown-number{animation:gentlePulse 2.5s ease-in-out infinite;display:block;font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:700;margin-bottom:8px;position:relative;text-shadow:2px 2px 6px #0000004d;z-index:2}@keyframes gentlePulse{0%,to{text-shadow:2px 2px 6px #0000004d;transform:scale(1)}50%{text-shadow:2px 2px 8px #0006,0 0 15px #c9a9614d;transform:scale(1.03)}}.countdown-label{font-size:.85rem;font-weight:600;letter-spacing:2px;opacity:.9;position:relative;text-transform:uppercase;z-index:2}.event-section{background-color:#fff;background-color:var(--white)}.events-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(2,1fr);justify-items:center;margin:0 auto;max-width:900px}@media (max-width:768px){.events-grid{gap:30px;grid-template-columns:1fr}}.event-card{background:#faf8f3;background:var(--light-cream);border:2px solid #f5f1e8;border:2px solid var(--cream);border-radius:20px;overflow:hidden;padding:40px 30px;position:relative;text-align:center;transition:all .5s ease}.event-card:before{background:linear-gradient(90deg,#0000,#87a96b1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.event-card:hover:before{left:100%}.event-card:hover{border-color:#87a96b;border-color:var(--sage-green);box-shadow:0 20px 50px #2d501633;transform:translateY(-10px) scale(1.02)}.event-icon{font-size:3.5rem;margin-bottom:20px}.event-title{color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;margin-bottom:15px}.event-divider{background:#87a96b;background:var(--sage-green);height:2px;margin:20px auto;width:80px}.event-time{color:#4a7c2c;color:var(--light-green);font-size:1.1rem;font-weight:600;margin:10px 0}.event-date{color:#5a6c5b;color:var(--light-text);font-size:1rem;margin:8px 0}.event-location{color:#2d5016;color:var(--primary-green);font-size:1.2rem;font-weight:600;margin:15px 0 5px}.event-address{color:#5a6c5b;color:var(--light-text);font-size:.95rem;line-height:1.6}.event-card-single{grid-column:1/-1;margin:0 auto}.gallery-section{background-color:#f5f1e8;background-color:var(--cream);overflow:hidden}.gallery-collage{grid-gap:20px;display:grid;gap:20px;grid-auto-rows:120px;grid-template-columns:repeat(12,1fr);margin:0 auto;max-width:1400px;padding:40px 30px}.gallery-item{background:linear-gradient(135deg,#87a96b,#4a7c2c);background:linear-gradient(135deg,var(--sage-green) 0,var(--light-green) 100%);border-radius:20px;box-shadow:0 8px 25px #2d501626;cursor:pointer;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.gallery-item-1{border-radius:25px;grid-column:span 12;grid-row:span 3}.gallery-item-2{border-radius:20px;grid-column:span 4;grid-row:span 2}.gallery-item-3,.gallery-item-4{border-radius:20px;grid-column:span 8;grid-row:span 2}.gallery-item-5{border-radius:20px;grid-column:span 4;grid-row:span 2}.gallery-item-6,.gallery-item-7{border-radius:25px;grid-column:span 12;grid-row:span 3}.gallery-overlay{align-items:center;background:#2d501680;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-zoom-icon{color:#fff;font-size:3rem;transform:scale(.5);transition:transform .3s ease}.gallery-item:hover .gallery-zoom-icon{transform:scale(1)}.gallery-item:hover{box-shadow:0 20px 50px #2d501666;transform:translateY(-8px) scale(1.02);z-index:10}.lightbox-modal{animation:fadeIn .3s ease;background:#000000f2;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000}.lightbox-content,.lightbox-modal{align-items:center;display:flex;justify-content:center}.lightbox-content{max-height:90vh;max-width:90vw;position:relative}.lightbox-image{animation:zoomIn .3s ease;border-radius:10px;box-shadow:0 10px 50px #00000080;max-height:90vh;max-width:100%;object-fit:contain}.lightbox-close{background:none;border:none;color:#fff;cursor:pointer;font-size:3rem;line-height:1;padding:10px;position:absolute;right:0;top:-50px;transition:transform .3s ease;z-index:10001}.lightbox-close:hover{transform:rotate(90deg)}.lightbox-nav{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:3rem;height:60px;justify-content:center;pointer-events:auto;position:absolute;top:50%;touch-action:manipulation;transform:translateY(-50%);transition:background .3s ease,transform .3s ease;user-select:none;-webkit-user-select:none;width:60px;z-index:10001}.lightbox-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:-80px}.lightbox-next{right:-80px}.lightbox-counter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;bottom:-50px;color:#fff;font-family:Montserrat,sans-serif;font-size:1rem;left:50%;padding:8px 20px;position:absolute;transform:translateX(-50%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.rsvp-section{background-color:#fff;background-color:var(--white)}.rsvp-container{margin:0 auto;max-width:600px}.rsvp-message{color:#5a6c5b;color:var(--light-text);font-size:1.1rem;margin-bottom:40px;padding:0 30px;text-align:center}.rsvp-form{background:#faf8f3;background:var(--light-cream);border:2px solid #f5f1e8;border:2px solid var(--cream);border-radius:20px;padding:40px}.form-group{margin-bottom:30px}.form-label{color:#2d5016;color:var(--primary-green);display:block;font-size:1rem;font-weight:600;letter-spacing:.5px;text-align:center}.radio-buttons{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.radio-option{align-items:center;background:#fff;background:var(--white);border:2px solid #f5f1e8;border:2px solid var(--cream);border-radius:12px;cursor:pointer;display:flex;flex:1 1;gap:15px;justify-content:flex-start;min-width:300px;padding:20px;transition:all .3s ease}.radio-option:hover{border-color:#87a96b;border-color:var(--sage-green);transform:translateY(-2px)}.radio-option.selected{background:linear-gradient(135deg,#87a96b,#4a7c2c);background:linear-gradient(135deg,var(--sage-green) 0,var(--light-green) 100%);border-color:#2d5016;border-color:var(--primary-green);color:#fff;color:var(--white)}.radio-option input[type=radio]{accent-color:#2d5016;accent-color:var(--primary-green);flex-shrink:0;height:20px;margin:0 10px 0 0;padding:0;vertical-align:middle;width:20px}.radio-text{font-size:1rem;font-weight:500;line-height:20px;margin:0;padding:0}.form-input{background:#fff;background:var(--white);border:2px solid #f5f1e8;border:2px solid var(--cream);border-radius:10px;color:#2c3e2e;color:var(--dark-text);font-family:Montserrat,sans-serif;font-size:1rem;padding:15px 20px;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:#87a96b;border-color:var(--sage-green);outline:none}.form-textarea{background:#fff;background:var(--white);border:2px solid #f5f1e8;border:2px solid var(--cream);border-radius:10px;color:#2c3e2e;color:var(--dark-text);font-family:Montserrat,sans-serif;font-size:1rem;padding:15px 20px;resize:vertical;transition:border-color .3s ease;width:100%}.form-textarea:focus{border-color:#87a96b;border-color:var(--sage-green);outline:none}.rsvp-submit-btn{background:linear-gradient(135deg,#2d5016,#4a7c2c);background:linear-gradient(135deg,var(--primary-green) 0,var(--light-green) 100%);border:none;border-radius:50px;box-shadow:0 5px 15px #2d50164d;color:#fff;color:var(--white);cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:1px;padding:18px 40px;text-transform:uppercase;transition:all .3s ease;width:100%}.rsvp-submit-btn:hover{box-shadow:0 8px 25px #2d501666;transform:translateY(-3px)}.rsvp-submit-btn:active{transform:translateY(0)}.rsvp-confirmation{background:#faf8f3;background:var(--light-cream);border:2px solid #f5f1e8;border:2px solid var(--cream);border-radius:20px;margin:0 auto;max-width:600px;padding:60px 40px;text-align:center}.confirmation-icon{align-items:center;animation:scaleIn .5s ease;background:linear-gradient(135deg,#2d5016,#4a7c2c);background:linear-gradient(135deg,var(--primary-green) 0,var(--light-green) 100%);border-radius:50%;color:#fff;color:var(--white);display:flex;font-size:3rem;height:60px;justify-content:center;margin:0 auto 25px;width:60px}.confirmation-title{color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:2.5rem;margin-bottom:20px}.confirmation-message{color:#5a6c5b;color:var(--light-text);font-size:1.15rem;line-height:1.8}.wishes-section{background:linear-gradient(180deg,#faf8f3,#fff 50%,#faf8f3);background:linear-gradient(180deg,var(--light-cream) 0,var(--white) 50%,var(--light-cream) 100%);padding:80px 20px}.wishes-intro{background:#ffffffb3;border:1px solid #87a96b33;border-radius:15px;margin:0 auto 50px;max-width:700px;padding:30px;text-align:center}.wishes-intro p{color:#5a6c5b;color:var(--light-text);font-size:1.05rem;line-height:1.8;margin:12px 0}.wishes-intro .wassalam{color:#2d5016;color:var(--primary-green);font-style:italic;font-weight:600;margin-top:20px}.wishes-list{display:flex;flex-direction:column;gap:20px;margin:0 auto 30px;max-width:800px}.wish-card{background:#fff;background:var(--white);border:2px solid #87a96b;border:2px solid var(--sage-green);border-radius:15px;box-shadow:0 4px 15px #2d501614;padding:25px;transition:all .3s ease}.wish-card:hover{border-color:#4a7c2c;border-color:var(--light-green);box-shadow:0 8px 25px #2d501626;transform:translateY(-3px)}.wish-header{align-items:center;border-bottom:1px solid #87a96b33;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:12px}.wish-author{color:#2d5016;color:var(--primary-green);font-size:1.1rem;font-weight:700;margin:0}.wish-date{color:#87a96b;color:var(--sage-green);margin:0}.wish-message{word-wrap:break-word;color:#5a6c5b;color:var(--light-text);font-size:1rem;line-height:1.7;margin:0;white-space:pre-wrap}.load-more-wishes-btn{background:linear-gradient(135deg,#87a96b,#4a7c2c);background:linear-gradient(135deg,var(--sage-green) 0,var(--light-green) 100%);border:none;border-radius:50px;box-shadow:0 4px 15px #87a96b4d;color:#fff;color:var(--white);cursor:pointer;display:block;font-size:1rem;font-weight:600;margin:30px auto;padding:14px 40px;transition:all .3s ease}.load-more-wishes-btn:hover:not(:disabled){background:linear-gradient(135deg,#4a7c2c,#2d5016);background:linear-gradient(135deg,var(--light-green) 0,var(--primary-green) 100%);box-shadow:0 6px 20px #87a96b66;transform:translateY(-2px)}.load-more-wishes-btn:disabled{cursor:not-allowed;opacity:.6}.wish-form-container{background:linear-gradient(135deg,#f5f1e8e6,#ffffffe6);border:2px solid #87a96b;border:2px solid var(--sage-green);border-radius:20px;box-shadow:0 8px 30px #2d50161f;margin:50px auto 0;max-width:700px;padding:40px}.wish-form-title{color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:700;margin-bottom:20px;text-align:center}.wish-form{gap:15px}.wish-form,.wish-form .form-group{display:flex;flex-direction:column}.wish-form .form-group{gap:10px;margin-bottom:8px}.wish-form .form-label{color:#2d5016;color:var(--primary-green);font-size:1rem;font-weight:600}.wish-form .optional{color:#87a96b;color:var(--sage-green);font-size:.9rem;font-style:italic;font-weight:400}.wish-form .form-input{background:#fff;background:var(--white);border:2px solid #87a96b;border:2px solid var(--sage-green);border-radius:10px;font-family:Montserrat,sans-serif;font-size:1rem;padding:14px 18px;transition:all .3s ease}.wish-form .form-input:focus{border-color:#4a7c2c;border-color:var(--light-green);box-shadow:0 0 0 3px #87a96b26;outline:none}.wish-form .form-input.locked{background:#faf8f3;background:var(--light-cream);color:#2d5016;color:var(--primary-green);cursor:not-allowed;font-weight:600}.wish-form .form-textarea{background:#fff;background:var(--white);border:2px solid #87a96b;border:2px solid var(--sage-green);border-radius:10px;font-family:Montserrat,sans-serif;font-size:1rem;min-height:120px;padding:14px 18px;resize:vertical;transition:all .3s ease}.wish-form .form-textarea:focus{border-color:#4a7c2c;border-color:var(--light-green);box-shadow:0 0 0 3px #87a96b26;outline:none}.char-counter{color:#87a96b;color:var(--sage-green);font-size:.85rem;margin-top:5px;text-align:right}.add-lastname-btn{background:#0000;border:1px dashed #87a96b;border:1px dashed var(--sage-green);border-radius:8px;color:#2d5016;color:var(--primary-green);cursor:pointer;font-size:.9rem;font-weight:500;margin-top:8px;padding:10px 16px;text-align:center;transition:all .3s ease;width:100%}.add-lastname-btn:hover{background:#faf8f3;background:var(--light-cream);border-color:#4a7c2c;border-color:var(--light-green);color:#4a7c2c;color:var(--light-green);transform:scale(1.02)}.lastname-input-wrapper{margin-top:8px;position:relative}.lastname-input-wrapper .form-input{padding-right:40px}.remove-lastname-btn{align-items:center;background:#0000;border:none;color:#87a96b;color:var(--sage-green);cursor:pointer;display:flex;font-size:1.8rem;font-weight:300;height:30px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:30px}.remove-lastname-btn:hover{color:#d32f2f;transform:translateY(-50%) scale(1.2)}.wish-submit-btn{background:linear-gradient(135deg,#2d5016,#4a7c2c);background:linear-gradient(135deg,var(--primary-green) 0,var(--light-green) 100%);border:none;border-radius:50px;box-shadow:0 6px 20px #2d50164d;color:#fff;color:var(--white);cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:10px;padding:16px 40px;transition:all .3s ease}.wish-submit-btn:hover{box-shadow:0 8px 25px #2d501666;transform:translateY(-2px)}.wish-confirmation{padding:25px 20px;text-align:center}.wish-confirmation .confirmation-icon{animation:scaleIn .5s ease;color:#4a7c2c;color:var(--light-green);font-size:2.5rem;margin-bottom:12px}.wish-confirmation .confirmation-message{color:#5a6c5b;color:var(--light-text);font-size:1rem;line-height:1.6}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.gift-section{background-color:#f5f1e8;background-color:var(--cream)}.gift-content{margin:0 auto;max-width:900px;padding:0 30px}.gift-message{color:#5a6c5b;color:var(--light-text);font-size:.95rem;font-weight:400;line-height:1.6;margin:-20px auto 50px;max-width:650px;padding:0 3%;text-align:center}.bank-details{display:flex;flex-direction:column;gap:15px;margin:0 auto;max-width:600px}.bank-card{align-items:center;background:#fff;background:var(--white);border:2px solid #87a96b;border:2px solid var(--sage-green);border-radius:12px;display:flex;gap:20px;min-height:120px;overflow:hidden;padding:20px 35px;position:relative;transition:all .5s ease}.bank-card:before{background:radial-gradient(circle,#87a96b1a 0,#0000 70%);content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;transition:transform .5s ease;width:200%;z-index:0}.bank-card:hover:before{transform:rotate(180deg)}.bank-card:hover{border-color:#2d5016;border-color:var(--primary-green);box-shadow:0 10px 30px #2d501626;transform:translateY(-5px)}.bank-icon{color:#87a96b;color:var(--sage-green);font-size:3.5rem;margin-bottom:20px}.bank-logo{flex-shrink:0;height:40px;object-fit:contain;width:80px}.bank-info,.bank-logo{position:relative;z-index:1}.bank-info{display:flex;flex:1 1;flex-direction:column;justify-content:center}.bank-name{color:#2d5016;color:var(--primary-green);font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;margin-bottom:5px}.account-number-wrapper{align-items:center;display:flex;gap:10px}.account-number{color:#4a7c2c;color:var(--light-green);font-family:monospace;font-size:1.1rem;font-weight:700;letter-spacing:1px;margin:3px 0}.copy-button{align-items:center;background:#0000;border:1.5px solid #87a96b;border:1.5px solid var(--sage-green);border-radius:6px;color:#87a96b;color:var(--sage-green);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;outline:none;padding:0;position:relative;transition:all .3s ease;width:32px;z-index:10}.copy-button:hover{border-color:var(--primary-green);color:#2d5016;color:var(--primary-green);outline:none;transform:scale(1.1)}.copy-button:focus{border-color:#2d5016;border-color:var(--primary-green);outline:none}.copy-button:active{outline:none;transform:scale(.9)}.account-holder{color:#5a6c5b;color:var(--light-text);font-size:.85rem;margin:5px 0 0}.payment-toggle{display:flex;gap:15px;justify-content:center;margin:0 auto 40px;max-width:400px}.payment-toggle .toggle-btn{background:#fff;background:var(--white);border:2px solid #87a96b;border:2px solid var(--sage-green);border-radius:12px;color:#2d5016;color:var(--primary-green);cursor:pointer;flex:1 1;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;padding:14px 30px;transition:all .3s ease}.payment-toggle .toggle-btn:hover{border-color:#2d5016;border-color:var(--primary-green);box-shadow:0 4px 12px #2d501626;transform:translateY(-2px)}.payment-toggle .toggle-btn.active{background:linear-gradient(135deg,#2d5016,#4a7c2c);background:linear-gradient(135deg,var(--primary-green) 0,var(--light-green) 100%);border-color:#2d5016;border-color:var(--primary-green);box-shadow:0 6px 20px #2d501640;color:#fff;color:var(--white)}.qris-container{margin:0 auto;max-width:450px}.qris-card{background:#fff;background:var(--white);border:2px solid #87a96b;border:2px solid var(--sage-green);border-radius:15px;box-shadow:0 8px 25px #2d50161f;padding:35px 30px;transition:all .3s ease}.qris-card:hover{border-color:#2d5016;border-color:var(--primary-green);box-shadow:0 12px 35px #2d50162e;transform:translateY(-5px)}.qris-header{margin-bottom:25px;text-align:center}.qris-title{color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:700;margin:0 0 10px}.qris-subtitle{color:#5a6c5b;color:var(--light-text);font-size:.95rem;line-height:1.5;margin:0}.qris-image-wrapper{background:linear-gradient(135deg,#f5f1e880,#ffffff80);border-radius:12px;display:flex;justify-content:center;margin:25px 0;padding:20px}.qris-image{border:3px solid #87a96b;border:3px solid var(--sage-green);border-radius:12px;box-shadow:0 4px 15px #2d50161a;height:auto;max-width:280px;transition:all .3s ease;width:100%}.qris-image:hover{box-shadow:0 6px 20px #2d501626;transform:scale(1.02)}.qris-merchant{background:linear-gradient(135deg,#87a96b1a,#0000);border-radius:10px;padding:20px 15px 10px;text-align:center}.qris-merchant .merchant-label{color:#5a6c5b;color:var(--light-text);font-size:.9rem;font-weight:500;margin:0 0 5px}.qris-merchant .merchant-name{color:#2d5016;color:var(--primary-green);font-family:Cormorant Garamond,serif;font-size:1.6rem;font-weight:700;letter-spacing:.5px;margin:0}.footer-section{background:linear-gradient(135deg,#2d5016,#4a7c2c);background:linear-gradient(135deg,var(--primary-green) 0,var(--light-green) 100%);color:#fff;color:var(--white);padding:40px 20px 50px;text-align:center}.footer-logo{animation:fadeIn 1s ease;margin-bottom:20px}.footer-logo img{filter:brightness(0) invert(1) drop-shadow(0 4px 10px rgba(255,255,255,.3));height:auto;opacity:.9;width:90px}.footer-text{font-size:1.1rem;margin:20px 0;opacity:.9}.footer-names{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:700;margin:20px 0}.footer-hashtag{font-size:1rem;letter-spacing:2px;margin-top:15px;opacity:.8}.built-by-section{background:linear-gradient(180deg,#faf8f3,#f5f1e8);background:linear-gradient(180deg,var(--light-cream) 0,var(--cream) 100%);border-top:1px solid #87a96b33;padding:40px 20px;text-align:center}.built-by-text{color:#2d5016;color:var(--primary-green);font-size:.95rem;font-weight:500;margin:0 0 8px;opacity:.9}.built-by-subtitle{color:#4a7c2c;color:var(--light-green);font-size:.85rem;font-weight:400;letter-spacing:.5px;margin:0 0 8px;opacity:.8}.built-by-note{color:#87a96b;color:var(--sage-green);font-size:.75rem;font-style:italic;margin:0;opacity:.7}@media (max-width:768px){section{padding:60px 15px}.hero-section{padding:20px 20px 50px}.hero-ornament{font-size:3rem;margin:0 0 8px}.hero-content{margin-top:8px}.hero-floating-ornament{font-size:1.5rem}.hero-section:after{height:80px;left:30px;top:30px;width:80px}.hero-corner-decoration{bottom:30px;height:80px;right:30px;width:80px}.hero-subtitle{margin-bottom:12px}.section-title{font-size:2rem}.couple-names{font-size:3rem}.couple-names:before{font-size:1.4rem;right:60px;top:100px}.couple-names:after{bottom:100px;font-size:1.4rem;left:60px}.ampersand{margin:0 10px}.personalized-greeting{font-size:1.3rem;padding:15px 25px}.hero-message{font-size:1rem;padding:20px}.couple-container{gap:40px}.couple-image{height:180px;width:180px}.countdown-item{aspect-ratio:1;height:120px;margin:0;max-width:120px;min-width:120px;padding:20px 12px;width:120px}.countdown-number{font-size:2.2rem}.countdown-label{font-size:.75rem;letter-spacing:1.5px}.events-grid{grid-template-columns:1fr}.gallery-collage{gap:15px;grid-auto-rows:80px;grid-template-columns:repeat(12,1fr);padding:30px}.gallery-item-1,.gallery-item-6,.gallery-item-7{border-radius:20px;grid-column:span 12;grid-row:span 3}.gallery-item-2,.gallery-item-5{border-radius:15px;grid-column:span 4;grid-row:span 2}.gallery-item-3,.gallery-item-4{border-radius:15px;grid-column:span 8;grid-row:span 2}.gallery-item:hover{transform:translateY(-5px) scale(1.02)}.lightbox-nav{font-size:2rem;height:50px;width:50px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{font-size:2.5rem;right:10px;top:10px}.lightbox-counter{bottom:20px;font-size:.9rem}.rsvp-form{padding:30px 20px}.radio-buttons{flex-direction:column}.radio-option{min-width:100%}.bank-details{grid-template-columns:1fr}.story-content{padding:80px 25px 100px}.story-content:after,.story-content:before{font-size:5rem}.story-content:before{top:10px}.story-content:after{bottom:10px}.story-text{font-size:1.15rem;line-height:2.1;margin-bottom:18px}.story-divider{margin:30px auto;width:100px}.story-section:after{font-size:5rem;letter-spacing:80px}.bank-logo{height:30px;width:60px}.bank-name{font-size:.9rem}.account-number{font-size:1rem}.account-holder,.copy-button{font-size:.8rem}.copy-button{height:28px;width:28px}.footer-section{padding:35px 15px 45px}.footer-logo{margin-bottom:18px}.footer-logo img{width:80px}.footer-names{font-size:2.2rem}.wishes-intro{padding:25px 20px}.wish-card{padding:20px}.wish-header{align-items:flex-start;flex-direction:column;gap:8px}.wish-form-container{padding:30px 25px}.wish-form-title{font-size:1.7rem}}@media (max-width:480px){.hero-section{padding:15px 20px 45px}.hero-ornament{font-size:2.5rem;margin:0 0 5px}.hero-content{margin-top:5px}.hero-floating-ornament{font-size:1.2rem}.hero-section:after{height:60px;left:40px;top:40px;width:60px}.hero-corner-decoration{bottom:40px;height:60px;right:40px;width:60px}.hero-subtitle{font-size:1rem;margin-bottom:10px}.couple-names{font-size:2.5rem}.couple-names:before{font-size:1.2rem;right:50px;top:80px}.couple-names:after{bottom:80px;font-size:1.2rem;left:50px}.personalized-greeting{font-size:1.2rem;padding:10px 20px}.personalized-greeting:after,.personalized-greeting:before{font-size:1.5rem}.section-title{font-size:2rem}.countdown-container{gap:15px;max-width:165px;padding:0 20px}.countdown-item{aspect-ratio:1;height:120px;margin:6px;max-width:120px;min-width:120px;padding:20px 10px;width:120px}.countdown-number{font-size:1.8rem;margin-bottom:5px}.countdown-label{font-size:.65rem;letter-spacing:.5px}.gallery-collage{gap:15px;grid-auto-rows:60px;grid-template-columns:repeat(12,1fr);padding:15px}.gallery-item-1,.gallery-item-6,.gallery-item-7{border-radius:15px;grid-column:span 12;grid-row:span 3}.gallery-item-2,.gallery-item-5{border-radius:12px;grid-column:span 4;grid-row:span 2}.gallery-item-3,.gallery-item-4{border-radius:12px;grid-column:span 8;grid-row:span 2}.story-content{padding:80px 40px 100px 20px}.story-content:after,.story-content:before{font-size:4rem}.story-content:before{top:10px}.story-content:after{bottom:10px}.story-text{font-size:1.05rem;line-height:2;margin-bottom:15px}.story-divider{margin:25px auto;width:80px}.story-divider:after,.story-divider:before{font-size:.75rem}.story-divider:before{left:-20px}.story-divider:after{right:-20px}.story-section:after{font-size:4rem;letter-spacing:50px}.footer-section{padding:30px 15px 40px}.footer-logo{margin-bottom:15px}.footer-logo img{width:80px}.footer-names{font-size:2rem}.built-by-section{padding:30px 15px}.built-by-text{font-size:.85rem}.built-by-subtitle{font-size:.75rem}.built-by-note{font-size:.7rem}.wishes-section{padding:60px 30px}.wishes-intro{padding:30px}.wishes-intro p{font-size:.95rem}.wish-card{padding:18px}.wish-author{font-size:1rem}.wish-date{font-size:.75rem}.wish-message{font-size:.95rem}.wish-form-container{padding:25px 20px}.wish-form-title{font-size:1.5rem}.add-lastname-btn{font-size:.85rem;padding:8px 12px}.load-more-wishes-btn{font-size:.95rem;padding:12px 30px}.wish-submit-btn{font-size:1rem;padding:14px 35px}.payment-toggle{flex-direction:column;gap:10px;margin-bottom:30px}.payment-toggle .toggle-btn{font-size:.95rem;padding:12px 20px}.qris-card{padding:25px 20px}.qris-header .qris-title{font-size:1.4rem}.qris-header .qris-subtitle{font-size:.85rem}.qris-image-wrapper{padding:15px}.qris-image{max-width:220px}.qris-merchant .merchant-label{font-size:.85rem}.qris-merchant .merchant-name{font-size:1.3rem}}.admin-login{align-items:center;background:linear-gradient(135deg,#87a96b,#4a7c2c);display:flex;font-family:Montserrat,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#fff;border-radius:15px;box-shadow:0 15px 30px #0003;max-width:450px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#2d5016;font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:15px}.login-header p{color:#5a6c5b;font-size:1.1rem}.login-form{display:flex;flex-direction:column}.error-message{background:#ffebee;border-left:4px solid #c62828;border-radius:5px;color:#c62828;margin-bottom:20px;padding:12px 15px}.form-group label{font-weight:500}.form-group input{background:#f5f1e8;border:1px solid #c5d4b5;border-radius:8px;box-sizing:border-box;font-family:Montserrat,sans-serif;font-size:1rem;padding:15px;transition:border-color .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#87a96b;outline:none}.login-button{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:8px;box-shadow:0 4px 12px #2d50164d;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;margin-top:10px;padding:15px;transition:all .3s ease}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#1f3710,#2d5016);box-shadow:0 6px 16px #2d501666;transform:translateY(-2px)}.login-button:disabled{background:#b0bfa3;box-shadow:none;cursor:not-allowed}@media (max-width:480px){.login-container{padding:30px 20px}.login-header h1{font-size:2rem}.login-header p{font-size:1rem}}.admin-dashboard{background-color:#faf8f3;font-family:Montserrat,sans-serif;min-height:100vh}.dashboard-header{align-items:center;background:linear-gradient(135deg,#2d5016,#4a7c2c);box-shadow:0 4px 15px #2d501633;color:#fff;display:flex;justify-content:space-between;padding:20px 40px}.dashboard-header h1{font-family:Playfair Display,serif;font-size:2rem;margin:0}.logout-button{background:#fff3;border:2px solid #ffffff80;border-radius:50px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.logout-button:hover{background:#ffffff4d;border-color:#fff;transform:translateY(-2px)}.wedding-info-button{background:#ffffff26;border:2px solid #fff6;border-radius:50px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.wedding-info-button:hover{background:#ffffff40;border-color:#fff9;transform:translateY(-2px)}.dashboard-content{margin:0 auto;max-width:1200px;padding:30px}.statistics-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000000d;margin-bottom:30px;padding:30px}.statistics-section h2{color:#2d5016;font-family:Playfair Display,serif;font-size:1.8rem;margin-bottom:25px}.stats-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#f5f1e8,#e8f0dc);border:1px solid #c5d4b5;border-radius:15px;box-shadow:0 4px 15px #2d50161a;padding:25px;text-align:center;transition:all .3s ease}.stat-card:hover{box-shadow:0 6px 20px #2d501626;transform:translateY(-5px)}.stat-card h3{color:#5a6c5b;font-size:1.1rem;font-weight:600;margin-bottom:10px}.stat-value{color:#2d5016;font-family:Playfair Display,serif;font-size:2rem;font-weight:700}.stat-value.attending{color:#4caf50}.stat-value.not-attending{color:#f44336}.stat-value.pending{color:#ffc107}.chart-container{background:#fff;border-radius:10px;box-shadow:0 3px 10px #0000000d;padding:20px}.invitations-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000000d;padding:30px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.section-header h2{color:#2d5016;font-family:Playfair Display,serif;font-size:1.8rem;margin:0}.create-button{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:50px;box-shadow:0 4px 12px #2d50164d;color:#fff;cursor:pointer;font-weight:600;padding:12px 30px;transition:all .3s ease}.create-button:hover{box-shadow:0 6px 16px #2d501666;transform:translateY(-2px)}.create-form-container{background:linear-gradient(135deg,#f5f1e8,#e8f0dc);border:1px solid #c5d4b5;border-radius:15px;margin-bottom:30px;padding:25px}.create-form-container h3{color:#2d5016;font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:20px}.create-invitation-form{max-width:600px}.form-group{margin-bottom:20px}.form-group input,.form-group textarea{transition:border-color .3s ease}.submit-button{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:50px;box-shadow:0 4px 12px #2d50164d;color:#fff;cursor:pointer;font-weight:600;padding:12px 30px;transition:all .3s ease}.submit-button:hover{box-shadow:0 6px 16px #2d501666;transform:translateY(-2px)}.invitations-list h3{color:#2d5016;font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:20px}.table-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.search-container{flex:1 1;min-width:250px}.search-input{background:#fff;border:2px solid #c5d4b5;border-radius:8px;box-sizing:border-box;font-family:Montserrat,sans-serif;font-size:1rem;padding:12px 15px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#87a96b;box-shadow:0 0 0 3px #87a96b1a;outline:none}.rows-per-page{align-items:center;color:#5a6c5b;display:flex;font-size:.95rem;gap:10px}.rows-per-page label{font-weight:600}.rows-select{background:#fff;border:2px solid #c5d4b5;border-radius:8px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;padding:8px 12px;transition:border-color .3s ease}.rows-select:focus{border-color:#87a96b;box-shadow:0 0 0 3px #87a96b1a;outline:none}.table-info{background:linear-gradient(135deg,#f5f1e8,#e8f0dc);border-left:4px solid #87a96b;border-radius:8px;color:#5a6c5b;font-size:.9rem;margin-bottom:15px;padding:10px 15px}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:25px}.pagination-button{background:#fff;border:2px solid #c5d4b5;border-radius:8px;color:#2d5016;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.pagination-button:hover:not(:disabled){background:linear-gradient(135deg,#2d5016,#4a7c2c);border-color:#2d5016;color:#fff;transform:translateY(-2px)}.pagination-button:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;opacity:.4}.pagination-numbers{align-items:center;display:flex;gap:5px}.pagination-number{background:#fff;border:2px solid #c5d4b5;border-radius:8px;color:#2d5016;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;min-width:40px;padding:8px 12px;transition:all .3s ease}.pagination-number:hover{background:#e8f0dc;border-color:#87a96b}.pagination-number.active{background:linear-gradient(135deg,#2d5016,#4a7c2c);border-color:#2d5016;color:#fff}.pagination-ellipsis{color:#5a6c5b;font-weight:600;padding:0 5px}.no-invitations{color:#5a6c5b;font-style:italic;padding:30px;text-align:center}.invitations-table{border-radius:10px;box-shadow:0 3px 10px #0000000d;overflow:hidden}.table-header{background:linear-gradient(135deg,#2d5016,#4a7c2c);color:#fff;font-weight:600}.table-header,.table-row{display:grid;grid-template-columns:1.5fr 2.5fr 1.2fr 1fr .8fr;padding:15px 20px}.table-row{align-items:center;border-bottom:1px solid #eee}.table-row:last-child{border-bottom:none}.table-row:nth-child(2n){background:#f9f9f9}.uuid-cell{color:#666;font-family:monospace;font-size:.85rem;word-break:break-all}.status-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:5px 10px;text-transform:capitalize}.status-badge.pending{background:#fff8e1;color:#ff8f00}.status-badge.attending{background:#e8f5e9;color:#388e3c}.status-badge.not-attending{background:#ffebee;color:#d32f2f}.actions{gap:8px}.actions,.icon-button{display:flex;justify-content:center}.icon-button{align-items:center;background:#fff;border:2px solid;border-radius:8px;cursor:pointer;font-size:1rem;height:38px;padding:10px;transition:all .3s ease;width:38px}.copy-button{background:#f5f9f0;border-color:#87a96b;color:#2d5016}.copy-button:hover{background:linear-gradient(135deg,#2d5016,#4a7c2c);border-color:#2d5016;box-shadow:0 4px 8px #2d501633;color:#fff;transform:translateY(-2px)}.delete-button{background:#fff5f5;border-color:#ef9a9a;color:#d32f2f}.delete-button:hover{background:#d32f2f;border-color:#d32f2f;box-shadow:0 4px 8px #d32f2f33;color:#fff;transform:translateY(-2px)}.dashboard-loading{align-items:center;background:#faf8f3;display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;position:relative}.dashboard-loading:before{animation:pulseBackgroundAdmin 3s ease-in-out infinite;background:radial-gradient(circle,#87a96b1a 0,#0000 70%);border-radius:50%;content:"";height:300px;position:absolute;width:300px}@keyframes pulseBackgroundAdmin{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}.dashboard-loading .loader{animation:floatLogoAdmin 3s ease-in-out infinite;filter:drop-shadow(0 10px 20px rgba(45,80,22,.2));height:120px;margin-bottom:20px;position:relative;width:120px;z-index:1}.dashboard-loading .loader img{animation:gentleRotateAdmin 8s ease-in-out infinite,pulseLogoAdmin 2s ease-in-out infinite;height:100%;object-fit:contain;width:100%}@keyframes floatLogoAdmin{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gentleRotateAdmin{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.05)}}@keyframes pulseLogoAdmin{0%,to{opacity:.9}50%{opacity:1}}.dashboard-loading p{animation:fadeInOutAdmin 2s ease-in-out infinite;color:#2d5016;font-family:Playfair Display,serif;font-size:1.2rem;position:relative;z-index:1}@keyframes fadeInOutAdmin{0%,to{opacity:.5}50%{opacity:1}}.dashboard-error{align-items:center;background:#faf8f3;display:flex;flex-direction:column;height:100vh;justify-content:center;padding:20px;text-align:center}.dashboard-error h2{color:#2d5016;font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:20px}.dashboard-error p{color:#5a6c5b;font-size:1.2rem;margin-bottom:30px}.retry-button{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:50px;box-shadow:0 4px 12px #2d50164d;color:#fff;cursor:pointer;font-weight:600;padding:12px 30px;transition:all .3s ease}.retry-button:hover{box-shadow:0 6px 16px #2d501666;transform:translateY(-2px)}.wishes-management-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000000d;margin-top:30px;padding:30px}.wishes-table{border-radius:10px;box-shadow:0 3px 10px #0000000d;overflow:hidden}.wishes-header{background:linear-gradient(135deg,#2d5016,#4a7c2c);color:#fff;font-weight:600}.wishes-header,.wishes-row{display:grid;grid-template-columns:1.2fr 3fr 1fr .8fr;padding:15px 20px}.wishes-row{align-items:center;border-bottom:1px solid #eee}.wishes-row:last-child{border-bottom:none}.wishes-row:nth-child(2n){background:#f9f9f9}.wish-guest-name{color:#2d5016;font-weight:600}.wish-message-preview{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#5a6c5b;display:-webkit-box;line-height:1.5;overflow:hidden;text-overflow:ellipsis}.wish-date{color:#666;font-size:.85rem}.approve-button{background:#e8f5e9;border:2px solid #81c784;color:#388e3c;font-size:1.2rem;font-weight:700}.approve-button:hover{background:linear-gradient(135deg,#66bb6a,#43a047);border-color:#388e3c;box-shadow:0 4px 8px #388e3c4d;color:#fff;transform:translateY(-2px)}.wishes-list-admin{margin-top:20px}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:15px;padding:15px 20px}.dashboard-content{padding:20px 15px}.stats-cards{grid-template-columns:1fr 1fr}.section-header{align-items:flex-start;flex-direction:column;gap:15px}.table-controls{align-items:stretch;flex-direction:column}.search-container{min-width:100%;width:100%}.rows-per-page{justify-content:flex-start}.pagination{gap:5px;padding:0 10px}.pagination-button,.pagination-number{font-size:.85rem;min-width:35px;padding:6px 10px}.table-info{font-size:.85rem;padding:8px 12px}.table-header,.table-row{gap:10px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;padding:12px 15px}.table-header div:first-child,.table-row div:first-child{grid-column:1/2;grid-row:1}.table-header div:nth-child(2),.table-row div:nth-child(2){grid-column:1/3;grid-row:2}.table-header div:nth-child(3),.table-row div:nth-child(3){grid-column:1;grid-row:3}.table-header div:nth-child(4),.table-row div:nth-child(4){grid-column:2;grid-row:3}.table-header div:nth-child(5),.table-row div:nth-child(5){grid-column:2;grid-row:1;justify-self:end}.uuid-cell{font-size:.7rem}.actions{flex-direction:row;gap:5px;justify-content:flex-end}.icon-button{font-size:.9rem;height:34px;width:34px}.wishes-header,.wishes-row{gap:10px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;padding:12px 15px}.wishes-header div:first-child,.wishes-row div:first-child{font-size:.9rem;grid-column:1/2;grid-row:1}.wishes-header div:nth-child(2),.wishes-row div:nth-child(2){font-size:.85rem;grid-column:1/3;grid-row:2}.wishes-header div:nth-child(3),.wishes-row div:nth-child(3){font-size:.75rem;grid-column:1/3;grid-row:3}.wishes-header div:nth-child(4),.wishes-row div:nth-child(4){grid-column:2;grid-row:1;justify-self:end}.wish-message-preview{-webkit-line-clamp:3;line-clamp:3}.wishes-management-section{padding:20px 15px}}.version-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:20px;padding-bottom:5px}.tab-button{align-items:center;background:#0000;border:none;border-radius:8px 8px 0 0;color:#666;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;position:relative;transition:all .3s ease}.tab-button:hover{background:#2d50160d;color:#2d5016}.tab-button.active{background:linear-gradient(135deg,#2d5016,#4a7c2c);color:#fff}.tab-count{border-radius:12px;font-size:.85rem;font-weight:700;padding:2px 10px}.tab-button.active .tab-count,.tab-count{background:#ffffff4d}.tab-button:not(.active) .tab-count{background:#2d50161a;color:#2d5016}.version-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;padding:6px 12px;text-align:center}.version-badge.v1{background:linear-gradient(135deg,#4a7c2c,#5d9c3b);color:#fff}.version-badge.v2{background:linear-gradient(135deg,#87a96b,#a8c89a);color:#2d5016}.version-select{background:#fff;border:2px solid #d7ccc8;border-radius:10px;color:#5d4037;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;padding:12px 15px;transition:all .3s ease;width:100%}.version-select:hover{border-color:#87a96b}.version-select:focus{border-color:#2d5016;box-shadow:0 0 0 3px #2d50161a;outline:none}@media (max-width:480px){.stats-cards{grid-template-columns:1fr}.dashboard-header h1{font-size:1.5rem}.invitations-section,.statistics-section{padding:20px 15px}.version-tabs{flex-direction:column;gap:5px}.tab-button{justify-content:space-between;width:100%}}@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{bottom:0;height:calc(100% + .5px);left:0;pointer-events:none;position:absolute;right:0;top:0;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);bottom:-1px;content:"";left:-1px;opacity:.3;pointer-events:none;position:absolute;right:-1px;top:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s;animation:marching-ants 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid #08f;outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:"";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{background-color:#0003;background-color:var(--rc-drag-handle-bg-colour);border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);height:var(--rc-drag-handle-size);position:absolute;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:#08f;background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0}.ReactCrop .ord-n,.ReactCrop .ord-nw{top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:6px;height:var(--rc-drag-bar-size);left:0;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;-webkit-transform:translate(50%);transform:translate(50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:6px;height:var(--rc-drag-bar-size);left:0;-webkit-transform:translateY(50%);transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:24px;height:var(--rc-drag-handle-mobile-size);width:24px;width:var(--rc-drag-handle-mobile-size)}}.image-upload-crop{width:100%}.image-upload-container{margin:20px 0}.image-upload-label{color:#2c3e50;display:block;font-weight:600;margin-bottom:10px}.upload-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.upload-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.upload-button:active{box-shadow:0 2px 10px #667eea66;transform:translateY(0)}.current-image-preview{margin-bottom:15px;text-align:center}.current-image-preview img{border:3px solid #c5d4b5;border-radius:10px;box-shadow:0 4px 10px #0000001a;max-height:250px;max-width:200px;object-fit:cover}.remove-image-btn{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#d32f2f;cursor:pointer;display:block;font-weight:600;margin:10px auto 0;padding:8px 20px;transition:all .3s ease}.remove-image-btn:hover{background:#d32f2f;color:#fff}.upload-actions{margin-bottom:10px}.upload-btn{background:linear-gradient(135deg,#2d5016,#4a7c2c)!important;box-shadow:0 4px 15px #2d50164d!important;color:#fff!important;display:inline-block;font-size:.95rem;padding:12px 25px}.upload-btn:hover{background:linear-gradient(135deg,#4a7c2c,#2d5016)!important;box-shadow:0 6px 20px #2d501680!important;transform:translateY(-2px)}.crop-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:9999}.crop-modal{background:#fff;border-radius:15px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;padding:30px;width:100%}.crop-modal-header{margin-bottom:25px;text-align:center}.crop-modal-header h3{color:#2d5016;font-family:Playfair Display,serif;font-size:1.8rem;margin:0 0 10px}.crop-modal-header p{color:#5a6c5b;font-size:.95rem;margin:0}.crop-container{align-items:center;background:#f5f5f5;border-radius:10px;display:flex;justify-content:center;margin-bottom:25px;min-height:300px;padding:20px}.crop-modal-actions{display:flex;gap:15px;justify-content:center}.cancel-crop-btn,.upload-crop-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:all .3s ease}.cancel-crop-btn{background:#f5f5f5;border:2px solid #ddd;color:#666}.cancel-crop-btn:hover:not(:disabled){background:#e0e0e0}.upload-crop-btn{background:linear-gradient(135deg,#2d5016,#4a7c2c);color:#fff}.upload-crop-btn:hover:not(:disabled){box-shadow:0 6px 15px #2d50164d;transform:translateY(-2px)}.cancel-crop-btn:disabled,.upload-crop-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.ReactCrop{max-width:100%}.ReactCrop__crop-selection{border:2px solid #87a96b;box-shadow:0 0 0 9999em #00000080}.ReactCrop__drag-handle{background:#fff;border:2px solid #87a96b;height:12px;width:12px}@media (max-width:768px){.crop-modal{max-height:95vh;padding:20px}.crop-modal-header h3{font-size:1.5rem}.crop-container{padding:15px}.crop-modal-actions{flex-direction:column}.cancel-crop-btn,.upload-crop-btn{width:100%}.current-image-preview img{max-height:200px;max-width:150px}}.wedding-info-editor{background-color:#faf8f3;font-family:Montserrat,sans-serif;min-height:100vh}.editor-header{align-items:center;background:linear-gradient(135deg,#2d5016,#4a7c2c);box-shadow:0 4px 15px #2d501633;color:#fff;display:flex;justify-content:space-between;padding:20px 40px}.editor-header h1{font-family:Playfair Display,serif;font-size:2rem;margin:0}.editor-content{margin:0 auto;max-width:1200px;padding:30px}.loading-container{align-items:center;background:#faf8f3;display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;position:relative}.loading-container:before{animation:pulseBackgroundEditor 3s ease-in-out infinite;background:radial-gradient(circle,#87a96b1a 0,#0000 70%);border-radius:50%;content:"";height:300px;position:absolute;width:300px}@keyframes pulseBackgroundEditor{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}.loader{animation:floatLogoEditor 3s ease-in-out infinite;filter:drop-shadow(0 10px 20px rgba(45,80,22,.2));height:120px;position:relative;width:120px;z-index:1}.loader img{animation:gentleRotateEditor 8s ease-in-out infinite,pulseLogoEditor 2s ease-in-out infinite;height:100%;object-fit:contain;width:100%}@keyframes floatLogoEditor{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gentleRotateEditor{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.05)}}@keyframes pulseLogoEditor{0%,to{opacity:.9}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{animation:fadeInOutEditor 2s ease-in-out infinite;color:#2d5016;font-size:1.1rem;margin-top:20px;position:relative;z-index:1}@keyframes fadeInOutEditor{0%,to{opacity:.5}50%{opacity:1}}.message{border-radius:10px;font-weight:500;margin-bottom:30px;padding:15px 20px}.message.success{background:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.message.error{background:#ffebee;border:1px solid #f44336;color:#c62828}.wedding-info-form{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000000d;padding:40px}.form-section{border-bottom:2px solid #e8f0dc;margin-bottom:50px;padding-bottom:40px}.form-section:last-of-type{border-bottom:none}.form-section h2{align-items:center;color:#2d5016;display:flex;font-family:Playfair Display,serif;font-size:1.8rem;gap:10px;margin-bottom:25px}.form-section h3{color:#5a6c5b;font-size:1.3rem;font-weight:600;margin-bottom:20px;margin-top:25px}.section-description{color:#5a6c5b;font-size:.95rem;margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-group{margin-bottom:25px}.form-group label{color:#2d5016;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{background:#fff;border:2px solid #c5d4b5;border-radius:8px;box-sizing:border-box;font-family:Montserrat,sans-serif;font-size:1rem;padding:12px 15px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#87a96b;box-shadow:0 0 0 3px #87a96b1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.bank-subsection{background:linear-gradient(135deg,#f5f1e8,#e8f0dc);border:1px solid #c5d4b5;border-radius:10px;margin-bottom:20px;padding:20px}.gallery-input-group{align-items:center;display:flex;gap:10px;margin-bottom:15px}.gallery-input-group input{flex:1 1}.remove-button{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#d32f2f;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.remove-button:hover{background:#d32f2f;color:#fff}.add-button{background:#e8f0dc;border:1px solid #87a96b;border-radius:8px;color:#2d5016;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 25px;transition:all .3s ease}.add-button:hover{background:#87a96b;color:#fff}.form-actions{margin-top:40px;text-align:center}.save-button{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:50px;box-shadow:0 6px 20px #2d50164d;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;padding:18px 50px;transition:all .3s ease}.save-button:hover{box-shadow:0 10px 30px #2d501666;transform:translateY(-3px)}.save-button:active{transform:translateY(0)}.save-button:disabled{background:#b0bfa3;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.editor-header{flex-direction:column;gap:15px;padding:20px}.editor-header h1{font-size:1.5rem}.header-actions{justify-content:space-between;width:100%}.editor-content{padding:20px 15px}.wedding-info-form{padding:25px 20px}.form-section h2{font-size:1.5rem}.form-row{grid-template-columns:1fr}.gallery-input-group{align-items:stretch;flex-direction:column}.remove-button{width:100%}.save-button{font-size:1.1rem;padding:15px;width:100%}}@media (max-width:480px){.editor-header h1{font-size:1.3rem}.back-button,.logout-button{font-size:.9rem;padding:8px 15px}.form-section h2{font-size:1.3rem}.form-section h3{font-size:1.1rem}.gallery-upload-grid{grid-template-columns:repeat(2,1fr)}}.gallery-upload-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin:20px 0}.gallery-image-upload{border:2px dashed #d0d0d0;border-radius:15px;overflow:hidden;transition:all .3s ease}.gallery-image-upload:hover{border-color:#4a7c2c;box-shadow:0 4px 15px #4a7c2c1a}.gallery-image-preview{height:200px;position:relative;width:100%}.gallery-image-preview img{height:100%;object-fit:cover;width:100%}.gallery-image-actions{background:linear-gradient(0deg,#000c,#0000);bottom:0;display:flex;gap:8px;justify-content:center;left:0;opacity:0;padding:15px 10px 10px;position:absolute;right:0;transition:opacity .3s ease}.gallery-image-preview:hover .gallery-image-actions{opacity:1}.change-gallery-btn,.remove-gallery-btn{background:#fffffff2;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .3s ease}.change-gallery-btn:hover{background:#4a7c2c;color:#fff}.remove-gallery-btn{background:#dc3545f2;color:#fff}.remove-gallery-btn:hover{background:#c82333}.gallery-upload-placeholder{align-items:center;background:#f8f9fa;border-radius:15px;display:flex;height:200px;justify-content:center;transition:all .3s ease}.gallery-upload-placeholder:hover{background:#e9ecef}.gallery-upload-btn{align-items:center;color:#6c757d;cursor:pointer;display:flex;flex-direction:column;font-weight:600;gap:10px;padding:30px;transition:all .3s ease}.gallery-upload-btn:hover{color:#4a7c2c;transform:scale(1.05)}.gallery-upload-btn .upload-icon{font-size:3rem}.gallery-buttons{display:flex;gap:15px;margin-top:20px}.music-manager-wrapper{background-color:#faf8f3;font-family:Montserrat,sans-serif;min-height:100vh}.music-manager-header{align-items:center;background:linear-gradient(135deg,#2d5016,#4a7c2c);box-shadow:0 4px 15px #2d501633;color:#fff;display:flex;justify-content:space-between;margin-bottom:0;padding:20px 40px}.music-manager-header h1{font-family:Playfair Display,serif;font-size:2rem;margin:0}.header-actions{align-items:center;display:flex;gap:15px}.back-button,.logout-button{background:#fff3;border:2px solid #ffffff80;border-radius:50px;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:600;padding:10px 20px;transition:all .3s ease}.back-button:hover,.logout-button:hover{background:#ffffff4d;border-color:#fff;transform:translateY(-2px)}.music-manager{margin:0 auto;max-width:900px;padding:30px}.music-manager h2{color:#2d5016;font-family:Playfair Display,serif;font-size:2rem;margin-bottom:30px}.music-manager h3{color:#4a7c2c;font-family:Cormorant Garamond,serif;font-size:1.5rem;margin-bottom:20px}.error-message,.success-message{border-radius:8px;font-family:Montserrat,sans-serif;margin-bottom:20px;padding:15px}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.upload-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.upload-controls{align-items:center;display:flex;gap:15px;margin-top:15px}.upload-controls input[type=file]{background:#f5f1e8;border:2px dashed #87a96b;border-radius:8px;flex:1 1;padding:10px}.upload-btn,.upload-controls input[type=file]{cursor:pointer;font-family:Montserrat,sans-serif}.upload-btn{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:8px;color:#fff;font-weight:600;padding:12px 30px;transition:all .3s ease}.upload-btn:hover:not(:disabled){box-shadow:0 4px 12px #2d50164d;transform:translateY(-2px)}.upload-btn:disabled{cursor:not-allowed;opacity:.5}.file-info{color:#5a6c5b;font-family:Montserrat,sans-serif;margin-top:10px}.current-music-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.music-info{align-items:center;background:#f5f1e8;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.music-info p{color:#2d5016;margin:0}.delete-btn,.music-info p{font-family:Montserrat,sans-serif}.delete-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px;transition:all .3s ease}.delete-btn:hover{background:#c82333;transform:translateY(-2px)}.audio-player{align-items:center;background:#f5f1e8;border-radius:8px;display:flex;gap:15px;margin-bottom:30px;padding:20px}.play-btn{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:50px;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.play-btn:hover{box-shadow:0 4px 12px #2d50164d;transform:scale(1.05)}.time-display{color:#2d5016;font-family:Montserrat,sans-serif;font-weight:600}.trim-section{border-top:2px solid #e5e5e5;margin-top:30px;padding-top:30px}.waveform-container{margin:20px 0}.waveform{background:linear-gradient(180deg,#87a96b 0,#87a96b 50%,#6a8a4f 0,#6a8a4f);border-radius:8px;height:80px;overflow:hidden;position:relative}.trim-range{background:#2d50164d;border-left:3px solid #2d5016;border-right:3px solid #2d5016}.playhead,.trim-range{height:100%;position:absolute;top:0}.playhead{background:red;width:3px;z-index:10}.trim-controls{gap:20px;margin:25px 0}.trim-controls,.trim-input{display:flex;flex-direction:column}.trim-input{gap:10px}.trim-input label{color:#2d5016;font-family:Montserrat,sans-serif;font-weight:600}.trim-input input[type=range]{background:#e5e5e5;border-radius:4px;cursor:pointer;height:8px;outline:none;width:100%}.trim-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#2d5016;border-radius:50%;cursor:pointer;height:20px;-webkit-transition:all .3s ease;transition:all .3s ease;width:20px}.trim-input input[type=range]::-webkit-slider-thumb:hover{background:#4a7c2c;transform:scale(1.2)}.trim-input input[type=range]::-moz-range-thumb{background:#2d5016;border:none;border-radius:50%;cursor:pointer;height:20px;-moz-transition:all .3s ease;transition:all .3s ease;width:20px}.trim-input input[type=range]::-moz-range-thumb:hover{background:#4a7c2c;transform:scale(1.2)}.trim-info{background:#f5f1e8;border-radius:8px;margin:20px 0;padding:15px}.trim-info p{color:#2d5016;margin:0}.save-btn,.trim-info p{font-family:Montserrat,sans-serif;font-size:1.1rem}.save-btn{background:linear-gradient(135deg,#2d5016,#4a7c2c);border:none;border-radius:50px;color:#fff;cursor:pointer;display:block;font-weight:600;margin:0 auto;padding:14px 40px;transition:all .3s ease}.save-btn:hover{box-shadow:0 6px 20px #2d501666;transform:translateY(-3px)}@media (max-width:768px){.music-manager-header{flex-direction:column;gap:15px;padding:15px 20px}.music-manager-header h1{font-size:1.5rem}.header-actions{justify-content:space-between;width:100%}.music-manager{padding:20px}.music-info,.upload-controls{flex-direction:column}.music-info{align-items:flex-start;gap:15px}.audio-player{flex-direction:column}}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff9f9;color:#333;font-family:Poppins,sans-serif}.container{margin:0 auto;max-width:1200px;padding:0 15px;width:90%}.hidden{display:none}@media (max-width:768px){.container{width:95%}}@media (max-width:480px){.container{padding:0 10px;width:100%}}
/*# sourceMappingURL=main.cd6d395d.css.map*/