/* The Rip Shop v2 */
@media (min-width:1100px){main.wrap:has(.spx){max-width:1480px}}
body:has(.spx){background:#0B1330}
body:has(.spx)::before{content:"";position:absolute;left:0;right:0;top:0;height:640px;z-index:-1;background:url(../img/shop/shop-bg.webp) 50% 30%/cover;opacity:.9;-webkit-mask:linear-gradient(#000 55%,transparent);mask:linear-gradient(#000 55%,transparent);pointer-events:none}
.spx{display:flex;flex-direction:column;gap:18px;color:#fff;min-width:0}

/* hero */
.sp-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:22px;min-height:230px}
.sp-ht h1{margin:0;font:900 clamp(40px,5.4vw,78px)/.95 var(--f-display);letter-spacing:-.01em;text-shadow:0 5px 0 rgba(0,0,0,.35),0 0 30px rgba(0,0,0,.4)}
.sp-ht h1 span{background:linear-gradient(180deg,#FFF59A,#FFD23F 45%,#FFAA00);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 0 #9A5600) drop-shadow(0 0 18px rgba(255,190,40,.35))}
.sp-ht p{margin:12px 0 0;font-size:clamp(16px,1.4vw,20px);line-height:1.4;color:#E6ECFF;max-width:520px;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.sp-bal{display:flex;flex-direction:column;gap:12px;align-items:stretch;max-width:300px;justify-self:center;width:100%}
.sp-coins{display:flex;align-items:center;justify-content:center;gap:16px;height:72px;border-radius:18px;background:rgba(10,18,52,.85);border:1.5px solid rgba(160,190,255,.45);box-shadow:inset 0 0 24px rgba(61,110,255,.25)}
.sp-coins .coin{width:44px;height:44px;filter:drop-shadow(0 0 10px rgba(255,197,49,.6))}
.sp-coins b{font:900 40px/1 var(--f-display)}
.sp-earn{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:rgba(10,18,52,.85);border:1.5px solid rgba(160,190,255,.35);font-size:15px;line-height:1.45;color:#E6ECFF}
.sp-shield{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:linear-gradient(180deg,#2DD4A0,#13906B);box-shadow:0 0 14px rgba(45,212,160,.4)}
.sp-link{display:block;margin-top:6px;padding:0;background:none;border:0;color:#AFC6FF;font:700 14px/1 var(--f-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sp-link:hover{color:#fff}
.sp-ripw{position:relative;height:250px;justify-self:end;width:100%;max-width:420px}
.sp-rip{position:absolute;left:-50px;bottom:-20px;height:280px;width:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.55));animation:sprip 3.4s ease-in-out infinite}
@keyframes sprip{50%{transform:translateY(-6px) rotate(-1deg)}}
.sp-sign{position:absolute;right:0;top:24px;width:170px;padding:16px 14px;transform:rotate(-4deg);background:linear-gradient(160deg,#1E2A2C,#141C1E);border:7px solid #6B4423;border-radius:6px;box-shadow:0 12px 24px rgba(0,0,0,.5),inset 0 0 18px rgba(0,0,0,.6);font:900 16px/1.35 var(--f-display);text-transform:uppercase;color:#E9EEF0;text-align:center;letter-spacing:.02em;opacity:.95}

/* tabs */
.sp-tabs{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sp-tg{display:flex;gap:4px;padding:6px;border-radius:999px;background:rgba(10,18,52,.85);border:1.5px solid rgba(160,190,255,.3);overflow-x:auto;scrollbar-width:none;max-width:100%}
.sp-tab{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border-radius:999px;border:0;background:none;color:#D5DEFF;font:800 17px/1 var(--f-body);white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.sp-tab i{font-style:normal;font-size:19px}
.sp-tab:hover{background:rgba(255,255,255,.07);color:#fff}
.sp-tab[aria-selected="true"]{background:linear-gradient(180deg,#3D8BFF,#1F5CE8);color:#fff;box-shadow:0 0 18px rgba(61,139,255,.55),inset 0 1px 0 rgba(255,255,255,.35)}
.sp-timer{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px;border-radius:999px;background:rgba(10,18,52,.85);border:1.5px solid rgba(160,190,255,.35);font-size:16px;color:#E6ECFF;white-space:nowrap}
.sp-sub{margin:-6px 0 0;color:#AFC0F0;font-size:14px}

/* item cards */
.sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.sp-card{--rc:#2DD4BF;--rd:#0E4B49;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 20px 22px;border-radius:22px;text-align:center;
  background:radial-gradient(120% 60% at 50% 0%,color-mix(in srgb,var(--rc) 26%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--rd) 85%,#0B1330),#0D1638);
  border:2px solid color-mix(in srgb,var(--rc) 75%,transparent);box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 26px color-mix(in srgb,var(--rc) 30%,transparent),inset 0 0 30px color-mix(in srgb,var(--rc) 12%,transparent);
  transition:transform .18s,box-shadow .18s;animation:spin .4s both}
@keyframes spin{from{opacity:0;transform:translateY(12px)}}
.sp-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 40px color-mix(in srgb,var(--rc) 50%,transparent)}
.sp-card.r-rare{--rc:#3D8BFF;--rd:#0E2A6E}
.sp-card.r-epic{--rc:#A66BFF;--rd:#3A1A7A}
.sp-card.r-legendary{--rc:#FFC21A;--rd:#4A3400}
.sp-card.r-legendary{animation:spin .4s both,leggl 2.6s ease-in-out infinite}
@keyframes leggl{50%{box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 46px rgba(255,194,26,.55),inset 0 0 30px rgba(255,194,26,.18)}}
.sp-rar{display:inline-block;padding:6px 30px;border-radius:999px;border:1.5px solid var(--rc,#2DD4BF);background:rgba(0,0,0,.25);color:#fff;font:900 14px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.sp-card .sp-rar{color:color-mix(in srgb,var(--rc) 40%,#fff)}
.sp-art{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;display:grid;place-items:center;border:1.5px solid color-mix(in srgb,var(--rc) 55%,transparent);
  background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--rc) 45%,#1A2560),#0B1330 75%)}
.sp-art::after{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 18% 24%,#fff,transparent),radial-gradient(2px 2px at 82% 30%,#fff,transparent),radial-gradient(1.5px 1.5px at 70% 80%,#fff,transparent),radial-gradient(1.5px 1.5px at 28% 76%,#fff,transparent);opacity:.8;pointer-events:none}
.sp-art.avt img{position:absolute;inset:6% 0 0;margin:auto;height:94%;width:100%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.sp-em{font-size:72px;line-height:1}
.sp-art.bnr{display:flex;align-items:flex-end;padding:10px}
.sp-bg{position:absolute;inset:0}.sp-art.bnr .sp-chip{position:relative}
.sp-art.bnr::after{display:none}
.sp-chip{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:14px;background:rgba(8,14,40,.75);border:1px solid rgba(255,255,255,.25);text-align:left;backdrop-filter:blur(4px)}
.sp-chip b{display:block;font:800 15px/1.1 var(--f-body)}.sp-chip small{font-size:13px;color:#CFD8F5}
.sp-art.ti{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--rc) 70%,#2A1060),#120A3A 72%)}
.sp-rib{position:relative;z-index:1;display:inline-flex;flex-direction:column;align-items:center;padding:12px 30px;font:900 clamp(18px,2vw,26px)/1.05 var(--f-display);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.5);
  background:linear-gradient(180deg,#4A1E9A,#22105A);border:3px solid color-mix(in srgb,var(--rc) 70%,#fff);border-radius:10px;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);transform:rotate(-4deg);box-shadow:0 0 24px color-mix(in srgb,var(--rc) 70%,transparent)}
.sp-rib i{font-style:normal;color:#FFD23F;font-size:20px;line-height:1;margin-bottom:2px}
.sp-art.fr .ava{box-shadow:0 0 20px rgba(0,0,0,.5)}
.sp-art.fx span{position:absolute;font-size:30px;left:calc(8% + var(--k) * 13%);top:-20%;animation:spfx 2.4s linear calc(var(--k) * -.37s) infinite}
@keyframes spfx{to{top:105%;transform:rotate(200deg)}}
.sp-card h3{margin:8px 0 0;font:900 clamp(22px,1.9vw,28px)/1.1 var(--f-display)}
.sp-kind{font:900 13px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--rc) 75%,#fff)}
.sp-desc{margin:4px 0 8px;font-size:15px;line-height:1.4;color:#D5DEFF;flex:1}
.sp-buy{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;border-radius:14px;border:0;cursor:pointer;color:#fff;font:900 22px/1 var(--f-display);
  background:linear-gradient(180deg,#3D8BFF,#1F5CE8);box-shadow:0 4px 0 #0E3AA8,0 0 18px rgba(61,139,255,.4),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .08s,filter .15s}
.sp-buy .coin{width:28px;height:28px}
.sp-buy:hover{filter:brightness(1.1)}.sp-buy:active{transform:translateY(3px);box-shadow:0 1px 0 #0E3AA8}
.sp-buy.lock{background:rgba(20,28,60,.9);color:#AAB4D6;box-shadow:inset 0 0 0 1.5px rgba(160,180,230,.3);cursor:not-allowed}
.sp-buy.lock .coin{opacity:.6}
.sp-buy.own{background:rgba(45,212,160,.16);color:#7FF0C9;box-shadow:inset 0 0 0 1.5px rgba(45,212,160,.6);font-size:18px}
.sp-buy.own:disabled{cursor:default;opacity:.85}
.sp-how{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:8px 12px;border-radius:14px;background:rgba(0,0,0,.25);border:1.5px dashed rgba(170,190,240,.35);font-size:14.5px;color:#D5DEFF;line-height:1.3}
.sp-how b{color:#fff;margin-left:4px}
.sp-prev{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;margin-top:8px;border-radius:14px;background:transparent;border:2px solid rgba(255,255,255,.75);color:#fff;font:800 17px/1 var(--f-body);cursor:pointer}
.sp-prev:hover{background:rgba(255,255,255,.1)}
.sp-need{margin:10px 0 0;font-size:15px}.sp-need b{display:block;color:#fff}.sp-need small{display:block;margin-top:4px;font-size:13.5px;color:#C9D2F0}
.sp-card.owned .sp-art{filter:saturate(.85)}
.sp-foot{margin:4px 0 0;font-size:13px;color:#9FB0E0;text-align:center}

/* preview / how-it-works overlay */
.sp-pv{--rc:#3D8BFF;width:min(480px,92vw);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:#fff}
.sp-pv.r-common{--rc:#2DD4BF}.sp-pv.r-epic{--rc:#A66BFF}.sp-pv.r-legendary{--rc:#FFC21A}
.sp-pv h2{margin:0;font:900 30px/1.1 var(--f-display)}
.sp-pv .pcard{width:100%;text-align:left}
.sp-pv-fx{font-size:90px;line-height:1;animation:sprip 2s ease-in-out infinite}
.sp-pv p{margin:0;color:#D5DEFF}
.sp-howl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left;font-size:16px;line-height:1.4;color:#E6ECFF}
.sp-howl li{padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.06)}

/* responsive */
@media (max-width:1180px){.sp-hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.sp-ripw{display:none}}
@media (max-width:760px){
  .sp-hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:14px}
  .sp-bal{max-width:none;flex-direction:row;flex-wrap:wrap}.sp-coins{flex:1 1 160px;height:60px}.sp-coins b{font-size:32px}.sp-earn{flex:1 1 240px}
  .sp-tabs{flex-direction:column;align-items:stretch}.sp-tg{border-radius:18px}.sp-tab{padding:0 14px;font-size:15px}.sp-timer{justify-content:center}
  .sp-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px}
}

@media (max-width:1000px){body:has(.spx)::before{background-image:url(../img/shop/shop-bg-sm.webp);background-position:70% 30%}}
/* keep text readable over the brighter shop art */
body:has(.spx)::after{content:"";position:absolute;left:0;right:0;top:0;height:640px;z-index:-1;background:linear-gradient(90deg,rgba(8,14,40,.55),rgba(8,14,40,.15) 55%,transparent);pointer-events:none}
