pro-photo-carousel { display:block; }
.pro-photo-carousel .pro-photo-carousel__track { display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain;padding:4px 0; }
.pro-photo-carousel [data-carousel-photo] { flex:0 0 calc((100% - (var(--photo-columns,4) - 1)*20px)/var(--photo-columns,4));margin:0;scroll-snap-align:start; }
.pro-photo-carousel [data-carousel-photo] img { display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;height:auto; }
.pro-photo-carousel :is(button,[tabindex]):focus-visible { outline:3px solid #346cd0;outline-offset:3px; }
@media(max-width:989px) { .pro-photo-carousel [data-carousel-photo] { flex-basis:calc((100% - 20px)/2); } }
@media(max-width:749px) { .pro-photo-carousel [data-carousel-photo] { flex-basis:82%; } }

.pro-photo-carousel__track::-webkit-scrollbar { display:none; }
.pro-photo-carousel .pro-photo-carousel__track { cursor:grab;touch-action:auto; }
.pro-photo-carousel .pro-photo-carousel__track.is-dragging { cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none; }
.pro-photo-carousel [data-carousel-photo] img { user-select:none;-webkit-user-drag:none; }
