.em-mg-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
@media (max-width:899px){ .em-mg-grid{grid-template-columns:1fr} }

.em-mg{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}
.em-mg__header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}
.em-mg__emoji{font-size:36px;line-height:1;flex:none}
.em-mg__header h3{font:var(--text-h4);color:var(--ink-900);margin:0 0 4px}
.em-mg__header p{font:var(--text-body-sm);color:var(--text-secondary);margin:0}
.em-mg__hint{font:var(--text-caption);color:var(--text-muted);text-align:center;margin:0 0 var(--space-3)}
.em-mg__feedback{font:var(--text-body-sm);color:var(--text-secondary);margin:var(--space-3) 0 4px;min-height:1.4em;text-align:center}
.em-mg__feedback--ok{color:var(--success-500);font-weight:600}
.em-mg__feedback--miss{color:var(--text-muted)}
.em-mg__score{font:var(--text-caption);color:var(--text-muted);margin:0;text-align:center}

/* ---------- Phaser-hosted scenes: Basket, Aereo, Frisbee, Birilli, Golf,
   Darts. Each container is a plain div — Phaser injects its own <canvas>
   inside at init, sized to the container's CSS box (read once at scene
   creation). ---------- */
.em-mg-basket__court,
.em-mg-aereo__sky,
.em-mg-frisbee__field,
.em-mg-birilli__lane,
.em-mg-golf__green,
.em-mg-darts__board{display:block;width:100%;border-radius:var(--radius-md);overflow:hidden;touch-action:none}
.em-mg-basket__court canvas,
.em-mg-aereo__sky canvas,
.em-mg-frisbee__field canvas,
.em-mg-birilli__lane canvas,
.em-mg-golf__green canvas,
.em-mg-darts__board canvas{display:block;width:100% !important;height:100% !important}
.em-mg-basket__court{height:240px;background:linear-gradient(180deg, var(--warning-100), var(--concrete-200))}
.em-mg-aereo__sky{height:220px;background:linear-gradient(180deg, var(--brand-blue-100), var(--paper-000))}
.em-mg-frisbee__field{height:240px;background:linear-gradient(180deg, var(--success-100), var(--concrete-100))}
.em-mg-birilli__lane{height:260px;background:linear-gradient(180deg, var(--warning-100), var(--concrete-200))}
.em-mg-golf__green{height:240px;background:linear-gradient(180deg, var(--success-100), var(--concrete-100))}

.em-mg-darts__wrap{display:flex;justify-content:center;margin-bottom:var(--space-2)}
.em-mg-darts__board{width:220px;height:220px;border-radius:50%;background:var(--concrete-100);box-shadow:0 4px 14px rgba(20,23,26,0.18)}

/* ---------- Gioco del 15 (4x4 sliding puzzle) ---------- */
.em-mg-puzzle__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:240px;margin:0 auto var(--space-5)}
.em-mg-puzzle__tile{aspect-ratio:1;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--accent-primary-soft);color:var(--accent-primary);font:700 1.1rem/1 var(--font-display);cursor:pointer;transition:transform 120ms var(--ease-standard),background 120ms var(--ease-standard)}
.em-mg-puzzle__tile:hover{transform:scale(1.04);background:var(--accent-primary);color:var(--text-on-accent)}
.em-mg-puzzle__tile--blank{background:transparent;border-color:transparent;cursor:default;pointer-events:none}
.em-mg-puzzle__meta{display:flex;align-items:center;justify-content:center;gap:var(--space-5);flex-wrap:wrap}
.em-mg-puzzle__moves-label{font:var(--text-caption);color:var(--text-muted)}
.em-mg-puzzle__win{text-align:center;font:var(--text-body);color:var(--success-500);font-weight:600;margin-top:var(--space-4)}
.em-mg-puzzle__tile--label{font:700 0.72rem/1.1 var(--font-display);padding:2px}

/* ---------- Peak-moment lead capture reveal (7 thematic embeds) ---------- */
.em-mg__lead{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-default)}
.em-mg__lead-heading{font:var(--text-body-sm);font-weight:600;color:var(--ink-900);margin:0 0 var(--space-3);text-align:center}

/* ---------- Single-game embed on a product/service page (not the hub grid) ---------- */
.em-mg--embed{max-width:480px;margin:0 auto}
