/* forum.css — 高端论坛 / 主题论坛 / 论文报告
   与日程页、主旨报告页统一：主色 #B01C2E / --home-red */

.forum-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 16px 14px 40px;
}

.forum-page .page-header {
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  color: #222;
  margin: 12px 0 8px;
  line-height: 1.45;
  line-height: 1.4;
  padding: 8px 8px 4px;
}

.forum-page .page-subtitle {
  text-align: center;
  color: #666;
  font-size: 15px;
  margin: 0 0 28px;
  line-height: 1.6;
}

.forum-page .section-title,
.forum-section-head {
  background-color: #B01C2E !important;
  color: #fff !important;
  padding: 10px 15px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin: 28px 0 12px;
  border: none;
  scroll-margin-top: 96px;
}

/* 红底标题内链接必须白字，避免红底红字看不见 */
.forum-page .section-title > a.forum-link,
.forum-page .section-title > a.forum-link:hover {
  color: #fff !important;
  background: transparent !important;
  padding: 0;
}

.forum-section-head {
  margin: 0;
  font-size: 18px !important;
  padding: 12px 15px !important;
}

/* 各论坛详情标题：左侧色条，不再叠整条红底 */
.forum-page .section-title:has(> a.forum-link) {
  background: transparent !important;
  color: #1f1f1f !important;
  text-align: left;
  font-size: 20px;
  line-height: 1.45;
  padding: 14px 4px 10px 16px;
  margin: 40px 0 6px;
  border-left: 4px solid #B01C2E;
  border-bottom: 1px solid rgba(176, 28, 46, 0.18);
}
.forum-page .section-title:has(> a.forum-link) > a.forum-link,
.forum-page .section-title:has(> a.forum-link) > a.forum-link:hover {
  color: #B01C2E !important;
  background: transparent !important;
  font-weight: 700;
}

/* 论坛简介：轻量子标题，避免再来一条红带 */
.forum-intro > .section-title {
  background: transparent !important;
  color: #B01C2E !important;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  padding: 0 0 8px;
  margin: 8px 0 12px;
  border-bottom: 2px solid rgba(176, 28, 46, 0.22);
}

.forum-page .forum-detail-meta {
  text-align: left;
  color: #666;
  font-size: 14px;
  margin: 0 0 18px;
  padding-left: 20px;
  line-height: 1.6;
}
.forum-page .forum-detail-meta a {
  color: #B01C2E;
  font-weight: 600;
  text-decoration: none;
}
.forum-page .forum-detail-meta a:hover {
  text-decoration: underline;
}

.forum-intro {
  padding: 4px 2px 8px;
  margin-bottom: 8px;
}

.forum-intro p {
  font-size: 15px;
  line-height: 1.85;
  color: #333;
  text-align: justify;
  margin: 0;
  white-space: pre-wrap;
}

/* 主题论坛总览表 — 对齐 schedule-table */
.forum-overview-table {
  margin-top: 8px;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.forum-overview-table col.col-time { width: 14%; }
.forum-overview-table col.col-title { width: 42%; }
.forum-overview-table col.col-chair { width: 30%; }
.forum-overview-table col.col-venue { width: 14%; }
.forum-overview-table--5col {
  min-width: 960px;
}
.forum-overview-table--5col col.col-time { width: 12%; }
.forum-overview-table--5col col.col-title { width: 24%; }
.forum-overview-table--5col col.col-chair { width: 22%; }
.forum-overview-table--5col col.col-guest { width: 28%; }
.forum-overview-table--5col col.col-venue { width: 14%; }
.forum-overview-table .forum-guests {
  line-height: 1.55;
  font-size: 14px;
}

.forum-overview-table thead tr,
.forum-overview-table .trcolor {
  background-color: #B01C2E !important;
  color: #fff !important;
}

.forum-overview-table th {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: #fff !important;
  background-color: #B01C2E !important;
  border: 1px solid rgba(192, 0, 39, 0.35) !important;
  padding: 12px 10px;
}

.forum-overview-table td {
  font-size: 15px;
  line-height: 1.7;
  vertical-align: middle;
  padding: 14px 12px;
  border: 1px solid rgba(192, 0, 39, 0.35) !important;
  color: #333;
  background: #fff;
}

.forum-overview-table tbody tr:hover td:not(.forum-time) {
  background-color: #fdf4f4;
}

.forum-time {
  text-align: center;
  color: #444;
  font-size: 14px;
  font-weight: 600;
  white-space: normal;
  line-height: 1.5;
  background: #fffaf9 !important;
}

.forum-title-cell {
  text-align: left;
  overflow-wrap: break-word;
  word-break: break-word;
  text-wrap: pretty;
  line-break: strict;
}
.forum-title-cell .forum-link {
  display: inline;
  line-height: 1.55;
  text-wrap: pretty;
  line-break: strict;
}
/* 末两字不可拆行，避免「……论 / 坛」 */
.forum-overview-table .no-orphan,
.forum-page .section-title .no-orphan {
  white-space: nowrap;
}
.forum-intro p {
  text-wrap: pretty;
  line-break: strict;
}

.forum-venue {
  text-align: center;
  color: #555;
  font-size: 14px;
  white-space: nowrap;
}

.forum-meta {
  text-align: center;
  color: #555;
  font-size: 13px;
  white-space: nowrap;
}

.forum-chairs {
  text-align: left;
  color: #333;
}

@media (max-width: 768px) {
  .forum-overview-table {
    table-layout: auto;
  }
  .forum-time,
  .forum-venue {
    white-space: normal;
  }
}

.forum-link {
  font-weight: 700;
  color: #B01C2E;
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
}

.forum-link:hover {
  color: #fff;
  background: #B01C2E;
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 3px;
}

/* 嘉宾详情表 */
.forum-people-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
  margin-bottom: 8px;
}

.forum-people-table td {
  font-size: 15px;
  line-height: 1.75;
  vertical-align: top;
  border: 1px solid rgba(192, 0, 39, 0.22) !important;
  background: #fff;
}

.forum-people-table .picplace {
  width: 220px;
  text-align: center;
  padding: 20px 12px;
  background: #fdf4f4;
}

.forum-people-table .picplace img {
  width: 140px;
  height: 180px;
  object-fit: cover;
  border-radius: 4px;
  background: #f0f0f0;
  border: 1px solid #f0d8d8;
}

.forum-photo-placeholder {
  width: 140px;
  height: 180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff8f8;
  border: 1px dashed #f0d8d8;
  color: #b89898;
  font-size: 13px;
  border-radius: 4px;
}

.forum-people-table .picname {
  margin: 6px 0 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.45;
  color: #222;
}

.forum-people-table .picname.role {
  color: #888;
  font-size: 13px;
}

.forum-people-table .textstyle {
  text-align: left;
  padding: 20px 16px;
  color: #333;
}

.forum-people-table .textstyle p {
  margin: 0 0 10px;
}

.forum-people-table .textstyle .indent {
  text-indent: 2em;
}

.forum-people-table .muted,
.forum-intro .muted,
.forum-paper-table .muted {
  color: #999;
}

.forum-people-table .source-note {
  margin: 12px 0 0;
  color: #aaa;
  font-size: 12px;
  line-height: 1.5;
}

/* 论文列表表 */
.forum-paper-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 8px;
}

.forum-paper-table th {
  background-color: #B01C2E !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  padding: 10px 12px;
  border: 1px solid rgba(192, 0, 39, 0.35) !important;
}

.forum-paper-table td {
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.7;
  border: 1px solid rgba(192, 0, 39, 0.22) !important;
  background: #fff;
  color: #333;
  vertical-align: middle;
}

.forum-paper-table .paper-idx {
  text-align: center;
  width: 56px;
  color: #666;
  font-weight: 600;
}

.forum-paper-table .paper-code {
  text-align: center;
  width: 100px;
  color: #666;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  white-space: nowrap;
}

.forum-paper-table .paper-title {
  text-align: left;
}

.forum-paper-table--authors {
  table-layout: fixed;
}
.forum-paper-table--authors col.col-idx { width: 52px; }
.forum-paper-table--authors col.col-title { width: 42%; }
.forum-paper-table--authors col.col-authors { width: 30%; }
.forum-paper-table--authors col.col-affil { width: 18%; }
.forum-paper-table .paper-authors,
.forum-paper-table .paper-affil {
  text-align: left;
  font-size: 14px;
  line-height: 1.55;
  color: #444;
  overflow-wrap: break-word;
  word-break: break-word;
}
.forum-paper-table .paper-affil {
  color: #555;
}
@media (max-width: 768px) {
  .forum-paper-table--authors {
    table-layout: auto;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.forum-paper-table tbody tr:hover td {
  background-color: #fdf4f4;
}

.forum-footnote {
  margin-top: 28px;
  text-align: center;
  color: #888;
  font-size: 13px;
}

.forum-footnote a {
  color: #B01C2E;
  font-weight: 600;
}

.forum-placeholder {
  background: #fff8f8;
  border: 2px dashed #f0d8d8;
  border-radius: 8px;
  padding: 48px 32px;
  text-align: center;
  margin: 32px auto;
  max-width: 640px;
}

.forum-placeholder-title {
  font-size: 22px;
  color: #B01C2E;
  font-weight: 700;
  margin-bottom: 12px;
}

.forum-placeholder p {
  font-size: 15px;
  color: #888;
  line-height: 1.8;
  margin: 0;
}

.forum-placeholder a {
  color: #B01C2E;
  font-weight: 600;
}

/* 工作坊海报 / 视觉介绍 */
.forum-poster-wrap {
  margin: 8px 0 24px;
  text-align: center;
}

.forum-poster-wrap a {
  display: block;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.forum-poster-wrap--hero {
  margin: 8px 0 12px;
  padding: 0 4px;
}

.forum-poster-wrap--hero a {
  max-width: 560px;
}

.forum-poster-wrap img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 8px;
  border: 1px solid rgba(192, 0, 39, 0.18);
  box-shadow: 0 10px 32px rgba(80, 20, 40, 0.14);
  background: #1a1030;
  image-rendering: auto;
}

@media (max-width: 768px) {
  .forum-poster-wrap a,
  .forum-poster-wrap--hero a {
    max-width: 100%;
  }
}

.forum-poster-caption {
  margin: 10px 0 0;
  color: #888;
  font-size: 13px;
}

.forum-intro .forum-intro-list {
  margin: 12px 0 0;
  padding-left: 1.4em;
  color: #333;
  font-size: 15px;
  line-height: 1.85;
}

.forum-intro .forum-intro-list li {
  margin-bottom: 6px;
}

.forum-meta-box {
  margin: 16px 0 0;
  padding: 14px 16px;
  background: #fff8f8;
  border: 1px solid #f0d8d8;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.75;
  color: #444;
}

.forum-meta-box p {
  margin: 0 0 6px;
  text-align: left;
  white-space: normal;
}

.forum-meta-box p:last-child {
  margin-bottom: 0;
}

.forum-meta-box a {
  color: #B01C2E;
  font-weight: 600;
  word-break: break-all;
}

@media (max-width: 768px) {
  .forum-page .page-header {
    font-size: 22px;
  }
  .forum-meta {
    white-space: normal;
  }
  .forum-people-table .picplace,
  .forum-people-table .picplace img,
  .forum-photo-placeholder {
    width: 110px;
  }
  .forum-people-table .picplace img,
  .forum-photo-placeholder {
    height: 140px;
  }
}


/* Forum serial numbers for attendee reference */
.forum-no {
  display: inline-block;
  margin-right: 0.4em;
  padding: 0.12em 0.55em;
  border-radius: 999px;
  background: #B01C2E;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  vertical-align: middle;
  letter-spacing: 0.02em;
}
.forum-no--highend { background: #5b2fd6; }
.forum-no-cell {
  text-align: center;
  font-weight: 700;
  color: #B01C2E;
  white-space: nowrap;
  width: 4.5em;
}
.col-forum-no { width: 4.5em; }
.schedule-badge-forum {
  display: inline-block;
  margin-right: 0.35em;
  padding: 0.08em 0.45em;
  border-radius: 999px;
  background: #B01C2E;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  vertical-align: middle;
}
.schedule-badge-forum.schedule-badge-highend,
.schedule-badge-highend.schedule-badge-forum {
  background: #5b2fd6;
}
