/* ==========================================================================
   JW 站点主题层 — 设计令牌 / 组件统一 / 产品页布局 / 交互组件
   加载顺序：all.css → theme.css（本文件），只做覆盖与新增，不改动 all.css
   ========================================================================== */

:root {
	--c-ink: #141b26;
	--c-body: #4a5566;
	--c-muted: #8a93a3;
	--c-line: #e8ebf0;
	--c-line-2: #dfe3ea;
	--c-brand: #0a2b52;
	--c-brand-2: #113a68;
	--c-accent: #c53f17;
	--c-accent-h: #a8330f;
	--c-accent-soft: #fdf1ec;
	--c-soft: #f5f7fa;

	--fs-1: 26px;
	--fs-2: 20px;
	--fs-3: 16px;
	--fs-4: 14px;
	--fs-5: 13px;
	--fs-6: 12px;

	--sp-1: 4px;
	--sp-2: 8px;
	--sp-3: 12px;
	--sp-4: 16px;
	--sp-5: 24px;
	--sp-6: 32px;
	--sp-7: 48px;
	--sp-8: 64px;

	--r-s: 4px;
	--r-m: 8px;
	--r-l: 14px;

	--sh-1: 0 2px 10px rgba(16, 26, 45, .05);
	--sh-2: 0 12px 32px rgba(16, 26, 45, .12);
}

/* ---------- 1. 基础排版 ---------- */

body {
	color: var(--c-body);
	font-size: var(--fs-4);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5 {
	color: var(--c-ink);
	font-weight: 700;
	letter-spacing: 0;
}

a {
	color: var(--c-body);
	transition: color .2s ease;
}

a:hover {
	color: var(--c-accent);
}

img {
	max-width: 100%;
}

/* 视觉隐藏（用于补 H1 与可读性标签） */
.sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- 2. 区块与标题 ---------- */

.section {
	padding: var(--sp-8) 0;
}

.section-title {
	margin-bottom: var(--sp-6);
	font-size: var(--fs-1);
	line-height: 1.3;
	color: var(--c-ink);
}

.section-title p {
	margin-top: var(--sp-2);
	font-size: var(--fs-6);
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--c-muted);
}

.section-title::after {
	content: '';
	display: block;
	width: 40px;
	height: 3px;
	margin: var(--sp-4) auto 0;
	background: var(--c-accent);
	border-radius: 2px;
}

/* ---------- 3. 头部导航 ---------- */

/* 页头区域禁止选中：避免点击导航瞬间出现文本选中高亮（蓝块一闪） */
.header,
.header a,
.header .nav,
.header .nav li,
.header .nav li a,
.header .logo,
.header .cnen,
.header .text {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* logo：高度按视口宽度动态缩放，宽度按原始比例自动跟随。
   移动端会在文件末尾再收紧一次（clamp 24~34px）。 */
.header .logo img {
	display: block;
	height: auto;
	width: auto;
	max-height: clamp(48px, 9vw, 72px);
	max-width: none;
	transition: max-height .25s ease;
}

/* 导航项：统一直角矩形，尺寸一致（覆盖 all.css 的 18px 药丸圆角） */
.header .nav li > a {
	display: block;
	position: relative;
	/* 建立层叠上下文：让 z-index:-1 的马赛克层显示在文字下方、背景之上 */
	isolation: isolate;
	line-height: 42px;
	font-size: var(--fs-3);
	color: var(--c-ink);
	border-radius: 0;
	transition: color .18s ease;
}

/* 悬停：深蓝色块以「马赛克」方式从左到右逐格推进，最后填成一个完整矩形
   （实色块 + steps(12) 台阶式过渡；z-index:-1 保证文字始终在上层） */
.header .nav li > a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 0;
	background: var(--c-brand);
	transition: width .30s steps(12, end);
	z-index: -1;
	pointer-events: none;
}
.header .nav li a:hover::before,
.header .nav li.open > a::before,
.header .nav li.open > a:hover::before {
	width: 100%;
}
/* 悬停时文字等马赛克填充完成再转白，避免填充过程中出现「白字压白底」看不见 */
.header .nav li a:hover,
.header .nav li.open > a,
.header .nav li.open > a:hover {
	color: #fff;
	background-color: transparent;
	transition: color .15s ease .2s;
}

/* 选中：深蓝整块 + 底部一条橙色横线 */
.header .nav li.active > a,
.header .nav li.active > a:hover {
	background-color: var(--c-brand);
	color: #fff;
}
.header .nav li.active > a::before {
	display: none;
}
.header .nav li.active > a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--c-accent);
	z-index: 2;
	pointer-events: none;
}

/* 下拉菜单：与父项同宽、统一行高、直角，白底深字 */
.header .nav li .dropdown-box {
	width: 100%;
	background: #fff;
	border-radius: 0;
	box-shadow: var(--sh-2);
	overflow: hidden;
}

.header .nav li .dropdown-box a {
	background: #fff;
	color: var(--c-ink);
	font-size: var(--fs-5);
	line-height: 42px;
	padding: 0;
	text-align: center;
	border-bottom: 1px solid var(--c-line);
	border-radius: 0;
	transition: background-color .2s ease, color .2s ease;
}

.header .nav li .dropdown-box a:last-child {
	border-bottom: 0;
}

.header .nav li .dropdown-box a:hover {
	background-color: var(--c-brand);
	color: #fff;
}

/* 「服务热线」块与「中文/English」切换按钮：**完全不做任何覆盖**，
   交回 all.css 原样式。
   all.css 原文：
     .header .text      { font-size:22px; color:#c53f17; margin:-10px 0;
                          background:url(tel.jpg) no-repeat left 50px;
                          height:100px; width:240px; padding-top:40px; line-height:29px }
     .text span         { font-size:16px; padding-left:50px }
     .text span i       { font-family:impact; font-size:28px; display:block;
                          padding-left:50px; ... }
   注意 all.css 里 `.text span` / `.text span i` 是**全局**选择器（不是 .header 限定），
   会命中页头电话块里的 <span>/<i>，所以这里一个字都不能再加，
   之前加的 font-size:19px / font-style:normal / color 等覆盖已全部删除。 */

/* ---------- 4. 栏目 banner ---------- */

.banner-sub {
	position: relative;
	height: 250px;
	background-color: var(--c-brand);
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
}

.banner-sub::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(6, 18, 36, .58) 0%, rgba(6, 18, 36, .40) 55%, rgba(6, 18, 36, .58) 100%);
	pointer-events: none;
}

.banner-sub .container {
	position: relative;
	z-index: 1;
	width: 100%;
	text-align: center;
}

.banner-sub__t {
	margin: 0;
	padding: 0;
	font-size: 40px;
	line-height: 1.25;
	font-weight: 700;
	color: #fff;
	letter-spacing: 2px;
	text-shadow: 0 2px 12px rgba(4, 12, 26, .5);
}

.banner-sub__t::after {
	content: '';
	display: block;
	width: 44px;
	height: 3px;
	margin: var(--sp-3) auto 0;
	background: var(--c-accent);
	border-radius: 2px;
}

.banner-sub__s {
	margin-top: var(--sp-2);
	font-size: 15px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .78);
}

/* 面包屑 */
/* 面包屑：去框，改为文字下方等长深蓝线 + 左端橙色点缀 */
.wz {
	position: relative;
	border: 0;
	border-bottom: 2px solid var(--c-brand);
	padding: 0 0 var(--sp-4);
	margin-bottom: var(--sp-5);
	font-size: var(--fs-5);
	color: var(--c-body);
}

.wz::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 64px;
	height: 2px;
	background: var(--c-accent);
}

.wz a {
	color: var(--c-body);
}

.wz a:hover {
	color: var(--c-accent);
}

/* ---------- 5. 侧栏 ---------- */

/* all.css 把 .sidebar 固定 250px，.main 固定 910px，右侧分页栏也是 float。
   这里只做最小收窄：侧栏内容留出 12px 右余量，让长文本（公司名、地址）
   不顶到 250px 边缘，两栏之间形成明确分界。绝不动 float 布局模型。 */
.sidebar {
	box-sizing: border-box;
	padding-right: 12px;
}

.sidebar .lanmu {
	border: 1px solid var(--c-line);
	border-bottom: 2px solid var(--c-accent);
	background: #fff;
	border-radius: var(--r-m) var(--r-m) 0 0;
	overflow: hidden;
	margin-bottom: var(--sp-5);
}

.sidebar .lanmu h4 {
	font-size: var(--fs-2);
	line-height: 64px;
	background: var(--c-brand);
	letter-spacing: 1px;
}

.sidebar .lanmu li a {
	border-bottom: 1px solid var(--c-line);
	line-height: 46px;
	font-size: var(--fs-4);
	color: var(--c-body);
	position: relative;
	transition: all .2s ease;
}

.sidebar .lanmu li a:hover {
	color: var(--c-accent);
	background: var(--c-accent-soft);
	padding-left: 26px;
}

.sidebar .lanmu li a.is-current {
	color: var(--c-accent);
	font-weight: 700;
	background: var(--c-accent-soft);
}

.sidebar .lanmu li a.is-current::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--c-accent);
}

/* 联系方式卡片 */
.sidebar .cc {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--r-m);
	padding: var(--sp-4) var(--sp-4) var(--sp-5);
	font-size: var(--fs-5);
	line-height: 1.6;
	box-shadow: var(--sh-1);
}

.sidebar .cc__row {
	margin: 0 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px dashed var(--c-line);
	color: var(--c-ink);
	word-break: break-all;
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 6px;
	align-items: start;
}

.sidebar .cc__row:last-child {
	margin-bottom: 0;
	border-bottom: 0;
	padding-bottom: 0;
}

.sidebar .cc__row span {
	color: var(--c-muted);
	font-size: var(--fs-6);
	line-height: 1.7;
}

.sidebar .cc__row a:hover {
	color: var(--c-accent);
}

/* ---------- 6. 产品 / 资讯列表卡片 ---------- */

.list-1 li a {
	border: 1px solid #eef1f5;
	background: #fff;
	border-radius: var(--r-m);
	padding: var(--sp-3);
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.list-1 li a:hover {
	border-color: var(--c-line-2);
	box-shadow: var(--sh-1);
	transform: translateY(-2px);
}

.list-1 li .img-center {
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	overflow: hidden;
}

.list-1 li .img-center img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	max-height: 100%;
}

.list-1 li p {
	margin-top: var(--sp-3);
	font-size: var(--fs-4);
	color: var(--c-ink);
	line-height: 1.5;
}

.list-1 li a:hover p {
	color: var(--c-accent);
}

/* 首页关于我们：文字左、图片右，两栏等高 */
.about {
	display: flex;
	align-items: center;
	gap: var(--sp-7);
}

.about .img-center {
	float: none;
	order: 2;
	flex: 0 0 420px;
	width: 420px;
	border-radius: var(--r-l);
	overflow: hidden;
}

.about .img-center img {
	display: block;
	width: 100%;
	height: auto;
}

.about .text {
	order: 1;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.about .text h3 {
	margin: 0 0 var(--sp-4);
	padding-bottom: var(--sp-3);
	font-size: var(--fs-2);
	color: var(--c-ink);
	border-bottom: 1px solid var(--c-line);
}

.about .text p {
	margin: 0 0 var(--sp-5);
	padding: 0;
	min-height: 0;
	font-size: var(--fs-4);
	line-height: 1.9;
	color: var(--c-body);
}

.about .text .btn {
	margin: 0;
}

/* 首页产品轮播卡片：文字统一截断，避免高度参差 */
.service .swiper-slide h4 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.9em;
	font-size: var(--fs-4);
	line-height: 1.45;
	color: var(--c-ink);
}

.service .swiper-slide p {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--c-muted);
	font-size: var(--fs-6);
	line-height: 1.6;
}

/* ---------- 7. 详情页正文 ---------- */

.content-body {
	font-size: 15px;
	line-height: 1.9;
	color: var(--c-body);
}

.content-body img {
	height: auto;
	max-width: 100%;
	display: block;
	margin: var(--sp-4) auto;
	border-radius: var(--r-s);
}

.content-body p {
	margin: 0 0 var(--sp-3);
}

.content-body h2,
.content-body h3,
.content-body h4 {
	margin: var(--sp-5) 0 var(--sp-3);
}

.content-body table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-5);
}

.content-body td,
.content-body th {
	border: 1px solid var(--c-line);
	padding: var(--sp-2) var(--sp-3);
}

/* 详情页标题区 */
.content-title {
	padding-bottom: var(--sp-4);
	margin-bottom: var(--sp-5);
	border-bottom: 1px solid var(--c-line);
}

.content-title h1 {
	margin: 0 0 var(--sp-2);
	font-size: var(--fs-1);
	line-height: 1.4;
}

.content-title p {
	margin: 0;
	font-size: var(--fs-6);
	color: var(--c-muted);
}

.content-title span {
	margin-right: var(--sp-4);
}

/* 上下篇 */
.content-exp {
	margin-top: var(--sp-5);
	padding-top: var(--sp-4);
	border-top: 1px dashed var(--c-line);
	font-size: var(--fs-5);
	color: var(--c-muted);
}

.content-exp p {
	margin: 6px 0;
}

/* 分页 */
.pages {
	margin-top: var(--sp-6);
}

.pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
}

.pagination .page-item {
	min-width: 38px;
	height: 38px;
	line-height: 36px;
	text-align: center;
	border: 1px solid var(--c-line);
	border-radius: var(--r-s);
	padding: 0 var(--sp-3);
	font-size: var(--fs-5);
	background: #fff;
	color: var(--c-body);
}

.pagination .page-item:hover,
.pagination .page-item.active {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: #fff;
}

/* ---------- 8. 按钮规范 ---------- */

.btn,
.jwb-act {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 var(--sp-5);
	font-size: var(--fs-4);
	line-height: 1;
	color: #fff;
	background: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: var(--r-s);
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.btn:hover,
.jwb-act:hover {
	background: var(--c-accent-h);
	border-color: var(--c-accent-h);
	color: #fff;
	box-shadow: 0 6px 16px rgba(197, 63, 23, .22);
}

.btn--ghost,
.jwb-act--ghost {
	background: #fff;
	color: var(--c-accent);
	border-color: var(--c-accent);
}

.jwb-act.is-disabled {
	background: #f2f4f7;
	color: var(--c-muted);
	border-color: var(--c-line-2);
	cursor: not-allowed;
	box-shadow: none;
}

.jwb-act.is-disabled:hover {
	background: #f2f4f7;
	color: var(--c-muted);
	border-color: var(--c-line-2);
	box-shadow: none;
}

.btn--ghost:hover,
.jwb-act--ghost:hover {
	background: var(--c-accent-soft);
	color: var(--c-accent-h);
}

/* ---------- 9. 产品详情：图库与按钮行等高对齐 ---------- */

.eyou-showcase {
	display: flex;
	align-items: stretch;
	gap: var(--sp-6);
	padding-bottom: var(--sp-6);
}

.eyou-showcase .pc-slide {
	float: none;
	width: 380px;
	flex: 0 0 380px;
	display: flex;
	flex-direction: column;
}

.eyou-showcase .view {
	flex: 0 0 auto;
}

.eyou-showcase .view .imgauto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	max-width: 100%;
}

.eyou-showcase .preview {
	margin-top: auto;
	padding-top: var(--sp-3);
}

.eyou-showcase .eyou-showcase-info {
	float: none;
	width: auto;
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.eyou-showcase .eyou-showcase-info h1 {
	margin: 0 0 var(--sp-2);
	font-size: var(--fs-1);
	line-height: 1.35;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

/* 型号行：取消原 168px 死高度，改由内容撑开 */
.eyou-showcase .eyou-showcase-info > p:first-of-type,
.eyou-showcase .spec-model {
	margin: 0;
	height: auto;
	color: var(--c-muted);
	font-size: var(--fs-5);
	line-height: 1.7;
	word-break: break-word;
}

/* 系列简介要点（数据驱动，模板只负责容器） */
.spec-list {
	margin: var(--sp-4) 0 0;
	padding: var(--sp-4) 0 0;
	border-top: 1px dashed var(--c-line);
	list-style: none;
}

.spec-list li {
	position: relative;
	padding-left: 16px;
	margin-bottom: var(--sp-2);
	font-size: var(--fs-5);
	line-height: 1.65;
	color: var(--c-body);
}

/* ● 由数据自带（与原站一致），这里不再画圆点 */
.spec-list li {
	padding-left: 14px;
}
.spec-list li .sub {
	display: block;
	margin-top: 2px;
	padding-left: 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--c-muted);
}

.spec-list li strong {
	color: var(--c-ink);
	font-weight: 700;
}

/* 按钮行：贴底，与左侧缩略图条底部齐平 */
.jwb-acts {
	margin-top: auto;
	padding-top: var(--sp-4);
	border-top: 1px solid var(--c-line);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--sp-3);
}

.jwb-acts .jwb-act {
	width: 100%;
	padding: 0 var(--sp-2);
	font-size: var(--fs-4);
}

/* 微信二维码浮层 */
.jwb-act--wx {
	position: relative;
}

.wx-pop {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 14px);
	z-index: 9999;
	width: 180px;
	padding: 14px 14px 12px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--r-l);
	box-shadow: var(--sh-2);
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	pointer-events: none;
}

.wx-pop::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -7px;
	margin-left: -7px;
	border: 7px solid transparent;
	border-top-color: #fff;
	border-bottom: 0;
	filter: drop-shadow(0 1px 0 var(--c-line));
}

.wx-pop img {
	display: block;
	width: 100% !important;
	height: auto;
	margin: 0 0 var(--sp-2);
	border-radius: var(--r-s);
}

.wx-pop em {
	display: block;
	font-style: normal;
	font-size: var(--fs-6);
	color: var(--c-body);
	line-height: 1.4;
}

.jwb-act--wx:hover .wx-pop,
.jwb-act--wx:focus .wx-pop,
.jwb-act--wx.is-open .wx-pop {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
	pointer-events: auto;
}

.wx-mask {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(10, 18, 32, .55);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease;
}

.wx-mask.is-open {
	opacity: 1;
	visibility: visible;
}

@media (max-width: 767px) {
	.wx-mask {
		display: block;
	}

	.jwb-act--wx.is-open .wx-pop {
		position: fixed;
		left: 50%;
		top: 50%;
		bottom: auto;
		transform: translate(-50%, -50%);
		width: 220px;
		z-index: 9999;
		opacity: 1;
		visibility: visible;
	}

	.wx-pop::after {
		display: none;
	}
}

/* ---------- 10. 产品简介 Tab ----------
   选中 = 橙色实底白字；未选中 = 白底（描边区分）。
   之前的覆盖版把 background 设成 transparent，橙色底整个消失了。 */

.jianjie {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: var(--sp-5);
}

.jianjie .nav-item {
	float: none !important;
	margin: 0 !important;
	border: 0;
	list-style: none;
}

/* 未选中：白底深字 + 浅描边 */
.jianjie .nav-item .btn {
	display: inline-block;
	line-height: 30px;
	height: auto;
	padding: 0 20px;
	background-color: #fff;
	color: var(--c-body);
	border: 1px solid var(--c-line);
	border-radius: 0;
	box-shadow: none;
	font-size: var(--fs-4);
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

/* 选中：橙色实底白字 */
.jianjie .nav-item.active .btn,
.jianjie .nav-item.active .btn:hover {
	background-color: var(--c-accent);
	border-color: var(--c-accent);
	color: #fff;
	font-weight: 700;
}

.jianjie .nav-item:not(.active) .btn:hover {
	background-color: var(--c-accent-soft);
	border-color: var(--c-accent);
	color: var(--c-accent-h);
}

/* 首页联系区块（原橙底固定高，改为品牌深蓝自适应卡片） */
.contact {
	background: linear-gradient(135deg, #0a2b52 0%, #14406f 100%);
	height: auto;
	min-height: 0;
	border-radius: var(--r-l);
	padding: var(--sp-6) var(--sp-6) var(--sp-6) 0;
	display: flex;
	align-items: center;
	gap: var(--sp-5);
	overflow: hidden;
}

.contact-text {
	float: none;
	width: 320px;
	flex: 0 0 320px;
	padding: 0 0 0 var(--sp-6);
	color: rgba(255, 255, 255, .82);
}

.contact-text h3 {
	margin: 0 0 var(--sp-4);
	padding-bottom: var(--sp-3);
	font-size: var(--fs-3);
	font-weight: 400;
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .22);
}

.contact-text h3 strong {
	display: block;
	margin-top: 6px;
	font-size: 26px;
	letter-spacing: .5px;
	color: #fff;
}

.contact-text p {
	margin: 0 0 8px;
	font-size: var(--fs-5);
	line-height: 1.7;
}

.contact-map {
	flex: 1 1 auto;
	min-width: 0;
}

.contact-map img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--r-m);
}

/* ---------- 11. 联系我们：地图 ---------- */
.jwmap {
	position: relative;
	margin: var(--sp-5) 0;
	border: 1px solid var(--c-line);
	border-radius: var(--r-l);
	overflow: hidden;
	background: #eef2f6;
	box-shadow: var(--sh-1);
}

.jwmap__frame {
	display: block;
	width: 100%;
	height: 380px;
	border: 0;
	filter: grayscale(.15) contrast(1.02);
}

/* 离线矢量底图（无地图 Key 时的兜底） */
.jwmap__bg {
	position: relative;
	display: block;
	width: 100%;
	height: 380px;
	background: #0f1e33;
	overflow: hidden;
}

.jwmap__bg svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* 中心箭头标记点 */
.jwmap__pin {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -100%);
	width: 46px;
	height: 46px;
	border: 0;
	padding: 0;
	background: linear-gradient(180deg, #e2552a, var(--c-accent));
	color: #fff;
	border-radius: 50% 50% 50% 4px;
	box-shadow: 0 8px 18px rgba(150, 45, 15, .35);
	cursor: pointer;
	transform-origin: 50% 100%;
	transition: transform .2s ease;
	z-index: 3;
}

.jwmap__pin::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0;
	height: 0;
	margin: -5px 0 0 -5px;
	border: 5px solid transparent;
	border-bottom: 8px solid #fff;
	border-top: 0;
}

.jwmap__pin:hover,
.jwmap__pin.is-open {
	transform: translate(-50%, -100%) scale(1.08);
}

.jwmap__pulse {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border-radius: 50%;
	background: rgba(197, 63, 23, .35);
	animation: jwPulse 2s ease-out infinite;
	pointer-events: none;
	z-index: 2;
}

@keyframes jwPulse {
	0% {
		transform: scale(.6);
		opacity: .9;
	}

	100% {
		transform: scale(3.4);
		opacity: 0;
	}
}

/* 气泡卡片 */
.jwmap__card {
	position: absolute;
	left: 50%;
	top: calc(50% - 58px);
	transform: translate(-50%, -100%) scale(.96);
	width: 300px;
	max-width: calc(100% - 32px);
	background: #fff;
	border-radius: var(--r-m);
	box-shadow: var(--sh-2);
	padding: var(--sp-4);
	opacity: 0;
	visibility: hidden;
	transition: opacity .22s ease, transform .22s ease, visibility .22s;
	z-index: 4;
	text-align: left;
}

.jwmap__card.is-open {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -100%) scale(1);
}

.jwmap__card::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -7px;
	margin-left: -7px;
	border: 7px solid transparent;
	border-top-color: #fff;
	border-bottom: 0;
}

.jwmap__card h4 {
	margin: 0 0 var(--sp-2);
	font-size: var(--fs-3);
	color: var(--c-ink);
}

.jwmap__card p {
	margin: 0 0 6px;
	font-size: var(--fs-5);
	color: var(--c-body);
	line-height: 1.6;
}

.jwmap__card p strong {
	color: var(--c-accent);
}

.jwmap__card .jwmap__btns {
	display: flex;
	gap: var(--sp-2);
	margin-top: var(--sp-3);
}

.jwmap__card .jwmap__btns a {
	flex: 1;
	height: 34px;
	line-height: 32px;
	text-align: center;
	font-size: var(--fs-6);
	border: 1px solid var(--c-accent);
	border-radius: var(--r-s);
	color: var(--c-accent);
}

.jwmap__card .jwmap__btns a:hover {
	background: var(--c-accent);
	color: #fff;
}

.jwmap__close {
	position: absolute;
	right: 6px;
	top: 4px;
	width: 26px;
	height: 26px;
	border: 0;
	background: transparent;
	color: var(--c-muted);
	font-size: 18px;
	line-height: 26px;
	cursor: pointer;
	padding: 0;
}

/* 地图信息条 */
.jwmap__bar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-5);
	padding: var(--sp-4) var(--sp-5);
	background: var(--c-brand);
	color: rgba(255, 255, 255, .86);
	font-size: var(--fs-5);
}

.jwmap__bar b {
	color: #fff;
	font-weight: 600;
}

/* ---------- 12. 页脚 ---------- */

.footer {
	background: var(--c-brand);
	color: rgba(255, 255, 255, .8);
	padding: var(--sp-6) 0;
	font-size: var(--fs-5);
}

.footer__main {
	display: flex;
	align-items: stretch;
	gap: var(--sp-7);
}

/* 左：二维码（放大）—— 与右侧信息文字垂直居中对齐 */
.footer__ewm {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding-top: 6px;
}

.footer__ewm img {
	display: block;
	width: 132px;
	height: 132px;
	padding: 8px;
	background: #fff;
	border-radius: var(--r-m);
}

.footer__ewm span {
	margin-top: 10px;
	font-size: var(--fs-6);
	color: rgba(255, 255, 255, .72);
}

/* 中：联系信息（放大） */
.footer__info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.footer__info p {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .82);
}

.footer__info .footer__tel {
	font-size: 17px;
	color: rgba(255, 255, 255, .88);
}

.footer__info .footer__tel strong {
	font-size: 26px;
	color: #fff;
	letter-spacing: .5px;
}

.footer__info .footer__copy,
.footer__info .footer__icp {
	font-size: 13px;
	color: rgba(255, 255, 255, .55);
	margin-bottom: 4px;
}

.footer__info a {
	color: rgba(255, 255, 255, .78);
}

.footer__info a:hover {
	color: #fff;
}

.footer__tel {
	font-size: var(--fs-4);
}

.footer__tel strong {
	font-size: 22px;
	color: #fff;
	letter-spacing: .5px;
}

.footer__copy {
	margin-top: var(--sp-3) !important;
	color: rgba(255, 255, 255, .5);
	font-size: var(--fs-6);
}

.footer__icp {
	color: rgba(255, 255, 255, .5);
	font-size: var(--fs-6);
}

/* ---------- 13. 影像/描述列表统一 ---------- */

.lazy {
	opacity: 0;
	transition: opacity .35s ease;
}

.lazy.is-loaded {
	opacity: 1;
}

/* ---------- 15. 响应式 ---------- */

/* 容器：all.css 写死了 width:1200px，在 1024px 及以下视口（含平板、
   分屏窗口）会把整页撑出横向滚动条。改为「上限 1200px + 宽度自适应」，
   ≥1200px 的桌面端视觉与原来完全一致。
   box-sizing:border-box 必须显式写 —— all.css 用了 content-box，
   否则 100% + 15px×2 内边距会比视口宽 30px。 */
.container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* all.css 给 body 写了 min-width:1230px（老式固定宽度设计），
   只在 ≤767px 的媒体查询里被改成 320px，导致 768~1229px 的平板/
   分屏窗口宽度下整页被撑出横向滚动条。这里统一接管。 */
body {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

@media (max-width: 767px) {
	:root {
		--fs-1: 20px;
		--fs-2: 17px;
		--fs-3: 15px;
		--fs-4: 14px;
	}

	.section {
		padding: var(--sp-6) 0;
	}

	.section-title {
		margin-bottom: var(--sp-5);
	}

	.section-title::after {
		margin-top: var(--sp-3);
	}

	/* Banner：高度 132 → 79（-40%），文字块整体收紧 */
	.banner-sub {
		height: 79px;
	}

	.banner-sub__t {
		font-size: 19px;
		line-height: 1.2;
		letter-spacing: 1px;
	}

	/* 标题下的橙色短线：上间距收紧 */
	.banner-sub__t::after {
		margin-top: 5px;
		width: 22px;
		height: 2px;
	}

	/* 英文副标题：与标题间距再压小 */
	.banner-sub__s {
		margin-top: 4px;
		font-size: 10px;
		letter-spacing: 2px;
	}

	/* Banner 与下方内容的间距同步收紧 */
	.section {
		padding: var(--sp-5) 0;
	}

	/* 面包屑（当前位置）：上下留白收紧 */
	.wz {
		margin-bottom: var(--sp-3);
		padding-bottom: var(--sp-2);
		font-size: 13px;
	}

	/* 产品详情：移动端转为单列，按钮行不贴底而是紧随内容 */
	.eyou-showcase {
		display: block;
		padding-bottom: var(--sp-3);
	}

	.eyou-showcase .pc-slide {
		width: 100%;
		flex: none;
	}

	/* 主图与右侧信息块之间的间距收紧 */
	.eyou-showcase .eyou-showcase-info {
		display: block;
		margin-top: var(--sp-3);
	}

	/* 标题与型号行的间距 */
	.eyou-showcase .eyou-showcase-info h1 {
		margin-bottom: 2px;
		line-height: 1.3;
	}

	/* 短介绍列表：上方虚线与内边距收紧 */
	.spec-list {
		margin-top: var(--sp-3);
		padding-top: var(--sp-3);
	}

	/* 短介绍每条要点行距收紧 */
	.spec-list li {
		margin-bottom: 3px;
		line-height: 1.5;
	}

	/* 按钮行 */
	.jwb-acts {
		margin-top: var(--sp-3);
		padding-top: var(--sp-3);
		gap: var(--sp-2);
	}

	.jwb-acts .jwb-act {
		font-size: var(--fs-5);
		padding: 0 4px;
	}

	/* 产品简介 / 使用说明 Tab：与上方内容、下方正文的间距收紧 */
	.jianjie {
		margin-top: var(--sp-3);
	}

	.content-body {
		min-height: 0;
	}

	.jwmap__frame {
		height: 300px;
	}

	.contact {
		display: block;
		padding: var(--sp-5);
	}

	.contact-text {
		width: 100%;
		flex: none;
		padding: 0 0 var(--sp-4);
	}

	.contact-text h3 strong {
		font-size: 22px;
	}

	.about {
		display: block;
	}

	.about .img-center {
		width: 100%;
		flex: none;
		margin-top: var(--sp-4);
	}

	.about .text p {
		display: -webkit-box;
		-webkit-line-clamp: 5;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.jwmap__bg {
		height: 300px;
	}

	.jwmap__bar {
	.gap: var(--sp-3);
		padding: var(--sp-3) var(--sp-4);
		font-size: var(--fs-6);
	}

	/* 页尾的移动端布局统一放到文件末尾的「M5 页尾」区块处理，
	   这里删掉早期这段 display:block 写法，避免与后来的 flex 平铺规则打架。 */
}

@media (max-width: 479px) {
	.jwmap__card {
		width: 260px;
	}
}

/* ---------- 12. 地图与通用导航 ---------- */

/* 真实地图容器 */
.jwmap {
	position: relative;
	margin: var(--sp-4) auto 0;
	max-width: 750px;          /* 与正文配图同宽并居中对齐 */
	width: 100%;
	border: 1px solid var(--c-line);
	border-radius: var(--r-m);
	overflow: hidden;
	background: var(--c-brand);
}

.jwmap__canvas {
	height: 420px;
	width: 100%;
	background: #0b2a4d;
}

.jwmap__canvas.is-ready {
	background: #eef3f7;
}

.jwmap__fallback {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, .75);
	font-size: var(--fs-6);
	background: linear-gradient(135deg, var(--c-brand), var(--c-brand-2));
}

.jwmap__canvas.is-ready + .jwmap__fallback {
	display: none;
}

.jwleaf-pin {
	position: relative;
	display: block;
}

.jwleaf-pin__dot {
	position: absolute;
	left: 6px;
	top: 4px;
	width: 14px;
	height: 14px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .35);
}

.jwleaf-pin__ring {
	position: absolute;
	left: 4px;
	top: 26px;
	width: 18px;
	height: 6px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .22);
}

.jwleaf-pin--osm .jwleaf-pin__ring {
	background: transparent;
	border: 2px solid #1f7ac4;
	left: 3px;
	top: 4px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
}

.jwleaf-switch {
	position: absolute;
	right: 10px;
	top: 10px;
	z-index: 500;
	padding: 6px 12px;
	font-size: var(--fs-6);
	color: var(--c-ink);
	background: rgba(255, 255, 255, .92);
	border: 1px solid var(--c-line-2);
	border-radius: var(--r-s);
	cursor: pointer;
}

.jwleaf-switch:hover {
	color: var(--c-accent);
	border-color: var(--c-accent);
}

.jwleaf-card h4 {
	margin: 0 0 6px;
	font-size: var(--fs-3);
	color: var(--c-ink);
}

.jwleaf-card p {
	margin: 0;
	font-size: var(--fs-6);
	color: var(--c-body);
}

.jwleaf-card__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.jwleaf-card__btns a {
	padding: 6px 12px;
	font-size: var(--fs-6);
	border-radius: var(--r-s);
	background: var(--c-accent);
	color: #fff;
}

.jwleaf-card__btns a + a {
	background: var(--c-brand);
}

.leaflet-container {
	font-family: inherit;
}

/* 地图下方信息条 + 操作按钮 */
.jwmap__bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
	padding: 14px 18px;
	font-size: var(--fs-6);
	color: var(--c-body);
	background: var(--c-soft);
	border-top: 1px solid var(--c-line);
}

.jwmap__bar em {
	font-style: normal;
	color: var(--c-muted);
	margin-right: 6px;
}

.jwmap__bar b {
	color: var(--c-ink);
}

.jwmap__acts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0 18px 18px;
	background: var(--c-soft);
}

.jwmap__acts .btn {
	cursor: pointer;
	font-family: inherit;
}

/* 页脚地图组件：无文字，仅定位图 + 按钮 */
.footer__map {
	flex: 0 0 300px;
	display: flex;
	flex-direction: column;
}

.footer__map .footer__map-fig {
	flex: 1 1 auto;
	min-height: 0;
}

.footer__map .footer__map-fig img {
	height: 100%;
	object-fit: cover;
}

.footer__map-fig {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: var(--r-m);
	overflow: hidden;
	cursor: pointer;
	background: #0b2a4d;
	line-height: 0;
}

.footer__map-fig img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .35s ease;
}

.footer__map-fig:hover img {
	transform: scale(1.05);
}

.footer__map-mask {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 46px;
	background: linear-gradient(180deg, rgba(6, 18, 34, 0), rgba(6, 18, 34, .72));
	pointer-events: none;
}

.footer__map-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
	flex: 0 0 auto;
	min-width: 0;
}

.jwnav-btn {
	flex: 1 1 auto;
	min-width: 0;
	padding: 8px 10px;
	font-size: var(--fs-6);
	color: #fff;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: var(--r-s);
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background-color .2s ease, border-color .2s ease;
}

.jwnav-btn:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, .12);
}

.jwnav-btn--primary {
	background: var(--c-accent);
	border-color: var(--c-accent);
}

.jwnav-btn--primary:hover {
	background: var(--c-accent-h);
	border-color: var(--c-accent-h);
}

/* 地图 App 选择弹层 */
.jwnav-sheet {
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.jwnav-sheet[hidden] {
	display: none;
}

.jwnav-sheet__mask {
	position: absolute;
	inset: 0;
	background: rgba(8, 16, 28, .55);
	opacity: 0;
	transition: opacity .2s ease;
}

.jwnav-sheet.is-open .jwnav-sheet__mask {
	opacity: 1;
}

.jwnav-sheet__panel {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 100%);
	width: 100%;
	max-width: 460px;
	background: #fff;
	border-radius: var(--r-l) var(--r-l) 0 0;
	transition: transform .24s ease;
}

.jwnav-sheet.is-open .jwnav-sheet__panel {
	transform: translate(-50%, 0);
}

.jwnav-sheet__hd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	border-bottom: 1px solid var(--c-line);
	font-size: var(--fs-3);
	color: var(--c-ink);
}

.jwnav-sheet__hd b {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.jwnav-sheet__hd button {
	border: 0;
	background: none;
	font-size: 22px;
	line-height: 1;
	color: var(--c-muted);
	cursor: pointer;
}

.jwnav-sheet__list {
	margin: 0;
	padding: 6px 0;
	list-style: none;
}

.jwnav-sheet__list a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 20px;
	color: var(--c-ink);
	font-size: var(--fs-2);
}

.jwnav-sheet__list a:active {
	background: var(--c-soft);
}

.jwnav-sheet__list em {
	margin-left: auto;
	font-style: normal;
	font-size: var(--fs-6);
	color: var(--c-muted);
}

/* 图标：纯 CSS 色块，不引用任何地图厂商资源 */
.jwnav-ic {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 5px;
	background: var(--c-line-2);
}

.jwnav-ic--amap { background: #0a8ee8; }
.jwnav-ic--baidu { background: #2b6cf0; }
.jwnav-ic--tencent { background: #14b8a0; }
.jwnav-ic--apple { background: linear-gradient(135deg, #34c759, #0a84ff); }
.jwnav-ic--google { background: linear-gradient(135deg, #ea4335 25%, #fbbc05 50%, #34a853 75%); }
.jwnav-ic--link { background: var(--c-accent); }
.jwnav-ic--pin {
	width: 18px;
	height: 18px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	background: var(--c-accent);
}

@media (min-width: 768px) {
	.jwnav-sheet__panel {
		top: 50%;
		bottom: auto;
		transform: translate(-50%, -46%) scale(.98);
		border-radius: var(--r-m);
		opacity: 0;
	}

	.jwnav-sheet.is-open .jwnav-sheet__panel {
		transform: translate(-50%, -50%) scale(1);
		opacity: 1;
	}
}

@media (max-width: 767px) {
	.jwmap__canvas,
	.jwmap__fallback {
		height: 300px;
	}

	/* 移动端页尾：二维码与地图同排一行；文字信息整行居中在下方。
	   注意：这里用 flex-wrap:wrap（而非 nowrap）+ 精确的 width 分配，
	   因为 nowrap 下 flex-basis:100% 的 .footer__info 会把同行前两项压成 0 宽。 */
	/* 移动端页尾：二维码 | 地图 两列并排，**整组在容器里居中**。
	   要点：grid 的列宽是固定/上限值，不写成 1fr 撑满 —— 否则两列会顶满
	   360px 容器（15→375），整组贴到左边缘、看起来"靠左"。
	   这里用 fixed 的二维码列 + max-width 的地图列，再用 justify-content:center
	   把整组居中，左右自然留出相等余量。 */
	.footer__main {
		display: grid;
		grid-template-columns: 106px 196px;   /* 二维码 + 地图，总宽 302 */
		grid-template-rows: auto auto;
		align-items: start;
		justify-content: center;               /* 整组水平居中 */
		column-gap: 22px;                      /* 二维码与地图之间的缝隙 */
		row-gap: 14px;
	}

	/* 二维码：占第 1 列第 1 行 */
	.footer__ewm {
		grid-column: 1;
		grid-row: 1;
		width: 106px;
		align-self: start;
		justify-content: flex-start;
		padding: 0;
	}

	.footer__ewm img {
		width: 106px;
		height: 106px;
	}

	.footer__ewm span {
		margin-top: 5px;
		font-size: 11px;
		line-height: 1.3;
	}

	/* 地图：占第 2 列第 1 行，宽度受 grid 列宽约束（不再撑满） */
	.footer__map {
		grid-column: 2;
		grid-row: 1;
		width: 196px;
		max-width: 196px;
		align-self: start;
	}

	.footer__map .footer__map-fig {
		width: 100%;
		height: 110px;
		min-height: 110px;
		margin: 0;
	}

	.footer__map .footer__map-fig img {
		width: 100%;
		height: 110px;
		object-fit: cover;
	}

	/* 按钮在地图图**下方**横排（不再塞进地图块右侧，避免把二维码挤掉） */
	.footer__map .footer__map-btns {
		display: flex;
		flex-wrap: nowrap;
		gap: 6px;
		margin-top: 6px;
	}

	.footer__map .jwnav-btn {
		flex: 1 1 0;
		min-width: 0;
		padding: 5px 4px;
		font-size: 11px;
		line-height: 1.3;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-align: center;
	}

	/* 文字信息：第 2 行，跨两列整行居中 */
	.footer__info {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		text-align: center;
		margin-top: 0;
	}

	.footer__contact,
	.footer__addr {
		display: none !important;
	}

	.footer__info p {
		font-size: 12.5px;
		margin-bottom: 3px;
		line-height: 1.4;
		word-break: break-all;
	}

	.footer__info .footer__tel strong {
		font-size: 19px;
	}

	.footer__copy,
	.footer__icp {
		font-size: 11px !important;
		margin-top: 0 !important;
	}
}

/* 字段为空时自动隐藏（PbootCMS 的 if 标签遇到含括号的字段值会解析失败，故改用 :empty） */
.spec-model:empty,
.spec-list:empty,
.jwb-act[href=""]:empty { display: none !important; }
.spec-list:empty { padding: 0; margin: 0; }
.jwb-act[href=""]{ display:none !important; }

/* ==========================================================================
   移动端专项修正（置于文件末尾，确保覆盖 all.css 与上文所有移动端规则）
   ========================================================================== */

/* ---------- M0. mmenu 桌面端中和 ----------
   site.js 现在无条件初始化 mmenu（保证任何视口进入都能点开菜单），
   但 mmenu 会把页面主体包进 .mm-page 并挂上 .mm-slideout 位移，
   在桌面端（≥768px）这层包装纯属多余，必须中和掉。 */
@media (min-width: 768px) {
	.mm-page,
	.mm-page.mm-slideout,
	.mm-slideout {
		display: contents !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		transform: none !important;
		-webkit-transform: none !important;
		position: static !important;
		float: none !important;
	}

	/* 桌面端不显示抽屉面板与遮罩 */
	.mm-menu,
	.mm-pagedim,
	.mm-navbar {
		display: none !important;
	}
}

/* ---------- M1. 页头：logo 随视口动态缩小 ---------- */
@media (max-width: 767px) {
	.header {
		padding: 8px 0;
	}

	.header .container {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	/* 汉堡按钮：order 9（最右），紧贴语言切换之后 */
	.header .menu-btn {
		flex: 0 0 auto;
		order: 9;
		margin-left: auto;
		padding: 10px 2px 10px 12px;
	}

	.header .logo {
		float: none;
		flex: 1 1 auto;
		min-width: 0;
		padding: 0;
	}

	/* 动态缩小：高度随视口宽度线性变化并封顶
	   320px 屏 ≈ 24px、390px 屏 ≈ 30px、≥448px 封顶 34px
	   宽度按 logo 原始比例（220:79）自动跟随 */
	.header .logo img {
		display: block;
		height: auto;
		width: auto;
		max-height: clamp(24px, 7.6vw, 34px);
		max-width: none;
	}

	/* 语言切换：order 8，紧挨着右侧的汉堡按钮（原先挤在 logo 右边）。
	   不加 margin-left:auto —— 由 .logo 的 flex:1 1 auto 撑开空间。 */
	.header .cnen {
		flex: 0 0 auto;
		order: 8;
		float: none;
		font-size: 12px;
		white-space: nowrap;
	}

	/* 汉堡三横线加粗一点，移动端更易点中 */
	.header .menu-btn:before,
	.header .menu-btn:after,
	.header .menu-btn span {
		height: 2px;
	}
}

/* ---------- M2. 产品主图：移动端动态缩放（去掉 all.css 固定 310px） ---------- */
@media (max-width: 767px) {
	.eyou-showcase {
		padding-bottom: var(--sp-4);
	}

	.eyou-showcase .pc-slide {
		width: 100%;
		flex: 1 1 100%;
	}

	/* 主图区：宽度 100% + 高度按视口比例，彻底随屏幕缩放 */
	.eyou-showcase .view .swiper-slide .imgauto {
		height: auto;
		line-height: 1;
		width: 100%;
		padding: 6px 0;          /* 10 → 6，图变小后容器跟着收 */
		background: #fff;
	}

	/* 产品图整体缩到 70%（原 100%）—— 方图受宽度限制，
	   只写 max-height 不生效，必须同时限宽。
	   max-height 同步降到 32vh（约 46vh 的 70%）。 */
	.eyou-showcase .view .imgauto img {
		width: 70%;
		height: auto;
		max-height: 32vh;
		max-width: 70%;
		margin: 0 auto;
		object-fit: contain;
		object-position: center;
	}

	/* 图片变小后，外层容器跟着收紧，不留大片空白 */
	.eyou-showcase .view .swiper-slide.img-center {
		display: flex;
		justify-content: center;
	}

	.eyou-showcase .view .swiper-container {
		overflow: hidden;
	}

	/* ---------- M3. 移动端隐藏产品图上下页（缩略图）模块 ---------- */
	.eyou-showcase .preview {
		display: none !important;
	}
}

/* ---------- M4. 产品短介绍：默认折叠 2 行，点击向下展开 ---------- */
@media (max-width: 767px) {
	/* Tab：手机上收紧内边距，视觉更紧凑 */
	.jianjie {
		gap: 4px;
	}

	.jianjie .nav-item .btn {
		line-height: 28px;
		padding: 0 16px;
		font-size: var(--fs-5);
	}

	.spec-list {
		position: relative;
	}

	/* 折叠态：max-height 由 JS 按「实际单行高 × 2」写入（--spec-line），
	   这样不论字号、行高、要点带不带 .sub 都能精确折成 2 行 */
	.spec-list.is-collapsed {
		max-height: calc(var(--spec-line, 46px) * 2);
		overflow: hidden;
	}

	/* 折叠时底部做渐隐，暗示还有内容 */
	.spec-list.is-collapsed::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 30px;
		background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 78%);
		pointer-events: none;
	}

	/* 展开按钮 */
	.spec-toggle {
		display: block;
		width: 100%;
		margin-top: var(--sp-2);
		padding: 0;
		border: 0;
		background: none;
		color: var(--c-brand);
		font-size: var(--fs-5);
		line-height: 1.8;
		text-align: left;
		cursor: pointer;
		user-select: none;
		-webkit-user-select: none;
	}

	.spec-toggle::after {
		content: '';
		display: inline-block;
		width: 7px;
		height: 7px;
		margin-left: 6px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		transition: transform .2s ease;
	}

	.spec-list.is-expanded + .spec-toggle::after {
		transform: translateY(1px) rotate(-135deg);
	}
}

@media (min-width: 768px) {
	.spec-toggle { display: none; }
}

/* ==========================================================================
   移动端分页：紧凑一行
   · 隐藏「首页 / 尾页」（.hidden-sm 在 CSS 里一直缺定义，导致它们在手机上也没隐藏）
   · 页码框变窄（38px → 28px），间距收紧
   · 强制不换行（flex-wrap:nowrap），超长时横向可滑动
   ========================================================================== */
@media (max-width: 767px) {
	.pagination{
		flex-wrap:nowrap !important;
		gap:4px !important;
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
		justify-content:center;
		padding-bottom:2px;
	}
	/* 首页 / 尾页在移动端隐藏 */
	.pagination .page-item.hidden-sm{
		display:none !important;
	}
	.pagination .page-item{
		min-width:28px !important;
		width:28px;
		height:28px !important;
		line-height:26px !important;
		padding:0 !important;
		font-size:12.5px !important;
		border-radius:4px;
		flex:0 0 auto;
	}
	/* 「上一页 / 下一页」文字项稍微放宽一点 */
	.pagination .page-item[title="上一页"],
	.pagination .page-item[title="下一页"]{
		width:auto;
		min-width:44px !important;
		padding:0 8px !important;
	}
	.pagebar .pagination{ margin:0; }
}
