@charset "UTF-8";
::-webkit-scrollbar {
  width: 3px;
  height: 3px;
  border-radius: 4px;
}

::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: var(--vi);
}

html.act {
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

/* ========== 通用颜色工具 ========== */
.c-vi {
  color: var(--vi);
}

.c-t1 {
  color: var(--txtc1);
}

.c-t2 {
  color: var(--txtc2);
}

.c-000 {
  color: #000;
}

.c-111 {
  color: #111;
}

.c-333 {
  color: #333;
}

.c-666 {
  color: #666;
}

.c-888 {
  color: #888;
}

.c-999 {
  color: #999;
}

.c-fff {
  color: #fff;
}

.c-ff2 {
  color: rgba(255, 255, 255, 0.2);
}

.c-ff3 {
  color: rgba(255, 255, 255, 0.3);
}

.c-ff4 {
  color: rgba(255, 255, 255, 0.4);
}

.c-ff5 {
  color: rgba(255, 255, 255, 0.5);
}

.c-ff6 {
  color: rgba(255, 255, 255, 0.6);
}

.c-ff7 {
  color: rgba(255, 255, 255, 0.7);
}

.c-ff8 {
  color: rgba(255, 255, 255, 0.8);
}

.c-ff9 {
  color: rgba(255, 255, 255, 0.9);
}

/* ========== 通用行高 ========== */
.lh-1 {
  line-height: 1;
}

.lh-11 {
  line-height: 1.1;
}

.lh-12 {
  line-height: 1.2;
}

.lh-125 {
  line-height: 1.25;
}

.lh-13 {
  line-height: 1.3;
}

.lh-133 {
  line-height: 1.33;
}

.lh-14 {
  line-height: 1.4;
}

.lh-142 {
  line-height: 1.42;
}

.lh-15 {
  line-height: 1.5;
}

.lh-16 {
  line-height: 1.6;
}

.lh-166 {
  line-height: 1.66;
}

.lh-17 {
  line-height: 1.7;
}

.lh-175 {
  line-height: 1.75;
}

.lh-18 {
  line-height: 1.8;
}

.lh-187 {
  line-height: 1.87;
}

.lh-19 {
  line-height: 1.9;
}

.lh-2 {
  line-height: 2;
}

/* ========== 通用超行省略号样式 ========== */
.t_line1 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 1;
  -moz-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.t_line2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 2;
  -moz-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.t_line3 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 3;
  -moz-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.t_line4 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 4;
  -moz-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.t_line5 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 5;
  -moz-line-clamp: 5;
  line-clamp: 5;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.t_line6 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 6;
  -moz-line-clamp: 6;
  line-clamp: 6;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.t_line7 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 7;
  -moz-line-clamp: 7;
  line-clamp: 7;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.t_line8 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  display: -moz-box;
  -webkit-line-clamp: 8;
  -moz-line-clamp: 8;
  line-clamp: 8;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

/* ========== 通用布局样式 ========== */
.w1780 {
  padding-left: 0.7rem !important;
  padding-right: 0.7rem !important;
}

.w1760 {
  padding-left: 0.8rem !important;
  padding-right: 0.8rem !important;
}

.w1720 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.w1680 {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

.w1660 {
  padding-left: 1.3rem !important;
  padding-right: 1.3rem !important;
}

.w1640 {
  padding-left: 1.4rem !important;
  padding-right: 1.4rem !important;
}

.w1620 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.w1600 {
  padding-left: 1.6rem !important;
  padding-right: 1.6rem !important;
}

.w1440 {
  padding-left: 2.4rem !important;
  padding-right: 2.4rem !important;
}

.pic-scale .pic, .pic-scale.pic {
  overflow: hidden;
}
.pic-scale .pic img, .pic-scale.pic img {
  transition: all var(--t2);
  transform: translateZ(0);
  will-change: transform;
}
.pic-scale:hover .pic img, .pic-scale:hover.pic img {
  transform: scale(1.05) !important;
}

/* ========== 通用过渡动画样式 ========== */
.trans-all {
  transition: all var(--t1) ease;
}
.trans-all * {
  transition: all var(--t1) ease;
}

/* ========== 通用图片样式 ========== */
/* 图片基础样式：去除边框，最大宽度100%，块级显示，宽度100% */
img {
  border: none;
  max-width: 100%;
  display: block;
}
img.pic-contain {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
img.pic-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
img.pic-fill {
  width: 100%;
  height: 100%;
  object-fit: fill;
}
img[src=""] {
  opacity: 0;
}

video.pic-contain {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
video.pic-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
video.pic-fill {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

/* ========== 滚动条样式 ========== */
.iscroll {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
}
.iscroll::-webkit-scrollbar {
  width: 5px;
  height: 1px;
}
.iscroll::-webkit-scrollbar-thumb {
  background: var(--vi);
}
.iscroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.3);
}
.iscroll.round::-webkit-scrollbar-thumb {
  border-radius: 3px;
}

.swiper-slide img {
  user-select: none;
  -webkit-user-drag: none;
}

/* 分享 */
.social-share .icon-wechat {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent !important;
  border-color: transparent !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.social-share .icon-wechat::before {
  color: transparent;
}
.social-share .icon-weibo {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent !important;
  border-color: transparent !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.social-share .icon-weibo::before {
  color: transparent;
}

.icon {
  flex-shrink: 0;
}

.h1-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
