/* 新闻详情页样式入口：维护 article.html 的正文排版、附件区和文章切换。 */

/* ===== 文章详情、附件下载与上下篇切换 ===== */
body.news-detail-page {
  background:
    radial-gradient(circle at top, rgba(0, 104, 183, 0.11), transparent 26%),
    linear-gradient(180deg, #f8fcff 0%, #edf5fb 100%);
}

.news-detail-main {
  position: relative;
  padding: 136px 0 96px;
}

.news-detail-main::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 360px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0)),
    linear-gradient(135deg, rgba(0, 104, 183, 0.08), transparent 52%);
  pointer-events: none;
}

.news-detail-shell {
  position: relative;
  z-index: 1;
}

.news-detail-page-head,
.news-detail-article,
.news-detail-pager {
  opacity: 0;
  transform: translateY(24px);
  transition: transform 0.55s ease, opacity 0.55s ease;
}

[data-news-detail-page].is-ready .news-detail-page-head,
[data-news-detail-page].is-ready .news-detail-article,
[data-news-detail-page].is-ready .news-detail-pager {
  opacity: 1;
  transform: translateY(0);
}

[data-news-detail-page].is-ready .news-detail-article {
  transition-delay: 0.08s;
}

[data-news-detail-page].is-ready .news-detail-pager {
  transition-delay: 0.14s;
}

.news-detail-page-head {
  margin-bottom: 0.7rem;
  padding: 0.2rem 0;
}

.news-detail-breadcrumb {
  margin: 0;
  color: #5b5b5b;
  font-size: 0.9rem;
  line-height: 1.7;
  word-break: break-word;
}

.news-detail-breadcrumb a {
  color: #444;
  transition: color 0.2s ease;
}

.news-detail-breadcrumb a:hover,
.news-detail-breadcrumb a:focus-visible {
  color: #000;
}

.news-detail-article {
  position: relative;
  padding: clamp(1.5rem, 3.6vw, 2.9rem);
  overflow: hidden;
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: var(--shadow-card);
}

.news-detail-article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2b6ea6, rgba(0, 104, 183, 0.08));
}

.news-detail-title {
  margin: 0;
  color: #000;
  font: 700 clamp(1.34rem, 2.35vw, 1.92rem) / 1.42 var(--font-title);
  letter-spacing: 0.03em;
  text-align: center;
}

.news-detail-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem 1.4rem;
  margin: 1rem 0 0;
  padding: 0 0 1rem;
  color: #666;
  font-size: 0.94rem;
  line-height: 1.8;
  text-align: center;
  border-bottom: 1px solid #e2e2e2;
}

.news-detail-content {
  margin-top: 1.8rem;
  color: #000;
  font-size: 1.05rem;
  line-height: 2.05;
}

/* ==================== 文章正文图片默认居中 ==================== */

/* 正文区域内的图片默认居中显示 */
.news-detail-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.2rem auto;
}

/* 兼容后台正文排版区域中的图片 */
.news-detail-content div[id] img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.2rem auto;
}

.news-detail-content p {
  margin: 0;
  text-indent: 2em;
}

.news-detail-content p + p {
  margin-top: 1.15rem;
}

.news-detail-attachments {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px dashed #cfd8e2;
}

.news-detail-attachments-title {
  margin: 0 0 0.85rem;
  color: #111;
  font: 700 1.08rem/1.5 var(--font-body);
}

.news-detail-attachments-list {
  display: grid;
  gap: 0.75rem;
}

.news-attachment-link {
  --attachment-accent: #2a5d8b;
  --attachment-border: #dde6ef;
  --attachment-bg: #fafcfe;
  --attachment-hover-border: #94b5d3;
  --attachment-hover-bg: #fff;
  --attachment-badge-border: #bfd4e6;
  --attachment-badge-bg: #eef5fb;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  padding: 0.9rem 1rem;
  color: #111;
  border: 1px solid var(--attachment-border);
  background: var(--attachment-bg);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.news-attachment-link:hover,
.news-attachment-link:focus-visible {
  border-color: var(--attachment-hover-border);
  background: var(--attachment-hover-bg);
}

.news-attachment-link[data-attachment-kind="archive"] {
  --attachment-accent: #9a4f00;
  --attachment-border: #ead8b8;
  --attachment-bg: linear-gradient(180deg, #fffaf1, #fffdf8);
  --attachment-hover-border: #d1a35f;
  --attachment-hover-bg: #fff8eb;
  --attachment-badge-border: #efc58e;
  --attachment-badge-bg: #fff1db;
}

.news-attachment-link[data-attachment-kind="word"] {
  --attachment-accent: #1f61c2;
  --attachment-border: #cfe0fb;
  --attachment-bg: linear-gradient(180deg, #f7fbff, #fbfdff);
  --attachment-hover-border: #8fb4f0;
  --attachment-hover-bg: #f4f9ff;
  --attachment-badge-border: #b9cff5;
  --attachment-badge-bg: #edf4ff;
}

.news-attachment-link[data-attachment-kind="pdf"] {
  --attachment-accent: #b2483d;
  --attachment-border: #efd2cd;
  --attachment-bg: linear-gradient(180deg, #fff8f7, #fffdfd);
  --attachment-hover-border: #db8b82;
  --attachment-hover-bg: #fff4f2;
  --attachment-badge-border: #efb8b1;
  --attachment-badge-bg: #fdebe8;
}

.news-attachment-link[data-attachment-kind="excel"] {
  --attachment-accent: #2f7c54;
  --attachment-border: #d2e8db;
  --attachment-bg: linear-gradient(180deg, #f7fcf9, #fcfffd);
  --attachment-hover-border: #7bb394;
  --attachment-hover-bg: #f3faf6;
  --attachment-badge-border: #b7d6c5;
  --attachment-badge-bg: #eaf5ee;
}

.news-attachment-link[data-attachment-kind="ppt"] {
  --attachment-accent: #b7652c;
  --attachment-border: #efd9cb;
  --attachment-bg: linear-gradient(180deg, #fff9f5, #fffdfb);
  --attachment-hover-border: #d49a72;
  --attachment-hover-bg: #fff5ef;
  --attachment-badge-border: #ecc4aa;
  --attachment-badge-bg: #fdf0e7;
}

.news-attachment-link[data-attachment-kind="image"] {
  --attachment-accent: #7b57aa;
  --attachment-border: #e0d7f0;
  --attachment-bg: linear-gradient(180deg, #faf8ff, #fefcff);
  --attachment-hover-border: #af98d0;
  --attachment-hover-bg: #f8f3ff;
  --attachment-badge-border: #d0c0e8;
  --attachment-badge-bg: #f3edfb;
}

.news-attachment-link[data-attachment-kind="text"] {
  --attachment-accent: #5a6d82;
  --attachment-border: #dbe3ea;
  --attachment-bg: linear-gradient(180deg, #fafcfe, #ffffff);
  --attachment-hover-border: #aab8c5;
  --attachment-hover-bg: #f8fafc;
  --attachment-badge-border: #cad6df;
  --attachment-badge-bg: #eef3f7;
}

.news-attachment-link[data-attachment-kind="audio"] {
  --attachment-accent: #1f7b7a;
  --attachment-border: #cfe7e6;
  --attachment-bg: linear-gradient(180deg, #f6fcfc, #fcffff);
  --attachment-hover-border: #79b7b5;
  --attachment-hover-bg: #f1faf9;
  --attachment-badge-border: #b6d8d6;
  --attachment-badge-bg: #e8f5f4;
}

.news-attachment-link[data-attachment-kind="video"] {
  --attachment-accent: #87509f;
  --attachment-border: #e1d4e9;
  --attachment-bg: linear-gradient(180deg, #fbf7fd, #fffdfd);
  --attachment-hover-border: #b18ac1;
  --attachment-hover-bg: #f8f1fb;
  --attachment-badge-border: #d2bbde;
  --attachment-badge-bg: #f2e9f7;
}

.news-attachment-type {
  min-width: 54px;
  padding: 0.22rem 0.45rem;
  color: var(--attachment-accent);
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.06em;
  border: 1px solid var(--attachment-badge-border);
  background: var(--attachment-badge-bg);
}

.news-attachment-copy {
  min-width: 0;
}

.news-attachment-name {
  display: block;
  color: #111;
  font-size: 0.98rem;
  line-height: 1.7;
  word-break: break-word;
}

.news-attachment-meta {
  display: block;
  margin-top: 0.18rem;
  color: #777;
  font-size: 0.84rem;
  line-height: 1.5;
}

.news-attachment-action {
  color: var(--attachment-accent);
  font-size: 0.88rem;
  font-weight: 600;
  white-space: nowrap;
}

.news-detail-pager {
  display: grid;
  gap: 0;
  margin-top: 1.25rem;
  border-top: 1px solid #d8e0e8;
  border-bottom: 1px solid #d8e0e8;
}

.news-pager-card {
  min-height: 0;
}

.news-pager-card + .news-pager-card {
  border-top: 1px solid #eef2f6;
}

.news-pager-link {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
  padding: 0.95rem 0.2rem;
  color: #111;
  transition: color 0.2s ease;
}

.news-pager-card.is-disabled .news-pager-link {
  color: #999;
  background: transparent;
}

.news-pager-label {
  color: #666;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.news-pager-title {
  color: inherit;
  font-size: 0.98rem;
  line-height: 1.8;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.news-pager-card:not(.is-disabled) .news-pager-link:hover .news-pager-title,
.news-pager-card:not(.is-disabled) .news-pager-link:focus-visible .news-pager-title {
  color: #2a5d8b;
  text-decoration: underline;
  text-decoration-color: rgba(42, 93, 139, 0.45);
  text-underline-offset: 0.18em;
}

@media (max-width: 991.98px) {
  .news-detail-main {
    padding-top: 126px;
  }
}

@media (max-width: 767.98px) {
  .news-detail-main {
    padding: 118px 0 72px;
  }

  .news-detail-page-head {
    padding: 1.3rem 1.15rem;
  }

  .news-detail-title {
    font-size: 1.26rem;
  }

  .news-detail-meta {
    justify-content: flex-start;
    gap: 0.2rem 0.9rem;
    text-align: left;
  }

  .news-detail-content {
    font-size: 1rem;
    line-height: 1.95;
  }

  .news-attachment-link {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .news-attachment-action {
    grid-column: 2;
  }
}

@media (max-width: 575.98px) {
  .news-detail-content p {
    text-indent: 0;
  }

  .news-pager-link {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}
