/* Scoped to the homepage/banner slideshow; other Slick carousels keep their styling. */
.slideshow .slideshow-timed.slick-dotted { margin-bottom: 0; }
.slideshow .banner-slide { position: relative; }
.slideshow .banner-slide picture, .slideshow .banner-slide picture img { display: block; }
.slideshow .banner-slide-progress { position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background: rgba(255,255,255,.35); pointer-events: none; opacity: 0; z-index: 2; }
.slideshow .slick-current .banner-slide-progress { opacity: 1; }
.slideshow .banner-slide-progress::after { content: ''; display: block; width: 100%; height: 100%; background: #ed2948; transform: scaleX(var(--banner-progress, 0)); transform-origin: left center; }
.slideshow .slideshow-controls { background: #fff; padding: 7px 16px; }
.slideshow .slideshow-controls[hidden] { display: none; }
.slideshow .banner-slideshow-dots { position: relative; bottom: auto; display: flex; justify-content: safe center; align-items: center; gap: 2px; width: 100%; max-width: 100%; margin: 0; padding: 0; overflow-x: auto; list-style: none; scrollbar-width: thin; }
.slideshow .banner-slideshow-dots li { display: block; flex: 0 0 auto; width: 28px; height: 30px; margin: 0; transition: width .2s ease; }
.slideshow .banner-slideshow-dots li.slick-active { width: 48px; }
.slideshow .banner-slideshow-dots li button { display: flex; align-items: center; justify-content: center; width: 100%; height: 30px; padding: 0; border: 0; border-radius: 16px; background: transparent; color: transparent; font-size: 0; cursor: pointer; }
.slideshow .banner-slideshow-dots li button::before { position: static; content: ''; width: 8px; height: 8px; border-radius: 999px; background: #d2d6dc; opacity: 1; font-family: inherit; transition: width .2s ease, background .2s ease; }
.slideshow .banner-slideshow-dots li.slick-active button::before { width: 30px; background: #ed2948; }
.slideshow .banner-slideshow-dots li button:hover::before { background: #ef7185; }
.slideshow .banner-slideshow-dots li button:focus-visible { outline: 2px solid #ed2948; outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) {
 .slideshow .banner-slideshow-dots li, .slideshow .banner-slideshow-dots li button::before { transition: none; }
 .slideshow .banner-slide-progress { display: none; }
}
