/* ========== Swiper nav buttons (shared) ========== */
.swiper-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;

  width: var(--nav);
  height: var(--nav);

  display: grid;
  place-items: center;

  border-radius: 9999px;
  background: #fff;
  border: 4px solid #f8f8f8;

  transition: all 200ms ease;
}

@media (min-width: 1024px) {
  .swiper-nav-btn {
    border-width: 8px;
  }
}

.swiper-nav-btn:hover {
  box-shadow: #120d3110 0px 24px 48px -12px;
}

/* Disabled state */
.swiper-nav-btn:disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.7;
}

/* ========== Shared Pagination ========== */
.swiper-pagination {
  display: flex;
  align-items: center;
  gap: 4px;
}

@media (min-width: 1024px) {
  .swiper-pagination {
    gap: 7px;
  }
}

/* Base bullet */
.swiper-pagination .swiper-pagination-bullet {
  width: 5px;
  height: 5px;
  margin: 0 !important;
  border-radius: 9999px;
  opacity: 1;
  transition: all 200ms ease;
}

/* Active bullet (pill) */
.swiper-pagination .swiper-pagination-bullet-active {
  width: 16px;
  height: 5px;
}

@media (min-width: 1024px) {
  .swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }

  .swiper-pagination .swiper-pagination-bullet-active {
    width: 24px;
    height: 8px;
  }
}

/* ========== Hero Banner (differences only) ========== */
.hero-banner-section .swiper-pagination {
  position: absolute;
  bottom: 16px;
  inset-inline-start: 26px;
}

@media (min-width: 1024px) {
  .hero-banner-section .swiper-pagination {
    bottom: 38px;
    inset-inline-start: 109px;
  }
}

/* colours */
.hero-banner-section .swiper-pagination .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.65);
}

.hero-banner-section .swiper-pagination .swiper-pagination-bullet-active {
  background: #ffffff;
}
