.pswp__custom-caption span {
  background: var(--maincolor);
  bottom: 1em;
  color: white;
  display: block;
  font-size: 2rem;
  left: 50%;
  max-width: 80ch;
  padding: .5em 1em .75em;
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
  width: calc(100% - 2em);
}

.pswp__custom-caption a {
  color: white;
  text-decoration: underline;
}

.zoom-image {
  aspect-ratio: 1/1;
  /* background-color: var(--maincolor); */
  background-color: var(--lightgrey);
  display: block;
  line-height: 0;
  overflow: hidden;
  position: relative;
}

.zoom-image svg {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

.zoom-image svg path:not([fill="none"]) {
  fill: white;
}

.zoom-image img {
  height: 100%;
  object-fit: contain;
  /* opacity: .75; */
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transition: opacity .3s, -webkit-transform .6s;
  -o-transition: opacity .3s, transform .6s;
  transition: opacity .3s, transform .6s;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .zoom-image:hover img {
    /* opacity: 1; */
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }
}
