/* Replaces Slider Revolution. Same look: full-bleed fading images, no controls. */
.wo-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #000;
  isolation: isolate; /* keep slides below #welcome-message, as revslider did */
}

/* The theme's bottom gradient, formerly on .rev_slider::after. */
.wo-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.33));
  z-index: 2;
  pointer-events: none;
}
.wo-slider .slider-tab-wrapper { z-index: 3; }

/* Fullwidth sliders keep the old grid per breakpoint: scale down by gridwidth : gridheight,
   never taller than gridheight (revslider stopped growing past it on wide screens). */
.wo-slider--fullwidth { aspect-ratio: 1240 / 500; max-height: 500px; }
@media (max-width: 1239px) { .wo-slider--fullwidth { aspect-ratio: 1024 / 400; max-height: 400px; } }
@media (max-width: 1023px) { .wo-slider--fullwidth { aspect-ratio: 778 / 300; max-height: 300px; } }
@media (max-width: 777px)  { .wo-slider--fullwidth { aspect-ratio: 480 / 720; max-height: 720px; } }

/* The home slider fills the window below the 66px header. */
.wo-slider--fullscreen { height: calc(100vh - 66px); min-height: 320px; }

.wo-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.wo-slide.is-active { opacity: 1; z-index: 1; }
.wo-slide > a { position: absolute; inset: 0; display: block; }
.wo-slide picture { position: absolute; inset: 0; }
.wo-slide img,
.wo-slide video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

@media (prefers-reduced-motion: reduce) {
  .wo-slide { transition: none; }
}
