.mw-slider {
	position: relative;
	width: 100%;
	max-width: 100%;
	isolation: isolate;
	overflow: visible;
}

/* Wichtig: Viewport als Basis-Layer */
.mw-slider__viewport {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

/* Track liegt unter UI */
.mw-slider__track {
	position: relative;
	z-index: 1;

	display: flex;
	gap: var(--mw-slider-gap, 0px);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;

	padding-left: 0px;
	padding-right: 0px;
	scroll-padding-left: 0px;
	scroll-padding-right: 0px;

	scrollbar-width: none;
}
.mw-slider__track::-webkit-scrollbar { display: none; }

.mw-slider__track { scroll-snap-type: x mandatory; }

/* Slides */
.mw-slider__track > .wp-block-group,
.mw-slider__track > .mw-slider__slide,
.mw-slider__track > .mw-slider__slide-clone {
	scroll-snap-align: start;
	flex: 0 0 100%;
	width: 100%;
	position: relative;
	z-index: 1;
}

/* Peek */
.mw-slider--peek .mw-slider__track > .wp-block-group,
.mw-slider--peek .mw-slider__track > .mw-slider__slide,
.mw-slider--peek .mw-slider__track > .mw-slider__slide-clone {
	flex-basis: calc(100% - (var(--mw-slider-peek, 0px) * 2));
	width: calc(100% - (var(--mw-slider-peek, 0px) * 2));
}


/* Peek / Groesse je nach Snap-Modus
   - Center Snap AN: peek = sichtbarer Anteil je Seite, Slide-Breite = 100% - 2*peek
   - Center Snap AUS: peek-Feld wird als Slide-Breite interpretiert (z.B. 25% => 4 Slides sichtbar)
*/
.mw-slider--peek.is-center-snap .mw-slider__track > .wp-block-group,
.mw-slider--peek.is-center-snap .mw-slider__track > .mw-slider__slide,
.mw-slider--peek.is-center-snap .mw-slider__track > .mw-slider__slide-clone {
	flex-basis: calc(100% - (var(--mw-slider-peek, 0px) * 2));
	width: calc(100% - (var(--mw-slider-peek, 0px) * 2));
}

.mw-slider--peek:not(.is-center-snap) .mw-slider__track > .wp-block-group,
.mw-slider--peek:not(.is-center-snap) .mw-slider__track > .mw-slider__slide,
.mw-slider--peek:not(.is-center-snap) .mw-slider__track > .mw-slider__slide-clone {
	flex-basis: var(--mw-slider-item-size, 100%);
	width: var(--mw-slider-item-size, 100%);
}



/* Query Loop: Spalten pro Breakpoint (nur wenn Center-Snap AUS)
   Ziel: 4 Spalten => 4 Objekte sichtbar, Next/Prev springt um 4.
*/
/* Spalten (responsive): genutzt von Query (immer) und optional von Slides/Galerie via .mw-slider--cols */
.mw-slider {
	--mw-slider-cols: var(--mw-query-cols-desktop, 1);
}

@media (max-width: 1024px) {
	.mw-slider {
		--mw-slider-cols: var(--mw-query-cols-tablet, 1);
	}
}

@media (max-width: 640px) {
	.mw-slider {
		--mw-slider-cols: var(--mw-query-cols-mobile, 1);
	}
}

.mw-slider--mode-query:not(.is-center-snap) .mw-slider__track > .wp-block-group,
.mw-slider--mode-query:not(.is-center-snap) .mw-slider__track > .mw-slider__slide,
.mw-slider--mode-query:not(.is-center-snap) .mw-slider__track > .mw-slider__slide-clone,
.mw-slider--cols:not(.is-center-snap) .mw-slider__track > .wp-block-group,
.mw-slider--cols:not(.is-center-snap) .mw-slider__track > .mw-slider__slide,
.mw-slider--cols:not(.is-center-snap) .mw-slider__track > .mw-slider__slide-clone {
	flex-basis: calc(100% / var(--mw-slider-cols, 1));
	width: calc(100% / var(--mw-slider-cols, 1));
}

/* Query Loop: List-Styles entfernen (Post Template nutzt <ul><li>) */
.mw-slider--mode-query .wp-block-post-template {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mw-slider--mode-query .wp-block-post-template > li {
	list-style: none;
	margin: 0;
}

/* Center Snap: per JS wird class gesetzt */
/* Center Snap */
.mw-slider.is-center-snap .mw-slider__track > .wp-block-group,
.mw-slider.is-center-snap .mw-slider__track > .mw-slider__slide,
.mw-slider.is-center-snap .mw-slider__track > .mw-slider__slide-clone {
	scroll-snap-align: center;
}

/* Galerie */
.mw-slider.is-fixed-height .mw-slider__track > .mw-slider__slide,
.mw-slider.is-fixed-height .mw-slider__track > .mw-slider__slide-clone {
	height: var(--mw-slider-height, auto);
}

.mw-slider--mode-gallery .mw-slider__slide,
.mw-slider--mode-gallery .mw-slider__slide-clone {
	position: relative;
	overflow: hidden;
}

.mw-slider--mode-gallery .mw-slider__slide img,
.mw-slider--mode-gallery .mw-slider__slide picture,
.mw-slider--mode-gallery .mw-slider__slide figure,
.mw-slider--mode-gallery .mw-slider__slide-clone img,
.mw-slider--mode-gallery .mw-slider__slide-clone picture,
.mw-slider--mode-gallery .mw-slider__slide-clone figure {
	width: 100% !important;
	height: 100% !important;
}

.mw-slider--mode-gallery .mw-slider__slide img,
.mw-slider--mode-gallery .mw-slider__slide-clone img {
	display: block;
	object-fit: cover;
	object-position: var(--mw-slider-object-position, 50% 50%);
}

/* NAV (Dots) – IMMER über Track */
.mw-slider__nav {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	top: auto;

	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	row-gap: 8px;

	justify-content: center;
	align-content: center;

	/* wichtig: über allem im Slider */
	z-index: 9999;

	/* Wrapper klickt nicht, Dots schon */
	pointer-events: none;

	padding-left: 10px;
	padding-right: 10px;

	max-height: none;
	overflow: visible;
}

.mw-slider__dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,0.35);
	background: rgba(255,255,255,0.7);
	cursor: pointer;
	pointer-events: auto;
}
.mw-slider__dot.is-active { background: rgba(0,0,0,0.65); }

/* Arrows – IMMER über Track */
.mw-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);

	z-index: 10000;

	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,0.25);
	background: rgba(255,255,255,0.85);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;

	pointer-events: auto;
}

.mw-slider__arrow--prev { left: 10px; }
.mw-slider__arrow--next { right: 10px; }

.mw-slider__arrow svg {
	width: 18px;
	height: 18px;
	display: block;
}

/* Dots Position Varianten */
.mw-slider--dots-pos-bottom-center .mw-slider__nav { bottom: 10px; top: auto; justify-content: center; }
.mw-slider--dots-pos-bottom-left .mw-slider__nav { bottom: 10px; top: auto; justify-content: flex-start; }
.mw-slider--dots-pos-bottom-right .mw-slider__nav { bottom: 10px; top: auto; justify-content: flex-end; }

.mw-slider--dots-pos-top-center .mw-slider__nav { top: 10px; bottom: auto; justify-content: center; }
.mw-slider--dots-pos-top-left .mw-slider__nav { top: 10px; bottom: auto; justify-content: flex-start; }
.mw-slider--dots-pos-top-right .mw-slider__nav { top: 10px; bottom: auto; justify-content: flex-end; }

/* unter dem Bild */
.mw-slider--dots-pos-below-center .mw-slider__nav,
.mw-slider--dots-pos-below-left .mw-slider__nav,
.mw-slider--dots-pos-below-right .mw-slider__nav {
	position: relative;
	top: auto;
	bottom: auto;
	margin-top: 10px;
}

.mw-slider--dots-pos-below-center .mw-slider__nav { justify-content: center; }
.mw-slider--dots-pos-below-left .mw-slider__nav { justify-content: flex-start; }
.mw-slider--dots-pos-below-right .mw-slider__nav { justify-content: flex-end; }

/* Lightbox defensive */
.wp-lightbox-overlay, .wp-lightbox-container { z-index: 999999; }

/* Query Loop: keine Aufzaehlungspunkte in <li> */
.mw-slider--mode-query li.wp-block-post,
.mw-slider--mode-query .mw-slider__slide li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Falls das <ul> noch existiert (je nach Transform), auch dort entfernen */
.mw-slider--mode-query ul.wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}