.schule-slider { position: relative; width: 100%; aspect-ratio: var(--ss-w, 1100) / var(--ss-h, 650); max-height: calc(var(--ss-h, 650) * 1px); overflow: hidden; background: #e9e9e9; margin: 0 auto; touch-action: pan-y; }
.schule-slider__track, .schule-slider .schule-slider__slide { position: absolute; inset: 0; margin: 0; padding: 0; }
.schule-slider .schule-slider__slide { opacity: 0; visibility: hidden; transition: opacity .4s ease, visibility 0s linear .4s; }
.schule-slider .schule-slider__slide.is-active { opacity: 1; visibility: visible; transition: opacity .4s ease; z-index: 1; }
.schule-slider .schule-slider__slide a { display: block; width: 100%; height: 100%; }
.schule-slider .schule-slider__slide img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; margin: 0; }

.schule-slider__btn, .schule-slider__pause { position: absolute; z-index: 3; border: 0; padding: 0; cursor: pointer; background: rgba(0, 0, 0, .55); color: #fff; width: 40px; height: 40px; line-height: 40px; font-size: 20px; text-align: center; opacity: 0; transition: opacity .2s, background .2s; }
.schule-slider__btn { top: 50%; margin-top: -20px; }
.schule-slider__prev { left: 0; } .schule-slider__next { right: 0; }
.schule-slider__prev::before { content: "\2039"; } .schule-slider__next::before { content: "\203A"; }
.schule-slider__btn::before { font-size: 30px; line-height: 38px; }
.schule-slider__pause { right: 0; top: 0; width: 34px; height: 34px; line-height: 34px; font-size: 14px; }
.schule-slider__pause::before { content: "\275A\275A"; letter-spacing: -2px; }
.schule-slider__pause[aria-pressed="true"]::before { content: "\25B6"; letter-spacing: 0; }
.schule-slider:hover .schule-slider__btn, .schule-slider:hover .schule-slider__pause, .schule-slider:hover .schule-slider__dots,
.schule-slider:focus-within .schule-slider__btn, .schule-slider:focus-within .schule-slider__pause, .schule-slider:focus-within .schule-slider__dots { opacity: 1; }
.schule-slider__btn:hover, .schule-slider__pause:hover { background: rgba(0, 0, 0, .8); }
.schule-slider button:focus-visible { outline: 3px solid #fff; outline-offset: -3px; box-shadow: 0 0 0 2px #000 inset; }
@media (hover: none) { .schule-slider__btn, .schule-slider__pause { opacity: .85; } .schule-slider__dots { opacity: 1; } }

.schule-slider__dots { position: absolute; z-index: 3; left: 0; right: 0; bottom: 12px; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 0 40px; opacity: 0; transition: opacity .2s; }
.schule-slider__dots button { width: 12px; height: 12px; padding: 0; border: 0; background: rgba(255, 255, 255, .55); box-shadow: 0 0 0 1px rgba(0, 0, 0, .35); cursor: pointer; }
.schule-slider__dots button[aria-current="true"] { background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .6); }

.schule-slider__preview { position: absolute; z-index: 4; bottom: 34px; width: 160px; transform: translateX(-50%); padding: 3px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .45); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s; }
.schule-slider__preview.is-on { opacity: 1; visibility: visible; }
.schule-slider .schule-slider__preview img { display: block; width: 100%; height: auto; max-width: 100%; margin: 0; }
.schule-slider__preview::after { content: ""; position: absolute; left: 50%; bottom: -6px; margin-left: -6px; border: 6px solid transparent; border-bottom: 0; border-top-color: #fff; }
@media (hover: none) { .schule-slider__preview { display: none; } }

@media (prefers-reduced-motion: reduce) { .schule-slider .schule-slider__slide, .schule-slider .schule-slider__slide.is-active { transition: none; } }

@media (max-width: 600px) {
	.schule-slider__dots { gap: 4px; padding: 0 8px; bottom: 8px; }
	.schule-slider__dots button { width: 8px; height: 8px; }
}
