.preview-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scaleY(.96);
  min-height: fit-content;
  min-width: fit-content;
  opacity: 0;
  background: #fff;
  pointer-events: none;
  border-radius: .625rem;
  padding: 0 6px 6px 6px;
  box-shadow: 0 0 15px rgba(0,0,0,.2);
  user-select: none;
  z-index: 100;
}

.preview-box.fullscreen {
  border-radius: 0;
}

.preview-box:hover .slide {
  opacity: 1;
}

.preview-box.show {
  pointer-events: auto;
  transition: opacity .3s ease;
  opacity: 1;
}

.preview-box .details {
  display: flex;
  align-items: center;
  padding: 12px 15px 12px 10px;
  justify-content: space-between;
}

.preview-box .details .title {
  display: flex;
  font-size: 18px;
  font-weight: 400;
}

.details .title p {
  margin: 0 5px;
}

.details .title p.current-img {
  font-weight: 500;
}

.details .actions {
  display: flex;
}

.actions .icon {
  padding: 3px 10px;
  cursor: pointer;
  height: 26px;
  width: 41px;

  transition: transform .3s ease;
}

.details .icon:hover {
  transform: scale(1.2);
}

.preview-box .image-box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  max-height: 960px;
  overflow: hidden;

  border-bottom-right-radius: .625rem;
  border-bottom-left-radius: .625rem;
}

.preview-box .image-box.fullscreen {
  max-width: unset;
  min-width: 1200px;
  min-height: calc(100vh - 55px);
}

.image-box .pan-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
}

.image-box .slide {
  position: absolute;

  display: flex;
  justify-content: center;
  align-items: center;

  margin: 10px;
  height: 60px;
  width: 60px;

  border-radius: 50%;
  background-color: rgba(0,0,0,.5);
  transition: all .3s ease;
  font-size: 30px;
  cursor: pointer;

  color: #fff;
  opacity: 0;
}

.image-box .slide.hide {
  display: none;
}

.image-box .slide:hover {
  transform: scale(1.2);
}

.slide svg {
  fill: #fff;
}

.slide.prev {
  left: 0;
}

.slide.next {
  right: 0;
}

.image-box img {
  flex-shrink: 0;
  max-width: 100%;
  max-height: 100%;
}

.shadow {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: none;
  background: rgba(0,0,0,.7);
  z-index: 10;
}

.dark-theme .preview-box {
  background-color: #191916;
}

.dark-theme .title {
  color: #FED602;
}

.dark-theme .image-box {
  background-color: #292421;
}

.dark-theme svg.icon,
.dark-theme .slide svg {
  fill: #FED602;
}
