@charset "UTF-8";
.zoomBox .MagicZoom {
  position: relative;
  display: block;
  cursor: zoom-in;
}
.zoomBox .zoomArea {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  pointer-events: none;
}
.zoomBox .active {
  position: relative;
}
.zoomBox .active::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

/* ==== dialog ==== */
.zoomDialog {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  border: none;
  margin: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(10px);
  overflow: auto;
  overscroll-behavior: none;
}
html:has(dialog[open]) {
  scrollbar-width: none;
}
.zoomDialog::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1px;
  height: calc(100% + 1px);
  opacity: 0;
  pointer-events: none;
}
.zoomDialog > .btnClose {
  border: none;
  background: transparent none;
  margin: 0;
  inset: 0;
  position: absolute;
  cursor: auto;
}
.zoomDialog > .btnClose span {
  position: absolute;
  z-index: 10;
  right: 25px;
  top: 25px;
  width: 100px;
  aspect-ratio: 1;
  cursor: pointer;
}
.zoomDialog > .btnClose span::before, .zoomDialog > .btnClose span::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100px;
  height: 1px;
  background-color: #fff;
  rotate: 45deg;
}
.zoomDialog > .btnClose span::after {
  rotate: -45deg;
}
.zoomDialog .inner {
  height: 100%;
}
.zoomDialog .content {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.splide {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.splide__track {
  margin: auto;
  max-height: calc(100dvh - 141px);
}
.splide__slide {
  text-align: center;
}
.zoomBox .splide__slide img {
  width: auto;
  height: auto;
  max-width: 94%;
  max-height: 100%;
  object-fit: contain;
}
.splide__pagination {
  position: relative;
  list-style: none;
  margin: 0 auto;
  padding: 10px 0;
  display: flex;
  gap: 10px;
  bottom: 0;
}
.zoomBox .splide__pagination li {
  margin: 0;
}
.splide__pagination__page {
  margin: 0;
  height: auto;
  width: auto;
  opacity: 1;
}
.splide__pagination__page.is-active {
  transform: scale(1, 1);
  filter: brightness(0.7);
}
@media screen and (max-width: 767px) {
  .zoomDialog > .btnClose span {
    right: 5px;
    top: 5px;
    width: 50px;
  }
  .zoomDialog > .btnClose span::before, .zoomDialog > .btnClose span::after {
    width: 100%;
  }
  .splide__pagination {
    width: 94%;
  }
}