/* Frozen relics: the existing circular shop badge, with readable snow crystals. */
.vshop-skin-effect-preview.is-ice-relic {
    --ice-shadow: #554B5E;
    --ice-blue: #0C80ED;
    --ice-glow: #00CEE0;
    --ice-dark: #001361;
    --ice-silver: #BEC7FF;
    isolation: isolate;
    pointer-events: none;
    border-color: var(--ice-silver);
    color: var(--ice-glow);
    background: radial-gradient(ellipse at 50% 80%, #0C80ED77, #001361ed 55%, #10111e);
    box-shadow: 0 4px 12px #000b, 0 0 14px #00CEE066, inset 0 0 12px #554B5E99;
}
.vshop-ice-seal { position:absolute; inset:13%; border:1px solid #BEC7FF88; border-radius:50%; box-shadow:0 0 0 3px #0C80ED33, inset 0 0 10px #00CEE033; animation:vshopIceSeal 7s linear infinite; }
.vshop-ice-seal::after { content:''; position:absolute; inset:8%; border:1px solid #00CEE088; clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%); background:repeating-conic-gradient(from 0deg,transparent 0deg 58deg,#BEC7FF77 59deg 60deg); }
.vshop-skin-effect-preview.is-ice-relic > .vshop-ice-asset { z-index:2; inset:9%; width:82%; height:82%; object-fit:contain; filter:drop-shadow(0 0 4px #00CEE0); animation:vshopIceMirror 4.6s ease-in-out infinite; }
.vshop-skin-effect-preview.is-ice-dante > .vshop-ice-asset { inset:3%; width:94%; height:94%; animation:vshopIceBlade 4.8s ease-in-out infinite; }
.vshop-skin-effect-preview.is-ice-zahira > .vshop-ice-asset { animation:vshopIceLasso 5.2s ease-in-out infinite; }
.vshop-ice-snow { position:absolute; inset:0; width:100%; height:100%; z-index:4; filter:drop-shadow(0 0 2px #0C80ED); animation:vshopIceSnow 5s ease-in-out infinite; }
.vshop-ice-crystal { position:absolute; z-index:1; left:calc(7% + var(--ice-i)*19%); top:calc(70% - var(--ice-i)*8%); width:9%; height:27%; clip-path:polygon(50% 0,100% 30%,65% 100%,0 70%); background:linear-gradient(105deg,#fff,#BEC7FF 28%,#0C80ED 32%,#001361 70%,#00CEE0); opacity:.85; animation:vshopIceShard 3.7s ease-in-out infinite; animation-delay:calc(var(--ice-i)*-.7s); }
.vshop-ice-monoliths { position:absolute; inset:0; width:100%; height:100%; z-index:3; filter:drop-shadow(0 0 2px #00CEE0); animation:vshopIceMirror 4s ease-in-out infinite reverse; }
.vshop-ice-shimmer { position:absolute; z-index:3; inset:0; background:linear-gradient(115deg,transparent 35%,#ffffff88 49%,#00CEE033 53%,transparent 65%); transform:translateX(-120%); animation:vshopIceShimmer 5.5s ease-in-out infinite; }
@keyframes vshopIceSeal { to { rotate:360deg; } }
@keyframes vshopIceMirror { 0%,100% { transform:translateY(2px) rotate(-4deg) scale(.96); } 50% { transform:translateY(-3px) rotate(4deg) scale(1.02); } }
@keyframes vshopIceBlade { 0%,100% { transform:rotate(-8deg) translateY(2px); } 45%,55% { transform:rotate(6deg) translateY(-3px); } }
@keyframes vshopIceLasso { 0%,100% { transform:rotate(-12deg) scale(.94); } 50% { transform:rotate(18deg) scale(1.04); } }
@keyframes vshopIceSnow { 0%,100% { transform:translateY(-2px) rotate(-4deg); opacity:.65; } 50% { transform:translateY(3px) rotate(6deg); opacity:1; } }
@keyframes vshopIceShard { 50% { transform:translateY(-7px) rotate(12deg); opacity:.45; } }
@keyframes vshopIceShimmer { 0%,30% { transform:translateX(-120%); } 65%,100% { transform:translateX(120%); } }
@media(prefers-reduced-motion:reduce) {
    .vshop-skin-effect-preview.is-ice-relic,
    .vshop-skin-effect-preview.is-ice-relic * { animation:none !important; }
    .vshop-ice-shimmer { display:none; }
}
