.shr-rotator { position: relative; width: 100%; height: var(--shr-height, 480px); overflow: hidden; }
.shr-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; }
.shr-slide.is-active { opacity: 1; }
.shr-rotator[data-shr-transition="slide"] .shr-slide { transition: transform .6s ease, opacity .6s ease; }
.shr-slide__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shr-slide__link { display: block; height: 100%; }
.shr-slide__overlay { position: absolute; inset: auto 0 0 0; padding: 2rem; background: var(--shr-overlay, rgba(0,0,0,.35)); color: var(--shr-overlay-text, #fff); }
.shr-slide__headline { display: block; font-size: 2rem; font-weight: 700; }
.shr-slide__cta { display: inline-block; margin-top: 1rem; padding: .6rem 1.2rem; background: var(--shr-cta-bg, #fff); color: var(--shr-cta-text, #111); text-decoration: none; border-radius: var(--shr-cta-radius, 4px); }
.shr-rotator__dots { position: absolute; bottom: 12px; left: 0; right: 0; display: flex; gap: 8px; justify-content: center; }
.shr-rotator__dot { width: 10px; height: 10px; border-radius: 50%; border: 0; background: var(--shr-dot, rgba(255,255,255,.5)); cursor: pointer; }
.shr-rotator__dot.is-active { background: var(--shr-dot-active, #fff); }
.shr-rotator__arrow { position: absolute; top: 50%; transform: translateY(-50%); background: var(--shr-arrow-bg, rgba(0,0,0,.4)); color: #fff; border: 0; width: 44px; height: 44px; cursor: pointer; }
.shr-rotator__arrow--prev { left: 8px; } .shr-rotator__arrow--next { right: 8px; }
.shr-rotator--single .shr-rotator__dots, .shr-rotator--single .shr-rotator__arrow { display: none; }
@media (prefers-reduced-motion: reduce) { .shr-slide { transition: none; } }
