/* Hub Mini-jeux — styles isolés au préfixe "mg-" (voir module.json). */
.mg-hub-cat-title { font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:600; color:rgba(255,255,255,.85); margin-bottom:14px; }
.mg-hub-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }

.mg-hub-tile {
  position:relative;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:10px; padding:22px 16px;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.12); border-radius:18px;
  cursor:pointer; transition:transform .2s,border-color .2s,background .2s;
}
.mg-hub-tile[role="button"]:hover,
.mg-hub-tile[role="button"]:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(212,165,212,.5);
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.05));
  outline:none;
}
.mg-hub-tile-disabled { opacity:.5; cursor:default; }

.mg-hub-tile-icon { width:70px; height:70px; display:flex; align-items:center; justify-content:center; }
.mg-hub-tile-icon img { max-width:100%; max-height:100%; object-fit:contain; }
.mg-hub-tile-icon-fallback { font-size:2.2rem; }

.mg-hub-tile-name { color:white; font-weight:600; font-size:1rem; }

.mg-hub-badge { position:absolute; top:10px; right:10px; font-size:.65rem; padding:3px 8px; border-radius:999px; white-space:nowrap; }
.mg-badge-available { background:rgba(34,197,94,.18); color:#4ade80; border:1px solid rgba(74,222,128,.3); }
.mg-badge-soon { background:rgba(255,255,255,.08); color:rgba(255,255,255,.5); border:1px solid rgba(255,255,255,.15); }
.mg-badge-maintenance { background:rgba(239,68,68,.18); color:#f87171; border:1px solid rgba(248,113,113,.3); }
