/* ==========================================================
   Quevedo en Buenos Aires - Buenas Noches Tour
   Hoja de estilos externa y vinculada desde index.html
   ========================================================== */

/* Selector universal (*): reset de margenes y modelo de caja */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Selector de elemento html: tamaño de letra base para las unidades rem */
html {
  font-size: 16px;
}

/* Selector de elemento + ley de herencia:
   el color de texto que definimos en body lo heredan todos los hijos */
body {
  background-color: #0d0b1f;
  color: #ece7ff;
  padding: 10px;
}

/* Selector de ID (#): el encabezado principal de la pagina */
#encabezado {
  background-color: #151233;
  text-align: center;
  padding: 40px;
  margin: 10px;
  border-bottom: 4px solid #f2c14e;
  border-radius: 12px;
}

h1 {
  font-size: 2.5rem;
  font-weight: bold;
}

/* Selector de clase (.): el subtitulo que esta dentro del encabezado */
.subtitulo {
  color: #b9a6ff;
  font-size: 1.2rem;
  font-style: italic;
  margin: 15px;
}

/* Botones de cargar canciones y cambiar tema */
button {
  background-color: #f2c14e;
  color: #0d0b1f;
  font-size: 1rem;
  font-weight: bold;
  padding: 0.6em 1.2em;
  margin: 10px;
  border: 2px solid #ece7ff;
  border-radius: 8px;
  box-shadow: 2px 2px 6px #000000;
}

/* Selector descendiente: las section que estan dentro del main */
main section {
  background-color: #17152e;
  padding: 25px;
  margin: 15px;
  border-radius: 12px;
}

/* La section de las tarjetas va dentro de otra section, le sacamos el espacio de mas */
#canciones {
  padding: 0;
  margin: 0;
}

/* Combinador de hijo directo (>): los h2 que son hijos directos de una section */
section > h2 {
  color: #f2c14e;
  font-size: 1.8rem;
  margin: 10px;
}

/* Combinador de hermano adyacente (+): el primer p que va justo despues de un h2 */
h2 + p {
  color: #cfc7ea;
  margin: 10px;
}

/* Combinador de hermanos generales (~): las listas que aparecen despues de un h3 */
h3 ~ ul,
h3 ~ ol {
  background-color: #0d0b1f;
  padding: 20px 40px;
  margin: 10px;
}

/* Caja con la fecha y el lugar del evento */
.datos-evento {
  background-color: #0d0b1f;
  padding: 20px;
  margin: 15px;
  border: 1px solid #f2c14e;
  border-radius: 10px;
}

/* Tarjetas con los tres momentos del show */
.momento {
  background-color: #0d0b1f;
  width: 320px;
  height: 180px;
  padding: 15px;
  margin: 10px;
  border-radius: 10px;
}

/* Tarjetas de las canciones que se cargan desde el JSON */
.tarjeta {
  background-color: #0d0b1f;
  width: 300px;
  height: 160px;
  padding: 15px;
  margin: 10px;
  border: 1px solid #2a2750;
  border-radius: 12px;
  box-shadow: 3px 3px 8px #000000;
}

.tarjeta h3 {
  color: #f2c14e;
  font-size: 1.3rem;
}

.tarjeta p {
  margin: 10px 0;
}

/* em: se calcula sobre el tamaño de letra del elemento padre (la tarjeta) */
.tarjeta .detalle {
  color: #b9a6ff;
  font-size: 0.85em;
  font-style: italic;
  font-weight: bold;
}

/* Selector de elemento: el pie de pagina */
footer {
  background-color: #151233;
  color: #b9a6ff;
  text-align: center;
  padding: 25px;
  margin: 10px;
  border-radius: 12px;
}

/* ==========================================================
   Tema claro: se activa cuando JavaScript agrega la clase
   "claro" al body con el boton "Cambiar tema"
   ========================================================== */

body.claro {
  background-color: #f5f1e8;
  color: #1b1233;
}

body.claro #encabezado,
body.claro footer {
  background-color: #ffffff;
  color: #1b1233;
}

body.claro .subtitulo,
body.claro .tarjeta .detalle {
  color: #5b3fd1;
}

body.claro main section {
  background-color: #ffffff;
}

body.claro section > h2,
body.claro .tarjeta h3 {
  color: #b3811a;
}

body.claro h2 + p {
  color: #4a4266;
}

body.claro h3 ~ ul,
body.claro h3 ~ ol,
body.claro .datos-evento,
body.claro .momento,
body.claro .tarjeta {
  background-color: #f5f1e8;
}

body.claro .tarjeta {
  border: 1px solid #e0d9c8;
  box-shadow: 3px 3px 8px #b8b0a0;
}

body.claro button {
  border: 2px solid #1b1233;
}
