/* Jimis Store — cute page-to-page transition (no initial loader) */
#pageTransition {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    overflow: hidden;
    background:
      radial-gradient(circle at 50% 42%, rgba(255,255,255,.96) 0 12%, rgba(255,240,245,.94) 34%, rgba(254,249,247,.98) 72%),
      linear-gradient(135deg, #fffaf8 0%, #fff0f4 100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(1.015);
    transition: opacity .38s ease, transform .55s cubic-bezier(.22,1,.36,1), visibility .38s ease;
    will-change: opacity, transform;
}

#pageTransition::before,
#pageTransition::after {
    content: '';
    position: absolute;
    width: 34vmax;
    height: 34vmax;
    border-radius: 50%;
    border: 1px solid rgba(255,107,143,.12);
    animation: jimisAura 2.4s ease-in-out infinite !important;
    will-change: transform, opacity;
}
#pageTransition::after { width: 48vmax; height: 48vmax; animation-delay: -.8s; opacity: .65; }

#pageTransition.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: scale(1);
}

.page-transition-sparkles {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.page-transition-sparkles i {
    position: absolute;
    width: 7px;
    height: 7px;
    background: #ff8fab;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(255,107,143,.5);
    animation: jimisSparkle 1.25s ease-in-out infinite !important;
    will-change: transform, opacity;
}
.page-transition-sparkles i::before,
.page-transition-sparkles i::after {
    content: '';
    position: absolute;
    left: 50%; top: 50%;
    width: 2px; height: 20px;
    border-radius: 99px;
    background: currentColor;
    transform: translate(-50%,-50%);
}
.page-transition-sparkles i::after { transform: translate(-50%,-50%) rotate(90deg); }
.page-transition-sparkles i:nth-child(1){left:18%;top:29%;color:#ffb7c5;animation-delay:-.2s;transform:scale(.7)}
.page-transition-sparkles i:nth-child(2){left:78%;top:25%;color:#ff6b8f;animation-delay:-.7s;transform:scale(.55)}
.page-transition-sparkles i:nth-child(3){left:13%;top:65%;color:#ffd1dc;animation-delay:-.45s;transform:scale(.45)}
.page-transition-sparkles i:nth-child(4){left:84%;top:67%;color:#ffb7c5;animation-delay:-.9s;transform:scale(.8)}
.page-transition-sparkles i:nth-child(5){left:27%;top:76%;color:#ff8fab;animation-delay:-.1s;transform:scale(.35)}
.page-transition-sparkles i:nth-child(6){left:72%;top:78%;color:#ffd1dc;animation-delay:-.6s;transform:scale(.4)}
.page-transition-sparkles i:nth-child(7){left:91%;top:45%;color:#ff8fab;animation-delay:-.35s;transform:scale(.3)}
.page-transition-sparkles i:nth-child(8){left:8%;top:45%;color:#ffb7c5;animation-delay:-.8s;transform:scale(.3)}

.page-transition-rings {
    position: relative;
    width: 104px;
    height: 104px;
    margin-bottom: 18px;
    filter: drop-shadow(0 10px 22px rgba(255,107,143,.15));
    animation: jimisFloat 1.7s ease-in-out infinite !important;
    will-change: transform;
}
.page-transition-rings span {
    position: absolute;
    border: 3px solid transparent;
    border-top-color: #ff6b8f;
    border-right-color: rgba(255,107,143,.25);
    border-radius: 50%;
    animation: jimisSpin 1.05s cubic-bezier(.5,0,.5,1) infinite !important;
    will-change: transform;
}
.page-transition-rings span:nth-child(1){width:104px;height:104px;left:0;top:0}
.page-transition-rings span:nth-child(2){width:88px;height:88px;left:8px;top:8px;border-top-color:#ffb7c5;border-right-color:rgba(255,183,197,.25);animation-duration:1.35s;animation-direction:reverse;animation-delay:-.25s}
.page-transition-rings span:nth-child(3){width:72px;height:72px;left:16px;top:16px;border-top-color:#ff8fab;border-right-color:rgba(255,143,171,.2);animation-duration:.9s;animation-delay:-.4s}

.page-transition-gem {
    position: absolute;
    inset: 22px;
    display: grid;
    place-items: center;
    color: #ff6b8f;
    font-size: 28px;
    text-shadow: 0 0 14px rgba(255,107,143,.32);
    animation: jimisGem 1.1s ease-in-out infinite !important;
    will-change: transform, opacity;
}
.page-transition-gem::after {
    content:'';
    position:absolute;
    inset:7px;
    border-radius:50%;
    border:1px dashed rgba(255,107,143,.3);
    animation:jimisSpin 3s linear infinite reverse !important;
}

.page-transition-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: 1.8px;
    color: #2d2a2a;
    margin-bottom: 5px;
    text-shadow: 0 3px 14px rgba(255,107,143,.12);
}
.page-transition-title span { display:inline-block; animation:jimisLetter .72s cubic-bezier(.34,1.56,.64,1) infinite; }

.page-transition-dots span {
    display:inline-block;
    font-size:21px;
    font-weight:800;
    color:#ff6b8f;
    animation:jimisDot .9s ease-in-out infinite !important;
    will-change: transform, opacity;
}
.page-transition-dots span:nth-child(2){animation-delay:.15s}.page-transition-dots span:nth-child(3){animation-delay:.3s}

@keyframes jimisSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes jimisGem{0%,100%{transform:scale(.92) rotate(-5deg);opacity:.82}50%{transform:scale(1.13) rotate(5deg);opacity:1}}
@keyframes jimisFloat{0%,100%{transform:translateY(2px)}50%{transform:translateY(-6px)}}
@keyframes jimisLetter{0%,100%{transform:translateY(0) rotate(0);color:#2d2a2a}45%{transform:translateY(-5px) rotate(-2deg);color:#ff6b8f}70%{transform:translateY(1px) rotate(2deg)}}
@keyframes jimisDot{0%,100%{opacity:.25;transform:translateY(0) scale(.8)}45%{opacity:1;transform:translateY(-5px) scale(1.25)}}
@keyframes jimisSparkle{0%,100%{opacity:.25;transform:scale(.35) rotate(0)}45%{opacity:1;transform:scale(1) rotate(45deg)}70%{opacity:.45;transform:scale(.55) rotate(90deg)}}
@keyframes jimisAura{0%,100%{transform:scale(.9);opacity:.3}50%{transform:scale(1.08);opacity:.75}}

@media (max-width:600px){
  .page-transition-rings{width:88px;height:88px}
  .page-transition-rings span:nth-child(1){width:88px;height:88px}.page-transition-rings span:nth-child(2){width:76px;height:76px;left:6px;top:6px}.page-transition-rings span:nth-child(3){width:64px;height:64px;left:12px;top:12px}
  .page-transition-gem{inset:18px;font-size:24px}.page-transition-title{font-size:21px;letter-spacing:1.4px}
}
