/*!
 * banner-slider.css – Styles für das BannerSlider-Modul (self-hosted, konditional geladen).
 * Deckt Progressive Enhancement ab: ohne JS ist die erste Slide sichtbar; sobald das JS die
 * Instanz initialisiert (.is-ready), steuert die .is-active-Klasse die Sichtbarkeit.
 */.banner-slider{position:relative;overflow:hidden;width:100%;height:var(--banner-height, clamp(240px, 42vw, 560px));background:#0b0b0c;isolation:isolate}.banner-slider__track{position:absolute;inset:0}.banner-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .6s ease}.banner-slider:not(.is-ready) .banner-slide:first-child{opacity:1;pointer-events:auto}.banner-slide.is-active{opacity:1;pointer-events:auto}.banner-slide__media{width:100%;height:100%;object-fit:cover;display:block}.banner-slide__overlay{position:absolute;bottom:0;width:100%;min-height:300px;height:auto;z-index:1;display:flex;align-items:flex-end;padding:clamp(1rem,4vw,3rem);background:linear-gradient(to top,#0009,#00000026 45%,#0000 75%);pointer-events:none}.banner-slide__overlay-inner{max-width:40rem;color:#fff;pointer-events:auto}.banner-slide__title{margin:0 0 .5rem;font-size:clamp(1.5rem,3.5vw,2.75rem);font-weight:700;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.45)}.banner-slide__text{margin:0;font-size:clamp(.95rem,1.6vw,1.2rem);line-height:1.5;text-shadow:0 1px 8px rgba(0,0,0,.45)}.banner-slide__cta{display:inline-block;margin-top:1rem;padding:.65rem 1.4rem;border-radius:.5rem;background:#fff;color:#111;font-weight:600;text-decoration:none;transition:background .2s ease,transform .2s ease}.banner-slide__cta:hover{background:#e9e9e9;transform:translateY(-1px)}.banner-slider__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:#0006;color:#fff;cursor:pointer;transition:background .2s ease}.banner-slider__nav:hover{background:#000000a6}.banner-slider__nav:focus-visible{outline:3px solid #fff;outline-offset:2px}.banner-slider__nav--prev{left:12px}.banner-slider__nav--next{right:12px}.banner-slider__pagination{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:2;display:flex;gap:8px}.banner-slider__dot{width:11px;height:11px;padding:0;border:2px solid rgba(255,255,255,.85);border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease,transform .2s ease}.banner-slider__dot.is-active{background:#fff;transform:scale(1.15)}.banner-slider__dot:focus-visible{outline:3px solid #fff;outline-offset:2px}.banner-slider__counter{position:absolute;top:12px;right:14px;z-index:2;padding:3px 10px;border-radius:999px;background:#00000073;color:#fff;font-size:.8rem;font-variant-numeric:tabular-nums}.banner-slider__videocontrols{position:absolute;left:14px;bottom:14px;z-index:2;display:flex;gap:8px}.banner-slider__vc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#00000073;color:#fff;cursor:pointer;transition:background .2s ease}.banner-slider__vc:hover{background:#000000b3}.banner-slider__vc:focus-visible{outline:3px solid #fff;outline-offset:2px}.banner-slider__ic{display:inline-flex}.banner-slider__vc-play[data-state=playing] .banner-slider__ic--play,.banner-slider__vc-play[data-state=paused] .banner-slider__ic--pause,.banner-slider__vc-mute[data-state=muted] .banner-slider__ic--mute,.banner-slider__vc-mute[data-state=sound] .banner-slider__ic--sound{display:none}.banner-slider__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.banner-slide,.banner-slide__cta{transition:none}}
