/* ===== 外国文学研究所 — 新设计 CSS（含全部 5 种模板样式） ===== */
/* 上传到博达「文件管理」→ css/style-new.css，一次覆盖全站 */

/* ===== Reset & Variables ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg: #F7F5EC;
  --white: #FFFFFF;
  --text-dark: #1C1A14;
  --text-body: #5C4A20;
  --accent: #C45C25;
  --accent-hover: #A34A1C;
  --divider: #E5DDC8;
  --footer-bg: #1C1A14;
  --footer-muted: #A9A089;
  --footer-light: #CFC4A8;
  --font-serif: "Source Han Serif CN", "Noto Serif SC", "SimSun", "STSong", serif;
  --font-sans: "Source Han Sans CN", "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;
  --max-width: 1200px;
}
html { font-size: 16px; -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }
body { background: var(--bg); min-height: 100vh; }

/* ==========================================================================
   1. HEADER & NAV（所有模板共用）
   覆盖博达原始 topWrap / topDiv / mainmenu 结构，统一为首页水平导航风格
   ========================================================================== */

/* 1a. 彻底隐藏博达原始顶部条（topWrap / topDiv） */
.topWrap, .topDiv, .topR, .topR_t { display: none !important; }
header > .topWrap, header > .topDiv, body > .topWrap, body > .topDiv { display: none !important; }

/* 1b. Header 主容器 */
.header { max-width: var(--max-width); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 28px 32px 24px; }
.header-brand { display: flex; flex-direction: column; gap: 4px; }
.header-brand a { text-decoration: none; display: flex; flex-direction: column; gap: 4px; }
.header-brand img,
.header-logo-img { height: 50px; width: auto; display: block; }
.header-sub { font-family: var(--font-sans); font-size: 12px; color: var(--text-body); letter-spacing: 2px; }

/* 1c. 导航外层容器 */
.header-nav { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }

/* 1c2. ★ 强制覆写博达红色导航条 — 核武级覆盖 */
/* 策略：html body 前缀 + nav 元素选择器链 + background & background-color 双保险 */
/* 覆盖目标：style.css 中 .navWrap{background:#b30216} 以及所有 .nav* 红色规则 */

/* ── 容器层：navWrap/nav 彻底重置 ── */
html body .navWrap,
html body div.navWrap,
html body div.navWrap.clearfix,
body .navWrap,
body div.navWrap,
body div.navWrap.clearfix,
header .navWrap,
header .header-nav .navWrap,
nav .navWrap,
.header-nav .navWrap,
.navWrap.clearfix,
.navWrap { 
    background: transparent !important; 
    background-color: transparent !important; 
    background-image: none !important;
    border: none !important; 
    box-shadow: none !important; 
    height: auto !important; 
    min-height: 0 !important; 
    line-height: 1 !important; 
    float: none !important; 
    width: auto !important; 
}

html body .nav,
html body div.nav,
body .nav,
body div.nav,
header .nav,
nav .nav,
.header-nav .nav,
.navWrap .nav,
.navWrap > .nav,
.nav { 
    background: transparent !important; 
    background-color: transparent !important; 
    background-image: none !important;
    float: none !important; 
    height: auto !important; 
    width: auto !important; 
    max-width: 100% !important; 
    margin: 0 auto !important; 
    padding: 0 !important; 
}

/* ── ul 层：强制 flex 横向布局 ── */
html body .navWrap .nav ul,
html body .nav ul,
html body nav .nav ul,
body .nav ul,
body .navWrap .nav ul,
nav .nav ul,
header .nav ul,
.header-nav .nav ul,
.navWrap > .nav > ul { 
    display: flex !important; 
    flex-direction: row !important; 
    gap: 28px !important; 
    align-items: center !important; 
    background: transparent !important; 
    background-color: transparent !important;
    padding: 0 !important; 
    margin: 0 !important; 
    list-style: none !important; 
    height: auto !important; 
    width: auto !important; 
}

/* ── li 层：清除浮动和默认样式 ── */
html body .nav li,
html body .navWrap .nav li,
html body .navWrap .nav ul li,
body .nav li,
body .navWrap .nav li,
body .navWrap .nav ul li,
nav .nav li,
header .nav li,
.header-nav .nav li,
.navWrap .nav ul li,
.nav li,
.nav ul li { 
    float: none !important; 
    display: block !important; 
    list-style: none !important; 
    padding: 0 !important; 
    margin: 0 !important; 
    background: transparent !important; 
    background-color: transparent !important;
    border: none !important; 
    height: auto !important; 
    min-height: 0 !important; 
    line-height: 1 !important; 
    font-size: 15px !important; 
    position: static !important; 
}

/* ── a 链接层：统一颜色/字体/去除背景 ── */
html body .navWrap .nav ul li a,
html body .navWrap .nav ul li a.link,
html body .navWrap .nav a,
html body .nav a,
html body nav .nav a,
body .navWrap .nav ul li a,
body .navWrap .nav ul li a.link,
body .navWrap .nav a,
body .nav a,
body nav .nav a,
nav .nav a,
header .nav a,
.header-nav .nav a,
.navWrap .nav ul li.mainmenu a.link,
.navWrap .nav ul li.mainmenu a,
.nav li.mainmenu > a,
.nav li a,
.nav ul li a { 
    display: inline !important; 
    font-family: "Source Han Sans CN","Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif !important; 
    font-size: 15px !important; 
    color: #5C4A20 !important; 
    text-decoration: none !important; 
    white-space: nowrap !important; 
    padding: 0 !important; 
    margin: 0 !important; 
    background: transparent !important; 
    background-color: transparent !important;
    border: none !important; 
    line-height: 1 !important; 
    font-weight: 400 !important; 
}

/* ── hover / active 状态 ── */
html body .nav a:hover,
html body .navWrap .nav ul li a:hover,
body .nav a:hover,
body .navWrap .nav ul li a:hover,
nav .nav a:hover,
.nav a:hover,
.nav ul li a:hover { 
    color: #C45C25 !important; 
    background: transparent !important; 
    background-color: transparent !important;
}
html body .nav a.active,
body .nav a.active,
.nav a.active,
.navWrap .nav ul li a.active { 
    color: #C45C25 !important; 
    font-weight: 500 !important; 
}

/* ── 下拉菜单彻底隐藏 ── */
html body .navWrap dl,
html body .nav dl,
html body nav .nav dl,
body .navWrap dl,
body .nav dl,
body nav .nav dl,
nav .nav dl,
header .nav dl,
.navWrap .nav dl,
.nav li dl,
.nav ul li dl,
.nav dl { 
    display: none !important; 
}

/* 1d. 隐藏博达原始下拉菜单（dl）和二级菜单（已在 1c2 覆盖，此处兜底） */
.header-nav dl,
.header-nav ul dl,
ul.mainmenu dl,
.header-nav li ul,
.header-nav ul ul { display: none !important; }

/* 1g. 搜索框 */
.header-search { position: relative; }
.header-search input[type="text"],
.header-search input[type="search"] { font-family: var(--font-sans); font-size: 13px; color: var(--text-dark); background: var(--white); border: 1px solid var(--divider); border-radius: 20px; padding: 6px 14px 6px 32px; width: 140px; outline: none; transition: border-color 0.2s, width 0.3s; }
.header-search input:focus { border-color: var(--accent); width: 180px; }

/* 1g2. CMS 搜索组件覆盖 — 子页面专属 (.Search/.search_text/.fdj/.button) */
.header-search .Search { width: auto !important; height: auto !important; background: none !important; margin: 0 !important; float: none !important; }
.header-search .Search form { display: flex; align-items: center; position: relative; }
.header-search .search_text { float: none !important; width: 150px !important; height: 32px !important; line-height: 32px !important; margin: 0 !important; padding: 0 36px 0 14px !important; outline: none !important; font-family: var(--font-sans) !important; font-size: 13px !important; color: var(--text-body) !important; background: var(--white) !important; border: 1px solid var(--divider) !important; border-radius: 20px !important; box-sizing: border-box !important; transition: border-color 0.2s, width 0.3s; }
.header-search .search_text:focus { border-color: var(--accent) !important; width: 190px !important; outline: none !important; }
.header-search .search_text::placeholder { color: var(--text-light) !important; }
.header-search .fdj { float: none !important; height: auto !important; margin: 0 !important; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; }
.header-search .fdj .button { background: url(../img/top_hunt.png) no-repeat center !important; width: 18px !important; height: 18px !important; margin: 0 8px 0 0 !important; cursor: pointer !important; border: none !important; outline: none !important; opacity: 0.45; transition: opacity 0.2s; }
.header-search .fdj .button:hover { opacity: 0.75; }

/* 1h. 子页面 body 背景 */
body { background: var(--bg); }

/* ==========================================================================
   2. BREADCRUMB（子页共用）
   ========================================================================== */
.breadcrumb { max-width: var(--max-width); margin: 0 auto; padding: 0 32px 20px; }
.breadcrumb-inner { display: flex; align-items: center; gap: 8px; font-family: var(--font-sans); font-size: 13px; color: var(--text-body); }
.breadcrumb-inner a { color: var(--accent); text-decoration: none; }
.breadcrumb-inner a:hover { text-decoration: underline; }
.breadcrumb-inner .bc-sep { color: var(--divider); }
.breadcrumb-inner .bc-current { color: var(--text-dark); font-weight: 500; }

/* ==========================================================================
   3. PAGE WRAPPER & TITLE BAR（子页共用）
   ========================================================================== */
.page-wrapper { max-width: var(--max-width); margin: 0 auto; padding: 0 32px 60px; }
.page-title-bar { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; }
.page-title-bar::before { content: ''; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; flex-shrink: 0; }
.page-title-bar .ptb-title { font-family: var(--font-serif); font-size: 17px; font-weight: 600; color: var(--text-dark); }
/* 分页 */
.page-bar-wrap { margin-top: 36px; display: flex; justify-content: center; }

/* ==========================================================================
   4. INTRO PAGE（简介页）
   ========================================================================== */
.intro-page { max-width: var(--max-width); margin: 0 auto; padding: 32px 32px 56px; }
.intro-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; flex-wrap: wrap; gap: 12px; }
.intro-breadcrumb { font-family: var(--font-sans); font-size: 13px; color: var(--text-body); }
.intro-breadcrumb a { color: var(--text-body); text-decoration: none; transition: color 0.2s; }
.intro-breadcrumb a:hover { color: var(--accent); }
.intro-breadcrumb span { color: var(--text-body); }
.intro-rule { display: none; }
.intro-content { display: flex; gap: 32px; align-items: flex-start; }

/* 简介页 — 左侧导航 */
.intro-sidebar { flex: 0 0 200px; background: var(--white); border: 1px solid var(--divider); border-radius: 4px; padding: 20px; }
.intro-sidebar ul,
.intro-sidebar ol,
.intro-sidebar dl { list-style: none; margin: 0; padding: 0; }
.intro-sidebar dt,
.intro-sidebar .nav-title,
.intro-sidebar li > strong,
.intro-sidebar li > b,
.intro-sidebar h3 { font-family: var(--font-serif); font-size: 16px; font-weight: 600; color: var(--text-dark); margin-bottom: 14px; padding: 0 12px; }
.intro-sidebar dd,
.intro-sidebar li { margin-bottom: 2px; line-height: 1.6; }
.intro-sidebar a { display: block; font-family: var(--font-sans); font-size: 14px; color: var(--text-body); text-decoration: none; padding: 8px 12px; border-radius: 3px; transition: all 0.2s; }
.intro-sidebar a:hover { background: var(--bg); color: var(--accent); }
.intro-sidebar a.active,
.intro-sidebar a.current,
.intro-sidebar li.active > a,
.intro-sidebar .on a,
.intro-sidebar a[class*="cur"] { color: var(--accent); background: rgba(196,92,37,0.06); font-weight: 500; }
.intro-sidebar ul ul a,
.intro-sidebar ol ol a { padding-left: 28px; font-size: 13px; }

/* 简介页 — 正文 */
.intro-body { flex: 1; min-width: 0; background: var(--white); border: 1px solid var(--divider); border-radius: 4px; padding: 32px 36px; }
.intro-body h1, .intro-body h2, .intro-body h3 { font-family: var(--font-serif); font-weight: 600; color: var(--text-dark); line-height: 1.35; }
.intro-body h1 { font-size: 24px; margin-bottom: 20px; }
.intro-body h2 { font-size: 20px; margin: 28px 0 14px; }
.intro-body h3 { font-size: 17px; margin: 20px 0 10px; }
.intro-body p { font-family: var(--font-sans); font-size: 15px; color: var(--text-body); line-height: 1.85; margin-bottom: 16px; text-indent: 2em; }
.intro-body img { max-width: 100%; height: auto; border-radius: 4px; margin: 16px 0; }
.intro-body ul, .intro-body ol { margin: 12px 0 16px 1.5em; }
.intro-body li { font-family: var(--font-sans); font-size: 15px; color: var(--text-body); line-height: 1.8; }
.intro-body a { color: var(--accent); text-decoration: none; }
.intro-body a:hover { text-decoration: underline; }
.intro-body blockquote { border-left: 3px solid var(--accent); margin: 16px 0; padding: 12px 20px; background: var(--bg); border-radius: 0 4px 4px 0; }
.intro-body blockquote p { margin-bottom: 0; text-indent: 0; color: var(--text-body); }
.intro-body table { width: 100%; border-collapse: collapse; margin: 16px 0; font-family: var(--font-sans); font-size: 14px; }
.intro-body th, .intro-body td { border: 1px solid var(--divider); padding: 10px 14px; text-align: left; }
.intro-body th { background: var(--bg); font-weight: 600; color: var(--text-dark); }
/* 通栏简介页（无侧边栏） */
.intro-content-full { max-width: 860px; margin: 0 auto; }
.intro-body-full { background: var(--white); border: 1px solid var(--divider); border-radius: 4px; padding: 40px 56px; }
.intro-body-full h1, .intro-body-full h2, .intro-body-full h3 { font-family: var(--font-serif); font-weight: 600; color: var(--text-dark); line-height: 1.35; }
.intro-body-full h1 { font-size: 24px; margin-bottom: 20px; }
.intro-body-full h2 { font-size: 20px; margin: 28px 0 14px; }
.intro-body-full h3 { font-size: 17px; margin: 20px 0 10px; }
.intro-body-full p { font-family: var(--font-sans); font-size: 16px; color: var(--text-body); line-height: 1.9; margin-bottom: 18px; text-indent: 2em; }
.intro-body-full img { max-width: 100%; height: auto; border-radius: 4px; margin: 16px 0; }
.intro-body-full ul, .intro-body-full ol { margin: 12px 0 16px 1.5em; }
.intro-body-full li { font-family: var(--font-sans); font-size: 15px; color: var(--text-body); line-height: 1.8; }
.intro-body-full a { color: var(--accent); text-decoration: none; }
.intro-body-full a:hover { text-decoration: underline; }
.intro-body-full blockquote { border-left: 3px solid var(--accent); margin: 16px 0; padding: 12px 20px; background: var(--bg); border-radius: 0 4px 4px 0; }
.intro-body-full blockquote p { margin-bottom: 0; text-indent: 0; }

/* 历史（含侧栏）：保持原有 padding */
.intro-content-full .intro-body { padding: 36px 48px; }

/* ==========================================================================
   CMS旧类覆写 — 通栏简介页。CMS组件输出的旧class（main_tit/main_conR等）
   在style.css中有固定尺寸/背景/浮动，必须全部清零，交由style-new.css接管。
   ========================================================================== */

/* 面包屑（.intro-topbar 内 CMS 旧类） */
.intro-topbar .main_tit,
.intro-topbar .main_titT,
.intro-topbar .main_titTa { background: none !important; border: none !important; padding: 0 !important; margin: 0 !important; height: auto !important; line-height: 1.5 !important; font-family: var(--font-sans); font-size: 13px; color: var(--text-body); }
.intro-topbar .main_tit a { color: var(--text-body); text-decoration: none; font-family: var(--font-sans); font-size: 13px; }
.intro-topbar .main_tit a:hover { color: var(--accent); }
.intro-topbar .main_tit a.cur { color: var(--text-dark); }
.intro-topbar .main_tit img { display: none !important; }

/* 栏目名 CMS 输出为 dt */
/* 文章内容容器（CMS 旧类 .main_conR / .main_conRC） */
.intro-body-full .main_conR,
.intro-body-full .main_conRC { padding: 0 !important; margin: 0 !important; background: none !important; border: none !important; width: auto !important; float: none !important; min-height: auto !important; }

/* 文章正文 CMS 旧 id/class */
.intro-body-full #vsb_content_2,
.intro-body-full #vsb_content_2_1468_u61 { /* pass-through，不额外添加样式 */ }
.intro-body-full .vsbcontent_start,
.intro-body-full .vsbcontent_end { display: block; }
.intro-body-full .vsbcontent_start p,
.intro-body-full .vsbcontent_end p { font-family: var(--font-sans); font-size: 16px; color: var(--text-body); line-height: 1.9; margin-bottom: 18px; text-indent: 2em; }

/* CMS 旧搜索组件（在 display:none 内，但 style.css 可能有绝对定位影响布局） */
.header-search .Search { position: static !important; top: auto !important; right: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: none !important; width: auto !important; height: auto !important; }

/* CMS 旧头部链接 */
.topR_t { display: none !important; }

/* ==========================================================================
   5. CONTENT PAGE（文章内容页）
   ========================================================================== */
.article-page { max-width: var(--max-width); margin: 0 auto; padding: 32px 32px 56px; }
.article-breadcrumb { margin-bottom: 24px; font-family: var(--font-sans); font-size: 13px; color: var(--text-body); }
.article-breadcrumb a { color: var(--text-body); text-decoration: none; }
.article-breadcrumb a:hover { color: var(--accent); }
.article-breadcrumb span { color: var(--text-body); }
.article-wrapper { background: var(--white); border: 1px solid var(--divider); border-radius: 4px; padding: 48px 60px; font-family: var(--font-serif); color: var(--text-dark); line-height: 1.85; }

/* ── 5a. 覆写 CMS 注入的内部容器（.main_content / .v_news_content / format4.css）── */
/* 这些容器会被博达的 format4.css 设置 width/float/margin，必须清零 */
.article-wrapper .main_content { padding: 0 !important; margin: 0 !important; width: auto !important; float: none !important; background: transparent !important; border: none !important; }
.article-wrapper .main_contit { margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--divider); }
.article-wrapper .main_conDiv,
.article-wrapper #vsb_content_4,
.article-wrapper #vsb_content_2 { padding: 0 !important; margin: 0 !important; width: auto !important; }
.article-wrapper .v_news_content { padding: 0 !important; margin: 0 !important; width: auto !important; }

/* ── 5b. 英文单词不拆开 + 句末长URL可换行 ── */
.article-wrapper,
.article-wrapper .main_content,
.article-wrapper .v_news_content,
.article-wrapper p,
.article-wrapper .vsbcontent_start,
.article-wrapper .vsbcontent_end,
.article-wrapper .vsbcontent_start p,
.article-wrapper .vsbcontent_end p,
.intro-body-full,
.intro-body-full .main_conR,
.intro-body-full .main_conRC,
.intro-body-full #vsb_content_2,
.intro-body-full .v_news_content,
.intro-body-full p { word-break: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; hyphens: none !important; }

/* 博达文章组件输出 — 标题区域 */
.article-wrapper h1,
.article-wrapper .tit,
.article-wrapper .title,
.article-wrapper [class*="title"],
.article-wrapper [class*="Tit"],
.article-wrapper .main_contit h2 { font-family: var(--font-serif); font-size: 26px; font-weight: 700; color: var(--text-dark); line-height: 1.4; text-align: center; margin-bottom: 6px; }
/* 博达文章组件输出 — 元信息（日期/点击数） */
.article-wrapper .main_contit p,
.article-wrapper .info,
.article-wrapper .article-info,
.article-wrapper [class*="info"],
.article-wrapper [class*="Info"],
.article-wrapper [class*="time"],
.article-wrapper [class*="date"] { display: flex; justify-content: center; gap: 24px; font-family: var(--font-sans); font-size: 13px; color: var(--text-body); text-align: center; margin-bottom: 0; }
/* 博达文章组件输出 — 正文 */
.article-wrapper p { font-family: var(--font-serif); font-size: 16px; color: var(--text-dark); line-height: 1.85; margin-bottom: 16px; text-indent: 2em; }
.article-wrapper .v_news_content p,
.article-wrapper .vsbcontent_start,
.article-wrapper .vsbcontent_end { font-family: var(--font-serif); font-size: 16px; color: var(--text-dark); line-height: 1.85; margin-bottom: 16px; text-indent: 2em; }
.article-wrapper h2,
.article-wrapper h3 { font-family: var(--font-serif); font-weight: 600; color: var(--text-dark); }
.article-wrapper h2 { font-size: 19px; margin: 24px 0 12px; padding-left: 12px; border-left: 3px solid var(--accent); }
.article-wrapper h3 { font-size: 17px; margin: 20px 0 10px; }
.article-wrapper img { max-width: 100%; height: auto; border-radius: 4px; margin: 20px auto; display: block; }
.article-wrapper blockquote { border-left: 3px solid var(--accent); margin: 20px 0; padding: 12px 20px; background: var(--bg); }
.article-wrapper blockquote p { margin-bottom: 0; text-indent: 0; }
.article-wrapper ul, .article-wrapper ol { margin: 16px 0; padding-left: 2em; }
.article-wrapper li { font-family: var(--font-serif); font-size: 16px; margin-bottom: 8px; line-height: 1.75; }
.article-wrapper a { color: var(--accent); text-decoration: none; }
.article-wrapper a:hover { text-decoration: underline; }
.article-wrapper table { width: 100%; border-collapse: collapse; margin: 16px 0; font-family: var(--font-sans); font-size: 14px; }
.article-wrapper th, .article-wrapper td { border: 1px solid var(--divider); padding: 10px 14px; text-align: left; }
.article-wrapper th { background: var(--bg); font-weight: 600; color: var(--text-dark); }
/* 博达文章组件输出 — 上一篇 / 下一篇 */
.article-wrapper .prenext,
.article-wrapper .pn,
.article-wrapper [class*="prenext"],
.article-wrapper [class*="PreNext"],
.article-wrapper [class*="pageTurn"] { display: flex; justify-content: space-between; gap: 40px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--divider); }
.article-wrapper .prenext a,
.article-wrapper .pn a,
.article-wrapper [class*="prenext"] a,
.article-wrapper [class*="PreNext"] a { font-family: var(--font-sans); font-size: 14px; color: var(--text-body); text-decoration: none; line-height: 1.5; flex: 1; min-width: 0; }
.article-wrapper .prenext a:hover,
.article-wrapper .pn a:hover,
.article-wrapper [class*="prenext"] a:hover,
.article-wrapper [class*="PreNext"] a:hover { color: var(--accent); }

/* ==========================================================================
   6. NEWS LIST（普通列表页 — 研究所动态 / 人才培养 / 人员子页）
   ========================================================================== */
/* ── 博达「静态翻页列表」组件精确匹配 ──
   实际输出结构：div.main_conR > div.main_conRCb > ul > li > a + span
   分页：div.pb_sys_common > span.p_pages > span.p_no_d / p_fun_d
   注意：JSP中内嵌了同名<style>块作为第一优先级保证
   ── */
.intro-body { font-family: "PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif; }

/* 外层容器：白底 + 边框，居中 */
.intro-body .main_conR { padding: 0 !important; margin: 0 auto !important; background: #FFFFFF !important; border: 1px solid #DDD7C6 !important; border-radius: 6px !important; overflow: hidden !important; width: 100% !important; max-width: 800px !important; float: none !important; }
/* 内层容器：透明，避免双边框 */
.intro-body .main_conRCb { padding: 0 !important; margin: 0 !important; background: transparent !important; border: none !important; }
/* 列表 ul/ol/dl — 去除小黑点 */
.intro-body .main_conR ul,
.intro-body .main_conR ol,
.intro-body .main_conR dl,
.intro-body .main_conRCb ul,
.intro-body .main_conRCb ol,
.intro-body .main_conRCb dl { list-style: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border: none !important; }
/* 每行 li — 宽松高间距 + 干掉 xdd.png 背景图 + 干掉固定 height */
.intro-body .main_conR li,
.intro-body .main_conRCb li { display: flex !important; align-items: center !important; gap: 24px !important; padding: 22px 32px !important; margin: 0 !important; height: auto !important; line-height: 1.5 !important; background: none !important; border-bottom: 1px solid #EEEAE0 !important; border-left: 3px solid transparent !important; float: none !important; width: auto !important; transition: background 0.25s, border-left-color 0.25s, padding-left 0.25s !important; }
.intro-body .main_conR li:last-child,
.intro-body .main_conRCb li:last-child { border-bottom: none !important; }
.intro-body .main_conR li:hover,
.intro-body .main_conRCb li:hover { background: #F9F7F2 !important; border-left-color: #C44E3B !important; padding-left: 40px !important; }
/* 干掉任何可能的 list-style 残留（li内嵌的 ::marker） */
.intro-body .main_conR li::marker,
.intro-body .main_conRCb li::marker { content: none !important; }
/* 标题链接 — 更大、更粗 + 干掉 style.css 的固定 float/width/height */
.intro-body .main_conR li a,
.intro-body .main_conRCb li a { display: block !important; float: none !important; width: auto !important; height: auto !important; font-family: "Source Han Serif CN","Noto Serif SC","SimSun","STSong",serif !important; font-size: 16px !important; font-weight: 600 !important; color: #1C1A14 !important; text-decoration: none !important; flex: 1 !important; line-height: 1.5 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; transition: color 0.2s !important; }
.intro-body .main_conR li:hover a,
.intro-body .main_conRCb li:hover a { color: #C44E3B !important; }
/* 日期 span — 干掉 style.css 的固定 float/width/height */
.intro-body .main_conR li span,
.intro-body .main_conRCb li span { display: block !important; float: none !important; width: auto !important; height: auto !important; line-height: 1.5 !important; font-family: "PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif !important; font-size: 14px !important; color: #999999 !important; min-width: 90px !important; white-space: nowrap !important; flex-shrink: 0 !important; text-align: right !important; }
/* 分页 — 博达 pb_sys_common */
.intro-body .pb_sys_common { display: flex !important; justify-content: center !important; padding: 28px !important; border: none !important; background: none !important; margin: 0 !important; }
.intro-body .pb_sys_common .p_pages { display: flex !important; gap: 8px !important; }
.intro-body .pb_sys_common .p_pages span { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 34px !important; height: 34px !important; padding: 0 12px !important; border: 1px solid #DDD7C6 !important; border-radius: 4px !important; font-family: "PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif !important; font-size: 14px !important; color: #666666 !important; cursor: default !important; }
.intro-body .pb_sys_common .p_no_d { background: #C44E3B !important; color: #FFFFFF !important; border-color: #C44E3B !important; }
.intro-body .pb_sys_common .p_fun_d { color: #666666 !important; }

/* 响应式 */
@media (max-width: 960px) {
  .intro-body .main_conR li,
  .intro-body .main_conRCb li { padding: 18px 20px !important; }
  .intro-body .main_conR li:hover,
  .intro-body .main_conRCb li:hover { padding-left: 28px !important; }
}
@media (max-width: 640px) {
  .intro-body .main_conR { max-width: 100% !important; border-radius: 0 !important; border-left: none !important; border-right: none !important; }
  .intro-body .main_conR li,
  .intro-body .main_conRCb li { padding: 16px 16px !important; }
}

/* 标题链接 */
.intro-body li a:not(.main_conR li a), .intro-body dt a, .intro-body dd a,
.intro-body td a, .intro-body tr a,
.intro-body [class*="item"] a, .intro-body [class*="row"] a,
.intro-body [class*="title"] a { font-family: var(--font-serif) !important; font-size: 15px !important; font-weight: 500 !important; color: var(--text-dark) !important; text-decoration: none !important; flex: 1 !important; line-height: 1.45 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; transition: color 0.2s !important; }
.intro-body li a:hover:not(.main_conR li a), .intro-body dt a:hover, .intro-body dd a:hover,
.intro-body tr a:hover { color: var(--accent) !important; }

/* 分页（通用） */
.intro-body div[class*="page"]:not(.pb_sys_common), .intro-body div[class*="Page"],
.intro-body div[class*="pager"], .intro-body [class*="page"]:not(.pb_sys_common),
.intro-body .pagination { display: flex !important; justify-content: center !important; gap: 8px !important; margin-top: 36px !important; padding: 0 !important; border: none !important; background: none !important; }
.intro-body [class*="page"]:not(.pb_sys_common) a, .intro-body [class*="pager"] a { font-family: var(--font-sans) !important; font-size: 14px !important; color: var(--text-body) !important; text-decoration: none !important; padding: 6px 12px !important; border: 1px solid var(--divider) !important; border-radius: 3px !important; white-space: normal !important; }
.intro-body [class*="page"]:not(.pb_sys_common) a:hover, .intro-body [class*="pager"] a:hover { border-color: var(--accent) !important; color: var(--accent) !important; background: none !important; }
.intro-body [class*="page"] a.current, .intro-body [class*="page"] a.active, .intro-body [class*="page"] a.on,
.intro-body [class*="page"] span.current, .intro-body [class*="page"] span.active { background: var(--accent) !important; color: var(--white) !important; border-color: var(--accent) !important; }

/* 保留类名选择器 */
.news-list { background: var(--white); border: 1px solid var(--divider); border-radius: 4px; overflow: hidden; }
.news-item { display: flex; align-items: center; gap: 20px; padding: 16px 24px; text-decoration: none; transition: background 0.2s, padding-left 0.2s; }
.news-item:hover { background: var(--bg); padding-left: 32px; }
.news-item:hover .ni-title { color: var(--accent); }
.news-item + .news-item { border-top: 1px solid var(--divider); }
.news-item .ni-date { font-family: var(--font-sans); font-size: 13px; color: var(--accent); min-width: 85px; white-space: nowrap; }
.news-item .ni-title { font-family: var(--font-serif); font-size: 15px; font-weight: 500; color: var(--text-dark); flex: 1; line-height: 1.45; transition: color 0.2s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.news-item .ni-arrow { color: var(--divider); font-size: 14px; flex-shrink: 0; }

/* ==========================================================================
   7. PERSONNEL LIST（人员列表页 — CSS卡片宫格 + 兜底头像 + 整卡可点击）
      目标结构：CMS图文列表输出 .main_conR > .main_conRCa > ul > li
      每个li内含 .main_rpicL(img) + .main_rpicR(h3>a + p + p.time)
      CSS转为3列卡片；JS给空img打data-initial兜底首字 + 整卡click跳转
      注意：JSP中内嵌了同名<style>块作为第一优先级保证
   ========================================================================== */

/* ── 7a. 外层容器 ── */
.personnel-list-wrapper { max-width: 960px; margin: 0 auto; padding: 8px 28px 48px; }
/* 有侧栏时取消自居中（由 .intro-body 接管白底/边框/内边距） */
.intro-body .personnel-list-wrapper { max-width: none; margin: 0; padding: 0; }

/* ── 7b. 重置CMS外层容器 ── */
.personnel-list-wrapper .main_conR,
.personnel-list-wrapper .main_conRa,
.personnel-list-wrapper .main_conRCa { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; width: auto !important; float: none !important; overflow: visible !important; }

/* ── 7c. ul → 3列Grid ── */
.personnel-list-wrapper ul { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px 20px !important; list-style: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important; }

/* ── 7d. li → 白底卡片 + cursor:pointer ── */
.personnel-list-wrapper li { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important; padding: 32px 20px 28px !important; background: var(--white) !important; border: 1px solid var(--divider) !important; border-radius: 4px !important; transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s !important; margin: 0 !important; list-style: none !important; float: none !important; width: auto !important; height: auto !important; cursor: pointer !important; }
.personnel-list-wrapper li:hover { border-color: var(--accent) !important; transform: translateY(-3px) !important; box-shadow: 0 6px 20px rgba(28,26,20,0.08) !important; }

/* ── 7e. 头像容器 ── */
.personnel-list-wrapper .main_rpicL { float: none !important; width: 72px !important; height: 72px !important; margin: 0 auto !important; padding: 0 !important; border-radius: 50% !important; overflow: hidden !important; background: #E8E4D4 !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.personnel-list-wrapper .main_rpicL img { display: block !important; width: 72px !important; height: 72px !important; object-fit: cover !important; border-radius: 50% !important; margin: 0 !important; }
/* 空img隐藏 → ::after 首字兜底 */
/* JS 判断有无真实图片，无则加 .no-avatar 类 */
.personnel-list-wrapper .main_rpicL::after { content: attr(data-initial); display: none; font-family: var(--font-serif) !important; font-size: 28px !important; font-weight: 700 !important; color: #9B8E6B !important; line-height: 1 !important; }
.personnel-list-wrapper .main_rpicL.no-avatar img { display: none !important; }
.personnel-list-wrapper .main_rpicL.no-avatar::after { display: block !important; }

/* ── 7f. 姓名 ── */
.personnel-list-wrapper .main_rpicR { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; text-align: center !important; }
.personnel-list-wrapper .main_rpicR h3 { margin: 0 !important; padding: 0 !important; line-height: 1.4 !important; }
.personnel-list-wrapper .main_rpicR h3 a { font-family: var(--font-serif) !important; font-size: 16px !important; font-weight: 600 !important; color: var(--text-dark) !important; text-decoration: none !important; line-height: 1.4 !important; position: relative !important; z-index: 1 !important; }
.personnel-list-wrapper .main_rpicR h3 a:hover { color: var(--accent) !important; }

/* ── 7g. 隐藏描述 / 日期 ── */
.personnel-list-wrapper .main_rpicR p { display: none !important; }
.personnel-list-wrapper .main_rpicR .time { display: none !important; }

/* ── 7h. 翻页 ── */
.personnel-list-wrapper .pb_sys_common { display: flex !important; justify-content: center !important; padding: 28px 0 0 !important; margin: 0 !important; background: none !important; border: none !important; }
.personnel-list-wrapper .pb_sys_common .p_pages { display: flex !important; gap: 6px !important; }
.personnel-list-wrapper .pb_sys_common .p_no,
.personnel-list-wrapper .pb_sys_common .p_no_d,
.personnel-list-wrapper .pb_sys_common .p_fun_d,
.personnel-list-wrapper .pb_sys_common .p_first_d,
.personnel-list-wrapper .pb_sys_common .p_prev_d,
.personnel-list-wrapper .pb_sys_common .p_next,
.personnel-list-wrapper .pb_sys_common .p_last { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 32px !important; height: 32px !important; padding: 0 10px !important; border: 1px solid var(--divider) !important; border-radius: 3px !important; font-family: var(--font-sans) !important; font-size: 14px !important; color: var(--text-body) !important; text-decoration: none !important; }
.personnel-list-wrapper .pb_sys_common .p_no_d { background: var(--accent) !important; color: var(--white) !important; border-color: var(--accent) !important; }
.personnel-list-wrapper .pb_sys_common .p_fun a { color: var(--text-body) !important; text-decoration: none !important; }
.personnel-list-wrapper .pb_sys_common .p_fun a:hover { color: var(--accent) !important; }

/* ── 7j. 响应式 ── */
@media (max-width: 960px) {
  .personnel-list-wrapper { padding: 8px 20px 32px; }
  .intro-body .personnel-list-wrapper { padding: 0; }
  .personnel-list-wrapper ul { grid-template-columns: repeat(2, 1fr) !important; gap: 20px 16px !important; }
  .personnel-list-wrapper li { padding: 28px 16px 24px !important; }
  .personnel-list-wrapper .main_rpicL { width: 60px !important; height: 60px !important; }
  .personnel-list-wrapper .main_rpicL img { width: 60px !important; height: 60px !important; }
  .personnel-list-wrapper .main_rpicL::after { font-size: 24px !important; }
  .personnel-list-wrapper .main_rpicR h3 a { font-size: 15px !important; }
}
@media (max-width: 480px) {
  .personnel-list-wrapper { padding: 8px 12px 24px; }
  .intro-body .personnel-list-wrapper { padding: 0; }
  .personnel-list-wrapper ul { grid-template-columns: repeat(2, 1fr) !important; gap: 12px 10px !important; }
  .personnel-list-wrapper li { padding: 24px 12px 20px !important; }
  .personnel-list-wrapper .main_rpicL { width: 48px !important; height: 48px !important; }
  .personnel-list-wrapper .main_rpicL img { width: 48px !important; height: 48px !important; }
  .personnel-list-wrapper .main_rpicL::after { font-size: 20px !important; }
  .personnel-list-wrapper .main_rpicR h3 a { font-size: 14px !important; }
}

/* ==========================================================================
   8. PIC LIST（通用图片列表页 — 标准CSS，全浏览器兼容）
      目标结构：CMS图文列表输出 li > .main_rpicL(img) + .main_rpicR(h3>a + ...)
      JS 检测无效封面图 → .no-thumb 类 → CSS 隐藏封面区
      标题使用 max-height 限高（不用 -webkit-line-clamp，兼容性更好）
      JSP 内嵌同名 <style> 块作为第一优先级保证
   ========================================================================== */

/* ── 8a. 外层容器 ── */
.pic-list-wrapper { margin: 0; padding: 0; }
.intro-body .pic-list-wrapper { max-width: none; margin: 0; padding: 0; }

/* ── 8b. 重置CMS外层容器 ── */
.pic-list-wrapper .main_conR,
.pic-list-wrapper .main_conRa,
.pic-list-wrapper .main_conRCa { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; width: auto !important; float: none !important; overflow: visible !important; }

/* ── 8c. ul → 三列CSS Grid ── */
.pic-list-wrapper ul { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px 20px !important; list-style: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important; }

/* ── 8d. li → 白底卡片 ── */
.pic-list-wrapper li { display: flex !important; flex-direction: column !important; align-items: stretch !important; padding: 0 !important; margin: 0 !important; background: #FFFFFF !important; border: 1px solid #E5DDC8 !important; border-radius: 6px !important; overflow: hidden !important; list-style: none !important; float: none !important; width: auto !important; height: auto !important; cursor: pointer; transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease; }
.pic-list-wrapper li:hover { border-color: #C45C25 !important; transform: translateY(-4px); box-shadow: 0 8px 24px rgba(28,26,20,0.10); }

/* ── 8e. 封面图 ── */
.pic-list-wrapper .main_rpicL { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; aspect-ratio: 4/3; overflow: hidden; background: #F1EFE8; }
.pic-list-wrapper .main_rpicL img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 0 !important; margin: 0 !important; }

/* 无封面图卡片：JS 添加 .no-thumb 类 → 隐藏封面区 */
.pic-list-wrapper li.no-thumb .main_rpicL { display: none !important; }

/* ── 8f. 标题 ── */
.pic-list-wrapper .main_rpicR { float: none !important; width: auto !important; margin: 0 !important; padding: 16px 18px 18px !important; text-align: left !important; }
.pic-list-wrapper .main_rpicR h3 { margin: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: normal !important; line-height: 1.6 !important; }
.pic-list-wrapper .main_rpicR h3 a { display: block; font-family: "Source Han Serif CN","Noto Serif SC","SimSun","STSong",serif !important; font-size: 16px !important; font-weight: 600 !important; color: #1C1A14 !important; text-decoration: none !important; line-height: 1.6 !important; max-height: 3.2em; overflow: hidden; }
.pic-list-wrapper .main_rpicR h3 a:hover { color: #C45C25 !important; }

/* ── 8g. 隐藏描述 / 日期 / 详细链接 ── */
.pic-list-wrapper .main_rpicR > p  { display: none !important; }
.pic-list-wrapper .main_rpicR .time { display: none !important; }
.pic-list-wrapper .main_rpicR span  { display: none !important; }

/* ── 8h. 翻页 ── */
.pic-list-wrapper .pb_sys_common { display: flex !important; justify-content: center !important; padding: 32px 0 0 !important; margin: 0 !important; background: none !important; border: none !important; width: 100%; }
.pic-list-wrapper .pb_sys_common .p_pages { display: flex !important; gap: 6px !important; }
.pic-list-wrapper .pb_sys_common a,
.pic-list-wrapper .pb_sys_common span { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 34px !important; height: 34px !important; padding: 0 12px !important; border: 1px solid #E5DDC8 !important; border-radius: 4px !important; font-family: "Source Han Sans CN","Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif !important; font-size: 14px !important; text-decoration: none !important; transition: all 0.2s ease; }
.pic-list-wrapper .pb_sys_common a { color: #5C4A20 !important; background: #FFFFFF !important; }
.pic-list-wrapper .pb_sys_common a:hover { color: #C45C25 !important; border-color: #C45C25 !important; background: #FDF8F2 !important; }
.pic-list-wrapper .pb_sys_common .p_no_d { background: #C45C25 !important; color: #FFFFFF !important; border-color: #C45C25 !important; }

/* ── 8i. 响应式 ── */
@media (max-width: 960px) {
  .pic-list-wrapper ul { grid-template-columns: repeat(2, 1fr) !important; gap: 20px 16px !important; }
  .pic-list-wrapper .main_rpicR { padding: 14px 14px 16px !important; }
  .pic-list-wrapper .main_rpicR h3 a { font-size: 15px !important; }
}
@media (max-width: 480px) {
  .pic-list-wrapper ul { grid-template-columns: 1fr !important; gap: 16px !important; }
  .pic-list-wrapper .main_rpicR h3 a { font-size: 14px !important; }
}

/* ==========================================================================
   9. YEAR GROUP / RESULTS（三级列表页 — 科研成果）
   ========================================================================== */
/* 博达三级列表页：年份标题 + 列表项 */
.intro-body h2,
.intro-body h3,
.intro-body .year,
.intro-body [class*="year"],
.intro-body [class*="Year"] { font-family: var(--font-sans); font-size: 22px; font-weight: 700; color: var(--accent); margin: 36px 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--accent); }
.intro-body h2:first-child,
.intro-body h3:first-child,
.intro-body [class*="year"]:first-child { margin-top: 0; }
/* 列表项（科研成果条目：标签 + 标题 + 作者/出处） */
.intro-body li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 20px; background: var(--white); border: 1px solid var(--divider); border-top: none; }
.intro-body li:first-of-type { border-top: 1px solid var(--divider); border-radius: 4px 4px 0 0; }
.intro-body li:last-of-type { border-radius: 0 0 4px 4px; }
.intro-body li:only-of-type { border-radius: 4px; }
.intro-body li:hover { background: var(--bg); }
/* 列表项中的标签（专著/论文/译著） */
.intro-body li span:first-child,
.intro-body li .tag,
.intro-body li [class*="tag"] { font-family: var(--font-sans); font-size: 10px; font-weight: 500; padding: 2px 8px; border-radius: 2px; color: var(--accent); background: rgba(196,92,37,0.08); flex-shrink: 0; margin-top: 2px; }
/* 列表项标题 */
.intro-body li a { font-family: var(--font-serif); font-size: 15px; font-weight: 600; color: var(--text-dark); text-decoration: none; line-height: 1.5; }
.intro-body li a:hover { color: var(--accent); }
/* 列表项附属信息（作者/期刊/年份） */
.intro-body li p,
.intro-body li .meta,
.intro-body li [class*="meta"] { font-family: var(--font-sans); font-size: 12px; color: var(--text-body); line-height: 1.5; margin-top: 4px; }
/* 分页 */
.intro-body .pagination,
.intro-body [class*="page"],
.intro-body [class*="Page"] { display: flex; justify-content: center; gap: 8px; margin-top: 36px; border: none; background: none; padding: 0; }
.intro-body [class*="page"] a { font-family: var(--font-sans); font-size: 14px; color: var(--text-body); text-decoration: none; padding: 6px 12px; border: 1px solid var(--divider); border-radius: 3px; }
.intro-body [class*="page"] a:hover { border-color: var(--accent); color: var(--accent); }
.intro-body [class*="page"] a.active,
.intro-body [class*="page"] a.current,
.intro-body [class*="page"] a.on { background: var(--accent); color: var(--white); border-color: var(--accent); }

/* 保留精确类名选择器 */
.year-group { margin-bottom: 36px; }
.year-group-header { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--accent); }
.year-group-header .ygh-year { font-family: var(--font-sans); font-size: 22px; font-weight: 700; color: var(--accent); min-width: 52px; }
.year-group-header .ygh-stats { font-family: var(--font-sans); font-size: 14px; color: var(--text-body); }
.result-list { background: var(--white); border: 1px solid var(--divider); border-radius: 4px; overflow: hidden; }
.result-item { display: flex; gap: 16px; align-items: flex-start; padding: 16px 20px; text-decoration: none; transition: background 0.2s; }
.result-item:hover { background: var(--bg); }
.result-item + .result-item { border-top: 1px solid var(--divider); }
.result-item .ri-tag { flex-shrink: 0; font-family: var(--font-sans); font-size: 10px; font-weight: 500; padding: 2px 8px; border-radius: 2px; margin-top: 2px; }
.ri-tag-monograph { color: var(--accent); background: rgba(196,92,37,0.08); }
.ri-tag-compile   { color: #9B7E4B; background: rgba(155,126,75,0.08); }
.ri-tag-translate { color: #5A7A6A; background: rgba(90,122,106,0.08); }
.ri-tag-paper     { color: #4A7A9B; background: rgba(74,122,155,0.08); }
.result-item .ri-body { flex: 1; min-width: 0; }
.result-item .ri-title { font-family: var(--font-serif); font-size: 15px; font-weight: 600; color: var(--text-dark); line-height: 1.5; margin-bottom: 4px; }
.result-item .ri-meta { font-family: var(--font-sans); font-size: 12px; color: var(--text-body); line-height: 1.5; }

/* ==========================================================================
   9. GROUP GALLERY（组图内容页）
   ========================================================================== */
.gallery-page { max-width: var(--max-width); margin: 0 auto; padding: 32px 32px 56px; }
.gallery-wrapper { background: var(--white); border: 1px solid var(--divider); border-radius: 4px; padding: 40px 48px; font-family: var(--font-serif); color: var(--text-dark); line-height: 1.85; }
/* 博达组图组件输出 — 标题 */
.gallery-wrapper h1,
.gallery-wrapper [class*="title"],
.gallery-wrapper .articletitle { font-family: var(--font-serif); font-size: 26px; font-weight: 700; color: var(--text-dark); text-align: center; line-height: 1.4; margin-bottom: 14px; }
/* 组图元信息（日期/来源） */
.gallery-wrapper [class*="info"],
.gallery-wrapper [class*="meta"],
.gallery-wrapper [class*="time"],
.gallery-wrapper [class*="source"] { display: flex; justify-content: center; gap: 24px; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--divider); font-family: var(--font-sans); font-size: 13px; color: var(--text-body); }
/* 图片网格 — 组图核心 */
.gallery-wrapper img { max-width: 100%; height: auto; display: block; border-radius: 4px; }
.gallery-wrapper p img,
.gallery-wrapper div img { margin: 8px auto; }
/* 如果博达输出 ul/ol 作为图集容器 */
.gallery-wrapper ul,
.gallery-wrapper ol { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 20px 0; }
.gallery-wrapper ul li,
.gallery-wrapper ol li { background: var(--bg); border-radius: 4px; overflow: hidden; }
.gallery-wrapper ul li img,
.gallery-wrapper ol li img { width: 100%; object-fit: cover; aspect-ratio: 4/3; }
/* 图片说明文字 */
.gallery-wrapper [class*="caption"],
.gallery-wrapper [class*="desc"],
.gallery-wrapper figcaption { font-family: var(--font-sans); font-size: 13px; color: var(--text-body); text-align: center; padding: 8px 12px; line-height: 1.5; }
/* 正文说明（组图下方文字） */
.gallery-wrapper p { font-family: var(--font-serif); font-size: 15px; color: var(--text-body); line-height: 1.85; margin: 20px 0; text-indent: 2em; }
.gallery-wrapper a { color: var(--accent); text-decoration: none; }
.gallery-wrapper a:hover { text-decoration: underline; }
/* 上一组 / 下一组 */
.gallery-wrapper [class*="prenext"],
.gallery-wrapper [class*="prevnext"],
.gallery-wrapper [class*="pre"] { display: flex; justify-content: space-between; gap: 40px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--divider); }
.gallery-wrapper [class*="prenext"] a,
.gallery-wrapper [class*="prevnext"] a,
.gallery-wrapper [class*="pre"] a { font-family: var(--font-sans); font-size: 14px; color: var(--text-body); text-decoration: none; line-height: 1.5; flex: 1; min-width: 0; }
.gallery-wrapper [class*="prenext"] a:hover,
.gallery-wrapper [class*="prevnext"] a:hover,
.gallery-wrapper [class*="pre"] a:hover { color: var(--accent); }

<omitted />
.footer { background: var(--footer-bg); border-top: 2px solid var(--accent); margin-top: 20px; }
.footer-inner { max-width: var(--max-width); margin: 0 auto; padding: 32px; }
.footer-info { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.footer-info, .footer-info a, .footer-info span { font-family: var(--font-sans); font-size: 12px; color: var(--footer-muted); }
.footer-info a { text-decoration: none; transition: color 0.2s; }
.footer-info a:hover { color: var(--white); }
.footer-links { display: flex; gap: 24px; }
.footer-links a { font-family: var(--font-sans); font-size: 13px; color: var(--footer-muted); text-decoration: none; transition: color 0.2s; }
.footer-links a:hover { color: var(--white); }
.footer-meta { display: flex; align-items: center; gap: 10px; }
.footer-meta span { font-family: var(--font-sans); font-size: 12px; color: var(--footer-muted); }
.footer-meta .footer-sep { color: rgba(169,160,137,0.3); }
.footer-copy { font-family: var(--font-sans); font-size: 12px; color: var(--footer-muted); }

/* ==========================================================================
   11. RESPONSIVE
   ========================================================================== */
@media (max-width: 960px) {
  .header { flex-direction: column; gap: 16px; padding: 20px; }
  .header-brand img, .header-logo-img { height: 36px; }
  .header-nav { gap: 18px; justify-content: center; }
  .header-nav a { font-size: 13px; }
  .header-search input { width: 110px; }
  .header-search input:focus { width: 140px; }
  .header-search .search_text { width: 110px !important; }
  .header-search .search_text:focus { width: 140px !important; }
  .intro-content { flex-direction: column; }
  .intro-sidebar { flex: none; width: 100%; }
  .intro-body { padding: 24px 20px; }
  .intro-body-full { padding: 28px 24px; }
  .intro-page { padding: 20px 16px 40px; }
  .intro-body p { font-size: 14px; }
<omitted />
  .article-title { font-size: 22px; }
  .article-nav { flex-direction: column; gap: 16px; }
  .news-item { padding: 14px 16px; }
  .news-item .ni-date { min-width: 70px; font-size: 12px; }
  .news-item .ni-title { font-size: 14px; }
  .personnel-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .result-item { padding: 12px 16px; flex-wrap: wrap; }
<omitted />
  .header-nav { gap: 12px; }
  .header-nav a { font-size: 12px; }
  .intro-body { padding: 20px 16px; }
  .intro-body-full { padding: 20px 16px; }
<omitted />
