/* Gallery-only paging controls. Always rendered; faded (disabled) while every photo fits on one page. */
.gallery-page-content .gallery-masonry-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    margin: 1.5rem auto 0;
    position: relative;
    z-index: 3;
}

.gallery-page-content .gallery-masonry-navigation[hidden],
.gallery-page-content .gallery-masonry .masonry-item[hidden] {
    display: none !important;
}

.gallery-page-content .gallery-masonry-navigation-status {
    min-width: 3.5rem;
    color: #b03028;
    font-family: var(--font-heading), serif;
    font-size: 1rem;
    text-align: center;
}

.gallery-page-content .gallery-masonry-navigation button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 1px solid #b03028;
    border-radius: 50%;
    background: transparent;
    color: #b03028;
    font-family: var(--font-heading), serif;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.gallery-page-content .gallery-masonry-navigation button:hover:not(:disabled),
.gallery-page-content .gallery-masonry-navigation button:focus-visible {
    background: #b03028;
    color: #fff;
}

.gallery-page-content .gallery-masonry-navigation button:disabled {
    cursor: default;
    opacity: 0.28;
}

.gallery-page-content .gallery-masonry-navigation button:focus-visible {
    outline: 2px solid #b03028;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .gallery-page-content .gallery-masonry-navigation {
        margin-top: 1.25rem;
    }

    .gallery-page-content .gallery-masonry-navigation button {
        width: 2.75rem;
        height: 2.75rem;
        font-size: 1.75rem;
    }
}
