/* ---------- shop / upgrades ---------- */
.shophero{position:relative;border-radius:20px;overflow:hidden;padding:20px 18px;margin:14px 2px 6px;
  background:linear-gradient(120deg,#241a4d,#141a3a 60%,#0f1330);border:1px solid #33396b}
.shophero::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 84% -20%,rgba(255,203,5,.22),transparent 55%)}
.shophero h2{font-family:'Bebas Neue';font-size:30px;letter-spacing:.04em;line-height:1;color:#fff;position:relative}
.shophero h2 span{color:var(--yellow)}
.shophero p{font-size:12.5px;color:#aab0dd;font-weight:600;margin-top:5px;position:relative;max-width:280px}
.shophero .hwallet{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:7px;background:rgba(10,13,26,.5);
  border:1px solid rgba(255,255,255,.14);padding:7px 13px;border-radius:99px;font-weight:800;font-size:14px}
.shophero .hwallet .coin{width:17px;height:17px}
.shophero .hwallet .coin::after{font-size:11px}
.shopcat{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin:20px 4px 10px;display:flex;align-items:center;gap:8px}
.shopcat::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.shopgrid{display:flex;flex-direction:column;gap:13px}
.themecard{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#151830,#0f1120);transition:transform .15s,box-shadow .15s,border-color .15s}
.themecard:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.4)}
.themecard.active{border-color:var(--yellow);box-shadow:0 0 0 1px var(--yellow),0 10px 28px rgba(255,203,5,.16)}
.themeprev{height:120px;position:relative;overflow:hidden}
.themeprev .shelfroom{position:absolute;inset:0;border-radius:0;padding:0}
.themeprev .minirow{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:11px;padding-bottom:16px}
.mini-pack{width:38px;height:54px;border-radius:5px 5px 6px 6px;position:relative;box-shadow:0 7px 11px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.25)}
.mini-pack::before{content:'';position:absolute;top:0;left:0;right:0;height:7px;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);-webkit-mask:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px);mask:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px)}
.mini-pack .b{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:50%;background:linear-gradient(180deg,#fff 0 46%,#e8e8f5 46%);border:1.2px solid #0007}
.themecard .tbadge{position:absolute;top:11px;left:11px;z-index:3;font-size:8.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(10,13,26,.55);border:1px solid rgba(255,255,255,.16);padding:3px 9px;border-radius:99px;backdrop-filter:blur(3px)}
.themecard .equipped-flag{position:absolute;top:11px;right:11px;z-index:3;font-size:9px;font-weight:800;letter-spacing:.1em;color:#06210f;background:var(--yellow);padding:4px 10px;border-radius:99px;box-shadow:0 3px 10px rgba(255,203,5,.4)}
.themecard .body{padding:13px 14px 14px;display:flex;align-items:center;gap:12px}
.themecard .tinfo{flex:1;min-width:0}
.themecard .tname{font-family:'Bebas Neue';font-size:21px;letter-spacing:.02em;color:#fff;line-height:1}
.themecard .tblurb{font-size:11.5px;color:#9aa0c8;font-weight:600;margin-top:3px;line-height:1.35}
.themecard .taction{flex:none}
.tbtn{border:none;cursor:pointer;font-family:'Outfit';font-weight:800;border-radius:12px;padding:11px 16px;font-size:13px;transition:.14s;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.1;min-width:92px}
.tbtn:active{transform:scale(.96)}
.tbtn small{font-size:9px;font-weight:700;opacity:.75;letter-spacing:.03em}
.tbtn-buy{background:linear-gradient(180deg,#4be58c,#1fb75d);color:#06210f;box-shadow:0 6px 16px rgba(47,213,115,.3)}
.tbtn-equip{background:linear-gradient(180deg,#5b7bff,#3b5be0);color:#fff;box-shadow:0 6px 16px rgba(59,108,255,.3)}
.tbtn-equipped{background:#1b1f3a;color:var(--yellow);border:1px solid #3a4070}
.tbtn-locked{background:#1a1d33;color:#6a2d2d;border:1px solid #402a3a;cursor:not-allowed}
.tbtn-locked small{color:#8a4a4a}
