/* Página de reglas: portada con el mazo, fases numeradas y palos. */

/* --------------------------------------------------------- portada */

.reglas-portada {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  padding: 26px 30px 32px;
  margin-bottom: 26px;
  border-radius: 20px;
  background: linear-gradient(150deg, var(--panel-alto), rgba(10, 10, 10, 0.92));
  border: 1px solid var(--borde);
  box-shadow: var(--sombra-negra), 0 0 70px -40px var(--oro);
}

.reglas-portada .mazo {
  width: 190px;
  height: auto;
  border-radius: 14px;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.7));
  animation: mazoFlota 7s ease-in-out infinite;
}

@keyframes mazoFlota {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
}

.reglas-portada .titulo-pagina {
  margin-bottom: 4px;
}

.lema-plata {
  color: var(--plata);
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 0.85rem;
  margin-bottom: 16px;
}

.resumen {
  color: var(--texto);
  line-height: 1.8;
  opacity: 0.92;
  margin-bottom: 20px;
}

.resumen b { color: var(--oro-claro); }

.reglas-portada .btn-oro {
  display: inline-block;
  text-decoration: none;
}

/* ---------------------------------------------------------- bloques */

.bloque { margin: 22px 0; }

.titulo-seccion {
  font-family: "Playfair Display", "Playfair respaldo", Georgia, serif;
  font-size: 1.5rem;
  color: var(--oro);
  text-align: center;
  margin: 34px 0 18px;
}

.panel h2 {
  font-size: 0.95rem;
  letter-spacing: 1.2px;
  text-transform: none;
}

.panel p { color: var(--plata); line-height: 1.75; }
.panel p b { color: var(--texto); }

.lista {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
}

.lista li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 9px;
  color: var(--plata);
  line-height: 1.65;
}

.lista li::before {
  content: "◆";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--oro);
  font-size: 0.7rem;
}

.lista li b { color: var(--texto); }

.bueno { color: #8fd4b4; }
.malo { color: #e08b7f; }

.pie-nota {
  margin-top: 14px;
  font-size: 0.84rem;
  color: var(--plata-honda);
  font-style: italic;
}

/* ------------------------------------------------------------ palos */

.palos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 16px;
  margin: 22px 0;
}

.palos figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 18px 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--borde-suave);
  transition: border-color 0.25s, transform 0.25s;
}

.palos figure:hover {
  border-color: var(--oro);
  transform: translateY(-4px);
}

.palos img {
  height: 74px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.6));
}

.palos figcaption {
  font-size: 0.82rem;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--oro);
  font-weight: 700;
}

/* ------------------------------------------- caballo y rey */

.valores-especiales {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 8px;
}

.valor-carta {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(212, 168, 67, 0.05);
  border: 1px solid rgba(212, 168, 67, 0.22);
}

.valor-carta img {
  width: 66px;
  height: 66px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.6));
}

/* Sólo el título va en su propia línea: el <b> de adentro del texto
   tiene que seguir siendo parte de la frase. */
.valor-carta > div > b {
  display: block;
  color: var(--oro);
  margin-bottom: 3px;
}
.valor-carta span { font-size: 0.86rem; color: var(--plata); line-height: 1.55; }

/* ------------------------------------------------------------ fases */

.fases {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.fase {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.fase .numero {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-family: "Playfair Display", "Playfair respaldo", Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--negro);
  background: linear-gradient(145deg, var(--oro-claro), var(--oro));
  box-shadow: 0 4px 16px rgba(212, 168, 67, 0.3);
}

.fase h3 {
  color: var(--oro);
  font-size: 1.05rem;
  margin-bottom: 6px;
}

.fase.destacada {
  border-color: rgba(212, 168, 67, 0.45);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45), 0 0 40px -24px var(--oro);
}

/* ---------------------------------------------------------- poderes */

.poderes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.poder {
  padding: 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border-left: 3px solid var(--tinte, var(--oro));
}

.poder .cifra {
  display: block;
  font-family: "Playfair Display", "Playfair respaldo", Georgia, serif;
  font-size: 1.7rem;
  line-height: 1;
  color: var(--tinte, var(--oro));
  margin-bottom: 6px;
}

.poder b { display: block; font-size: 0.9rem; margin-bottom: 4px; }
.poder small { color: var(--plata); font-size: 0.8rem; line-height: 1.5; display: block; }

/* Los mismos colores que usa la mesa al anunciar cada poder. */
.poder.p7 { --tinte: #d4a843; }
.poder.p8 { --tinte: #c0c0c0; }
.poder.p9 { --tinte: #b87333; }
.poder.p10 { --tinte: #c0392b; }

/* ------------------------------------------------------- tabla de IA */

.tabla-ia { width: 100%; border-collapse: collapse; font-size: 0.88rem; margin-top: 6px; }

.tabla-ia th {
  text-align: left;
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 1.3px;
  color: var(--oro);
  padding: 7px 8px;
  border-bottom: 1px solid rgba(212, 168, 67, 0.22);
}

.tabla-ia td {
  padding: 9px 8px;
  color: var(--plata);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tabla-ia tr:last-child td { border-bottom: none; }
.tabla-ia .num { text-align: right; font-variant-numeric: tabular-nums; }

/* ----------------------------------------------------------- cierre */

.cierre {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 30px;
  padding: 26px 30px;
  border-radius: 20px;
  background: linear-gradient(150deg, var(--panel-alto), rgba(10, 10, 10, 0.92));
  border: 1px solid var(--borde);
}

.rey-cierre {
  width: 116px;
  height: 116px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.7));
}

.cierre h2 {
  font-family: "Playfair Display", "Playfair respaldo", Georgia, serif;
  color: var(--oro);
  font-size: 1.4rem;
  margin-bottom: 6px;
}

.cierre p { color: var(--plata); margin-bottom: 16px; }
.cierre .btn-oro { display: inline-block; text-decoration: none; }

/* -------------------------------------------------------- adaptativo */

@media (max-width: 760px) {
  .reglas-portada,
  .cierre {
    grid-template-columns: minmax(0, 1fr);
    flex-direction: column;
    text-align: center;
    padding: 22px 18px;
  }

  .reglas-portada .mazo { width: 140px; margin: 0 auto; }
  .rey-cierre { width: 96px; height: 96px; }

  .fase {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .fase .numero { width: 38px; height: 38px; font-size: 1.1rem; }
  .titulo-seccion { font-size: 1.25rem; }
}
