.photo-carousel{position:relative;min-width:0;width:100%;overflow:hidden;border-radius:5px;background:var(--soft)}
.photo-carousel__track{display:flex;width:100%;aspect-ratio:4/3;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.photo-carousel__track::-webkit-scrollbar{display:none}
.photo-carousel__slide{flex:0 0 100%;width:100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
.photo-carousel .photo{width:100%;height:100%;max-height:none;object-fit:contain}
.photo-carousel .no-photo{display:flex;align-items:center;justify-content:center;margin:0}
.photo-carousel button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border:1px solid #ffffff70;border-radius:50%;background:#172633df;color:#fff;font-size:30px;line-height:1}
.photo-carousel [hidden]{display:none!important}
.photo-carousel__previous{left:8px}.photo-carousel__next{right:8px}
.photo-carousel__count{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);border-radius:20px;padding:3px 12px;background:#172633df;color:#fff;font-size:13px;pointer-events:none}
.photo-carousel__track:focus-visible{outline:3px solid var(--solid);outline-offset:-3px}
.photo-carousel__slide{position:relative}
.photo-carousel__credit{position:absolute;top:0;left:0;right:0;padding:2px 6px;background:#172633df;color:#fff;font-size:10px;line-height:1.5}
.photo-carousel__credit a{color:#fff}
