/* ════════════════════════════════════════════════════════════════════
   STYLE-SHOP.CSS — MU GAME 97d+99i · ARCANE FUSION
   Sistema visual premium do conteúdo do painel (cards, menus, tags,
   welcome, restricted). 100% CSS · sem WebGL/blend-mode/3d.
   Estiliza: shop-menu, menu_cash, shopgolds_*, shop, shop_cash,
   painel-restricted, shop-welcome.
   ──────────────────────────────────────────────────────────────────── */

:root{
  --sx-bg:#08060f;
  --sx-panel-1:rgba(20,14,34,.96);
  --sx-panel-2:rgba(10,7,18,.97);
  --sx-arcane:#9d6bff;  --sx-arcane-b:#b794ff;  --sx-arcane-d:#6f3fd0;
  --sx-soul:#ff4fa3;    --sx-aurora:#4fe3c8;     --sx-gold:#f4c95d;
  --sx-border:rgba(157,107,255,.16);
  --sx-border-s:rgba(255,255,255,.07);
  --sx-text:rgba(236,231,250,.82);
  --sx-muted:rgba(236,231,250,.46);
  --sx-f-display:'Gabarito',sans-serif;
  --sx-f-ui:'Space Grotesk',sans-serif;
  --sx-f-mono:'Space Mono',monospace;
}

/* ═══════════════ ACESSO RESTRITO ═══════════════ */
.painel-restricted{
  max-width:520px; margin:50px auto; padding:40px 32px; text-align:center;
  border-radius:20px; position:relative; overflow:hidden;
  background:
    radial-gradient(120% 80% at 50% -20%, rgba(157,107,255,.16), transparent 60%),
    linear-gradient(165deg, var(--sx-panel-1), var(--sx-panel-2));
  border:1px solid var(--sx-border);
  box-shadow:0 30px 80px -50px rgba(0,0,0,.9);
}
.painel-restricted::before{
  content:""; position:absolute; inset:0 0 auto; height:2px;
  background:linear-gradient(90deg,transparent,var(--sx-arcane),var(--sx-soul),var(--sx-arcane),transparent);
  background-size:200% auto; animation:sxFlow 6s linear infinite;
}
.painel-restricted-icon{
  font-size:46px; line-height:1; margin-bottom:14px;
  filter:drop-shadow(0 0 18px rgba(157,107,255,.5));
}
.painel-restricted-title{
  font-family:var(--sx-f-display); font-size:26px; font-weight:900;
  letter-spacing:1px; color:#fff; margin-bottom:8px;
}
.painel-restricted-desc{
  font-family:var(--sx-f-ui); font-size:16px; line-height:1.6; color:var(--sx-text);
}

/* ═══════════════ SHOP — TÍTULO DA PÁGINA ═══════════════ */
.shop-page-title{
  font-family:var(--sx-f-display); font-size:30px; font-weight:900;
  letter-spacing:.5px; color:#fff; margin:4px 0 20px; padding-bottom:14px;
  position:relative; display:flex; align-items:center; gap:12px;
}
.shop-page-title::before{
  content:"◈"; font-size:20px; color:var(--sx-arcane);
  filter:drop-shadow(0 0 10px rgba(157,107,255,.6));
}
.shop-page-title::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:linear-gradient(90deg, var(--sx-arcane), transparent 70%);
}

/* ═══════════════ SHOP — GRID DE ITENS ═══════════════ */
.shop-items-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(216px,1fr));
  gap:16px; margin-bottom:8px;
}

.shop-card{
  position:relative; display:flex; flex-direction:column; border-radius:16px;
  overflow:hidden; isolation:isolate;
  background:linear-gradient(170deg, var(--sx-panel-1), var(--sx-panel-2) 70%);
  border:1px solid var(--sx-border);
  box-shadow:0 20px 50px -40px rgba(0,0,0,.9);
  transition:transform .24s cubic-bezier(.2,.7,.3,1), border-color .24s, box-shadow .28s;
}
.shop-card::before{   /* barra topo animada */
  content:""; position:absolute; top:0; left:0; right:0; height:2px; z-index:3;
  background:linear-gradient(90deg, var(--sx-arcane), var(--sx-soul), var(--sx-aurora), var(--sx-arcane));
  background-size:240% auto; opacity:0; transition:opacity .25s; animation:sxFlow 6s linear infinite;
}
.shop-card:hover{
  transform:translateY(-6px);
  border-color:rgba(157,107,255,.5);
  box-shadow:0 34px 70px -34px rgba(157,107,255,.5);
}
.shop-card:hover::before{ opacity:1; }

.shop-card-thumb{
  position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(circle at 50% 38%, rgba(157,107,255,.16), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.18));
  border-bottom:1px solid var(--sx-border-s); overflow:hidden;
}
.shop-card-thumb::after{   /* brilho de canto */
  content:""; position:absolute; top:-30%; right:-30%; width:60%; height:60%;
  background:radial-gradient(circle, rgba(183,148,255,.22), transparent 60%);
  pointer-events:none;
}
.shop-card-thumb img{
  max-width:78%; max-height:78%; width:auto; height:auto; object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.55)); transition:transform .3s;
}
.shop-card:hover .shop-card-thumb img{ transform:scale(1.07); }

.shop-card-body{ display:flex; flex-direction:column; gap:9px; padding:15px 15px 14px; flex:1; }

.shop-card-name{
  font-family:var(--sx-f-display); font-size:20px; font-weight:800; letter-spacing:.2px;
  color:#fff; line-height:1.15;
}
.shop-card-parts{
  font-family:var(--sx-f-mono); font-size:13px; letter-spacing:.3px; color:var(--sx-muted);
  margin-top:-4px;
}

.shop-card-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.shop-tag{
  font-family:var(--sx-f-mono); font-size:12px; font-weight:700; letter-spacing:.4px;
  padding:3px 8px; border-radius:6px;
  background:rgba(255,255,255,.04); border:1px solid var(--sx-border-s); color:var(--sx-text);
}
.shop-tag.gold{ background:rgba(244,201,93,.1); border-color:rgba(244,201,93,.34); color:var(--sx-gold); }
.shop-tag.neon{ background:rgba(79,227,200,.1); border-color:rgba(79,227,200,.34); color:var(--sx-aurora); }
.shop-tag.red{  background:rgba(255,79,163,.1); border-color:rgba(255,79,163,.34); color:#ff8ac2; }

.shop-full-banner{
  display:flex; align-items:center; gap:9px; margin-top:2px;
  padding:8px 11px; border-radius:9px;
  background:linear-gradient(90deg, rgba(157,107,255,.14), rgba(255,79,163,.06));
  border:1px solid rgba(157,107,255,.26); position:relative; overflow:hidden;
}
.shop-full-banner::after{   /* shimmer */
  content:""; position:absolute; top:0; left:-60%; width:45%; height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  animation:sxSweep 4.5s ease-in-out infinite;
}
.shop-full-icon{ font-size:19px; filter:drop-shadow(0 0 8px rgba(244,201,93,.6)); flex-shrink:0; }
.shop-full-text{ font-family:var(--sx-f-display); font-size:14.5px; font-weight:800; letter-spacing:.5px; color:#fff; line-height:1.1; }
.shop-full-sub{ font-family:var(--sx-f-mono); font-size:11.5px; letter-spacing:.3px; color:var(--sx-arcane-b); }

.shop-card-footer{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-top:auto; padding-top:12px; border-top:1px solid var(--sx-border-s);
}
.shop-card-price{
  font-family:var(--sx-f-display); font-size:20px; font-weight:900; letter-spacing:.3px;
  color:var(--sx-gold); text-shadow:0 0 14px rgba(244,201,93,.3); white-space:nowrap;
}
.shop-btn{
  font-family:var(--sx-f-ui); font-size:13.5px; font-weight:700; letter-spacing:.5px;
  text-transform:uppercase; color:#fff; cursor:pointer; white-space:nowrap;
  padding:9px 16px; border-radius:9px;
  background:linear-gradient(135deg, var(--sx-arcane), var(--sx-arcane-d));
  border:1px solid rgba(157,107,255,.6);
  box-shadow:0 8px 20px -10px rgba(157,107,255,.7), inset 0 1px 0 rgba(255,255,255,.16);
  transition:transform .18s, box-shadow .22s, filter .2s;
}
.shop-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 26px -8px rgba(157,107,255,.9); filter:brightness(1.08); }
.shop-btn:active{ transform:translateY(0); }

/* ═══════════════ SHOP MENU (categorias) ═══════════════ */
.shopm-wrapper{ display:flex; flex-direction:column; gap:16px; margin-bottom:22px; }
.shopm-section{
  border-radius:16px; overflow:hidden;
  background:linear-gradient(170deg, var(--sx-panel-1), var(--sx-panel-2) 75%);
  border:1px solid var(--sx-border);
  box-shadow:0 20px 50px -42px rgba(0,0,0,.9);
}
.shopm-header{
  display:flex; align-items:center; gap:10px; padding:13px 16px;
  background:linear-gradient(90deg, rgba(157,107,255,.1), transparent 70%);
  border-bottom:1px solid var(--sx-border-s);
}
.shopm-header-icon{ font-size:18px; filter:drop-shadow(0 0 8px rgba(157,107,255,.5)); }
.shopm-header-title{
  font-family:var(--sx-f-display); font-size:17px; font-weight:800; letter-spacing:1.5px;
  text-transform:uppercase; color:#fff;
}
.shopm-header-sub{
  font-family:var(--sx-f-mono); font-size:11.5px; letter-spacing:1px; color:var(--sx-muted); margin-left:auto;
}
.shopm-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:9px; padding:14px;
}
.shopm-item{
  display:flex; align-items:center; gap:10px; padding:11px 13px; border-radius:11px;
  text-decoration:none; font-family:var(--sx-f-ui); font-size:15px; font-weight:700;
  color:var(--sx-text);
  background:rgba(255,255,255,.03); border:1px solid var(--sx-border-s);
  transition:transform .18s, border-color .2s, background .2s, color .2s, box-shadow .22s;
}
.shopm-item:hover{
  transform:translateX(3px);
  background:rgba(157,107,255,.1); border-color:rgba(157,107,255,.4); color:#fff;
  box-shadow:0 10px 26px -16px rgba(157,107,255,.8);
}
.shopm-item-icon{
  width:30px; height:30px; flex-shrink:0; display:grid; place-items:center; border-radius:8px;
  font-size:17px; background:rgba(157,107,255,.12); border:1px solid rgba(157,107,255,.28);
}
.shopm-item-name{ flex:1; }

/* ═══════════════ SHOP WELCOME (boas-vindas) ═══════════════ */
.shop-welcome{
  position:relative; overflow:hidden; border-radius:16px; padding:22px 24px; margin-bottom:18px;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(157,107,255,.12), transparent 55%),
    linear-gradient(165deg, var(--sx-panel-1), var(--sx-panel-2));
  border:1px solid var(--sx-border);
  box-shadow:0 22px 56px -44px rgba(0,0,0,.9);
}
.shop-welcome::before{
  content:""; position:absolute; inset:0 0 auto; height:2px;
  background:linear-gradient(90deg,transparent,var(--sx-arcane),var(--sx-aurora),transparent);
  background-size:200% auto; animation:sxFlow 6s linear infinite;
}
.shop-welcome-header{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.shop-welcome-icon{
  width:48px; height:48px; flex-shrink:0; display:grid; place-items:center; border-radius:13px;
  font-size:26px; background:rgba(157,107,255,.12); border:1px solid rgba(157,107,255,.3);
  box-shadow:0 0 22px -6px rgba(157,107,255,.6);
}
.shop-welcome-title{ font-family:var(--sx-f-display); font-size:21px; font-weight:900; color:#fff; letter-spacing:.3px; }
.shop-welcome-sub{ font-family:var(--sx-f-mono); font-size:12.5px; letter-spacing:.5px; color:var(--sx-aurora); margin-top:2px; }
.shop-welcome-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.shop-welcome-list li{
  position:relative; padding:11px 14px 11px 38px; border-radius:11px;
  background:rgba(255,255,255,.025); border:1px solid var(--sx-border-s);
  font-family:var(--sx-f-ui); font-size:15px; line-height:1.55; color:var(--sx-text);
}
.shop-welcome-list li::before{
  content:"◆"; position:absolute; left:14px; top:11px; color:var(--sx-arcane); font-size:12px;
}
.shop-welcome-list b{ color:#fff; font-weight:700; }
.shop-welcome-list a{ color:var(--sx-arcane-b); text-decoration:none; font-weight:700; }
.shop-welcome-list a:hover{ color:var(--sx-aurora); }

/* ═══════════════ KEYFRAMES ═══════════════ */
@keyframes sxFlow{ to{ background-position:240% center; } }
@keyframes sxSweep{ 0%{ left:-60%; } 55%,100%{ left:130%; } }

@media (prefers-reduced-motion:reduce){
  .shop-card::before, .painel-restricted::before, .shop-welcome::before, .shop-full-banner::after{ animation-duration:30s; }
}

@media (max-width:680px){
  .shop-items-grid{ grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:11px; }
  .shopm-grid{ grid-template-columns:1fr 1fr; }
  .shop-page-title{ font-size:26px; }
}
