html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
  background: url("img/SOUTHCSS.jpeg") no-repeat center center fixed,
              linear-gradient(to bottom, #dfe7ec, #ffffff);
  background-size: cover;
  font-family: "Poppins", sans-serif;
  color: #2a3a7b;
  overflow-x: hidden;
}

/* Encabezados estilo colores planos South Park */
h1, h2, h3, h4, h5, h6 {
  font-size: 2rem;
  color: white;
  font-weight: bolder;
  text-align: center;
  margin: 0;
  padding: 20px 0;
  width: 100%;
  background: linear-gradient(to right, #3b87c6, #ef4f4f, #f7b733);
  box-shadow: 
    0 0 12px rgba(0,0,0,0.25),
    inset 0 0 8px rgba(0,0,0,0.10);
}

/* Línea estilo South Park con colores de los niños */
.linea-brillosa {
  height: 7px;
  width: 100%;
  background: linear-gradient(to right, 
      #3b87c6,  /* Stan */
      #ef4f4f,  /* Cartman */
      #4caf50,  /* Kyle */
      #f7b733   /* Kenny */
  );
  border: none;
  margin: 25px 0;
}

/* TABLAS estilo South Park */
table {
  width: 90%;
  max-width: 750px;
  border-collapse: separate;
  border-spacing: 0;
  margin: 40px auto;
  background: rgba(255, 255, 255, 0.90); /* Mucho menos transparente */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.20);
  border-radius: 15px;
  overflow: hidden;
  transition: 0.4s ease;
  position: relative;
}

/* Fondo por personaje según clase */
table.cartman {
  background-image: url("img/cartman.jpg");
  background-size: 100%;

}

table.stan {
  background-image: url("img/stan.jpg");
  background-size: 100%;
  
}

table.kyle {
  background-image: url("img/kyle.jpg");
  background-size: 50%;

}

table.kenny {
  background-image: url("img/kenny.jpg");
  background-size: 100%;
}

/* Hover más visible */
table:hover {
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.30);
}

/* Celdas */
th, td {
  border: none;
  padding: 15px 22px;
  text-align: center;
  font-size: 16px;
  color: #000;
}

th {
  background-color: #3b87c6;
  color: white;
  font-weight: bold;
}

/* Texto decorado (colores South Park) */
p {
  color: #ef4f4f;
  font-size: 18px;
  text-decoration: underline;
  text-decoration-color: #3b87c6;
  text-align: center;
}

/* Responsive */
@media (max-width: 600px) {
  h1, h2, h3, h4 {
    font-size: 1.5rem;
    padding: 15px 0;
  }

  table {
    width: 95%;
    margin: 20px auto;
    background-size: 90px;
  }

  th, td {
    font-size: 14px;
    padding: 10px;
  }

  .linea-brillosa {
    height: 5px;
    margin: 20px 0;
  }
}
