.font-greatVibes{font-family:'Great Vibes',cursive}.font-playfair{font-family:'Playfair Display',serif}.font-cormorant{font-family:'Cormorant Garamond',serif}body,html{height:100%;margin:0;padding:0}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shine{0%{transform:translateX(-100%) rotate(45deg)}100%,20%{transform:translateX(100%) rotate(45deg)}}.animate-fadeIn{animation:fadeIn .8s ease-out}.animate-slideInLeft{animation:slideInLeft .8s ease-out}.animate-slideInRight{animation:slideInRight .8s ease-out}.animate-slideInUp{animation:slideInUp .8s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-float{animation:float 3s infinite}.animate-spin{animation:spin 1s linear infinite}.loading-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);z-index:9999}.loading-spinner{width:60px;height:60px;border:5px solid rgba(255,255,255,.3);border-top-color:#ec4899;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-text{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:#fff;text-align:center;letter-spacing:1px}.view-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fdf2f8 0,#faf5ff 100%)}.wedding-card{background:#fff;border-radius:1.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);overflow:hidden;transition:box-shadow .3s ease}.wedding-card:hover{box-shadow:0 30px 60px -12px rgba(236,72,153,.3)}.bank-bca{background:#0066ae}.bank-bca i{color:gold}.bank-mandiri{background:#003c78}.bank-mandiri i{color:gold}.bank-bni{background:#039}.bank-bni i{color:#ff8c00}.bank-bri{background:#00529c}.bank-bri i{color:gold}.bank-cimb{background:#609}.bank-cimb i{color:#fff}.bank-danamon{background:#002481}.bank-danamon i{color:gold}.bank-permata{background:#003b5c}.bank-permata i{color:#00a651}.bank-maybank{background:#fecb00}.bank-maybank i{color:#003087}.wallet-dana{background:#1b7cf6}.wallet-dana i{color:#fff}.wallet-ovo{background:#8b5cf6}.wallet-ovo i{color:#fff}.wallet-gopay{background:#00aa13}.wallet-gopay i{color:#fff}.wallet-linkaja{background:#005bac}.wallet-linkaja i{color:#fff}.wallet-shopeepay{background:#f56b2a}.wallet-shopeepay i{color:#fff}.gift-card{border-radius:1rem;padding:1.25rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:all .3s ease}.gift-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.3)}.gift-card::before{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);animation:shine 3s infinite}.countdown-container{display:flex;justify-content:center;gap:1rem;margin:2rem 0}.countdown-box{background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border-radius:1rem;padding:1rem;min-width:80px;text-align:center}.countdown-number{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;color:#fff;line-height:1}.countdown-label{font-family:'Cormorant Garamond',serif;font-size:.875rem;color:rgba(255,255,255,.9);text-transform:uppercase;margin-top:.5rem}.map-container{border:4px solid #fff;border-radius:1rem;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.15)}.custom-marker{background:0 0;border:none;display:flex;align-items:center;justify-content:center}.custom-marker div{background:#ec4899;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:4px solid #fff;box-shadow:0 4px 15px rgba(236,72,153,.4);animation:pulse 2s infinite}.custom-marker i{color:#fff;font-size:1.25rem}.music-player{position:fixed;bottom:1rem;right:1rem;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-radius:1rem;padding:1rem;width:18rem;box-shadow:0 20px 40px rgba(0,0,0,.2);border:1px solid #fbcfe8;z-index:50;transition:all .3s ease}.music-player:hover{transform:scale(1.05)}.share-button{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;transition:all .3s ease}.share-button:hover{transform:scale(1.1) rotate(12deg);box-shadow:0 10px 20px rgba(0,0,0,.2)}.share-wa{background:#25d366}.share-fb{background:#1877f2}.share-telegram{background:#08c}.share-copy{background:#4b5563}.share-ig{background:linear-gradient(45deg,#f09433,#d62976,#962fbf)}.heart-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0}.heart-divider-line{width:60px;height:1px;background:#f9a8d4}.heart-divider-icon{color:#ec4899;animation:pulse 2s infinite}.toast{position:fixed;top:1rem;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:.75rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:9999;animation:slideInUp .3s ease}.toast.success{background:#10b981}.toast.error{background:#ef4444}.custom-toast{animation:toastSlideDown .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);z-index:9999999;font-family:system-ui,sans-serif}@keyframes toastSlideDown{from{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}@media (max-width:640px){.countdown-box{min-width:60px;padding:.75rem}.countdown-number{font-size:1.8rem}.music-player{width:16rem;bottom:.5rem;right:.5rem}.share-button{width:40px;height:40px;font-size:1rem}}#giftModal{z-index:999999!important}#giftModal>div{z-index:9999999!important;position:relative}.leaflet-bottom,.leaflet-control,.leaflet-map-pane,.leaflet-marker-pane,.leaflet-overlay-pane,.leaflet-pane,.leaflet-popup-pane,.leaflet-shadow-pane,.leaflet-tile-pane,.leaflet-top{z-index:100!important}.map-container{position:relative;z-index:1!important}#viewMap{position:relative;z-index:1!important}.leaflet-map-pane{z-index:2!important}.leaflet-tile-pane{z-index:1!important}.leaflet-overlay-pane{z-index:2!important}.leaflet-shadow-pane{z-index:2!important}.leaflet-marker-pane{z-index:3!important}.leaflet-popup-pane{z-index:4!important}