/* YWCF theme — 设计 token 与共用外壳
   对应 mockups/v6 的 proto-chrome.js（那里是原型期 JS 渲染，这里是服务端模板） */

:root {
	--ink: #101010;
	--ink2: #5b5750;
	--line: #e6e1d8;
	--green: #1f5d42;
	--green-dk: #163f2d;
	--teal: #5f9c8f;
	--cream: #f7f3ec;
	--wash: #faf8f4;
	--clay: #a05a3f;
	--wrap-w: 1200px;
	--hd-h: 68px;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: #fff;
	color: var(--ink);
	font: 15px/1.6 -apple-system, "Segoe UI", Roboto, Arial, "Microsoft YaHei", sans-serif;
	font-variant-numeric: tabular-nums;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

h1, h2, h3 {
	font-family: Georgia, "Songti SC", "Times New Roman", serif;
	font-weight: 400;
	margin: 0;
	letter-spacing: -0.01em;
}
h1 { font-size: 34px; line-height: 1.15; }
h2 { font-size: 24px; line-height: 1.25; }
h3 { font-size: 17px; line-height: 1.3; }

.wrap { max-width: var(--wrap-w); margin: 0 auto; padding: 0 28px; }
.k { font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green); margin-bottom: 10px; }

/* ---------- top bar ---------- */
.topbar { border-bottom: 1px solid var(--line); font-size: 12px; color: var(--ink2); background: #fff; }
.topbar .in { display: flex; justify-content: space-between; gap: 20px; padding: 7px 0; }
.topbar a { color: var(--ink2); }
.topbar a:hover { color: var(--green); text-decoration: underline; }

/* ---------- header ---------- */
.site-header { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 40; }
.site-header .wrap { display: flex; }
.site-header .hd { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: var(--hd-h); }
.brand { font-family: Georgia, serif; font-size: 19px; line-height: 1.1; color: var(--green-dk); display: block; }
.brand small { display: block; font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink2); margin-top: 2px; }

nav.main { display: flex; align-items: center; gap: 22px; font-size: 13px; white-space: nowrap; }
nav.main ul { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
nav.main a { color: #2c2a26; }
nav.main .current-menu-item > a,
nav.main .is-current > a,
nav.main .item.is-current > a { color: var(--green-dk); font-weight: 600; border-bottom: 1px solid var(--green-dk); padding-bottom: 2px; }
nav.main .sub-menu { position: absolute; display: none; background: #fff; border: 1px solid var(--line); padding: 10px 14px; list-style: none; margin: 8px 0 0; min-width: 180px; z-index: 50; }
nav.main li:hover > .sub-menu { display: block; }

.site-header .right { display: flex; align-items: center; gap: 12px; }
.cartlink { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid var(--line); color: #2c2a26; }
.cartlink svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cartlink .n { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; border-radius: 999px; background: var(--clay); color: #fff; font-size: 10.5px; display: flex; align-items: center; justify-content: center; padding: 0 4px; border: 1px solid #fff; }
.lang { border: 1px solid var(--line); padding: 6px 10px; font-size: 12.5px; color: #3a3732; line-height: 1; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 18px; border: 1px solid var(--ink); background: #fff; font-size: 13px; cursor: pointer; }
.btn.fill { background: var(--green); border-color: var(--green); color: #fff; }
.btn.ghost { border-color: var(--line); color: var(--ink2); }
.btn.sm { height: 36px; padding: 0 14px; font-size: 12.5px; }
.link { font-size: 12.5px; color: var(--green-dk); border-bottom: 1px solid var(--line); padding-bottom: 1px; }

/* ---------- sections ---------- */
.sec { padding: 42px 0; border-bottom: 1px solid var(--line); }
.sec.wash { background: var(--wash); }
.head-c { text-align: center; max-width: 760px; margin: 0 auto 28px; }
.head-c h2 { font-size: 28px; color: var(--green-dk); }
.head-c p { margin: 10px 0 0; color: var(--ink2); font-size: 13.5px; }
.lead2 { color: var(--ink2); font-size: 13.5px; margin: 12px 0 18px; max-width: 60ch; }

/* ---------- hero ---------- */
.hero { border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: 1.02fr 0.98fr; align-items: center; max-height: 520px; overflow: hidden; }
.hero .txt { padding: 46px 40px 46px 0; }
.hero h1 { font-size: 50px; line-height: 1.08; max-width: 18ch; }
.hero p { color: var(--ink2); font-size: 14px; margin: 14px 0 0; max-width: 50ch; }
.hero .cta { display: flex; gap: 10px; margin-top: 22px; flex-wrap: wrap; }
.hero .ph { height: 100%; max-height: 520px; border-left: 1px solid var(--line); overflow: hidden; }
.hero .ph img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- stats ---------- */
.stats { border-bottom: 1px solid var(--line); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.stats-grid > div { padding: 22px 24px; border-right: 1px solid var(--line); }
.stats-grid > div:last-child { border-right: 0; }
.stats-grid b { display: block; font: 400 30px Georgia, serif; color: var(--green-dk); }
.stats-grid span { font-size: 12px; color: var(--ink2); }

/* ---------- paths (双路径) ---------- */
.paths { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.path { border: 1px solid var(--line); display: grid; grid-template-columns: 0.9fr 1.1fr; background: #fff; }
.path .im { overflow: hidden; }
.path .im img { width: 100%; height: 100%; object-fit: cover; }
.path .cp { padding: 20px 22px; }
.path h3 { font-size: 20px; color: var(--green-dk); margin-bottom: 6px; }
.path p { font-size: 12.5px; color: var(--ink2); margin: 0 0 10px; }
.path ul { margin: 0 0 14px; padding-left: 18px; font-size: 12px; color: var(--ink2); }
.path li { margin: 4px 0; }

/* ---------- categories ---------- */
.cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.cat { border: 1px solid var(--line); background: #fff; }
.cat .im { aspect-ratio: 4/3; overflow: hidden; }
.cat .im img { width: 100%; height: 100%; object-fit: cover; }
.cat h3 { padding: 14px 16px 4px; font-size: 18px; color: var(--green-dk); }
.cat p { margin: 0; padding: 0 16px 10px; font-size: 12.5px; color: var(--ink2); }
.cat .link { display: inline-block; margin: 0 16px 16px; }

/* ---------- OEM services ---------- */
.two-col { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 40px; align-items: start; }
.svc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.svc { border: 1px solid var(--line); padding: 16px 18px; background: #fff; }
.svc .n { font: 400 12px Georgia, serif; color: var(--clay); letter-spacing: 0.1em; }
.svc h3 { font-size: 16px; color: var(--green-dk); margin: 4px 0 4px; }
.svc p { margin: 0; font-size: 12px; color: var(--ink2); }
.svc-photo img { width: 100%; max-height: 430px; object-fit: cover; }

/* ---------- faq ---------- */
.faq2 { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 44px; align-items: start; }
.faq2 h2 { font-size: 24px; color: var(--green-dk); margin-bottom: 8px; }
.faq details { border-bottom: 1px solid var(--line); padding: 12px 0; }
.faq summary { cursor: pointer; font-size: 14px; }
.faq p { margin: 8px 0 0; color: var(--ink2); font-size: 12.5px; max-width: 80ch; }

/* ---------- CTA band ---------- */
.cta-band { background: var(--cream); border-bottom: 1px solid var(--line); padding: 36px 0; }
.cta-band .band { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.cta-band h2 { font-size: 24px; color: var(--green-dk); }
.cta-band p { margin: 6px 0 0; color: var(--ink2); font-size: 13px; }

/* ---------- footer ---------- */
.site-footer { padding: 34px 0 44px; font-size: 12px; color: var(--ink2); }
.site-footer .fcols { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.site-footer .fcols h3 { font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink); margin: 0 0 8px; font-family: inherit; font-weight: 400; }
.site-footer .fcols p { margin: 0; line-height: 1.55; }
.site-footer .fcols a { display: block; padding: 3px 0; color: var(--ink2); }
.site-footer .fcols a:hover { color: var(--green); }
.site-footer .fbottom { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.site-footer .fbottom a { color: var(--ink2); }

/* Cookie 弹窗打开时先收起悬浮按钮，避免两个浮层叠在一起；关掉后按钮停在距底 66px */
body.ywcf-consent-open .wa-fab{display:none}

/* 品牌区换 Logo 后：控制高度与副标字号，避免撑破页头 */
.site-header .hd{height:auto;min-height:64px;padding:10px 0}
.brand img{height:40px;width:auto;display:block}
.brand small{font-size:8px;letter-spacing:.14em;line-height:1.4;margin-top:3px;display:block;color:#6b6a66}
@media (max-width:820px){.brand img{height:32px}.site-header .hd{min-height:56px}}

/* ---------- floats ---------- */
.wa-fab { position: fixed; right: 22px; bottom: 132px; width: 56px; height: 56px; border-radius: 50%; background: #25a35a; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18); z-index: 70; }
.wa-fab svg { width: 28px; height: 28px; }
.sel-fab { position: fixed; right: 22px; bottom: 92px; width: 56px; height: 56px; border-radius: 50%; background: var(--green); color: #fff; display: none; align-items: center; justify-content: center; border: 0; cursor: pointer; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16); z-index: 60; }
.sel-fab .n { position: absolute; top: -4px; right: -4px; min-width: 22px; height: 22px; border-radius: 999px; background: var(--clay); color: #fff; font-size: 11.5px; display: flex; align-items: center; justify-content: center; padding: 0 6px; border: 2px solid #fff; }
.sel-fab svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.hero-grid, .two-col, .faq2, .paths { grid-template-columns: 1fr; }
	.hero { max-height: none; }
	.hero .ph { border-left: 0; border-top: 1px solid var(--line); max-height: 360px; }
	.stats-grid { grid-template-columns: 1fr 1fr; }
	.stats-grid > div { border-bottom: 1px solid var(--line); }
	.cats { grid-template-columns: 1fr 1fr; }
	nav.main { display: none; }
	.site-footer .fcols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.cats, .svc-grid, .stats-grid { grid-template-columns: 1fr; }
	.hero h1 { font-size: 34px; }
	.site-footer .fcols { grid-template-columns: 1fr; }
}

/* ---------- catalog (目录页) ---------- */
.catalog { padding: 0 28px 40px; }
.crumb { font-size: 12px; color: var(--ink2); padding: 18px 0 0; }
.cat-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; padding: 16px 0 14px; border-bottom: 1px solid var(--line); }
.cat-head h1 { font-size: 34px; line-height: 1.1; }
.cat-head .chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { border: 1px solid var(--line); padding: 6px 12px; font-size: 12px; color: var(--ink2); border-radius: 2px; }
.chip.on, .chip:hover { border-color: var(--green-dk); color: var(--green-dk); }
.cat-lay { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 40px; padding-top: 20px; align-items: start; }
.facets { border-top: 1px solid var(--ink); padding-top: 12px; }
.facets .grp { margin-bottom: 20px; }
.facets h2 { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink2); font-family: inherit; font-weight: 400; margin-bottom: 8px; }
.facets ul { list-style: none; margin: 0; padding: 0; }
.facets li a { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: var(--ink2); padding: 5px 0; border-bottom: 1px solid transparent; }
.facets li a:hover { color: var(--green-dk); }
.facets li.active a { color: var(--green-dk); font-weight: 600; }
.facets .ct { color: #a9a49a; }
.facets .clear { display: inline-block; margin-top: 4px; font-size: 12px; color: var(--green-dk); text-decoration: underline; }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 6px 0 14px; }
.toolbar .cnt { font-size: 13px; font-weight: 600; }
.toolbar .woocommerce-ordering select { border: 1px solid var(--line); padding: 8px 10px; font: inherit; font-size: 12.5px; background: #fff; }
.rows-head, .row { display: grid; grid-template-columns: 76px minmax(0, 1.4fr) minmax(0, 1fr) 70px 110px 84px; gap: 16px; align-items: center; }
.rows-head { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink2); padding: 8px 0; border-bottom: 1px solid var(--ink); }
.row { padding: 14px 0; border-bottom: 1px solid var(--line); }
.row .im { aspect-ratio: 4/5; overflow: hidden; border: 1px solid var(--line); display: block; }
.row .im img { width: 100%; height: 100%; object-fit: cover; }
.row .nm a { font: 400 16px Georgia, serif; color: var(--green-dk); }
.row .meta { font-size: 11.5px; color: var(--ink2); margin-top: 4px; }
.row .fp .tag { display: inline-block; font-size: 11px; border: 1px solid var(--line); border-radius: 2px; padding: 1px 6px; margin: 0 4px 4px 0; color: var(--ink2); }
.row .col-n { font-size: 13px; }
.row .price { font-size: 13px; }
.row .price small { display: block; font-size: 10.5px; color: var(--ink2); }
.pager { padding-top: 20px; }
.pager .page-numbers { display: inline-flex; gap: 6px; list-style: none; padding: 0; margin: 0; }
.pager .page-numbers li { display: inline-block; }
.pager .page-numbers a, .pager .page-numbers span { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; border: 1px solid var(--line); font-size: 12.5px; padding: 0 8px; }
.pager .page-numbers .current { border-color: var(--ink); background: var(--ink); color: #fff; }
@media (max-width: 1024px) {
	.cat-lay { grid-template-columns: 1fr; }
	.rows-head { display: none; }
	.row { grid-template-columns: 64px minmax(0, 1fr) 90px; grid-template-areas: "im nm price" "im nm btn"; }
	.row .im { grid-area: im; }
	.row .nm { grid-area: nm; }
	.row .price { grid-area: price; }
	.row .btn { grid-area: btn; }
	.row .fp, .row .col-n { display: none; }
}

/* ---------- product (商品页) ---------- */
.product { padding-bottom: 30px; }
.pd-lay { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 48px; padding: 20px 0 10px; align-items: start; }
.pd-main { min-width: 0; }
.gal .im { aspect-ratio: 4/5; overflow: hidden; border: 1px solid var(--line); background: #f1ede6; }
.gal .im img { width: 100%; height: 100%; object-fit: cover; }
.thumbs { display: flex; gap: 8px; margin-top: 10px; }
.thumbs .th { width: 64px; border: 1px solid var(--line); padding: 0; background: #fff; cursor: pointer; }
.thumbs .th img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.thumbs .th.on { outline: 2px solid var(--ink); }
.pd-title { font-size: 34px; margin: 22px 0 6px; }
.pd-main .lede { color: var(--ink2); font-size: 14px; margin: 0 0 16px; max-width: 60ch; }
.spec { display: grid; grid-template-columns: 170px 1fr; margin: 0 0 18px; border-top: 1px solid var(--ink); }
.spec dt { font-size: 12.5px; color: var(--ink2); padding: 8px 0; border-bottom: 1px solid var(--line); }
.spec dd { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 13.5px; }
.block { padding: 26px 0 0; margin-top: 8px; border-top: 1px solid var(--line); }
.block h2 { font-size: 24px; color: var(--green-dk); margin-bottom: 8px; }
.block .sub { color: var(--ink2); font-size: 13px; margin: 0 0 12px; }
table.route { width: 100%; border-collapse: collapse; font-size: 13px; }
table.route th { text-align: left; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink2); font-weight: 400; padding: 8px 0; border-bottom: 1px solid var(--ink); }
table.route tbody th { text-transform: none; letter-spacing: 0; font-size: 13px; color: var(--green-dk); font-family: Georgia, serif; width: 120px; }
table.route td { padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--ink2); }
.prose { font-size: 14px; line-height: 1.7; color: #232323; max-width: 760px; }
/* Woo 变体表单 */
.pd-main .variations { width: 100%; border-collapse: collapse; margin: 4px 0 12px; }
.pd-main .variations th, .pd-main .variations td { text-align: left; padding: 8px 8px 8px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.pd-main .variations .label { font-size: 12.5px; color: var(--ink2); }
.pd-main .variations select { border: 1px solid var(--line); padding: 8px 10px; font: inherit; font-size: 13px; background: #fff; min-width: 200px; }
.pd-main .woocommerce-variation-price { font-size: 15px; margin: 10px 0 6px; }
.pd-main .single_add_to_cart_button { height: 42px; padding: 0 20px; background: var(--green); color: #fff; border: 1px solid var(--green); font-size: 13px; cursor: pointer; }
.pd-main .quantity input { width: 90px; height: 42px; border: 1px solid var(--line); padding: 0 10px; font: inherit; }
.slip { border: 1px solid var(--ink); padding: 18px 20px; position: sticky; top: 84px; }
.slip h2 { font-size: 17px; margin-bottom: 2px; }
.slip .no { font-size: 11.5px; color: var(--ink2); margin-bottom: 12px; }
.slip .kv { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; padding: 6px 0; border-bottom: 1px dashed #dcd9d3; }
.slip .hint { font-size: 11.5px; color: var(--ink2); margin: 12px 0; line-height: 1.5; }
.slip .btn { width: 100%; margin-top: 10px; }
.also { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 6px; }
.also .card { border: 1px solid var(--line); background: #fff; }
.also .im { aspect-ratio: 4/3; overflow: hidden; }
.also .im img { width: 100%; height: 100%; object-fit: cover; }
.also b { display: block; padding: 10px 12px 3px; font: 400 14px Georgia, serif; color: var(--green-dk); }
.also span { display: block; padding: 0 12px 12px; font-size: 11.5px; color: var(--ink2); }
@media (max-width: 900px) {
	.pd-lay { grid-template-columns: 1fr; }
	.slip { position: static; }
	.also { grid-template-columns: 1fr; }
}

/* ---------- OEM 页 / 向导 ---------- */
.oem-hero { border-bottom: 1px solid var(--line); }
.oem-hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; max-height: 520px; overflow: hidden; }
.oem-hero h1 { font-size: 50px; line-height: 1.08; max-width: 18ch; }
.oem-hero .lead2 { max-width: 50ch; }
.oem-hero .cta { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.oem-hero .ph { height: 100%; max-height: 520px; border-left: 1px solid var(--line); overflow: hidden; }
.oem-hero .ph img { width: 100%; height: 100%; object-fit: cover; }
.steps4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.stepcard { border: 1px solid var(--line); border-radius: 6px; padding: 20px 22px 24px; background: #fff; }
.stepcard .num { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--green); color: #fff; font-size: 11.5px; font-weight: 600; margin-bottom: 14px; }
.stepcard h3 { font-size: 19px; color: var(--green-dk); margin-bottom: 6px; }
.stepcard p { margin: 0; font-size: 12.5px; color: var(--ink2); }
.sumstrip { display: flex; justify-content: space-between; gap: 26px; align-items: center; border: 1px solid var(--ink); border-radius: 6px; padding: 20px 22px; flex-wrap: wrap; }
.ss-k { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink2); margin-bottom: 8px; }
.ss-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.ss-chips span { border: 1px solid var(--line); padding: 5px 11px; font-size: 12px; color: var(--ink2); border-radius: 2px; }
.ss-chips span.on { border-color: var(--green); color: var(--green-dk); background: #f2f7f4; }
.ss-empty { border: 0 !important; padding: 0 !important; color: #a9a49a; }
.ss-right { text-align: right; }
.ss-n { font-size: 12.5px; color: var(--ink2); margin-bottom: 10px; }
.ss-n b { font-family: Georgia, serif; font-size: 20px; color: var(--green-dk); margin-right: 4px; }
.plan { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.plan .card { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: #fff; }
.plan .im { aspect-ratio: 16/10; overflow: hidden; }
.plan .im img { width: 100%; height: 100%; object-fit: cover; }
.plan b { display: block; padding: 10px 12px 4px; font: 400 14px Georgia, serif; color: var(--green-dk); }
.plan span { display: block; padding: 0 12px 12px; font-size: 11.5px; color: var(--ink2); }
.hint { font-size: 11.5px; color: var(--ink2); margin: 14px 0 0; }

/* 向导 */
.oem-wizard { padding-bottom: 44px; }
.oem-wizard .prog { display: flex; gap: 18px; overflow-x: auto; padding: 16px 0; border-bottom: 1px solid var(--line); }
.oem-wizard .pstep { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: #b3aea6; white-space: nowrap; cursor: pointer; }
.oem-wizard .pstep b { width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; font-size: 10.5px; background: #fff; }
.oem-wizard .pstep.done { color: var(--green); font-weight: 600; }
.oem-wizard .pstep.done b { background: var(--green); border-color: var(--green); color: #fff; }
.oem-wizard .pstep.on { color: var(--ink); font-weight: 700; }
.oem-wizard .pstep.on b { border-color: var(--ink); color: var(--ink); }
.oem-wizard .step { display: none; padding: 30px 0 10px; }
.oem-wizard .step.on { display: block; }
.oem-wizard .kick { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--green); margin-bottom: 8px; }
.oem-wizard h2 { font-size: 26px; color: var(--green-dk); margin-bottom: 6px; }
.oem-wizard .sub { color: var(--ink2); font-size: 13px; margin: 0 0 18px; }
.oem-wizard .chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.oem-wizard .chip { border: 1px solid var(--line); background: #fff; padding: 9px 15px; font: inherit; font-size: 13px; cursor: pointer; border-radius: 2px; }
.oem-wizard .chip.on { border-color: var(--green-dk); color: var(--green-dk); font-weight: 600; background: #f2f7f4; }
.wiz-nav { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 24px 0 28px; border-top: 1px solid var(--line); margin-top: 20px; }
.wiz-nav .right { display: flex; gap: 10px; align-items: center; }
.wiz-nav .skip { font-size: 12.5px; color: var(--ink2); text-decoration: underline; background: none; border: 0; cursor: pointer; font-family: inherit; }
.sum2 { display: grid; grid-template-columns: .85fr 1.15fr; gap: 34px; align-items: start; }
.selbox { border: 1px solid var(--line); border-radius: 6px; padding: 20px 22px; background: #fbfaf7; }
.selbox h3 { font-size: 17px; color: var(--green-dk); margin-bottom: 12px; }
.selbox dl { margin: 0 0 14px; }
.selbox dt { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink2); margin-top: 10px; }
.selbox dd { margin: 2px 0 0; font-size: 13px; }
.selbox dd.none { color: #a9a49a; }
.clearsel { border: 0; background: none; padding: 0; font: inherit; font-size: 12px; color: var(--ink2); text-decoration: underline; cursor: pointer; }
.selnote { font-size: 11.5px; color: var(--ink2); margin: 14px 0 0; line-height: 1.5; }
.form { border: 1px solid var(--ink); border-radius: 6px; padding: 20px 22px; }
.form h3 { font-size: 18px; color: var(--green-dk); margin-bottom: 10px; }
.form label { display: block; font-size: 11.5px; color: var(--ink2); margin: 10px 0 4px; }
.form input, .form textarea { width: 100%; border: 1px solid var(--line); padding: 9px 11px; font: inherit; font-size: 13px; }
.form .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.form .hint { text-transform: none; letter-spacing: 0; font-size: 11px; color: #8d8880; }
.formnote { font-size: 11.5px; color: #8d8880; margin: 12px 0 0; }
@media (max-width: 1024px) {
	.oem-hero-grid, .sum2 { grid-template-columns: 1fr; }
	.oem-hero { max-height: none; }
	.oem-hero .ph { border-left: 0; border-top: 1px solid var(--line); max-height: 340px; }
	.steps4, .plan { grid-template-columns: 1fr 1fr; }
	.form .f2 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) { .steps4, .plan { grid-template-columns: 1fr; } }

/* ---------- blog 列表 ---------- */
.blog-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; padding: 16px 0 20px; border-bottom: 1px solid var(--line); }
.blog-head h1 { font-size: 34px; }
.blog-head .lead2 { max-width: 62ch; margin-bottom: 0; }
.blog-head .chips { display: flex; gap: 8px; flex-wrap: wrap; }
.feat { display: grid; grid-template-columns: 1.05fr .95fr; border: 1px solid var(--line); margin: 22px 0 0; background: #fff; }
.feat .im { overflow: hidden; min-height: 320px; }
.feat .im img { width: 100%; height: 100%; object-fit: cover; }
.feat .txt { padding: 28px 30px; display: flex; flex-direction: column; justify-content: center; }
.feat .tag { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--green); margin-bottom: 10px; }
.feat h2 { font-size: 26px; line-height: 1.25; color: var(--ink); margin-bottom: 10px; }
.feat p { color: var(--ink2); font-size: 13px; margin: 0 0 14px; }
.feat .meta { font-size: 11.5px; color: #a9a49a; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 26px; }
.post { border: 1px solid var(--line); background: #fff; border-radius: 6px; overflow: hidden; }
.post a { display: block; color: inherit; }
.post .im { aspect-ratio: 16/10; overflow: hidden; }
.post .im img { width: 100%; height: 100%; object-fit: cover; }
.post .tag { display: block; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--green); padding: 12px 16px 0; }
.post h3 { font-size: 16px; line-height: 1.3; color: var(--green-dk); padding: 6px 16px 0; }
.post p { margin: 6px 0 0; padding: 0 16px; font-size: 12px; color: var(--ink2); }
.post .meta { font-size: 11px; color: #a9a49a; padding: 10px 16px 16px; }
.sub-band { background: var(--cream); border-top: 1px solid var(--line); padding: 30px 0; margin-top: 36px; }
.sub-band .in { display: flex; justify-content: space-between; gap: 24px; align-items: center; flex-wrap: wrap; }
.sub-band h2 { font-size: 22px; color: var(--green-dk); }
.sub-band p { margin: 6px 0 0; font-size: 12.5px; color: var(--ink2); }
.sub-band form { display: flex; }
.sub-band input { width: 260px; border: 1px solid var(--line); border-right: 0; padding: 11px 13px; font: inherit; font-size: 13px; background: #fff; }
.sub-band button { border: 1px solid var(--green); background: var(--green); color: #fff; padding: 0 18px; font: inherit; font-size: 13px; cursor: pointer; }

/* ---------- article ---------- */
.article { padding-bottom: 30px; }
.ahead { padding: 22px 0 18px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: end; }
.ahead h1 { font-size: 40px; line-height: 1.12; margin: 10px 0 12px; max-width: 24ch; }
.ahead .tag { display: inline-block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--green); border: 1px solid var(--line); padding: 3px 8px; border-radius: 2px; }
.ahead .lede { color: var(--ink2); font-size: 15px; max-width: 62ch; margin: 0; }
.byline { display: flex; align-items: center; gap: 12px; margin-top: 16px; font-size: 12.5px; color: var(--ink2); }
.byline .av img { width: 30px; height: 30px; border-radius: 999px; }
.keypoints { border: 1px solid var(--line); border-radius: 6px; padding: 18px 20px; background: var(--wash); }
.keypoints b { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink2); font-weight: 400; margin-bottom: 10px; }
.keypoints ol { margin: 0 0 12px; padding-left: 18px; font-size: 13px; line-height: 1.5; }
.keypoints .kpmeta { font-size: 11px; color: var(--ink2); border-top: 1px solid var(--line); padding-top: 10px; margin-bottom: 12px; }
.kpbtn { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 14px; border: 1px solid var(--green); color: var(--green-dk); font-size: 12.5px; }
.cover { margin: 22px 0 0; }
.cover .im { aspect-ratio: 16/9; overflow: hidden; border-radius: 4px; }
.cover .im img { width: 100%; height: 100%; object-fit: cover; }
.cover figcaption { font-size: 11.5px; color: var(--ink2); margin-top: 8px; }
.article .layout { display: grid; grid-template-columns: minmax(0, 760px) 250px; justify-content: space-between; gap: 56px; padding: 30px 0 10px; align-items: start; }
.article .body { font-size: 15.5px; line-height: 1.75; color: #232323; }
.article .body p { margin: 0 0 18px; }
.article .body h2 { font-size: 25px; color: var(--green-dk); margin: 34px 0 12px; }
.article .body h3 { font-size: 18px; color: var(--green-dk); margin: 24px 0 8px; }
.article .body ul, .article .body ol { margin: 0 0 18px; padding-left: 20px; }
.article .body li { margin: 7px 0; }
.article .body table { width: 100%; border-collapse: collapse; font-size: 13.5px; margin: 6px 0 22px; }
.article .body th { text-align: left; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink2); font-weight: 400; padding: 9px 8px; border-bottom: 1px solid var(--ink); }
.article .body td { padding: 10px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.article .body blockquote { margin: 26px 0; padding: 16px 20px; border-left: 3px solid var(--green); background: var(--wash); font-family: Georgia, serif; font-size: 17px; color: var(--green-dk); }
.article .body figure { margin: 26px 0; }
.article .body figure img { border-radius: 4px; }
.article .body figcaption { font-size: 11.5px; color: var(--ink2); margin-top: 8px; }
.article .body a { text-decoration: underline; }
.article .author { display: flex; gap: 14px; align-items: flex-start; border-top: 1px solid var(--line); margin-top: 34px; padding-top: 20px; }
.article .author .av img { width: 44px; height: 44px; border-radius: 999px; }
.article .author b { font: 400 15px Georgia, serif; color: var(--green-dk); display: block; }
.article .author p { margin: 4px 0 0; font-size: 12.5px; color: var(--ink2); }
.toc { position: sticky; top: 84px; border-top: 1px solid var(--ink); padding-top: 12px; font-size: 12.5px; }
.toc b { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink2); font-weight: 400; margin-bottom: 10px; }
.toc a { display: block; padding: 6px 0; color: var(--ink2); border-bottom: 1px solid var(--line); }
.toc a:hover { color: var(--green-dk); }
.toc .mini { margin-top: 18px; font-size: 11.5px; color: var(--ink2); line-height: 1.5; }
.related { border-top: 1px solid var(--line); margin-top: 34px; padding-top: 26px; }
.related h2 { font-size: 22px; color: var(--green-dk); margin-bottom: 16px; }
@media (max-width: 960px) {
	.feat, .ahead, .article .layout { grid-template-columns: 1fr; }
	.grid3 { grid-template-columns: 1fr; }
	.toc { position: static; }
	.ahead h1 { font-size: 30px; }
}

/* ---------- 通用页面 ---------- */
.page-single { padding-bottom: 40px; }
.page-head { padding: 16px 0 18px; border-bottom: 1px solid var(--line); }
.page-head h1 { font-size: 34px; }
.page-body { padding: 22px 0 0; }

/* ---------- 购物车 ---------- */
.woo-page .woocommerce { max-width: none; }
.cart-lay { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 44px; align-items: start; padding-top: 20px; }
.cart-main { min-width: 0; }
.cart-lay .rows-head, .cart-lay .row { display: grid; grid-template-columns: 84px minmax(0, 1.5fr) 110px 130px 110px 30px; gap: 14px; align-items: center; }
.cart-lay .rows-head { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink2); padding: 8px 0; border-bottom: 1px solid var(--ink); }
.cart-lay .row { padding: 16px 0; border-bottom: 1px solid var(--line); }
.cart-lay .row .im img { width: 100%; border: 1px solid var(--line); }
.cart-lay .row .nm a, .cart-lay .row .nm { font: 400 16px Georgia, serif; color: var(--green-dk); }
.cart-lay .row .meta { font: 400 11.5px/1.5 -apple-system, sans-serif; color: var(--ink2); margin-top: 4px; }
.cart-lay .row .warn { font-size: 11.5px; color: var(--clay); margin-top: 6px; }
.cart-lay .row .price { font-size: 13px; }
.cart-lay .row .price small { display: block; font-size: 10.5px; color: var(--ink2); }
.cart-lay .row .qty input { width: 72px; height: 36px; border: 1px solid var(--line); padding: 0 8px; font: inherit; font-size: 13px; }
.cart-lay .row .sub { font-size: 13.5px; }
.cart-lay .row .del a { color: #a9a49a; font-size: 18px; text-decoration: none; }
.cart-lay .row .del a:hover { color: var(--clay); }
.cart-actions { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; flex-wrap: wrap; }
.cart-actions .coupon, .cart-actions .update { display: flex; gap: 8px; align-items: center; }
.cart-actions input[type=text] { width: 180px; border: 1px solid var(--line); padding: 9px 11px; font: inherit; font-size: 13px; }
.cart-totals { border: 1px solid var(--ink); padding: 20px 22px; position: sticky; top: 84px; }
.cart-totals h2 { font-size: 18px; color: var(--green-dk); margin-bottom: 12px; }
.cart-totals .cart_totals h2 { display: none; }
.cart-totals table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cart-totals th, .cart-totals td { text-align: left; padding: 8px 0; border-bottom: 1px solid var(--line); }
.cart-totals .order-total th, .cart-totals .order-total td { border-bottom: 0; border-top: 1px solid var(--ink); padding-top: 12px; font-size: 15px; }
.cart-totals .checkout-button, .cart-totals .wc-proceed-to-checkout a { display: flex; align-items: center; justify-content: center; height: 42px; background: var(--green); color: #fff; border: 1px solid var(--green); margin-top: 14px; font-size: 13px; }
.cart-totals .btn { width: 100%; margin-top: 10px; }
.cart-totals .hint { font-size: 11.5px; color: var(--ink2); margin-top: 12px; line-height: 1.5; }
/* 空购物车 */
.cart-empty, .return-to-shop { font-size: 14px; color: var(--ink2); }

/* ---------- 结算 ---------- */
.woo-page form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 44px; align-items: start; }
.woo-page form.checkout #customer_details { min-width: 0; }
.woo-page form.checkout h3 { font: 400 19px Georgia, serif; color: var(--green-dk); margin: 0 0 10px; }
.woo-page .woocommerce-billing-fields__field-wrapper, .woo-page .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.woo-page .form-row { margin: 0; padding: 0; }
.woo-page .form-row label { font-size: 11.5px; color: var(--ink2); display: block; margin-bottom: 4px; }
.woo-page .form-row input.input-text, .woo-page .form-row select, .woo-page .form-row textarea { width: 100%; border: 1px solid var(--line); padding: 9px 11px; font: inherit; font-size: 13px; background: #fff; }
.woo-page #order_review_heading { font: 400 19px Georgia, serif; color: var(--green-dk); }
.woo-page #order_review { border: 1px solid var(--ink); padding: 18px 20px; }
.woo-page #order_review table.shop_table { width: 100%; border-collapse: collapse; font-size: 13px; }
.woo-page #order_review th, .woo-page #order_review td { padding: 8px 0; border-bottom: 1px solid var(--line); text-align: left; }
.woo-page .woocommerce-checkout-payment { background: none !important; margin-top: 14px; }
.woo-page .woocommerce-checkout-payment ul.payment_methods { list-style: none; margin: 0 0 12px; padding: 0; }
.woo-page .woocommerce-checkout-payment li { border: 1px solid var(--line); padding: 10px 12px; margin-bottom: 8px; }
.woo-page .woocommerce-checkout-payment li label { font-size: 13px; }
.woo-page #place_order { width: 100%; height: 42px; background: var(--green); border: 1px solid var(--green); color: #fff; font-size: 13px; cursor: pointer; border-radius: 0; }
.woo-page .woocommerce-terms-and-conditions-wrapper { font-size: 11.5px; color: var(--ink2); }

/* ---------- 下单成功 ---------- */
.thankyou { max-width: 860px; margin: 0 auto; padding-bottom: 40px; }
.thankyou .hero { padding: 30px 0 22px; border-bottom: 1px solid var(--line); }
.thankyou .tick { width: 44px; height: 44px; border-radius: 999px; background: var(--green); display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.thankyou .tick svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.thankyou h1 { font-size: 32px; margin-bottom: 8px; }
.thankyou .block { padding: 22px 0; border-bottom: 1px solid var(--line); border-top: 0; margin: 0; }
.thankyou .block h2 { font-size: 20px; color: var(--green-dk); margin-bottom: 12px; }
.thankyou .kv { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; padding: 7px 0; }
.thankyou .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.thankyou .step { border: 1px solid var(--line); padding: 14px 16px; }
.thankyou .step b { display: block; font: 400 15px Georgia, serif; color: var(--green-dk); margin-bottom: 4px; }
.thankyou .step span { font-size: 11.5px; color: var(--ink2); }
.thankyou .btns { display: flex; gap: 10px; flex-wrap: wrap; padding: 24px 0 0; }

/* ---------- 账户 ---------- */
.acc-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; padding: 16px 0 18px; border-bottom: 1px solid var(--line); }
.acc-head h1 { font-size: 34px; }
.acc-head .hi { font-size: 12.5px; color: var(--ink2); }
.acc-lay { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 44px; padding-top: 24px; align-items: start; }
.acc-nav { display: flex; flex-direction: column; border-top: 1px solid var(--ink); }
.acc-nav a { padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 13px; color: var(--ink2); }
.acc-nav a.is-active, .acc-nav a:hover { color: var(--green-dk); font-weight: 600; }
.acc-main h2 { font-size: 22px; color: var(--green-dk); margin-bottom: 12px; }
.acc-main .woocommerce-MyAccount-content p, .acc-main p { font-size: 13px; color: var(--ink2); }
.acc-main table.shop_table { width: 100%; border-collapse: collapse; font-size: 13px; }
.acc-main table.shop_table th { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink2); text-align: left; padding: 9px 0; border-bottom: 1px solid var(--ink); }
.acc-main table.shop_table td { padding: 10px 0; border-bottom: 1px solid var(--line); }
.acc-main .woocommerce-Button, .acc-main button.button, .acc-main .button { height: 42px; padding: 0 18px; background: var(--green); color: #fff; border: 1px solid var(--green); font-size: 13px; cursor: pointer; border-radius: 0; }
.acc-main fieldset { border: 0; padding: 0; margin: 0 0 18px; }
.acc-main label { font-size: 11.5px; color: var(--ink2); display: block; margin-bottom: 4px; }
.acc-main input.input-text, .acc-main select, .acc-main input[type=password], .acc-main input[type=email] { width: 100%; max-width: 420px; border: 1px solid var(--line); padding: 9px 11px; font: inherit; font-size: 13px; }
@media (max-width: 960px) {
	.cart-lay, .woo-page form.checkout, .acc-lay { grid-template-columns: 1fr; }
	.cart-lay .rows-head { display: none; }
	.cart-lay .row { grid-template-columns: 70px minmax(0, 1fr); }
	.thankyou .steps { grid-template-columns: 1fr; }
}

/* Woo 默认按钮/链接纠正 */
.cart-totals .wc-proceed-to-checkout a.checkout-button,
.cart-totals a.checkout-button {
	display: block; width: 100%; height: auto; min-height: 42px;
	padding: 12px 18px; background: var(--green) !important;
	border: 1px solid var(--green); color: #fff !important;
	font-size: 13px; line-height: 1.25; text-align: center; text-decoration: none;
	white-space: normal; border-radius: 0;
}
.cart-totals .wc-proceed-to-checkout a.checkout-button:hover { background: var(--green-dk) !important; border-color: var(--green-dk); }
.woo-page .woocommerce-message, .woo-page .woocommerce-info, .woo-page .woocommerce-error {
	background: var(--wash) !important; border: 1px solid var(--line) !important;
	border-top: 2px solid var(--green) !important; color: var(--ink) !important;
	font-size: 13px; padding: 14px 18px !important; border-radius: 0;
}
.woo-page .woocommerce-message .button, .woo-page .woocommerce-info .button { background: #fff; border: 1px solid var(--line); color: var(--ink); padding: 8px 14px; border-radius: 0; }
.woo-page a.button, .woo-page button.button, .woo-page input.button,
.woo-page #place_order, .woo-page .form-submit input,
.woo-page .woocommerce-Button { background: var(--green) !important; color: #fff !important; border: 1px solid var(--green) !important; border-radius: 0 !important; }
.woo-page a.button:hover, .woo-page button.button:hover { background: var(--green-dk) !important; }

/* 结账栅格修正：表单本身用 areas 排，不再直接对 form 做两列 */
.woo-page form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 380px;
	grid-template-areas: "cust head" "cust review";
	gap: 0 44px;
	align-items: start;
}
.woo-page #customer_details { grid-area: cust; min-width: 0; }
.woo-page #order_review_heading { grid-area: head; margin: 0 0 8px; }
.woo-page #order_review { grid-area: review; }
.woo-page .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woo-page .col2-set { display: grid; grid-template-columns: 1fr; gap: 20px; }
.woo-page .col2-set .col-1, .woo-page .col2-set .col-2 { float: none; width: 100%; }
.woo-page #ship-to-different-address { margin: 0 0 8px; font-size: 15px; }
.woo-page #ship-to-different-address label { font-size: 13px; display: inline-flex; gap: 8px; align-items: center; }
.woo-page .woocommerce-additional-fields h3 { margin-top: 18px; }
.woo-page .woocommerce-terms-and-conditions-wrapper { margin-bottom: 10px; }
.ywcf-login-hint { font-size: 12.5px; color: var(--ink2); margin: 0 0 14px; }
.ywcf-login-hint a { text-decoration: underline; }
@media (max-width: 960px) {
	.woo-page form.checkout { grid-template-columns: 1fr; grid-template-areas: "cust" "head" "review"; }
	.woo-page .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* ---------- 登录 / 注册 ---------- */
.login-lay { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); background: #fff; margin-top: 18px; }
.login-lay .col { padding: 34px 36px 38px; }
.login-lay .signin { border-right: 1px solid var(--line); }
.login-lay h1 { font-size: 30px; margin-bottom: 6px; }
.login-lay h2 { font-size: 24px; color: var(--green-dk); margin-bottom: 6px; }
.login-lay .sub { font-size: 12.5px; color: var(--ink2); margin: 0 0 18px; }
.login-lay .form-row { margin: 0 0 12px; padding: 0; }
.login-lay label { display: block; font-size: 11.5px; color: var(--ink2); margin-bottom: 4px; }
.login-lay .required { color: var(--clay); }
.login-lay .optional { color: #a9a49a; }
.login-lay input.input-text, .login-lay select.input-text { width: 100%; border: 1px solid var(--line); padding: 10px 12px; font: inherit; font-size: 13px; background: #fff; border-radius: 0; }
.login-lay .row-between { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.login-lay .checkbox { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ink2); margin: 0; }
.login-lay .lost { font-size: 12px; color: var(--green-dk); text-decoration: underline; }
.login-lay .btn { width: 100%; margin-top: 6px; }
.login-lay .guestnote, .login-lay .regnote { font-size: 11.5px; color: var(--ink2); line-height: 1.55; margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--line); }
.login-lay .form-row-first, .login-lay .form-row-last { width: 100%; float: none; }
@media (max-width: 900px) { .login-lay { grid-template-columns: 1fr; } .login-lay .signin { border-right: 0; border-bottom: 1px solid var(--line); } }

/* ---------- 账户概览 ---------- */
.dash-hi { font-size: 13px; color: var(--ink2); }
.dash-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 18px 0 24px; }
.dash-stats .st { border: 1px solid var(--line); border-radius: 6px; padding: 16px 18px; background: var(--wash); display: block; }
.dash-stats .st b { display: block; font: 400 26px Georgia, serif; color: var(--green-dk); }
.dash-stats .st span { display: block; font-size: 11.5px; color: var(--ink2); margin-top: 2px; }
.dash-stats .st:hover { border-color: var(--green); }
.dash-h { font-size: 18px; color: var(--green-dk); margin: 22px 0 8px; }
.acc-main .dash-more, .acc-main .dash-links { font-size: 12.5px; margin-top: 12px; }
.acc-main .dash-links a { margin-right: 18px; text-decoration: underline; }
.acc-main .dash-empty { font-size: 13px; color: var(--ink2); }
.acc-main table.shop_table td .btn.sm { height: 30px; padding: 0 12px; font-size: 11.5px; }
@media (max-width: 900px) { .dash-stats { grid-template-columns: 1fr 1fr; } }

/* 覆盖 Woo 默认 .form-row-first/.form-row-last 浮动（注册栏字段竖排） */
.woocommerce .login-lay form .form-row-first,
.woocommerce .login-lay form .form-row-last,
.login-lay form .form-row-first,
.login-lay form .form-row-last { float: none !important; width: 100% !important; clear: both; }
.login-lay form .form-row { display: block; }

/* ---------- About / Solutions / Payment / Contact ---------- */
.s-k { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--green); margin-bottom: 6px; }
.s-card-body { padding: 20px 22px 22px; }
.s-card-body b { display: block; font: 400 18px Georgia, serif; color: var(--green-dk); margin-bottom: 6px; }
.s-card-body p { font-size: 12.5px; color: var(--ink2); margin: 0 0 10px; }
.s-card-body ul { margin: 0 0 14px; padding-left: 16px; font-size: 12.5px; color: var(--ink2); }
.s-card-body li { margin: 4px 0; }
.pay2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.paycard { border: 1px solid var(--line); border-radius: 6px; padding: 24px 26px; background: #fff; }
.paycard .k { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--green); margin-bottom: 6px; }
.paycard h2 { font-size: 24px; color: var(--green-dk); margin-bottom: 10px; }
.paycard ul { margin: 0 0 16px; padding-left: 16px; font-size: 13px; color: var(--ink2); }
.paycard li { margin: 6px 0; }
.timelines { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.timelines h2 { font-size: 22px; color: var(--green-dk); margin-bottom: 14px; }
ol.tl { list-style: none; margin: 0; padding: 0; }
ol.tl li { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
ol.tl b { font: 400 13px Georgia, serif; color: var(--green); min-width: 22px; }
ol.tl span { display: block; font-size: 13.5px; font-weight: 600; }
ol.tl p { margin: 3px 0 0; font-size: 12px; color: var(--ink2); }
.contact-lay { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px; align-items: start; }
.contact-cards { display: grid; gap: 14px; }
.ccard { border: 1px solid var(--line); border-radius: 6px; padding: 16px 18px; background: var(--wash); }
.ccard .k { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink2); margin-bottom: 4px; }
.ccard .v { font: 400 16px Georgia, serif; color: var(--green-dk); }
.ccard p { margin: 6px 0 0; font-size: 11.5px; color: var(--ink2); }
@media (max-width: 960px) { .pay2, .timelines, .contact-lay { grid-template-columns: 1fr; } }

/* ---------- 语言切换（header） ---------- */
.header .right .lang, .lang { display: inline-flex; align-items: center; gap: 6px; position: relative; font-size: 11.5px; color: var(--ink2); letter-spacing: .04em; }
.lang .lang-mark { font-size: 11px; color: var(--ink2); }
.lang .lang-cur { text-transform: uppercase; }
.lang select {
	appearance: none; -webkit-appearance: none;
	border: 0; background: transparent; font: inherit; font-size: 11.5px;
	color: var(--ink2); text-transform: uppercase; letter-spacing: .04em;
	cursor: pointer; padding: 4px 2px; max-width: 96px;
}
.lang select:focus { outline: 1px solid var(--green); outline-offset: 2px; }
.lang::after { content: "▾"; font-size: 9px; color: var(--ink2); margin-left: -2px; pointer-events: none; }
.ywcf-langswitch-select { display: inline-flex; align-items: center; margin: 0; }
.ywcf-langswitch-select .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* 阶梯价（商品页） */
.qpricing .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:10px}
.qpricing .tier{background:#fff;padding:14px 16px}
.qpricing .tier span{display:block;font-size:11.5px;color:var(--ink2)}
.qpricing .tier b{font:400 20px Georgia,serif;color:var(--green-dk)}
@media (max-width:640px){.qpricing .tiers{grid-template-columns:1fr}}

/* 目录页 v2：真实分类树 + 表格行 */
.catalog .cat-lay{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;align-items:start;padding:4px 0 36px}
.catalog .facets{border-top:0;padding-top:0}
.catalog .facets .grp{margin:0 0 20px}
.catalog .facets h2{font:400 10.5px/1.4 inherit;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin:0 0 8px}
.catalog .facets ul{list-style:none;margin:0;padding:0}
.catalog .facets li a{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:12.5px;color:var(--ink2)}
.catalog .facets li a:hover{color:var(--green-dk)}
.catalog .facets li.active > a{color:var(--green-dk);font-weight:600}
.catalog .facets .tree > li > a{color:var(--ink)}
.catalog .facets .tree ul{padding-left:16px}
.catalog .facets .tree ul li a{font-size:12px}
.catalog .facets .ct{color:#a9a49a;font-size:11.5px}
.catalog .cat-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:2px 0 12px}
.catalog .cat-bar .n{font-size:13px}
.catalog .cat-bar .n b{font:400 18px Georgia,serif;color:var(--green-dk);margin-right:4px}
.cat-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cat-table thead th{font:400 10.5px/1.4 inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--ink);white-space:nowrap}
.cat-table thead th:nth-child(1){width:84px}
.cat-table thead th:nth-child(3){width:100px}
.cat-table thead th:nth-child(4){width:80px}
.cat-table thead th:nth-child(5){width:70px}
.cat-table thead th:nth-child(6){width:96px}
.cat-table thead th:nth-child(7){width:152px}
/* 分隔线画在 tr 上而不是每个 td 上：避免最后一列（按钮）那格因高度不同把线画错位 */
.cat-table td{padding:14px 10px 14px 0;border-bottom:0;vertical-align:middle;font-size:13px}
.cat-table tbody tr{border-bottom:1px solid var(--line)}
.cat-table tbody tr:last-child{border-bottom:0}
.cat-table td:nth-child(3),.cat-table td:nth-child(4),.cat-table td:nth-child(5){white-space:nowrap;font-size:12.5px;color:var(--ink2)}
.cat-table .thumb{display:block;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);background:#f1ede6}
.cat-table .thumb img{width:100%;height:100%;object-fit:cover}
.cat-table .nm{font:400 16px/1.3 Georgia,serif;color:var(--green-dk)}
.cat-table .meta{font-size:11.5px;color:var(--ink2);margin-top:4px;line-height:1.5}
.cat-table .price{font-size:13px;white-space:nowrap}
/* 注意：td 不能设 display:flex —— 会让单元格脱离表格行，按钮掉到行线下面（2026-11-01 修） */
.cat-table .act{text-align:right;white-space:nowrap;padding-right:0}
.cat-table .act .btn{height:32px;padding:0 12px;display:inline-block}
.catalog .cat-help{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 0;font-size:12px;color:var(--ink2)}
.catalog .cat-empty{padding:30px 0;color:var(--ink2)}
.catalog .cat-pager{padding-top:18px}
@media (max-width:960px){.catalog .cat-lay{grid-template-columns:1fr}.cat-table thead th:nth-child(3),.cat-table thead th:nth-child(4){display:none}.cat-table td:nth-child(3),.cat-table td:nth-child(4){display:none}}

/* 商品页选配（chips 平铺 + 步进器）与主图放大镜 */
.gal .im{position:relative;overflow:hidden}
.gal .im .lens{position:absolute;width:150px;height:150px;border:1px solid #fff;border-radius:50%;
  box-shadow:0 0 0 1px rgba(0,0,0,.35);background-repeat:no-repeat;display:none;pointer-events:none;z-index:2}
.choose .attr{margin:0 0 16px}
.choose .attr-h{display:flex;gap:10px;align-items:baseline;margin:0 0 8px}
.choose .attr-name{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.choose .attr-hint{font-size:11px;color:#a9a49a}
.choose .chips{display:flex;flex-wrap:wrap;gap:8px}
.choose .chip{border:1px solid var(--line);background:#fff;padding:7px 12px;font-size:12.5px;color:var(--ink2);cursor:pointer;font-family:inherit}
.choose .chip:hover{border-color:var(--green-dk);color:var(--green-dk)}
.choose .chip.on{border-color:var(--green-dk);background:#f2f7f4;color:var(--green-dk);font-weight:600}
.choose .addrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}
.choose .stepper{display:inline-flex;align-items:center;border:1px solid var(--line)}
.choose .stepper .step{width:34px;height:38px;border:0;background:#fff;font-size:16px;line-height:1;cursor:pointer;color:var(--ink)}
.choose .stepper input{width:66px;height:38px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);
  text-align:center;font:inherit;font-size:14px;-moz-appearance:textfield}
.choose .stepper input::-webkit-outer-spin-button,.choose .stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.choose #ywcf-add:disabled{opacity:.45;cursor:not-allowed}
.choose .note2{color:var(--ink2)}

/* OEM 向导第 1 步：分段款式标签 + 尺寸网格 + 预览图 */
.segbig{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 22px}
.segbig button{height:52px;border:0;background:#faf8f4;color:var(--ink2);font:inherit;font-size:14px;cursor:pointer}
.segbig button.on{background:#5d8f7f;color:#fff}
.size2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.sizecard{background:var(--wash,#faf8f4);border:1px solid var(--line);padding:18px}
.sizegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sizegrid .sizesel{height:46px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
.sizegrid .sizesel:hover{border-color:var(--green-dk)}
.sizegrid .sizesel.on{border-color:var(--green-dk);background:#f2f7f4;color:var(--green-dk);font-weight:600}
.sizeinput{width:100%;height:44px;margin-top:10px;border:1px solid var(--line);background:#fff;padding:0 12px;font:inherit;font-size:13px}
.sizepic .im{border:1px solid var(--line);background:#f1ede6;aspect-ratio:1;overflow:hidden}
.sizepic .im img{width:100%;height:100%;object-fit:cover;display:block}
.sizepic .im-empty{width:100%;height:100%;min-height:280px;background:repeating-linear-gradient(45deg,#f1ede6,#f1ede6 10px,#e9e3d9 10px,#e9e3d9 20px)}
.note2.center{text-align:center}
/* 汇总屏上传 */
.uploads{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 4px}
.uploads .up{display:block;border:1px dashed #c9c2b6;background:#fff;padding:14px;cursor:pointer;position:relative}
.uploads .up:hover{border-color:var(--green-dk)}
.uploads .up input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.uploads .up span{display:block;font-size:12.5px;color:var(--ink)}
.uploads .up em{display:block;font-style:normal;font-size:11.5px;color:var(--ink2);margin-top:4px}
@media (max-width:860px){.size2col,.uploads{grid-template-columns:1fr}}

/* 目录页：分类多选勾选标记 + 行内 View 降级为文字链 */
.catalog .facets .tree .cb{width:13px;height:13px;border:1px solid #b9b3a8;display:inline-block;flex:0 0 13px;position:relative;background:#fff}
.catalog .facets .tree .cb.on{border-color:var(--green-dk);background:var(--green-dk)}
.catalog .facets .tree .cb.on::after{content:"";position:absolute;left:3px;top:0px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.catalog .facets .tree li a{display:flex;align-items:center;gap:8px}
.catalog .facets .tree li a .nm{flex:1}
.cat-table .act{display:flex;align-items:center;gap:14px;justify-content:flex-end}
.cat-table .act .vlink{font-size:12.5px;color:var(--ink2);text-decoration:underline;text-underline-offset:2px}
.cat-table .act .vlink:hover{color:var(--green-dk)}

/* OEM 向导：对齐 mockups/v6/wizard.html —— 进度条 / 卡片网格 / 底部条 / 气泡 */
.oem-wizard{padding-bottom:96px}
.prog-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:10px 0}
.prog{display:flex;gap:0;flex:1;overflow-x:auto}
.prog .pstep{display:flex;align-items:center;gap:7px;font-size:12px;color:#a9a49a;padding:6px 14px 6px 0;cursor:pointer;white-space:nowrap}
.prog .pstep b{width:20px;height:20px;border:1px solid #c9c2b6;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:400 11px/1 inherit;color:#8d8880}
.prog .pstep.on{color:var(--ink)}
.prog .pstep.on b{border-color:var(--ink);color:var(--ink)}
.prog .pstep.done b{background:var(--green-dk);border-color:var(--green-dk);color:#fff}
.viewsum{font-size:12px;color:var(--green-dk);text-decoration:underline;white-space:nowrap}
.optgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin:6px 0 4px}
.optgrid .opt{display:block;text-align:left;border:1px solid var(--line);background:#fff;padding:0 0 10px;cursor:pointer;font:inherit}
.optgrid .opt .op{display:block;aspect-ratio:4/3;overflow:hidden;background:#f1ede6}
.optgrid .opt .op img{width:100%;height:100%;object-fit:cover;display:block}
.optgrid .opt b{display:block;font:400 14px/1.3 Georgia,serif;color:var(--ink);padding:8px 10px 0}
.optgrid .opt .od{display:block;font-size:11.5px;color:var(--ink2);padding:2px 10px 0}
.optgrid .opt:hover{border-color:var(--green-dk)}
.optgrid .opt.on{border-color:var(--green-dk);box-shadow:inset 0 0 0 1px var(--green-dk)}
.shipgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:6px 0 4px}
.shipgrid .shipcard{display:block;text-align:left;border:1px solid var(--line);background:#fff;padding:14px;cursor:pointer;font:inherit}
.shipgrid .sic{display:inline-flex;width:30px;height:30px;color:var(--green-dk)}
.shipgrid .sic svg{width:100%;height:100%}
.shipgrid .shipcard b{display:block;font:400 14.5px/1.3 Georgia,serif;margin:8px 0 3px;color:var(--ink)}
.shipgrid .shipcard .od{display:block;font-size:12px;color:var(--ink2);line-height:1.5}
.shipgrid .shipcard .om{display:block;font-size:11px;color:#8d8880;margin-top:6px}
.shipgrid .shipcard:hover{border-color:var(--green-dk)}
.shipgrid .shipcard.on{border-color:var(--green-dk);box-shadow:inset 0 0 0 1px var(--green-dk)}
.oem-wizard .step{padding-top:22px}
.oem-wizard .step .kick{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#a9a49a;margin-bottom:6px}
.oem-wizard .step h2{font:400 26px/1.2 Georgia,serif;color:var(--green-dk);margin:0 0 4px}
.oem-wizard .step .sub{color:var(--ink2);font-size:12.5px;margin:0 0 14px}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:9998;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(0,0,0,.06)}
.bar .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;max-width:1200px;margin:0 auto;font-size:12.5px;color:var(--ink2)}
.bar .bprog b{color:var(--green-dk);font:400 15px Georgia,serif}
.bar .bpeek{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8d8880}
.bar .bacts{display:flex;align-items:center;gap:10px}
.bar .skip{border:0;background:none;color:var(--ink2);font:inherit;font-size:12.5px;text-decoration:underline;cursor:pointer}
.bar .btn{height:36px}
.bubble{position:fixed;right:20px;bottom:78px;z-index:9997;width:52px;height:52px;border-radius:50%;border:0;background:var(--green-dk);color:#fff;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.bubble svg{width:24px;height:24px}
.bubble .n{position:absolute;top:-4px;right:-4px;background:#c9752f;color:#fff;font-size:11px;border-radius:10px;padding:1px 6px}
.uploads .up{padding:14px;display:block}
.uploads .up label{display:block;font-size:12.5px;color:var(--ink);margin-bottom:6px}
.uploads .up input[type=file]{width:100%;font-size:12px;border:1px solid var(--line);padding:6px;background:#fff}
.uploads .uphint{display:block;font-size:11px;color:#8d8880;margin-top:4px}
.uploads .up em{display:block;font-style:normal;font-size:11.5px;color:var(--green-dk);margin-top:4px}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink2);margin:10px 0}
.copybtn{margin-top:8px}
@media (max-width:700px){.bar .bpeek{display:none}.oem-wizard{padding-bottom:120px}}

/* —— 对齐 mockups/v6/wizard.html 的取值（覆盖上面第一版样式） —— */
.oem-wizard{--teal:#5d8f7f}
.oem-wizard .segbig{display:flex;border:0;border-bottom:1px solid var(--line);background:none;margin:0 0 26px;gap:0}
.oem-wizard .segbig button{flex:1;border:0;background:#f2f1ed;padding:18px 12px;font:inherit;font-size:15px;color:#3a3732;cursor:pointer;border-radius:0}
.oem-wizard .segbig button:first-child{border-radius:4px 0 0 0}
.oem-wizard .segbig button:last-child{border-radius:0 4px 0 0}
.oem-wizard .segbig button.on{background:var(--teal);color:#fff;font-weight:600}
.oem-wizard .sizecard{background:#f6f5f2;border:1px solid #eae7df;border-radius:6px;padding:26px}
.oem-wizard .sizegrid{gap:12px}
.oem-wizard .sizegrid .sizesel{border-radius:4px;padding:13px 10px;text-align:left;font-size:13.5px}
.oem-wizard .optgrid{grid-template-columns:repeat(4,1fr);gap:14px}
.oem-wizard .optgrid .opt{border-radius:6px;overflow:hidden;padding:0;position:relative}
.oem-wizard .optgrid .opt .op{aspect-ratio:4/3}
.oem-wizard .optgrid .opt b{padding:10px 12px 0;color:var(--green-dk)}
.oem-wizard .optgrid .opt .od{padding:2px 12px 12px}
.oem-wizard .optgrid .opt.on{box-shadow:inset 0 0 0 2px var(--green)}
.oem-wizard .optgrid .opt.on::after{content:"✓";position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.oem-wizard .shipgrid{grid-template-columns:repeat(3,1fr);gap:14px}
.oem-wizard .shipgrid .shipcard{border-radius:6px;padding:16px;position:relative}
.oem-wizard .shipgrid .sic{width:34px;height:34px;margin-bottom:10px}
.oem-wizard .shipgrid .shipcard.on{outline:2px solid var(--green);outline-offset:-1px}
.oem-wizard .shipgrid .shipcard.on::after{content:"✓";position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.oem-wizard .chips .chip{border-radius:3px}
@media (max-width:960px){.oem-wizard .optgrid{grid-template-columns:repeat(2,1fr)}.oem-wizard .shipgrid{grid-template-columns:1fr}}

/* 底部固定条 / 气泡：给 Cookie 弹窗让位 */
:root{--consent-h:0px}
.bar{bottom:var(--consent-h,0px)}
.bubble{bottom:calc(78px + var(--consent-h,0px))}

/* 汇总屏：同意勾选行位置修正（复选框固定尺寸 + 与文字同一行） */
.oem-wizard .form .chk{display:flex;align-items:center;gap:10px;margin:14px 0 10px;font-size:12.5px;color:var(--ink2);line-height:1.5}
.oem-wizard .form .chk input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:#1f5d42}
.oem-wizard .form .chk span{flex:1;min-width:0}
/* 底部条在第 8 步只保留返回 + 摘要，不再出现第二个发送按钮 */
.oem-wizard .bar .bacts{gap:10px}

/* 第 1 步三处修正：进度条单线、去掉多余空条、气泡不被底部条遮住 */
.oem-wizard .prog-row{border-bottom:1px solid var(--line);padding:6px 0 8px;align-items:center}
.oem-wizard .prog{overflow:visible;flex-wrap:wrap;min-height:0}
.oem-wizard .segbig{border-bottom:0;margin:18px 0 22px}
.oem-wizard .bubble{z-index:10000;bottom:calc(84px + var(--consent-h,0px));right:24px}

/* 向导页：让 WhatsApp 悬浮按钮与选择气泡都避开底部固定条 */
body:has(.oem-wizard) .wa-fab{bottom:calc(92px + var(--consent-h,0px));z-index:10001}
body:has(.oem-wizard) .bubble{bottom:calc(164px + var(--consent-h,0px));z-index:10000}

/* 路线条只保留一条分隔线（旧规则 .oem-wizard .prog 自带 border-bottom 与之重复） */
.oem-wizard .prog{border-bottom:0;padding:0}

/* 首页 OEM 服务区：按钮居中并放大 1.5 倍 */
.cta-center{text-align:center;margin:22px 0 6px}
.btn.big{height:54px;padding:0 34px;font-size:15.5px;border-radius:2px}
.oem-lay .cta-center{grid-column:1/-1}

/* 目录筛选：多选勾选 + 无结果选项禁用 */
.catalog .facets li.dis .off{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12.5px;color:#c3bdb2;cursor:not-allowed}
.catalog .facets li.dis .off .nm{flex:1;text-decoration:line-through}
.catalog .facets li.dis .off .cb{border-color:#ddd8cf;background:#f7f5f1}
/* 勾选框：所有筛选组（分类/尺寸/颜色）统一可见 —— 之前只给 .tree 写了边框，尺寸与颜色组是空 span 看不见 */
.catalog .facets li a .cb,
.catalog .facets li .off .cb{width:13px;height:13px;flex:0 0 13px;border:1px solid #b9b3a8;display:inline-block;position:relative;background:#fff}
.catalog .facets li a .cb.on{border-color:var(--green-dk);background:var(--green-dk)}
.catalog .facets li a .cb.on::after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.catalog .facets li.dis .off .ct{color:#cfc9c0}

/* 首页 OEM 区按钮：相对整段（整页宽）水平居中，而不是在左栏内居中 */
.sec .wrap > .cta-center{text-align:center;margin:26px 0 4px}

/* 表单自校验：不合格字段描红（不依赖浏览器原生提示，因为原生提示跟浏览器语言走） */
.form input.bad,.form textarea.bad{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
#formMsg.err,.formnote.err{color:#b3261e}
.formnote.ok{color:#1f5d42}

/* 同意勾选未打勾：整行描红 + 行下红字 */
.chk.bad{outline:2px solid #b3261e;outline-offset:4px;background:#fdf2f1}
.chk.bad span{color:#b3261e}
.ferr{display:block;margin:6px 0 2px;color:#b3261e;font-size:13px;font-style:normal;font-weight:600}
.ferr[hidden]{display:none}   /* 作者样式 display:block 会盖住 [hidden]，必须显式还原 */

/* OEM 询盘提交成功面板 */
.inq-done{border:1px solid #1f5d42;background:#f6faf7;padding:26px 24px;margin-top:10px;border-radius:2px}
.inq-done .ok{width:44px;height:44px;border-radius:50%;background:#1f5d42;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px}
.inq-done h3{margin:0 0 6px;font-family:Georgia,serif;font-weight:400;font-size:24px}
.inq-done .ref{color:#55524c;font-size:13.5px;margin:0 0 10px}
.inq-done ol.next{margin:12px 0 18px 18px;color:#3b3935;font-size:14px;line-height:1.75}
.inq-done .lk{display:flex;gap:10px;flex-wrap:wrap;margin:0}

/* ============ 目录页移动端 ============ */
/* 筛选行统一三栏：勾选框 / 名称（占满）/ 计数（右） —— 修掉窄屏下名称被挤到右边的问题 */
.catalog .facets li a,
.catalog .facets li .off{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 0;font-size:13px}
.catalog .facets li a .nm,
.catalog .facets li .off .nm{flex:1;min-width:0;text-align:left}
.catalog .facets li a .ct,
.catalog .facets li .off .ct{flex:0 0 auto;text-align:right}

/* 筛选开关：仅移动端显示 */
.catalog .facets-toggle{display:none;width:100%;align-items:center;gap:8px;margin:4px 0 10px;
  padding:11px 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:13.5px;cursor:pointer}
.catalog .facets-toggle .cnt{margin-left:auto;color:var(--ink2);font-size:12.5px}
.catalog .facets-toggle .arrow{font-size:11px;transition:transform .15s}
.catalog .facets-toggle[aria-expanded="true"] .arrow{transform:rotate(180deg)}

@media (max-width:820px){
  .catalog .cat-lay{grid-template-columns:1fr;gap:0;padding-bottom:24px}
  .catalog .facets-toggle{display:flex}
  .catalog .facets{display:none;padding:12px 0 4px;border-top:1px solid var(--line)}
  .catalog .facets.open{display:block}
  .catalog .cat-bar{flex-wrap:wrap;gap:10px;padding:0 0 10px}
  .catalog .cat-bar .n{font-size:12.5px}
  .catalog .cat-bar .woocommerce-ordering{margin-left:auto}

  /* 表格 → 卡片：每款一块，图在左、信息在右 */
  .cat-table,.cat-table tbody,.cat-table tr,.cat-table td{display:block}
  .cat-table thead{display:none}
  .cat-table tr{display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:14px;row-gap:6px;
    padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
  .cat-table td{padding:0;border:0;width:auto!important}
  .cat-table td.cell-img{grid-column:1;grid-row:1 / span 3;margin:0}
  .cat-table td:nth-child(2){grid-column:2;grid-row:1}
  .cat-table td:nth-child(3){grid-column:2;grid-row:2;font-size:12px;color:var(--ink2);white-space:normal}
  .cat-table td:nth-child(4),.cat-table td:nth-child(5){display:none}
  .cat-table td.price{grid-column:2;grid-row:3;font-size:14.5px}
  .cat-table td.act{grid-column:2;grid-row:4;text-align:left;padding-top:4px}
  .cat-table .nm{font-size:15px;line-height:1.32}
  .cat-table .meta{font-size:11.5px;margin-top:3px}
}
@media (max-width:420px){
  .cat-table tr{grid-template-columns:74px minmax(0,1fr);column-gap:12px}
}

/* 移动端：价格与按钮同一行（按钮绝对定位到卡片右下），卡片留出悬浮按钮空间 */
@media (max-width:820px){
  .cat-table tr{position:relative}
  .cat-table td.price{grid-column:2;grid-row:3;padding-right:86px}
  .cat-table td.act{position:absolute;right:0;bottom:12px;padding:0}
  .catalog{padding-bottom:96px}

  /* 顶栏在窄屏只留一句主张，联系方式交给页脚，避免挤成三行 */
  .topbar .in > span:last-child{display:none}
  .topbar .in{justify-content:center;text-align:center}
}
@media (max-width:420px){
  .brand small{display:none}
  .site-header .hd{gap:12px}
}

/* B 方案按钮状态：三个同级描边按钮 —— 悬停/按下/键盘聚焦/禁用 */
.btn{transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out,transform .08s ease-out}
.btn:hover{background:#eaf1ec;border-color:#1f5d42;color:#123c2b}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid #1f5d42;outline-offset:2px}
.btn[aria-disabled="true"],.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#fff;border-color:var(--line);color:var(--ink2)}
.btn.fill:hover{background:#174a35;border-color:#174a35;color:#fff}
@media (max-width:480px){
  .cta{display:grid;gap:8px}
  .cta .btn{width:100%}
}
/* hover 跟随 */
.cta .btn.is-active{background:var(--green);border-color:var(--green);color:#fff}
.cta:hover .btn.is-active:not(:hover){background:#fff;border-color:var(--ink);color:var(--ink)}
.cta .btn:hover{background:var(--green);border-color:var(--green);color:#fff}

/* hero 下方分隔线：只到内容宽度，不再通栏长出去 */
.oem-hero{border-bottom:0}
.oem-hero-grid{border-bottom:1px solid var(--line);padding-bottom:22px}
/* 高亮跟随组（单选）—— 规范见 docs/handoffs/H-0012 */
.hl{display:flex;gap:10px;flex-wrap:wrap}
.hl-item{background:#fff;border:1px solid var(--ink);color:var(--ink);cursor:pointer;font:inherit;
  transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out,transform .08s ease-out}
.hl-item.is-active{background:var(--green);border-color:var(--green);color:#fff}
.hl-item:active{transform:translateY(1px)}
.hl-item:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.hl-item[aria-disabled="true"],.hl-item:disabled{opacity:.5;cursor:not-allowed}
@media (hover:hover){
  .hl .hl-item:hover{background:var(--green);border-color:var(--green);color:#fff}
  .hl:hover .hl-item.is-active:not(:hover){background:#fff;border-color:var(--ink);color:var(--ink)}
}
@media (prefers-reduced-motion:reduce){
  .hl-item{transition:none}
}
/* 去线：topbar 下与 hero 下的分隔线（header 保留，sticky 需要） */
.topbar{border-bottom:0}
.oem-hero-grid{border-bottom:0;padding-bottom:0}

/* A：单选组实底 —— 版型（文本按钮）与商品页尺码 chips */
.segbig button.on{background:var(--green);color:#fff}
.single-product .chips .chip.on{background:var(--green);border-color:var(--green);color:#fff}
@media (hover:hover){
  .segbig button:hover{background:var(--green);color:#fff}
  .segbig:hover button.on:not(:hover){background:#faf8f4;color:var(--ink2)}
  .single-product .chips .chip:hover{background:var(--green);border-color:var(--green);color:#fff}
  .single-product .chips:hover .chip.on:not(:hover){background:#fff;border-color:var(--line);color:var(--ink)}
}

/* A：图片卡片单选组（包边/包装/运输）—— 不实底，只把选中环加粗到 2px */
.optgrid[data-multi="0"] .opt.on,
.shipgrid[data-multi="0"] .shipcard.on{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.optgrid[data-multi="0"] .opt.on b,
.shipgrid[data-multi="0"] .shipcard.on b{color:var(--green-dk)}
/* 去装饰线（通栏 section 分隔线一律不要，只保留页头与内容内的行线） */
.sec{border-bottom:0;padding:52px 0}
.hero{border-bottom:0}
.stats{border-bottom:0}
.cta-band{border-bottom:0}

/* 表格行线：让首列也有线，整行连续 */
table.route tbody th{border-bottom:1px solid var(--line);padding-bottom:10px;vertical-align:top}
.thankyou .hero{border-bottom:0}

/* header 去掉实线，改用极浅投影保持 sticky 分隔 */
.site-header{border-bottom:0;box-shadow:0 1px 2px rgba(0,0,0,.06)}

/* 购物车：缺字形图标隐藏（WooCommerce icon font 在本机没有该字形，会显示豆腐块） */
.woocommerce-shipping-calculator-button svg,
.woocommerce-shipping-calculator-button img,
.woocommerce-shipping-calculator-button .wc-shipping-calculator-icon{display:none}
.cart-lay .row{align-items:center}
.cart-lay > *{align-self:start}
/* 购物车 Change address 后的伪元素图标（WooCommerce icon font 缺字形） */
.woocommerce-shipping-calculator-button::before,.woocommerce-shipping-calculator-button::after{content:none}

/* 购物车/结账里按钮的图标字形（WooCommerce icon font 缺字形显示成黑块） */
.cart-totals .button::before,.cart-totals .button::after{content:none}
.cart-totals .button svg{display:none}

/* Woo 默认把 .cart_totals 右浮 48%，导致汇总表缩成右侧一个窄框；这里拉回整宽 */
.cart-totals .cart-collaterals,
.cart-totals .cart_totals{float:none;width:100%;margin:0;padding:0}
.cart-totals table.shop_table{border:0;margin:0}
.cart-totals table.shop_table th:first-child,
.cart-totals table.shop_table td:first-child{padding-left:0}
.cart-totals table.shop_table th:last-child,
.cart-totals table.shop_table td:last-child{padding-right:0;text-align:right}
/* “Change address / Calculate shipping” 的图标字形（icon font 缺字形 → 黑块） */
.shipping-calculator-button::before,
.shipping-calculator-button::after{content:none!important;display:none!important}
.shipping-calculator-button svg{display:none}
/* Change address 按钮里的字形图标（内联元素，不是伪元素）直接隐藏子节点 */
.shipping-calculator-button > *{display:none!important}
/* 运费行左对齐，金额行右对齐 */
.cart-totals .shipping td,
.cart-totals .woocommerce-shipping-destination,
.cart-totals .woocommerce-shipping-calculator{text-align:left}
.cart-totals .cart-subtotal td,
.cart-totals .order-total td{text-align:right}
/* 强制拉回整宽：Woo 的 .cart-collaterals .cart_totals 是给“交叉销售”留左半边用的，
   本站没有交叉销售，左半边就是空的，所以必须覆盖掉 */
.cart-totals .cart-collaterals,
.cart-totals .cart_totals{float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.cart-totals .cart_totals table{float:none!important;width:100%!important;margin:0!important}
.cart-totals .cart_totals table th{width:auto!important;text-align:left}
.cart-totals .cart_totals table td{text-align:right}
/* 隐藏购物车里的运费计算器与“Shipping to XX”（A6：地址定金后确认） */
.cart-totals .woocommerce-shipping-destination,
.cart-totals .woocommerce-shipping-calculator,
.cart-totals .shipping .woocommerce-shipping-destination{display:none}
/* 选品单已合并进购物车：隐藏商品页入口 */
.sel-add{display:none!important}

/* 购物车规格行：Woo 的 dl.variation 默认是块级 dt/dd，这里改成同行紧凑显示 */
.cart-lay .row dl.variation{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 0;font-size:12.5px;color:var(--ink2)}
.cart-lay .row dl.variation dt{margin:0;font-weight:400}
.cart-lay .row dl.variation dd{margin:0}
.cart-lay .row dl.variation p{margin:0}

/* 询价确认层 */
.ywcf-inq-modal{position:fixed;inset:0;background:rgba(16,16,16,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.ywcf-inq-modal .box{background:#fff;max-width:620px;width:100%;padding:26px 26px 22px;box-shadow:0 10px 40px rgba(0,0,0,.2)}
.ywcf-inq-modal h3{font:400 22px/1.3 Georgia,serif;color:var(--green-dk);margin:0 0 6px}
/* 结账页规格与优惠券 */
.woocommerce-checkout dl.variation{display:flex;flex-wrap:wrap;gap:2px 10px;margin:4px 0 0;font-size:12px;color:var(--ink2)}
.woocommerce-checkout dl.variation dt,
.woocommerce-checkout dl.variation dd{margin:0}
.woocommerce-checkout dl.variation p{margin:0}
.woocommerce-form-coupon-toggle .woocommerce-info{background:none;border:0;padding:0;margin:0 0 14px;font-size:13px;color:var(--ink2)}
.woocommerce-form-coupon-toggle .woocommerce-info::before{display:none}
.checkout_coupon{background:#faf8f4;border:1px solid var(--line);padding:14px}
/* 首页统计条与 hero 的间距（去掉分隔线后需要留白补回层次） */
.oem-hero + .stats,
.hero + .stats{margin-top:44px;padding:34px 0 38px}
.stats-grid > div{padding:6px 0}
/* stats-align: keep the four numbers on one baseline, labels same height */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:start}
.stats-grid > div{display:flex;flex-direction:column;justify-content:flex-start;gap:4px;padding:6px 0}
.stats-grid strong,.stats-grid .n,.stats-grid .num{display:block;font-size:34px;line-height:1.05;font-variant-numeric:tabular-nums}
.stats-grid span,.stats-grid .lbl,.stats-grid small{display:block;font-size:12px;line-height:1.4;color:var(--ink2);min-height:34px}
@media (max-width:820px){.stats-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}}
/* stats-center: no dividers, numbers centred above their labels */
.stats-grid > div{border-left:0!important;border-right:0!important;text-align:center;align-items:center}
.stats-grid > div::before,.stats-grid > div::after{display:none!important}