/* ===== Base Swiper Configuration ===== */
:root {
  --swiper-max-width-desktop: 85%;
  --swiper-max-width-large: 75%;
  --swiper-height: 85vh;
  --swiper-border-radius: 20px;
  --swiper-background: var(--black-100);
  --bullet-background: rgba(0, 0, 0, 0.2);
  --bullet-background-active: rgb(255, 255, 255);
}

/* Story Controls */
.story-control {
  position: relative;
  padding: 32px 16px 0;
  z-index: 1000;
  top: 0;
  left: 0;
}

/* Main Swiper Container */
.swiper {
  max-width: var(--swiper-max-width-desktop);
  height: var(--swiper-height);
  background-color: var(--swiper-background);
  border-radius: var(--swiper-border-radius);
  margin-top: 0;
  padding: 0;
}

/* Slide Configuration */
.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  aspect-ratio: 16 / 9;
  font-size: 18px;
}

/* Media Elements */
.swiper-slide img,
.swiper-slide video,
.swiper-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 100%;
  max-height: 100%;
}

.swiper-video {
  background: var(--swiper-background);
}

.swiper-img {
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Interactive Elements */
.hoverInt {
  z-index: 100;
}

.container-cta a {
  border-radius: 20px;
  transition: background-color 0.3s, color 0.3s;
}

/* Icons */
.mute-toggle .material-symbols-rounded,
.close-stories .material-symbols-rounded {
  font-size: 32px;
  color: white;
}

.pause-toggle .material-symbols-rounded {
  color: white !important;
  font-size: 72px;
  opacity: 0.75;
}

/* Pagination */
.swiper-pagination-bullet {
  opacity: 1;
  background: var(--bullet-background);
  border-radius: 12rem;
}

.swiper-pagination-bullet-active,
.swiper-pagination-bullet-viewed {
  opacity: 1;
  background: var(--bullet-background-active);
  border-radius: 12rem;
}

.swiper-pagination-bullet-active::before,
.swiper-pagination-bullet-viewed::before {
  content: '';
  background: var(--bullet-background-active);
  display: block;
  position: relative;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 12px;
}

.swiper-pagination-bullet-active::before {
  width: var(--progress, 0%);
}

/* Background and Slide Styles */
.stories-slide {
  background-color: var(--swiper-background);
}

/* Responsive Design */
@media (min-width: 769px) {
  .mobile-only {
    display: none !important;
  }
  
  .desktop-only {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 2;
  }
}

@media (min-width: 1920px) {
  .swiper {
    max-width: var(--swiper-max-width-large);
  }
}

@media (max-width: 768px) {
  .swiper {
    max-width: 100%;
    height: 100svh !important;
    min-height: -webkit-fill-available;
    margin: 0;
  }

  .story-control {
    width: 100%;
  }

  .animate-keyboard {
    display: none;
  }

  .wrap-container {
    padding: 2rem;
    height: 100svh !important;
    min-height: -webkit-fill-available;
  }

  .desktop-only {
    display: none !important;
  }
  
  .mobile-only {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 2;
  }

  .stories-slide {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
  }

  .swiper-img {
    background-size: contain;
  }
}

@media (max-width: 440px) {
  .wrap-container {
    padding: 0 !important;
  }

  .swiper {
    border-radius: 0 !important;
  }
}