.course2-page .course-media-gallery-row {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
    padding: 0;
    overflow: visible;
    height: auto !important;
    transition: none;
}
.course2-page .course-media-gallery-row > .course-media-photo-item {
    width: 100%;
    margin: 0;
    min-width: 0;
}
.course2-page .course-media-gallery-row > .course-media-photo-item:nth-child(n+7) { display: none; }
.course2-page .course-gallery-thumb-button { width: 100%; padding: 0; }
.course2-page .course-gallery-card { border-radius: 16px; overflow: hidden; aspect-ratio: 1; }
.course2-page .course-gallery-img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
    transition: transform .2s ease;
}
.course2-page .course-gallery-thumb-button:hover img { transform: scale(1.025); }
.course2-page .course-gallery-card.zoom-div-10:hover { transform: none; }
@media (max-width: 991.98px) {
    .course2-page .course-media-gallery-row { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .course2-page .course-media-gallery-row > .course-media-photo-item:nth-child(n+5) { display: none; }
}
body.course-gallery-open { overflow: hidden; }
#courseAlbumViewer {
    position: fixed; inset: 0; width: 100vw; height: 100dvh;
    max-width: none; max-height: none; margin: 0; padding: 0;
    border: 0; background: #050505; color: #fff;
}
#courseAlbumViewer::backdrop { background: #050505; }
#courseAlbumViewer .course-album-stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
#courseAlbumViewer .course-album-stage > img { width: 100%; height: 100%; object-fit: contain; }
#courseAlbumViewer button { z-index: 2; position: absolute; border: 0; border-radius: 50%; width: 44px; height: 44px; background: #222c; color: #fff; font-size: 1.5rem; }
#courseAlbumViewer button:focus-visible { outline: 3px solid #b0ff32; outline-offset: 2px; }
#courseAlbumViewer [data-close] { top: 12px; right: 12px; }
#courseAlbumViewer [data-prev] { top: 50%; left: 8px; transform: translateY(-50%); }
#courseAlbumViewer [data-next] { top: 50%; right: 8px; transform: translateY(-50%); }
#courseAlbumViewer [data-counter] { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); background: #0009; padding: 4px 12px; border-radius: 20px; }

/* Match the public Events album list, without a separate card around each album. */
.course2-page .course-media-album-public { margin-bottom: 3rem; border: 0; background: transparent; box-shadow: none; }
.course2-page .course-media-album-public:last-child { margin-bottom: 0; }
.course2-page .course-media-album-public h2.h4 { color: #111715; }
.course2-page .course-gallery-thumb-button {
    display: block; aspect-ratio: 1; overflow: hidden;
    border: 1px solid rgba(17,23,21,.12); border-radius: 16px;
    background: #eef4ff; box-shadow: 0 10px 24px rgba(7,20,38,.09);
}
.course2-page .course-gallery-card { border: 0; box-shadow: none; border-radius: 0; background: transparent; }
.course2-page [data-course-gallery-all] { color: #3086ff; border: 1px solid #3086ff; background: transparent; }
.course2-page [data-course-gallery-all]:hover { color: #fff; background: #3086ff; }
@media (max-width: 767.98px) {
    .course2-page .course-media-gallery-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
}

.course2-page .course-gallery-contribute-button,
.course2-page .course-gallery-contribute-button:hover,
.course2-page .course-gallery-contribute-button:focus,
.course2-page .course-gallery-contribute-button:active {
    background: #a4ff2f;
    border-color: #a4ff2f;
    color: #111715;
}
