@charset "UTF-8";
/* ==========================================================================
   BOHAN Machinery — 主样式
   设计原则：克制的配色、大留白、强网格、无多余装饰
   目标：B2B 工业品询盘站，欧美买家，Core Web Vitals 优先
   ========================================================================== */

/* ---------- 字体：自托管 Inter，无外部请求 ---------- */
@font-face {
	font-family: 'Inter';
	src: url('../fonts/inter-latin.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	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+2074, U+20AC, U+2122,
		U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 设计令牌 ---------- */
:root {
	--navy:      #0F2B46;
	--navy-800:  #143455;
	--navy-700:  #1B4066;
	--green:     #1FA463;
	--green-700: #17854F;
	--green-050: #EAF7F0;

	--ink:       #16202B;
	--body:      #44546B;
	--muted:     #6E8095;

	--line:      #E2E9F1;
	--line-2:    #D3DEE9;
	--bg:        #FFFFFF;
	--bg-alt:    #F5F8FB;
	--bg-dark:   #0A1E31;

	--r-sm: 6px;
	--r:    10px;
	--r-lg: 16px;

	--wrap: 1240px;
	--gut:  28px;

	--sh-1: 0 1px 2px rgba(15, 43, 70, .06), 0 2px 8px rgba(15, 43, 70, .05);
	--sh-2: 0 4px 12px rgba(15, 43, 70, .08), 0 14px 34px rgba(15, 43, 70, .08);

	--ease: cubic-bezier(.4, 0, .2, 1);
	--hdr-h: 76px;
}

/* ---------- 基础重置 ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--hdr-h) + 16px);
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--body);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
		'Helvetica Neue', Arial, sans-serif;
	font-size: 16.5px;
	line-height: 1.68;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }

h1, h2, h3, h4, h5 {
	margin: 0 0 .5em;
	color: var(--navy);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -.022em;
}
h1 { font-size: clamp(2.1rem, 1.35rem + 2.6vw, 3.5rem); }
h2 { font-size: clamp(1.65rem, 1.2rem + 1.6vw, 2.5rem); }
h3 { font-size: clamp(1.18rem, 1.05rem + .45vw, 1.45rem); }
h4 { font-size: 1.06rem; }
p  { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

a { color: var(--navy-700); text-decoration: none; transition: color .18s var(--ease); }
a:hover { color: var(--green); }

ul, ol { margin: 0 0 1.15em; padding-left: 1.15em; }
li { margin-bottom: .45em; }

strong { color: var(--ink); font-weight: 650; }

::selection { background: var(--green); color: #fff; }

:focus-visible {
	outline: 3px solid var(--green);
	outline-offset: 2px;
	border-radius: 3px;
}

.skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 12px 20px;
	background: var(--navy);
	color: #fff;
}
.skip:focus { left: 0; }

/* ---------- 布局 ---------- */
.wrap {
	width: 100%;
	max-width: var(--wrap);
	margin-inline: auto;
	padding-inline: var(--gut);
}

.sec { padding: clamp(56px, 6vw, 104px) 0; }
.sec--alt { background: var(--bg-alt); }
.sec--green { background: var(--green-050); }
.sec--dark { background: var(--bg-dark); color: #C6D4E2; }
.sec--dark h1, .sec--dark h2, .sec--dark h3 { color: #fff; }

.sec__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.sec__head--ctr { margin-inline: auto; text-align: center; }

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 14px;
	color: var(--green-700);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.eyebrow::before {
	content: '';
	width: 22px;
	height: 2.5px;
	background: var(--green);
	border-radius: 2px;
}
.sec__head--ctr .eyebrow::before { display: none; }

.lede { font-size: 1.09rem; color: var(--muted); }

/* ---------- 按钮 ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 14px 27px;
	border: 1.5px solid var(--navy);
	border-radius: var(--r-sm);
	background: var(--navy);
	color: #fff;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background .18s var(--ease), border-color .18s var(--ease),
		transform .18s var(--ease), box-shadow .18s var(--ease);
}
.btn:hover {
	background: var(--green);
	border-color: var(--green);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(31, 164, 99, .26);
}
.btn--sm { padding: 11px 20px; font-size: .89rem; }

.btn--gh {
	background: transparent;
	color: var(--navy);
}
.btn--gh:hover { background: var(--navy); border-color: var(--navy); color: #fff; box-shadow: none; }

.btn--lt {
	background: #fff;
	border-color: #fff;
	color: var(--navy);
}
.btn--lt:hover { background: var(--green); border-color: var(--green); color: #fff; }

.btn--out {
	background: transparent;
	border-color: rgba(255, 255, 255, .45);
	color: #fff;
}
.btn--out:hover { background: #fff; border-color: #fff; color: var(--navy); box-shadow: none; }

/* ---------- 页头 ---------- */
.hdr {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(255, 255, 255, .94);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--line);
	transition: box-shadow .2s var(--ease);
}
.hdr.is-stuck { box-shadow: 0 2px 16px rgba(15, 43, 70, .08); }

.hdr__in {
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: var(--hdr-h);
}

.brand { display: flex; align-items: center; gap: 11px; flex: none; }
.brand__mark { display: flex; }
.brand__txt { display: flex; flex-direction: column; line-height: 1.05; }
.brand__name {
	color: var(--navy);
	font-size: 1.42rem;
	font-weight: 800;
	letter-spacing: .11em;
}
.brand__sub {
	margin-top: 3px;
	color: var(--muted);
	font-size: .565rem;
	font-weight: 600;
	letter-spacing: .17em;
	text-transform: uppercase;
}
.custom-logo { max-height: 44px; width: auto; }

.nav { margin-left: auto; }
.nav__list {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav__list > li { position: relative; margin: 0; }
.nav__list > li > a {
	display: block;
	padding: 10px 14px;
	border-radius: var(--r-sm);
	color: var(--navy);
	font-size: .93rem;
	font-weight: 550;
}
.nav__list > li > a:hover { background: var(--bg-alt); color: var(--green-700); }

.nav__list .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 250px;
	margin: 0;
	padding: 9px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh-2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .16s var(--ease), transform .16s var(--ease), visibility .16s;
}
.nav__list > li:hover > .sub-menu,
.nav__list > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.nav__list .sub-menu li { margin: 0; }
.nav__list .sub-menu a {
	display: block;
	padding: 9px 13px;
	border-radius: var(--r-sm);
	color: var(--body);
	font-size: .9rem;
}
.nav__list .sub-menu a:hover { background: var(--bg-alt); color: var(--green-700); }

.hdr__act { display: flex; align-items: center; gap: 12px; flex: none; }

/* 窄屏展开菜单里的 CTA —— 桌面端由 header 上的按钮承担，这里隐藏 */
.nav__cta { display: none; }

.burger {
	display: none;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid var(--line-2);
	border-radius: var(--r-sm);
	background: #fff;
	cursor: pointer;
}
.burger span {
	display: block;
	width: 18px;
	height: 2px;
	margin: 3.5px auto;
	background: var(--navy);
	border-radius: 2px;
	transition: transform .2s var(--ease), opacity .2s var(--ease);
}
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* ---------- 面包屑 ---------- */
.crumb { padding: 15px 0 0; border-bottom: 0; }
.crumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: .84rem;
}
.crumb li { margin: 0; color: var(--muted); }
.crumb li + li::before { content: '/'; margin-right: 8px; color: var(--line-2); }
.crumb a { color: var(--muted); }
.crumb a:hover { color: var(--green-700); }
.crumb [aria-current] { color: var(--navy); font-weight: 600; }

/* ---------- 内页头 ---------- */
.phead { padding: clamp(34px, 4vw, 58px) 0 clamp(30px, 3.5vw, 48px); background: var(--bg-alt); }
.phead h1 { margin-bottom: .35em; }
.phead .lede { max-width: 720px; }

/* ---------- 首页 Hero ---------- */
.hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(1100px 520px at 88% -12%, rgba(31, 164, 99, .13), transparent 62%),
		linear-gradient(160deg, #F7FAFD 0%, #EDF3F9 100%);
	border-bottom: 1px solid var(--line);
}
.hero__in {
	display: grid;
	grid-template-columns: 1.06fr .94fr;
	gap: clamp(30px, 4.5vw, 66px);
	align-items: center;
	padding: clamp(52px, 6.5vw, 104px) 0;
}
.hero__copy { max-width: 620px; }
.hero h1 { margin-bottom: .42em; }
.hero h1 em { color: var(--green); font-style: normal; }
.hero__lede {
	max-width: 545px;
	margin-bottom: 1.9em;
	font-size: 1.1rem;
	color: var(--muted);
}
.hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* 尺寸和定位必须写在容器上：容器一旦塌成 0 高，
   内部 absolute 的 .pcard__ph 就会脱离本框、改以整个页面为参照铺开。 */
.hero__fig {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #fff;
	border-radius: var(--r-lg);
	box-shadow: var(--sh-2);
	overflow: hidden;
}
.hero__fig img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Hero 底部的关键指标条 */
.hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(22px, 4vw, 54px);
	margin-top: 2.3em;
	padding-top: 1.7em;
	border-top: 1px solid var(--line-2);
}
.stat__n {
	display: block;
	color: var(--navy);
	font-size: 1.62rem;
	font-weight: 750;
	letter-spacing: -.02em;
	line-height: 1.1;
}
.stat__l {
	display: block;
	margin-top: 4px;
	color: var(--muted);
	font-size: .79rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* ---------- 网格 ---------- */
.grid { display: grid; gap: var(--gut); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--auto { grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); }

/* ---------- 物料样品 ---------- */
.smp {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px var(--gut);
	list-style: none;
	margin: 0;
	padding: 0;
}
.smp__i { margin: 0; }
.smp__fig {
	position: relative;
	aspect-ratio: 4 / 3;
	margin: 0 0 14px;
	background: #fff;
	border-radius: var(--r);
	overflow: hidden;
}
/* 照片是满幅场景图，cover 裁切比留白更整齐 */
.smp__fig img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s var(--ease);
}
.smp__i:hover .smp__fig img { transform: scale(1.045); }
/* 白底照片压在米白底上会糊边，内描一圈极淡的线把边界收住 */
.smp__fig::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(16, 42, 67, .06);
	pointer-events: none;
}
.smp__t {
	margin: 0;
	font-size: .95rem;
	text-align: center;
}

/* ---------- 卡片：产品 ---------- */
.pcard {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	overflow: hidden;
	transition: transform .2s var(--ease), box-shadow .2s var(--ease),
		border-color .2s var(--ease);
}
.pcard:hover {
	transform: translateY(-3px);
	border-color: var(--line-2);
	box-shadow: var(--sh-2);
}
.pcard__link { display: block; color: inherit; }
.pcard__link:hover { color: inherit; }

.pcard__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--bg-alt);
	overflow: hidden;
}
.pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 12px;
	transition: transform .35s var(--ease);
}
.pcard:hover .pcard__media img { transform: scale(1.045); }

.pcard__ph {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, #E9F0F7 0%, #F5F8FB 100%);
}

.pcard__body { padding: 17px 19px 20px; }
.pcard__title { margin: 0 0 5px; font-size: 1.04rem; }
.pcard__meta {
	margin: 0 0 12px;
	color: var(--muted);
	font-size: .855rem;
}
.pcard__more {
	color: var(--green-700);
	font-size: .855rem;
	font-weight: 650;
}
.pcard:hover .pcard__more { color: var(--green); }

/* ---------- 卡片：整线方案 ---------- */
.scard {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 268px;
	padding: 28px 26px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	overflow: hidden;
	transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.scard:hover { transform: translateY(-3px); box-shadow: var(--sh-2); }
.scard::before {
	content: '';
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: var(--green);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform .28s var(--ease);
}
.scard:hover::before { transform: scaleY(1); }
.scard__no {
	color: var(--green);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .13em;
}
.scard h3 { margin: 12px 0 9px; }
.scard p { color: var(--muted); font-size: .93rem; }
.scard__more {
	margin-top: auto;
	padding-top: 18px;
	color: var(--green-700);
	font-size: .86rem;
	font-weight: 650;
}

/* 深色底变体：首页「Complete recycling lines」那 4 张卡片用 */
.scard--navy {
	background: var(--navy);
	border-color: var(--navy);
}
.scard--navy:hover { border-color: var(--navy-700); }
.scard--navy h3 { color: #fff; }
.scard--navy p { color: #B7C8DA; }
.scard--navy .scard__more { color: #4FD08C; }

/* ---------- 产品卡上的系列名（首页产品网格用，由 bohan_product_card() 第二个参数开启） ---------- */
.pcard__cat {
	margin: 0 0 6px;
	color: var(--green-700);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
}

/* ---------- 特性条 ---------- */
.feat { display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(228px, 1fr)); }
.feat__i {
	width: 46px;
	height: 46px;
	margin-bottom: 15px;
	display: grid;
	place-items: center;
	background: var(--green-050);
	border-radius: 11px;
	color: var(--green-700);
}
.feat__i svg { width: 23px; height: 23px; }
.feat h3 { font-size: 1.06rem; margin-bottom: .45em; }
.feat p { color: var(--muted); font-size: .925rem; }

/* ---------- 分栏内容 ---------- */
.split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 5vw, 74px);
	align-items: center;
}
.split--rev .split__media { order: -1; }
.split__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--bg-alt);
	border-radius: var(--r-lg);
	overflow: hidden;
}
.split__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: var(--r-lg);
}

/* ---------- 要点列表 ---------- */
.bohan-list { margin: 1.1em 0; padding: 0; list-style: none; }
.bohan-list li {
	position: relative;
	margin-bottom: .68em;
	padding-left: 27px;
	color: var(--body);
}
.bohan-list li::before {
	content: '';
	position: absolute;
	left: 3px;
	top: .58em;
	width: 11px;
	height: 6px;
	border-left: 2.4px solid var(--green);
	border-bottom: 2.4px solid var(--green);
	transform: rotate(-45deg);
}

/* ---------- 规格表 ---------- */
.spec {
	width: 100%;
	border-collapse: collapse;
	font-size: .94rem;
}
.spec th, .spec td {
	padding: 13px 16px;
	border-bottom: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}
.spec th {
	width: 38%;
	color: var(--navy);
	font-weight: 620;
	background: var(--bg-alt);
}
.spec tr:last-child th, .spec tr:last-child td { border-bottom: 0; }
.spec__wrap {
	border: 1px solid var(--line);
	border-radius: var(--r);
	overflow: hidden;
}

/* ---------- 物料胶囊 ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.chips li {
	margin: 0;
	padding: 7px 15px;
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-radius: 999px;
	color: var(--navy);
	font-size: .855rem;
	font-weight: 550;
}

/* ---------- 询盘区 ---------- */
.inq {
	background:
		radial-gradient(760px 380px at 82% 0%, rgba(31, 164, 99, .17), transparent 60%),
		var(--bg-dark);
	color: #B9CADB;
}
.inq__in {
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: clamp(34px, 5vw, 68px);
	align-items: start;
}
.inq h2 { color: #fff; }
.inq__list { margin: 1.6em 0 0; padding: 0; list-style: none; }
.inq__list li {
	position: relative;
	margin-bottom: .8em;
	padding-left: 25px;
}
.inq__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .5em;
	width: 12px;
	height: 6.5px;
	border-left: 2.4px solid var(--green);
	border-bottom: 2.4px solid var(--green);
	transform: rotate(-45deg);
}

.form {
	display: grid;
	gap: 15px;
	padding: clamp(24px, 3vw, 38px);
	background: #fff;
	border-radius: var(--r-lg);
	box-shadow: var(--sh-2);
}
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field label {
	color: var(--navy);
	font-size: .84rem;
	font-weight: 620;
}
.field input, .field select, .field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
	background: #fff;
	color: var(--ink);
	font: inherit;
	font-size: .94rem;
	transition: border-color .16s var(--ease), box-shadow .16s var(--ease);
}
.field input:focus, .field select:focus, .field textarea:focus {
	outline: 0;
	border-color: var(--green);
	box-shadow: 0 0 0 3.5px rgba(31, 164, 99, .14);
}
.field textarea { min-height: 118px; resize: vertical; }
.field--full { grid-column: 1 / -1; }
.form__note { color: var(--muted); font-size: .8rem; }
.form .btn { width: 100%; }

/* ---------- 产品详情 ---------- */
.pdp {
	display: grid;
	grid-template-columns: 1.04fr .96fr;
	gap: clamp(32px, 4.5vw, 62px);
	align-items: start;
}
.pdp__gal { display: grid; gap: 12px; }
.pdp__main {
	aspect-ratio: 4 / 3;
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-radius: var(--r);
	overflow: hidden;
}
.pdp__main img { width: 100%; height: 100%; object-fit: contain; padding: 18px; }
.pdp__thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.pdp__thumbs button {
	width: 78px;
	height: 78px;
	padding: 6px;
	border: 1.5px solid var(--line);
	border-radius: var(--r-sm);
	background: #fff;
	cursor: pointer;
	transition: border-color .16s var(--ease);
}
.pdp__thumbs button:hover,
.pdp__thumbs button[aria-current="true"] { border-color: var(--green); }
.pdp__thumbs img { width: 100%; height: 100%; object-fit: contain; }

.pdp__meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.pdp__tag {
	padding: 5px 12px;
	background: var(--green-050);
	border-radius: 999px;
	color: var(--green-700);
	font-size: .775rem;
	font-weight: 650;
	letter-spacing: .03em;
}
.pdp__cta { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 1.5em; }

/* ---------- 富文本 ---------- */
.rt > * + * { margin-top: 1.1em; }
.rt h2 { margin-top: 1.9em; }
.rt h3 { margin-top: 1.6em; }
.rt img { border-radius: var(--r); }
.rt blockquote {
	margin: 1.7em 0;
	padding: 4px 0 4px 22px;
	border-left: 3px solid var(--green);
	color: var(--navy);
	font-size: 1.06rem;
}
.rt table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.rt table th, .rt table td { padding: 11px 14px; border: 1px solid var(--line); text-align: left; }
.rt table th { background: var(--bg-alt); color: var(--navy); }

/* ---------- 文章列表 ---------- */
.postcard {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	overflow: hidden;
	transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.postcard:hover { transform: translateY(-3px); box-shadow: var(--sh-2); }
.postcard__media { aspect-ratio: 16 / 9; background: var(--bg-alt); }
.postcard__media img { width: 100%; height: 100%; object-fit: cover; }
.postcard__body { padding: 19px 21px 23px; }
.postcard__date {
	color: var(--muted);
	font-size: .775rem;
	font-weight: 620;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.postcard h3 { margin: 9px 0 8px; font-size: 1.1rem; }
.postcard p { color: var(--muted); font-size: .91rem; }

/* ---------- 分页 ---------- */
.pager { margin-top: 46px; }
.pager .nav-links { display: flex; justify-content: center; gap: 7px; flex-wrap: wrap; }
.pager .page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 13px;
	border: 1px solid var(--line);
	border-radius: var(--r-sm);
	background: #fff;
	color: var(--navy);
	font-weight: 600;
	font-size: .9rem;
}
.pager .page-numbers:hover { border-color: var(--green); color: var(--green-700); }
.pager .page-numbers.current {
	background: var(--navy);
	border-color: var(--navy);
	color: #fff;
}

/* ---------- 页脚 ---------- */
.ftr { margin-top: 0; background: var(--bg-dark); color: #9FB3C8; }

.ftr__cta { background: var(--navy); }
.ftr__cta-in {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	align-items: center;
	justify-content: space-between;
	padding: clamp(30px, 3.6vw, 50px) 0;
}
.ftr__cta-k {
	margin: 0 0 8px;
	color: var(--green);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.ftr__cta-h {
	max-width: 640px;
	margin: 0;
	color: #fff;
	font-size: clamp(1.22rem, 1rem + .95vw, 1.72rem);
}

.ftr__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.25fr;
	gap: clamp(26px, 4vw, 54px);
	padding: clamp(44px, 5vw, 70px) var(--gut) clamp(36px, 4vw, 54px);
	max-width: var(--wrap);
	margin-inline: auto;
}
.ftr__col--brand { max-width: 330px; }
.brand__name--ftr {
	display: block;
	margin-bottom: 14px;
	color: #fff;
	font-size: 1.42rem;
	font-weight: 800;
	letter-spacing: .11em;
}
.ftr__blurb { margin: 0; font-size: .9rem; line-height: 1.72; }

.ftr__h {
	margin: 0 0 15px;
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.ftr__list { margin: 0; padding: 0; list-style: none; }
.ftr__list li { margin-bottom: .62em; font-size: .905rem; }
.ftr__list a { color: #9FB3C8; }
.ftr__list a:hover { color: #fff; }
.ftr__list--contact li { color: #8497ab; }

.ftr__bar { border-top: 1px solid rgba(255, 255, 255, .1); }
.ftr__bar-in {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	padding: 21px 0;
}
.ftr__copy { margin: 0; color: #7B8FA5; font-size: .83rem; }
.ftr__legal { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; }
.ftr__legal li { margin: 0; }
.ftr__legal a { color: #7B8FA5; font-size: .83rem; }
.ftr__legal a:hover { color: #fff; }

/* ---------- 图片轮播 / 图集 ---------- */
.gal { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.gal img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	padding: 12px;
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-radius: var(--r);
}

/* ---------- 下载列表 ---------- */
.dl { margin: 0; padding: 0; list-style: none; }
.dl li {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 11px;
	padding: 17px 20px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	transition: border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.dl li:hover { border-color: var(--green); box-shadow: var(--sh-1); }
.dl__i { flex: none; color: var(--green-700); }
.dl__t { flex: 1; color: var(--navy); font-weight: 620; font-size: .94rem; }
.dl__a { color: var(--muted); font-size: .84rem; }

/* ---------- FAQ 折叠 ---------- */
.faq { border-top: 1px solid var(--line); }
.faq__i { border-bottom: 1px solid var(--line); }
.faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 21px 0;
	border: 0;
	background: none;
	color: var(--navy);
	font: inherit;
	font-size: 1.03rem;
	font-weight: 620;
	text-align: left;
	cursor: pointer;
}
.faq__q::after {
	content: '';
	flex: none;
	width: 11px;
	height: 11px;
	border-right: 2.2px solid var(--green);
	border-bottom: 2.2px solid var(--green);
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform .22s var(--ease);
}
.faq__i[open] .faq__q::after { transform: rotate(-135deg) translate(-3px, -3px); }
.faq__a { padding: 0 0 22px; color: var(--muted); max-width: 860px; }
.faq__a p:last-child { margin-bottom: 0; }

/* ---------- 空状态 / 404 ---------- */
.empty { padding: clamp(56px, 7vw, 110px) 0; text-align: center; }
.empty h1 { margin-bottom: .4em; }

/* ---------- 工具类 ---------- */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.ctr { text-align: center; }
.nowrap { white-space: nowrap; }

/* ==========================================================================
   长文正文（the_content 输出）
   ========================================================================== */
.entry { max-width: 860px; }
.entry > * + * { margin-top: 1.15em; }

.entry h2 {
	margin-top: 1.9em;
	padding-top: .1em;
	font-size: clamp(1.4rem, 1.15rem + 1vw, 1.95rem);
}
.entry h3 { margin-top: 1.6em; font-size: 1.2rem; }
.entry h2 + *, .entry h3 + * { margin-top: .5em; }

.entry ul, .entry ol { padding-left: 1.3em; }
.entry ul li::marker { color: var(--green); }
.entry ol li::marker { color: var(--green); font-weight: 650; }

.entry blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 24px;
	border-left: 3px solid var(--green);
	color: var(--muted);
	font-size: 1.06rem;
}
.entry blockquote p:last-child { margin-bottom: 0; }

.entry img, .entry figure img {
	width: 100%;
	height: auto;
	border-radius: var(--r);
}
.entry figure { margin: 1.8em 0; }
.entry figcaption {
	margin-top: .7em;
	color: var(--muted);
	font-size: .84rem;
	text-align: center;
}

.entry table {
	width: 100%;
	margin: 1.7em 0;
	border-collapse: collapse;
	font-size: .93rem;
}
.entry th, .entry td {
	padding: 12px 15px;
	border: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}
.entry thead th { background: var(--bg-alt); color: var(--navy); font-weight: 650; }
.entry tbody tr:nth-child(even) { background: #FAFCFE; }

.entry hr {
	margin: 2.4em 0;
	border: 0;
	border-top: 1px solid var(--line);
}

.entry code {
	padding: .15em .42em;
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-radius: 5px;
	color: var(--navy);
	font-size: .88em;
}
.entry pre {
	margin: 1.6em 0;
	padding: 18px 20px;
	background: var(--bg-dark);
	border-radius: var(--r);
	overflow-x: auto;
}
.entry pre code { padding: 0; background: none; border: 0; color: #C9D8E6; }

/* 表格在窄屏内滚动，不撑破页面 */
.entry .wp-block-table { overflow-x: auto; }
.entry .wp-block-table table { margin: 0; min-width: 520px; }

.entry .wp-block-button__link {
	display: inline-block;
	padding: 13px 26px;
	background: var(--navy);
	border-radius: var(--r-sm);
	color: #fff;
	font-weight: 620;
}
.entry .wp-block-button__link:hover { background: var(--green); color: #fff; }

/* ==========================================================================
   响应式
   ========================================================================== */
@media (max-width: 1080px) {
	.ftr__grid { grid-template-columns: 1fr 1fr; }
	.ftr__col--brand { grid-column: 1 / -1; max-width: none; }
}

@media (max-width: 960px) {
	:root { --hdr-h: 66px; }

	.burger { display: block; }

	/* 小屏 header 收紧：副标题让位给 CTA 与汉堡，logo 同步缩小 */
	.brand__sub { display: none; }
	.custom-logo { height: 38px; width: auto; }
	.hdr__in { gap: 12px; }
	.hdr__act { gap: 8px; }
	.hdr__act .btn { padding: 9px 14px; font-size: .84rem; }

	.nav {
		position: fixed;
		inset: var(--hdr-h) 0 auto 0;
		max-height: calc(100vh - var(--hdr-h));
		overflow-y: auto;
		margin: 0;
		padding: 12px var(--gut) 28px;
		background: #fff;
		border-bottom: 1px solid var(--line);
		box-shadow: var(--sh-2);
		transform: translateY(-12px);
		opacity: 0;
		visibility: hidden;
		transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
	}
	.nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }

	.nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.nav__list > li > a { padding: 14px 4px; border-bottom: 1px solid var(--line); border-radius: 0; }
	.nav__list .sub-menu {
		position: static;
		min-width: 0;
		padding: 4px 0 8px 15px;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.hero__in { grid-template-columns: 1fr; }
	.hero__fig { order: -1; }
	.split { grid-template-columns: 1fr; }
	.split--rev .split__media { order: 0; }
	.pdp { grid-template-columns: 1fr; }
	.inq__in { grid-template-columns: 1fr; }
	.grid--4 { grid-template-columns: repeat(2, 1fr); }
	.grid--3 { grid-template-columns: repeat(2, 1fr); }
	/* 样品图维持两列：八张竖排会把首页拉得过长 */
	.smp { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	:root { --gut: 20px; }

	body { font-size: 16px; }
	.grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
	.smp { gap: 20px 14px; }
	/* 窄屏下名称会折成两行，预留等高位置，同一排的标题才落在一水平线上 */
	.smp__t { min-height: 2.6em; }
	.form__row { grid-template-columns: 1fr; }
	.ftr__grid { grid-template-columns: 1fr; }
	.hero__stats { gap: 20px 34px; }
	.btn { width: 100%; }
	.hero__cta .btn, .pdp__cta .btn { width: 100%; }
	.pdp__thumbs button { width: 64px; height: 64px; }

	/* 窄屏 header 只留 logo 与汉堡：CTA 移进展开菜单，
	   否则按钮 + 汉堡会把整行顶出视口；同时覆盖上面 .btn{width:100%} 的影响 */
	.hdr__act .btn { display: none; }
	.nav__cta { display: block; margin-top: 18px; }
}

/* ---------- 浮动 WhatsApp 按钮 ---------- */
.wa-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
	transition: transform .18s ease, box-shadow .18s ease;
}

.wa-float:hover,
.wa-float:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .28);
	color: #fff;
}

/* 窄屏只留圆形图标，桌面才展开文字，免得挡住内容 */
.wa-float__tip {
	display: none;
	font-weight: 600;
	font-size: .95rem;
	line-height: 1;
	padding-right: 6px;
}

@media (min-width: 900px) {
	.wa-float { padding: 13px 20px; }
	.wa-float__tip { display: block; }
}

/* ---------- 打印 ---------- */
@media print {
	.hdr, .ftr__cta, .inq, .crumb, .burger, .wa-float { display: none !important; }
	body { font-size: 11pt; color: #000; }
	a { color: #000; }
}

/* ---------- 减少动效偏好 ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
