.swiper {
  position: relative;
}

.swiper-wrapper {
  position: relative;
}

.swiper-page {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(var(--swiper-columns, 1), minmax(0, 1fr));
  gap: var(--swiper-gap, 2rem);
  opacity: 0;
  pointer-events: none;
  transform: translateY(26px);
  transition:
    opacity 0.55s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.swiper-page.is-active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.swiper-slide {
  min-width: 0;
  height: 100%;
}

.swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  padding-top: 2rem;
}

.swiper-pagination-bullet {
  width: 0.65rem;
  height: 0.65rem;
  border: 0;
  border-radius: 9999px;
  background: rgba(148, 163, 184, 0.75);
  transition:
    width 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.swiper-pagination-bullet:hover {
  transform: scale(1.08);
}

.swiper-pagination-bullet.is-active {
  width: 1.75rem;
  background: #14b8a6;
}

html.dark .swiper-pagination-bullet {
  background: rgba(71, 85, 105, 0.95);
}

html.dark .swiper-pagination-bullet.is-active {
  background: #14b8a6;
}
