/* apps/satellite/public-megapariguia/css/brand.css
 *
 * megapariguia 专属样式（2026-08-08）。只挂载给这一站——见
 * apps/satellite/src/layouts/Sat.astro 里 `site.id === 'megapariguia-xyz'` 的
 * 条件 <link>。
 *
 * 为什么不放进共享的 apps/satellite/src/styles/sat.css：
 * sat.css 是 15 站共用同一份源文件，任何字节追加都会改变 Astro 按内容算出的
 * 打包产物文件名 hash（apps/satellite/dist/<站>/_astro/_extra_.<hash>.css），
 * 而这个文件名写死在每一站每一页的 <link href> 里——于是追加规则会级联"改动"
 * 全部 15 站的每个 HTML 文件，即使可见渲染完全不变，也会让「其余 14 站构建产物
 * 逐字节不变」这条验证防线失效（2026-08-08 Task 2 Step 10 踩过一次，见
 * .superpowers/sdd/2026-08-08-megapariguia-contenido-v2/task-2-report.md）。
 *
 * public-<品牌>/ 目录本来就按 astro.config.mjs 的 BRAND_DIR 机制逐站隔离
 * （publicDir: `public-${BRAND_DIR}`），放在这里天然只对 megapariguia 生效，
 * 不需要额外条件判断就能保证隔离——比塞进共享文件更贴合现有架构。
 *
 * 别把这份文件「整理」回 sat.css：那会重新引入上面说的 hash 级联问题。
 *
 * 对应组件：IconGrid.astro（.icon-card__img）/ IconRows.astro
 * （.icon-rows__item-img）。位图渲染分支只在传了 `image`/`imageAlt` 字段时
 * 触发，目前只有 megapariguia 的文案会传。移动优先，无 max-width（同
 * sat.css 全文件约定，mobile-first-css.test.ts 只扫 sat.css，这份文件
 * 不受该测试覆盖，但仍手动遵守同一约定）。
 *
 * PayBadges.astro 曾短暂加过 `.pay-badge--img` 系列规则（为带图支付徽章铺路），
 * 但 megapariguia 最终决定支付徽章仍是纯文字 pill——2026-08-08 终验发现这组
 * 规则全站零处引用，属于死代码，已随组件那侧的 PayBadge 接口一并删除。
 */
.icon-card__img {
  width: 72px;
  height: 72px;
  border-radius: 14px;
  object-fit: cover;
  display: block;
  margin: 0 auto 0.6rem;
}
.icon-rows__item-img {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  object-fit: cover;
  flex: 0 0 auto;
}

/* ── megapariguia 专属密度区块（2026-08-08）。其余 14 站无数据不渲染。 ── */
.sport-wall {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
  gap: 0.7rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sport-wall__item { text-align: center; }
.sport-wall__link { display: block; color: inherit; text-decoration: none; }
.sport-wall img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  display: block;
  margin: 0 auto 0.35rem;
}
.sport-wall__label { font-size: 0.78rem; line-height: 1.25; display: block; }

.game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.8rem;
}
.game-grid__item { margin: 0; }
.game-grid img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
.game-grid__cap { padding-top: 0.4rem; }
.game-grid__label { display: block; font-size: 0.85rem; font-weight: 600; }
.game-grid__note { display: block; font-size: 0.74rem; opacity: 0.7; margin-top: 0.15rem; }

.country-wall {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
  gap: 0.6rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.country-wall__item { text-align: center; }
.country-wall img {
  width: 36px;
  height: 24px;
  object-fit: cover;
  border-radius: 3px;
  display: block;
  margin: 0 auto 0.25rem;
}
.country-wall__label { font-size: 0.72rem; opacity: 0.85; }
.country-wall__note { margin-top: 0.8rem; font-size: 0.82rem; opacity: 0.8; }

@media (min-width: 768px) {
  .sport-wall { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
  .game-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
}
