.galleries-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1rem; }
.gallery-cover { min-width: 0; }
.gallery-cover a { display: block; color: inherit; text-decoration: none; }
.gallery-cover-image { aspect-ratio: 1; overflow: hidden; background: #f2f2f2; }
.gallery-cover-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-cover h2 { font-size: .9375rem; font-weight: 400; line-height: 1.5; text-align: center; margin: .8rem 0 0; }
.gallery-back { display: inline-block; margin-bottom: 1.5rem; color: inherit; font-size: .875rem; text-decoration: none; }
.gallery-detail-page .entry-content > p { line-height: 1.8; margin-bottom: 1.5rem; }
.album-gallery.wp-block-gallery.has-nested-images { display: block; columns: 3; column-gap: 4px; }
.album-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { display: inline-block; width: 100%; margin: 0 0 4px; break-inside: avoid; vertical-align: top; }
.album-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { display: block; width: 100%; height: auto; object-fit: contain; }
.album-gallery .js-lightbox { display: block; overflow: hidden; cursor: zoom-in; }
@media (any-hover: hover) {
  .gallery-cover img, .album-gallery img { transition: transform 420ms cubic-bezier(.22,.61,.36,1), filter 260ms ease; }
  .gallery-cover a:hover img, .album-gallery .wp-block-image:hover img { transform: scale(1.035); filter: brightness(1.03) contrast(1.02); }
}
@media (max-width: 900px) {
  .galleries-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .album-gallery.wp-block-gallery.has-nested-images { columns: 2; }
}
@media (max-width: 540px) {
  .galleries-grid { grid-template-columns: minmax(0, 1fr); }
  .album-gallery.wp-block-gallery.has-nested-images { columns: 1; }
}
@media (min-width: 1001px) {
  .galleries-grid { gap: 1rem; }
    .galleries-grid .gallery-cover a {
        position: relative;
    }

    .galleries-grid .gallery-cover h2 {
        position: absolute;
        inset: auto 0 0;
        margin: 0;
        padding: 3rem 1rem 1rem;
        color: #fff;
        background: linear-gradient(transparent, rgba(0, 0, 0, .76) 75%);
        pointer-events: none;
    }
}

