﻿.lavender-wedding-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, #faf7fb 0%, #f0e6f7 30%, #e8d5e8 70%, #f5f0f5 100%);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:1;transition:opacity 0.8s ease-out}.lavender-wedding-loading-overlay.fade-out{opacity:0;pointer-events:none}.lavender-wedding-spinner-container{text-align:center;position:relative}.lavender-wedding-spinner{position:relative;width:220px;height:220px;margin:0 auto 30px}.wedding-ring{position:absolute;border:5px solid transparent;border-radius:50%;animation:weddingRingRotate 4s linear infinite}.wedding-ring-1{width:140px;height:140px;top:40px;left:40px;border-top:5px solid #ffd700;border-right:5px solid #ffd700;box-shadow:0 0 15px rgba(255, 215, 0, 0.4);animation-delay:0s}.wedding-ring-2{width:160px;height:160px;top:30px;left:30px;border-bottom:5px solid #e6ccff;border-left:5px solid #e6ccff;box-shadow:0 0 20px rgba(230, 204, 255, 0.3);animation-delay:-2s}.wedding-ring::before{content:'\1F48E';position:absolute;font-size:12px;top:-6px;right:10px;animation:sparkle 2s ease-in-out infinite}.wedding-ring-2::before{content:'\2728';font-size:10px;top:10px;left:-6px;animation-delay:1s}@keyframes weddingRingRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes sparkle{0%, 100%{transform:scale(1) rotate(0deg);opacity:0.7}50%{transform:scale(1.3) rotate(180deg);opacity:1}}.wedding-cake{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.wedding-cake-layer{background:linear-gradient(145deg, #fff 0%, #f9f9f9 100%);border:3px solid #e6b3e6;border-radius:12px;margin:0 auto 3px;position:relative;animation:cakeLayerGrow 3s ease-in-out infinite alternate;box-shadow:0 2px 8px rgba(230, 179, 230, 0.3)}.wedding-cake-layer-1{width:70px;height:18px;animation-delay:0s}.wedding-cake-layer-2{width:55px;height:15px;animation-delay:0.5s}.wedding-cake-layer-3{width:40px;height:12px;animation-delay:1s}.wedding-cake-layer::before{content:'\1F338';position:absolute;font-size:8px;top:2px;left:50%;transform:translateX(-50%);animation:flowerBloom 2s ease-in-out infinite alternate}.wedding-cake-layer-2::before{content:'\1F90D';font-size:6px}.wedding-cake-layer-3::before{content:'\1F495';font-size:5px}.cake-topper{width:4px;height:20px;background:linear-gradient(to top, #d4af37, #ffd700);margin:0 auto;border-radius:3px;position:relative}.cake-topper::before{content:'\1F470\u200D\u2640\uFE0F\1F470\u200D\u2642\uFE0F';position:absolute;top:-15px;left:-8px;font-size:8px;animation:topperDance 3s ease-in-out infinite}@keyframes cakeLayerGrow{0%{transform:scaleY(0.9) scaleX(0.95)}100%{transform:scaleY(1.1) scaleX(1.05)}}@keyframes flowerBloom{0%{transform:translateX(-50%) scale(0.8)}100%{transform:translateX(-50%) scale(1.2)}}@keyframes topperDance{0%, 100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.wedding-bouquets{position:absolute;width:100%;height:100%}.bouquet{position:absolute;font-size:16px;animation:bouquetFloat 5s ease-in-out infinite}.bouquet-1{top:15px;left:15px;animation-delay:0s}.bouquet-1::before{content:'\1F490'}.bouquet-2{top:25px;right:15px;animation-delay:1s}.bouquet-2::before{content:'\1F339'}.bouquet-3{bottom:35px;left:25px;animation-delay:2s}.bouquet-3::before{content:'\1F337'}.bouquet-4{bottom:25px;right:25px;animation-delay:3s}.bouquet-4::before{content:'\1F33A'}@keyframes bouquetFloat{0%, 100%{transform:translateY(0px) rotate(-5deg) scale(1);opacity:0.8}50%{transform:translateY(-20px) rotate(5deg) scale(1.1);opacity:1}}.wedding-bells{position:absolute;width:100%;height:100%}.bell{position:absolute;font-size:14px;animation:bellRing 4s ease-in-out infinite}.bell-1{top:10%;left:20%;animation-delay:0s}.bell-1::before{content:'\1F514'}.bell-2{top:15%;right:20%;animation-delay:2s}.bell-2::before{content:'\1F390'}@keyframes bellRing{0%, 100%{transform:rotate(-10deg);opacity:0.7}25%{transform:rotate(10deg);opacity:1}50%{transform:rotate(-5deg);opacity:0.9}75%{transform:rotate(5deg);opacity:1}}.wedding-doves{position:absolute;width:100%;height:100%}.dove{position:absolute;font-size:12px;animation:dovefly 6s ease-in-out infinite}.dove-1{top:30%;left:5%;animation-delay:0s}.dove-1::before{content:'\1F54A'}.dove-2{top:35%;right:5%;animation-delay:3s}.dove-2::before{content:'\1F54A'}@keyframes dovefly{0%{transform:translateX(0px) translateY(0px) scale(1);opacity:0.6}25%{transform:translateX(15px) translateY(-10px) scale(1.1);opacity:1}50%{transform:translateX(30px) translateY(5px) scale(0.9);opacity:0.8}75%{transform:translateX(15px) translateY(-5px) scale(1.1);opacity:1}100%{transform:translateX(0px) translateY(0px) scale(1);opacity:0.6}}.wedding-petals{position:absolute;width:100%;height:100%;overflow:hidden}.petal{position:absolute;font-size:10px;animation:petalFall 4s linear infinite}.petal-1{left:10%;animation-delay:0s}.petal-1::before{content:'\1F338'}.petal-2{left:30%;animation-delay:0.8s}.petal-2::before{content:'\1F33A'}.petal-3{left:50%;animation-delay:1.6s}.petal-3::before{content:'\1F337'}.petal-4{left:70%;animation-delay:2.4s}.petal-4::before{content:'\1F339'}.petal-5{left:90%;animation-delay:3.2s}.petal-5::before{content:'\1F338'}@keyframes petalFall{0%{transform:translateY(-120px) rotate(0deg);opacity:1}100%{transform:translateY(320px) rotate(360deg);opacity:0}}.lavender-wedding-loading-text h3{font-family:'Playfair Display', serif;font-size:2.4rem;font-weight:700;color:#8e44ad;margin-bottom:15px;text-shadow:2px 2px 6px rgba(0,0,0,0.1);animation:weddingTextGlow 3s ease-in-out infinite}.lavender-wedding-loading-text p{font-family:'Playfair Display', serif;font-size:1.2rem;color:#663399;font-style:italic;animation:weddingTextFade 4s ease-in-out infinite}@keyframes weddingTextGlow{0%, 100%{transform:scale(1);text-shadow:2px 2px 6px rgba(0,0,0,0.1)}50%{transform:scale(1.05);text-shadow:2px 2px 12px rgba(142, 68, 173, 0.3)}}@keyframes weddingTextFade{0%, 100%{opacity:0.8}50%{opacity:1}}@media (max-width:768px){.lavender-wedding-spinner{width:180px;height:180px}.wedding-ring-1{width:110px;height:110px;top:35px;left:35px}.wedding-ring-2{width:130px;height:130px;top:25px;left:25px}.lavender-wedding-loading-text h3{font-size:2rem}.lavender-wedding-loading-text p{font-size:1rem}.bouquet, .bell, .dove{font-size:12px}.petal{font-size:8px}}
