.business-detail-gallery, .business-gallery { min-width: 0; max-width: 100%; align-self: start; }
.business-listing-card:has(.listing-card-gallery) > .business-listing-card-link { height: auto; }
.business-gallery-track { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; border-radius: var(--radius); }
.business-gallery-slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.business-gallery .gallery-photo { display: block; }
.business-gallery .gallery-image-button { width: 100%; height: clamp(240px, 30vw, 360px); }
.business-gallery .gallery-image-button img { width: 100%; height: 100%; object-fit: contain; border-radius: var(--radius); background: var(--panel); }
.business-gallery .gallery-image-button.is-contain img { object-fit: contain; }
.business-gallery .image-provenance { margin-top: 6px; }
.business-gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 8px 0; }
.business-gallery-controls button { min-width: 44px; min-height: 44px; }
.business-gallery-thumbnails { position: relative; display: flex; gap: 8px; overflow-x: auto; padding: 4px; }
.business-gallery-thumbnails button { flex: 0 0 64px; height: 56px; padding: 3px; border: 2px solid transparent; border-radius: var(--radius); background: transparent; }
.business-gallery-thumbnails button[aria-pressed="true"] { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); }
.business-gallery-thumbnails img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }
.business-gallery button:focus-visible, .business-gallery-track:focus-visible { outline: 3px solid var(--accent, #174f84); outline-offset: 2px; }
