/* ═══════════════════════════════════════════════════════════════════
   Juego Óptimo — mesa.css
   Layout de mesa de juego reutilizable para simulaciones interactivas.
   Usar en conjunto con cards.css (componentes de cartas).
   ═══════════════════════════════════════════════════════════════════ */

/* ── Wrapper exterior ────────────────────────────────────────────── */
.game-table {
  margin: 1.5rem 0;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

/* ── Felt oval ───────────────────────────────────────────────────── */
/* Inspirado en el diseño original de Juego Óptimo — mesa realista   */
.game-felt {
  background: linear-gradient(135deg, #1e5128 0%, #2d6a4f 100%);
  border-radius: 100px;
  padding: 1.6rem 2.5rem;
  margin: 1rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}

/* Borde interno decorativo */
.game-felt::before {
  content: '';
  position: absolute;
  inset: 6px;
  border: 2px solid rgba(255,255,255,0.1);
  border-radius: 94px;
  pointer-events: none;
}

/* ── Área de mano (dealer o jugador) ─────────────────────────────── */
.game-hand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

.game-hand-label {
  font-size: 0.68rem;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* ── Separador entre manos ───────────────────────────────────────── */
.game-divider {
  width: 80%;
  border: none;
  border-top: 1px solid rgba(255,255,255,0.12);
  margin: 0 auto;
}

/* ── Banner de resultado ─────────────────────────────────────────── */
.game-result {
  text-align: center;
  padding: 0.55rem 1rem;
  background: rgba(0,0,0,0.35);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.65);
}
.game-result.r-bj   { color: #fbbf24; }
.game-result.r-win  { color: #4ade80; }
.game-result.r-lose { color: #f87171; }
.game-result.r-push { color: #94a3b8; }
.game-result.r-tie  { color: #fbbf24; }

/* ── Barra de controles ──────────────────────────────────────────── */
.game-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 1rem;
  background: var(--bg-card);
  border-top: 1px solid var(--border);
  gap: 0.75rem;
}

.game-scenario-name {
  font-size: 0.78rem;
  color: var(--text-dim);
  flex: 1;
}

/* ── Indicadores de escenario (dots) ─────────────────────────────── */
.game-dots {
  display: flex;
  gap: 0.3rem;
  flex-shrink: 0;
}

.game-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--border-light);
  transition: background 0.2s;
}
.game-dot.active { background: var(--accent); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .game-felt {
    border-radius: 60px;
    padding: 1.25rem 1.5rem;
    margin: 0.75rem;
  }
  .game-felt::before { border-radius: 54px; }
}

@media (max-width: 400px) {
  .game-felt {
    border-radius: 40px;
    padding: 1rem 1.25rem;
    margin: 0.5rem;
  }
  .game-felt::before { border-radius: 34px; }
  .game-controls { flex-wrap: wrap; }
}
