.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.gallery-item { min-width: 0; margin: 0; }
.gallery-item > a { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; border: 1px solid #e4e8ec; background: #f7f9fb; }
.gallery-item img { width: 100%; height: 100%; display: block; object-fit: contain; }
.gallery-item figcaption { padding-top: 12px; font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.gallery-zoom { position: absolute; bottom: 12px; right: 12px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 6px; background: #fff; color: #252525; box-shadow: 0 2px 8px #00000012; font-size: 20px; }
.gallery-item a:hover .gallery-zoom { color: #db5700; }
.gallery-item a:focus-visible { outline: 3px solid #0759c9; outline-offset: 3px; }
.gallery-grid .community-empty { grid-column: 1 / -1; }
@media (max-width: 850px) { .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; } }
@media (max-width: 480px) { .gallery-grid { grid-template-columns: 1fr; } }
