.gallery-author-identity {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2vw, 24px);
    flex: 1 1 320px;
    min-width: 0;
}

.gallery-author-avatar {
    display: block;
    flex: 0 0 auto;
    width: clamp(56px, 8vw, 88px);
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border: 2px solid currentColor;
    border-radius: 50%;
}

body.public-site main .gallery-author-heading .page-title {
    flex: 1 1 auto;
    font-size: clamp(1.4rem, 3.6vw, 2.75rem);
}

.f24-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 1.5rem 0;
    padding: 0;
}

.f24-gallery-grid figure, .f24-gallery-index li { min-width: 0; margin: 0; }
.article-copy .f24-gallery-grid figure { margin: 0; }
.f24-gallery-index { list-style: none; }
.f24-gallery-grid a { display: block; }
.f24-gallery-grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.f24-gallery-grid figcaption, .f24-gallery-index strong { display: block; margin: .35em 0 0; overflow-wrap: anywhere; }
.f24-gallery-pages { display: flex; flex-wrap: wrap; gap: .75em; }

@media (max-width: 600px) {
    .f24-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}

.f24-gallery-dialog {
    width: max-content;
    max-width: 96vw;
    max-height: 96vh;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: #171717;
    color: #fff;
}

.f24-gallery-dialog::backdrop { background: rgba(0, 0, 0, .85); }
.f24-gallery-viewer { position: relative; min-width: min(260px, 96vw); }
.f24-gallery-viewer img { display: block; width: auto; height: auto; max-width: 96vw; max-height: 78vh; margin: 0 auto; object-fit: contain; }
.f24-gallery-viewer [data-caption] { margin: .5em 1em; text-align: center; overflow-wrap: anywhere; }
.f24-gallery-viewer-controls { display: flex; align-items: center; justify-content: center; gap: .75em; padding: 6px; }

.f24-gallery-viewer button {
    min-width: 44px;
    min-height: 44px;
    padding: 4px;
    border: 1px solid #888;
    border-radius: 4px;
    background: #262626;
    color: #fff;
    font: inherit;
    cursor: pointer;
}

.f24-gallery-viewer button:disabled { opacity: .55; cursor: default; }
.f24-gallery-viewer [data-close] { position: absolute; top: 6px; right: 6px; }
