/* Shared gallery geometry: DOM order is always read left to right, then down. */
.gallery-stage{container-type:inline-size;min-width:0}
.gallery-grid[data-layout]{display:grid!important;columns:auto!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px!important;min-width:0;align-items:start}
.gallery-grid>.gallery-item{display:block;width:100%;min-width:0;padding:0;margin:0!important;align-self:start;break-inside:auto}
.gallery-grid .gallery-image{display:block;width:100%;padding:0;overflow:hidden;aspect-ratio:auto}
.gallery-grid .gallery-image img{display:block;width:100%;height:auto;min-height:0;object-fit:contain}
.gallery-grid[data-layout=grid] .gallery-image{aspect-ratio:4/3}
.gallery-grid[data-layout=grid] .gallery-image img{height:100%;object-fit:cover}
.gallery-grid[data-layout=large]{grid-template-columns:1fr;max-width:1000px;margin-inline:auto}
.gallery-grid .gallery-caption{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-top:8px;font:12px system-ui,sans-serif;line-height:1.3;white-space:normal}
.gallery-caption>span{font:9px ui-monospace,monospace;opacity:.6;white-space:nowrap}
.gallery-grid.hide-captions .gallery-caption{display:none}
@container(max-width:740px){.gallery-grid[data-layout]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}.gallery-grid[data-layout=large]{grid-template-columns:1fr}}
@container(max-width:420px){.gallery-grid[data-layout]{grid-template-columns:1fr}}

.gallery-grid[data-layout=large]>.gallery-item{max-width:none}

/* Equal-width masonry columns preserve full-size portraits and ordinary spacing. */
.gallery-grid[data-layout=masonry].masonry-ready{grid-auto-rows:1px;row-gap:0!important}
.gallery-grid[data-layout=masonry].masonry-ready>.gallery-item:not(.drag-source){grid-column:var(--gallery-column);grid-row:var(--gallery-start)/span var(--gallery-span)}
.gallery-grid>.drag-source{grid-column:auto!important;grid-row:auto!important}
