@charset "utf-8";
/*
	易菇网手机版 · wap.css  —— 门户化改版专属样式
	2026-10-16  前缀统一 wp-  主色 #024893（深色蓝，取自主站 --f-dblue）
	2026-10-16  品牌条改两行：白底 LOGO 行 + 深蓝标语条；整站 AI 元素
	仅新增，不改动 style.css 既有类；覆盖项均为本文件专属类
	适配 320 / 360 / 375 / 390 / 414 / 430 / 480 / 560+ / 768+ 及横屏
*/

/* ============ 1. 设计变量 ============ */
:root {
	/* 深色蓝主色族（取自主站 style.css 的 #024893 深蓝） */
	--wp-blue: #024893;
	--wp-blue-d: #01356E;
	--wp-blue-l: #E9F0FA;
	--wp-blue-g: linear-gradient(135deg, #024893 0%, #0A63B8 100%);
	/* 顶部标语条专用：更沉的深蓝 */
	--wp-navy: #01305F;
	--wp-navy-g: linear-gradient(135deg, #01305F 0%, #024893 100%);
	/* AI 元素专用强调色 */
	--wp-ai: #2F7BE8;
	--wp-ai-2: #35C6F4;
	--wp-ai-l: #EAF2FF;
	--wp-txt: #1A1A1A;
	--wp-sub: #5F6673;
	--wp-gray: #9AA1AC;
	--wp-line: #EDEFF2;
	--wp-bg: #F4F6F9;
	--wp-card: #FFFFFF;
	/* 品牌条总高 = LOGO 行 44 + 与蓝条的间隙 6 + 蓝条 24 + 底部留白 6 */
	--wp-top-r1: 44px;
	--wp-top-r2: 24px;
	--wp-top-gap: 6px;
	--wp-top-h: 80px;
	--wp-tool-h: 34px;
	/* 第 17 轮：52px → 58px，容纳放大的底部导航文字（13px）
	   第 19 轮 #3：58px → 64px，容纳 15px 字号 + 27px 图标 */
	--wp-tab-h: 64px;
	--wp-r: 10px;
}

/* ============ 2. 基础排版（移动优先，字号按屏宽分档） ============ */
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
body.wp-body {
	font-size: 15px;
	color: var(--wp-txt);
	background: var(--wp-bg);
	line-height: 1.55;
}
body.wp-body img {
	max-width: 100%;
	height: auto;
}
/* 触控热区：所有可点元素最小 44px 高 */
body.wp-body a,
body.wp-body li > a {
	-webkit-tap-highlight-color: transparent;
}

/* 字号分档：小屏（≤359）略收，主流（360-430）标准，大屏/平板略放 */
@media (max-width: 359px) {
	body.wp-body { font-size: 14px; }
}
@media (min-width: 414px) {
	body.wp-body { font-size: 15.5px; }
}
@media (min-width: 560px) {
	body.wp-body { font-size: 16px; }
}

/* 品牌条占位：品牌条为 fixed，body 顶部留出等高间距（含刘海屏安全区） */
body.wp-brand {
	padding-top: calc(var(--wp-top-h) + env(safe-area-inset-top));
}
/* 品牌模式下，内页原生顶栏下移为品牌条下方的第三行工具栏（见第 4 节） */

/* ============ 3. 统一顶部品牌条（两行：白底 LOGO 行 + 深蓝标语条） ============ */
.wp-top {
	position: fixed;
	z-index: 30;
	left: 0;
	top: 0;
	right: 0;
	height: calc(var(--wp-top-h) + env(safe-area-inset-top));
	padding-top: env(safe-area-inset-top);
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0 2px 10px rgba(1, 53, 110, .10);
}

/* —— 第一行：白底，原色 LOGO + 搜索 + 菜单 —— */
.wp-top-r1 {
	display: flex;
	align-items: center;
	height: var(--wp-top-r1);
	padding: 0 12px;
	box-sizing: border-box;
	background: #fff;
}
.wp-top-l {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	max-width: 46%;
	overflow: hidden;
}
/* ⚠️ 必须用 body.wp-body 提权到 (0,2,2)
   原因：第 2 节的 body.wp-body img{max-width:100%;height:auto} 权重 (0,1,2)
   高于 .wp-top-l img (0,1,1) → height:auto 生效 → LOGO 按原始 178x52 撑到 161x47px，
   溢出 44px 的 LOGO 行，顶部被裁掉（实测 img top=-1.6px）。 */
body.wp-body .wp-top-l img {
	display: block;
	/* 第 19 轮 #8：29px → 32px（用户要求「LOGO 再放大一点点」）
	   LOGO 行高 44px，32px 时上下各留 6px，不裁切；宽约 110px，不影响右侧搜索框 */
	height: 32px;
	width: auto;
	max-width: none;
}
.wp-top-r {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	/* 不再用 margin-left:auto（会与搜索框的 auto 外边距抢余量，破坏居中） */
}
/* 搜索胶囊：在「LOGO 右边缘 ↔ 右侧导航钮左边缘」这段剩余空间里居中
   做法：搜索框置于 .wp-top-l 与 .wp-top-r 之间，靠 `margin:0 auto` 吃掉两侧余量。
   ⚠️ 必须同时去掉 .wp-top-r 的 `margin-left:auto`——否则三处 auto 外边距
   （左右各一 + 右侧组一个）平分余量，midpoint 会偏向 LOGO 一侧。 */
.wp-top-s {
	flex: 0 1 auto;
	min-width: 0;
	margin: 0 auto;
	display: flex;
	align-items: center;
	height: 30px;
	padding: 0 10px;
	border-radius: 15px;
	background: #F2F4F8;
	color: #7A828E;
	font-size: 12px;
	line-height: 30px;
	white-space: nowrap;
	overflow: hidden;
	/* 第 18 轮 #7：搜索框宽度再增加 2 个字符（≈24px）
	   原为「内容自然宽 101px」；用 min-width 撑到 125px，并留足上限防挤。
	   ⚠️ 居中仍靠 margin:0 auto（左右余量实测各 59px → 加宽后各 47px，不会挤到 LOGO/圆钮）。 */
	min-width: 125px;
	max-width: 41vw;
	box-sizing: border-box;
}
.wp-top-s svg {
	width: 14px;
	height: 14px;
	margin-right: 4px;
	flex: 0 0 auto;
	stroke: var(--wp-blue);
	fill: none;
	stroke-width: 1.8;
}
.wp-top-m {
	width: 32px;
	height: 32px;
	/* ⚠️ 不可留 margin-left：它会把圆钮本体右推，导致
	   「搜索框↔LOGO」「搜索框↔圆钮」两侧留白不等（实测差 8px）。
	   搜索框的 auto 外边距已提供足够间距。 */
	margin-left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wp-blue-l);
	flex: 0 0 auto;
}
.wp-top-m svg {
	width: 18px;
	height: 18px;
	stroke: var(--wp-blue);
	fill: none;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* —— 第二行：深蓝标语条（两头圆角，左右各留 10px 边距，与 LOGO 行之间留 6px 间隙） + AI 元素 —— */
.wp-top-r2 {
	display: flex;
	align-items: center;
	height: var(--wp-top-r2);
	margin: var(--wp-top-gap) 10px 0 10px;
	padding: 0 11px;
	box-sizing: border-box;
	border-radius: 6px;
	background: var(--wp-navy-g);
	color: #fff;
	overflow: hidden;
	position: relative;
}
/* 扫描光带（AI 动效） */
.wp-top-r2::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(53, 198, 244, .24) 50%, transparent);
	animation: wpSweep 3.6s linear infinite;
	pointer-events: none;
}
@keyframes wpSweep {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}
/* 返回键：由 LOGO 行移至蓝条内，位于「中国农业网站百强」左侧 */
.wp-top-bk2 {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	margin-right: 7px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
	position: relative;
	z-index: 1;
}
.wp-top-bk2 svg {
	width: 13px;
	height: 13px;
	stroke: #FFFFFF;
	fill: none;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.wp-top-bk2:active { background: rgba(255, 255, 255, .28); }
.wp-top-slogan {
	flex: 0 1 auto;
	min-width: 0;
	font-size: 11.5px;
	line-height: var(--wp-top-r2);
	opacity: .92;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	z-index: 1;
}
.wp-ai-chip {
	margin-left: auto;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	height: 18px;
	padding: 0 8px;
	border-radius: 9px;
	background: rgba(53, 198, 244, .18);
	border: 1px solid rgba(53, 198, 244, .45);
	color: #CFF2FF;
	font-size: 10.5px;
	line-height: 17px;
	white-space: nowrap;
	position: relative;
	z-index: 1;
}
.wp-ai-chip i {
	width: 5px;
	height: 5px;
	margin-right: 4px;
	border-radius: 50%;
	background: var(--wp-ai-2);
	box-shadow: 0 0 0 0 rgba(53, 198, 244, .7);
	animation: wpAiBlink 1.8s infinite;
	flex: 0 0 auto;
}
@keyframes wpAiBlink {
	0% { box-shadow: 0 0 0 0 rgba(53, 198, 244, .7); }
	70% { box-shadow: 0 0 0 7px rgba(53, 198, 244, 0); }
	100% { box-shadow: 0 0 0 0 rgba(53, 198, 244, 0); }
}
@media (max-width: 359px) {
	/* ⚠️ 同样需 body.wp-body 提权，否则被 body.wp-body img{height:auto} 覆盖
	   第 19 轮 #8：24px → 27px（小屏同步放大一档） */
	body.wp-body .wp-top-l img { height: 27px; }
	.wp-top-s { max-width: 36vw; padding: 0 8px; }
	.wp-top-bk2 { width: 17px; height: 17px; margin-right: 5px; }
	.wp-top-slogan { font-size: 10.5px; }
	.wp-ai-chip { font-size: 10px; padding: 0 6px; }
}

/* ============ 4. 内页第三行工具栏（沿用 .head-bar，置于品牌条下方）
   品牌条两行（LOGO 行 + 深蓝标语条）固定在顶部；内页原有的 .head-bar
   下移为第三行细工具栏：详情页放搜索框、列表页放栏目名。
   占位块 .head-bar-fix 与工具栏等高 → 正文不被遮挡，下拉刷新逻辑保持原样。 */
body.wp-brand .head-bar {
	top: calc(var(--wp-top-h) + env(safe-area-inset-top));
	height: var(--wp-tool-h);
	line-height: var(--wp-tool-h);
	box-sizing: border-box;
	background: #FFFFFF;
	border-bottom: 1px solid var(--wp-line);
	box-shadow: 0 1px 6px rgba(1, 53, 110, .06);
	color: #2A3340;
	z-index: 9;
}
body.wp-brand .head-bar-fix { height: var(--wp-tool-h); }
/* 抵消 reset.js 为 iOS/app 写入的 20px 状态栏占位（顶部安全区已由品牌条接管） */
body.wp-brand .head-bar,
body.wp-brand #head-bar {
	border-top: none !important;
}
/* 返回 / 更多 已在品牌条上，第三行不再重复 */
body.wp-brand .head-bar-back,
body.wp-brand .head-bar-right { display: none; }
body.wp-brand .head-bar-title {
	left: 14px;
	right: 14px;
	font-size: 13.5px;
	font-weight: 700;
	color: #2A3340;
}
body.wp-brand .head-bar-title input[type="search"] {
	height: 26px;
	line-height: 26px;
	font-size: 12.5px;
	padding: 0 12px 0 28px;
	border-radius: 13px;
	background-color: #F2F4F8;
	color: #7A828E;
	box-sizing: border-box;
}

/* 内页第三行放面包屑时的排布（参照主站 .ch-crumb） */
body.wp-brand .head-bar-title.wp-hbt-crumb {
	text-align: left;
	font-weight: 400;
	font-size: 12px;
	color: #98A2B0;
	padding: 0;
	line-height: var(--wp-tool-h);
}
body.wp-brand .head-bar-title.wp-hbt-crumb a {
	color: #6C7A8C;
}
body.wp-brand .head-bar-title.wp-hbt-crumb i {
	font-style: normal;
	padding: 0 5px;
	color: #C2CAD5;
}
body.wp-brand .head-bar-title.wp-hbt-crumb b {
	font-weight: 400;
	color: #A6B0BD;
}

/* ============ 4b. 内页顶栏（未启用品牌条时的兜底，统一成主站蓝） ============ */
.wp-body .head-bar {
	background: var(--wp-blue-g);
	border-bottom: none;
	color: #fff;
}
.wp-body .head-bar-title {
	color: #fff;
}
.wp-body .head-bar-title input[type="search"] {
	background-color: rgba(255, 255, 255, .92);
	color: #7A828E;
}
.wp-body .head-bar-back img,
.wp-body .head-bar-right img,
.wp-body .head-bar-left img {
	filter: brightness(0) invert(1);
}
.wp-body .head-bar-fix {
	height: 48px;
	color: transparent;
}

/* ============ 5. 板块分组（4 大板块宫格导航） ============ */
.wp-main {
	padding: 10px 10px 4px 10px;
	overflow: hidden;
}
.wp-sec {
	background: var(--wp-card);
	border-radius: var(--wp-r);
	margin: 0 0 10px 0;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(23, 43, 77, .05);
	/* 锚点跳转时避开固定品牌条 */
	scroll-margin-top: calc(var(--wp-top-h) + 6px);
}
.wp-sec-hd {
	display: flex;
	align-items: center;
	height: 46px;
	padding: 0 12px;
	border-bottom: 1px solid var(--wp-line);
}
.wp-sec-hd > i {
	width: 4px;
	height: 17px;
	border-radius: 2px;
	background: var(--wp-blue-g);
	margin-right: 8px;
	flex: 0 0 auto;
}
.wp-sec-hd h2 {
	font-size: 17.5px;
	font-weight: 700;
	color: var(--wp-txt);
	margin: 0;
	line-height: 46px;
	flex: 0 0 auto;
}
.wp-sec-hd em {
	font-style: normal;
	font-size: 11px;
	color: var(--wp-gray);
	margin-left: 6px;
	letter-spacing: .5px;
	text-transform: uppercase;
	line-height: 46px;
}
.wp-sec-hd a {
	margin-left: auto;
	font-size: 12px;
	color: var(--wp-sub);
	display: flex;
	align-items: center;
	height: 46px;
	padding-left: 10px;
	flex: 0 0 auto;
}
.wp-sec-hd a::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-left: 4px;
	border-top: 1.5px solid var(--wp-gray);
	border-right: 1.5px solid var(--wp-gray);
	transform: rotate(45deg);
}

/* 宫格：4 列（主流手机），窄屏仍 4 列，大屏升列 */
.wp-nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 10px 4px 12px 4px;
}
.wp-nav > li {
	min-width: 0;
	text-align: center;
}
.wp-nav > li > a {
	display: block;
	padding: 6px 2px 4px 2px;
	border-radius: 8px;
}
.wp-nav > li > a:active {
	background: var(--wp-blue-l);
}
.wp-nav .wp-ic {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0 auto 5px auto;
	border-radius: 12px;
	background: var(--wp-blue-l);
}
.wp-nav .wp-ic svg {
	width: 22px;
	height: 22px;
	stroke: var(--wp-blue);
	fill: none;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.wp-nav span {
	display: block;
	font-size: 12px;
	line-height: 17px;
	color: #2A2F38;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 2px;
}
@media (min-width: 560px) {
	.wp-nav { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.wp-nav .wp-ic { width: 46px; height: 46px; }
	.wp-nav .wp-ic svg { width: 25px; height: 25px; }
	.wp-nav span { font-size: 13px; }
}
@media (min-width: 768px) {
	.wp-nav { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
/* 极小屏（320）微缩，防止文字挤压 */
@media (max-width: 339px) {
	.wp-nav .wp-ic { width: 36px; height: 36px; border-radius: 10px; }
	.wp-nav .wp-ic svg { width: 20px; height: 20px; }
	.wp-nav span { font-size: 11px; }
	.wp-sec-hd h2 { font-size: 16px; }
}

/* 板块配色：统一到深蓝族（同一主色，仅以深浅区分板块） */
.wp-sec[data-sec="news"] .wp-ic { background: #E9F0FA; }
.wp-sec[data-sec="news"] .wp-ic svg { stroke: #024893; }
.wp-sec[data-sec="edu"] .wp-ic { background: #E7F1FC; }
.wp-sec[data-sec="edu"] .wp-ic svg { stroke: #0A63B8; }
.wp-sec[data-sec="biz"] .wp-ic { background: #E6EDF8; }
.wp-sec[data-sec="biz"] .wp-ic svg { stroke: #01356E; }
.wp-sec[data-sec="service"] .wp-ic { background: #EAF2FF; }
.wp-sec[data-sec="service"] .wp-ic svg { stroke: #2F7BE8; }
.wp-sec[data-sec="more"] .wp-ic { background: #F1F3F7; }
.wp-sec[data-sec="more"] .wp-ic svg { stroke: #6B7480; }

/* ============ 6. 首页：四大板块快捷入口（2×2 大卡） ============ */
.wp-quick {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 10px 0;
}
.wp-quick > a {
	display: block;
	position: relative;
	height: 76px;
	border-radius: var(--wp-r);
	padding: 12px 12px 0 12px;
	box-sizing: border-box;
	color: #fff;
	overflow: hidden;
}
.wp-quick > a b {
	display: block;
	font-size: 17px;
	font-weight: 700;
	line-height: 22px;
}
.wp-quick > a i {
	font-style: normal;
	display: block;
	font-size: 11px;
	line-height: 16px;
	opacity: .88;
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wp-quick > a svg {
	position: absolute;
	right: 8px;
	bottom: 6px;
	width: 34px;
	height: 34px;
	stroke: rgba(255, 255, 255, .45);
	fill: none;
	stroke-width: 1.5;
}
.wp-q-news { background: linear-gradient(135deg, #024893, #0A63B8); }
.wp-q-edu { background: linear-gradient(135deg, #01356E, #024893); }
.wp-q-biz { background: linear-gradient(135deg, #0A63B8, #2F7BE8); }
.wp-q-svc { background: linear-gradient(135deg, #01305F, #0A4C93); }
@media (min-width: 560px) {
	.wp-quick { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ============ 7. 内容列表（板块页 / 首页通用，覆盖增强可读性） ============ */
.wp-list {
	background: var(--wp-card);
	border-radius: 0 0 var(--wp-r) var(--wp-r);
	overflow: hidden;
}
.wp-list > a {
	display: flex;
	align-items: flex-start;
	padding: 12px 12px;
	border-bottom: 1px solid var(--wp-line);
	min-height: 44px;
	box-sizing: border-box;
}
.wp-list > a:last-child { border-bottom: none; }
.wp-list > a:active { background: #F7F9FC; }
.wp-list .wp-th {
	flex: 0 0 auto;
	width: 96px;
	height: 66px;
	margin-right: 10px;
	border-radius: 6px;
	overflow: hidden;
	background: #F1F3F7;
}
.wp-list .wp-th img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wp-list .wp-tx {
	min-width: 0;
	flex: 1 1 auto;
}
.wp-list .wp-tx b {
	display: block;
	font-size: 16.5px;
	line-height: 26px;
	font-weight: 400;
	color: #1F242C;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.wp-list .wp-tx p {
	margin: 8px 0 0 0;
	font-size: 12.5px;
	line-height: 18px;
	color: var(--wp-gray);
}
.wp-list .wp-tx p em {
	font-style: normal;
	color: var(--wp-blue);
	background: var(--wp-blue-l);
	border-radius: 4px;
	padding: 1px 5px;
	margin-right: 6px;
}
@media (max-width: 359px) {
	.wp-list .wp-th { width: 84px; height: 58px; }
	.wp-list .wp-tx b { font-size: 15.5px; line-height: 24px; }
	/* 第 18 轮 #2①：精选小条缩略图同步降级，保持与列表页一致 */
	.wp-pk-i .wp-th { width: 84px; height: 58px; }
}

/* 无图时的纯文字行 */
.wp-list > a.wp-nopic .wp-tx b {
	-webkit-line-clamp: 2;
}
.wp-list > a.wp-nopic::before {
	content: "";
	flex: 0 0 auto;
	width: 3px;
	align-self: stretch;
	border-radius: 2px;
	background: var(--wp-blue-l);
	margin-right: 9px;
}

/* 板块页顶部子栏目横滑条 */
.wp-chips {
	display: flex;
	gap: 8px;
	padding: 10px 12px;
	background: var(--wp-card);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	border-bottom: 1px solid var(--wp-line);
}
.wp-chips::-webkit-scrollbar { display: none; }
.wp-chips a {
	flex: 0 0 auto;
	height: 32px;
	line-height: 32px;
	padding: 0 14px;
	border-radius: 16px;
	background: #F2F4F8;
	color: #4A515C;
	font-size: 13px;
}
.wp-chips a.on {
	background: var(--wp-blue-g);
	color: #fff;
}

/* 板块页的板块切换条（顶部 4 个） */
.wp-tabs4 {
	display: flex;
	background: var(--wp-card);
	border-bottom: 1px solid var(--wp-line);
}
.wp-tabs4 a {
	flex: 1 1 0%;
	min-width: 0;
	text-align: center;
	height: 44px;
	line-height: 44px;
	font-size: 14px;
	color: #4A515C;
	position: relative;
}
.wp-tabs4 a.on {
	color: var(--wp-blue);
	font-weight: 700;
}
.wp-tabs4 a.on::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -14px;
	width: 28px;
	height: 2.5px;
	border-radius: 2px;
	background: var(--wp-blue-g);
}

/* ============ 8. 统一底部导航（5 项） ============ */
.wp-tabbar {
	position: fixed;
	z-index: 30;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	border-top: 1px solid var(--wp-line);
	box-shadow: 0 -2px 12px rgba(23, 43, 77, .06);
	height: var(--wp-tab-h);
}
.wp-tabbar ul {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.wp-tabbar li {
	min-width: 0;
}
.wp-tabbar li a {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	height: 100%;
	height: calc(var(--wp-tab-h) - env(safe-area-inset-bottom));
	color: #7B828D;
	/* 第 17 轮：底部导航文字放大（10.5px → 13px），并锁死文字缩放
	   部分国产浏览器/微信 WebView 会自动放大或缩小文字 ⇒ 三件套一起写
	   第 19 轮 #3：再放大一档 13px → 15px（用户要求「字体再大一点」）
	   —— 2 字标签在 64~78px 格内仅占 26px，余量充足，不需要缩字 */
	font-size: 15px;
	line-height: 1.2;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.wp-tabbar li a svg {
	width: 27px;
	height: 27px;
	margin-bottom: 2px;
	stroke: #98A0AB;
	fill: none;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.wp-tabbar li.on a {
	color: var(--wp-blue);
	font-weight: 700;
}
.wp-tabbar li.on a svg {
	stroke: var(--wp-blue);
}
.wp-tabbar li a span {
	display: block;
	line-height: 18px;
	white-space: nowrap;
	font-size: 15px;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
/* 第 17 轮：底部导航加高，容纳放大后的字号（52px → 58px）
   第 19 轮 #3：再放大一档 58px → 64px（配 15px 字号 + 27px 图标） */
.wp-tabbar-fix {
	height: calc(var(--wp-tab-h) + 10px + env(safe-area-inset-bottom));
	clear: both;
}

/* 底部安全区（iPhone X 及以上） —— 不支持的浏览器自动忽略第二条 */
.wp-tabbar {
	height: calc(var(--wp-tab-h) + env(safe-area-inset-bottom));
	padding-bottom: env(safe-area-inset-bottom);
}
.wp-tabbar-fix {
	height: calc(var(--wp-tab-h) + 10px + env(safe-area-inset-bottom));
	clear: both;
}
.wp-tabbar-fix2 {
	height: calc(var(--wp-tab-h) + env(safe-area-inset-bottom));
	clear: both;
}
/* 让返回顶部按钮避开底部导航 */
body.wp-has-tab .back2top { bottom: calc(var(--wp-tab-h) + 24px + env(safe-area-inset-bottom)); }
body.wp-has-tab .ui-ball { bottom: calc(var(--wp-tab-h) + 24px + env(safe-area-inset-bottom)); }

/* 第 17 轮：底部导航字号在小屏也不缩（保证「任何浏览器都保持比较大的字体」）
   第 19 轮 #3：基准字号 12.5px → 14px，小屏同样保持较大字体 */
@media (max-width: 359px) {
	.wp-tabbar li a,
	.wp-tabbar li a span { font-size: 14px; }
	.wp-tabbar li a { line-height: 1.15; }
	.wp-tabbar li a svg { width: 25px; height: 25px; }
	.wp-tabbar li a span { line-height: 17px; }
}

/* ============ 9. 统一页脚信息 ============ */
.wp-footinfo {
	background: #fff;
	border-top: 1px solid var(--wp-line);
	padding: 18px 16px 14px 16px;
	text-align: center;
	color: var(--wp-gray);
	font-size: 12px;
	line-height: 20px;
}
.wp-footinfo .wp-fl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 8px;
}
.wp-footinfo .wp-fl a {
	color: var(--wp-sub);
	padding: 0 9px;
	position: relative;
	font-size: 12px;
	line-height: 20px;
}
.wp-footinfo .wp-fl a + a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 1px;
	height: 12px;
	background: #DDE1E7;
}
.wp-footinfo p {
	margin: 2px 0 0 0;
	font-size: 11.5px;
	color: #A6ACB6;
	line-height: 18px;
}
.wp-footinfo p a { color: #A6ACB6; }
/* 地址行：第 17 轮起「光谷大道35号」后强制换行（模板内 <br/>） */
.wp-footinfo .wp-faddr { line-height: 19px; }

/* ============ 10. 首页板块卡内列表（紧凑版） ============ */
.wp-mini {
	list-style: none;
	margin: 0;
	padding: 2px 0 6px 0;
}
.wp-mini li {
	border-bottom: 1px solid var(--wp-line);
}
.wp-mini li:last-child { border-bottom: none; }
.wp-mini li a {
	display: flex;
	align-items: center;
	padding: 10px 12px;
	min-height: 44px;
	box-sizing: border-box;
}
.wp-mini li a:active { background: #F7F9FC; }
.wp-mini li a i {
	flex: 0 0 auto;
	width: 18px;
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
	color: var(--wp-blue);
	line-height: 20px;
}
.wp-mini li:nth-child(n+4) a i {
	color: #B3B9C2;
	font-weight: 400;
}
.wp-mini li a b {
	min-width: 0;
	flex: 1 1 auto;
	font-size: 14.5px;
	font-weight: 400;
	color: #22272F;
	line-height: 20px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.wp-mini li a span {
	flex: 0 0 auto;
	margin-left: 8px;
	font-size: 11px;
	color: var(--wp-gray);
}

/* ============ 11. 各类手机适配兜底 ============ */
/* 横屏：压缩纵向留白 */
@media (orientation: landscape) and (max-height: 480px) {
	.wp-quick > a { height: 62px; padding-top: 8px; }
	.wp-quick > a b { font-size: 15px; line-height: 19px; }
	.wp-quick > a i { display: none; }
	.wp-sec-hd { height: 40px; }
	.wp-sec-hd h2 { line-height: 40px; }
}
/* 超宽（折叠屏展开 / 平板）：限制内容宽度，避免拉伸变形 */
@media (min-width: 768px) {
	.wp-main {
		max-width: 760px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.wp-footinfo {
		max-width: 760px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.wp-top,
	.wp-tabbar {
		left: calc(50% - 380px);
		right: calc(50% - 380px);
	}
}
/* 兼容老 WebView：不支持 grid 时降级为 flex */
@supports not (display: grid) {
	.wp-nav,
	.wp-quick,
	.wp-tabbar ul {
		display: flex;
		flex-wrap: wrap;
	}
	.wp-nav > li { width: 25%; }
	.wp-quick > a { width: calc(50% - 5px); margin: 0 5px 10px 0; }
	.wp-tabbar li { width: 20%; }
	.wp-tabs4 { display: flex; }
	.wp-tabs4 a { flex: 1 1 0%; }
}

/* ============ 12. 手机版样式微调（不改样式表原始类，仅覆盖本页展示项） ============ */
/* 统一图片圆角，避免直角卡边 */
.wp-body .ui-list-mix,
.wp-body .ui-list-txt,
.wp-body .ui-list-img div {
	border-radius: 8px;
	overflow: hidden;
}
/* 详情页正文可读性：字号与行距 */
.wp-body .ui-form div img { max-width: 100%; height: auto; }

/* ============ 13. 板块页（资讯 / 学院 / 商务 / 服务） ============ */
/* 板块页头：蓝色渐变卡 */
.wp-sechd {
	margin: 0 0 10px 0;
	padding: 15px 16px 16px 16px;
	border-radius: var(--wp-r);
	background: var(--wp-blue-g);
	color: #fff;
	box-shadow: 0 2px 10px rgba(2, 72, 147, .18);
}
.wp-sechd h1 {
	margin: 0;
	font-size: 20px;
	line-height: 27px;
	font-weight: 700;
	display: flex;
	align-items: baseline;
	flex-wrap: nowrap;
}
.wp-sechd h1 em {
	font-style: normal;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 1.2px;
	opacity: .7;
	margin-left: 8px;
	white-space: nowrap;
}
.wp-sechd p {
	margin: 6px 0 0 0;
	font-size: 12.5px;
	line-height: 18px;
	opacity: .85;
}
@media (max-width: 359px) {
	.wp-sechd h1 { font-size: 18px; }
	.wp-sechd p { font-size: 12px; }
}

/* 服务卡列表 */
.wp-svc { padding: 0; }
.wp-svc > a {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	padding: 12px 12px;
	border-bottom: 1px solid var(--wp-line);
	background: var(--wp-card);
}
.wp-svc > a:last-child { border-bottom: none; }
.wp-svc > a:active { background: #F7F9FC; }
.wp-svc .wp-ic {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--wp-blue-l);
	margin-right: 12px;
}
.wp-svc .wp-ic svg {
	width: 24px;
	height: 24px;
	stroke: var(--wp-blue);
	fill: none;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.wp-svc-t {
	flex: 0 0 auto;
	max-width: 30%;
	min-width: 0;
}
.wp-svc-t b {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--wp-txt);
	line-height: 20px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wp-svc-t i {
	display: block;
	font-style: normal;
	font-size: 11px;
	color: var(--wp-gray);
	line-height: 15px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wp-svc-d {
	flex: 1 1 0%;
	min-width: 0;
	padding-left: 10px;
	text-align: right;
}
.wp-svc-d u {
	display: block;
	text-decoration: none;
	font-size: 12.5px;
	color: var(--wp-sub);
	line-height: 17px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wp-svc-d em {
	display: block;
	font-style: normal;
	font-size: 11.5px;
	color: var(--wp-gray);
	line-height: 16px;
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
@media (max-width: 359px) {
	.wp-svc .wp-ic { width: 40px; height: 40px; margin-right: 10px; }
	.wp-svc-t b { font-size: 14px; }
	.wp-svc-d u { font-size: 12px; }
}

/* 空状态 */
.wp-empty {
	padding: 26px 12px;
	text-align: center;
	color: var(--wp-gray);
	font-size: 13px;
	background: var(--wp-card);
}

/* ============ 14. 首页：分站条 / 轮播 ============ */
.wp-city {
	display: flex;
	align-items: center;
	height: 42px;
	margin: 0 0 10px 0;
	padding: 0 12px;
	background: var(--wp-card);
	border-radius: var(--wp-r);
	font-size: 13px;
	color: var(--wp-txt);
	box-shadow: 0 1px 6px rgba(23, 43, 77, .05);
	box-sizing: border-box;
}
.wp-city span {
	margin-left: auto;
	font-size: 12px;
	color: var(--wp-blue);
	white-space: nowrap;
}
.wp-slide {
	margin: 0 0 10px 0;
	border-radius: var(--wp-r);
	overflow: hidden;
	background: var(--wp-card);
	box-shadow: 0 1px 6px rgba(23, 43, 77, .05);
}
.wp-slide img {
	display: block;
	width: 100%;
	height: auto;
}

/* ============ 15. AI 元素（参照主站 AI 数据脉搏 / AI 内容导读 / AI 导视） ============ */

/* —— ① AI 数据脉搏条：详情页顶部，深蓝底 + 扫描光（两头细圆角，与页头蓝条同款） —— */
.wp-dpulse {
	display: flex;
	align-items: center;
	height: 38px;
	margin: 10px 14px 0 14px;
	padding: 0 12px;
	box-sizing: border-box;
	border-radius: 6px;
	background: linear-gradient(90deg, #01305F 0%, #024893 55%, #013E7C 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
}
.wp-dpulse::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(53, 198, 244, .22) 50%, transparent);
	animation: wpSweep 3.4s linear infinite;
	pointer-events: none;
}
.wp-dpulse-lb {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	height: 100%;
	padding-right: 10px;
	margin-right: 10px;
	border-right: 1px solid rgba(53, 198, 244, .28);
	font-size: 11.5px;
	letter-spacing: .5px;
	color: #A9D9F6;
	position: relative;
	z-index: 1;
	white-space: nowrap;
}
.wp-dpulse-lb i {
	width: 6px;
	height: 6px;
	margin-right: 5px;
	border-radius: 50%;
	background: var(--wp-ai-2);
	box-shadow: 0 0 0 0 rgba(53, 198, 244, .7);
	animation: wpAiBlink 1.8s infinite;
	flex: 0 0 auto;
}
.wp-dpulse-items {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 14px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.wp-dpulse-items span {
	font-size: 11.5px;
	color: #B9D8EF;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wp-dpulse-items em {
	font-style: normal;
	font-weight: 700;
	font-size: 13px;
	color: #FFFFFF;
	margin: 0 2px;
	font-family: Consolas, Menlo, monospace;
}
@media (max-width: 359px) {
	.wp-dpulse { height: 34px; margin: 10px 14px 0 14px; padding: 0 10px; }
	.wp-dpulse-lb { font-size: 10.5px; padding-right: 7px; margin-right: 7px; }
	.wp-dpulse-items { gap: 8px; }
	.wp-dpulse-items span { font-size: 10.5px; }
	.wp-dpulse-items em { font-size: 11.5px; }
	/* 极窄屏只保留两项，避免数字被截断 */
	.wp-dpulse-items span:nth-child(3) { display: none; }
}

/* —— ② AI 内容导读卡：标题下方，浅蓝渐变 + 左侧色条 —— */
.wp-aibox {
	margin: 0 14px 12px 14px;
	padding: 12px 12px 12px 15px;
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(2, 72, 147, .06), rgba(53, 198, 244, .05) 55%, rgba(47, 123, 232, .05));
	border: 1px solid rgba(2, 72, 147, .16);
	position: relative;
	overflow: hidden;
}
.wp-aibox::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, #024893, #35C6F4);
}
.wp-aibox-h {
	display: flex;
	align-items: center;
	margin-bottom: 7px;
}
.wp-aibox-h b {
	font-size: 13px;
	font-weight: 700;
	color: var(--wp-blue);
	letter-spacing: .3px;
	white-space: nowrap;
}
.wp-aibox-h b i {
	font-style: normal;
	margin-right: 4px;
}
.wp-aibox-h s {
	margin-left: auto;
	text-decoration: none;
	font-size: 10.5px;
	line-height: 16px;
	padding: 0 7px;
	border-radius: 8px;
	background: rgba(47, 123, 232, .12);
	color: var(--wp-ai);
	font-weight: 600;
	white-space: nowrap;
	flex: 0 0 auto;
}
.wp-aibox p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.72;
	color: #3A4756;
}
.wp-aibox p em {
	font-style: normal;
	color: var(--wp-blue);
	font-weight: 600;
}
.wp-aibox-tags {
	margin-top: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.wp-aibox-tags s {
	text-decoration: none;
	font-size: 11px;
	line-height: 19px;
	padding: 0 9px;
	border-radius: 10px;
	background: #F0F4FA;
	color: #4A6280;
}
@media (max-width: 359px) {
	.wp-aibox { margin: 0 14px 10px 14px; padding: 10px 10px 10px 13px; }
	.wp-aibox p { font-size: 13px; }
}

/* —— ③ AI 导视卡：首页 / 板块页顶部 —— */
.wp-aivision {
	margin: 0 0 10px 0;
	padding: 12px 13px 11px 13px;
	border-radius: var(--wp-r);
	background: linear-gradient(135deg, #01305F 0%, #024893 58%, #013E7C 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(1, 53, 110, .18);
}
.wp-aivision::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(53, 198, 244, .18) 50%, transparent);
	animation: wpSweep 4s linear infinite;
	pointer-events: none;
}
.wp-aivision-h {
	display: flex;
	align-items: center;
	margin-bottom: 7px;
	position: relative;
	z-index: 1;
}
.wp-aivision-h b {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .4px;
}
.wp-aivision-h b i {
	font-style: normal;
	margin-right: 5px;
	color: var(--wp-ai-2);
}
.wp-aivision-h s {
	margin-left: auto;
	text-decoration: none;
	font-size: 10.5px;
	line-height: 17px;
	padding: 0 8px;
	border-radius: 9px;
	background: rgba(53, 198, 244, .18);
	border: 1px solid rgba(53, 198, 244, .4);
	color: #CFF2FF;
	white-space: nowrap;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}
.wp-aivision-h s u {
	text-decoration: none;
	width: 5px;
	height: 5px;
	margin-right: 4px;
	border-radius: 50%;
	background: var(--wp-ai-2);
	box-shadow: 0 0 0 0 rgba(53, 198, 244, .7);
	animation: wpAiBlink 1.8s infinite;
}
.wp-aivision p {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.7;
	color: #C6DDF1;
	position: relative;
	z-index: 1;
}
.wp-aivision p em {
	font-style: normal;
	color: #FFFFFF;
	font-weight: 700;
	font-family: Consolas, Menlo, monospace;
	margin: 0 1px;
}
.wp-aivision-act {
	margin-top: 9px;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	position: relative;
	z-index: 1;
}
/* ⚠️ 同上：深蓝卡内按钮必须用双类名提权，否则被 style.css 的 a:link 吃成黑色 */
.wp-aivision .wp-aivision-act a,
.wp-aivision .wp-aivision-act a:link,
.wp-aivision .wp-aivision-act a:visited,
.wp-aivision .wp-aivision-act a:hover {
	font-size: 12px;
	line-height: 27px;
	height: 27px;
	padding: 0 11px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .22);
	color: #EAF3FB;
	white-space: nowrap;
}
.wp-aivision .wp-aivision-act a:active { background: rgba(255, 255, 255, .22); color: #FFFFFF; }
@media (max-width: 359px) {
	.wp-aivision { padding: 10px 11px 9px 11px; }
	.wp-aivision p { font-size: 12px; }
	.wp-aivision .wp-aivision-act a { font-size: 11.5px; padding: 0 9px; }
}

/* ============ 16. 详情页专属（标题 / 信息行 / 评论区压缩） ============ */
/* 标题：深蓝下划线风格标签 */
.wp-body .title h1 {
	font-size: 19px;
	line-height: 27px;
	font-weight: 700;
	color: #17202B;
	padding: 14px 14px 10px 14px;
	margin: 0;
}
/* 信息行：时间 / 来源 / 阅读数，强制单行不换行
   ⚠️ 原用 float:right，浮点逃出 .info 后会撑窄紧随其后的 .wp-aibox（BFC 避让）
   → 导读框右边缘只到 308px 而非贴边 363px。故此处改为 flex 单行布局，彻底移除浮动。 */
.wp-body .info {
	padding: 0 14px 12px 14px;
	font-size: 12.5px;
	color: #8A93A0;
	border-bottom: none;
	line-height: 18px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	overflow: hidden;
}
.wp-body .info i {
	font-style: normal;
	margin-right: 12px;
	flex: 0 0 auto;
	white-space: nowrap;
}
.wp-body .info i:last-child { margin-right: 0; }
/* 来源可伸缩：过长时省略号，保证整行不折行 */
.wp-body .info i.ui-ico-info {
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* 阅读数推到最右（float 已被 flex 忽略，用 auto 外边距取代） */
.wp-body .info i.ui-fr,
.wp-body .info i.ui-ico-hits {
	float: none;
	margin-left: auto;
	margin-right: 0;
}
/* 正文：字号与行高按手机阅读优化（仅正文容器，避免波及评论/其它 .content）
   外框：与「AI 内容导读卡」同一套细线框语言（1px 深蓝细线 + 10px 圆角 + 白底） */
.wp-body .content[data-content] {
	font-size: 16px;
	line-height: 1.85;
	margin: 0 14px 12px 14px;
	padding: 12px 13px;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 1px solid rgba(2, 72, 147, .16);
	border-radius: 10px;
	color: #2A3340;
	word-break: break-word;
}
.wp-body .content[data-content] a { color: var(--wp-blue); }
.wp-body .content[data-content] img { border-radius: 6px; }

/* 相关评论区：减少显示区域 —— 只保留前 2 条，其余由「更多」进入完整列表 */
.wp-body .list-comment > .comments:nth-child(n+3) {
	display: none;
}
/* 单条评论过长时的高度兜底（含渐隐，避免硬切） */
.wp-body .list-comment {
	position: relative;
	max-height: 220px;
	overflow: hidden;
}
.wp-body .list-comment > .comments .content {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}
.wp-body .list-comment > .list-none {
	padding: 16px 14px;
}
/* 评论区被折叠后的「查看全部」入口 */
.wp-body .wp-cmore {
	display: block;
	margin: 0 14px 10px 14px;
	line-height: 34px;
	text-align: center;
	font-size: 12.5px;
	color: var(--wp-blue);
	background: #F5F8FC;
	border: 1px solid rgba(2, 72, 147, .16);
	border-radius: 17px;
}
/* 详情页的"相关评论"标题栏：深蓝细条 */
.wp-body .ui-head {
	background: #F5F8FC;
	color: #2A3340;
	font-weight: 600;
}
.wp-body .ui-head i { background: var(--wp-blue); }
/* 详情页底部工具条：深蓝主题 */
.wp-body .tool {
	border-top: 1px solid var(--wp-line);
	background: #fff;
	padding: 16px 0;
}
/* 列表页整块 / 详情页底部「相关动态」区：套大区域细线框（见第 19 节） */
.wp-body #list.main {
	background: var(--wp-card);
	margin: 10px 14px 12px 14px;
	border: 1px solid rgba(2, 72, 147, .16);
	border-radius: 10px;
	overflow: hidden;
}

/* ============ 17. 详情页 AI 元素在窄屏的微缩 ============ */
@media (max-width: 339px) {
	.wp-body .title h1 { font-size: 17.5px; line-height: 25px; }
	.wp-body .content[data-content] { font-size: 15.5px; }
}

/* ============ 18. 首页 AI 资讯洞察 / 页脚 AI 引擎 ============ */

/* —— AI 内容导读正文与关键词的截断兜底 —— */
.wp-body .wp-aibox p {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.wp-body .wp-aibox-tags {
	max-height: 52px;
	overflow: hidden;
}

/* —— 首页：AI 资讯洞察卡（参照主站 .secai；白底 + 蓝色细线框，去掉大片深蓝背景） —— */
.wp-secai {
	margin: 10px 0 0 0;
	padding: 0 12px 11px 12px;
	border-radius: var(--wp-r);
	background: #FFFFFF;
	border: 1px solid rgba(2, 72, 147, .28);
	color: var(--wp-txt);
	position: relative;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(2, 72, 147, .06);
}
/* 标题行铺满卡片宽度，与其他专区标题完全一致 */
.wp-secai > .wp-sec-hd {
	position: relative;
	z-index: 1;
	margin: 0 -12px 10px -12px;
}
/* 极淡的蓝色扫描光，保留"AI 在跑"的观感，但不形成蓝色色块 */
.wp-secai::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(47, 123, 232, .07) 50%, transparent);
	animation: wpSweep 4.4s linear infinite;
	pointer-events: none;
}
.wp-secai-hd {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
	margin-bottom: 9px;
}
.wp-secai-hd b {
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .4px;
	color: var(--wp-blue);
}
.wp-secai-hd b i {
	font-style: normal;
	margin-right: 5px;
	color: var(--wp-ai);
}
.wp-secai-hd s {
	margin-left: auto;
	text-decoration: none;
	display: flex;
	align-items: center;
	font-size: 10.5px;
	line-height: 17px;
	padding: 0 8px;
	border-radius: 9px;
	background: var(--wp-ai-l);
	border: 1px solid rgba(2, 72, 147, .20);
	color: var(--wp-blue);
	white-space: nowrap;
	flex: 0 0 auto;
}
.wp-secai-hd s u {
	text-decoration: none;
	width: 5px;
	height: 5px;
	margin-right: 4px;
	border-radius: 50%;
	background: var(--wp-ai);
	box-shadow: 0 0 0 0 rgba(47, 123, 232, .7);
	animation: wpAiBlink 1.8s infinite;
}
.wp-secai-sub {
	position: relative;
	z-index: 1;
	margin: 10px 0 7px 0;
	font-size: 11.5px;
	color: #7C8A9E;
	letter-spacing: .3px;
}
.wp-secai-sub:first-of-type { margin-top: 0; }
.wp-secai-sub em {
	font-style: normal;
	color: var(--wp-blue);
	font-weight: 700;
	font-family: Consolas, Menlo, monospace;
	margin: 0 2px;
}
/* 行业情绪分布条 */
.wp-moods {
	position: relative;
	z-index: 1;
	display: flex;
	height: 8px;
	border-radius: 4px;
	overflow: hidden;
	background: #EDF2F8;
}
.wp-moods i {
	display: block;
	height: 100%;
}
.wp-moods i.up { background: linear-gradient(90deg, #22B573, #3DD68C); }
.wp-moods i.mid { background: linear-gradient(90deg, #2F7BE8, #5FD8FA); }
.wp-moods i.dn { background: linear-gradient(90deg, #9BAEC6, #B9C6D6); }
.wp-moodlg {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
	font-size: 11px;
	color: #5F6673;
}
.wp-moodlg s {
	text-decoration: none;
	display: flex;
	align-items: center;
}
.wp-moodlg s::before {
	content: "";
	width: 6px;
	height: 6px;
	margin-right: 4px;
	border-radius: 50%;
	background: #2F7BE8;
	flex: 0 0 auto;
}
.wp-moodlg s:nth-child(1)::before { background: #22B573; }
.wp-moodlg s:nth-child(3)::before { background: #9BAEC6; }
/* 专题 / 学术 序号列表 */
.wp-ailist {
	position: relative;
	z-index: 1;
	counter-reset: wpai;
}
.wp-airow {
	counter-increment: wpai;
	display: flex;
	align-items: baseline;
	padding: 6px 0;
	font-size: 12.5px;
	line-height: 1.55;
	color: #2A3340;
	border-bottom: 1px solid #EEF2F7;
}
.wp-ailist .wp-airow:last-child { border-bottom: none; }
.wp-airow::before {
	content: counter(wpai);
	flex: 0 0 auto;
	width: 15px;
	font-family: Consolas, Menlo, monospace;
	font-size: 11.5px;
	color: #8FAFD4;
}
/* ⚠️ style.css 里 a:link{color:#000000} 权重 (0,1,1) 高于 .wp-airow (0,1,0)
   → 卡内标题会被吃成黑色。此处用 (0,2,0) 双类名提权并覆盖全部伪类状态。 */
.wp-secai .wp-airow,
.wp-secai .wp-airow:link,
.wp-secai .wp-airow:visited,
.wp-secai .wp-airow:hover {
	color: #2A3340;
	text-decoration: none;
}
.wp-secai .wp-airow:active { color: var(--wp-blue); }
.wp-secai .wp-airow::before { color: #8FAFD4; }
@media (max-width: 359px) {
	.wp-secai { padding: 10px 10px 9px 10px; }
	.wp-airow { font-size: 12px; }
}
@media (max-width: 359px) {
	.wp-secai { padding: 10px 10px 9px 10px; }
	.wp-airow { font-size: 12px; }
}

/* —— 页脚：AI 语义聚合引擎（参照主站 .fh-ai） —— */
.wp-fhai {
	display: inline-flex;
	align-items: center;
	margin: 0 0 6px 0;
	font-size: 11.5px;
	color: #7E8A99;
}
.wp-fhai i {
	width: 6px;
	height: 6px;
	margin-right: 5px;
	border-radius: 50%;
	background: var(--wp-blue);
	box-shadow: 0 0 0 0 rgba(2, 72, 147, .5);
	animation: wpAiBlink 1.8s infinite;
	flex: 0 0 auto;
}

/* ============ 19. 大区域细线框（列表区 / 频道区 / 板块区 / 评论区）
   统一框语言（与 .wp-aibox / .content[data-content] 完全一致）：
   白底 + 1px 淡蓝细线 rgba(2,72,147,.16) + 10px 圆角，左右各留 14px。
   原则：只套「区域比较大」的内容块，功能条（筛选条 / 工具条 / 分页）不套。 */

/* —— ① 板块页（资讯/学院/商务/服务）与频道首页的区块卡 ——
   .wp-sec 原为白底圆角 + 极淡投影，此处补 1px 细线使边缘清晰 */
.wp-sec {
	border: 1px solid rgba(2, 72, 147, .16);
}

/* —— ①b 首页四大板块之间「用细线框隔离开」（第 17 轮）——
   原 .16 透明度在 #F4F6F9 灰底上几乎看不见（实测截图：需放大 3 倍才辨得出）。
   首页各 .wp-sec 单独提亮到 .26 并补一层浅底外描边，使板块边界一眼可辨；
   同时把板块间距由 10px 提到 14px，让「隔离」有呼吸感。 */
body.wp-body .wp-main > .wp-sec {
	border-color: rgba(2, 72, 147, .26);
	margin-bottom: 14px;
	box-shadow: 0 1px 6px rgba(23, 43, 77, .05), 0 0 0 1px rgba(2, 72, 147, .05);
}
body.wp-body .wp-main > .wp-sec:last-child { margin-bottom: 8px; }
/* 板块底部的「由浅到深」色条与加粗边框留出间距，避免贴边 */
body.wp-body .wp-main > .wp-sec > .wp-sec-bar { margin-bottom: 12px; }

/* —— ② 列表页右侧分类大区（频道页 /channel.php?mid=N）——
   ⚠️ .cat-main 原定义在 channel.htm 的行内 <style> 里，行内样式位于 wap.css
   之后 → 必须用 body.wp-body 提权 (0,2,2) 才能覆盖。
   原 padding-left:96px 改为 margin-left:96px，让左侧线框与圆角露出来。 */
body.wp-body .cat-main {
	padding-left: 0;
	margin: 10px 10px 12px 96px;
	background: #FFFFFF;
	border: 1px solid rgba(2, 72, 147, .16);
	border-radius: 10px;
	overflow: hidden;
}
/* 分类大区内的一级分类条 / 二级分类网格不再各自铺满 */
body.wp-body .cat-main ul { border-bottom-width: 1px; }

/* —— ③ 频道首页（/channel.php 无 mid）的 .wp-sec 一样套框（第 ② 条已覆盖） —— */

/* —— ④ 详情页「相关评论」大区：整块一个框（模板 chip/comment.htm 包了 .wp-cmtbox）—— */
.wp-body .wp-cmtbox {
	margin: 10px 14px 12px 14px;
	background: var(--wp-card);
	border: 1px solid rgba(2, 72, 147, .16);
	border-radius: 10px;
	overflow: hidden;
}
.wp-body .wp-cmtbox .ui-head { border-bottom: 1px solid rgba(2, 72, 147, .10); }
.wp-body .wp-cmtbox .list-comment { margin: 0; }
.wp-body .wp-cmtbox .wp-cmore { margin: 0 14px 12px 14px; }


/* ============ 20. 频道门户（对齐主站各频道首页编排，2026-10-16） ============
   结构：频道头 → 分类 chips → 精选推荐 → 各分类区块 → 点击排行
   复用 .wp-sec / .wp-sec-hd / .wp-list / .wp-th / .wp-tx，仅新增下列专属类。 */

/* 20.1 频道头 */
.wp-chh { margin: 0 0 10px 0; padding: 14px 16px 13px 16px; border-radius: var(--wp-r);
	background: var(--wp-blue-g); color: #fff; display: flex; align-items: flex-end;
	justify-content: space-between; gap: 10px;
	box-shadow: 0 2px 10px rgba(2, 72, 147, .18); }
.wp-chh-t { min-width: 0; }
.wp-chh-t h1 { margin: 0; font-size: 20.5px; font-weight: 700; line-height: 1.25;
	display: flex; align-items: baseline; }
.wp-chh-t h1 em { font-style: normal; font-size: 10.5px; font-weight: 400;
	letter-spacing: .08em; opacity: .66; margin-left: 7px; }
.wp-chh-t p { margin: 6px 0 0 0; font-size: 12px; line-height: 1.45; opacity: .84; }
.wp-chh-n { flex: 0 0 auto; text-align: right; }
.wp-chh-n b { display: block; font-size: 20px; font-weight: 700; line-height: 1.05; }
.wp-chh-n i { font-style: normal; font-size: 10.5px; opacity: .72; }

/* 20.2 分类快捷 chips（横向滚动，不换行不溢出） */
.wp-chips { display: flex; flex-wrap: nowrap; gap: 7px; overflow-x: auto;
	margin: 0 0 10px 0; padding: 0 0 2px 0; box-sizing: border-box;
	-webkit-overflow-scrolling: touch; scrollbar-width: none; }
.wp-chips::-webkit-scrollbar { display: none; }
.wp-chips a { flex: 0 0 auto; height: 28px; line-height: 26px; padding: 0 12px;
	border-radius: 14px; background: #fff; color: #26405F; font-size: 12px;
	white-space: nowrap; border: 1px solid rgba(2, 72, 147, .14); box-sizing: border-box; }
.wp-chips a:active { background: #EAF1FA; }

/* 20.2b 数据脉搏条（对齐主站 ch-hdai / db-hd 数据监测条） */
.wp-chd { display: flex; gap: 1px; margin: 0 0 10px 0; padding: 0;
	border-radius: var(--wp-r); overflow: hidden; background: rgba(2, 72, 147, .10); }
.wp-chd > div { flex: 1 1 0; min-width: 0; padding: 9px 4px 8px 4px; text-align: center;
	background: #fff; }
.wp-chd > div b { display: block; font-size: 15px; font-weight: 700; line-height: 1.1;
	color: var(--wp-blue); letter-spacing: -.01em; }
.wp-chd > div i { display: block; margin-top: 3px; font-style: normal; font-size: 10px;
	color: var(--wp-gray); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 20.3 精选推荐 */
.wp-pkbox { padding: 10px 12px 12px 12px; }

/* —— 第 18 轮 #8 专家频道「专家精选」：1 行 2 个 × 6 行 = 12 位
      头像大小统一（正方形圆形裁切）、图在上、姓名在下 —— */
.wp-expg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px; padding: 6px 12px 12px 12px; }
body.wp-body .wp-expg > a { display: flex; flex-direction: column; flex-wrap: nowrap;
	align-items: center; min-width: 0; padding: 12px 8px 11px 8px; border-radius: 8px;
	background: #F7FAFE; border: 1px solid rgba(2, 72, 147, .08);
	box-sizing: border-box; text-decoration: none; }
body.wp-body .wp-expg > a,
body.wp-body .wp-expg > a:link,
body.wp-body .wp-expg > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-expg > a:active { background: #EDF4FC; }
/* ⚠️ 头像必须提权（body.wp-body .x）：否则被 body.wp-body img{max-width:100%;height:auto} 压过 */
body.wp-body .wp-expg-av { position: relative; display: flex; align-items: center;
	justify-content: center; width: 84px; height: 84px; border-radius: 50%;
	overflow: hidden; background: #E6EEF9; flex: 0 0 auto; }
body.wp-body .wp-expg-av > img { display: block; width: 84px; height: 84px;
	object-fit: cover; border-radius: 50%; max-width: none; }
.wp-expg-av > i { font-style: normal; font-size: 15px; font-weight: 600; color: var(--wp-blue);
	line-height: 1.15; text-align: center; padding: 0 4px; overflow: hidden; }
body.wp-body .wp-expg > a > b { display: block; margin-top: 9px; width: 100%;
	font-size: 14.5px; font-weight: 500; line-height: 1.4; text-align: center;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 359px) {
	body.wp-body .wp-expg-av,
	body.wp-body .wp-expg-av > img { width: 72px; height: 72px; }
	body.wp-body .wp-expg > a > b { font-size: 13.5px; }
}

.wp-pk { display: block; text-decoration: none; }
.wp-pk-img { display: block; position: relative; width: 100%; height: 176px;
	border-radius: 8px; overflow: hidden; background: #F1F3F7; }
body.wp-body .wp-pk-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-pk > b { display: block; margin-top: 9px; font-size: 15.5px; font-weight: 600;
	line-height: 1.45; color: var(--wp-txt); }
.wp-pk-m { display: flex; align-items: center; gap: 10px; margin-top: 5px;
	font-size: 11.5px; color: var(--wp-gray); }
.wp-pk-m em, .wp-pk-m u { font-style: normal; text-decoration: none; }
/* 无首图频道（法规/文献/人才…）时的精选主卡兜底，避免出现空洞 */
.wp-pk.wp-noimg { padding: 16px 14px; border-radius: 8px;
	background: linear-gradient(135deg, #EEF4FC 0%, #E3EDF9 100%);
	border: 1px solid rgba(2, 72, 147, .12); box-sizing: border-box; }
.wp-pk.wp-noimg > b { margin-top: 0; font-size: 16px; }

.wp-pk-i { display: flex; align-items: flex-start; padding: 11px 0 0 0; margin-top: 11px;
	border-top: 1px solid var(--wp-line); text-decoration: none; box-sizing: border-box; }
/* 第 18 轮 #2①：精选小条缩略图此前未定尺（宽度随原图比例变化 ⇒ 一排图宽窄不一）。
   与列表页 / 频道首页其它缩略图统一为 96×66 + object-fit:cover。 */
.wp-pk-i .wp-th { position: relative; flex: 0 0 auto; width: 96px; height: 66px;
	border-radius: 6px; overflow: hidden; background: #F1F3F7; }
body.wp-body .wp-pk-i .wp-th > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-pk-i .wp-tx { flex: 1 1 auto; min-width: 0; margin-left: 10px; }
.wp-pk-i .wp-tx b { display: block; font-size: 15.5px; font-weight: 500;
	line-height: 1.55; color: var(--wp-txt); }
.wp-pk-i .wp-tx p { margin: 8px 0 0 0; font-size: 12.5px; line-height: 18px;
	color: var(--wp-gray); display: flex; align-items: center; gap: 10px; }
.wp-pk-i .wp-tx p em, .wp-pk-i .wp-tx p u { font-style: normal; text-decoration: none; }

/* 20.4 视频/图集时长角标 */
.wp-dur { position: absolute; right: 5px; bottom: 5px; padding: 0 5px; height: 16px;
	line-height: 16px; border-radius: 3px; background: rgba(0, 0, 0, .62);
	color: #fff; font-size: 10px; font-style: normal; }
.wp-pk-img .wp-dur { right: 8px; bottom: 8px; height: 18px; line-height: 18px; font-size: 11px; }

/* 20.5 点击排行 */
.wp-rank { padding: 4px 12px 10px 12px; }
.wp-rank a { display: flex; align-items: center; padding: 9px 0;
	border-bottom: 1px solid var(--wp-line); text-decoration: none; }
.wp-rank a:last-child { border-bottom: none; }
.wp-rank i { flex: 0 0 auto; width: 18px; height: 18px; line-height: 18px; text-align: center;
	border-radius: 4px; background: #EDF1F6; color: #7A828E; font-size: 11px;
	font-style: normal; margin-right: 8px; }
.wp-rank a:nth-child(1) i { background: #FDE8E6; color: #CF4437; }
.wp-rank a:nth-child(2) i { background: #FDF1E3; color: #C77E1E; }
.wp-rank a:nth-child(3) i { background: #FBF6E2; color: #A98B14; }
.wp-rank b { flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 400; line-height: 1.5;
	color: var(--wp-txt); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-rank u { flex: 0 0 auto; margin-left: 8px; font-size: 11px;
	color: var(--wp-gray); text-decoration: none; }

/* 20.6 列表内价格（供应/求购/行情） */
.wp-list .wp-tx p u { font-style: normal; text-decoration: none; color: #D9453A; margin-left: 6px; }

/* 20.6b 最新发布（无图紧凑单行列表） */
.wp-sec .wp-nlist { padding: 2px 14px 8px 14px; }
.wp-sec .wp-nlist a { display: flex; align-items: center; padding: 10px 0;
	border-bottom: 1px solid var(--wp-line); }
.wp-sec .wp-nlist a:last-child { border-bottom: none; }
.wp-sec .wp-nlist a,
.wp-sec .wp-nlist a:link,
.wp-sec .wp-nlist a:visited { color: var(--wp-txt); text-decoration: none; }
.wp-sec .wp-nlist a:active { color: var(--wp-blue); }
.wp-sec .wp-nlist a span { flex: 1 1 auto; min-width: 0; font-size: 13.5px;
	line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical;
	-webkit-line-clamp: 2; overflow: hidden; }
.wp-sec .wp-nlist a u { flex: 0 0 auto; margin-left: 10px; font-size: 11px;
	color: var(--wp-gray); text-decoration: none; }

/* 20.6c 跨频道补充区块（来自其他频道的内容，用浅色头部区分，避免与本频道区块混淆） */
.wp-fillsec .wp-sec-hd { background: #F7FAFD; }
.wp-fillsec .wp-sec-hd > i { background: #7FA5CE; }
.wp-fillsec .wp-sec-hd h2 { color: #33506F; }
.wp-fillsec .wp-sec-hd em { font-style: normal; font-size: 9.5px; letter-spacing: .06em;
	color: #90A3B8; margin-left: 6px; }

/* 20.7 窄屏降级 */
@media (max-width: 359px) {
	.wp-chh { padding: 12px 13px 11px 13px; }
	.wp-chh-t h1 { font-size: 17px; }
	.wp-chh-n b { font-size: 18px; }
	.wp-pk-img { height: 152px; }
	.wp-list .wp-th { width: 88px; height: 60px; }
}

/* ============================================================
   21. 四大板块页（资讯 / 学院 / 商务 / 服务）2026-10-16
   编排对齐主站 /sector/*：板块头+数据 → 频道格 → 频道聚合卡
   → AI 数据中心 → 全板块热榜 → 兄弟板块 → 返回
   ============================================================ */

/* 21.1 板块头 */
.ws-hero { margin: 10px 0 10px 0; padding: 16px 16px 14px 16px; border-radius: var(--wp-r);
	background: var(--wp-blue-g); color: #fff; box-shadow: 0 2px 12px rgba(2, 72, 147, .20);
	box-sizing: border-box; }
.ws-hero h1 { margin: 0; font-size: 21px; font-weight: 700; line-height: 1.25;
	display: flex; align-items: baseline; flex-wrap: nowrap; }
.ws-hero h1 em { font-style: normal; flex: 0 0 auto; font-size: 10px; font-weight: 400;
	letter-spacing: .1em; opacity: .62; margin-left: 8px; }
.ws-lead { margin: 8px 0 0 0; font-size: 13.5px; line-height: 1.45; font-weight: 500; }
.ws-desc { margin: 6px 0 0 0; font-size: 11.5px; line-height: 1.55; opacity: .8; }
.ws-kpi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px;
	margin: 13px 0 0 0; border-radius: 8px; overflow: hidden; background: rgba(255, 255, 255, .22); }
.ws-kpi > div { min-width: 0; padding: 8px 4px 7px 4px; background: rgba(255, 255, 255, .10);
	text-align: center; }
.ws-kpi > div b { display: block; font-size: 15px; font-weight: 700; line-height: 1.15; }
.ws-kpi > div i { display: block; margin-top: 3px; font-style: normal; font-size: 9.5px;
	opacity: .72; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 21.2 频道快捷格 */
.ws-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;
	margin: 0 0 10px 0; }
.ws-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ws-grid > a { min-width: 0; padding: 11px 8px 9px 8px; border-radius: var(--wp-r);
	background: var(--wp-card); box-shadow: 0 1px 5px rgba(20, 40, 70, .06);
	text-align: center; box-sizing: border-box; }
body.wp-body .ws-grid > a,
body.wp-body .ws-grid > a:link,
body.wp-body .ws-grid > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .ws-grid > a:active { background: #F3F7FC; }
.ws-gi { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px;
	margin: 0 auto 6px auto; border-radius: 10px; background: var(--wp-blue-l); }
.ws-gi svg { width: 19px; height: 19px; stroke: var(--wp-blue); fill: none;
	stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ws-grid > a .ws-gn { display: block; font-size: 14px; font-weight: 600; line-height: 1.3;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-grid > a em { display: block; margin-top: 3px; font-style: normal; font-size: 10px;
	color: var(--wp-gray); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-grid > a .ws-gv { display: block; margin-top: 4px; font-style: normal; font-size: 11px;
	font-weight: 600; color: #6C7A8C; }

/* 21.3 频道聚合卡 */
.ws-chan { margin: 0 0 10px 0; border-radius: var(--wp-r); background: var(--wp-card);
	box-shadow: 0 1px 6px rgba(20, 40, 70, .07); overflow: hidden; }
.ws-chd { display: flex; align-items: center; gap: 7px; padding: 11px 12px 10px 12px;
	background: linear-gradient(90deg, #EFF5FC 0%, #F8FBFF 100%);
	border-bottom: 1px solid var(--wp-line); }
.ws-no { flex: 0 0 auto; width: 20px; height: 20px; line-height: 20px; text-align: center;
	border-radius: 6px; background: var(--wp-blue); color: #fff;
	font-size: 10.5px; font-weight: 700; font-style: normal; }
.ws-cic { flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
	width: 22px; height: 22px; }
.ws-cic svg { width: 17px; height: 17px; stroke: var(--wp-blue); fill: none;
	stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ws-chd b { flex: 0 0 auto; font-size: 16px; font-weight: 700; color: var(--wp-blue); }
.ws-chd em { flex: 1 1 auto; min-width: 0; font-style: normal; font-size: 11px; color: #6E7E92;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-chd u { flex: 0 0 auto; margin-left: auto; text-decoration: none;
	font-size: 13px; font-weight: 700; color: #22303F; }
.ws-chd u small { font-size: 10px; font-weight: 400; color: var(--wp-gray); margin-left: 2px; }
.ws-fig { display: flex; gap: 1px; background: var(--wp-line); }
.ws-fig > span { flex: 1 1 0; min-width: 0; padding: 8px 4px; background: #FBFCFE;
	text-align: center; font-size: 10px; color: var(--wp-gray);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-fig > span b { display: block; font-size: 13px; font-weight: 700; color: #22303F; line-height: 1.25; }
.ws-clist { padding: 2px 12px 4px 12px; }

/* —— 第 18 轮 #4③ 商务·品牌：LOGO 墙（1 行 2 个 × 6 行 = 12 个，只显 LOGO 不显名称）—— */
.ws-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px; padding: 4px 12px 10px 12px; }
body.wp-body .ws-logos > a { display: flex; align-items: center; justify-content: center;
	height: 66px; padding: 8px; border-radius: 8px; background: #FFFFFF;
	border: 1px solid var(--wp-line); box-sizing: border-box; overflow: hidden;
	text-decoration: none; }
body.wp-body .ws-logos > a:active { background: #F5F8FC; }
body.wp-body .ws-logos > a > img { display: block; max-width: 100%; max-height: 100%;
	width: auto; height: auto; object-fit: contain; }
@media (max-width: 359px) { body.wp-body .ws-logos > a { height: 58px; } }

/* —— 第 18 轮 #4④ 商务·行情：曲线图行情卡（1 行 2 个，链到品种详情页，不显标题）—— */
.ws-qcurves { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px; padding: 4px 12px 10px 12px; }
body.wp-body .ws-qcurves > a { display: block; min-width: 0; padding: 8px 8px 6px 8px;
	border-radius: 8px; background: #FFFFFF; border: 1px solid var(--wp-line);
	box-sizing: border-box; text-decoration: none; overflow: hidden; }
body.wp-body .ws-qcurves > a:active { background: #F5F8FC; }
.ws-qc-svg { display: block; width: 100%; height: 56px; }
.ws-qc-svg > polygon { fill: rgba(10, 99, 184, .10); stroke: none; }
.ws-qc-svg > polyline { fill: none; stroke: #0A63B8; stroke-width: 1.6;
	stroke-linejoin: round; stroke-linecap: round; }
.ws-qc-f { display: flex; align-items: baseline; justify-content: space-between; gap: 6px;
	margin-top: 4px; }
.ws-qc-f > b { min-width: 0; font-size: 12px; font-weight: 500; color: var(--wp-txt);
	line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-qc-f > em { flex: 0 0 auto; font-style: normal; font-size: 12.5px; font-weight: 700; }
.ws-qc-f > em.up { color: #D9453A; }
.ws-qc-f > em.dn { color: #1C9A5B; }
@media (max-width: 359px) { .ws-qc-svg { height: 48px; } }
body.wp-body .ws-clist a { display: flex; align-items: center; padding: 9px 0;
	border-bottom: 1px solid var(--wp-line); }
body.wp-body .ws-clist a:last-child { border-bottom: none; }
body.wp-body .ws-clist a,
body.wp-body .ws-clist a:link,
body.wp-body .ws-clist a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .ws-clist a:active { color: var(--wp-blue); }
.ws-clist a > i { flex: 0 0 auto; width: 4px; height: 4px; border-radius: 50%;
	background: #B9C6D6; margin-right: 8px; }
.ws-clist a > b { flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 400;
	line-height: 1.6; display: -webkit-box; -webkit-box-orient: vertical;
	-webkit-line-clamp: 2; overflow: hidden; }
.ws-clist a > u { flex: 0 0 auto; margin-left: 8px; font-size: 11px;
	color: var(--wp-gray); text-decoration: none; }
.ws-ccats { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 12px 8px 12px; }
body.wp-body .ws-ccats a { display: inline-flex; align-items: center; height: 24px; padding: 0 9px;
	border-radius: 12px; background: #F2F6FB; border: 1px solid rgba(2, 72, 147, .10);
	font-size: 11.5px; color: #3D5570; text-decoration: none; box-sizing: border-box; }
body.wp-body .ws-ccats a:active { background: #E6EFF9; }
.ws-ccats a u { margin-left: 5px; font-size: 10px; color: #8B9AAC; text-decoration: none; }
.ws-cft { display: flex; align-items: center; gap: 10px; padding: 8px 12px 11px 12px;
	border-top: 1px solid var(--wp-line); font-size: 10.5px; color: var(--wp-gray); }
.ws-cft > span { white-space: nowrap; }
.ws-cft > span b { color: #4A5C72; font-weight: 600; }
body.wp-body .ws-cft > a { margin-left: auto; font-size: 11.5px; color: var(--wp-blue);
	text-decoration: none; white-space: nowrap; }

/* 21.4 通用白盒（AI 数据中心 / 热榜 / 服务动态） */
.ws-box { margin: 0 0 10px 0; border-radius: var(--wp-r); background: var(--wp-card);
	box-shadow: 0 1px 6px rgba(20, 40, 70, .07); overflow: hidden; }
.ws-bh { display: flex; align-items: center; gap: 7px; padding: 12px 13px 10px 13px; }
.ws-bh b { font-size: 16px; font-weight: 700; color: var(--wp-txt); }
.ws-bh b::before { content: ""; display: inline-block; width: 3px; height: 14px;
	border-radius: 2px; background: var(--wp-blue); margin-right: 7px; vertical-align: -2px; }
.ws-bh em { font-style: normal; font-size: 9.5px; letter-spacing: .08em; color: #90A3B8; }
.ws-sub { display: flex; align-items: baseline; gap: 6px; padding: 8px 13px 6px 13px; }
.ws-sub b { font-size: 12.5px; font-weight: 600; color: #3D5570; }
.ws-sub em { font-style: normal; font-size: 9px; letter-spacing: .06em; color: #A9B6C6; }

/* 21.5 频道体量对比 */
.ws-bars { padding: 2px 13px 6px 13px; }
.ws-bar { display: flex; align-items: center; gap: 8px; padding: 4px 0; }
.ws-bn { flex: 0 0 46px; font-size: 11.5px; color: #4A5C72;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-bt { flex: 1 1 auto; min-width: 0; height: 8px; border-radius: 4px;
	background: #EEF2F7; overflow: hidden; }
.ws-bt i { display: block; height: 100%; border-radius: 4px;
	background: linear-gradient(90deg, #4E9BE0, #024893); }
.ws-bv { flex: 0 0 auto; font-size: 11px; color: #3D5570; font-weight: 600;
	white-space: nowrap; }
.ws-bv u { margin-left: 5px; text-decoration: none; font-size: 10px;
	color: #93A4B8; font-weight: 400; }

/* 21.6 近 8 年发布趋势 */
.ws-trd { display: flex; flex-wrap: nowrap; align-items: flex-end; gap: 5px;
	height: 108px; padding: 4px 13px 10px 13px; box-sizing: content-box; }
.ws-tc { flex: 1 1 0; min-width: 0; display: flex; flex-wrap: nowrap; flex-direction: column;
	align-items: center; justify-content: flex-end; height: 100%; }
.ws-tc u { text-decoration: none; font-size: 9px; color: #93A4B8; margin-bottom: 3px;
	white-space: nowrap; }
.ws-tc i { display: block; width: 100%; max-width: 30px; border-radius: 4px 4px 0 0;
	background: linear-gradient(180deg, #6FB0E8, #0A63B8); }
.ws-tc b { margin-top: 5px; font-size: 9.5px; font-weight: 400; color: #8B9AAC; }

/* 21.7 全板块热榜 —— 第 18 轮 #3 已按要求删除（样式同步下线） */

/* 21.7b 学院中心「专家」块（第 18 轮 #3④）—— 头像 + 姓名，1 行 2 位 × 6 行 = 12 位 */
.ws-exps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px; padding: 2px 13px 12px 13px; }
.ws-exps > a { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 8px;
	border-radius: 8px; background: #F7FAFE; border: 1px solid rgba(2, 72, 147, .08);
	box-sizing: border-box; text-decoration: none; }
body.wp-body .ws-exps > a,
body.wp-body .ws-exps > a:link,
body.wp-body .ws-exps > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .ws-exps > a:active { background: #EDF4FC; }
/* 头像定尺统一（方形裁切）；无头像时显示姓名首两字兜底 */
.ws-exp-av { flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 50%; overflow: hidden; background: #E6EEF9; }
body.wp-body .ws-exp-av > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ws-exp-av > i { font-style: normal; font-size: 12px; font-weight: 600; color: var(--wp-blue);
	line-height: 1.1; text-align: center; padding: 0 3px; overflow: hidden; }
.ws-exps > a > b { flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 500;
	line-height: 1.4; overflow: hidden; text-overflow: ellipsis;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	box-sizing: border-box; max-height: calc(2 * 1.4 * 14px); }
/* 「全部专家 →」标题栏右侧链接 */
.ws-bh .ws-more { flex: 0 0 auto; margin-left: auto; font-size: 11.5px; color: var(--wp-blue);
	text-decoration: none; }
body.wp-body .ws-bh .ws-more:visited { color: var(--wp-blue); }

/* 21.8 兄弟板块 —— 第 18 轮 #3：卡片方框内加底色（原为纯白 + 阴影，现补浅蓝底） */
.ws-sib { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
	margin: 0 0 10px 0; }
.ws-sib > a { position: relative; min-width: 0; padding: 12px 12px 22px 12px;
	border-radius: var(--wp-r); background: linear-gradient(160deg, #F4F8FE 0%, #EAF2FC 100%);
	border: 1px solid rgba(2, 72, 147, .13);
	box-shadow: 0 1px 6px rgba(20, 40, 70, .05); box-sizing: border-box; }
body.wp-body .ws-sib > a,
body.wp-body .ws-sib > a:link,
body.wp-body .ws-sib > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .ws-sib > a:active { background: #E4EEFB; }
.ws-sib > a em { display: block; font-style: normal; font-size: 9px;
	letter-spacing: .08em; color: #9FB0C2; }
.ws-sib > a b { display: block; margin-top: 3px; font-size: 14.5px;
	font-weight: 700; color: var(--wp-blue); }
.ws-sib > a p { margin: 6px 0 0 0; font-size: 11px; line-height: 1.45; color: #6E7E92; }
.ws-sib > a u { display: block; margin-top: 7px; font-size: 10px; color: #9FB0C2;
	text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-arw { position: absolute; right: 10px; bottom: 9px; font-style: normal;
	font-size: 13px; color: #B7C6D6; }

/* 21.9 服务板块：四大平台卡 */
.ws-plats { margin: 0 0 10px 0; border-radius: var(--wp-r); background: var(--wp-card);
	box-shadow: 0 1px 6px rgba(20, 40, 70, .07); overflow: hidden; }
body.wp-body .ws-pi { display: flex; align-items: center; gap: 11px; padding: 13px;
	border-bottom: 1px solid var(--wp-line); }
body.wp-body .ws-pi:last-child { border-bottom: none; }
body.wp-body .ws-pi,
body.wp-body .ws-pi:link,
body.wp-body .ws-pi:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .ws-pi:active { background: #F7FAFD; }
.ws-pt-ic { flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 12px; background: var(--wp-blue-l); }
.ws-pt-ic svg { width: 22px; height: 22px; stroke: var(--wp-blue); fill: none;
	stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ws-pt-t { flex: 1 1 auto; min-width: 0; }
.ws-pt-t b { display: block; font-size: 15px; font-weight: 600; }
.ws-pt-t em { display: block; margin-top: 2px; font-style: normal; font-size: 11px; color: #6E7E92; }
.ws-pt-t u { display: block; margin-top: 4px; font-size: 10.5px;
	color: #9FB0C2; text-decoration: none; }
.ws-pi .ws-arw { position: static; margin-left: 6px; }
/* 服务动态（.ws-flist）—— 第 18 轮 #5 已按要求删除（样式同步下线） */

/* 21.10 底部返回 */
.ws-back { display: flex; gap: 8px; margin: 0 0 10px 0; }
body.wp-body .ws-back a { flex: 1 1 0; min-width: 0; text-align: center; height: 40px;
	line-height: 38px; border-radius: var(--wp-r); background: var(--wp-card);
	border: 1px solid var(--wp-line); font-size: 13px; color: #4A5C72;
	text-decoration: none; box-sizing: border-box; }
body.wp-body .ws-back a:active { background: #F2F6FB; }

/* 21.11 窄屏降级 */
@media (max-width: 359px) {
	.ws-hero { padding: 13px 13px 12px 13px; }
	.ws-hero h1 { font-size: 18px; }
	.ws-bn { flex: 0 0 40px; font-size: 11px; }
	.ws-trd { height: 92px; }
	.ws-sib { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.ws-cft { gap: 8px; font-size: 10px; }
}

/* ================================================================
   22. 四大板块页补充（对齐主站 sec-ticker / sec-insight / 服务流程）
   ================================================================ */

/* 22.1 KPI 年度同比整行 */
.ws-kpi > div.wide { grid-column: 1 / -1; display: flex; flex-direction: row;
	align-items: baseline; justify-content: center; gap: 7px; padding: 9px 4px 9px 4px; }
.ws-kpi > div.wide > b { display: inline-block; font-size: 17px; line-height: 1.2; }
.ws-kpi > div.wide > i { display: inline-block; margin-top: 0; font-size: 11px; }
.ws-kpi > div.ws-up > b { color: #FFC7BB; }
.ws-kpi > div.ws-dn > b { color: #9FE9BE; }
.ws-kpi > div.ws-na > b { color: rgba(255, 255, 255, .70); }

/* 22.2 全板块最新（.ws-tick）—— 第 18 轮 #1 已按要求删除（样式同步下线） */

/* 22.3 列表缩略图（有图的信息在标题前显示图片） */
.ws-clist a > .ws-th { flex: 0 0 auto; width: 56px; height: 40px; margin-right: 9px;
	border-radius: 6px; overflow: hidden; background: #EEF2F7; }
body.wp-body .ws-clist a > .ws-th > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }

/* 22.4 AI 研判（.ws-insight）—— 第 18 轮 #3 已按要求删除（样式同步下线） */

/* 22.5 服务流程（对应主站 01–04） */
.ws-flow { padding-bottom: 11px; }
.ws-flow .ws-fi { display: flex; align-items: flex-start; gap: 10px; padding: 8px 13px; }
.ws-flow .ws-fi > i { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
	background: #EAF1FA; color: var(--wp-blue); font-style: normal; font-size: 12px;
	font-weight: 700; display: flex; align-items: center; justify-content: center; }
.ws-flow .ws-fi > span { flex: 1 1 auto; min-width: 0; }
.ws-flow .ws-fi > span > b { display: block; font-size: 13.5px; color: var(--wp-txt);
	line-height: 1.4; }
.ws-flow .ws-fi > span > em { display: block; margin-top: 3px; font-style: normal;
	font-size: 12px; line-height: 1.7; color: var(--wp-sub); }

/* 22.6 窄屏降级 */
@media (max-width: 359px) {
	.ws-clist a > .ws-th { width: 48px; height: 34px; margin-right: 7px; }
	.ws-kpi > div.wide > b { font-size: 16px; }
}

/* ================================================================
   23. 首页三大专区内容墙（资讯 / 学院 / 商务）
   ================================================================ */
.wp-hlead { margin: 9px 12px 3px 12px; font-size: 12.5px; line-height: 1.7;
	color: var(--wp-gray); }
.wp-hwall { padding-top: 2px; }
.wp-hchan { border-top: 1px solid var(--wp-line); }
.wp-hchan:first-child { border-top: none; }
.wp-hchd { display: flex; align-items: center; gap: 7px; height: 38px; padding: 0 12px; }
.wp-hchd > b { flex: 0 0 auto; font-size: 15px; font-weight: 700; color: var(--wp-blue); }
.wp-hchd > em { flex: 1 1 auto; min-width: 0; font-style: normal; font-size: 11.5px;
	color: #7C8A9E; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wp-body .wp-hchd > a { flex: 0 0 auto; font-size: 11px; color: var(--wp-blue);
	text-decoration: none; }
.wp-hlist { padding: 0 12px 7px 12px; }
body.wp-body .wp-hlist > a { display: flex; align-items: center; padding: 7px 0;
	border-bottom: 1px solid var(--wp-line); }
body.wp-body .wp-hlist > a:last-child { border-bottom: none; }
body.wp-body .wp-hlist > a,
body.wp-body .wp-hlist > a:link,
body.wp-body .wp-hlist > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hlist > a:active { color: var(--wp-blue); }
.wp-hlist > a > .wp-ht-img { flex: 0 0 auto; width: 52px; height: 37px; margin-right: 9px;
	border-radius: 6px; overflow: hidden; background: #EEF2F7; }
body.wp-body .wp-hlist > a > .wp-ht-img > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
.wp-hlist > a > b { flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 400;
	line-height: 1.6; display: -webkit-box; -webkit-box-orient: vertical;
	-webkit-line-clamp: 2; overflow: hidden; }
.wp-hlist > a > u { flex: 0 0 auto; margin-left: 8px; font-size: 11px;
	color: var(--wp-gray); text-decoration: none; }
/* 无图行：占位与有图行等宽（保证标题左对齐），居中一点淡记号 */
body.wp-body .wp-hlist > a.wp-nopic2::before { content: ""; flex: 0 0 auto;
	width: 52px; height: 37px; margin-right: 9px; border-radius: 6px;
	background-color: #F5F7FA;
	background-image: radial-gradient(circle, #C6D2DE 1.7px, transparent 1.7px);
	background-repeat: no-repeat; background-position: center center; }

@media (max-width: 359px) {
	.wp-hlist > a > .wp-ht-img { width: 46px; height: 33px; margin-right: 8px; }
	body.wp-body .wp-hlist > a.wp-nopic2::before { width: 46px; height: 33px; margin-right: 8px; }
	.wp-hlist > a > b { font-size: 14px; }
}

/* ================================================================
   24. 首页三专区特型频道块（第 13 轮）：
       品牌 = LOGO 墙 ｜ 专家 = 头像墙 ｜ 行情 = 报价曲线卡
   ================================================================ */

/* 24.1 品牌：1 行 3 个 LOGO，只显示图形，不显示品牌名称与发布时间 */
.wp-hbrand { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px; padding: 2px 12px 11px 12px; }
.wp-hbrand > a { min-width: 0; height: 52px; display: flex; align-items: center;
	justify-content: center; box-sizing: border-box; overflow: hidden;
	border: 1px solid var(--wp-line); border-radius: 8px; background: #FFFFFF; }
body.wp-body .wp-hbrand > a:active { background: #F5F8FC; }
body.wp-body .wp-hbrand > a > img { display: block; width: auto; height: auto;
	max-width: 84%; max-height: 34px; object-fit: contain; }

/* 24.2 专家：1 行 3 个「头像 + 姓名」，去掉发布日期 */
.wp-hexp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px; padding: 2px 12px 11px 12px; }
body.wp-body .wp-hexp > a { min-width: 0; display: flex; flex-direction: column;
	align-items: center; gap: 6px; padding: 10px 4px 9px 4px; box-sizing: border-box;
	border: 1px solid var(--wp-line); border-radius: 8px; background: #FFFFFF; }
body.wp-body .wp-hexp > a,
body.wp-body .wp-hexp > a:link,
body.wp-body .wp-hexp > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hexp > a:active { color: var(--wp-blue); background: #F5F8FC; }
body.wp-body .wp-hexp > a > img { flex: 0 0 auto; display: block; width: 54px; height: 54px;
	border-radius: 50%; object-fit: cover; background: #EEF2F7; }
.wp-hexp > a > .wp-hexp-ph { flex: 0 0 auto; display: flex; align-items: center;
	justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: #EEF2F7; }
.wp-hexp-ph svg { width: 26px; height: 26px; stroke: #9DAAB9; fill: none;
	stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.wp-hexp > a > b { display: block; width: 100%; font-size: 14px; font-weight: 500;
	line-height: 1.4; text-align: center; overflow: hidden;
	text-overflow: ellipsis; white-space: nowrap; }

/* 24.3 行情：1 行 2 个「品种报价曲线卡」，不显示信息标题与时间 */
.wp-hqte { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px; padding: 2px 12px 11px 12px; }
body.wp-body .wp-hqte > a { min-width: 0; display: block; padding: 9px 10px 7px 10px;
	box-sizing: border-box; border: 1px solid var(--wp-line); border-radius: 8px; background: #FFFFFF; }
body.wp-body .wp-hqte > a,
body.wp-body .wp-hqte > a:link,
body.wp-body .wp-hqte > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hqte > a:active { background: #F5F8FC; }
.wp-hq-h { display: flex; align-items: center; gap: 6px; }
.wp-hq-h > b { flex: 1 1 auto; min-width: 0; font-size: 14.5px; font-weight: 600;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-hq-h > em { flex: 0 0 auto; font-style: normal; font-size: 11px; font-weight: 700; }
.wp-hq-h > em.up { color: #CF4437; }
.wp-hq-h > em.dn { color: #178F52; }
.wp-hq-p { display: block; margin-top: 3px; font-size: 16px; font-weight: 700;
	line-height: 1.25; color: var(--wp-blue); }
.wp-hq-p > u { margin-left: 2px; font-size: 10.5px; font-weight: 400;
	color: var(--wp-gray); text-decoration: none; }
body.wp-body .wp-hq-svg { display: block; width: 100%; height: 46px; margin-top: 5px; }
.wp-hq-m { display: block; margin-top: 3px; font-size: 10px; color: var(--wp-gray);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 24.4 小屏降级（≤359）：整体收窄，图形同步缩小 */
@media (max-width: 359px) {
	.wp-hbrand, .wp-hexp, .wp-hqte { gap: 6px; padding-left: 10px; padding-right: 10px; }
	body.wp-body .wp-hbrand > a > img { max-height: 30px; }
	body.wp-body .wp-hexp > a > img, .wp-hexp > a > .wp-hexp-ph { width: 46px; height: 46px; }
	.wp-hexp-ph svg { width: 22px; height: 22px; }
	.wp-hexp > a > b { font-size: 13px; }
	.wp-hq-h > b { font-size: 13.5px; }
	.wp-hq-p { font-size: 15px; }
	body.wp-body .wp-hq-svg { height: 40px; }
}

/* ================================================================
   25. 详情页底部「关联调用」块（第 13 轮）：
       专家 / 品牌详情页 —— 相关动态 + 同类会展 + 推荐专家 / 相关品牌
       外框沿用 .wp-sec（已由第 19 节的细线框规则统管），此处只补
       详情页特有的左右边距与「动态列表」版式。
   ================================================================ */
.wp-sec.wp-drel { margin: 10px 14px 12px 14px; }
/* 副标题（关于「XX」的最新报道）过长时省略，不挤掉右侧「更多」 */
.wp-drel .wp-sec-hd > em { flex: 1 1 auto; min-width: 0; overflow: hidden;
	text-overflow: ellipsis; white-space: nowrap; }

/* 25.1 动态列表（缩略图 + 标题 + 日期） */
.wd-dyn { padding: 2px 12px 6px 12px; }
body.wp-body .wd-dyn > a { display: flex; align-items: center; padding: 9px 0;
	border-bottom: 1px solid var(--wp-line); }
body.wp-body .wd-dyn > a:last-child { border-bottom: none; }
body.wp-body .wd-dyn > a,
body.wp-body .wd-dyn > a:link,
body.wp-body .wd-dyn > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wd-dyn > a:active { color: var(--wp-blue); }
.wd-dyn > a > .wd-th { flex: 0 0 auto; width: 76px; height: 54px; margin-right: 10px;
	border-radius: 6px; overflow: hidden; background: #EEF2F7; }
body.wp-body .wd-dyn .wd-th > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
.wd-dyn > a > .wd-tx { flex: 1 1 auto; min-width: 0; }
.wd-dyn .wd-tx > b { display: block; font-size: 15px; line-height: 1.55; font-weight: 400;
	overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2;
	-webkit-box-orient: vertical; }
.wd-dyn .wd-tx > u { display: block; margin-top: 4px; font-size: 11px;
	color: var(--wp-gray); text-decoration: none; }

/* 25.2 小屏降级 */
@media (max-width: 359px) {
	.wd-dyn > a > .wd-th { width: 64px; height: 46px; margin-right: 8px; }
	.wd-dyn .wd-tx > b { font-size: 14px; }
}

/* ================================================================
   26. 首页新增块（第 14 轮）：
       26.1 动态频道下方「推荐图文」（1 行 2 个 · 角标「最新」）
       26.2 专题 / 图库 / 视频「2 列大图」（各最新 4 条）
       26.3 底部「展会」大图（1 行 1 个 · 最新 3 条）
   ================================================================ */

/* 26.1 推荐图文：图上角标「最新」，图下标题两行（不显示日期） */
.wp-hfeat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px; padding: 0 12px 11px 12px; }
body.wp-body .wp-hfeat > a { position: relative; min-width: 0; display: block;
	border: 1px solid var(--wp-line); border-radius: 8px; overflow: hidden;
	background: #FFFFFF; }
body.wp-body .wp-hfeat > a,
body.wp-body .wp-hfeat > a:link,
body.wp-body .wp-hfeat > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hfeat > a:active { color: var(--wp-blue); background: #F5F8FC; }
.wp-hfeat > a > .wp-hf-i { display: block; width: 100%; height: 96px;
	background: #EEF2F7; overflow: hidden; }
body.wp-body .wp-hfeat .wp-hf-i > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
.wp-hfeat > a > .wp-hf-tag { position: absolute; left: 6px; top: 6px; z-index: 2;
	display: inline-block; padding: 0 6px; height: 17px; line-height: 17px;
	font-style: normal; font-size: 10.5px; font-weight: 600; color: #FFFFFF;
	background: var(--wp-blue); border-radius: 3px; }
.wp-hfeat > a > b { display: block; padding: 6px 8px 8px 8px; font-size: 14px;
	font-weight: 400; line-height: 1.5; overflow: hidden;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* 26.2 专题 / 图库 / 视频：2 列大图 · 最新 4 条 */
.wp-hgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px; padding: 0 12px 11px 12px; }
body.wp-body .wp-hgrid > a { min-width: 0; display: block;
	border: 1px solid var(--wp-line); border-radius: 8px; overflow: hidden;
	background: #FFFFFF; }
body.wp-body .wp-hgrid > a,
body.wp-body .wp-hgrid > a:link,
body.wp-body .wp-hgrid > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hgrid > a:active { color: var(--wp-blue); background: #F5F8FC; }
.wp-hgrid > a > .wp-hg-i { display: block; width: 100%; height: 108px;
	background: #EEF2F7; overflow: hidden; }
body.wp-body .wp-hgrid .wp-hg-i > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
.wp-hgrid > a > b { display: block; padding: 6px 8px 3px 8px; font-size: 14px;
	font-weight: 400; line-height: 1.5; overflow: hidden;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.wp-hgrid > a > u { display: block; padding: 0 8px 8px 8px; font-size: 11px;
	color: var(--wp-gray); text-decoration: none; }

/* 26.3 底部展会：一行 1 个。会议横幅原图为宽幅（实测 1170×350 ≈ 3.34:1）
   且图上带会名文字 ⇒ 必须按原比例完整显示、不可 cover 裁切，
   「会议名称」改为排在图片下方 */
.wp-hexlist { padding: 0 12px 12px 12px; }
body.wp-body .wp-hexlist > a { display: block; overflow: hidden; margin-bottom: 10px;
	border: 1px solid var(--wp-line); border-radius: 9px; background: #FFFFFF; }
body.wp-body .wp-hexlist > a:last-child { margin-bottom: 0; }
body.wp-body .wp-hexlist > a,
body.wp-body .wp-hexlist > a:link,
body.wp-body .wp-hexlist > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hexlist > a:active { color: var(--wp-blue); background: #F5F8FC; }
.wp-hexlist > a > .wp-hx-i { display: block; width: 100%; max-height: 230px;
	background: #F2F5F9; overflow: hidden; }
body.wp-body .wp-hexlist .wp-hx-i > img { display: block; width: 100%; height: auto; }
.wp-hexlist > a > b { display: block; padding: 8px 10px 10px 10px; font-size: 15px;
	font-weight: 500; line-height: 1.45; overflow: hidden;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* 26.4 小屏降级（≤359） */
@media (max-width: 359px) {
	.wp-hfeat, .wp-hgrid { gap: 6px; padding-left: 10px; padding-right: 10px; }
	.wp-hfeat > a > .wp-hf-i { height: 86px; }
	.wp-hgrid > a > .wp-hg-i { height: 98px; }
	.wp-hfeat > a > b, .wp-hgrid > a > b { font-size: 13px; }
	.wp-hexlist { padding-left: 10px; padding-right: 10px; }
	.wp-hexlist > a > b { font-size: 14px; }
}

/* ================================================================
   27. 首页第三轮编排（第 15 轮）：
       27.1 三个板块底部「由浅到深」渐变装饰色条（.wp-sec-bar）
       27.2 动态频道顶部「幻灯图文」（level=2 · 5 条 · 横滑）
       27.3 消费频道「有图 3 条 + 2 行摘要」（缩略图同动态）
       27.4 动态 6 条列表：缩略图放大 + 标题 3 行
       27.5 推荐图文 4 条：标题 4 行
       27.6 专题/图库/视频：去掉日期后标题下补齐底部留白
       27.7 展会块：标题下「时间 · 城市」
   ================================================================ */

/* 27.1 板块底部渐变色条：左浅右深（浅蓝 → 深蓝） */
.wp-sec-bar { display: block; height: 3px; margin: 0 12px 11px 12px;
	border-radius: 2px;
	background: linear-gradient(to right,
		rgba(2, 72, 147, .08) 0%, rgba(2, 72, 147, .26) 34%,
		rgba(2, 72, 147, .58) 68%, rgba(2, 72, 147, .92) 100%); }

/* 27.2 幻灯图文：横滑，一屏 1.06 张（露出下一张边缘提示可滑） */
.wp-hsld { display: flex; flex-wrap: nowrap; gap: 8px; padding: 0 12px 8px 12px;
	overflow-x: auto; overflow-y: hidden;
	-webkit-overflow-scrolling: touch; scrollbar-width: none; }
.wp-hsld::-webkit-scrollbar { display: none; }
body.wp-body .wp-hsld > a { flex: 0 0 88%; min-width: 0; display: block;
	border: 1px solid var(--wp-line); border-radius: 8px; overflow: hidden;
	background: #FFFFFF; }
body.wp-body .wp-hsld > a,
body.wp-body .wp-hsld > a:link,
body.wp-body .wp-hsld > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hsld > a:active { color: var(--wp-blue); }
.wp-hsld > a > .wp-hs-i { display: block; width: 100%; height: 152px;
	background: #EEF2F7; overflow: hidden; }
body.wp-body .wp-hsld .wp-hs-i > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
.wp-hsld > a > b { display: block; padding: 7px 9px 9px 9px; font-size: 15px;
	text-align: left; font-weight: 500; line-height: 1.5; overflow: hidden;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* 27.3 消费：有图 3 条，左图右文，标题下 2 行摘要（缩略图尺寸同动态） */
.wp-hcons { padding: 2px 12px 6px 12px; }
body.wp-body .wp-hcons > a { display: flex; align-items: flex-start; padding: 10px 0;
	border-bottom: 1px solid var(--wp-line); }
body.wp-body .wp-hcons > a:last-child { border-bottom: none; }
body.wp-body .wp-hcons > a,
body.wp-body .wp-hcons > a:link,
body.wp-body .wp-hcons > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hcons > a:active { color: var(--wp-blue); }
.wp-hcons > a > .wp-hc-img { flex: 0 0 auto; width: 96px; height: 68px; margin-right: 10px;
	border-radius: 6px; overflow: hidden; background: #EEF2F7; }
body.wp-body .wp-hcons .wp-hc-img > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
.wp-hcons > a > .wp-hc-tx { flex: 1 1 auto; min-width: 0; text-align: left; }
.wp-hcons .wp-hc-tx > b { display: block; font-size: 15px; font-weight: 500;
	text-align: left; line-height: 1.5; overflow: hidden; display: -webkit-box;
	-webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.wp-hcons .wp-hc-tx > p { margin: 5px 0 0 0; font-size: 12.5px; line-height: 18px;
	text-align: left; color: var(--wp-gray); overflow: hidden; display: -webkit-box;
	-webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* 27.4 动态 6 条：缩略图放大（52×37 → 68×48）+ 标题 3 行 */
.wp-hlist > a > .wp-ht-img { width: 68px; height: 48px; }
body.wp-body .wp-hlist > a.wp-nopic2::before { width: 68px; height: 48px; }
.wp-hlist > a > b { -webkit-line-clamp: 3; line-height: 1.55; }

/* 27.5 推荐图文 4 条：标题 4 行 */
.wp-hfeat > a > b { -webkit-line-clamp: 4; }

/* 27.6 专题/图库/视频：无日期，标题补底部留白 */
.wp-hgrid > a > b { padding: 6px 8px 9px 8px; }

/* 27.7 展会：标题下「时间 · 城市」 */
.wp-hexlist > a > .wp-hx-m { display: block; padding: 0 10px 10px 10px;
	font-size: 12.5px; line-height: 1.5; color: var(--wp-sub);
	text-decoration: none; }
.wp-hexlist > a > b { padding: 8px 10px 4px 10px; }

/* 27.8 小屏降级（≤359） */
@media (max-width: 359px) {
	.wp-hsld > a > .wp-hs-i { height: 132px; }
	body.wp-body .wp-hsld > a { flex-basis: 90%; }
	.wp-hsld > a > b { font-size: 14px; }
	.wp-hcons > a > .wp-hc-img { width: 84px; height: 60px; margin-right: 8px; }
	.wp-hcons .wp-hc-tx > b { font-size: 14px; }
	.wp-hlist > a > .wp-ht-img { width: 60px; height: 42px; }
	body.wp-body .wp-hlist > a.wp-nopic2::before { width: 60px; height: 42px; }
}

/* 27.9 标题左对齐兜底：避免继承页面内某些右对齐规则（第 15 轮补） */
.wp-hfeat > a > b, .wp-hgrid > a > b, .wp-hlist > a > b,
.wp-hexlist > a > b, .wp-hexlist > a > .wp-hx-m { text-align: left; }

/* ================================================================
   28. 首页第四轮编排（第 16 轮）
   ① 动态幻灯：横滑 → 自动轮换（一屏 1 张 · 定时切换 · 圆点指示）
   ② 动态 6 条：删掉日期标签
   ③ 推荐图文：标题 4 行 → 2 行
   ④ 技术 / 图书 / 文献：顶部 2 条图文 + 下方 4 条无图纯文字
   ⑤ 品牌：LOGO 墙 2 行 → 3 行
   ⑥ 列表页（动态等所有列表）：首屏缩略图尺寸统一
   ================================================================ */

/* 28.1 动态幻灯：一屏 1 张，容器相对定位，轮换用 transform 位移 */
.wp-hsld { display: block; position: relative;
	padding: 0 12px 8px 12px; overflow: hidden; }
.wp-hsld-vp { display: block; position: relative; overflow: hidden;
	border-radius: 8px; }
body.wp-body .wp-hsld-trk { display: flex; flex-wrap: nowrap; min-width: 0;
	transition: transform .45s ease; will-change: transform; }
body.wp-body .wp-hsld-trk > a { flex: 0 0 100%; min-width: 0; display: block;
	border: 1px solid var(--wp-line); border-radius: 8px; overflow: hidden;
	background: #FFFFFF; box-sizing: border-box; }
body.wp-body .wp-hsld-trk > a,
body.wp-body .wp-hsld-trk > a:link,
body.wp-body .wp-hsld-trk > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-hsld-trk > a:active { color: var(--wp-blue); }
.wp-hsld-trk > a > .wp-hs-i { display: block; width: 100%; height: 152px;
	background: #EEF2F7; overflow: hidden; }
body.wp-body .wp-hsld-trk .wp-hs-i > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
.wp-hsld-trk > a > b { display: block; padding: 7px 9px 9px 9px; font-size: 15px;
	text-align: left; font-weight: 500; line-height: 1.5; overflow: hidden;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
/* 圆点指示：叠在图片右下角 */
.wp-hsld-dots { position: absolute; right: 20px; bottom: 62px; z-index: 3;
	display: flex; align-items: center; gap: 5px; }
.wp-hsld-dots > i { display: block; width: 6px; height: 6px; border-radius: 50%;
	background: rgba(255, 255, 255, .62); box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }
.wp-hsld-dots > i.on { background: #FFFFFF; width: 14px; border-radius: 3px; }

/* 28.2 技术 / 图书 / 文献（第 17 轮）：频道最新 6 条 —— 有图左图右文，无图纯文字标题
   ⚠️ 标题 clamp 用「border-box + max-height 收到第 2 行线底」双保险（见 §30） */
.wp-htech { padding: 2px 12px 6px 12px; }
body.wp-body .wp-htech > a { display: flex; align-items: flex-start; padding: 10px 0;
	border-bottom: 1px solid var(--wp-line); }
body.wp-body .wp-htech > a:last-child { border-bottom: none; }
body.wp-body .wp-htech > a,
body.wp-body .wp-htech > a:link,
body.wp-body .wp-htech > a:visited { color: var(--wp-txt); text-decoration: none; }
body.wp-body .wp-htech > a:active { color: var(--wp-blue); }
/* 有图行：左图右文（图同动态 68×48） */
body.wp-body .wp-htech > a.wp-ht-pic > .wp-ht-img { flex: 0 0 auto; width: 68px; height: 48px;
	margin-right: 10px; border-radius: 6px; overflow: hidden; background: #EEF2F7; }
body.wp-body .wp-htech .wp-ht-img > img { display: block; width: 100%; height: 100%;
	object-fit: cover; }
body.wp-body .wp-htech > a > b { flex: 1 1 auto; min-width: 0; display: block;
	font-size: 15px; font-weight: 500; text-align: left; line-height: 1.55;
	overflow: hidden; word-break: break-word;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
	box-sizing: border-box; max-height: calc(2 * 1.55 * 15px + 0px); }
/* 无图行：整行只有标题，行内加一点左内缩以与有图行文字对齐观感 */
body.wp-body .wp-htech > a:not(.wp-ht-pic) { padding-left: 2px; }
/* 子栏目名前缀：允许折行，避免「《中国食用菌》· 第六期」撑破行宽 */
.wp-htech .wp-hcat { display: inline; margin-right: 5px; padding: 1px 5px;
	font-size: 11.5px; vertical-align: 1px; font-weight: 400;
	color: var(--wp-blue); background: var(--wp-blue-l); border-radius: 3px;
	white-space: normal; word-break: keep-all; }

/* 28.5 推荐图文：标题 4 行 → 2 行（第 16 轮，覆盖 27.5） */
.wp-hfeat > a > b { -webkit-line-clamp: 2; }

/* 28.6 品牌：LOGO 墙改 3 行（3 列 × 3 行 = 9 个） */
body.wp-body .wp-hbrand > a { height: 46px; }
body.wp-body .wp-hbrand > a > img { max-height: 30px; }

/* 28.4 小屏降级（≤359） */
@media (max-width: 359px) {
	.wp-hsld-trk > a > .wp-hs-i { height: 132px; }
	.wp-hsld-trk > a > b { font-size: 14px; }
	.wp-hsld-dots { bottom: 58px; }
	body.wp-body .wp-htech > a.wp-ht-pic > .wp-ht-img { width: 60px; height: 42px; margin-right: 8px; }
	body.wp-body .wp-htech > a > b { font-size: 14px; }
	body.wp-body .wp-hbrand > a { height: 42px; }
}

/* ================================================================
   29. 内容列表页（list.php）首屏缩略图统一（第 16 轮）
   原 .ui-list-mix img{width:30%} 无固定高 → 高度随原图比例浮动、行高参差
   ⇒ 统一为定宽定高 + object-fit:cover；标题固定 2 行
   ================================================================ */
.wp-body .ui-list-mix { padding: 12px; }
body.wp-body .ui-list-mix > a { flex: 0 0 auto; }
body.wp-body .ui-list-mix > ul { min-width: 0; }
body.wp-body .ui-list-mix img {
	float: none; display: block;
	width: 96px; height: 70px; margin: 0 10px 0 0;
	border-radius: 6px; object-fit: cover; background: #F1F3F7;
}
body.wp-body .ui-list-mix { display: flex; align-items: flex-start; }
body.wp-body .ui-list-mix > a { width: 96px; height: 70px; margin-right: 10px;
	border-radius: 6px; overflow: hidden; }
body.wp-body .ui-list-mix > a > img { width: 100%; height: 100%; margin: 0; }
.wp-body .ui-list-mix ul { flex: 1 1 auto; min-width: 0; padding: 0; margin: 0;
	list-style: none; }
.wp-body .ui-list-mix ul > li > a { display: block; text-decoration: none; }
.wp-body .ui-list-mix strong { display: -webkit-box; -webkit-box-orient: vertical;
	-webkit-line-clamp: 2; overflow: hidden; margin: 0 0 6px 0; font-size: 15.5px;
	line-height: 22px; font-weight: 500; color: var(--wp-txt); }
.wp-body .ui-list-mix p { margin: 0; padding: 0; height: auto; line-height: 16px;
	font-size: 12px; color: var(--wp-gray); }
/* 无图纯文字行也统一最小高度，避免参差 */
.wp-body .ui-list-txt { padding: 12px; }
.wp-body .ui-list-txt strong { display: -webkit-box; -webkit-box-orient: vertical;
	-webkit-line-clamp: 2; overflow: hidden; margin: 0 0 6px 0; font-size: 15.5px;
	line-height: 22px; font-weight: 500; }
.wp-body .ui-list-txt div { margin: 0 0 6px 0; padding: 0; max-height: 40px;
	line-height: 20px; font-size: 12.5px; color: var(--wp-gray); }
.wp-body .ui-list-txt p { margin: 0; padding: 0; height: auto; line-height: 16px; font-size: 12px; }
@media (max-width: 359px) {
	body.wp-body .ui-list-mix img { width: 86px; height: 63px; }
	body.wp-body .ui-list-mix > a { width: 86px; height: 63px; }
	.wp-body .ui-list-mix strong, .wp-body .ui-list-txt strong { font-size: 14.5px; line-height: 21px; }
}

/* ================================================================
   30. 标题 2 行截断根治（第 17 轮）—— 「2 行有省略号，第 3 行又露出来」
   ────────────────────────────────────────────────────────────────
   症状：推荐图文 / 专题 / 图库 / 视频 的标题明明设了 -webkit-line-clamp:2，
        第 2 行末尾也有省略号，但第 3 行文字仍露出半截。
   真因（Chrome 151 实测，CDP getMatchedStylesForNode + Range 逐行测量）：
     · Chrome 151 已支持标准 line-clamp；`display:-webkit-box` 被规范化为
       **`flow-root`**（即使写 `display:-webkit-box !important` 也算出 flow-root）。
     · 此时 `-webkit-line-clamp` 只保留「按行裁剪」语义，省略号定位不再与裁剪点
       对齐；裁剪点落在 **padding box 底边**，而标题有 `padding-bottom:8px`
       ⇒ 盒底比第 2 行线底多出 8px，第 3 行顶部约 7px 露在盒内。
   实测数据（标题 line-height 21px / padding 6px 上、8px 下）：
     max-height:50px → 露第 3 行（leak=4）；**max-height:48px → leak=0**（临界，
     48 = padding-top 6 + 2×21，正好到第 2 行线底）。
   修法（双保险）：
     ① box-sizing:border-box + max-height = 行数×行高 + padding-top（不含 padding-bottom）
     ② 保留 line-clamp 2 以维持省略号
   注意：padding-top/bottom/line-height 若改，max-height 必须同步改。
   ================================================================ */

/* 30.1 推荐图文（.wp-hfeat）：font 14px / line-height 1.5(=21px) / padding 6 8 8 8 */
body.wp-body .wp-hfeat > a > b {
	box-sizing: border-box;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: calc(2 * 1.5 * 14px + 6px);   /* = 48px */
	overflow: hidden;
}

/* 30.2 专题 / 图库 / 视频（.wp-hgrid）：font 14px / line-height 1.5(=21px) / padding 6 8 9 8 */
body.wp-body .wp-hgrid > a > b {
	box-sizing: border-box;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: calc(2 * 1.5 * 14px + 6px);   /* = 48px */
	overflow: hidden;
}

/* 30.3 技术 / 图书 / 文献（.wp-htech）：font 15px / line-height 1.55(=23.25px) / padding 0 */
body.wp-body .wp-htech > a > b {
	box-sizing: border-box;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: calc(2 * 1.55 * 15px);        /* = 46.5px */
	overflow: hidden;
}

/* 30.4 幻灯（.wp-hsld-trk）：font 15px / line-height 1.5 / padding 7 9 9 9 */
body.wp-body .wp-hsld-trk > a > b {
	box-sizing: border-box;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: calc(2 * 1.5 * 15px + 7px);   /* = 52px */
	overflow: hidden;
}

/* 30.5 展会（.wp-hexlist）：font 15px / line-height 1.45 / padding 8 10 4 10 */
body.wp-body .wp-hexlist > a > b {
	box-sizing: border-box;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: calc(2 * 1.45 * 15px + 8px);  /* = 51.5px */
	overflow: hidden;
}

/* 30.6 消费（.wp-hcons）：font 15px / line-height 1.5 / padding 0 */
body.wp-body .wp-hcons .wp-hc-tx > b {
	box-sizing: border-box;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: calc(2 * 1.5 * 15px);         /* = 45px */
	overflow: hidden;
}

/* 30.7 列表页（list.php）：font 15.5px / line-height 22px / padding 0 */
body.wp-body .ui-list-mix strong,
body.wp-body .ui-list-txt strong {
	box-sizing: border-box;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: 44px;                          /* 2 × 22 */
	overflow: hidden;
}

/* 30.8 小屏降级（≤359）：字号降一档 ⇒ max-height 同步收紧 */
@media (max-width: 359px) {
	body.wp-body .wp-hfeat > a > b,
	body.wp-body .wp-hgrid > a > b {
		max-height: calc(2 * 1.5 * 13px + 6px);       /* 13px 字号，= 45px */
	}
	body.wp-body .wp-htech > a > b,
	body.wp-body .wp-hsld-trk > a > b,
	body.wp-body .wp-hcons .wp-hc-tx > b {
		max-height: calc(2 * 1.55 * 14px);            /* 14px 字号，= 43.4px */
	}
	body.wp-body .wp-hsld-trk > a > b { max-height: calc(2 * 1.5 * 14px + 7px); }
	body.wp-body .wp-hexlist > a > b { max-height: calc(2 * 1.45 * 14px + 8px); }
	body.wp-body .ui-list-mix strong,
	body.wp-body .ui-list-txt strong { max-height: 42px; }   /* 2 × 21 */
}

/* ============================================================
   第 18 轮 #9：会展详情页「城市/地址/展馆/主办」信息区 —— 细线框
   目标模板：template/mobile/exhibit/exp_show.htm（$action=home 与 else 两个分支各一处）
   说明：原为裸 <div class="content"> 用 <br/> 换行；现改为
        .ex-info（细线框）+ <dl> 标签值双列，标签右对齐、值左对齐。
   铁律：不改公共类 .content —— 使用专属类 .ex-info，避免影响其余 40+ 详情页。
   ============================================================ */
.ex-info {
	margin: 12px 12px 0 12px;
	padding: 10px 12px;
	border: 1px solid rgba(2, 72, 147, .16);
	border-radius: var(--wp-r);
	background: #FBFCFE;
	box-sizing: border-box;
}
.ex-info > dl {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 12px;
	row-gap: 8px;
	align-items: baseline;
	margin: 0;
	padding: 0;
}
.ex-info > dl > dt {
	font-size: 13.5px;
	line-height: 21px;
	color: var(--wp-gray);
	white-space: nowrap;
}
.ex-info > dl > dd {
	margin: 0;
	min-width: 0;
	font-size: 14px;
	line-height: 21px;
	color: var(--wp-txt);
	overflow-wrap: break-word;
	word-break: break-word;
}
/* 地址是链接，沿用详情页链接蓝，并强制全态双类名提权 */
body.wp-body .ex-info > dl > dd > a:link,
body.wp-body .ex-info > dl > dd > a:visited { color: #024893; }
body.wp-body .ex-info > dl > dd > a:hover,
body.wp-body .ex-info > dl > dd > a:active { color: #01356E; }
@media (max-width: 359px) {
	.ex-info { margin: 10px 10px 0 10px; padding: 9px 10px; }
	.ex-info > dl { column-gap: 10px; row-gap: 7px; }
	.ex-info > dl > dt { font-size: 13px; line-height: 20px; }
	.ex-info > dl > dd { font-size: 13.5px; line-height: 20px; }
}

/* ============================================================
   第 19 轮 #1：行情频道「行情精选」品种报价曲线（每行 1 个 · 大图）
   目标模板：template/mobile/mobile/ch_home.htm（$CH[curves] 分支）
   数据源：wpch.inc.php wp_ch_home($mid=7) 的 $out['curves']
   说明：与首页/板块卡的小曲线（.ws-qc-svg 2 列）区分，此处为整行宽的放大版。
   ============================================================ */
.wp-qlist { padding: 4px 12px 12px 12px; }
body.wp-body .wp-qlist > a {
	display: block; min-width: 0; margin-bottom: 10px; padding: 11px 12px 10px 12px;
	border-radius: var(--wp-r); background: #FFFFFF;
	border: 1px solid rgba(2, 72, 147, .12); box-sizing: border-box;
	text-decoration: none; overflow: hidden;
	box-shadow: 0 1px 5px rgba(20, 40, 70, .04);
}
body.wp-body .wp-qlist > a:last-child { margin-bottom: 0; }
body.wp-body .wp-qlist > a:active { background: #F5F8FC; }
/* 头部：品种名 + 最新价 */
.wp-ql-hd { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.wp-ql-hd > b { min-width: 0; font-size: 15px; font-weight: 600; color: var(--wp-txt);
	line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-ql-hd > em { flex: 0 0 auto; font-style: normal; font-size: 17px; font-weight: 700;
	letter-spacing: -.02em; }
.wp-ql-hd > em > u { margin-left: 2px; font-size: 10.5px; font-weight: 400;
	color: var(--wp-gray); text-decoration: none; }
.wp-ql-hd > em.up { color: #D9453A; }
.wp-ql-hd > em.dn { color: #1C9A5B; }
/* 曲线（整行宽） */
.wp-ql-svg { display: block; width: 100%; height: 64px; margin-top: 6px; }
.wp-ql-svg > polygon { fill: rgba(10, 99, 184, .10); stroke: none; }
.wp-ql-svg > polyline { fill: none; stroke: #0A63B8; stroke-width: 1.8;
	stroke-linejoin: round; stroke-linecap: round; }
/* 底部：区间 + 采样信息 + 涨跌幅 */
.wp-ql-ft { display: flex; align-items: center; gap: 8px; margin-top: 5px;
	font-size: 10.5px; color: var(--wp-gray); }
.wp-ql-ft > em { font-style: normal; white-space: nowrap; }
.wp-ql-ft > i { flex: 1 1 auto; min-width: 0; font-style: normal;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-ql-ft > b { flex: 0 0 auto; font-size: 12px; font-weight: 700; }
.wp-ql-ft > b.up { color: #D9453A; }
.wp-ql-ft > b.dn { color: #1C9A5B; }
@media (max-width: 359px) {
	.wp-ql-svg { height: 56px; }
	.wp-ql-hd > b { font-size: 14px; }
	.wp-ql-hd > em { font-size: 16px; }
	.wp-ql-ft > i { display: none; }
}

/* ============================================================
   第 19 轮 #2：动态频道「最新专题」—— 图片 + 标题，每行 2 个
   目标模板：template/mobile/mobile/ch_home.htm（$CH[tops] 分支）
   ⚠️ 不改公共 .wp-rank（其它频道/列表仍在用），使用专属类 .wp-tgrid
   ============================================================ */
.wp-tgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px; padding: 4px 12px 12px 12px; }
body.wp-body .wp-tgrid > a {
	display: block; min-width: 0; text-decoration: none;
	border-radius: var(--wp-r); overflow: hidden;
	background: #FFFFFF; border: 1px solid rgba(2, 72, 147, .12);
	box-sizing: border-box; box-shadow: 0 1px 5px rgba(20, 40, 70, .04);
}
body.wp-body .wp-tgrid > a:active { background: #F5F8FC; }
body.wp-body .wp-tg-img { position: relative; display: block; width: 100%;
	aspect-ratio: 16 / 10; background: #EEF2F7; overflow: hidden; }
body.wp-body .wp-tg-img > img { display: block; width: 100%; height: 100%;
	object-fit: cover; max-width: none; }
.wp-tg-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	padding: 8px; font-style: normal; font-size: 12px; line-height: 1.4; color: #7C93AB;
	text-align: center; box-sizing: border-box; overflow: hidden;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.wp-tg-no { position: absolute; left: 0; top: 0; min-width: 20px; height: 20px; padding: 0 6px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 11px; font-weight: 700; color: #FFFFFF; font-style: normal;
	background: linear-gradient(135deg, #024893 0%, #0A63B8 100%);
	border-bottom-right-radius: 8px; box-sizing: border-box; }
body.wp-body .wp-tgrid > a > b {
	display: block; padding: 9px 10px 10px 10px;
	box-sizing: border-box; text-align: left;
	font-size: 13.5px; font-weight: 400; line-height: 1.5; color: var(--wp-txt);
	overflow: hidden; text-overflow: ellipsis;
	display: -webkit-box; -webkit-box-orient: vertical;
	-webkit-line-clamp: 2; line-clamp: 2;
	max-height: calc(2 * 1.5 * 13.5px + 19px);
}
@media (max-width: 359px) {
	.wp-tgrid { gap: 8px; padding: 4px 10px 10px 10px; }
	body.wp-body .wp-tgrid > a > b { font-size: 12.5px; max-height: calc(2 * 1.5 * 12.5px + 18px); }
}

/* ==========================================================================
   第 19 轮 #6：品牌频道（brand · mid=13）—— 推荐品牌 + 分类 LOGO 墙
   ① .wp-rcmd  推荐品牌 16 个，每行 2 个（纯 LOGO，无文字/类别/日期）
   ② .wp-brw   分类区块 LOGO 墙，每行 2 个（只出 LOGO）
   ⚠️ img 尺寸必须用 body.wp-body 提权，否则被 body.wp-body img{height:auto} 压过
   ========================================================================== */
.wp-rcmd { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px; padding: 4px 12px 12px 12px; }
body.wp-body .wp-rcmd > a {
	display: flex; align-items: center; justify-content: center;
	min-width: 0; height: 76px; padding: 10px;
	background: #FFFFFF; border: 1px solid rgba(2, 72, 147, .12);
	border-radius: 10px; box-sizing: border-box;
	box-shadow: 0 1px 5px rgba(20, 40, 70, .04);
}
body.wp-body .wp-rcmd > a:active { background: #F5F8FC; }
body.wp-body .wp-rcmd > a > .wp-rcmi {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%; overflow: hidden; }
body.wp-body .wp-rcmd > a > .wp-rcmi > img {
	display: block; width: auto; height: auto;
	max-width: 100%; max-height: 56px; object-fit: contain; }

.wp-brw { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px; padding: 4px 12px 12px 12px; }
body.wp-body .wp-brw > a {
	display: flex; align-items: center; justify-content: center;
	min-width: 0; height: 66px; padding: 10px;
	background: #FFFFFF; border: 1px solid rgba(2, 72, 147, .10);
	border-radius: 10px; box-sizing: border-box;
}
body.wp-body .wp-brw > a:active { background: #F5F8FC; }
body.wp-body .wp-brw > a > .wp-brw-i {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%; overflow: hidden; }
body.wp-body .wp-brw > a > .wp-brw-i > img {
	display: block; width: auto; height: auto;
	max-width: 100%; max-height: 46px; object-fit: contain; }

@media (max-width: 359px) {
	.wp-rcmd, .wp-brw { gap: 8px; padding-left: 10px; padding-right: 10px; }
	body.wp-body .wp-rcmd > a { height: 68px; }
	body.wp-body .wp-rcmd > a > .wp-rcmi > img { max-height: 48px; }
	body.wp-body .wp-brw > a { height: 60px; }
	body.wp-body .wp-brw > a > .wp-brw-i > img { max-height: 40px; }
}
