.store-gallery, .store-movies, .gallery-detail { margin-bottom: 15px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; padding: 15px; align-items: start; }
.gallery-column { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.gallery-photo { display: block; min-width: 0; }
.gallery-photo img { display: block; width: 100%; height: auto; }
.gallery-photo:hover { opacity: .85; }
.gallery-movie { margin: 15px; aspect-ratio: 16 / 9; }
.gallery-movie iframe { display: block; width: 100%; height: 100%; border: 0; }
.gallery-empty { padding: 15px; color: #666; }
.gallery-count { float: right; font-size: 12px; font-weight: normal; }
.gallery-viewer { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; background: #f5f5f5; overflow: hidden; touch-action: pan-y pinch-zoom; }
.gallery-slide { position: absolute; inset: 0; display: block; max-width: 100%; width: 100%; height: 100%; object-fit: contain; }
.gallery-slide[hidden], .gallery-arrow[hidden] { display: none; }
.gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 42px; height: 64px; padding: 0; border: 0; border-radius: 4px; background: rgb(0 0 0 / 45%); color: #fff; font-size: 28px; }
.gallery-arrow:hover { background: rgb(0 0 0 / 65%); }
.gallery-prev { left: 8px; }
.gallery-next { right: 8px; }
.gallery-back { padding: 12px 0; text-align: center; }
@media (max-width: 767px) {
    .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
    .gallery-movie { margin: 10px; }
    .gallery-viewer { aspect-ratio: 3 / 4; max-height: 75vh; }
    .gallery-arrow { width: 36px; height: 55px; font-size: 24px; }
}
