/* The frame follows the actual photo, including portrait images. */
.thumbnail-list,
.photo-thumbnails,
.thumbnail-item,
.photo-thumb {
    background: #eeece8;
}

.viewer,
.photo-viewer,
.photo-stage {
    background: transparent;
}

.viewer,
.photo-viewer {
    box-shadow: none;
}

.gallery-image-frame {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    touch-action: pan-y pinch-zoom;
}

.gallery-image-frame > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
}

.gallery-image-frame .photo-nav {
    background: rgba(255, 255, 255, .95);
    color: #222;
    border: 1px solid rgba(0, 0, 0, .25);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}

.gallery-image-frame .photo-nav:hover {
    background: #c58b54;
    color: #fff;
}

.gallery-image-frame .photo-nav:focus-visible {
    outline: 3px solid #c58b54;
    outline-offset: 3px;
}

.gallery-image-frame #prev-button,
.gallery-image-frame .photo-prev {
    left: 9px;
}

.gallery-image-frame #next-button,
.gallery-image-frame .photo-next {
    right: 9px;
}

@media (max-width: 576px) {
    .photo-stage {
        height: 70vh;
        height: 70svh;
        min-height: 250px;
        max-height: 650px;
    }
}
