/* Unique Site-wide column system for BHC gallery */
:root {
  --bhc-cols-gap-x: 5%;             /* horizontal gutter */
  --bhc-cols-gap-y: min(5%, 30px);  /* vertical gutter matches horizontal but capped */
}

.bhc-cols {
  display: grid;
  column-gap: var(--bhc-cols-gap-x);
  row-gap: var(--bhc-cols-gap-y);
}

.bhc-cols-1 { grid-template-columns: 1fr; }
.bhc-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bhc-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bhc-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Responsive behavior */
@media (max-width: 900px) {
  .bhc-cols-3,
  .bhc-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .bhc-cols-2,
  .bhc-cols-3,
  .bhc-cols-4 {
    grid-template-columns: 1fr;
  }
}

/* Image grid niceties */
.bhc-image-grid a {
  display: block;
}

.bhc-image-grid img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Adjust spacing just for image galleries */
.bhc-image-container.bhc-image-grid {
  --bhc-cols-gap-x: min(5%, 30px);
  --bhc-cols-gap-y: min(5%, 30px);
}

/* Spacing between stacked .bhc-image-container blocks */
.bhc-image-container {
  margin-bottom: 60px; /* space below each block */
}

.bhc-image-container:last-child {
  margin-bottom: 40px; /* less space after the very last block */
}