.cpt-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 images per row on desktop */
  gap: 10px; /* spacing between images */
}

.cpt-gallery-item {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1 / 1; /* make all grid items square, optional */
}

.cpt-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop nicely to fill the container */
  display: block;
  transition: transform 0.3s ease;
}

/* Optional: hover zoom effect */
.cpt-gallery-item img:hover {
  transform: scale(1.1);
}

/* Responsive: tablet */
@media (max-width: 1024px) {
  .cpt-gallery {
    grid-template-columns: repeat(2, 1fr); /* 2 images per row */
  }
}

/* Responsive: mobile */
@media (max-width: 600px) {
  .cpt-gallery {
    grid-template-columns: repeat(2, 1fr); /* 1 image per row */
  }
}
