
  
  #grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr); /* 8 columnas en pantallas grandes */
    grid-template-rows: auto; /* Altura adaptativa */
    width: 100vw;
    height: 100vh;
    gap: 0px; /* Espaciado opcional entre elementos */
  }
  
  .square {
    position: relative;
    width: 100%;
    padding-top: 100%; /* Mantiene la proporción cuadrada en todos los tamaños */
  }
  
  .square img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Asegura que las imágenes llenen su celda sin distorsión */
  }
  
  .square .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
  }
  
  /* Media Queries para versiones móviles */
  @media (max-width: 768px) {
    #grid {
      grid-template-columns: repeat(8, 1fr); /* Reducir a 4 columnas */
    }
  }
  
  @media (max-width: 480px) {
    #grid {
      grid-template-columns: repeat(4, 1fr); /* 2 columnas en pantallas pequeñas */
    }
  }
  