/* ============================================================
   YuChen Mirror v3 — 前台样式
   ------------------------------------------------------------
   风格：暗色 + 金色高端（沿用原包识别度，重排为可维护的分层结构）
   目录：
     01 设计令牌      02 基础重置       03 版式与容器
     04 按钮          05 头部导航       06 首页 Hero
     07 品类卡        08 产品卡         09 信任条 / Why-us
     10 客户案例      11 FAQ            12 规格表 / 亮点
     13 博客          14 联系页         15 关于页
     16 产品详情      17 面包屑 / 横幅  18 悬浮窗
     19 询盘弹窗      20 Cookie 条      21 页脚 / 404 / 占位符
     22 响应式        23 RTL
   ============================================================ */

/* ── 01 设计令牌 ─────────────────────────────── */
:root {
  --bg: #0c0e11;
  --bg-alt: #121519;
  --panel: #171a1f;
  --panel-2: #1d2127;
  --line: #262b33;
  --line-soft: #1f2329;
  --text: #e9e7e2;
  --text-dim: #9ba1a9;
  --text-mute: #6f757d;
  --gold: #c9a227;
  --gold-bright: #e5c261;
  --gold-deep: #8f7218;
  --gold-glow: rgba(201, 162, 39, 0.16);
  --success: #2f9e5f;
  --danger: #d8453f;
  --wa: #25d366;
  --wx: #07c160;
  --radius: 10px;
  --radius-lg: 16px;
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  --shadow-sm: 0 4px 14px rgba(0, 0, 0, 0.3);
  --wrap: 1200px;
  --wrap-narrow: 820px;
  --font: "Inter", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
  --serif: "Playfair Display", Georgia, "Songti SC", serif;
}

/* ── 02 基础重置 ─────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gold-bright); text-decoration: none; transition: color .18s ease; }
a:hover { color: #fff; }
h1, h2, h3, h4 { margin: 0 0 .6em; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; }
h1 { font-size: clamp(28px, 4.2vw, 46px); }
h2 { font-size: clamp(22px, 3vw, 32px); }
h3 { font-size: 19px; }
p { margin: 0 0 1em; }
ul { margin: 0 0 1em; padding-left: 1.2em; }
dl, dd, dt, figure, blockquote { margin: 0; }
button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--gold); color: #14171b; }
:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 2px; }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--gold); color: #14171b; padding: 10px 16px; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.muted { color: var(--text-mute); }

/* ── 03 版式与容器 ───────────────────────────── */
.container { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 22px; }
.container.narrow, .narrow { max-width: var(--wrap-narrow); }
.section { padding: 72px 0; }
.section-alt { background: var(--bg-alt); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.section-title { text-align: left; margin-bottom: 12px; }
.section-title.center { text-align: center; }
.section-sub { color: var(--text-dim); max-width: 720px; margin-bottom: 32px; }
.section-title.center + .section-sub { margin-left: auto; margin-right: auto; text-align: center; }
.lead { font-size: 17.5px; color: var(--text-dim); }
.site-main { min-height: 60vh; }
.back { display: inline-block; margin-top: 28px; color: var(--text-dim); }
.back:hover { color: var(--gold-bright); }

/* ── 04 按钮 ─────────────────────────────────── */
.btn-primary, .btn-ghost, .btn-wa {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 26px; border-radius: var(--radius); border: 1px solid transparent;
  font-weight: 600; font-size: 15px; line-height: 1; cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}
.btn-primary {
  background: linear-gradient(135deg, var(--gold-bright), var(--gold));
  color: #14171b; border-color: var(--gold);
}
.btn-primary:hover { color: #14171b; transform: translateY(-1px); box-shadow: 0 8px 22px var(--gold-glow); }
.btn-primary.sm { padding: 10px 16px; font-size: 14px; }
.btn-primary[disabled] { opacity: .55; cursor: not-allowed; transform: none; }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--line); }
.btn-ghost:hover { color: var(--gold-bright); border-color: var(--gold-deep); }
.btn-wa { background: var(--wa); color: #06240f; }
.btn-wa:hover { color: #06240f; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(37, 211, 102, .25); }
.btn-wa.lg { padding: 14px 26px; }
.wa-ico, .fw-ico, .fw-ico-sm { display: inline-flex; }
.wa-ico svg { width: 18px; height: 18px; }

/* ── 05 头部导航 ─────────────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(12, 14, 17, .92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line-soft);
}
.header-inner { display: flex; align-items: center; gap: 18px; min-height: 66px; }
.brand { font-family: var(--serif); font-size: 21px; font-weight: 700; color: var(--text); letter-spacing: .3px; white-space: nowrap; }
.brand:hover { color: var(--gold-bright); }
.brand-logo { height: 34px; width: auto; }
.main-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.main-nav a {
  padding: 8px 12px; border-radius: 8px; color: var(--text-dim);
  font-size: 14.5px; font-weight: 500; white-space: nowrap;
}
.main-nav a:hover { color: var(--text); background: var(--panel); }
.main-nav a.active { color: var(--gold-bright); background: rgba(201, 162, 39, .08); }
.header-right { display: flex; align-items: center; gap: 10px; }
.lang-select select {
  background: var(--panel); color: var(--text-dim); border: 1px solid var(--line);
  border-radius: 8px; padding: 7px 10px; font-size: 13.5px; max-width: 132px;
}
.lang-select select:hover { color: var(--text); border-color: var(--gold-deep); }
.nav-toggle {
  display: none; width: 40px; height: 40px; margin-left: auto;
  background: transparent; border: 1px solid var(--line); border-radius: 8px;
  padding: 10px 9px; flex-direction: column; justify-content: space-between;
}
.nav-toggle span { display: block; height: 2px; background: var(--text-dim); border-radius: 2px; }

/* ── 06 首页 Hero ────────────────────────────── */
.hero {
  padding: 96px 0 88px;
  background:
    radial-gradient(1100px 460px at 78% -12%, rgba(201, 162, 39, .13), transparent 62%),
    linear-gradient(180deg, #0e1114 0%, var(--bg) 100%);
  border-bottom: 1px solid var(--line-soft);
}
.hero-eyebrow {
  display: inline-block; margin-bottom: 18px; padding: 5px 14px;
  border: 1px solid var(--gold-deep); border-radius: 999px;
  color: var(--gold-bright); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase;
}
.hero h1 { max-width: 20ch; margin-bottom: 18px; }
.hero-sub { max-width: 62ch; color: var(--text-dim); font-size: 17.5px; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

/* ── 07 品类卡 ───────────────────────────────── */
.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.cat-card {
  display: block; padding: 30px 26px; background: var(--panel);
  border: 1px solid var(--line); border-radius: var(--radius-lg); color: var(--text);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.cat-card:hover { transform: translateY(-4px); border-color: var(--gold-deep); box-shadow: var(--shadow); color: var(--text); }
.cat-icon {
  width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 16px;
  border-radius: 12px; background: var(--gold-glow); color: var(--gold-bright); font-size: 22px;
}
.cat-card h3 { color: var(--text); }
.cat-card p { color: var(--text-dim); font-size: 14.5px; min-height: 44px; }
.cat-more { color: var(--gold-bright); font-size: 13px; letter-spacing: .02em; }

/* ── 08 产品卡 ───────────────────────────────── */
.prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.prod-card {
  display: flex; flex-direction: column; padding: 16px;
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.prod-card:hover { transform: translateY(-4px); border-color: var(--gold-deep); box-shadow: var(--shadow); }
.prod-media { position: relative; display: block; border-radius: 10px; overflow: hidden; background: #0f1216; aspect-ratio: 4 / 3; }
.prod-media img { width: 100%; height: 100%; object-fit: cover; }
.prod-badge {
  position: absolute; top: 10px; left: 10px; padding: 4px 10px; border-radius: 999px;
  background: var(--gold); color: #14171b; font-size: 11.5px; font-weight: 700; letter-spacing: .02em;
}
.prod-card h3 { margin: 14px 0 6px; font-size: 17px; }
.prod-card h3 a { color: var(--text); }
.prod-card h3 a:hover { color: var(--gold-bright); }
.prod-card > p { color: var(--text-dim); font-size: 14px; min-height: 46px; margin-bottom: 10px; }
.prod-price { display: flex; align-items: baseline; gap: 8px; }
.prod-price b { font-size: 20px; color: var(--gold-bright); }
.prod-from { font-size: 12px; color: var(--text-mute); }
.prod-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0; font-size: 12.5px; color: var(--text-mute); }
.prod-certs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 24px; }
.prod-certs em, .pd-info .prod-certs em {
  font-style: normal; padding: 2px 8px; border: 1px solid var(--line);
  border-radius: 6px; font-size: 11.5px; color: var(--text-dim);
}
.prod-certified { color: var(--success); font-size: 11.5px; }
.prod-actions { display: flex; gap: 8px; margin-top: 14px; }
.prod-actions .btn-wa, .prod-actions .btn-primary { flex: 1; padding: 10px 12px; font-size: 13.5px; }
.prod-more { margin-top: 12px; font-size: 13px; }

/* ── 09 信任条 / Why-us ──────────────────────── */
.trust-strip { padding-top: 8px; }
.trust-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.trust-item { text-align: center; padding: 24px 12px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.trust-v { font-family: var(--serif); font-size: 26px; color: var(--gold-bright); line-height: 1.2; }
.trust-l { margin-top: 6px; font-size: 12.5px; color: var(--text-mute); letter-spacing: .02em; }
.why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.why-card { position: relative; padding: 26px 24px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.why-num { font-family: var(--serif); font-size: 15px; color: var(--gold); margin-bottom: 10px; }
.why-card h4 { margin-bottom: 8px; font-size: 17px; }
.why-card p { margin: 0; color: var(--text-dim); font-size: 14.5px; }

/* ── 10 客户案例 ─────────────────────────────── */
.testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.testi-card { padding: 24px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--gold-deep); border-radius: var(--radius); }
.testi-card blockquote { color: var(--text-dim); font-size: 14.5px; font-style: italic; margin-bottom: 14px; }
.testi-card figcaption b { display: block; font-size: 14px; }
.testi-card figcaption span { font-size: 12.5px; color: var(--text-mute); }

/* ── 11 FAQ ──────────────────────────────────── */
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 4px; cursor: pointer; font-weight: 600; font-size: 15.5px; list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--gold-bright); }
.faq-ico { position: relative; width: 14px; height: 14px; flex: 0 0 14px; }
.faq-ico::before, .faq-ico::after { content: ""; position: absolute; background: var(--gold); border-radius: 2px; }
.faq-ico::before { top: 6px; left: 0; width: 14px; height: 2px; }
.faq-ico::after { top: 0; left: 6px; width: 2px; height: 14px; transition: transform .2s ease; }
.faq-item[open] .faq-ico::after { transform: scaleY(0); }
.faq-a { padding: 0 4px 20px; color: var(--text-dim); font-size: 14.5px; }
.faq-a p:last-child { margin-bottom: 0; }

/* ── 12 规格表 / 亮点 ────────────────────────── */
.spec-table { width: 100%; border-collapse: collapse; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.spec-table th, .spec-table td { padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--line-soft); font-size: 14.5px; }
.spec-table tr:last-child th, .spec-table tr:last-child td { border-bottom: 0; }
.spec-table th { width: 38%; color: var(--text-dim); font-weight: 500; background: var(--panel-2); }
.feature-list { list-style: none; padding: 0; display: grid; gap: 10px; }
.feature-list li { position: relative; padding-left: 26px; color: var(--text-dim); font-size: 15px; }
.feature-list li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-bright); font-weight: 700; }

/* ── 13 博客 ─────────────────────────────────── */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.blog-card {
  display: flex; flex-direction: column; padding: 24px; background: var(--panel);
  border: 1px solid var(--line); border-radius: var(--radius-lg); color: var(--text);
  transition: transform .18s ease, border-color .18s ease;
}
.blog-card:hover { transform: translateY(-4px); border-color: var(--gold-deep); color: var(--text); }
.blog-card h3 { font-size: 17px; }
.blog-card p { color: var(--text-dim); font-size: 14px; flex: 1; }
/* 文章多语言：列表角标 + 详情页回退提示 */
.lang-badge {
  align-self: flex-start; margin: 4px 0 10px; padding: 2px 9px; font-size: 11.5px; font-style: normal;
  letter-spacing: .05em; color: var(--gold-bright); border: 1px solid var(--gold-deep); border-radius: 999px;
}
.art-note {
  display: flex; gap: 10px; align-items: baseline; margin: 0 0 26px; padding: 13px 17px; font-size: 14px;
  line-height: 1.6; color: var(--text-dim); background: var(--panel);
  border: 1px solid var(--line); border-left: 3px solid var(--gold-deep); border-radius: 8px;
}
.art-note b { flex: none; font-size: 11.5px; letter-spacing: .06em; color: var(--gold-bright); }
[dir="rtl"] .art-note { border-left: 1px solid var(--line); border-right: 3px solid var(--gold-deep); }

.blog-foot { display: flex; align-items: center; justify-content: space-between; font-size: 12.5px; color: var(--text-mute); margin-top: 8px; }
.blog-more { color: var(--gold-bright); }
.blog-date { display: block; color: var(--text-mute); font-size: 13px; margin-bottom: 18px; }
.article-body { font-size: 16.5px; color: var(--text-dim); }
.article-body h2 { margin-top: 34px; color: var(--text); font-size: 23px; }
.article-body h3 { margin-top: 26px; color: var(--text); }
.article-body strong { color: var(--text); }
.article-body blockquote { margin: 20px 0; padding: 14px 20px; border-left: 3px solid var(--gold-deep); background: var(--panel); color: var(--text-dim); }
.article-body table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.article-body th, .article-body td { padding: 10px 14px; border: 1px solid var(--line); font-size: 14.5px; }

/* ── 14 联系页 ───────────────────────────────── */
.cat-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.cat-tabs a { padding: 8px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--text-dim); font-size: 14px; }
.cat-tabs a:hover { color: var(--text); border-color: var(--gold-deep); }
.cat-tabs a.active { background: var(--gold-glow); border-color: var(--gold-deep); color: var(--gold-bright); }
.contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.contact-card { padding: 22px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); color: var(--text); }
.contact-card:hover { border-color: var(--gold-deep); color: var(--text); }
.contact-card span { display: block; font-size: 12.5px; color: var(--text-mute); margin-bottom: 6px; }
.contact-card b { font-size: 15px; word-break: break-word; }
.contact-card.wide { grid-column: span 1; }
.inline-inquiry { margin-top: 56px; padding-top: 36px; border-top: 1px solid var(--line); }

/* ── 15 关于页 ───────────────────────────────── */
.about-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 32px 0; }
.about-facts div { padding: 20px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.about-facts dt { font-size: 12.5px; color: var(--text-mute); margin-bottom: 6px; }
.about-facts dd { font-family: var(--serif); font-size: 21px; color: var(--gold-bright); }
.about-contact { list-style: none; padding: 0; }
.about-contact li { padding: 9px 0; border-bottom: 1px solid var(--line-soft); color: var(--text-dim); }

/* ── 16 产品详情 ─────────────────────────────── */
.prod-detail { padding-top: 44px; }
.pd-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px; align-items: start; }
.pd-media { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: #0f1216; }
.pd-media img { width: 100%; }
.pd-cat { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 10px; }
.pd-info h1 { font-size: clamp(24px, 3vw, 34px); }
.pd-info .lead { margin-bottom: 18px; }
.pd-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.pd-price b { font-size: 27px; color: var(--gold-bright); }
.pd-moq { font-size: 13.5px; color: var(--text-dim); }
.pd-info .prod-certs { margin: 16px 0; }
.pd-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0 0; }
.pd-facts dt { font-size: 12px; color: var(--text-mute); }
.pd-facts dd { font-size: 14px; color: var(--text); }
.pd-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* ── 17 面包屑 / 横幅 ────────────────────────── */
.breadcrumb { background: var(--bg-alt); border-bottom: 1px solid var(--line-soft); }
.breadcrumb .container { display: flex; align-items: center; gap: 8px; padding-top: 12px; padding-bottom: 12px; font-size: 13px; color: var(--text-mute); }
.breadcrumb a { color: var(--text-dim); }
.breadcrumb a:hover { color: var(--gold-bright); }
.breadcrumb i { font-style: normal; color: var(--text-mute); opacity: .6; }
.page-banner { position: relative; }
.page-banner img { width: 100%; max-height: 320px; object-fit: cover; }
.banner-caption { position: absolute; left: 0; right: 0; bottom: 0; padding-bottom: 26px; }
.banner-title { margin: 0; text-shadow: 0 2px 18px rgba(0, 0, 0, .8); }
.banner-sub { margin: 6px 0 0; color: var(--text-dim); text-shadow: 0 2px 12px rgba(0, 0, 0, .8); }

/* ── 18 悬浮窗 ───────────────────────────────── */
.float-widget { position: fixed; right: 20px; top: 50%; transform: translateY(-50%); z-index: 70; }
.fw-stack { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.fw-fab {
  display: inline-flex; align-items: center; gap: 9px; padding: 12px 16px;
  border: 0; border-radius: 999px; color: #fff; font-size: 14px; font-weight: 600;
  box-shadow: var(--shadow-sm); transition: transform .16s ease, box-shadow .16s ease;
}
.fw-fab:hover { transform: translateY(-2px); box-shadow: var(--shadow); color: #fff; }
.fw-fab svg { width: 20px; height: 20px; }
.fw-quote { background: linear-gradient(135deg, var(--gold-bright), var(--gold)); color: #14171b; }
.fw-quote:hover { color: #14171b; }
.fw-wx { background: var(--wx); }
.fw-wa { background: var(--wa); color: #06240f; }
.fw-wa:hover { color: #06240f; }
.fw-label { white-space: nowrap; }
.fw-greet { position: absolute; right: 0; bottom: 64px; max-width: 268px; background: var(--panel-2); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.fw-greet-body { display: flex; gap: 10px; padding: 14px 16px; font-size: 13.5px; color: var(--text-dim); }
.fw-ico-sm svg { width: 18px; height: 18px; color: var(--wa); }
.fw-greet-close, .fw-wx-pop-close {
  position: absolute; top: 4px; right: 6px; background: none; border: 0;
  color: var(--text-mute); font-size: 18px; line-height: 1;
}
.fw-greet-close:hover, .fw-wx-pop-close:hover { color: var(--text); }
.fw-wx-pop {
  position: absolute; right: 0; bottom: 0; width: 268px; padding: 16px;
  background: var(--panel-2); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); text-align: center;
}
.fw-wx-pop-head { display: flex; align-items: center; justify-content: center; position: relative; margin-bottom: 12px; font-size: 15px; }
.fw-wx-pop img { margin: 0 auto 10px; border-radius: 8px; background: #fff; }
.fw-wx-tip { margin: 0; font-size: 12.5px; color: var(--text-mute); }

/* ── 19 询盘弹窗 ─────────────────────────────── */
.modal-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(5, 6, 8, .78); display: flex; align-items: center; justify-content: center; padding: 20px; overflow-y: auto; }
.modal-overlay[hidden] { display: none; }
.modal { position: relative; width: 100%; max-width: 680px; padding: 32px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.modal h3 { font-size: 22px; }
.modal-close { position: absolute; top: 14px; right: 16px; width: 34px; height: 34px; border: 0; background: none; color: var(--text-mute); font-size: 26px; line-height: 1; }
.modal-close:hover { color: var(--text); }
.rfq-interest { display: flex; align-items: center; gap: 8px; padding: 10px 14px; margin-bottom: 18px; background: var(--gold-glow); border-radius: 8px; font-size: 14px; }
.rfq-interest span { color: var(--text-mute); }
.rfq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.rfq-form label, .login-card label { display: block; font-size: 13.5px; color: var(--text-dim); }
.rfq-form input, .rfq-form select, .rfq-form textarea,
.login-card input {
  width: 100%; margin-top: 6px; padding: 11px 13px; background: var(--bg-alt);
  color: var(--text); border: 1px solid var(--line); border-radius: 8px; font-size: 14.5px;
}
.rfq-form input:focus, .rfq-form select:focus, .rfq-form textarea:focus, .login-card input:focus { border-color: var(--gold-deep); outline: none; }
.rfq-form textarea { min-height: 108px; resize: vertical; }
.rfq-form > label { display: block; margin-top: 14px; }
.rfq-form .btn-primary { width: 100%; margin-top: 18px; }
.rfq-trust { margin: 12px 0 0; font-size: 12.5px; color: var(--text-mute); }
.rfq-wa-hint { margin: 8px 0 0; font-size: 13px; color: var(--text-mute); }
.form-msg { margin: 12px 0 0; font-size: 13.5px; min-height: 20px; }
.form-msg.ok { color: var(--success); }
.form-msg.err { color: var(--danger); }
.modal-open { overflow: hidden; }

/* ── 20 Cookie 条 ────────────────────────────── */
.cookie-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; background: rgba(23, 26, 31, .97); border-top: 1px solid var(--line); backdrop-filter: blur(8px); }
.cookie-bar[hidden] { display: none; }
.cookie-inner { max-width: var(--wrap); margin: 0 auto; padding: 14px 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.cookie-text { flex: 1; min-width: 240px; font-size: 13.5px; color: var(--text-dim); }
.cookie-text strong { color: var(--text); margin-right: 6px; }
.cookie-actions { display: flex; align-items: center; gap: 14px; }
.cookie-more { font-size: 13px; color: var(--text-dim); }
.cookie-accept { padding: 10px 20px; border: 0; border-radius: 8px; background: var(--gold); color: #14171b; font-weight: 600; font-size: 14px; }

/* ── 21 页脚 / 404 / 占位符 ──────────────────── */
.site-footer { margin-top: 0; padding: 56px 0 24px; background: #090b0d; border-top: 1px solid var(--line); }
.footer-inner { display: grid; grid-template-columns: 1.4fr 1fr 1.4fr; gap: 34px; }
.footer-col h4 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-mute); margin-bottom: 14px; }
.footer-col a, .footer-col span, .footer-col p { display: block; font-size: 14px; color: var(--text-dim); margin-bottom: 8px; }
.footer-col a:hover { color: var(--gold-bright); }
.footer-col .brand { margin-bottom: 12px; }
.footer-social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.footer-social a { font-size: 13px; color: var(--text-mute); }
.footer-company { color: var(--text-mute); }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; gap: 12px; margin-top: 38px; padding-top: 20px; border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--text-mute); }
.footer-bottom span { display: inline-block; }
.notfound { text-align: center; padding: 90px 0 110px; }
.nf-code { font-family: var(--serif); font-size: 92px; line-height: 1; color: var(--gold-deep); margin: 0 0 10px; }
.notfound .hero-cta { justify-content: center; }

/* 占位符高亮：提醒资料未填，而不是静默留白 */
.ph {
  display: inline-block; padding: 0 6px; border-radius: 4px;
  background: rgba(201, 162, 39, .14); border-bottom: 1px dashed var(--gold);
  color: var(--gold-bright); font-size: .94em; cursor: help;
}
.ph::after { content: " ✎"; font-size: .8em; opacity: .8; }

/* ── 22 响应式 ───────────────────────────────── */
@media (max-width: 1024px) {
  .prod-grid, .cat-grid, .blog-grid, .testi-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid { grid-template-columns: repeat(3, 1fr); }
  .about-facts { grid-template-columns: repeat(2, 1fr); }
  .pd-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .section { padding: 52px 0; }
  .hero { padding: 66px 0 60px; }
  .nav-toggle { display: flex; }
  .main-nav {
    position: absolute; top: 100%; left: 0; right: 0; display: none;
    flex-direction: column; align-items: stretch; gap: 0; padding: 10px 16px 18px;
    background: var(--bg-alt); border-bottom: 1px solid var(--line); margin-left: 0;
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px 8px; border-radius: 6px; font-size: 15px; }
  .header-right { margin-left: 0; }
  .lang-select select { max-width: 108px; }
  .prod-grid, .cat-grid, .blog-grid, .testi-grid, .why-grid, .contact-cards { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .rfq-grid { grid-template-columns: 1fr; }
  .modal { padding: 24px 20px; }
  .pd-facts { grid-template-columns: 1fr 1fr; }
  .footer-inner { grid-template-columns: 1fr; gap: 24px; }
  .fw-label { display: none; }
  .fw-fab { padding: 13px; }
  .float-widget { right: 14px; top: 50%; transform: translateY(-50%); }
  .fw-wx-pop { width: 236px; }
}
@media (max-width: 420px) {
  .about-facts, .trust-grid, .pd-facts { grid-template-columns: 1fr; }
  .prod-actions { flex-direction: column; }
}

/* ── 23 RTL（阿拉伯语） ──────────────────────── */
[dir="rtl"] .main-nav { margin-left: 0; margin-right: auto; }
[dir="rtl"] .breadcrumb .container { flex-direction: row-reverse; justify-content: flex-end; }
[dir="rtl"] .float-widget { right: auto; left: 20px; top: 50%; transform: translateY(-50%); }
[dir="rtl"] .fw-wx-pop, [dir="rtl"] .fw-greet { right: auto; left: 0; }
[dir="rtl"] .feature-list li { padding-left: 0; padding-right: 26px; }
[dir="rtl"] .feature-list li::before { left: auto; right: 0; }
[dir="rtl"] .article-body blockquote { border-left: 0; border-right: 3px solid var(--gold-deep); }
[dir="rtl"] .testi-card { border-left: 1px solid var(--line); border-right: 3px solid var(--gold-deep); }

/* 打印：去掉交互件，保留内容 */
@media print {
  .site-header, .site-footer, .float-widget, .cookie-bar, .modal-overlay, .breadcrumb { display: none !important; }
  body { background: #fff; color: #111; }
}
