/* DOMINÓ — peças 3D realistas */
.domino-main {
  position: relative; z-index: 1;
  max-width: 980px; margin: 0 auto;
  padding: 50px 24px 80px;
}
.domino-cabecalho { text-align: center; margin-bottom: 28px; }
.domino-titulo {
  font-family: "Poppins", sans-serif; font-weight: 800;
  font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1.15;
  margin: 18px 0 10px; color: #fff;
}
.domino-titulo em {
  font-family: "Lora", serif; font-style: italic; font-weight: 500;
  background: linear-gradient(120deg, #fbbf24, #f59e0b);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.domino-lead { color: #aea7c0; font-size: 0.95rem; margin: 0; }

.domino-area {
  display: flex; flex-direction: column; gap: 18px;
}
.domino-mao-ia, .domino-mao-jog {
  padding: 16px 18px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
}
.domino-mao-jog { background: rgba(251, 191, 36, 0.05); border-color: rgba(251, 191, 36, 0.2); }
.domino-mao-rotulo {
  font-family: "Poppins", sans-serif; font-weight: 700;
  font-size: 0.85rem; color: #fff;
  margin-bottom: 10px;
}
.domino-mao-rotulo span { color: #fbbf24; }
.domino-mao-pedras {
  display: flex; flex-wrap: wrap; gap: 10px;
  justify-content: center;
  min-height: 80px;
  align-items: center;
  perspective: 600px;
}
.domino-instr {
  font-size: 0.82rem; color: #aea7c0;
  margin-bottom: 6px;
}

/* Mesa — feltro verde com textura */
.domino-mesa-wrap {
  padding: 18px;
  background:
    radial-gradient(ellipse at center, rgba(20, 83, 45, 0.4), rgba(6, 78, 59, 0.5)),
    repeating-linear-gradient(45deg, rgba(0,0,0,0.05) 0 2px, transparent 2px 4px);
  background-color: #166534;
  border: 3px solid #14532d;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 16px 32px rgba(0,0,0,0.4),
              inset 0 0 60px rgba(0,0,0,0.4);
}
.domino-mesa-rotulo {
  font-family: "Poppins", sans-serif; font-weight: 700;
  color: #fff; font-size: 1rem;
  min-height: 1.4em; margin-bottom: 12px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.domino-mesa-rotulo.vit { color: #2dd4bf; font-size: 1.2rem; }
.domino-mesa-rotulo.derr { color: #f87171; font-size: 1.2rem; }
.domino-mesa-rotulo.empate { color: #fbbf24; }

.domino-mesa {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2px;
  min-height: 90px;
  padding: 18px 6px;
  margin-bottom: 14px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.25), rgba(0,0,0,0.4)),
    radial-gradient(ellipse at top, rgba(0,0,0,0.2), transparent 70%);
  border-radius: 12px;
  overflow-x: auto;
  perspective: 800px;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.5);
}

.domino-controles {
  display: flex; gap: 8px; justify-content: center; flex-wrap: wrap;
}

/* PEDRA 3D */
.domino-pedra {
  display: flex;
  background:
    linear-gradient(155deg, #ffffff 0%, #fafaf9 30%, #e7e5e4 100%);
  border-radius: 5px;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s;
  flex-shrink: 0;
  position: relative;
  /* Sombra 3D realista: borda inferior escura, sombra projetada, luz no topo */
  box-shadow:
    /* Profundidade — borda inferior escura simulando lateral */
    0 4px 0 #78716c,
    0 5px 0 #57534e,
    0 6px 0 #44403c,
    /* Sombra projetada na mesa */
    0 8px 16px rgba(0,0,0,0.55),
    0 12px 28px rgba(0,0,0,0.4),
    /* Brilho interno topo */
    inset 0 1px 1px rgba(255,255,255,0.9),
    inset 0 -1px 1px rgba(0,0,0,0.05);
  transform: translateY(0);
  transform-style: preserve-3d;
}
.domino-pedra.horizontal {
  width: 72px; height: 36px;
}
.domino-pedra.vertical {
  width: 36px; height: 72px;
  flex-direction: column;
}
.domino-pedra-metade {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  padding: 4px;
  position: relative;
}
/* Linha divisória central — sutil, gravada */
.domino-pedra.horizontal .domino-pedra-metade:first-child {
  border-right: 1.5px solid #78716c;
  box-shadow: inset -1px 0 0 rgba(255,255,255,0.6);
}
.domino-pedra.vertical .domino-pedra-metade:first-child {
  border-bottom: 1.5px solid #78716c;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,0.6);
}
/* Pip 3D — pintinho cravado */
.domino-pedra-pip {
  background:
    radial-gradient(circle at 30% 30%, #1c1917 30%, #0c0a09 80%);
  border-radius: 50%;
  align-self: center;
  justify-self: center;
  width: 6px; height: 6px;
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,0.15),
    inset 0 -1px 1px rgba(0,0,0,0.6),
    0 0.5px 0 rgba(255,255,255,0.4);
}

.domino-pedra.jogavel {
  outline: 2px solid #fbbf24;
  outline-offset: 1px;
  animation: dominoBrilha 1.6s ease-in-out infinite;
}
.domino-pedra.jogavel:hover {
  transform: translateY(-6px) rotateX(-8deg);
  box-shadow:
    0 4px 0 #78716c,
    0 5px 0 #57534e,
    0 6px 0 #44403c,
    0 14px 24px rgba(251, 191, 36, 0.4),
    0 18px 36px rgba(0,0,0,0.5),
    inset 0 1px 1px rgba(255,255,255,0.9);
}
@keyframes dominoBrilha {
  0%, 100% { outline-color: rgba(251, 191, 36, 0.6); }
  50%      { outline-color: rgba(251, 191, 36, 1); }
}
.domino-pedra.bloqueada {
  opacity: 0.6;
  filter: grayscale(0.3);
  cursor: not-allowed;
}
/* Pedra virada (mão da IA) — verso de madeira escura */
.domino-pedra.virada {
  background:
    linear-gradient(155deg, #44403c 0%, #292524 50%, #1c1917 100%);
  box-shadow:
    0 4px 0 #1c1917,
    0 5px 0 #0c0a09,
    0 6px 0 #000000,
    0 8px 16px rgba(0,0,0,0.6),
    0 12px 24px rgba(0,0,0,0.4),
    inset 0 1px 1px rgba(255,255,255,0.1),
    inset 0 -1px 1px rgba(0,0,0,0.5);
}
.domino-pedra.virada::before {
  content: '';
  position: absolute; inset: 6px;
  background:
    repeating-linear-gradient(45deg,
      rgba(255,255,255,0.04) 0 3px,
      transparent 3px 6px);
  border-radius: 3px;
  pointer-events: none;
}
.domino-pedra.virada .domino-pedra-metade { border: none; box-shadow: none; }
.domino-pedra.virada .domino-pedra-pip { display: none; }

/* Layout pips por valor — uso visibility (não display:none) pra preservar slots do grid */
.domino-pedra-pip { visibility: hidden; }
.pip-1 .domino-pedra-pip:nth-child(5) { visibility: visible; }
.pip-2 .domino-pedra-pip:nth-child(1),
.pip-2 .domino-pedra-pip:nth-child(9) { visibility: visible; }
.pip-3 .domino-pedra-pip:nth-child(1),
.pip-3 .domino-pedra-pip:nth-child(5),
.pip-3 .domino-pedra-pip:nth-child(9) { visibility: visible; }
.pip-4 .domino-pedra-pip:nth-child(1),
.pip-4 .domino-pedra-pip:nth-child(3),
.pip-4 .domino-pedra-pip:nth-child(7),
.pip-4 .domino-pedra-pip:nth-child(9) { visibility: visible; }
.pip-5 .domino-pedra-pip:nth-child(1),
.pip-5 .domino-pedra-pip:nth-child(3),
.pip-5 .domino-pedra-pip:nth-child(5),
.pip-5 .domino-pedra-pip:nth-child(7),
.pip-5 .domino-pedra-pip:nth-child(9) { visibility: visible; }
.pip-6 .domino-pedra-pip:nth-child(1),
.pip-6 .domino-pedra-pip:nth-child(3),
.pip-6 .domino-pedra-pip:nth-child(4),
.pip-6 .domino-pedra-pip:nth-child(6),
.pip-6 .domino-pedra-pip:nth-child(7),
.pip-6 .domino-pedra-pip:nth-child(9) { visibility: visible; }

/* Pedras na mesa têm leve inclinação aleatória pra parecer naturais */
.domino-mesa .domino-pedra {
  cursor: default;
}
.domino-mesa .domino-pedra:nth-of-type(odd)  { transform: rotate(-1deg); }
.domino-mesa .domino-pedra:nth-of-type(even) { transform: rotate(1deg); }

@media (max-width: 540px) {
  .domino-pedra.horizontal { width: 56px; height: 28px; }
  .domino-pedra.vertical { width: 28px; height: 56px; }
  .domino-pedra-pip { width: 5px; height: 5px; }
}
