/* VOD Fullscreen Slider */
.vfs-slider-wrapper {
  position: relative;
  width: 100%;
  height: var(--vfs-height, 100vh);
  overflow: hidden;
}

.vfs-swiper, .vfs-swiper .swiper-wrapper, .vfs-slide {
  height: 100%;
}

.vfs-slide {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  isolation: isolate;
}

.vfs-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 1;
}

.vfs-overlay {
  position: absolute;
  inset: 0;
  background: var(--vfs-overlay, rgba(0,0,0,.45));
  z-index: 2;
}

.vfs-content {
  position: relative;
  z-index: 3;
  width: min(92%, var(--vfs-content-width, 920px));
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.vfs-slide-title {
  margin: 0;
  line-height: 1.2;
  font-size: clamp(28px, 4.5vw, 56px);
}

.vfs-slide-desc {
  font-size: clamp(14px, 1.6vw, 20px);
  opacity: .95;
}

.vfs-btn {
  display: inline-block;
  padding: 12px 20px;
  border-radius: 9999px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .15s ease, opacity .15s ease;
}
.vfs-btn:hover { transform: translateY(-1px); opacity: .95; }

/* Vertical alignment */
.vfs-slider-wrapper[style*="--vfs-valign:start"] .vfs-slide { align-items: flex-start; }
.vfs-slider-wrapper[style*="--vfs-valign:end"] .vfs-slide { align-items: flex-end; }

/* Mobile: Poster on top, content below */
.vfs-mobile-img {
  display: none;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  z-index: 1;
}

@media (max-width: 767px) {
  .vfs-slider-wrapper {
    height: auto; /* Allow scrolling below on small screens */
  }
  .vfs-slide {
    flex-direction: column;
    justify-content: flex-start;
  }
  .vfs-bg { display: none; } /* don't use bg on mobile */
  .vfs-mobile-img { display: block; }
  .vfs-overlay { background: linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.6)); }
  .vfs-content { padding: 20px 16px 32px; }
}

/* Support RTL */
[dir="rtl"] .vfs-content { text-align: center; }
