/* ============================================================================================
   FOOTER: VINILOS POR GÉNERO - .vinilos-stock
   ============================================================================================
   Se agrega a la definición existente de .vinilos-stock (fondo #222222, Lato, etc).
   Estos estilos son ADICIONALES — no reemplazan tu bloque .vinilos-stock ya existente.
   ============================================================================================ */

/* La altura fija de 500px del contenedor original no alcanza para 4 vinilos apilados
   por columna + título de sección + link "continuar viendo". Se ajusta a auto con un
   min-height para conservar el look pero permitir que el contenido real quepa. */



/* PIE DE PAGINA */

/* Vinilos en Stcok */

.vinilos-stock {
  width: 100%;
  height: 920px;
  margin: 0 auto;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #cbcbcb;
  font-size: 13px;
  margin-top: 50px;
  background-color: #222222;
  padding: 30px 100px;
  box-sizing: border-box;
  overflow-x: auto;
  
}



.vs-loading {
  text-align: center;
  color: #cbcbcb;
  padding: 40px 0;
}

/* Escritorio: las 6 secciones en fila, ocupando el ancho máximo disponible */
.vs-secciones-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 40px;
  width: 1600px;
  justify-content: space-between;
  margin: 0 auto;
}

.vs-genero-bloque {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-width: 0; /* evita que el contenido empuje el flex más allá de su porción */
}

.vs-genero-titulo {
  color: #c7c7c7;
  font-weight: 300;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 15px;
  border: 1px solid #3a3a3a;
  border-radius: 5px;

  /* 1. Activamos Flexbox */
  display: flex;             
  
  /* 2. Centrado horizontal */
  justify-content: center;   
  
  /* 3. Centrado vertical */
  align-items: center;       

  /* 4. Ajuste de altura */
  height: 40px; /* O usa el valor que necesites para darle alto al contenedor */
}

/* Dos columnas de 4 vinilos, una al lado de la otra, dentro del mismo bloque de género */
.vs-columnas-wrapper {
  display: flex;
  flex-direction: row;
  gap: 15px;
  flex: 1;
}

.vs-columna {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1;
  min-width: 0;
}

/* Card individual: tapa 100x100 + título/artista debajo.
   Altura fija (tapa 135px + margen 6px + info 46px) para que todas las cards midan
   lo mismo y las filas de las columnas queden alineadas sin importar el largo del texto. */

.vs-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 150px;
}

.vs-cover-link {
  display: block;
  width: 105px;
  height: 105px;
  flex-shrink: 0;
}

.vs-cover-wrapper {
  width: 105px;
  height: 105px;
  overflow: hidden;
  background-color: #333333;
  box-shadow: inset 0 0 0 4px #222222; /* Grosor de 4px y color negro */
}

.vs-cover-img {
  width: 105px;
  height: 105px;
  object-fit: cover;
  display: block;
  border-radius: 5px;
  filter:
    contrast(115%)
    saturate(140%)
    brightness(100%)
    sepia(10%);
  box-shadow: inset 0 0 0 4px #222222; /* Grosor de 4px y color negro */
  border-radius: 5px;
}

.vs-info {
  margin-top: 6px;
  cursor: pointer;
  width: 105px;
  min-height: 46px;
  overflow: hidden;
}

.vs-title {
  color: #ffffff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.vs-title:hover,
.vs-artist:hover {
  color: #ffcc00; /* feedback visual claro de que es clickeable */
  text-decoration: underline;
}

.vs-artist {
  color: #a8a8a8;
  font-size: 11px;
  font-weight: 300;
  line-height: 1.3;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.vs-continuar {
  display: inline-block;
  margin-top: 15px;
  color: #cbcbcb;
  font-size: 12px;
  text-decoration: none;
  border: 1px solid #4a4a4a;
  padding: 6px 12px;
  text-align: center;
  transition: all 0.2s ease;
  align-self: flex-start;
}

.vs-continuar:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: #2c2c2c;
}

/* ============================================================================================
   MÓVIL
   ============================================================================================ */
@media (max-width: 768px) {
  .vinilos-stock {
    padding: 20px 10px 120px 10px; /* 120px abajo para darle aire al reproductor */
    height: auto;
    min-height: auto;
     margin-top: 0px;
  }

  .vs-secciones-wrapper {
    flex-direction: column;
    gap: 35px;
    width: 100%;
  }

  .vs-genero-bloque {
    flex: none;
    width: 100%;
    /* NUEVO: Centra horizontalmente todo lo que está dentro del bloque de género */
    display: flex;
    flex-direction: column;
    align-items: center; 
  }

  .vs-columnas-wrapper {
    width: 100%;             /* Ocupa el ancho total disponible */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 5px;
    /* NUEVO: Fuerza a las columnas a posicionarse en el centro si sobra espacio */
    justify-content: center; 
  }

  .vs-columna {
    flex: none;
    width: auto;
    gap: 25px;
    /* NUEVO: Asegura que las tarjetas dentro de la columna se alineen al centro */
    align-items: center; 
  }

  .vs-card {
    width: 150px;
    align-items: center;       
    text-align: center;        
  }

  .vs-info {
    width: 100%;               
  }

  .vs-continuar {
    align-self: center;        
    width: auto;
    min-width: 200px;          
  }

  .vs-cover-link {
    width: 150px;
    height: 150px;
  }

  .vs-cover-wrapper {
    width: 150px;
    height: 150px;
  }

  .vs-cover-img {
    width: 150px;
    height: 150px;
  }

.vs-genero-titulo {
width: 100%;
}
}