.sfeerfoto-carousel {
    box-sizing:border-box;
    width:100%;
    max-width:146dvh;
    margin:clamp(24px,5vw,72px) auto;
    padding:clamp(12px,3vw,44px);
    background:#f6f3ec;
    color:#222;
}
.sfeerfoto-carousel-track {
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
}
.sfeerfoto-carousel[data-sfeerfoto-carousel-ready] .sfeerfoto-carousel-track { scrollbar-width:none; }
.sfeerfoto-carousel-track figure {
    flex:0 0 100%;
    min-width:0;
    height:clamp(250px,60svh,680px);
    margin:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
}
.sfeerfoto-carousel-track img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.sfeerfoto-carousel-controls:not([hidden]) {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:12px;
}
.sfeerfoto-carousel-controls button {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid currentColor;
    border-radius:50%;
    background:transparent;
    color:inherit;
    cursor:pointer;
}
.sfeerfoto-carousel-controls button:disabled { opacity:.35; cursor:default; }
.sfeerfoto-carousel-controls button:focus-visible,
.sfeerfoto-carousel-track:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.sfeerfoto-carousel-controls [data-sfeerfoto-position] { font-variant-numeric:tabular-nums; }
@media (max-width:719px) {
    .sfeerfoto-carousel-track figure { height:min(115vw,65svh); }
}
