* {
    box-sizing:border-box;
  }

#contenidoGeneral{
  background-color: rgb(250, 250, 250);
}

#contenedorProductos{
  width: 100%;
  height: 100%;
  display: grid;

  /* 3 columnas de listado + 1 columna grande (descripción) */
  grid-template-columns: 250px 250px 400px minmax(520px, 1fr);

  gap: 12px;
  padding: 12px;
  min-height: 0;
}

.panelTitulo{
  padding: 12px 14px;
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.15);
  backdrop-filter: blur(6px);
  position: sticky;
  top: 0;
  z-index: 2;
}

.panelContenido {
  overflow: auto;
  min-height: 0;
  padding: 10px;
}

/* Columnas */
#contenedorListadoCategorias,
#contenedorListadoSubcategorias,
#contenedorListadoProductos,
#contenedorDescripcionProducto {
  min-height: 0;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
  box-shadow: 0 8px 18px rgba(0,0,0,0.22);
}

/* ===== LISTADO CATEGORÍAS ===== */

#contenedorListadoCategorias ul{
  list-style: none;
  margin: 0;
  padding: 8px;
}

#contenedorListadoCategorias li{
  padding: 8px 12px;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 10px;
  cursor: pointer;
  color: rgba(255,255,255,0.85);
  transition: all 0.18s ease;
}

/* Hover elegante */
#contenedorListadoCategorias li:hover{
  background: rgba(255,255,255,0.08);
  color: #fff;
  transform: translateX(3px);
}

/* Estado activo */
#contenedorListadoCategorias li.activo{
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.12),
    rgba(255,255,255,0.05)
  );
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
}

/* Scroll elegante */
#contenedorListadoCategorias .panelContenido{
  overflow: auto;
  padding: 4px 6px 10px 6px;
}

/* Scrollbar moderno (Chrome / Edge) */
#contenedorListadoCategorias .panelContenido::-webkit-scrollbar{
  width: 6px;
}

#contenedorListadoCategorias .panelContenido::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
}

#contenedorListadoCategorias li.activo{
  position: relative;
}

#contenedorListadoCategorias li.activo::before{
  content: "";
  position: absolute;
  left: -6px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  border-radius: 4px;
  background: #4fc3f7;
}