.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  margin: 1.5rem 0;
  width: auto;
}
.gallery .item { width: auto; margin: 0; float: none; }
.gallery .item a {
  display: block;
  position: relative;
  aspect-ratio: 3 / 4;          /* portrait posters; change to 1/1 or 4/3 for landscape galleries */
  overflow: hidden;
  border-radius: 4px;
  background: #f0f0f0 center / cover no-repeat;
  /* Kill the Owl-era inline background-image (style="background-image:url(...)") that
     duplicates the <img> inside. Inline styles require !important to override. */
  background-image: none !important;
  cursor: zoom-in;
}
.gallery .item a img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform .25s ease;
}
.gallery .item a:hover img { transform: scale(1.04); }
/* style.css:803 `section.content-sections section .content img` (0,2,3) outranks the
   rule above (0,2,2) on margin + height; this selector is (0,3,2) so it wins cleanly
   (no !important) and lets the img sit flush and fill the aspect-ratio tile. */
.content-sections .gallery .item a img { margin: 0; height: 100%; }

.wha-lb {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.9);
}
.wha-lb[hidden] { display: none; }
.wha-lb__stage { margin: 0; max-width: 92vw; max-height: 88vh; text-align: center; }
.wha-lb__img { max-width: 92vw; max-height: 82vh; object-fit: contain; box-shadow: 0 4px 30px rgba(0,0,0,.5); }
.wha-lb__cap { color: #fff; font-size: .9rem; margin-top: .6rem; }
.wha-lb__close, .wha-lb__nav {
  position: absolute; background: none; border: 0; color: #fff;
  cursor: pointer; line-height: 1; user-select: none;
}
.wha-lb__close { top: 16px; right: 22px; font-size: 2.4rem; }
.wha-lb__nav { top: 50%; transform: translateY(-50%); font-size: 3rem; padding: 0 1rem; }
.wha-lb__prev { left: 8px; }
.wha-lb__next { right: 8px; }
.wha-lb__close:hover, .wha-lb__nav:hover { color: #701b45; }
@media (max-width: 600px) {
  .wha-lb__nav { font-size: 2.2rem; padding: 0 .5rem; }
  .wha-lb__close { font-size: 2rem; }
}
