/* Estilos generales */
* {
  margin: 0;
  padding: 0;
}

/* Estilos del cuerpo */
body {
  background: #f7f9fc;
  color: #333333;
  font-family: "Inter", sans-serif;
}

/* Estilos para el contenedor */
.contenedor {
  width: 90%;
  max-width: 1400px;
  margin: 40px auto;
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, auto);
  grid-template-areas:
    "header header header header"
    "contenido contenido contenido sidebar"
    "widget1 widget1 widget2 sidebar"
    "footer footer footer footer";
}

.contenedor > div,
.contenedor .header,
.contenedor .contenido,
.contenedor .sidebar,
.contenedor .footer {
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.contenedor .header {
  background: #2b3a55;
  color: #fff;
  grid-area: header;
  font-size: 2rem;
  letter-spacing: 1px;
}

.contenedor .contenido {
  grid-area: contenido;
}

.contenedor .contenido p {
  font-size: 1.1em;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  text-align: justify;
}

.contenedor .sidebar {
  background: #a7c5eb;
  padding: 1rem;
  text-align: left; /* o center, según prefieras */
  grid-area: sidebar;
}

.contenedor .sidebar h2 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: #1e3a8a; /* un azul oscuro */
}
.contenedor .sidebar p {
  font-size: 1.2rem;
  color: #1e3a8a; /* un azul oscuro */
  margin-bottom: 0.5rem;
  text-align: justify;
}

.contenedor .widget1,
.contenedor .widget2 {
  background: #dbeafe;
  height: 100px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1e3a8a;
}

.contenedor .widget1:hover,
.contenedor .widget2:hover {
  transform: scale(1.02);
  transition: transform 0.3s ease;
}

.contenedor .widget1 {
  grid-area: widget1;
}

.contenedor .widget2 {
  grid-area: widget2;
}
.contenedor .footer {
  background: #2b3a55;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-area: footer;
}

/* Estilos del menú */
.header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.menu a {
  color: #fff;
  margin-left: 20px;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s;
}

.menu a:hover {
  color: #faa43d; /* el mismo naranja del sidebar, para coherencia visual */
}

/* Para que el menú se centre en pantallas pequeñas */
@media screen and (max-width: 768px) {
  .menu {
    width: 100%;
    margin-top: 10px;
    text-align: center;
  }

  .menu a {
    margin: 0 10px;
  }
}

/* Estilo para la tabla de discos */
.tabla-disco {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.tabla-disco th {
  background-color: #509683; /* color acorde con tu hover #509683 */
  color: white;
  padding: 10px;
  text-align: left;
}

.tabla-disco td {
  padding: 8px 10px;
  border-bottom: 1px solid #ddd;
}

.tabla-disco tr:nth-child(even) {
  background-color: #f9f9f9;
}

.tabla-disco tr:hover {
  background-color: #de5094; /* el rosa que usaste en los botones */
  color: white;
}

@media screen and (max-width: 768px) {
  .contenedor {
    grid-template-areas:
      "header header header header"
      "contenido contenido contenido contenido"
      "sidebar sidebar sidebar sidebar"
      "widget1 widget1 widget2 widget2"
      "footer footer footer footer";
  }

  .contenedor > div {
    margin-bottom: 15px;
  }
  .contenedor .header {
    font-size: 1.5rem;
  }
}

/* Contenedor responsive para la tabla */
.tabla-contenedor {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Tabla responsive tipo "tarjeta" en móvil */
@media screen and (max-width: 768px) {
  .tabla-disco {
    border: 0;
  }

  .tabla-disco thead {
    display: none; /* Oculta las cabeceras */
  }

  .tabla-disco tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 10px;
    background: #fff;
  }

  .tabla-disco td {
    display: flex;
    justify-content: space-between;
    padding: 8px 10px;
    text-align: left;
    position: relative;
  }

  .tabla-disco td::before {
    content: attr(data-label); /* Muestra el nombre de la cabecera */
    font-weight: bold;
    color: #509683;
    flex: 1;
    padding-right: 10px;
  }
}

/* Tarjetas peliculas */
.card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
  max-width: 300px;
  margin: 10px;
  display: inline-block;
  vertical-align: top;
  text-align: center;
}

.card img {
  width: 100%;
  border-radius: 10px;
  object-fit: cover;
}

/* CONTENEDOR DE TODAS LAS TARJETAS */
.contenedor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  padding: 20px;
}

/* CADA TARJETA */
.card-peliculas {
  display: flex;
  flex-direction: row-reverse; /* Imagen a la derecha */
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
  max-height: 300px;
}

.card-peliculas:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.card-peliculas img {
  /*width: 240px;*/
  height: 100%;
  object-fit: cover; /* Para rellenar el alto sin deformar demasiado */
  padding: 0;
  margin: 0;
  display: block;
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
}

.card-peliculas-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card-peliculas-content h1 {
  font-size: 1.6em;
  margin-bottom: 12px;
  color: #12203e;
}

.card-peliculas-content h2,
.card-peliculas-content p {
  margin: 0;
  padding: 0;
}

.card-peliculas-content h2 {
  font-size: 1.4em;
  color: #12203e;
  margin-bottom: 4px; /* Espacio justo entre el título y el párrafo */
}

.card-peliculas-content p {
  color: #555;
  margin-bottom: 10px;
}

.card-peliculas-content a {
  margin-top: auto;
  background-color: #de5094;
  color: white;
  padding: 10px;
  border-radius: 8px;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.card-peliculas-content a:hover {
  background-color: #509683;
}

@media (max-width: 600px) {
  .card-peliculas {
    flex-direction: column;
    align-items: center;
    max-height: none;
  }

  .card-peliculas img {
    width: 140px;
    height: auto;
    object-fit: cover;
    margin-top: 12px;
    border-radius: 10px;
  }

  .card-peliculas-content {
    padding: 10px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .card-peliculas-content h2 {
    font-size: 1.1em;
    margin-bottom: 0px;
  }

  .card-peliculas-content p {
    font-size: 0.95em;
    margin-bottom: 10px;
  }

  .card-peliculas-content a {
    width: 100%;
    padding: 10px;
    font-size: 0.95em;
  }

  .contenedor-grid {
    justify-items: center;
  }

  .card-peliculas {
    width: 100%;
    max-width: 380px; /* o 360px si quieres más compacto */
  }
}

.estrellas {
  display: flex;
  gap: 2px; /* opcional: espacio entre estrellas */
  align-items: center; /* alinea verticalmente si son de distinto alto */
  justify-content: center; /* centra las estrellas */
}

.star {
  height: 40px !important;
  /* opcional: para que el ancho se ajuste proporcionalmente */
  width: 40px !important;
  display: inline-block; /* no es obligatorio, pero ayuda en algunos casos */
}

/********************************************************/
/* Sólo estilos específicos para la página pelicula.php */
/********************************************************/

/* Contenedor principal de la página */
.pelicula-detalle {
  margin: 0 auto; /* Centrar horizontal */
  padding: 1em; /* Espacio interior */
  box-sizing: border-box; /* Padding no aumenta ancho total */
  background-color: #f5f5f5; /* Fondo suave */
}

/* Tarjeta principal con imagen y datos */
.pelicula-detalle .card-peliculas {
  max-width: 100%; /* Ocupa todo el ancho del contenedor */
  margin: 2em auto;
  padding: 1.5em;
  box-sizing: border-box; /* Importante para que padding no sume */
  display: flex;
  gap: 1.5em;
  align-items: flex-start;
  overflow: hidden;
  max-height: 1000px; /*límite de seguridad para evitar que crezca demasiado*/
}

/* Texto dentro de la tarjeta */
.pelicula-detalle .card-peliculas .datos {
  flex: 1 1 60%;
}

/* h1 dentro de la tarjeta */
.pelicula-detalle .card-peliculas .datos h1 {
  font-size: 2.5em;
  border-bottom: #333333;
  border-bottom-width: 2px;
  border-bottom-style: solid;
  margin-bottom: 0.4em;
}

/* h2 dentro de la tarjeta */
.pelicula-detalle .card-peliculas .datos h2 {
  font-size: 1.7em;
  margin-bottom: 0.3em;
}

/* p dentro de la tarjeta */
.pelicula-detalle .card-peliculas .datos p {
  font-size: 1.3em;
}

/* Contenedor de imagen */
.pelicula-detalle .card-peliculas .imagen {
  flex: 0 0 35%;
}

/* Imagen con bordes redondeados */

.pelicula-detalle .card-peliculas .imagen img {
  width: 100%;
  height: auto; /* ✅ Ajusta la altura según la proporción natural */
  object-fit: contain; /* ✅ No recorta la imagen */
  border-radius: 4px;
  display: block;
}

/*Valoraciones filmaffinity y rotten en contenedor flex*/
.valoraciones {
  display: flex;
  gap: 1em; /* espacio entre las imágenes */
  align-items: center; /* para alinear verticalmente si tienen distinta altura */
  justify-content: right; /* centra las imágenes horizontalmente */
  margin-top: 1em;
}

.valoraciones img {
  height: 40px; /* o el tamaño que necesites */
  width: auto;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}

/* Contenedor para fichas de actores */
.actores {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; /* separación entre fichas */
  justify-content: flex-start;
}

.actores .card {
  flex: 0 0 calc((100% - 6rem) / 3); /* tres por fila con espacio */
  box-sizing: border-box;
  background: #f1f1f1;
  padding: 1rem;
  border-radius: 8px;
}
