.sunday-image-carousel {
  --sunday-image-carousel-gap: var(--ss-space-4);
  --sunday-image-carousel-columns: 4;
  font-family: var(--ss-font-body);
}

.sunday-image-carousel__stage {
  overflow: hidden;
}

.sunday-image-carousel__swiper {
  width: 100%;
  overflow: visible;
}

.sunday-image-carousel__slide {
  height: auto;
}

.sunday-image-carousel__frame {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--ss-cream);
}

.sunday-image-carousel__frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sunday-image-carousel__footer {
  display: grid;
  grid-template-columns: repeat(
    var(--sunday-image-carousel-columns),
    minmax(0, 1fr)
  );
  column-gap: var(--sunday-image-carousel-gap);
  margin-top: var(--ss-space-3);
}

.sunday-image-carousel__nav {
  grid-column: 4;
  display: flex;
  gap: var(--ss-space-2);
  justify-content: flex-end;
}

.sunday-image-carousel__nav button {
  width: 42px;
  height: 42px;
  display: grid;
  place-content: center;
  background: var(--ss-orange);
  color: var(--ss-white);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  transition:
    filter 0.15s ease,
    opacity 0.15s ease;
}

.sunday-image-carousel__nav
  button:hover:not(:disabled):not(
    .sunday-image-carousel__nav-button--disabled
  ) {
  filter: brightness(1.1);
}

.sunday-image-carousel__nav button:disabled,
.sunday-image-carousel__nav button.sunday-image-carousel__nav-button--disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

.sunday-image-carousel__nav button svg {
  width: 22px;
  height: 16px;
  fill: currentColor;
}

.sunday-image-carousel__prev svg {
  transform: scaleX(-1);
}

@media (max-width: 820px) {
  .sunday-image-carousel {
    --sunday-image-carousel-columns: 2;
  }

  .sunday-image-carousel__footer {
    grid-template-columns: 1fr;
  }

  .sunday-image-carousel__nav {
    grid-column: 1;
    justify-content: flex-end;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sunday-image-carousel__nav button {
    transition: none;
  }
}
