/* SOG-126 · universal gallery matrix contract. Default 5/4/2, editor-controlled via --sog-gallery-columns.
   Flex-wrap centers incomplete rows while preserving the configured cell width. */
.gallery-grid:not(.sog-collection-carousel),body[data-sog-design] .gallery-grid:not(.sog-collection-carousel){
 --sog-gallery-columns:5;
 display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-content:start!important;
 gap:var(--sog-media-gap,20px)!important;width:100%!important;max-width:100%!important;
 grid-template-columns:none!important;
}
.gallery-grid:not(.sog-collection-carousel)>.gallery-item,body[data-sog-design] .gallery-grid:not(.sog-collection-carousel)>.gallery-item{
 flex:0 0 calc((100% - (var(--sog-gallery-columns) - 1)*var(--sog-media-gap,20px))/var(--sog-gallery-columns))!important;
 width:calc((100% - (var(--sog-gallery-columns) - 1)*var(--sog-media-gap,20px))/var(--sog-gallery-columns))!important;
 max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
@media(max-width:1024px){.gallery-grid:not(.sog-collection-carousel),body[data-sog-design] .gallery-grid:not(.sog-collection-carousel){--sog-gallery-columns:4}}
@media(max-width:600px){.gallery-grid:not(.sog-collection-carousel),body[data-sog-design] .gallery-grid:not(.sog-collection-carousel){--sog-gallery-columns:2}}
.gallery-grid:not(.sog-collection-carousel)>.gallery-item>img,body[data-sog-design] .gallery-grid:not(.sog-collection-carousel)>.gallery-item>img{object-fit:cover!important;object-position:center!important}
