.snoutscoop-post-carousel {
  --single-carousel-height: var(--single-post-carousel-height);
  --single-carousel-arrow-size: clamp(34px, 3vw, 46px);

  position: relative;
  width: min(100%, var(--single-post-carousel-width));
  margin: var(--space-xl) auto var(--space-2xl);
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--mist);
  box-shadow: var(--shadow-card);
}

.snoutscoop-post-carousel.wp-block-gallery {
  display: block;
  gap: 0;
}

.snoutscoop-post-carousel .swiper-wrapper {
  display: flex;
  align-items: stretch;
  width: 100%;
  box-sizing: content-box;
}

.snoutscoop-post-carousel .swiper-slide {
  flex: 0 0 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 0;
  overflow: hidden;
  background: var(--mist);
}

.snoutscoop-post-carousel .wp-block-image {
  width: 100%;
  height: var(--single-carousel-height);
  flex: 0 0 100%;
  margin: 0;
}

.snoutscoop-post-carousel .wp-block-image a,
.snoutscoop-post-carousel .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
}

.snoutscoop-post-carousel .wp-block-image a {
  cursor: default;
}

.snoutscoop-post-carousel .wp-block-image img {
  object-fit: contain;
  object-position: center;
  background: var(--ink);
}

.snoutscoop-post-carousel .swiper-button-prev,
.snoutscoop-post-carousel .swiper-button-next {
  width: var(--single-carousel-arrow-size);
  height: var(--single-carousel-arrow-size);
  color: var(--paper);
  background: rgb(7 146 144 / 76%);
  border-radius: var(--radius-sm);
  transition: background var(--transition-fast), transform var(--transition-fast);
}

.snoutscoop-post-carousel .swiper-button-prev::after,
.snoutscoop-post-carousel .swiper-button-next::after {
  font-size: calc(var(--single-carousel-arrow-size) * 0.46);
  font-weight: 700;
}

.snoutscoop-post-carousel .swiper-button-prev:hover,
.snoutscoop-post-carousel .swiper-button-next:hover {
  background: var(--orange);
  transform: translateY(-1px);
}

.snoutscoop-post-carousel .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  background: var(--paper);
}

.snoutscoop-post-carousel .swiper-pagination-bullet {
  width: var(--gallery-carousel-dot-size);
  height: var(--gallery-carousel-dot-size);
  margin: 0;
  background: var(--muted);
  opacity: 0.35;
}

.snoutscoop-post-carousel .swiper-pagination-bullet-active {
  width: var(--gallery-carousel-dot-active-size);
  height: var(--gallery-carousel-dot-active-size);
  background: var(--aqua-deep);
  opacity: 1;
}

.snoutscoop-image-note {
  width: min(100%, var(--single-content-image-width));
  margin: calc(var(--space-lg) * -1) auto var(--space-2xl);
  color: var(--muted);
  font-size: var(--text-sm);
  font-style: italic;
  text-align: center;
}

@media (max-width: 760px) {
  .snoutscoop-post-carousel {
    --single-carousel-height: var(--single-post-carousel-height-mobile);
  }

  .snoutscoop-post-carousel .swiper-button-prev,
  .snoutscoop-post-carousel .swiper-button-next {
    display: none;
  }
}
