/* ===================================================
   news-detail.css — 新闻详情页专属样式
   =================================================== */

.nd-wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 2rem 0 5rem;
}

.nd-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gray-600);
  font-size: .95rem;
  margin-bottom: 1.5rem;
  text-decoration: none;
  transition: color .2s;
}
.nd-back:hover { color: var(--brand-600); }

.nd-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--brand-50);
  color: var(--brand-700);
  font-size: .8rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.nd-title {
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.3;
  color: var(--gray-900);
  margin: 0 0 1rem;
}

.nd-date {
  color: var(--gray-500);
  font-size: .9rem;
  margin-bottom: 2rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.nd-date::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.nd-cover {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  margin: 0 0 2.5rem;
  aspect-ratio: 16/9;
  background: var(--gray-100);
}
.nd-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nd-body {
  font-size: 1.05rem;
  line-height: 1.85;
  color: var(--gray-800);
}
.nd-body p {
  margin: 0 0 1.4em;
  text-align: justify;
}
.nd-body p:last-child { margin-bottom: 0; }

.nd-video {
  margin: 2.5rem 0;
  aspect-ratio: 16/9;
  border-radius: 16px;
  overflow: hidden;
  background: var(--gray-900);
}
.nd-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.nd-nav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gray-200);
}
.nd-nav-link {
  display: flex;
  flex-direction: column;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: var(--gray-50);
  text-decoration: none;
  color: var(--gray-700);
  max-width: 48%;
  flex: 1;
  transition: all .2s;
}
.nd-nav-link:hover {
  background: var(--brand-50);
  color: var(--brand-700);
  transform: translateY(-2px);
}
.nd-nav-link.next {
  text-align: right;
  align-items: flex-end;
  margin-left: auto;
}
.nd-nav-link.disabled {
  opacity: .4;
  pointer-events: none;
}
.nd-nav-label {
  font-size: .8rem;
  color: var(--gray-500);
  margin-bottom: 4px;
}
.nd-nav-title {
  font-weight: 600;
  font-size: .95rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 768px) {
  .nd-wrap { padding: 1.5rem 0 3rem; }
  .nd-nav { flex-direction: column; }
  .nd-nav-link { max-width: 100%; }
  .nd-nav-link.next {
    text-align: left;
    align-items: flex-start;
    margin-left: 0;
  }
}

/* ===================================================
   培训详情页与培训列表卡片通用样式
   （培训列表卡片 hover、详情页小工具等；详情页主样式复用 .nd-*）
   =================================================== */

/* 培训列表卡片：包成 <a> 后的整体 hover 抬起效果 */
a.pt-event-link {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 16px;
  transition: transform .2s;
  margin-bottom: 0;  /* 沿用 .pt-timeline 上下间距 */
}
a.pt-event-link:hover {
  transform: translateX(6px);
}
a.pt-event-link:hover .pt-event {
  box-shadow: 0 10px 30px rgba(0, 85, 255, .12);
}
a.pt-event-link:hover .pt-event-cta {
  color: var(--brand-600);
}
a.pt-event-link:hover .pt-event-cta-arrow {
  transform: translateX(4px);
}

/* 卡片右下角的"查看详情 →"提示 */
.pt-event-cta {
  margin-top: 1rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--brand-500);
  transition: color .2s;
  text-align: right;
}
.pt-event-cta-arrow {
  display: inline-block;
  margin-left: 4px;
  transition: transform .2s;
}

/* 详情页：现场照片 gallery 区 */
.nd-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin: 2.5rem 0;
}
.nd-gallery-item {
  aspect-ratio: 4/3;
  border-radius: 12px;
  overflow: hidden;
  background: var(--gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  position: relative;
}
.nd-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nd-gallery-label {
  margin: 1rem 0 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gray-800);
}

@media (max-width: 768px) {
  .nd-gallery { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
}

/* ========== 列表卡片可点击链接 hover 效果（与详情页共用 ） ========== */
a.news-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 16px;
  transition: transform .2s;
}
a.news-card-link:hover {
  transform: translateY(-4px);
}
a.news-card-link:hover .news-card {
  box-shadow: 0 16px 40px -8px rgba(0, 85, 255, .15);
}
a.news-card-link:hover .card-link {
  color: var(--brand-600);
}
