/* 浏览商店页 —— 复用 style.css 的基础样式，这里只加网格与标签 */
.cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.cat{
  padding:7px 15px;border-radius:999px;font-size:13px;cursor:pointer;transition:.15s;
  background:var(--card);border:1px solid var(--line);color:var(--fg2)
}
.cat:hover{border-color:var(--ps);color:var(--fg)}
.cat.on{background:rgba(46,127,240,.16);border-color:var(--ps);color:var(--ps2);font-weight:600}

/* 商店网格 */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px}
.gcard{
  border-radius:var(--radius);background:var(--card);border:1px solid var(--line);
  overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .1s
}
.gcard:hover{border-color:#33415c;transform:translateY(-2px)}
.gcard .cover{
  width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--bg2);display:block
}
.gcard .cover-ph{width:100%;aspect-ratio:1/1;background:var(--bg2);display:grid;place-items:center;color:var(--fg3);font-size:26px}
.gcard .body{padding:11px 13px 13px;display:flex;flex-direction:column;gap:7px;flex:1}
.gcard .gname{
  font-size:13.5px;font-weight:600;line-height:1.4;min-height:2.8em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.gcard .gsku{font-size:11px;color:var(--fg3)}
/* 标题行 + 评价入口 */
.gcard .gname2{display:flex;align-items:flex-start;gap:8px}
.gcard .gname2 .gname{flex:1;min-width:0}
.gcard .gname2 .revlink{font-size:11px;flex:none;margin-top:1px}
/* 网格卡片里的评分/发售日更紧凑 */
.gp .mline{font-size:10.5px;gap:7px;min-height:14px}
.gp .stars{font-size:10px}
.gp .mline .rt b{font-size:10.5px}

/* 两区价格块 */
.gp{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:9px;background:var(--bg2)}
.gp.better{background:linear-gradient(180deg,rgba(37,195,154,.12),rgba(37,195,154,.03));box-shadow:inset 0 0 0 1px rgba(37,195,154,.3)}
.gp .gptag{font-size:10.5px;color:var(--fg3);letter-spacing:.4px}
.gp.better .gptag{color:var(--win)}
.gp .gpprice{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.gp .gpcny{font-size:11.5px;color:var(--fg2);font-variant-numeric:tabular-nums}
.gp.better .gpcny{color:var(--win);font-weight:600}
.gp .gporig{font-size:11px;color:var(--fg3);text-decoration:line-through}
.gp .gpsale{font-size:10.5px;color:var(--warn);font-weight:600}

.gcard .gbadges{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.gbadge{
  padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;
  background:rgba(37,195,154,.14);color:var(--win);border:1px solid rgba(37,195,154,.4)
}
.gbadge.save{background:rgba(240,166,58,.12);color:var(--warn);border-color:rgba(240,166,58,.35)}

@media (max-width:720px){
  .grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}
  .gcard .body{padding:9px 10px 11px}
  .gcard .gname{font-size:12.5px}
  .gp{padding:6px 8px}
  .gp .gpprice{font-size:15px}
  .tabs{margin:16px 0 12px}
}
