/* Karuzela Marcina — frontend styles (v2.0)
 * Server-rendered HTML, CSS-only layout. JS tylko dodaje drag/scroll. */

.mz-carousel-root { background: transparent; }

.mz-carousel {
  --mz-tile-h: 60vh;
  position: relative;
  width: 100%;
  overflow: hidden;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y pinch-zoom;
  box-sizing: border-box;
  /* Reserve space immediately — przed JS i przed załadowaniem zdjęć */
  min-height: var(--mz-tile-h);
}
.mz-carousel.mz-flush-left { padding-left: max(24px, 4vw); }
.mz-carousel.is-dragging   { cursor: grabbing; }
.mz-carousel.is-dragging a { pointer-events: none; }

.mz-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 24px;
  will-change: transform;
}

.mz-tile {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  text-decoration: none;
  color: inherit;
  -webkit-user-drag: none;
}

.mz-img-wrap {
  flex: 0 0 auto;
  overflow: hidden;
  background: rgba(0,0,0,.04);
}
.mz-img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

.mz-cap {
  flex: 0 0 auto;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mz-cap-bot { margin-top: 12px; }
.mz-cap-top { margin-bottom: 12px; }
