.wedding-app{font-family:Montserrat;color:var(--wedding-black)}.wedding-app .nav{position:fixed;top:1.5rem;justify-content:center;display:flex;z-index:100;width:100%}.wedding-app .nav-content{overflow:hidden;border-radius:.625rem 1.25rem;background:var(--brand-light, rgba(218, 208, 205, .32));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.wedding-app .nav-content a{display:inline-flex;padding:1rem 2rem;justify-content:center;align-items:center;gap:.25rem;border-radius:.375rem .75rem;color:var(--black, #2f2f2e);text-align:center;font-family:Montserrat;font-size:.75rem;font-style:normal;font-weight:600;line-height:1.15;letter-spacing:.15rem;text-transform:uppercase;transition:background .2s,color .2s}.wedding-app .nav-content a:hover,.wedding-app .nav-content a:focus,.wedding-app .nav-content a.active{border-radius:.375rem .75rem;background:var(--brand-light, rgba(218, 208, 205, .32))}@media(max-width:600px){.wedding-app .nav-content a{padding:1rem}}.wedding-app .heart{color:#c59f92;font-size:1.5rem;font-weight:700;vertical-align:middle;margin:0 .5rem;letter-spacing:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wedding-app .box{position:relative;overflow:hidden}.wedding-app .box .background-1{position:absolute;right:0;top:0;z-index:-1}.wedding-app .box .background-2{position:absolute;left:0;top:65vh;z-index:-1;max-width:20%}.wedding-app .box .background-3{position:absolute;right:0;left:0;bottom:0;min-width:100%;z-index:-2;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.85;display:none}.wedding-app .box .header-in{display:flex;justify-content:center;padding:12rem 1rem 3rem}.wedding-app .box .header-in img{height:16rem}.wedding-app .caption{font-size:.75rem;font-style:normal;font-weight:400;line-height:1.25;letter-spacing:.15rem;text-transform:uppercase;color:var(--wedding-black)}.wedding-app .title{font-size:1.75rem;font-style:normal;font-weight:400;line-height:1.5;letter-spacing:.21rem;color:var(--wedding-black);text-align:center}.wedding-app .title-emphasized{font-size:1.75rem;font-style:normal;font-weight:600;line-height:150%;letter-spacing:.21rem;color:var(--wedding-black);text-align:center}.wedding-app .paragraph-lg{color:var(--wedding-black);text-align:center;font-size:1.25rem;font-style:normal;font-weight:300;line-height:1.5;letter-spacing:.15rem}.wedding-app .paragraph-sm{padding:0 1rem}.wedding-app .section-home{padding:5rem 1rem;display:flex;align-items:center;justify-content:center}.wedding-app .section-home-in{gap:3rem;align-items:center;flex-direction:column;display:flex;justify-content:center}.wedding-app .section-home .subsection-countdown{display:flex;flex-direction:column;align-items:center;gap:1rem}.wedding-app .section-home .subsection-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.wedding-app .section-home .map{width:100%;height:auto}.wedding-app .section-flowers{background:linear-gradient(180deg,var(--bg-primary, #fff) 0%,var(--bg-secondary, #f4f6ef) 100%);padding:5rem 0rem;display:flex;align-items:center;justify-content:center}.wedding-app .section-flowers-in{gap:3rem;align-items:center;flex-direction:column;display:flex;justify-content:center}.wedding-app .section-flowers .account-details{display:flex;flex-direction:column;align-items:center;gap:1rem}.wedding-app .section-gifts{background:var(--bg-secondary, #f4f6ef);padding:5rem 0rem;display:flex;align-items:center;justify-content:center}.wedding-app .section-gifts-in{gap:3rem;align-items:center;flex-direction:column;display:flex;justify-content:center}.wedding-app .section-gifts .gifts-loader{display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#c59f92;font-weight:500;min-height:4rem}.wedding-app .section-gifts .gifts-empty{text-align:center;color:#b0a7a7;font-size:1.1rem;font-weight:400;margin:2rem 0}.wedding-app .countdown-wrapper{display:flex;gap:1rem}.wedding-app .countdown-item{display:flex;width:4.5rem;flex-direction:column;align-items:center}.wedding-app .countdown-value{text-align:center;font-size:1.75rem;font-style:normal;font-weight:600;line-height:1.25;letter-spacing:.21rem}.wedding-app .countdown-label{text-align:center;font-size:.75rem;font-style:normal;font-weight:400;line-height:1.25;letter-spacing:.09rem}.wedding-app .divider{display:flex;align-items:center;gap:1rem;justify-content:center;text-align:center;font-size:1.25rem;font-style:normal;font-weight:600;line-height:1;opacity:.8}.wedding-app .divider hr{flex:1;border-color:var(--wedding-black);width:6.5rem;opacity:.4}.wedding-app .gift-list{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem}.wedding-app .gift-list .gift-item{border-radius:1rem 1.75rem;display:flex;padding:1rem;flex-direction:column;justify-content:space-between;align-items:center;width:20rem;gap:1rem;min-width:250px}.wedding-app .gift-list .gift-item:hover{border-radius:1rem 1.75rem;background:var(--brand-light, rgba(218, 208, 205, .32))}.wedding-app .gift-list .gift-item .gift-img{width:100%;aspect-ratio:3/2;border-radius:.375rem 1rem;overflow:hidden;position:relative}.wedding-app .gift-list .gift-item .gift-img .booked{color:var(--black, #2f2f2e);text-align:center;font-family:Montserrat;font-size:.75rem;font-style:normal;font-weight:600;line-height:1.25;letter-spacing:.03rem;text-transform:uppercase;display:flex;padding:.5rem .75rem;justify-content:center;align-items:center;gap:.25rem;position:absolute;right:0rem;top:2rem;border-radius:3.125rem 0 0 3.125rem;background:var(--bg-primary, #fff);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:12}.wedding-app .gift-list .gift-item .gift-img img{max-width:100%;height:auto}.wedding-app .gift-list .gift-item .gift-img img.placeholder{aspect-ratio:3/2;height:100%;width:100%}.wedding-app .gift-list .gift-item .gift-item-title{color:var(--black, #2f2f2e);text-align:center;font-family:Montserrat;font-size:1.125rem;font-style:normal;font-weight:500;line-height:1.25;letter-spacing:.045rem}.wedding-app .gift-list .gift-item .gift-item-description{color:var(--black, #2f2f2e);text-align:center;font-family:Montserrat;font-size:.9375rem;font-style:normal;font-weight:400;line-height:1.5;letter-spacing:.01875rem}.wedding-app .gift-list .gift-item .gift-item-actions{display:flex;justify-content:center;align-items:center;gap:.5rem}.wedding-app .button{display:inline-flex;min-height:2.25rem;padding:.375rem 1.5rem;justify-content:center;align-items:center;gap:.5rem;text-align:center;font-family:Montserrat;font-size:.75rem;font-style:normal;font-weight:600;line-height:1.25;letter-spacing:.03rem;text-transform:uppercase}.wedding-app .button[disabled]{opacity:.5;cursor:not-allowed}.wedding-app .button .spinner{display:inline-block;width:1.1em;height:1.1em;border:2.5px solid #c59f92;border-top:2.5px solid #fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:.7em;vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wedding-app .button-secondary{border-radius:3.125rem;border:1px solid var(--brand-light, rgba(218, 208, 205, .32));color:var(--wedding-black)}.wedding-app .button-secondary:hover,.wedding-app .button-secondary:focus{outline:none;border-radius:3.125rem;border:1px solid var(--brand, #c59f92);background:var(--brand-light, rgba(218, 208, 205, .32))}.wedding-app .button-primary{border-radius:3.125rem;border:1px solid var(--brand-light, rgba(218, 208, 205, .32));background:var(--brand-light, rgba(218, 208, 205, .32));color:var(--wedding-black)}.wedding-app .button-primary:hover,.wedding-app .button-primary:focus{outline:none;border-radius:3.125rem;border:1px solid var(--brand, #c59f92);background:var(--brand, #c59f92)}.wedding-app .modal-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000040;z-index:1000;display:flex;align-items:center;justify-content:center}.wedding-app .modal{background:#fff;border-radius:1rem 2rem;box-shadow:0 8px 32px #00000026;padding:2rem 2.5rem;min-width:320px;max-width:90vw;display:flex;flex-direction:column;align-items:center;gap:2rem}.wedding-app .modal-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.wedding-app .modal-content{width:100%;text-align:center}.wedding-app .modal-actions{display:flex;gap:1rem;justify-content:center;width:100%}.wedding-app #recaptcha-container,.wedding-app #cancel-recaptcha-container{display:flex;justify-content:center;margin-top:1rem}.wedding-app .toast{position:fixed;top:2.5rem;left:50%;transform:translate(-50%);min-width:260px;max-width:90vw;background:#fff;color:#222;border-radius:.5rem 1.5rem;padding:1.1rem 2.5rem 1.1rem 1.1rem;font-size:1.05rem;font-weight:500;z-index:2000;box-shadow:0 6px 32px #0000002e,0 1.5px 8px #0000001a;display:flex;align-items:center;gap:.9rem;border:none;animation:toast-pop .5s cubic-bezier(.68,-.55,.27,1.55)}.wedding-app .toast .toast-icon{font-size:1.5rem;margin-right:.2rem;display:flex;align-items:center}.wedding-app .toast.error{background:#fff3f3;color:#b71c1c}.wedding-app .toast.info{background:#f3f7ff;color:#1c3ab7}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%) scale(.95) translateY(-20px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.wedding-app .fade-enter-active,.wedding-app .fade-leave-active{transition:opacity .3s}.wedding-app .fade-enter-from,.wedding-app .fade-leave-to{opacity:0}.wedding-app .cancel-info{margin:2rem 0 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.wedding-app .input-cancel-token{border-radius:1rem;border:1px solid #c59f92;padding:.7rem 1rem;font-size:1rem;font-family:inherit;outline:none;transition:border-color .2s;margin-bottom:.5rem}.wedding-app .input-cancel-token:focus{border-color:#b0715a}
