/* StageZone – univerzální carousel (bleed doprava/doleva, šipky, drag).
   Použití: .sz-carousel > [.sz-carousel-nav > .sz-carousel-arrow] + .sz-carousel-track > slidy.
   Řízeno přes data-cols / data-cols-t / data-cols-m / data-gap a CSS proměnné nastavované JS. */
.sz-carousel{position:relative;width:100%;--szc-accent:var(--sz-fest-accent,#c8553d)}
.sz-carousel *{box-sizing:border-box}
.sz-carousel-nav{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}
.sz-carousel-arrow{appearance:none;border:1.5px solid color-mix(in srgb,var(--szc-accent) 42%,transparent);background:transparent;color:var(--szc-accent);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;-webkit-tap-highlight-color:transparent}
.sz-carousel-arrow:hover{background:var(--szc-accent);color:#fff;border-color:var(--szc-accent)}
.sz-carousel-arrow.is-disabled{opacity:.3;pointer-events:none}
.sz-carousel-arrow svg{width:20px;height:20px}
.sz-carousel-track{display:flex;gap:var(--szc-gap,18px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;user-select:none;padding:0 0 var(--szc-padb,0px)}
.sz-carousel-track::-webkit-scrollbar{display:none}
.sz-carousel-track.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.sz-carousel-track a,.sz-carousel-track img{-webkit-user-drag:none;user-select:none}
/* Každý přímý potomek tracku = slide; šířka dle počtu viditelných sloupců. */
.sz-carousel-track>*{flex:0 0 var(--szc-cardw,80%);scroll-snap-align:start;min-width:0}
