#hero-carousel { touch-action: pan-y; }
#hero-carousel[data-banner-state="default"]:has(.wknd-owner-context-controls--hero) {
  min-height: 80px !important;
}
#hero-carousel .hero-carousel-slide[role="button"] { cursor: zoom-in; }
#hero-carousel .hero-carousel-slide:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
#hero-carousel .wknd-banner-arrow {
  position: absolute;
  top: 38%;
  z-index: 5;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  background: rgba(0,0,0,.5);
  color: #fff;
  font: 24px/1 sans-serif;
  cursor: pointer;
}
#hero-carousel .wknd-banner-arrow--previous { left: 12px; }
#hero-carousel .wknd-banner-arrow--next { right: 12px; }
#hero-carousel .wknd-banner-arrow:disabled { opacity: .3; cursor: default; }
#hero-carousel .wknd-banner-arrow:focus-visible,
#hero-carousel .hero-carousel-dot:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
#hero-carousel #carousel-dots { gap: 0; }
#hero-carousel .hero-carousel-dot,
#hero-carousel .hero-carousel-dot.active {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
#hero-carousel .hero-carousel-dot::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 5px;
  background: rgba(255,255,255,.55);
}
#hero-carousel .hero-carousel-dot.active::after { width: 18px; background: #fff; }
#hero-carousel #hero-photos-pill { min-height: 44px; }
dialog[data-wknd-photo-viewer] button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
