.pswp-description,
.pswp-credits {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 12px 100px;
  position: absolute;
  left: 50%;
  z-index: 9999;
  transform: translateX(-50%);
  max-width: 100vw;
  width: var(--image-width);
  text-align: center;
}

.pswp-description {
  top: 0;
}

.pswp-credits {
  bottom: 0;
}

.thumbs-gallery {
  overflow: hidden;
}

.thumbs-gallery,
.thumbs-gallery *::selection {
  background-color: transparent !important;
}

.thumbs-gallery.thumbs-gallery--single .swiper-slide {
  aspect-ratio: auto;
}

/* Base swiper layout */
.thumbs-gallery .swiper {
  width: 100%;
}

/* Slides */
.thumbs-gallery .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  aspect-ratio: 4 / 3;
  position: relative;
}

/* Slide images (main + thumbs) */
.thumbs-gallery .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
}

.thumbs-gallery .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Main slider */
.thumbs-gallery .thumbs-gallery__slider {
  position: relative;
  width: 100%;
}

/* Thumbnails slider */
.thumbs-gallery .thumbs-gallery__nav {
  padding: 10px 0;
  box-sizing: border-box;
}

.thumbs-gallery .thumbs-gallery__nav .swiper-slide {
  cursor: pointer;
  width: 25%;
  height: 100%;
  opacity: 0.5;
  transition: opacity 300ms ease-in-out;
}

.thumbs-gallery .thumbs-gallery__nav .swiper-slide-thumb-active,
.thumbs-gallery .thumbs-gallery__nav .swiper-slide:hover {
  opacity: 1;
}

.thumbs-gallery .thumbs-gallery__slide-text {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 15px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.thumbs-gallery .thumbs-gallery__slide-text .description,
.thumbs-gallery .thumbs-gallery__slide-text .credits {
  text-align: left;
}

.description + .credits {
  margin-top: 5px;
}

.thumbs-gallery__button {
  align-items: center;
  display: flex;
  justify-content: center;
  background-image: none;
  background-color: #000;
  width: 50px;
  height: 50px;
  transition: background-color 300ms ease-in-out;
}

.thumbs-gallery__button:hover {
  background-color: #fff;
}

.thumbs-gallery__button:hover svg path {
  fill: #000;
}

.thumbs-gallery__button-prev {
  left: 0;
}

.thumbs-gallery__button-next {
  right: 0;
}

.thumbs-gallery__button-prev svg {
  transform: rotate(180deg);
}

.thumbs-gallery__button svg path {
  fill: #fff;
  transition: fill 300ms ease-in-out;
}
