.castle-loading{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background-color:#d9ecf6;background-image:radial-gradient(circle,#FFFFFF 2px,transparent 2px);background-size:30px 30px;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:inherit}.castle-loading.hidden{display:none!important}.loading-lace{position:absolute;left:0;right:0;height:44px;pointer-events:none;z-index:20;background-color:#fff;-webkit-mask-image:radial-gradient(circle 10px at 14px 44px,transparent 10px,#000 10.5px);mask-image:radial-gradient(circle 10px at 14px 44px,transparent 10px,#000 10.5px);-webkit-mask-size:28px 44px;mask-size:28px 44px;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-position:0 0;mask-position:0 0}.loading-lace-top{top:0}.loading-lace-bottom{bottom:0;transform:scaleY(-1)}.loading-lace:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:6px;background-image:radial-gradient(circle,#D9ECF6 1.5px,transparent 2px);background-size:14px 6px;background-repeat:repeat-x;opacity:.9}.loading-stack{position:relative;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(20px,3vh,48px);width:min(520px,86vw);padding:0 16px;text-align:center}.loading-banner{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 10px rgba(210,160,175,.35))}.loading-banner-top{animation:bannerSway 4.8s ease-in-out infinite}.loading-banner-bottom{animation:bannerSway 4.8s ease-in-out infinite reverse;animation-delay:-1.2s}@keyframes bannerSway{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-.4deg)}}.heart-open-btn{background:transparent;border:none;padding:0;margin:0;cursor:pointer;width:clamp(180px,30vmin,280px);height:auto;display:flex;align-items:center;justify-content:center;outline:none}.heart-open-btn:focus-visible{outline:3px dashed #F2B8CA;outline-offset:10px;border-radius:24px}.heart-img{width:100%;height:auto;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 12px 24px rgba(228,155,178,.45));animation:heartbeat 1.4s ease-in-out infinite;transform-origin:center center}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.14)}28%{transform:scale(1)}42%{transform:scale(1.08)}70%{transform:scale(1)}to{transform:scale(1)}}.heart-open-btn:hover .heart-img{animation-duration:.95s;filter:drop-shadow(0 14px 28px rgba(228,155,178,.6))}.castle-loading.opening .heart-img{animation:heartBurst 1.1s ease-out forwards}@keyframes heartBurst{0%{transform:scale(1);opacity:1}35%{transform:scale(1.3);opacity:1}60%{transform:scale(1.1);opacity:1}to{transform:scale(1.8);opacity:0}}.castle-loading.opening .loading-banner,.castle-loading.opening .loading-lace{transition:opacity .6s ease-out;opacity:0}.loading-star{position:absolute;width:20px;height:20px;background-color:#fff;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:starFloat 4s ease-in-out infinite;opacity:.7;pointer-events:none;z-index:15}.loading-star.s1{top:10%;left:10%;animation-delay:0s}.loading-star.s2{top:18%;right:12%;animation-delay:1s;width:16px;height:16px}.loading-star.s3{bottom:22%;left:8%;animation-delay:2s;width:24px;height:24px}.loading-star.s4{bottom:15%;right:10%;animation-delay:.5s}.loading-star.s5{top:40%;left:6%;animation-delay:1.5s;width:14px;height:14px}.loading-star.s6{top:58%;right:6%;animation-delay:2.5s;width:18px;height:18px}@keyframes starFloat{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-20px) rotate(180deg);opacity:1}}body.loading{overflow:hidden}body.loading .site-main{visibility:hidden}.castle-loading.closing{animation:fadeOutLoader 1.1s ease-in-out forwards}@keyframes fadeOutLoader{0%{opacity:1}to{opacity:0;visibility:hidden}}@media(max-width:900px){.loading-stack{width:min(440px,88vw);gap:clamp(16px,2.6vh,36px)}.heart-open-btn{width:clamp(160px,30vmin,240px)}.loading-lace{height:34px}}@media(max-width:640px){.loading-stack{width:min(360px,90vw);gap:20px}.heart-open-btn{width:clamp(140px,40vw,200px)}.loading-lace{height:28px}}@media(max-width:420px){.loading-stack{width:92vw;gap:16px}.heart-open-btn{width:55vw}.loading-lace{height:24px}}
/*# sourceMappingURL=/cdn/shop/t/45/assets/castle-door.css.map */
