*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#e3f2fd,#bbdefb 50%,#90caf9);min-height:100vh}body,h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:700}.App{background:linear-gradient(135deg,#e3f2fd,#bbdefb 50%,#90caf9);min-height:100vh;position:relative}.side-photo{bottom:0;overflow:hidden;position:fixed;top:0;width:30%;z-index:0}.side-photo:before{background:#ffffff26;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.side-photo img{display:block;height:100%;object-fit:cover;width:100%}.left-photo{animation:slideInLeft .8s ease-out;left:0}.right-photo{animation:slideInRight .8s ease-out;right:0}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@media (max-width:1400px){.side-photo{width:25%}}@media (max-width:1200px){.side-photo{width:20%}}@media (max-width:968px){.side-photo{display:none}}.invitation-container{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:20px 20px 40px;position:relative;z-index:1}.invitation-card{animation:fadeInUp .8s ease-out;background:linear-gradient(180deg,#fff 0,#f8fcff);border:3px solid #1976d2;border-radius:16px;box-shadow:0 30px 80px #2196f340;flex:1 1;max-width:650px;overflow:hidden;padding:0;position:relative;z-index:10}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.boarding-pass-header{align-items:center;background:linear-gradient(135deg,#1976d2,#2196f3);border-bottom:2px dashed #ffffff4d;display:flex;gap:20px;padding:25px 40px}.airline-logo{animation:float 3s ease-in-out infinite;font-size:48px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.flight-info{color:#fff}.airline-name{font-size:24px;font-weight:700;letter-spacing:3px;text-shadow:2px 2px 4px #0003}.flight-number{font-size:14px;font-weight:500;letter-spacing:2px;margin-top:4px;opacity:.95}.perforated-line{background:linear-gradient(90deg,#0000 0,#0000 45%,#1976d2 0,#1976d2 55%,#0000 0,#0000);background-position:50%;background-repeat:repeat-x;background-size:20px 2px;height:20px;position:relative}.perforated-line:before{background:repeating-linear-gradient(90deg,#0000,#0000 10px,#1976d2 0,#1976d2 20px);content:"";height:2px;left:0;opacity:.3;position:absolute;top:50%;width:100%}.countdown-section{margin-top:-10px;padding:0 40px}.venue-map-section{margin:20px 0;padding:0 40px}.invitation-header{background:linear-gradient(180deg,#2196f30d,#0000);padding:28px 40px 20px;text-align:center}.destination-label{background:#2196f31a;border:2px solid #2196f34d;border-radius:20px;color:#1976d2;display:inline-block;font-size:12px;margin-bottom:15px;padding:8px 20px}.couple-names,.destination-label{font-weight:700;letter-spacing:3px}.couple-names{color:#1565c0;font-size:54px;line-height:1.2;margin-bottom:14px;text-shadow:2px 2px 4px #2196f31a}.ticket-subtitle{color:#546e7a;font-size:16px;font-style:italic;font-weight:400}.invitation-body{padding:8px 40px 28px}.event-details{grid-gap:18px;display:grid;gap:18px;margin:5px 0 18px}.detail-item{background:linear-gradient(135deg,#2196f314,#2196f308);border-left:4px solid #2196f3;border-radius:8px;overflow:hidden;padding:17px 22px;position:relative;transition:all .3s ease}.detail-item:before{background:radial-gradient(circle,#2196f31a 0,#0000 70%);content:"";height:100px;position:absolute;right:-50px;top:-50px;width:100px}.detail-item:hover{background:linear-gradient(135deg,#2196f31f,#2196f30d);box-shadow:0 5px 15px #2196f326;transform:translateX(5px)}.detail-label{color:#1976d2;font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:10px;text-transform:uppercase}.detail-value{align-items:center;color:#263238;display:flex;flex-wrap:nowrap;font-size:18px;font-weight:500;gap:12px}.flight-venues{display:flex;flex-direction:column;gap:15px}.detail-icon{flex-shrink:0;font-size:28px;min-width:32px}.venue-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.venue-name{word-wrap:break-word;color:#1565c0;font-size:18px;font-weight:600;overflow-wrap:break-word}.venue-address{color:#607d8b;font-size:14px;font-weight:400}.venue-time{color:#607d8b;font-size:16px;font-weight:500}.special-crew-section{background:linear-gradient(135deg,#2196f31f,#2196f314);border:2px solid #2196f359;border-radius:12px;box-shadow:0 2px 8px #2196f31a;margin-top:18px;padding:18px 20px;text-align:center}.crew-header{color:#1565c0;font-size:16px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.godparents-info{display:flex;flex-direction:column;gap:8px}.godparents-label{color:#1976d2;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.godparents-names{color:#0d47a1;font-size:20px;font-style:italic;font-weight:600}.invitation-message{background:linear-gradient(135deg,#4caf501a,#2196f31a);border:2px solid #2196f333;border-radius:12px;margin-top:18px;padding:22px;position:relative;text-align:center}.travel-icon{animation:rotate 20s linear infinite;font-size:38px;margin-bottom:12px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.invitation-message p{color:#37474f;font-size:15px;line-height:1.7;margin-bottom:14px}.boarding-notice{background:#2196f31a;border-radius:6px;color:#1976d2;display:inline-block;font-size:12px;font-weight:600;letter-spacing:1px;margin-top:14px;padding:9px 18px;text-transform:uppercase}.barcode-section{background:linear-gradient(180deg,#2196f30d,#2196f31a);border-top:2px dashed #2196f34d;padding:22px 40px;text-align:center}.barcode{color:#1565c0;font-family:Courier New,monospace;font-size:20px;font-weight:700;letter-spacing:2px;margin-bottom:8px}.barcode-text{color:#546e7a;flex-direction:column;font-size:11px;font-weight:600;letter-spacing:3px;line-height:1.6;text-transform:uppercase}.barcode-text,.emoji-line{align-items:center;display:flex;gap:8px;justify-content:center}.mobile-photo-gallery{display:none}@media (max-width:968px){.mobile-photo-gallery{display:block;margin:20px 0}.polaroid-container{align-items:center;display:flex;flex-direction:row;gap:15px;justify-content:center;padding:0}.polaroid-photo{animation:fadeInPhoto .8s ease-out backwards;background:#fff;border-radius:3px;box-shadow:0 6px 15px #0000001f,0 0 0 1px #0000000d;max-width:240px;padding:10px;transition:all .3s ease;width:45%}.polaroid-left{animation-delay:.1s;transform:rotate(-3deg)}.polaroid-right{animation-delay:.2s;transform:rotate(3deg)}.polaroid-photo:active{box-shadow:0 10px 25px #0000002e;transform:rotate(0deg) scale(1.05);z-index:10}@keyframes fadeInPhoto{0%{opacity:0;transform:translateY(20px) rotate(0deg)}}.photo-frame{background:#f5f5f5;border-radius:2px;overflow:hidden;position:relative;width:100%}.photo-frame:before{content:"";display:block;padding-top:75%}.photo-frame img{display:block;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:all .3s ease;width:100%}.polaroid-photo:active .photo-frame img{transform:scale(1.08)}}@media (max-width:768px){.countdown-section,.venue-map-section{padding:0 25px}.invitation-card{border-radius:12px}.boarding-pass-header{padding:20px 25px}.airline-logo{font-size:36px}.airline-name{font-size:20px}.invitation-header{padding:30px 25px 20px}.couple-names{font-size:38px}.ticket-subtitle{font-size:14px}.invitation-body{padding:8px 25px 30px}.detail-value{align-items:center;flex-direction:row;flex-wrap:nowrap;font-size:16px}.barcode-section{padding:25px}.barcode{font-size:20px;overflow:hidden;text-overflow:ellipsis}.polaroid-photo{max-width:220px;padding:9px}}@media (max-width:480px){.polaroid-container{gap:12px}.polaroid-photo{max-width:200px;padding:8px}}.countdown-wrapper{background:linear-gradient(180deg,#2196f308,#2196f314);border:2px solid #2196f333;border-radius:16px;box-shadow:0 10px 30px #2196f326,0 0 0 1px #2196f31a;margin:25px 0 10px;overflow:hidden}.countdown-photo-container{height:280px;overflow:hidden;position:relative}.countdown-background-image{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;width:100%}.boarding-badge{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:20px}.plane-icon{font-size:24px}.boarding-text{color:#fffffff2;font-size:16px;font-weight:700;letter-spacing:3px;text-shadow:0 2px 4px #0003;text-transform:uppercase}.countdown-boarding-section{background:linear-gradient(135deg,#1976d2,#2196f3 50%,#42a5f5);padding:30px 20px;position:relative;text-align:center}.countdown-boarding-section:before{background:repeating-linear-gradient(90deg,#0000,#0000 8px,#ffffff4d 0,#ffffff4d 16px);content:"";height:3px;left:0;position:absolute;right:0;top:0}.countdown-display{align-items:center;display:flex;gap:20px;justify-content:center}.countdown-unit{align-items:center;display:flex;flex-direction:column;gap:10px}.countdown-card{align-items:center;background:linear-gradient(180deg,#fff 0,#f8f8f8);border:2px solid #00000026;border-radius:8px;box-shadow:0 3px 6px #00000040,inset 0 1px 0 #fffc;display:flex;justify-content:center;min-width:60px;padding:12px 16px}.countdown-number{color:#1a237e;font-family:Arial,sans-serif;font-size:32px;font-weight:700;letter-spacing:1px;line-height:1;text-align:center;text-shadow:0 1px 2px #0000001a}.unit-label{color:#fffffff2;font-size:13px;letter-spacing:2px;text-transform:uppercase}.countdown-separator,.unit-label{font-weight:700;text-shadow:0 2px 4px #0000004d}.countdown-separator{color:#ffffffb3;font-size:32px;margin:0 -3px 22px}@media (max-width:768px){.countdown-wrapper{margin:20px 0 8px}.countdown-photo-container{height:240px}.boarding-badge{gap:8px;margin-bottom:18px}.plane-icon{font-size:20px}.boarding-text{font-size:14px;letter-spacing:2.5px}.countdown-boarding-section{padding:25px 15px}.countdown-display{flex-wrap:wrap;gap:12px}.countdown-card{min-width:48px;padding:10px 12px}.countdown-number{font-size:26px}.unit-label{font-size:11px}.countdown-separator{font-size:26px;margin:0 -5px 20px}}@media (max-width:480px){.countdown-wrapper{margin:18px 0 8px}.countdown-photo-container{height:200px}.boarding-badge{gap:6px;margin-bottom:15px}.plane-icon{font-size:18px}.boarding-text{font-size:11px;letter-spacing:1.5px}.countdown-boarding-section{padding:18px 10px}.countdown-display{flex-wrap:wrap;gap:6px}.countdown-card{min-width:36px;padding:6px 8px}.countdown-number{font-size:20px;letter-spacing:0}.unit-label{font-size:9px;letter-spacing:.5px}.countdown-separator{font-size:20px;margin:0 -3px 16px}}@media (max-width:360px){.boarding-text{font-size:10px;letter-spacing:1px}.countdown-boarding-section{padding:15px 8px}.countdown-display{gap:4px}.countdown-card{min-width:32px;padding:5px 6px}.countdown-number{font-size:18px}.unit-label{font-size:8px;letter-spacing:.3px}.countdown-separator{font-size:18px;margin:0 -4px 14px}}.rsvp-section{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:40px 20px;position:relative;z-index:1}.rsvp-card{background:#fff;border:3px solid #1976d2;border-radius:16px;box-shadow:0 30px 80px #2196f340;max-width:650px;overflow:hidden;padding:0;position:relative;width:100%;z-index:10}.boarding-pass-mini{align-items:center;background:linear-gradient(135deg,#1976d2,#2196f3);border-bottom:2px dashed #ffffff4d;display:flex;gap:15px;justify-content:center;padding:20px 30px}.ticket-icon{animation:pulse 2s ease-in-out infinite;font-size:32px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ticket-header-text{color:#fff;font-size:16px;text-shadow:2px 2px 4px #0003}.rsvp-title,.ticket-header-text{font-weight:700;letter-spacing:2px}.rsvp-title{color:#1565c0;font-size:42px;margin-bottom:10px;margin-top:40px;text-align:center}.rsvp-subtitle{color:#607d8b;font-size:13px;font-weight:500;letter-spacing:1px;margin-bottom:40px;text-align:center}.rsvp-form{gap:25px;padding:0 40px 40px}.form-group,.rsvp-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group label{color:#1565c0;font-size:14px;font-weight:600;letter-spacing:.5px}.form-group input[type=email],.form-group input[type=number],.form-group input[type=tel],.form-group input[type=text],.form-group textarea{background:#e3f2fd4d;border:2px solid #bbdefb;border-radius:8px;font-family:Montserrat,sans-serif;font-size:16px;padding:14px 18px;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:#2196f3;box-shadow:0 0 0 3px #2196f326;outline:none}.form-group textarea{min-height:100px;resize:vertical}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-label{align-items:center;background:#e3f2fd4d;border:2px solid #bbdefb;border-radius:8px;cursor:pointer;display:flex;flex:1 1;gap:10px;padding:15px 20px;transition:all .3s ease}.radio-label:hover{background:#2196f31a;border-color:#2196f3;box-shadow:0 4px 12px #2196f326;transform:translateY(-2px)}.radio-label input[type=radio]{accent-color:#2196f3;cursor:pointer;height:20px;width:20px}.radio-label input[type=radio]:checked+span{color:#1976d2;font-weight:700}.checkbox-label{align-items:center;background:#e3f2fd4d;border:2px solid #bbdefb;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:14px 18px;transition:all .3s ease}.checkbox-label:hover{background:#2196f31a;border-color:#2196f3;box-shadow:0 4px 12px #2196f326;transform:translateY(-2px)}.checkbox-label input[type=checkbox]{accent-color:#2196f3;cursor:pointer;height:20px;width:20px}.submit-button{background:linear-gradient(135deg,#1976d2,#2196f3);border:none;border-radius:8px;box-shadow:0 6px 20px #2196f34d;color:#fff;cursor:pointer;font-size:18px;font-weight:700;letter-spacing:1px;margin-top:20px;padding:18px 40px;text-transform:uppercase;transition:all .3s ease}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#1976d2);box-shadow:0 8px 25px #2196f366;transform:translateY(-3px)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#fee;border:2px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px 16px}.char-count{color:#90a4ae;font-weight:500;margin-top:-4px;text-align:right}.allergy-note,.char-count{display:block;font-size:12px}.allergy-note{color:#607d8b;font-style:italic;margin-left:32px;margin-top:4px}.success-card{background:linear-gradient(180deg,#2196f30d,#fff);padding:60px 40px;text-align:center}.success-icon{align-items:center;animation:success-bounce .6s ease-out;background:linear-gradient(135deg,#1976d2,#2196f3);border-radius:50%;box-shadow:0 8px 25px #2196f34d;color:#fff;display:flex;font-size:56px;font-weight:700;height:90px;justify-content:center;margin:0 auto 30px;width:90px}@keyframes success-bounce{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.success-card h2{color:#1565c0;font-size:42px;font-weight:700;letter-spacing:1px;margin-bottom:20px}.success-card p{color:#546e7a;font-size:18px;line-height:1.6;margin-bottom:10px}.success-message{background:#2196f31a;border:2px solid #2196f333;border-radius:12px;color:#1976d2;font-size:20px!important;font-weight:600;margin-top:25px;padding:20px}@media (max-width:768px){.rsvp-card{border-radius:12px}.boarding-pass-mini{padding:15px 20px}.ticket-icon{font-size:28px}.ticket-header-text{font-size:13px}.rsvp-title{font-size:32px;margin-top:30px}.rsvp-form{padding:0 25px 30px}.form-row{grid-template-columns:1fr}.radio-group{flex-direction:column}.success-card{padding:50px 30px}.success-card h2{font-size:32px}}
/*# sourceMappingURL=main.4f6866f6.css.map*/