/* Ambient light stays behind the shop content. */
body.shop #sec-shop::before{animation:shop-star-glow 4.8s ease-in-out infinite alternate}
body.shop #sec-shop::after{content:"";position:fixed;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 30%,#f653bd30,transparent 45%),radial-gradient(ellipse at 78% 62%,#fff6fc75,transparent 40%),radial-gradient(ellipse at 60% 15%,#dd83ee25,transparent 35%);animation:shop-light-drift 16s ease-in-out infinite alternate;will-change:transform}
@keyframes shop-star-glow{from{opacity:.45}to{opacity:.95}}
@keyframes shop-light-drift{from{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(3%,4%,0) scale(1.06)}}
@media(prefers-reduced-motion:reduce){body.shop #sec-shop::before,body.shop #sec-shop::after{animation:none;will-change:auto}}
/* Neon follows the actual editable heading, without a duplicated text layer. */
body.shop .s-hero-title{color:#fff5fd;text-shadow:0 0 2px #fff,0 0 5px #ffeffb,0 0 12px #db168c,0 0 24px #b80c75,0 2px 2px #7b1659;animation:shop-neon-breathe 3.5s ease-in-out infinite alternate}
@keyframes shop-neon-breathe{from{filter:drop-shadow(0 0 2px #ed2497)}to{filter:drop-shadow(0 0 9px #d41183)}}
body.shop .s-catbar{background:linear-gradient(110deg,#ffe9f7,#f7b4e1,#ffe9f7,#fbd7f0);background-size:250% 100%;animation:shop-category-flow 8s ease-in-out infinite alternate;gap:12px}
body.shop .s-catbar .s-cat{position:relative;border-radius:999px;padding:12px 18px;margin-block:8px;transition:background .25s,box-shadow .25s,transform .25s}
body.shop .s-catbar .s-cat:hover,body.shop .s-catbar .s-cat:focus-visible{background:#fff6fc;box-shadow:0 5px 18px #c82b8c35;transform:translateY(-3px)}
body.shop .s-catbar .s-cat:active{transform:scale(.96)}
@keyframes shop-category-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
body.shop #s-custom{position:relative;isolation:isolate;overflow:hidden}
body.shop #s-custom::after{content:'';position:absolute;inset:-35%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 22% 35%,#ffedf9bb,transparent 28%),radial-gradient(ellipse at 72% 58%,#bf54e866,transparent 32%),radial-gradient(ellipse at 40% 75%,#fff1fd88,transparent 24%);animation:shop-custom-clouds 9s ease-in-out infinite alternate}
@keyframes shop-custom-clouds{from{transform:translate3d(-8%,-4%,0) rotate(-8deg)}to{transform:translate3d(8%,5%,0) rotate(8deg)}}
@media(prefers-reduced-motion:reduce){body.shop .s-hero-title,body.shop .s-catbar,body.shop #s-custom::after{animation:none}body.shop .s-catbar .s-cat{transition:none}}
/* Visible decorative motion in each catalog category and custom-order section. */
body.shop #live-catalog section[id^="catalog-group-"]{position:relative;isolation:isolate;overflow:hidden}
body.shop #live-catalog section[id^="catalog-group-"]::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 80% 35%,#fff7fc99,transparent 29%),radial-gradient(circle at 60% 70%,#ee75c94d,transparent 35%);animation:catalog-haze 7s ease-in-out infinite alternate}
body.shop #live-catalog section[id^="catalog-group-"]::after{content:'✦　✧　✦';position:absolute;right:6%;top:25%;color:#fff7fc;font-size:clamp(24px,5vw,68px);letter-spacing:14px;text-shadow:0 0 18px #ec4ebc80;pointer-events:none;z-index:-1;animation:catalog-stars-float 6s ease-in-out infinite alternate}
body.shop #live-catalog section[id^="catalog-group-"]:nth-child(even)::after{animation-delay:-3s;color:#ffeafb}
@keyframes catalog-haze{from{transform:translate(-4%,3%);opacity:.45}to{transform:translate(4%,-3%);opacity:1}}
@keyframes catalog-stars-float{from{transform:translate3d(-20px,35px,0) rotate(-12deg);opacity:.45}to{transform:translate3d(18px,-35px,0) rotate(12deg);opacity:.95}}
body.shop #s-custom::after{inset:-20%;z-index:0;opacity:.45;background:radial-gradient(circle at 75% 45%,#fff1fa99,transparent 28%),repeating-linear-gradient(55deg,transparent 0 72px,#fff4fb55 73px 74px,transparent 75px 145px);animation:custom-grid-drift 6s ease-in-out infinite alternate}
body.shop #s-custom>*{position:relative;z-index:1}
@keyframes custom-grid-drift{from{transform:translate3d(-35px,-18px,0) rotate(-4deg)}to{transform:translate3d(35px,18px,0) rotate(4deg)}}
@media(max-width:700px){body.shop #live-catalog section[id^="catalog-group-"]::after{right:3%;top:12%;font-size:30px;letter-spacing:5px}}
@media(prefers-reduced-motion:reduce){body.shop #live-catalog section[id^="catalog-group-"]::before,body.shop #live-catalog section[id^="catalog-group-"]::after,body.shop #s-custom::after{animation:none}}
