/*
Theme Name: Moonseek
Theme URI: https://pump.moonseeks.com
Author: Moonseek
Author URI: https://pump.moonseeks.com
Description: WooCommerce 询盘型企业主题。支持 Contact Form 7、Elementor（免费版）、全设备响应式（手机/平板/PC）、WooCommerce 产品展示。兼容 PHP 7.2 - 8.3。
Version: 7.4.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: moonseek
Tags: e-commerce, responsive-layout, custom-menu, custom-logo, translation-ready
*/

/* 自托管 Manrope（latin + latin-ext，约 40KB），不依赖 Google CDN */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/manrope-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/manrope-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* =====================================================
   01 · 设计系统
   深墨蓝 × 工业青 × 极简中性灰
===================================================== */
:root {
	--ms-navy-900: #07131f;
	--ms-navy-800: #0b1f31;
	--ms-navy-700: #123249;
	--ms-brand: #0e5a8a;
	--ms-brand-strong: #0a4569;
	--ms-accent: #21b0d6;
	--ms-accent-soft: #7fd7f2;
	--ms-cyan: #2cb9de;
	--ms-cyan-deep: #159cc2;
	--ms-gold: #e5b04a;
	--ms-ink: #0f1a24;
	--ms-ink-soft: #556775;
	--ms-ink-mute: #8595a1;
	--ms-surface: #f5f8fb;
	--ms-surface-2: #eaf0f6;
	--ms-border: #dfe7ee;
	--ms-white: #ffffff;
	--ms-radius: 16px;
	--ms-radius-sm: 10px;
	--ms-shadow-sm: 0 1px 2px rgba(9, 25, 40, .05), 0 2px 8px rgba(9, 25, 40, .05);
	--ms-shadow: 0 18px 40px -18px rgba(9, 25, 40, .3);
	--ms-shadow-lift: 0 30px 64px -24px rgba(9, 25, 40, .42);
	--ms-container: 1200px;
	--ms-font: "Manrope", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--ms-font);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ms-ink);
	background: var(--ms-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
svg { display: block; }

a { color: var(--ms-brand); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--ms-brand-strong); }

h1, h2, h3, h4, h5 {
	color: var(--ms-ink);
	line-height: 1.16;
	letter-spacing: -0.025em;
	margin: 0 0 .5em;
	font-weight: 750;
}

p { margin: 0 0 1em; }

input, textarea, select, button { font-family: inherit; font-size: inherit; }

:focus-visible { outline: 2px solid var(--ms-accent); outline-offset: 3px; }

.container {
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 0 24px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* 小标签（区块眉题） */
.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ms-brand);
}
.eyebrow::before {
	content: "";
	width: 26px;
	height: 2px;
	border-radius: 2px;
	background: var(--ms-accent);
}
.eyebrow.light { color: var(--ms-accent-soft); }
.eyebrow.light::before { background: var(--ms-accent-soft); }

/* =====================================================
   02 · 顶部通栏 + 头部
===================================================== */
.top-bar {
	background: var(--ms-navy-900);
	color: rgba(255, 255, 255, .68);
	font-size: 12.5px;
	letter-spacing: .01em;
}
.top-bar .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 38px;
	gap: 16px;
}
.top-left, .top-right { display: flex; align-items: center; gap: 18px; }
.top-bar a { color: rgba(255, 255, 255, .82); }
.top-bar a:hover { color: var(--ms-accent-soft); }
.top-bar .top-sep { opacity: .28; }

.quote-btn {
	display: inline-flex;
	align-items: center;
	height: 26px;
	padding: 0 16px;
	border-radius: 99px;
	background: var(--ms-white);
	color: var(--ms-navy-900) !important;
	font-weight: 750;
	font-size: 11.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background .18s ease, box-shadow .18s ease;
}
.quote-btn:hover {
	background: rgba(255, 255, 255, .86);
	color: var(--ms-navy-900) !important;
	box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .55);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(255, 255, 255, .9);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid rgba(15, 26, 36, .07);
}
.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 66px;
}

/* 品牌锁定组合（文字型 Logo，兼容替换为图片）
   Logo 收小：34px 图形 + 16px 字标，视觉重量让给导航 */
.site-branding { display: flex; align-items: center; }
.brand {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--ms-ink);
}
.brand:hover { color: var(--ms-ink); }
.brand-mark {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 9px;
	overflow: hidden;
	box-shadow: 0 4px 12px -8px rgba(14, 90, 138, .8);
}
.brand-mark svg { width: 100%; height: 100%; }
.brand-text { display: flex; flex-direction: column; line-height: 1; }
.brand-name {
	font-size: 16.5px;
	font-weight: 900;
	letter-spacing: .13em;
	color: var(--ms-cyan-deep);
}
.brand-tag {
	margin-top: 3px;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
}
.site-branding img,
.site-branding .custom-logo { max-height: 36px; width: auto; }
.site-title { font-size: 17px; font-weight: 800; margin: 0; letter-spacing: -.02em; }
.site-title a { color: var(--ms-navy-800); }

/* 主导航 */
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 2px;
}
.main-navigation li { position: relative; }
.main-navigation > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 11px 13px;
	font-size: 14px;
	white-space: nowrap;
	font-weight: 650;
	letter-spacing: -.005em;
	color: var(--ms-ink);
	border-radius: 8px;
	transition: color .18s ease, background .18s ease;
}
/* 有下拉的一级项：文字后一个小箭头，向下旋转 180° 表示可展开 */
.ms-caret {
	width: 5px;
	height: 5px;
	margin-top: -3px;
	flex: none;
	border-right: 1.4px solid currentColor;
	border-bottom: 1.4px solid currentColor;
	opacity: .45;
	transform: rotate(45deg);
	transition: transform .2s ease, opacity .2s ease;
}
.main-navigation > ul > li:hover > a .ms-caret,
.main-navigation > ul > li:focus-within > a .ms-caret { opacity: .9; }
.main-navigation > ul > li > a::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 6px;
	height: 2px;
	border-radius: 2px;
	background: var(--ms-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .22s ease;
}
.main-navigation > ul > li > a:hover { color: var(--ms-brand); background: rgba(33, 176, 214, .07); }
.main-navigation > ul > li > a:hover::after,
.main-navigation > ul > li.current-menu-item > a::after { transform: scaleX(1); }
/* 顶边贴住父项：鼠标从文字往下走不会经过任何「空气缝」，下拉不会闪退 */
.main-navigation .sub-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -10px;
	height: 10px;
}
.main-navigation .sub-menu {
	position: absolute;
	top: 100%;
	left: 6px;
	min-width: 232px;
	background: var(--ms-white);
	border: 1px solid var(--ms-border);
	border-radius: 14px;
	box-shadow: 0 24px 50px -20px rgba(9, 25, 40, .35);
	padding: 10px;
	display: none;
	flex-direction: column;
	gap: 0;
	z-index: 99;
}
.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu { display: flex; }
.main-navigation .sub-menu li { width: 100%; }
.main-navigation .sub-menu a {
	display: block;
	padding: 9px 13px;
	font-size: 13.8px;
	font-weight: 550;
	color: var(--ms-ink-soft);
	border-radius: 8px;
	white-space: nowrap;
}
.main-navigation .sub-menu a:hover { background: var(--ms-surface); color: var(--ms-brand); }
.main-navigation .sub-menu .sub-menu { top: -8px; left: 100%; }

/* Products 下拉：应用场景（三级）面板，三列原地展开 */
.main-navigation { position: relative; }
.main-navigation > ul > li.ms-mega { position: static; }
.main-navigation li.ms-mega > .sub-menu {
	left: auto;
	right: 0;
	top: 100%;
	transform: none;
	width: min(760px, calc(100vw - 32px));
	min-width: 0;
	padding: 18px 6px 10px;
	gap: 0;
	grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
	align-items: start;
	border-radius: 18px;
	border-color: rgba(15, 26, 36, .08);
	box-shadow: 0 30px 64px -30px rgba(9, 25, 40, .45), 0 2px 6px rgba(9, 25, 40, .05);
}
.main-navigation li.ms-mega:hover > .sub-menu,
.main-navigation li.ms-mega:focus-within > .sub-menu { display: grid; }

/* 二级：一列 = 一个应用场景 */
.main-navigation .ms-mega > .sub-menu > li.ms-navcol {
	width: 100%;
	padding: 4px 18px 12px;
	border-left: 1px solid rgba(15, 26, 36, .07);
}
.main-navigation .ms-mega > .sub-menu > li.ms-navcol:first-child { border-left: 0; }
.main-navigation .ms-mega > .sub-menu > li.ms-navcol > a {
	display: block;
	padding: 2px 4px 12px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--ms-navy-800);
	border-radius: 6px;
}
.main-navigation .ms-mega > .sub-menu > li.ms-navcol > a::after { content: none; }
.main-navigation .ms-mega > .sub-menu > li.ms-navcol > a:hover { background: transparent; color: var(--ms-brand); }
.main-navigation .ms-mega .ms-col-note {
	display: block;
	margin-top: 5px;
	font-size: 10.5px;
	font-weight: 550;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ms-ink-mute);
}

/* 三级：分类列表在列内原地展开，不再二次飞出 */
.main-navigation .ms-mega > .sub-menu > li.ms-navcol > .sub-menu {
	position: static;
	top: auto;
	left: auto;
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	width: 100%;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	transform: none;
}
.main-navigation .ms-mega .ms-navcol .sub-menu a {
	display: block;
	padding: 8px 4px;
	border-bottom: 1px solid rgba(15, 26, 36, .06);
	border-radius: 0;
	font-size: 13.4px;
	font-weight: 550;
	color: var(--ms-ink-soft);
	white-space: normal;
	line-height: 1.4;
	transition: color .16s ease, padding-left .16s ease;
}
.main-navigation .ms-mega .ms-navcol .sub-menu li:last-child a { border-bottom: 0; }
.main-navigation .ms-mega .ms-navcol .sub-menu a::after { content: none; }
.main-navigation .ms-mega .ms-navcol .sub-menu a:hover {
	background: transparent;
	color: var(--ms-brand);
	padding-left: 8px;
}
/* 「全部产品」固定在面板最后一行，通栏 */
.main-navigation .ms-mega li.ms-mega-all { grid-column: 1 / -1; order: 9; }
.main-navigation .ms-mega .sub-menu li.ms-mega-all a {
	margin: 4px 18px 0;
	padding: 13px 4px 2px;
	border-top: 1px solid var(--ms-border);
	border-bottom: 0;
	border-radius: 0;
	font-weight: 750;
	color: var(--ms-brand);
	letter-spacing: .01em;
}
.main-navigation .ms-mega .sub-menu li.ms-mega-all a:hover { background: transparent; color: var(--ms-brand-strong); padding-left: 4px; }

.menu-toggle {
	display: none;
	background: none;
	border: 1px solid var(--ms-border);
	border-radius: 10px;
	font-size: 20px;
	line-height: 1;
	padding: 9px 13px;
	cursor: pointer;
	color: var(--ms-navy-800);
}

/* =====================================================
   03 · 按钮
===================================================== */
.btn-nm,
.wpcf7 input[type="submit"],
button.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: linear-gradient(120deg, var(--ms-brand), var(--ms-brand-strong));
	color: var(--ms-white);
	border: none;
	border-radius: 10px;
	padding: 13px 26px;
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: .01em;
	cursor: pointer;
	box-shadow: 0 10px 24px -14px rgba(14, 90, 138, .95);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-nm:hover,
.wpcf7 input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: linear-gradient(120deg, var(--ms-brand-strong), #062f49);
	color: var(--ms-white);
	transform: translateY(-2px);
	box-shadow: 0 18px 34px -16px rgba(9, 25, 40, .6);
}
.btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 13px 24px;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, .28);
	color: var(--ms-white);
	font-size: 14.5px;
	font-weight: 650;
	transition: background .2s ease, border-color .2s ease;
}
.btn-ghost:hover {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .5);
	color: var(--ms-white);
}

/* =====================================================
   04 · Hero
===================================================== */
.home-banner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 636px;
	padding: 84px 0 78px;
	color: var(--ms-white);
	background: #06121d url(assets/img/hero-lg.webp) 38% center / cover no-repeat;
	overflow: hidden;
}
/* 左侧压暗，保证文字可读，右侧留出照片主体（游艇） */
.home-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(96deg,
		rgba(4, 17, 29, .92) 0%,
		rgba(4, 17, 29, .80) 26%,
		rgba(5, 22, 36, .40) 52%,
		rgba(5, 22, 36, .04) 78%,
		rgba(5, 22, 36, 0) 100%);
	pointer-events: none;
}
.hero-grid { position: relative; z-index: 2; }
.home-banner::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 150px;
	background: linear-gradient(to top, rgba(5, 16, 26, .82), rgba(5, 16, 26, 0));
	pointer-events: none;
	z-index: 1;
}
.hero-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr);
	gap: 60px;
	align-items: center;
}
.home-banner .eyebrow { color: var(--ms-accent-soft); }
.home-banner .eyebrow::before { background: var(--ms-accent-soft); }

.hero-title {
	color: var(--ms-white);
	font-size: clamp(36px, 4.9vw, 60px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -.035em;
	margin: 0 0 18px;
	max-width: 15em;
}
/* 品牌高亮词：统一纯色，不做渐变 */
.hero-title .hl {
	color: var(--ms-cyan);
	background: none;
	-webkit-text-fill-color: currentColor;
}
.hero-sub {
	color: rgba(255, 255, 255, .74);
	font-size: clamp(15px, 1.4vw, 17px);
	max-width: 52ch;
	margin: 0 0 30px;
}
.hero-search {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 520px;
	padding: 6px;
	border-radius: 13px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 20px 44px -22px rgba(0, 0, 0, .85);
}
.hero-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 12px 14px;
	font-size: 15px;
	color: var(--ms-ink);
	border-radius: 9px;
}
.hero-search input[type="search"]::placeholder { color: #90a1ae; }
.hero-search input[type="search"]:focus { outline: none; }
.hero-search button {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: none;
	border-radius: 9px;
	background: linear-gradient(130deg, var(--ms-accent), #1287aa);
	color: #04202e;
	cursor: pointer;
	transition: transform .18s ease, filter .18s ease;
}
.hero-search button:hover { transform: translateX(2px); filter: brightness(1.06); }

.banner-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
	max-width: 560px;
}
.banner-tags a {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 550;
	color: rgba(255, 255, 255, .72);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 99px;
	padding: 6px 13px;
	background: rgba(255, 255, 255, .04);
	transition: all .2s ease;
}
.banner-tags a:hover {
	background: rgba(33, 176, 214, .16);
	border-color: rgba(33, 176, 214, .6);
	color: #d9f4ff;
}

/* Hero 右侧速览卡 */
.hero-card {
	padding: 28px 30px 24px;
	border-radius: 18px;
	background: linear-gradient(160deg, rgba(9, 27, 42, .56), rgba(6, 18, 30, .38));
	border: 1px solid rgba(255, 255, 255, .22);
	backdrop-filter: blur(22px) saturate(1.2);
	-webkit-backdrop-filter: blur(22px) saturate(1.2);
	box-shadow: 0 34px 60px -34px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .12);
}
.hero-card-title {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
	margin: 0 0 6px;
}
.hero-card ul { list-style: none; margin: 0; padding: 0; }
.hero-card li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.hero-card li:last-child { border-bottom: none; }
.hero-card li b {
	font-size: 25px;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--ms-white);
	font-variant-numeric: tabular-nums;
	line-height: 1;
	white-space: nowrap;
}
.hero-card li span {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .52);
	text-align: right;
	line-height: 1.4;
}
.hero-card-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ms-accent-soft);
}
.hero-card-link:hover { color: #fff; }

/* Hero 下方保障条 */
.hero-strip {
	background: var(--ms-white);
	border-bottom: 1px solid var(--ms-border);
}
.strip-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.strip-item {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 22px 22px;
	border-left: 1px solid var(--ms-border);
}
.strip-item:first-child { border-left: none; padding-left: 0; }
.strip-ic {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--ms-surface-2);
	color: var(--ms-brand);
}
.strip-item b {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--ms-ink);
	line-height: 1.35;
}
.strip-item span {
	display: block;
	font-size: 12.5px;
	color: var(--ms-ink-mute);
	line-height: 1.4;
}

/* =====================================================
   05 · 区块骨架 + 标题
===================================================== */
section { padding: 96px 0; }
.sec-title { max-width: 760px; margin-bottom: 48px; }
.sec-title h2 {
	font-size: clamp(27px, 3.1vw, 40px);
	font-weight: 800;
	letter-spacing: -.03em;
	margin: 0;
}
.sec-title .sub {
	color: var(--ms-ink-soft);
	font-size: 15.5px;
	margin: 12px 0 0;
	max-width: 62ch;
}
.sec-title.center { margin-left: auto; margin-right: auto; text-align: center; }
.sec-title.center .eyebrow { justify-content: center; }
.sec-head-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 48px;
}
.sec-head-row .sec-title { margin-bottom: 0; }
.sec-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ms-brand);
	white-space: nowrap;
	padding-bottom: 6px;
}
.sec-more:hover { color: var(--ms-accent); }

/* =====================================================
   06 · 产品分类
===================================================== */
.home-cats { background: var(--ms-surface); }
.cat-cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.cat-col {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--ms-white);
	border: 1px solid var(--ms-border);
	border-radius: var(--ms-radius);
	padding: 0;
	overflow: hidden;
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
/* 分类配图 */
.cat-thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #dfe7ef;
}
.cat-thumb picture,
.app-card picture,
.cert-grid picture,
.about-shots picture { display: contents; }
.cat-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .7s cubic-bezier(.2, .7, .3, 1);
}
.cat-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(6, 22, 36, .55), rgba(6, 22, 36, 0) 58%);
}
.cat-col:hover .cat-thumb img { transform: scale(1.06); }
.cat-body { padding: 22px 26px 24px; display: flex; flex-direction: column; flex: 1; }
.cat-col::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 0;
	background: linear-gradient(90deg, var(--ms-accent), var(--ms-brand));
	transition: width .35s ease;
}
.cat-col:hover {
	transform: translateY(-6px);
	box-shadow: var(--ms-shadow-lift);
	border-color: transparent;
}
.cat-col:hover::before { width: 100%; }
.cat-idx {
	position: absolute;
	left: 18px;
	top: 18px;
	z-index: 2;
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 28px;
	padding: 0 11px;
	margin: 0;
	border-radius: 999px;
	background: rgba(6, 22, 36, .58);
	border: 1px solid rgba(255, 255, 255, .26);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: #fff;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .12em;
	font-variant-numeric: tabular-nums;
}
.cat-head {
	background: none;
	padding: 0;
	margin: 0;
	font-size: 20px;
	font-weight: 750;
	letter-spacing: -.02em;
	color: var(--ms-ink);
	line-height: 1.3;
}
.cat-head a { color: var(--ms-ink) !important; }
.cat-head a:hover { color: var(--ms-brand) !important; }
.cat-col ul {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	border-top: 1px solid var(--ms-border);
}
.cat-col ul li { border-bottom: 1px solid #eef3f8; }
.cat-col ul li:last-child { border-bottom: none; }
.cat-col ul a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 2px;
	font-size: 14px;
	color: var(--ms-ink-soft);
	transition: color .18s ease, padding .18s ease;
}
.cat-col ul a::after {
	content: "→";
	opacity: 0;
	transform: translateX(-6px);
	transition: all .2s ease;
	font-weight: 600;
	color: var(--ms-accent);
}
.cat-col ul a:hover { color: var(--ms-brand); padding-left: 4px; }
.cat-col ul a:hover::after { opacity: 1; transform: translateX(0); }
.cat-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ms-brand);
}
.cat-more:hover { color: var(--ms-accent); }

/* =====================================================
   07 · 数字统计条
===================================================== */
.num-section {
	position: relative;
	background: linear-gradient(108deg, var(--ms-navy-900) 0%, var(--ms-navy-700) 78%, #12405f 100%);
	color: var(--ms-white);
	padding: 70px 0;
	overflow: hidden;
}
.num-section::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(760px 320px at 88% 130%, rgba(33, 176, 214, .3), transparent 62%);
	pointer-events: none;
}
.num-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	text-align: center;
}
.num-item { position: relative; padding: 6px 8px; }
.num-item + .num-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 16%;
	bottom: 16%;
	width: 1px;
	background: rgba(255, 255, 255, .16);
}
.num {
	font-size: clamp(32px, 4.2vw, 48px);
	font-weight: 800;
	letter-spacing: -.035em;
	color: var(--ms-white);
	font-variant-numeric: tabular-nums;
	line-height: 1.02;
}
.num-label {
	margin-top: 10px;
	font-size: 11.5px;
	font-weight: 650;
	text-transform: uppercase;
	letter-spacing: .16em;
	color: rgba(255, 255, 255, .58);
}

/* =====================================================
   08 · About
===================================================== */
.home-about { background: var(--ms-white); }
.about-grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	gap: 64px;
	align-items: center;
}
.about-visual {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
/* 车间实景三联（原站照片，按原尺寸呈现不拉伸） */
.about-shots {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
.about-shots figure {
	position: relative;
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
	background: #dfe7ef;
	box-shadow: 0 14px 28px -18px rgba(9, 25, 40, .55);
}
.about-shots img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 202 / 140;
	object-fit: cover;
	transition: transform .6s ease;
}
.about-shots figure:hover img { transform: scale(1.07); }
.about-shots figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 14px 10px 7px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fff;
	background: linear-gradient(to top, rgba(6, 22, 36, .86), rgba(6, 22, 36, 0));
}
.about-panel {
	position: relative;
	padding: 38px 36px 34px;
	border-radius: 20px;
	overflow: hidden;
	color: var(--ms-white);
	background: linear-gradient(150deg, var(--ms-navy-800), var(--ms-navy-700) 62%, #0f4666);
	box-shadow: var(--ms-shadow);
}
.about-panel::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(420px 260px at 92% 4%, rgba(33, 176, 214, .38), transparent 60%),
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: auto, 100% 34px;
	pointer-events: none;
}
.about-panel > * { position: relative; z-index: 2; }
.about-big {
	font-size: clamp(54px, 6.4vw, 76px);
	font-weight: 800;
	letter-spacing: -.05em;
	line-height: 1;
	margin: 14px 0 10px;
	color: var(--ms-white);
}
.about-big small {
	font-size: .34em;
	font-weight: 700;
	letter-spacing: .02em;
	margin-left: 6px;
	color: var(--ms-accent-soft);
}
.about-cap {
	font-size: 14.5px;
	color: rgba(255, 255, 255, .7);
	max-width: 30ch;
	margin: 0 0 26px;
}
.about-mini {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 20px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .16);
}
.about-mini b {
	display: block;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.1;
}
.about-mini span {
	display: block;
	margin-top: 4px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .5);
}
.about-cert {
	position: absolute;
	width: 104px;
	border-radius: 8px;
	border: 4px solid #fff;
	box-shadow: 0 22px 40px -18px rgba(9, 25, 40, .55);
	background: #fff;
}
.about-cert.c1 { right: -26px; top: -18px; transform: rotate(-6deg); }
.about-cert.c2 { right: 56px; top: -30px; transform: rotate(5deg); width: 92px; }

.about-text h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 14px; }
.about-text p { color: var(--ms-ink-soft); font-size: 15px; line-height: 1.78; }
.about-lead {
	color: var(--ms-ink) !important;
	font-size: 16.5px !important;
	font-weight: 650;
	margin-bottom: 14px !important;
}
.about-points {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 26px;
	list-style: none;
	margin: 22px 0 28px;
	padding: 0;
}
.about-points li {
	position: relative;
	padding-left: 24px;
	font-size: 14px;
	font-weight: 550;
	color: var(--ms-ink);
}
.about-points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .48em;
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--ms-accent);
	border-bottom: 2px solid var(--ms-accent);
	transform: rotate(-45deg);
}

/* =====================================================
   09 · Hot Product（WooCommerce 循环）
===================================================== */
.home-products { background: var(--ms-surface); }
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* WooCommerce 的 clearfix 伪元素会被 grid 当成一个格子，导致整排右移一格 */
ul.products::before,
ul.products::after { display: none !important; content: none !important; }

ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: var(--ms-white);
	border: 1px solid var(--ms-border);
	border-radius: var(--ms-radius);
	overflow: hidden;
	padding: 0 !important;
	text-align: left;
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
	display: flex;
	flex-direction: column;
}
ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: var(--ms-shadow-lift);
	border-color: transparent;
}
ul.products li.product a.woocommerce-LoopProduct-link { display: block; }
ul.products li.product img {
	border-radius: 0;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	padding: 22px;
	background: #f8fafc;
	width: 100% !important;
	transition: transform .45s ease;
}
ul.products li.product:hover img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px !important;
	font-weight: 700;
	color: var(--ms-ink);
	padding: 20px 24px 14px;
	line-height: 1.45;
	letter-spacing: -.012em;
	text-wrap: pretty;
}
ul.products li.product .price {
	color: transparent !important;
	font-size: 0 !important;
	padding: 0;
	height: 0 !important;
	margin: 0 !important;
}
/* 卡片 CTA 收成安静的文字链（一排四个胶囊按钮会显得廉价） */
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
	margin: auto 24px 20px !important;
	align-self: flex-start;
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	color: var(--ms-ink-soft) !important;
	font-weight: 750 !important;
	font-size: 11px !important;
	letter-spacing: .11em !important;
	text-transform: uppercase !important;
	transition: color .18s ease;
}
ul.products li.product .button::after {
	content: "→";
	font-size: 13px;
	letter-spacing: 0;
	line-height: 1;
	transition: transform .18s ease;
}
ul.products li.product .button:hover {
	background: transparent !important;
	color: var(--ms-navy-900) !important;
	transform: none;
	box-shadow: none !important;
}
ul.products li.product .button:hover::after { transform: translateX(4px); }

/* =====================================================
   10 · 应用领域
===================================================== */
.home-apps { background: var(--ms-white); }
.apps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.app-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 408px;
	padding: 0;
	border: none;
	border-radius: var(--ms-radius);
	background: #0a2338;
	overflow: hidden;
	box-shadow: 0 24px 46px -28px rgba(9, 25, 40, .55);
	transition: transform .3s ease, box-shadow .3s ease;
}
.app-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .85s cubic-bezier(.2, .7, .3, 1);
}
.app-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top,
		rgba(4, 16, 27, .95) 0%,
		rgba(4, 16, 27, .74) 36%,
		rgba(4, 16, 27, .14) 76%,
		rgba(4, 16, 27, .04) 100%);
	pointer-events: none;
}
.app-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 34px 60px -30px rgba(9, 25, 40, .62);
}
.app-card:hover .app-bg { transform: scale(1.07); }
.app-num {
	position: absolute;
	top: 22px;
	right: 24px;
	z-index: 2;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .16em;
	color: rgba(255, 255, 255, .62);
	font-variant-numeric: tabular-nums;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .5);
}
.app-card .info {
	position: relative;
	z-index: 2;
	padding: 30px 30px 30px;
	width: 100%;
}
.app-card .info h3 {
	font-size: 20px;
	line-height: 1.3;
	margin-bottom: 10px;
	letter-spacing: -.02em;
	color: #fff;
}
.app-card .info p {
	font-size: 13.5px;
	line-height: 1.68;
	color: rgba(255, 255, 255, .74);
	margin: 0 0 16px;
}
.app-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #86d9f4;
}
.app-link:hover { color: #fff; }

/* =====================================================
   11 · 客户信赖
===================================================== */
.home-trust { padding: 76px 0; }
.home-trust .container { text-align: center; position: relative; z-index: 2; }
.home-trust h2 {
	color: var(--ms-white);
	font-size: clamp(24px, 2.8vw, 34px);
	margin-bottom: 10px;
}
.home-trust h2 strong { color: var(--ms-accent-soft); }
.home-trust p {
	color: rgba(255, 255, 255, .62);
	font-size: 15px;
	margin: 0 0 26px;
}
.trust-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.trust-badges span {
	display: inline-flex;
	align-items: center;
	padding: 8px 18px;
	border-radius: 99px;
	border: 1px solid rgba(255, 255, 255, .2);
	background: rgba(255, 255, 255, .05);
	color: rgba(255, 255, 255, .86);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* =====================================================
   12 · 留言表单
===================================================== */
.home-contact {
	position: relative;
	color: var(--ms-white);
	background: linear-gradient(125deg, #061523 0%, var(--ms-navy-800) 55%, #0d3c59 100%);
	overflow: hidden;
	padding: 92px 0;
}
.home-contact::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(720px 380px at 88% 4%, rgba(33, 176, 214, .26), transparent 62%);
	pointer-events: none;
}
.contact-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
	gap: 56px;
	align-items: start;
}
.home-contact .sec-title { margin-bottom: 26px; }
.home-contact .sec-title h2 { color: var(--ms-white); }
.home-contact .sec-title .sub { color: rgba(255, 255, 255, .7); }
.contact-list {
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	display: grid;
	gap: 2px;
}
.contact-list li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.contact-list li:last-child { border-bottom: none; }
.contact-list .ci {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: rgba(255, 255, 255, .08);
	color: var(--ms-accent-soft);
}
.contact-list .ci svg { width: 16px; height: 16px; }
.contact-list .cl {
	display: block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
	margin-bottom: 3px;
}
.contact-list .cv {
	display: block;
	font-size: 14.5px;
	font-weight: 600;
	color: rgba(255, 255, 255, .92);
	line-height: 1.5;
}
.contact-list a.cv:hover { color: var(--ms-accent-soft); }

.contact-form-card {
	background: var(--ms-white);
	border-radius: 20px;
	padding: 34px 34px 30px;
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9);
	color: var(--ms-ink);
}
.contact-form-card .form-head {
	font-size: 17px;
	font-weight: 750;
	letter-spacing: -.02em;
	margin: 0 0 4px;
	color: var(--ms-ink);
}
.contact-form-card .form-note {
	font-size: 13px;
	color: var(--ms-ink-mute);
	margin: 0 0 22px;
}
.cf7-wrap { max-width: none; margin: 0; }
.wpcf7 form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 0;
}
.wpcf7 form .hidden-fields-container { display: none; }
.wpcf7 form > label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
	margin: 0;
}
.wpcf7 form > label:nth-of-type(3),
.wpcf7 form > label:nth-of-type(4),
.wpcf7 form > p:nth-of-type(3),
.wpcf7 form > p:nth-of-type(4) { grid-column: 1 / -1; }
.cf7-full { grid-column: 1 / -1; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid var(--ms-border);
	border-radius: 10px;
	font-size: 14.5px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	background: var(--ms-white);
	color: var(--ms-ink);
	transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.wpcf7 textarea { min-height: 128px; resize: vertical; }
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder { color: #a7b6c2; }
.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border-color: var(--ms-navy-900);
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 3px rgba(9, 25, 40, .07);
}
.wpcf7 input[type="submit"] {
	grid-column: 1 / -1;
	justify-content: center;
	margin-top: 4px;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: 13px;
}
.wpcf7 .ajax-loader { display: none; }
.wpcf7 .wpcf7-not-valid-tip { color: #c2453a; font-size: 12px; letter-spacing: 0; text-transform: none; font-weight: 500; }
.wpcf7 .wpcf7-response-output {
	grid-column: 1 / -1;
	border: none;
	color: var(--ms-brand);
	font-size: 13.5px;
	margin: 6px 0 0;
	padding: 0;
}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors { color: #c2453a; }

/* =====================================================
   13 · 证书墙
===================================================== */
.home-certs { background: var(--ms-surface); }
.cert-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
}
.cert-grid img {
	width: 100%;
	height: auto;
	background: var(--ms-white);
	border: 1px solid var(--ms-border);
	border-radius: 12px;
	padding: 12px;
	box-shadow: var(--ms-shadow-sm);
	transition: transform .28s ease, box-shadow .28s ease;
}
.cert-grid img:hover { transform: translateY(-5px); box-shadow: var(--ms-shadow); }

/* =====================================================
   14 · 最新新闻
===================================================== */
.home-news { background: var(--ms-white); }
.news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.news-card {
	background: var(--ms-white);
	border: 1px solid var(--ms-border);
	border-radius: var(--ms-radius);
	overflow: hidden;
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.news-card:hover { transform: translateY(-5px); box-shadow: var(--ms-shadow-lift); border-color: transparent; }
.news-card > a { display: block; overflow: hidden; }
.news-card img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	transition: transform .5s ease;
}
.news-card:hover img { transform: scale(1.05); }
.news-card .info { padding: 20px 22px 24px; }
.news-card .date {
	font-size: 11px;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--ms-ink-mute);
	margin-bottom: 9px;
	font-variant-numeric: tabular-nums;
}
.news-card h3 { font-size: 16.5px; margin-bottom: 8px; line-height: 1.42; letter-spacing: -.015em; }
.news-card h3 a { color: var(--ms-ink); }
.news-card h3 a:hover { color: var(--ms-brand); }
.news-card p { font-size: 13.8px; line-height: 1.65; color: var(--ms-ink-soft); margin: 0; }

/* =====================================================
   15 · 页脚
===================================================== */
.site-footer {
	background: var(--ms-navy-900);
	color: rgba(255, 255, 255, .66);
	padding: 68px 0 0;
	font-size: 14px;
}
.site-footer h4 {
	color: var(--ms-white);
	font-size: 12px;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: .16em;
	margin-bottom: 18px;
}
.footer-grid {
	display: grid;
	grid-template-columns: 1.55fr .8fr .8fr 1.1fr;
	gap: 38px;
	padding-bottom: 48px;
}
/* 页脚品牌：与站头同一套 MOONSEEK 字标，深底上放大一档 */
.footer-logo { display: inline-flex; align-items: center; margin-bottom: 20px; }
.footer-logo .brand { gap: 12px; }
.footer-logo .brand-mark {
	width: 42px;
	height: 42px;
	flex-basis: 42px;
	border-radius: 12px;
	box-shadow: none;
}
.footer-logo .brand-name { color: var(--ms-cyan); font-size: 20px; letter-spacing: .14em; }
.footer-logo .brand-tag { color: rgba(255, 255, 255, .38); font-size: 8.5px; letter-spacing: .28em; }
.footer-about p { font-size: 13.6px; line-height: 1.75; color: rgba(255, 255, 255, .58); max-width: 40ch; }
.footer-about ul { list-style: none; margin: 18px 0 0; padding: 0; }
.footer-about li { padding: 4px 0; font-size: 13.4px; color: rgba(255, 255, 255, .58); }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { padding: 5px 0; }
.footer-col a { color: rgba(255, 255, 255, .66); font-size: 13.8px; }
.footer-col a:hover { color: var(--ms-accent-soft); }
.footer-about a { color: rgba(255, 255, 255, .86); }
.footer-bottom .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .1);
	padding: 20px 0;
	font-size: 12.5px;
	color: rgba(255, 255, 255, .42);
}
/* 版权与法务链接分列两端（容器本身居中，这里不能再用 flex 居中） */
.footer-bottom .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.f-tel { display: none; }

.footer-cta p {
	font-size: 13.6px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .58);
	margin: 0 0 18px;
	max-width: 30ch;
}
.footer-cta .btn-nm {
	padding: 11px 22px;
	font-size: 13px;
	background: var(--ms-white);
	color: var(--ms-navy-900);
	box-shadow: none;
}
.footer-cta .btn-nm:hover { background: rgba(255, 255, 255, .88); color: var(--ms-navy-900); }
.footer-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 18px;
}
.footer-badges span {
	padding: 4px 11px;
	border-radius: 99px;
	border: 1px solid rgba(255, 255, 255, .16);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	color: rgba(255, 255, 255, .6);
}

/* 浮动联系 + 回到顶部 */
.float-contact {
	position: fixed;
	right: 18px;
	bottom: 88px;
	z-index: 900;
	display: flex;
	flex-direction: column;
	gap: 10px;
	/* 首屏先隐藏，脚本滚过 banner 后加 .is-ready 淡入 */
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}
.float-contact.is-ready { opacity: 1; pointer-events: auto; }
.float-contact a {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ms-brand);
	color: #fff;
	font-size: 17px;
	line-height: 1;
	box-shadow: 0 12px 26px -12px rgba(9, 25, 40, .7);
	transition: transform .2s ease, background .2s ease;
}
.float-contact a:hover { background: var(--ms-accent); color: #04202e; transform: translateY(-2px); }
.float-contact .f-tel { display: grid; }

#back-top {
	position: fixed;
	right: 18px;
	bottom: 32px;
	z-index: 900;
	width: 44px;
	height: 44px;
	border: 1px solid var(--ms-border);
	border-radius: 50%;
	background: #fff;
	color: var(--ms-navy-800);
	font-size: 16px;
	cursor: pointer;
	box-shadow: 0 12px 26px -14px rgba(9, 25, 40, .55);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
#back-top.show { opacity: 1; visibility: visible; transform: translateY(0); }

/* =====================================================
   16 · 内页
===================================================== */
/* 内页题头：浅色编辑部式（不再用深色渐变大横幅，避免和正文抢视线） */
.page-banner {
	position: relative;
	color: var(--ms-ink);
	background: var(--ms-surface);
	border-bottom: 1px solid var(--ms-border);
	padding: 42px 0 38px;
	overflow: hidden;
}
.page-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(760px 240px at 88% -30%, rgba(33, 176, 214, .07), transparent 70%);
	pointer-events: none;
}
.page-banner .container {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
/* 无论模板里 h1 在前还是在后，一律「面包屑 → 标题 → 副标题」 */
.page-banner .breadcrumb { order: 1; }
.page-banner h1 { order: 2; }
.page-banner .banner-sub { order: 3; }
.page-banner .banner-meta { order: 4; }
.page-banner h1 {
	color: var(--ms-navy-900);
	font-size: clamp(27px, 3.5vw, 40px);
	font-weight: 780;
	letter-spacing: -.035em;
	line-height: 1.14;
	margin: 0;
	max-width: 22em;
}
.page-banner .breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	font-size: 12.5px;
	color: var(--ms-ink-mute);
	letter-spacing: .01em;
	margin-bottom: 12px;
}
.page-banner .breadcrumb a { color: var(--ms-ink-soft); font-weight: 600; }
.page-banner .breadcrumb a:hover { color: var(--ms-brand); }
/* 题头是 flex 列布局，子项默认按内容宽 —— 长标题/长句必须限死在容器内 */
.page-banner .container > * { max-width: 100%; }
.page-banner .banner-sub {
	max-width: min(64ch, 100%);
	margin: 14px 0 0;
	font-size: 14.5px;
	line-height: 1.72;
	color: var(--ms-ink-soft);
}
.page-banner .banner-meta {
	margin: 14px 0 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
	font-variant-numeric: tabular-nums;
}
.n_main, .content-area { padding: 44px 0 88px; }
/* 正文排版：长文阅读节奏（居中式单栏，去除彩条等「模板感」装饰） */
.entry-content {
	max-width: 760px;
	margin: 0 auto;
	color: var(--ms-ink-soft);
	font-size: 16.5px;
	line-height: 1.85;
}
.entry-content > *:first-child { margin-top: 0; }
.entry-content p { margin: 0 0 1.15em; }
.entry-content img { border-radius: 14px; box-shadow: var(--ms-shadow-sm); margin: 1.7em 0; }
.entry-content h1 {
	font-size: clamp(22px, 2.4vw, 26px);
	color: var(--ms-navy-900);
	letter-spacing: -.022em;
	margin: 0 0 .8em;
}
.entry-content h2 {
	font-size: clamp(21px, 2.3vw, 27px);
	margin: 2.1em 0 .7em;
	color: var(--ms-navy-900);
	letter-spacing: -.028em;
	padding: 0;
	border: 0;
}
.entry-content h3 {
	font-size: 18.5px;
	margin: 1.9em 0 .6em;
	color: var(--ms-ink);
	letter-spacing: -.015em;
}
.entry-content h4 { font-size: 16px; letter-spacing: -.01em; }
.entry-content hr {
	border: 0;
	border-top: 1px solid var(--ms-border);
	margin: 1.9em 0;
	opacity: .9;
}
/* 勾选特性：一条 = 标题 + 说明，条目间用细线分隔 */
.ms-feature {
	padding: 18px 0 17px;
	border-bottom: 1px solid var(--ms-border);
}
.ms-feature p { margin: 0; }
.ms-feature .ms-feature-t {
	display: flex;
	align-items: center;
	font-size: 15.5px;
	font-weight: 720;
	letter-spacing: -.012em;
	color: var(--ms-navy-900);
}
.ms-feature .ms-feature-d {
	margin: 6px 0 0 25px !important;
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ms-ink-soft);
}
.entry-content > hr:last-child { display: none; }
.entry-content ul,
.entry-content ol { margin: 0 0 1.2em; padding-left: 1.15em; }
.entry-content li { margin: 0 0 .5em; }
.entry-content li::marker { color: var(--ms-ink-mute); }
.entry-content strong { color: var(--ms-ink); font-weight: 700; }
.entry-content blockquote {
	margin: 1.9em 0;
	padding: 2px 0 2px 22px;
	border-left: 2px solid var(--ms-navy-900);
	color: var(--ms-ink);
	font-size: 17px;
}
.entry-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* 连续图片段落 → 图集网格（Factory / Honor 等页原本是一张张竖着堆） */
.ms-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 2em 0;
	align-items: start;
}
.ms-gallery p { margin: 0 !important; }
.ms-gallery img {
	margin: 0 !important;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 14px;
	border: 1px solid var(--ms-border);
	box-shadow: none;
}
/* 照片墙页面给更宽的版面 */
.ms-page-factory .entry-content,
.ms-page-honor-certificates .entry-content,
.ms-page-quality-assurance .entry-content { max-width: 1040px; }
/* 证书是竖版文件，不裁切、白底留边 */
.ms-page-honor-certificates .ms-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ms-page-honor-certificates .ms-gallery img {
	aspect-ratio: auto;
	object-fit: contain;
	background: var(--ms-white);
	padding: 12px;
}
/* 产品详情页里的图集：多张图纸不能当照片墙裁成 4:3 —— 单列、按原比例、白底留边 */
.single-product .ms-gallery { grid-template-columns: 1fr; gap: 18px; }
.single-product .ms-gallery p { text-align: center; }
.single-product .ms-gallery img {
	width: auto;
	max-width: 100%;
	margin: 0 auto !important;
	aspect-ratio: auto;
	object-fit: contain;
	background: var(--ms-white);
	padding: 6px;
}
@media (max-width: 620px) {
	.ms-gallery { grid-template-columns: 1fr; gap: 10px; }
}

/* 正文里的 ✅ 换成线条勾选图标（emoji 太跳，且各系统渲染不一致） */
.ms-tick {
	display: inline-grid;
	place-items: center;
	width: 17px;
	height: 17px;
	margin-right: 8px;
	vertical-align: -3px;
	border-radius: 50%;
	background: rgba(14, 90, 138, .12);
	border: 1px solid rgba(14, 90, 138, .22);
	position: relative;
}
.ms-tick::after {
	content: "";
	width: 5px;
	height: 8px;
	margin-top: -1px;
	border-right: 1.7px solid var(--ms-brand);
	border-bottom: 1.7px solid var(--ms-brand);
	transform: rotate(42deg);
}

/* 旧站遗留的 Hot Tags 列表 */
.tags_ul {
	max-width: 760px;
	margin: 40px auto 0;
	padding-top: 22px;
	border-top: 1px solid var(--ms-border);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.tags_ul p { margin: 0; }
.tags_ul p:first-child {
	width: 100%;
	margin-bottom: 2px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
}
.tags_ul a {
	padding: 5px 13px;
	border: 1px solid var(--ms-border);
	border-radius: 99px;
	font-size: 12px;
	font-weight: 600;
	color: var(--ms-ink-soft);
	text-decoration: none;
}
.tags_ul a:hover { border-color: #c3d2de; color: var(--ms-navy-900); }

/* 联系页旧版内联样式的卡片，统一到主题语汇 */
.nm-contact-cards {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin: 0 0 44px !important;
}
.nm-contact-cards > div {
	border: 1px solid var(--ms-border) !important;
	border-radius: 16px !important;
	padding: 24px 22px !important;
	background: var(--ms-surface);
	text-align: left !important;
}
.entry-content h2[style],
.entry-content h3[style] { color: var(--ms-navy-900) !important; }
.nm-contact-cards h3 {
	color: var(--ms-navy-900) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase;
	margin: 0 0 12px !important;
}
.nm-contact-cards p { font-size: 14px; margin: 0 0 6px !important; color: var(--ms-ink-soft); }
.nm-contact-cards a { color: var(--ms-ink); font-weight: 650; text-decoration: none; }
@media (max-width: 900px) {
	.nm-contact-cards { grid-template-columns: 1fr !important; }
}
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	margin: 20px 0;
	border-radius: 10px;
	overflow: hidden;
}
.entry-content table th {
	background: var(--ms-navy-800);
	color: var(--ms-white);
	text-align: left;
	font-weight: 700;
}
.entry-content table th,
.entry-content table td {
	border: 1px solid var(--ms-border);
	padding: 11px 14px;
}
.entry-content table tr:nth-child(even) td { background: var(--ms-surface); }

.post-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-list .post-item {
	background: var(--ms-white);
	border: 1px solid var(--ms-border);
	border-radius: var(--ms-radius);
	overflow: hidden;
	transition: transform .28s ease, box-shadow .28s ease;
	display: flex;
	flex-direction: column;
}
.post-list .post-item:hover { transform: translateY(-5px); box-shadow: var(--ms-shadow-lift); }
.post-list .post-item .thumb { overflow: hidden; }
.post-list .post-item .thumb img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	transition: transform .5s ease;
}
.post-list .post-item:hover .thumb img { transform: scale(1.04); }
.post-list .post-item .info { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.post-list .post-item .date {
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
	font-variant-numeric: tabular-nums;
}
.post-list .post-item h2, .post-list .post-item h3 {
	font-size: 16.5px;
	margin: 9px 0;
	line-height: 1.42;
}
.post-list .post-item h2 a, .post-list .post-item h3 a { color: var(--ms-ink); }
.post-list .post-item h2 a:hover, .post-list .post-item h3 a:hover { color: var(--ms-brand); }
.post-list .post-item p { font-size: 13.8px; color: var(--ms-ink-soft); margin: 0 0 16px; flex: 1; }
/* 卡片 CTA：胶囊按钮 → 文字链带箭头 */
.post-list .post-item .btn-nm,
.post-list .post-item .btn-nm:hover {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: transparent !important;
	border: 0;
	padding: 0;
	box-shadow: none !important;
	color: var(--ms-ink-soft) !important;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .11em;
	text-transform: uppercase;
	transform: none;
}
.post-list .post-item .btn-nm::after { content: "→"; font-size: 13px; letter-spacing: 0; transition: transform .18s ease; }
.post-list .post-item:hover .btn-nm { color: var(--ms-navy-900) !important; }
.post-list .post-item:hover .btn-nm::after { transform: translateX(4px); }
.single-post .entry-content { max-width: 760px; }
.post-meta {
	font-size: 12.5px;
	color: var(--ms-ink-mute);
	margin-bottom: 26px;
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
}
.post-meta a { color: var(--ms-ink-mute); }

/* 文章详情：正文上下留白 + 前后篇导航做成极简卡片 */
.single-post .content-area { padding-top: 40px; }
.single-post .entry-content > p:first-of-type {
	font-size: 17.5px;
	line-height: 1.8;
	color: var(--ms-ink);
}
.post-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 48px auto 0;
	max-width: 760px;
	padding-top: 26px;
	border-top: 1px solid var(--ms-border);
}
.post-nav a {
	display: block;
	padding: 16px 18px;
	border: 1px solid var(--ms-border);
	border-radius: 14px;
	color: var(--ms-ink);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.5;
	transition: border-color .18s ease, background .18s ease;
}
.post-nav a:hover { border-color: #c3d2de; background: var(--ms-surface); color: var(--ms-navy-900); }
.post-nav a span {
	display: block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
	margin-bottom: 6px;
}
.post-nav .is-next { text-align: right; grid-column: 2; }
@media (max-width: 620px) {
	.post-nav { grid-template-columns: 1fr; }
	.post-nav .is-next { grid-column: 1; text-align: left; }
}

.pagination, .nav-links { margin-top: 44px; }
.pagination .page-numbers, .nav-links .page-numbers {
	display: inline-block;
	padding: 9px 15px;
	margin: 0 3px;
	border: 1px solid var(--ms-border);
	border-radius: 9px;
	font-weight: 650;
	font-size: 14px;
	color: var(--ms-ink-soft);
	transition: all .18s ease;
}
.pagination .page-numbers:hover, .nav-links .page-numbers:hover { border-color: var(--ms-accent); color: var(--ms-brand); }
.pagination .page-numbers.current, .nav-links .page-numbers.current {
	background: var(--ms-brand);
	border-color: var(--ms-brand);
	color: var(--ms-white);
}
.n_page_nav { margin-top: 38px; }
.n_page_nav a {
	display: inline-block;
	background: var(--ms-surface-2);
	color: var(--ms-brand);
	border-radius: 9px;
	padding: 10px 18px;
	font-weight: 650;
	font-size: 13.5px;
	margin-right: 8px;
	transition: all .2s ease;
}
.n_page_nav a:hover { background: var(--ms-brand); color: var(--ms-white); }

/* =====================================================
   17 · WooCommerce 内页
===================================================== */

/* ---- 17.1 单品页：面包屑条（不用深色 banner，让产品信息直接进首屏） ---- */
.ms-crumbbar {
	background: var(--ms-surface);
	border-bottom: 1px solid var(--ms-border);
}
.ms-crumbbar .container {
	display: flex;
	align-items: center;
	min-height: 48px;
}
.ms-crumbbar .breadcrumb {
	font-size: 12.5px;
	color: var(--ms-ink-mute);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	letter-spacing: .01em;
}
.ms-crumbbar .breadcrumb a { color: var(--ms-ink-soft); font-weight: 600; }
.ms-crumbbar .breadcrumb a:hover { color: var(--ms-brand); }
.ms-crumbbar .breadcrumb .crumb-current { color: var(--ms-ink-mute); }

/* ---- 17.2 单品页：两栏骨架 ---- */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
	column-gap: clamp(34px, 4.6vw, 72px);
	row-gap: 0;
	align-items: start;
	padding: 0;
}
.woocommerce div.product::before,
.woocommerce div.product::after { content: none; display: none; }

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none !important;
	width: 100% !important;
	margin: 0;
}


.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product section.related,
.woocommerce div.product section.upsells {
	grid-column: 1 / -1;
	min-width: 0;
}

/* ---- 17.3 图库：CSS 图墙（首图整行大图 + 其余小图网格，不依赖 flexslider） ---- */
.woocommerce div.product div.images.woocommerce-product-gallery {
	opacity: 1 !important; /* WooCommerce 初始内联 opacity:0，靠 JS 置 1，这里兜底 */
}
/* 图墙：首图一个方形图布（图小也不会露出参差的空白），缩略图一行等分 */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(var(--ms-thumb-cols, 5), minmax(0, 1fr));
	gap: 10px;
	width: 100% !important;
	transform: none !important;
	background: transparent;
}
/* 首图占整行，固定 1:1 图布 */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:first-child {
	grid-column: 1 / -1;
	aspect-ratio: 1 / 1;
	max-height: 560px;
	border-radius: 18px;
	box-shadow: var(--ms-shadow-sm);
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:not(:first-child) {
	min-width: 0;
}
/* WooCommerce 原生给第 2 张起的图设了 width:25% + inline-block，会把网格项压扁 */
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
	width: 100% !important;
	display: block !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div {
	margin: 0;
	background: var(--ms-white);
	border: 1px solid var(--ms-border);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:hover {
	border-color: var(--ms-accent);
	box-shadow: 0 12px 26px -16px rgba(9, 25, 40, .45);
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:first-child {
	grid-column: 1 / -1;
	border-radius: 18px;
	box-shadow: var(--ms-shadow-sm);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.woocommerce div.product div.images img {
	width: 100%;
	height: auto;
	object-fit: contain;
	background: var(--ms-white);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:first-child img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:not(:first-child) {
	aspect-ratio: 1 / 1;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:not(:first-child) img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:not(:first-child) a {
	display: block;
	height: 100%;
}

.woocommerce div.product .woocommerce-product-gallery__trigger {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .94);
	border: 1px solid var(--ms-border);
	color: var(--ms-ink);
	font-size: 14px;
	top: 16px;
	right: 16px;
	display: grid;
	place-items: center;
	box-shadow: var(--ms-shadow-sm);
	z-index: 9;
}
.woocommerce div.product .woocommerce-product-gallery__trigger::before { display: none; }

/* ---- 17.4 摘要区 ---- */
.woocommerce div.product div.summary { padding-top: 2px; }

.woocommerce div.product .product_title {
	font-size: clamp(23px, 2.35vw, 33px);
	line-height: 1.24;
	letter-spacing: -.032em;
	margin: 0 0 16px;
	color: var(--ms-navy-900);
	font-weight: 780;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--ms-ink-soft);
	font-size: 15px;
	line-height: 1.78;
	margin: 0 0 24px;
}
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0 0 .6em; }
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* 规格表 */
.ms-spec-head {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
	margin: 0 0 11px;
}
/* 紧凑网格：单列 6 行太高，改为「参数名在上、参数值在下」多列排布。
   3 列时 6 个参数只占 2 行，整块高度约降 60%；改 --spec-cols 可调列数 */
.product-attrs {
	--spec-cols: 3;
	display: grid;
	grid-template-columns: repeat(var(--spec-cols), minmax(0, 1fr));
	gap: 1px;
	margin: 0 0 24px;
	background: var(--ms-border);
	border: 1px solid var(--ms-border);
	border-radius: 14px;
	overflow: hidden;
}
.product-attrs .attr {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 10px 12px 11px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.36;
	color: var(--ms-navy-900);
	background: var(--ms-white);
	word-break: break-word;
}
/* 斑马纹按「行」走：每 6 格 = 三列一整行（第二行三格上色） */
.product-attrs .attr:nth-child(6n + 4),
.product-attrs .attr:nth-child(6n + 5),
.product-attrs .attr:nth-child(6n + 6) { background: #fafcfd; }
/* 最后一行不满时，让末尾参数吃掉剩余列，不留空洞 */
.product-attrs .attr:last-child:nth-child(3n + 1) { grid-column: 1 / -1; }
.product-attrs .attr:last-child:nth-child(3n + 2) { grid-column: span 2; }
.product-attrs .attr b {
	color: var(--ms-ink-mute);
	font-weight: 800;
	font-size: 9.5px;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: .06em;
}

/* 图库下方：资料 / 打样说明卡 */
.ms-fig-note {
	margin: 14px 0 0;
	padding: 18px 20px 17px;
	border: 1px solid var(--ms-border);
	border-radius: 14px;
	background: var(--ms-surface);
}
.ms-fig-note p { margin: 0; }
.ms-fig-note .ms-fig-eyebrow {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
	margin: 0 0 8px;
}
.ms-fig-note .ms-fig-text {
	font-size: 13.5px;
	line-height: 1.66;
	color: var(--ms-ink-soft);
}
.ms-fig-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ms-brand);
}
.ms-fig-link svg { width: 14px; height: 14px; transition: transform .18s ease; }
.ms-fig-link:hover svg { transform: translateX(3px); }

/* ---- 17.5 询盘 CTA（浅色卡：深色大色块在浅色页面里太跳，改成安静的浅底 + 深墨蓝按钮） ---- */
.ms-quote {
	position: relative;
	margin: 0 0 26px;
	padding: 24px 26px;
	border-radius: 16px;
	background: var(--ms-surface);
	border: 1px solid var(--ms-border);
	color: var(--ms-ink);
	overflow: hidden;
}
.ms-quote::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(33, 176, 214, .1), transparent 68%);
	pointer-events: none;
}
.ms-quote > * { position: relative; z-index: 1; }
.ms-quote-eyebrow {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ms-brand);
	margin: 0 0 9px;
}
.ms-quote-title {
	color: var(--ms-navy-900);
	font-size: 20px;
	letter-spacing: -.026em;
	margin: 0 0 8px;
}
.ms-quote-sub {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--ms-ink-soft);
	margin: 0 0 16px;
}
.ms-quote-points {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}
.ms-quote-points li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	color: var(--ms-ink);
}
.ms-quote-points svg { width: 15px; height: 15px; flex: none; color: var(--ms-brand); }
.ms-quote-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.ms-btn-primary,
.ms-btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 24px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 750;
	letter-spacing: .01em;
	transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.ms-btn-primary {
	background: var(--ms-navy-900);
	color: var(--ms-white);
	box-shadow: 0 14px 28px -18px rgba(9, 25, 40, .8);
}
.ms-btn-primary:hover {
	background: #10304a;
	color: var(--ms-white);
	transform: translateY(-1px);
}
.ms-btn-primary svg { width: 16px; height: 16px; }
.ms-btn-ghost {
	border: 1px solid #cfdbe6;
	background: var(--ms-white);
	color: var(--ms-navy-900);
}
.ms-btn-ghost:hover {
	background: var(--ms-white);
	border-color: var(--ms-navy-900);
	color: var(--ms-navy-900);
}

/* ---- 17.6 分类 / 标签 chips ---- */
.woocommerce div.product .product_meta {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--ms-border);
	font-size: 12px;
	line-height: 1.6;
	color: var(--ms-ink-mute);
}
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .product_meta > span + span { margin-top: 8px; }
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as {
	display: block !important;
	line-height: 2.1;
}
.woocommerce div.product .product_meta a {
	display: inline-block;
	padding: 3px 11px;
	margin: 0 5px 4px 0;
	border-radius: 99px;
	background: var(--ms-surface-2);
	color: var(--ms-brand);
	font-size: 11.5px;
	font-weight: 650;
	line-height: 1.5;
	transition: background .18s ease, color .18s ease;
}
.woocommerce div.product .product_meta a:hover { background: var(--ms-brand); color: var(--ms-white); }

/* ---- 17.7 Tabs ---- */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 68px;
	padding-top: 54px;
	border-top: 1px solid var(--ms-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
	border: none;
	overflow: visible;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	content: none;
	display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid var(--ms-border);
	border-radius: 99px;
	background: var(--ms-white);
	overflow: hidden;
	transition: background .2s ease, border-color .2s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover { border-color: var(--ms-accent); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 22px !important;
	font-size: 13px;
	font-weight: 700;
	color: var(--ms-ink-soft);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--ms-navy-800);
	border-color: var(--ms-navy-800);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ms-white); }
.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: 0;
	color: var(--ms-ink-soft);
	font-size: 15px;
	line-height: 1.8;
}
/* WooCommerce 会往每个 panel 顶部再塞一个同名标题，与 tab 重复 */
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 20px; margin: 1.4em 0 .6em; }
.woocommerce div.product .woocommerce-tabs .panel p { margin: 0 0 .62em; }

/* 原站导入内容的遗留内联样式：红色标题、58% 窄表格、单元格内多余段落间距 */
.woocommerce div.product .woocommerce-tabs .panel span[style*="color"] {
	color: var(--ms-navy-800) !important;
}
.woocommerce div.product .woocommerce-tabs .panel table {
	width: 100% !important;
	border: 1px solid var(--ms-border) !important;
	border-collapse: collapse !important;
}
.woocommerce div.product .woocommerce-tabs .panel table th,
.woocommerce div.product .woocommerce-tabs .panel table td {
	border: 1px solid var(--ms-border) !important;
	padding: 13px 18px !important;
	vertical-align: top;
}
.woocommerce div.product .woocommerce-tabs .panel table td:first-child { width: 26%; }
.woocommerce div.product .woocommerce-tabs .panel table td p,
.woocommerce div.product .woocommerce-tabs .panel table th p { margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel table tr:first-child td {
	background: var(--ms-surface);
	font-weight: 700;
	color: var(--ms-navy-800);
}
.woocommerce div.product .woocommerce-tabs .panel table {
	font-size: 14px;
	margin: 18px 0;
}
.woocommerce div.product .woocommerce-tabs .panel table th,
.woocommerce div.product .woocommerce-tabs .panel table td { text-align: left; }
.woocommerce div.product .woocommerce-tabs .panel table th {
	background: var(--ms-surface);
	color: var(--ms-navy-800);
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: .08em;
}

/* ---- 17.8 相关产品 ---- */
.woocommerce div.product section.related {
	margin-top: 76px;
	padding-top: 56px;
	border-top: 1px solid var(--ms-border);
}
.woocommerce div.product section.related ul.products {
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}
.woocommerce div.product section.related > h2 {
	font-size: clamp(20px, 2.1vw, 26px);
	letter-spacing: -.028em;
	margin: 0 0 26px;
}

/* ---- 17.9 评价区 ---- */
.woocommerce #reviews #comments ol.commentlist li img.avatar {
	width: 44px;
	border: none;
	padding: 0;
	border-radius: 50%;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border: 1px solid var(--ms-border);
	border-radius: 12px;
	margin-left: 60px;
	padding: 16px 20px;
}

/* ---- 17.10 通用元素（购物车 / 结算 / 提示） ---- */
.woocommerce span.onsale {
	background: var(--ms-accent);
	color: var(--ms-navy-900);
	border-radius: 99px;
	padding: 4px 14px;
	font-weight: 750;
	font-size: 11px;
	letter-spacing: .06em;
}
.woocommerce div.product form.cart .button { margin-left: 12px; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
	border-top-color: var(--ms-accent);
	border-radius: 10px;
	box-shadow: var(--ms-shadow-sm);
}
.woocommerce .woocommerce-error { border-top-color: #c2453a; }
.woocommerce table.shop_table { border-radius: 10px; border-color: var(--ms-border); }
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--ms-brand);
	border-radius: 10px;
}
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--ms-brand-strong); }

/* 列表工具条：题头已经由页面 banner 承担，去掉循环里的重复标题 */
.woocommerce .woocommerce-products-header,
.woocommerce h1.page-title { display: none; }
.woocommerce .woocommerce-result-count {
	float: left;
	font-size: 13px;
	color: var(--ms-ink-mute);
	letter-spacing: .01em;
	margin: 10px 0 20px;
	line-height: 1.6;
}
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 20px; }
ul.products { clear: both; }
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--ms-border);
	border-radius: 9px;
	padding: 9px 13px;
	font-size: 13px;
	color: var(--ms-ink-soft);
	background-color: var(--ms-white);
	max-width: 220px;
}

/* =====================================================
   18 · 搜索 / 404 / 通用提示
===================================================== */
.search-results-count { color: var(--ms-ink-soft); font-size: 14.5px; }
.error-404 { text-align: center; padding: 96px 0; }
.error-404 h1 { font-size: clamp(64px, 11vw, 118px); color: var(--ms-navy-800); margin-bottom: 12px; letter-spacing: -.05em; }

/* =====================================================
   19 · 响应式
===================================================== */
@media (max-width: 1080px) {
	.hero-grid { gap: 40px; }
	.about-grid { gap: 40px; }
	.cat-cols, .apps-grid, .news-grid, .post-list { grid-template-columns: repeat(2, 1fr); }
	.cert-grid { grid-template-columns: repeat(3, 1fr); }
	ul.products { grid-template-columns: repeat(3, 1fr) !important; }
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary { width: 100%; float: none; }
	.footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
	.footer-about { grid-column: 1 / -1; }
}
/* 导航在平板宽度就会挤成一行，折叠点提到 1080 */
@media (max-width: 1080px) {
	.menu-toggle { display: block; }
	.main-navigation {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--ms-white);
		border-bottom: 1px solid var(--ms-border);
		box-shadow: var(--ms-shadow);
		max-height: calc(100vh - 76px);
		overflow-y: auto;
	}
	.main-navigation.toggled { display: block; }
	.main-navigation ul { flex-direction: column; align-items: stretch; padding: 10px 16px 16px; gap: 0; }
	.main-navigation > ul > li > a { padding: 13px 12px; font-size: 15.5px; }
	.main-navigation > ul > li > a::after { display: none; }
	/* 折叠态：二级菜单收起，点父级展开（手风琴） */
	.main-navigation .sub-menu {
		position: static;
		display: none;
		box-shadow: none;
		border: none;
		padding: 2px 0 8px 12px;
		background: transparent;
		min-width: 0;
		border-left: 1px solid var(--ms-border);
		margin-left: 13px;
	}
	.main-navigation .sub-menu::before { display: none; }
	.main-navigation li.is-open > .sub-menu { display: flex; }
	.main-navigation li.ms-mega > .sub-menu {
		left: auto;
		right: auto;
		width: auto;
		transform: none;
		border-radius: 0;
		border: 0;
		padding: 2px 0 6px;
		margin-left: 0;
		grid-template-columns: 1fr;
		gap: 0;
	}
	.main-navigation li.ms-mega.is-open > .sub-menu { display: grid; }
	.main-navigation .ms-mega > .sub-menu > li.ms-navcol {
		width: 100%;
		padding: 2px 0 6px;
		border-left: 0;
	}
	.main-navigation .ms-mega > .sub-menu > li.ms-navcol ~ li.ms-navcol {
		margin-top: 4px;
		padding-top: 10px;
		border-top: 1px solid var(--ms-border);
	}
	.main-navigation .ms-mega > .sub-menu > li.ms-navcol > a {
		padding: 8px 12px;
		font-size: 11px;
		letter-spacing: .12em;
	}
	.main-navigation .ms-mega .ms-col-note { margin-top: 3px; font-size: 10px; }
	.main-navigation .ms-mega .ms-navcol .sub-menu a { padding: 8px 12px; font-size: 13.6px; }
	.main-navigation .ms-mega .ms-navcol .sub-menu a:hover { padding-left: 12px; }
	.main-navigation .ms-mega .sub-menu li.ms-mega-all a { margin: 8px 0 0; padding: 12px 12px 2px; }
	.main-navigation li.is-open > a .ms-caret { transform: rotate(-135deg); margin-top: 2px; opacity: .9; }
	.main-navigation .sub-menu a { padding: 9px 12px; font-size: 14px; white-space: normal; }
	.main-navigation .ms-mega .sub-menu li.ms-mega-all a { margin-top: 4px; padding-top: 11px; }
}

@media (max-width: 900px) {
	section { padding: 68px 0; }
	.home-banner { padding: 68px 0 62px; }
	.home-banner { background-image: url(assets/img/hero-md.webp); }
	.hero-grid { grid-template-columns: 1fr; gap: 34px; }
	.hero-card { max-width: 520px; }
	.strip-grid { grid-template-columns: repeat(2, 1fr); }
	.strip-item { padding: 18px 16px; }
	.strip-item:nth-child(odd) { border-left: none; padding-left: 0; }
	.strip-item:nth-child(n+3) { border-top: 1px solid var(--ms-border); }
	.num-grid { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
	.num-item:nth-child(3)::before { display: none; }
	.about-grid { grid-template-columns: 1fr; }
	.about-cert { display: none; }
	.contact-grid { grid-template-columns: 1fr; gap: 34px; }
	ul.products { grid-template-columns: repeat(2, 1fr) !important; }
	ul.products li.product .button { margin: auto 16px 16px !important; }
	.footer-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }


	/* 单品页：单列。这里用 block 而非单列 grid —— flexslider 会给图库写内联高度，
	   grid 行高会按内容高度而非 border-box 取，导致下方摘要区与缩略图重叠 */
	.woocommerce div.product { display: block; }
	.woocommerce div.product div.images { margin-bottom: 32px; }
	.woocommerce div.product .woocommerce-tabs { margin-top: 48px; padding-top: 42px; }
	.woocommerce div.product section.related { margin-top: 56px; padding-top: 42px; }
}

@media (max-width: 620px) {
	body { font-size: 15px; }
	.container { padding: 0 18px; }
	.top-bar .container { justify-content: center; }
	.top-left { display: none; }
	.header-inner { min-height: 66px; }
	.brand-name { font-size: 18.5px; }
	.brand-tag { font-size: 8.5px; letter-spacing: .2em; }
	.brand-mark { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; }
	.hero-title { font-size: clamp(30px, 8.4vw, 40px); }
	.hero-search { border-radius: 12px; }
	.hero-card { padding: 22px 22px 18px; }
	.hero-card li b { font-size: 21px; }
	.banner-tags a { padding: 5px 11px; font-size: 12px; }
	.cat-cols, .apps-grid, .news-grid, .post-list { grid-template-columns: 1fr; }
	.app-card { min-height: 330px; }
	.app-card .info { padding: 24px 22px 26px; }
	.app-card .info h3 { font-size: 18px; }
	/* 竖屏里宽幅照片只能裁出中间一条，改成「上方纯色渐变 + 底部照片露出」，
	   文字对比度更好，也让游艇在底部可见 */
	.home-banner {
		min-height: 0;
		padding: 54px 0 58px;
		background:
			radial-gradient(88% 62% at 92% 6%, rgba(44, 185, 222, .16), transparent 62%),
			linear-gradient(to bottom,
				rgba(6, 18, 29, .96) 0%,
				rgba(6, 18, 29, .93) 44%,
				rgba(6, 18, 29, .70) 72%,
				rgba(6, 18, 29, .22) 100%),
			url(assets/img/hero-sm.webp) center bottom / auto 350px no-repeat,
			#06121d;
	}
	/* 遮罩已并入 background 的渐变层，避免二次压暗 */
	.home-banner::before { background: none; }
	.cert-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.footer-grid { grid-template-columns: 1fr; gap: 26px; }
	.num { font-size: 34px; }
	.about-panel { padding: 28px 24px 26px; }
	.contact-form-card { padding: 24px 20px 22px; border-radius: 16px; }
	.wpcf7 form { grid-template-columns: 1fr; }
	ul.products { gap: 14px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; padding: 15px 17px 12px; }
	ul.products li.product .button { margin: auto 14px 14px !important; font-size: 11.5px !important; padding: 9px 12px !important; }
	.ms-crumbbar .container { min-height: 42px; }
	.ms-crumbbar .breadcrumb { font-size: 11.5px; gap: 5px; }
	.woocommerce div.product div.images img { max-height: 300px; }
	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { gap: 7px; }
	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div { border-radius: 10px; }
	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:first-child { border-radius: 14px; }
	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:first-child img { max-height: 320px; }
	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > div:not(:first-child) img { padding: 4px; }
	.woocommerce div.product .product_title { font-size: 21px; }
	/* 手机太窄，三列每格不足 110px，退回两列 */
	.product-attrs { --spec-cols: 2; }
	.product-attrs .attr { gap: 3px; padding: 10px 12px 11px; font-size: 13px; }
	.product-attrs .attr b { font-size: 9px; letter-spacing: .08em; }
	/* 列数变了，斑马纹与末行跨列规则要按两列重算 */
	.product-attrs .attr:nth-child(6n + 4),
	.product-attrs .attr:nth-child(6n + 5),
	.product-attrs .attr:nth-child(6n + 6) { background: var(--ms-white); }
	.product-attrs .attr:nth-child(4n + 3),
	.product-attrs .attr:nth-child(4n + 4) { background: #fafcfd; }
	.product-attrs .attr:last-child:nth-child(3n + 1),
	.product-attrs .attr:last-child:nth-child(3n + 2) { grid-column: auto; }
	.product-attrs .attr:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.ms-quote { padding: 22px 20px 20px; border-radius: 16px; }
	.ms-quote-title { font-size: 18.5px; }
	.ms-quote-actions { flex-direction: column; }
	.ms-btn-primary, .ms-btn-ghost { width: 100%; padding: 12px 18px; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 9px 16px !important; font-size: 12.5px; }
	.woocommerce div.product .woocommerce-tabs .panel table { font-size: 13px; }
	.woocommerce div.product .woocommerce-tabs .panel table th,
	.woocommerce div.product .woocommerce-tabs .panel table td { padding: 10px 12px !important; }
	.sec-head-row { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* =====================================================
   20 · 兼容与可访问性
===================================================== */
body.elementor-page .entry-content { padding: 0; }
body.elementor-page section { padding: 0; }

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* =====================================================
   21 · 产品列表页 · 左侧分类栏
===================================================== */
.shop-area .shop-layout {
	display: grid;
	grid-template-columns: 232px minmax(0, 1fr);
	column-gap: clamp(28px, 3.4vw, 56px);
	align-items: start;
}
.shop-side {
	position: sticky;
	top: 24px;
	min-width: 0; /* grid 项默认 min-width:auto，横滑列表会把它撑到几千 px */
	padding-top: 2px;
}
.side-block { min-width: 0; }

/* 分类列表：无卡片、无阴影，靠细线与字重区分层次 */
.side-title {
	margin: 0 0 14px;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ms-ink-mute);
}
.side-cats {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 100%;
	border-top: 1px solid var(--ms-border);
}
.side-cats li { margin: 0; }
.side-cat {
	position: relative;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 0 10px 15px;
	border-bottom: 1px solid var(--ms-border);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--ms-ink-soft);
	text-decoration: none;
	transition: color .16s ease;
}
.side-cat::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 2px;
	height: 0;
	border-radius: 2px;
	background: var(--ms-navy-900);
	transform: translateY(-50%);
	transition: height .18s ease;
}
.side-cat:hover { color: var(--ms-navy-900); }
.side-cat:hover::before { height: 13px; }
.side-cat.is-active { color: var(--ms-navy-900); font-weight: 750; }
.side-cat.is-active::before { height: 21px; }
.side-cat-name { min-width: 0; }
.side-cat-n {
	flex: none;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--ms-ink-mute);
	font-variant-numeric: tabular-nums;
}
.side-cat.is-active .side-cat-n { color: var(--ms-navy-900); }

/* 侧栏底部：选型求助小卡 */
.side-help {
	margin-top: 26px;
	padding: 17px 16px 16px;
	border: 1px solid var(--ms-border);
	border-radius: 12px;
	background: var(--ms-surface);
}
.side-help p { margin: 0; }
.side-help-t {
	font-size: 13px;
	font-weight: 750;
	letter-spacing: -.01em;
	color: var(--ms-navy-900);
}
.side-help-d {
	margin-top: 6px !important;
	font-size: 12.5px;
	line-height: 1.62;
	color: var(--ms-ink-soft);
}
.side-help-a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 13px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--ms-brand);
	text-decoration: none;
}
.side-help-a svg { width: 13px; height: 13px; transition: transform .18s ease; }
.side-help-a:hover svg { transform: translateX(3px); }

/* 主区收窄后 4 列太挤 —— 桌面 3 列（覆盖全局 !important） */
.shop-layout ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 20px;
}

@media (max-width: 1180px) {
	.shop-area .shop-layout { grid-template-columns: 196px minmax(0, 1fr); column-gap: 26px; }
	.shop-layout ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.side-help { display: none; }
}

/* 窄屏：左栏收成一条可横滑的分类栏 */
@media (max-width: 900px) {
	.shop-area .shop-layout { grid-template-columns: minmax(0, 1fr); }
	.shop-side { position: static; margin: 0 0 24px; width: 100%; max-width: 100%; }
	.side-title { margin-bottom: 10px; }
	.side-cats {
		display: flex;
		gap: 8px;
		padding-bottom: 2px;
		border-top: 0;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.side-cats::-webkit-scrollbar { display: none; }
	.side-cats li { flex: none; }
	.side-cat {
		padding: 7px 14px;
		border: 1px solid var(--ms-border);
		border-radius: 99px;
		font-size: 13px;
		white-space: nowrap;
	}
	.side-cat::before { display: none; }
	.side-cat-n { display: none; }
	.side-cat.is-active {
		background: var(--ms-navy-900);
		border-color: var(--ms-navy-900);
		color: var(--ms-white);
	}
}

@media (prefers-reduced-motion: reduce) {
	.side-cat::before, .side-help-a svg { transition: none; }
}

/* =====================================================
   21 · Factory 页：介绍 / 照片墙 / 流程 / 能力
===================================================== */
.ms-factory-intro {
	max-width: 72ch;
	margin: 0 0 34px;
}
.ms-factory-kicker {
	font-size: 11.5px;
	font-weight: 750;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ms-cyan-deep);
	margin: 0 0 12px;
}
.ms-factory-lede {
	font-size: clamp(17px, 1.45vw, 20px);
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: -.008em;
	color: var(--ms-ink);
	margin: 0;
}

/* 首图通栏，其余两列，5 张刚好排满 */
.ms-page-factory .ms-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 48px;
}
.ms-page-factory .ms-gallery > p { margin: 0; }
.ms-page-factory .ms-gallery > p:first-child { grid-column: 1 / -1; }
.ms-page-factory .ms-gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 14px;
}
.ms-page-factory .ms-gallery > p:first-child img {
	aspect-ratio: 16 / 9;
}

/* 流程：编号 + 细竖线，不用卡片 */
.ms-flow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--ms-border);
	margin: 0 0 44px;
}
.ms-flow-item {
	padding: 24px 26px 4px 26px;
	border-right: 1px solid var(--ms-border);
}
.ms-flow-item:first-child { padding-left: 0; }
.ms-flow-item:last-child { border-right: 0; padding-right: 0; }
.ms-flow-n {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
	color: var(--ms-ink-mute);
	margin-bottom: 11px;
}
.ms-flow-item h3 {
	font-size: 15.5px;
	font-weight: 760;
	letter-spacing: -.012em;
	color: var(--ms-ink);
	margin: 0 0 9px;
}
.ms-flow-item p {
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--ms-ink-soft);
	margin: 0;
}

/* 能力清单：两列，逐行细分隔线 */
.ms-cap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 44px;
	padding: 32px 0 38px;
	border-top: 1px solid var(--ms-border);
}
.ms-cap-col h3 {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--ms-ink);
	margin: 0 0 6px;
}
.ms-cap-col ul { list-style: none; margin: 0; padding: 0; }
.ms-cap-col li {
	position: relative;
	padding: 10px 0 10px 22px;
	border-bottom: 1px solid var(--ms-border);
	font-size: 14px;
	line-height: 1.5;
	color: var(--ms-ink-soft);
}
.ms-cap-col li:last-child { border-bottom: 0; }
.ms-cap-col li::before {
	content: "";
	position: absolute;
	left: 1px;
	top: 16px;
	width: 9px;
	height: 5px;
	border-left: 1.6px solid var(--ms-cyan-deep);
	border-bottom: 1.6px solid var(--ms-cyan-deep);
	transform: rotate(-45deg);
}

/* 页尾行动区 */
.ms-page-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 36px;
	padding: 30px 34px;
	border: 1px solid var(--ms-border);
	border-radius: 18px;
	background: var(--ms-surface);
	margin: 6px 0 0;
}
.ms-page-cta-text { flex: 1 1 320px; min-width: 0; }
.ms-page-cta-t {
	font-size: 19px;
	font-weight: 780;
	letter-spacing: -.018em;
	color: var(--ms-ink);
	margin: 0 0 7px;
}
.ms-page-cta-d {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ms-ink-soft);
	margin: 0;
	max-width: 54ch;
}

@media (max-width: 900px) {
	.ms-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-flow-item { padding: 22px 22px 18px 22px; }
	.ms-flow-item:nth-child(2n+1) { padding-left: 0; }
	.ms-flow-item:nth-child(2n) { border-right: 0; padding-right: 0; }
	.ms-flow-item:nth-child(n+3) { border-top: 1px solid var(--ms-border); }
	.ms-cap { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 620px) {
	.ms-page-factory .ms-gallery { grid-template-columns: 1fr; gap: 10px; }
	.ms-page-factory .ms-gallery > p:first-child img { aspect-ratio: 4 / 3; }
	.ms-flow { grid-template-columns: 1fr; }
	.ms-flow-item { border-right: 0; padding: 20px 0; }
	.ms-flow-item:nth-child(n+2) { border-top: 1px solid var(--ms-border); }
	.ms-page-cta { padding: 24px 22px; }
	.ms-page-cta-t { font-size: 17px; }
}

/* =====================================================
   22 · 分类卡统计行（无子分类时替代空列表）
===================================================== */
.cat-col ul:empty { display: none; }
.cat-stat {
	display: flex;
	align-items: baseline;
	gap: 7px;
	margin: 15px 0 0;
	padding: 13px 0 0;
	border-top: 1px solid var(--ms-border);
	font-size: 13px;
	line-height: 1.5;
	color: var(--ms-ink-mute);
	letter-spacing: .005em;
}
.cat-stat b {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--ms-brand);
	font-variant-numeric: tabular-nums;
}
.cat-col .cat-more { margin-top: auto; padding-top: 16px; }

/* =====================================================
   23 · 手机端细化：保障条改单列、分类条渐隐提示、触控尺寸
===================================================== */
@media (max-width: 620px) {
	/* 保障条：两列挤成三行文字，改单列清单式，一行一条 */
	.strip-grid { grid-template-columns: 1fr; }
	.strip-item {
		padding: 15px 0;
		border-left: none;
		gap: 12px;
	}
	.strip-item:first-child { padding-top: 6px; }
	.strip-item:nth-child(n+2) { border-top: 1px solid var(--ms-border); }
	.strip-item b { font-size: 14.5px; line-height: 1.4; }
	.strip-item span { font-size: 12.5px; }
	.strip-ic { width: 34px; height: 34px; border-radius: 9px; }

	/* 分类胶囊：右侧渐隐，暗示可以横滑 */
	.side-cats {
		-webkit-mask-image: linear-gradient(to right, #000 84%, transparent 100%);
		mask-image: linear-gradient(to right, #000 84%, transparent 100%);
	}
	/* 触控目标抬高到 40px */
	.side-cat {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
		padding: 0 15px;
	}

	/* 触控目标不小于 44px */
	.cat-more, .sec-more, .app-link { min-height: 40px; }

	/* 分类卡统计行 */
	.cat-stat b { font-size: 18px; }

	/* 浮动联系按钮：缩小并压低，别压住正文 */
	.float-contact { right: 14px; bottom: 72px; gap: 8px; }
	.float-contact a { width: 40px; height: 40px; font-size: 15px; opacity: .94; }
}

/* 极端比例图片（例如误把长条 logo 设为文章特色图）：
   cover 会把局部放大成糊成一片的大字，改为完整显示并补底色 */
.news-card img.is-flat,
.post-thumb img.is-flat {
	object-fit: contain;
	background: var(--ms-surface);
	padding: 28px 24px;
}
