html,
body {
  position: relative;
  height: 100%;
}

body {
  background: #eee;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #000;
  margin: 0;
  padding: 0;
}

#viewer {
  width: 100%;
  height: 100%;
  margin: 0;
  font-family: sans-serif;
}

.viewer-content {
  width: 100%;
  height: 100%;
  position: relative;
}

.viewer-content .viewer-box {
  width: 100%;
  height: 100%;
}

::v-deep .psv-navbar {
  display: none;
}

.btn-box {
  position: absolute;
  left: 22.5px;
  /* 调整为原来的 1.5 倍 */
  top: 22.5px;
  /* 调整为原来的 1.5 倍 */
  display: flex;
  flex-direction: column;
  /* 竖向排列 */
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid #ccc;
  z-index: 999;
  padding: 7.5px;
  /* 调整为原来的 1.5 倍 */
  width: 225px;
  /* 调整为原来的 1.5 倍 */
}

.btn-box .btn-indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, #e3f0ff 0%, #cbe6ff 100%);
  z-index: 1;
  transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1), width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

.btn-box .btn-item {
  margin-bottom: 15px;
  /* 调整为原来的 1.5 倍 */
  padding: 15px 30px;
  /* 调整为原来的 1.5 倍 */
  font-size: 24px;
  /* 调整为原来的 1.5 倍 */
  cursor: pointer;
  background: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 7.5px;
  /* 调整为原来的 1.5 倍 */
  text-align: center;
  flex: 1;
  position: relative;
  z-index: 2;
  width: 100%;
  /* 按钮宽度占满父容器 */
  height: 72px;
  /* 调整为原来的 1.5 倍 */
  line-height: 72px;
  /* 调整文字垂直居中 */
  color: #333;
  background: transparent;
  border: none;
  outline: none;
  transition: color 0.2s, background 0.2s;
}

.btn-box .btn-item.active {
  background: #007bff;
  color: white;
  font-weight: 700;
  width: 100%;
  /* 选中状态下按钮宽度占满父容器 */
}

.no-data {
  position: absolute;
  z-index: 88;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
}

.fullscreen-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.close-button {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(128, 128, 128, 0.5);
  border: none;
  color: black;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.swiper-ui {
  /* background-color: red; */
  width: 90%;
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
}

.swiper-ui.l {
  /* background-color: red; */
  width: 90%;
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
}

.swiper-container {
  /* background-color: yellow; */
  /* width: 100% !important; */
  aspect-ratio: 1/1 !important;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-container.l {
  /* background-color: yellow; */
  /* width: 100% !important; */
  aspect-ratio: 16/9 !important;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  /* background: green; */

  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.swiper-ui .ui {
  /* display: block; */
  position: relative;
  /* width: 100%; */
  height: 100%;
  /* background-color: blue; */
  aspect-ratio: 1/1;
}

.swiper-ui .ui.l {
  /* display: block; */
  position: relative;
  /* width: 100%; */
  height: 100%;
  /* background-color: blue; */
  aspect-ratio: 16/9;
}

.swiper-ui .backui {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* 确保图片覆盖整个区域不变形 */
  display: block;
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+ */
  user-select: none;
  /* 标准语法 */
}

.swiper-ui .group {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  /* background-color: purple; */
}

/* 按钮内图片样式 */
.swiper-ui .btnimg {
  width: 50px;
  /* 按钮图片大小，可调整 */
  height: 50px;
  display: block;
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+ */
  user-select: none;
  /* 标准语法 */
}

/* 左侧按钮：垂直居中，距离图片左侧固定距离（如50px） */
.swiper-ui .left-btn {
  left: -120px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

.swiper-ui .left-btn.l {
  left: 2%;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  z-index: 1;
}

/* 右侧按钮：垂直居中，距离图片右侧固定距离 */
.swiper-ui .right-btn {
  right: -120px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

.swiper-ui .right-btn.l {
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  z-index: 1;
}

/* 底部按钮：水平居中，距离图片底部固定距离 */
.swiper-ui .bottom-btn {
  bottom: -120px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

.swiper-slide .touchbtn {
  position: absolute;
  top: 5%;
  left: 0%;
  width: 100%;
  aspect-ratio: 2/1;
  background-color: transparent;
}

.swiper-slide .touchbtn.l {
  position: absolute;
  top: 18%;
  left: 10%;
  width: 80%;
  aspect-ratio: 16/8;
  /* background-color: red; */
}

.swiper-slide .audiobtn {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 82%;
  right: 5%;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  cursor: pointer;
  transition: transform 0.2s;
}

.swiper-slide .audiobtn:active {
  transform: scale(0.9);
}

.swiper-slide .audiobtn-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.swiper-slide .videoplayer {
  display: block;
  width: 100%;
  height: fit-content;
  object-fit: contain;
}

/* 图片自适应页面宽度 */
.responsive-image {
  max-width: 100%;
  /* 图片最大宽度为页面宽度 */
  height: auto;
  /* 高度自动调整，保持宽高比 */
  display: block;
  /* 去除图片底部的多余间隙 */
  margin: 0 auto;
  /* 居中显示（可选） */
}

/* 文本左对齐且每行等长 */
.justified-text {
  text-align: justify;
  /* 文本两端对齐 */
  word-wrap: break-word;
  /* 长单词换行 */
  line-height: 1.6;
  /* 设置行高 */
}

.custom-tooltip {
  /* max-width: none; */
  width: 160px !important;
  box-shadow: none !important;
  background: none !important;
  border-radius: 8px !important;
  /* overflow: hidden; */
  /* border: 2px solid #fff; */
}

.custom-tooltip .psv-tooltip-content {
  padding: 0;
  background: none !important;
}

.button-list {
  /* padding: 1px 1px; */
  background: none;
}

.button-list button {
  padding: 0;
  /* 移除默认内边距 */
  border: none;
  /* 移除边框 */
  outline: none;
  /* 移除点击时的阴影 */
  /* background: none; */
  /* 移除默认背景 */
  cursor: pointer;
  /* 鼠标悬停时显示手型 */
}

.tooltip-button {
  display: flex;
  align-items: center;
  width: 100%;
  height: 35px;
  background: rgba(255, 255, 255, 0.5);
  /* border: none; */
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: left;
  /* font-size: 1rem; */
  /* color: #000000; */
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
  position: relative;
  overflow: hidden;
}

.tooltip-button:hover {
  background: rgb(255, 255, 255);
}

/* .tooltip-button:active {
transform: translateY(0);
} */

/* .tooltip-button:last-child {
margin-bottom: 0;
} */


.button-info {
  /* color: #3498db; */
  width: 18px;
  height: 18px;
  margin-left: 10px;
}

.button-label {
  flex-grow: 1;
  /* font-weight: 500; */
  margin-left: 5px;
  color: black;
  font-size: 14px;
  font-family: Arial;
  z-index: 1;
}

#image-viewer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent !important;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

#viewer-image {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}

/* 隐藏viewer.js默认的工具栏，使用自定义样式 */
.viewer-container .viewer-toolbar {
  background: rgba(0, 0, 0, 0.5) !important;
  border-radius: 4px !important;
}

.viewer-container .viewer-toolbar>ul>li {
  margin: 0 5px !important;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
}


/* style="object-fit: contain;width: 50%; z-index: 2;" */
.video-player {
  object-fit: contain;
  width: 50%;
  z-index: 2;
}

.video-close {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.overlay-button {
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
  z-index: 3;
}

.overlay-button img {
  width: 50px;
  height: 50px;
}

#infoframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: none;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}

#videoframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: none;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}

#videoloopframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: none;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}


@media (max-width: 768px) {
  .swiper-ui {
    /* background-color: red; */
    width: 80%;
    height: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
  }

  .swiper-ui.l {
    /* background-color: red; */
    width: 100%;
    height: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
  }

  .swiper-ui .ui {
    /* display: block; */
    position: relative;
    width: 100%;
    height: auto !important;
    /* background-color: blue; */
    aspect-ratio: 1/1;
  }

  .swiper-ui .ui.l {
    /* display: block; */
    position: relative;
    /* width: 100%; */
    height: 100%;
    /* background-color: blue; */
    aspect-ratio: 16/9;
  }

  /* 按钮内图片样式 */
  .swiper-ui .btnimg {
    width: 30px;
    /* 按钮图片大小，可调整 */
    height: 30px;
    display: block;
  }

  /* 左侧按钮：垂直居中，距离图片左侧固定距离（如50px） */
  .swiper-ui .left-btn {
    left: -35px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }

  .swiper-ui .left-btn.l {
    left: 5px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    z-index: 1;
  }

  /* 右侧按钮：垂直居中，距离图片右侧固定距离 */
  .swiper-ui .right-btn {
    right: -35px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }

  .swiper-ui .right-btn.l {
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    z-index: 1;
  }


  /* 底部按钮：水平居中，距离图片底部固定距离 */
  .swiper-ui .bottom-btn {
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }

  .swiper-slide .audiobtn {
    position: absolute;
    width: 25px;
    height: 25px;
    top: 82%;
    right: 5%;
    padding: 0;
    border: none;
    outline: none;
    background: none;
    cursor: pointer;
    transition: transform 0.2s;
  }

  .video-player {
    object-fit: contain;
    width: 100%;
    z-index: 2;
  }

  .overlay-button {
    position: absolute;
    bottom: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    outline: none;
    z-index: 3;
  }

  .overlay-button img {
    width: 30px;
    height: 30px;
  }

}