/* ============================================================
   GAIA FORUM 2026 专题二级页面样式 · 1920x2940 设计稿
   ============================================================ */

/* ---------------- 首屏 Banner ---------------- */
.t-hero {
  position: relative;
  width: 1920px;
  height: 779px;
  background: #0A2141;
  overflow: hidden;
}

.t-hero-slider {
  position: absolute;
  inset: 0;
}

.t-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .8s ease;
  pointer-events: none;
}

.t-hero-slide.active {
  opacity: 1;
  pointer-events: auto;
}

.t-hero-bg {
  position: absolute;
  left: -37px;
  top: -364px;
  width: 2037px;
  height: 1145px;
  max-width: none;
  object-fit: cover;
}

.t-hero-title {
  position: absolute;
  left: 0;
  top: 212px;
  width: 1920px;
  text-align: center;
  font-size: 43px;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--gold-soft);
}

.t-hero-cn {
  position: absolute;
  left: 0;
  top: 323px;
  width: 1920px;
  text-align: center;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #fff;
}

.t-hero-en {
  position: absolute;
  left: 0;
  top: 393px;
  width: 1920px;
  text-align: center;
  font-size: 14px;
  letter-spacing: .32em;
  color: #fff;
}

.t-hero-arrow {
  position: absolute;
  top: 416px;
  width: 30px;
  height: 53px;
  opacity: .92;
  transition: opacity .25s, transform .25s;
}

.t-hero-arrow:hover {
  opacity: 1;
  transform: translateY(-3px);
}

.t-hero-arrow-left {
  left: 128px;
}

.t-hero-arrow-right {
  right: 128px;
}

.t-hero-arrow img {
  width: 30px;
  height: 53px;
}

.t-hero-dots {
  position: absolute;
  left: 50%;
  bottom: 68px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 24px;
}

.t-hero-dots .dot {
  position: relative;
  width: 46px;
  height: 46px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.t-hero-dots .dot::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  transition: all .3s;
}

.t-hero-dots .dot svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 46px;
  height: 46px;
  transform: rotate(-90deg);
  display: none;
}

.t-hero-dots .dot svg circle {
  fill: none;
  stroke-width: 2;
}

.t-hero-dots .dot svg circle.track {
  stroke: rgba(255, 255, 255, 0.2);
}

.t-hero-dots .dot svg circle.progress {
  stroke: #009fa8;
  stroke-dasharray: 138.2;
  stroke-dashoffset: 138.2;
}

.t-hero-dots .dot.active svg {
  display: block;
}

.t-hero-dots .dot.active svg circle.progress {
  animation: circle-progress 5s linear forwards;
}

@keyframes circle-progress {
  0% {
    stroke-dashoffset: 138.2;
  }

  100% {
    stroke-dashoffset: 0;
  }
}

.t-hero-dots .dot.active::after {
  width: 10px;
  height: 10px;
  background: #fff;
}

/* ---------------- 面包屑 ---------------- */
.t-breadcrumb {
  position: relative;
  width: 1920px;
  height: 68px;
  background: #F5F2F5;
}

.t-breadcrumb span {
  position: absolute;
  left: 244px;
  top: 20.5px;
  font-family: MicrosoftYaHei;
  font-size: 21px;
  font-weight: normal;
  font-stretch: normal;
  letter-spacing: 0px;
  color: #7b7a7a;
}

.t-breadcrumb span a {
  color: #7b7a7a;
  margin: 0 5px;
  transition: all 0.5s;
}

.t-breadcrumb span a:first-child {
  margin-left: 0;
}

.t-breadcrumb span a:hover {
  color: var(--gold-soft);
}

/* ---------------- 主体 ---------------- */
.t-body {
  position: relative;
  overflow: hidden;
  width: 1400px;
  margin-left: 260px;
  padding: 124px 0;
}

/* 目录 */
.t-toc {
  /* position: absolute; */
  left: 262px;
  top: 0;
  width: 313px;
  float: left;
}

.toc-head {
  position: relative;
  width: 100%;
  height: 31px;
  background: #F8F8F8;
}

.toc-head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 105px;
  height: 100%;
  background: var(--gold);
}

.toc-head span {
  position: absolute;
  left: 0;
  width: 105px;
  top: 0;
  text-align: center;
  line-height: 31px;
  font-family: MicrosoftYaHei-Bold;
  font-size: 16px;
  font-weight: normal;
  font-stretch: normal;
  letter-spacing: 0px;
  color: var(--navy-2);
  z-index: 1;
}

.toc-item {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 24px;
}

.toc-item:first-child {
  margin-top: 33px;
}

.toc-thumb {
  width: 100%;
  height: 197px;
  overflow: hidden;
  display: block;
  border-radius: 10px;
  position: relative;
}

.toc-thumb::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
}

.toc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.toc-item.active .toc-thumb {
  box-shadow: 0 0 0 2px var(--gold);
}

.toc-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(11, 11, 11, .8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.toc-play img {
  width: 8px;
  height: 9px;
}

.toc-replay {
  position: absolute;
  right: 0;
  top: -4px;
  width: 62px;
  height: 28px;
  border-radius: 0 0 0 10px;
  background: rgba(9, 33, 65, .72);
  color: #fff;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.nv-badge {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 54px;
  height: 20px;
  border-radius: 0 10px 0 10px;

  /* 1. 改为垂直渐变 (180deg 从上到下) 
       中间(50%)亮，向顶部(0%)和底部(100%)变暗，形成上下浮雕凸起 */
  background: linear-gradient(180deg, #59a1e9 0%, #1a6dd4 50%, #3d97f1 100%);

  /* 2. 白色文字，增加一点向下和向上的微妙阴影增强立体感 */
  font-family: AlibabaPuHuiTiB;
  font-size: 12px;
  font-weight: normal;
  font-stretch: normal;
  line-height: 20px;
  letter-spacing: 0px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.toc-sub {
  position: absolute;
  left: 2px;
  top: 123px;
  font-size: 14px;
  color: var(--navy-2);
}

.toc-caption {
  font-family: AlibabaPuHuiTiR;
  font-size: 15px;
  font-weight: normal;
  font-stretch: normal;
  line-height: 24px;
  letter-spacing: 0px;
  color: var(--navy-2);
  transition: color .25s;
  margin-top: 14px;
  display: block;
}

.toc-item:hover .toc-caption {
  color: var(--gold-deep);
}

.toc-line {
  width: 100%;
  height: 1px;
  border-top: dashed 1px #e5e5e5;
  background: none;
  margin-top: 11px;
  display: block;
}

.toc-item.active .toc-line {
  background: var(--gold);
}

/* 主内容 */
.t-article {
  /* position: absolute; */
  left: 648px;
  top: -8px;
  width: 1013px;
  float: right;
}

.art-head {
  position: relative;
  /* height: 355px; */
}

.art-head .box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.art-title {
  font-family: AlibabaPuHuiTiB;
  font-size: 63px;
  font-weight: normal;
  font-stretch: normal;
  line-height: 1;
  letter-spacing: 0px;
  color: #e8c495;
}

.art-name {
  font-family: AlibabaPuHuiTiR;
  font-size: 57px;
  font-weight: normal;
  font-stretch: normal;
  line-height: 1;
  letter-spacing: 0px;
  color: var(--navy-2);
  margin-left: 13px;
}

.art-author {
  font-family: MicrosoftYaHei-Bold;
  font-size: 30px;
  font-weight: bold;
  font-stretch: normal;
  letter-spacing: 0px;
  color: #4a4a4a;
  margin-top: 40px;
}

.art-line {
  width: 100%;
  height: 2px;
  border-top: dashed 2px #bfbfbf;
  display: block;
  margin: 12px 0;
}

.art-role {
  font-family: AlibabaPuHuiTiR;
  font-size: 23px;
  font-weight: normal;
  font-stretch: normal;
  letter-spacing: 0px;
  color: #474747;
}

.art-theme {
  font-family: MicrosoftYaHei-Bold;
  font-size: 37px;
  font-weight: bold;
  font-stretch: normal;
  letter-spacing: 0px;
  color: #474747;
  margin-top: 60px;
}

.art-share {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 26px;
}

.share-ic {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: solid 1px #a0a0a0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: box-shadow .25s, transform .25s;
}

.share-ic img {
  display: block;
  max-width: 85%;
  max-height: 85%;
}

.share-ic:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(9, 33, 65, .14);
}

/* 视频播放器 */
.art-video {
  position: relative;
  width: 100%;
  height: 637px;
  border-radius: 10px;
  margin-top: 38px;
  overflow: hidden;
}

.art-video::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
  pointer-events: none;
  transition: opacity 0.3s;
}

.art-video .toc-play {
  width: 118px;
  height: 118px;
}

.art-video .toc-play img {
  width: 17px;
  height: auto;
}

.video-photo,
.art-video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-badge {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 140px;
  height: 52px;
  border-radius: 0 10px 0 10px;

  /* 1. 改为垂直渐变 (180deg 从上到下) 
       中间(50%)亮，向顶部(0%)和底部(100%)变暗，形成上下浮雕凸起 */
  background: linear-gradient(180deg, #59a1e9 0%, #1a6dd4 50%, #3d97f1 100%);

  /* 2. 白色文字，增加一点向下和向上的微妙阴影增强立体感 */
  font-family: AlibabaPuHuiTiB;
  font-size: 31px;
  font-weight: normal;
  font-stretch: normal;
  line-height: 52px;
  letter-spacing: 0px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: opacity 0.3s;
}

/* 播放状态：隐藏遮罩和徽章 */
.art-video.is-playing::after,
.art-video.is-playing .video-badge {
  opacity: 0;
  pointer-events: none;
}

.video-play {
  position: absolute;
  left: 464px;
  top: 286px;
  width: 120px;
  height: 121px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.video-play img {
  width: 28px;
  height: 35px;
}

.art-line2 {
  display: block;
  margin-top: 22px;
  width: 100%;
  border-top: dashed 2px #d2d2d2;
}

.art-tags {
  position: relative;
  margin-top: 47px;
}

.art-tags h4 {
  font-family: AlibabaPuHuiTiB;
  font-size: 18px;
  font-weight: normal;
  font-stretch: normal;
  letter-spacing: 0px;
  color: var(--gold-deep);
  margin-bottom: 26px;
}

.tags {
  display: flex;
  gap: 6px;
}

.tag {
  width: 103px;
  height: 34px;
  border-radius: 17px;
  background-color: #edf8ff;
  border: solid 1px #0a2141;
  color: var(--navy-2);
  font-family: AlibabaPuHuiTiR;
  font-size: 16px;
  font-weight: normal;
  font-stretch: normal;
  letter-spacing: 0px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .25s, color .25s;
}

.tag:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}

.art-prevnext {
  position: relative;
  margin-top: 45px;
  height: 70px;
}

.art-prevnext .pn {
  font-family: MicrosoftYaHei;
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  letter-spacing: 0px;
  color: #999999;
  display: block;
}

.art-prevnext .pn+.pn {
  margin-top: 30px;
}

.art-prevnext .pn:hover {
  color: var(--gold-deep);
}

.art-prevnext .next {
  color: #999;
}

.art-prevnext::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  border-top: dashed 1px #cccccc;
}

/* ---------------- 分享条 ---------------- */
.t-sharebar {
  position: relative;
  width: 1920px;
  height: 131px;
}

.sharebar-bg {
  position: absolute;
  left: 651px;
  top: 0;
  width: 1014px;
  height: 131px;
  max-width: none;
}