/* ==========================================================================
   2026-11-01 交互架构升级（P0-01/P0-02/P0-03/P1-03/P1-04/P3-02/P3-09/P5-05）
   只新增交互/无障碍样式，不改动任何内容排版。
   ========================================================================== */

/* 对比度：--muted-2 原始 #7c8698 在白色上仅 3.67:1，小字号不达 AA */
:root{ --muted-2:#5f6b7d; --focus:#f5a623; }

/* 键盘焦点可见 */
:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; border-radius:4px; }
.btn:focus-visible, .pcard:focus-visible, .cat:focus-visible{ outline-offset:3px; }

/* 跳转到内容 */
.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--amber); color:#20160a;
  padding:10px 16px; border-radius:0 0 10px 0; font-weight:700; font-size:14px; }
.skip-link:focus{ left:0; }

/* 语言切换当前态 */
.lang a[aria-current="true"]{ box-shadow:inset 0 0 0 2px rgba(255,255,255,.35); }

/* ---------- 移动端汉堡 + 抽屉 ---------- */
.nav-burger{ display:none; width:44px; height:44px; border:0; background:transparent; cursor:pointer;
  padding:12px 9px; flex-direction:column; justify-content:space-between; border-radius:8px; }
.nav-burger span{ display:block; height:2px; background:#fff; border-radius:2px; transition:transform .18s, opacity .18s; }
.nav-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.nav-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

.nav-scrim{ position:fixed; inset:0; z-index:70; background:rgba(6,10,18,.6); border:0; }
.nav-scrim[hidden]{ display:none; }

.nav-drawer{ position:fixed; top:0; right:0; bottom:0; width:min(86vw,380px); z-index:80;
  background:var(--ink); color:#dfe6f2; transform:translateX(102%); visibility:hidden;
  transition:transform .24s ease, visibility .24s; overflow-y:auto; overscroll-behavior:contain;
  display:flex; flex-direction:column; gap:18px; padding:16px 20px calc(24px + env(safe-area-inset-bottom)); }
.nav-drawer.is-open{ transform:none; visibility:visible; }
.nav-drawer-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.nav-close{ width:44px; height:44px; flex:none; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.08); color:#fff; font-size:24px; line-height:1; }
.nav-drawer-links{ display:flex; flex-direction:column; }
.nav-drawer-links a{ display:block; padding:13px 0; font-size:16px; font-weight:600;
  border-bottom:1px solid rgba(255,255,255,.08); color:#e7edf7; }
.nav-drawer-links a.on, .nav-drawer-links a[aria-current="page"]{ color:var(--amber); }
.nav-drawer-cats h5{ margin:0 0 6px; color:#9fb0c8; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; }
.nav-drawer-cats a{ display:block; padding:8px 0; font-size:13.5px; color:#c3cee0; }
.nav-drawer-foot{ margin-top:auto; display:grid; gap:10px; }
.nav-drawer-foot .btn{ width:100%; }
.nav-open{ overflow:hidden; }

@media (max-width:1020px){
  .nav-burger{ display:flex; }
  .nav-quote{ display:none; }
  .nav{ gap:12px; }
  .quickbar.is-visible{ display:flex; }
}
@media (max-width:680px){
  .nav-drawer{ width:92vw; }
  body{ padding-bottom:calc(58px + env(safe-area-inset-bottom)); }
}

/* ---------- 底部快捷条（≤1020px） ---------- */
.quickbar{ position:fixed; left:0; right:0; bottom:0; z-index:55; display:none; height:58px;
  padding-bottom:env(safe-area-inset-bottom); background:var(--ink); color:#fff;
  box-shadow:0 -6px 20px rgba(11,18,32,.22); }
.quickbar a{ flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  font-size:13px; font-weight:650; letter-spacing:.02em; }
.quickbar a + a{ border-left:1px solid rgba(255,255,255,.12); }
.quickbar a.wa{ background:#1f8a5b; }
.quickbar .qb-close{ flex:0 0 42px; border:0; background:transparent; color:#93a3bb; font-size:18px; cursor:pointer; }

/* ---------- 桌面右下浮动联系（>1020px） ---------- */
.float-contact{ position:fixed; right:20px; bottom:20px; z-index:56; display:none;
  flex-direction:column; align-items:flex-end; gap:10px; }
.float-contact.is-visible{ display:flex; }
.fc-btn{ display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px;
  color:#fff; font-size:13.5px; font-weight:650; box-shadow:var(--shadow-lg); }
.fc-wa{ background:#1f8a5b; }
.fc-quote{ background:var(--amber); color:#20160a; }
.fc-close{ width:28px; height:28px; border:0; border-radius:50%; cursor:pointer;
  background:rgba(11,18,32,.72); color:#fff; font-size:15px; line-height:1; }
@media (max-width:1020px){ .float-contact{ display:none !important; } }
@media (prefers-reduced-motion:reduce){
  .nav-drawer{ transition:none; } .pcard, .cat, .btn{ transition:none; }
}

/* ---------- 类目页筛选/排序工具栏 ---------- */
.cat-toolbar{ display:flex; flex-wrap:wrap; gap:12px 16px; align-items:flex-end; margin:18px 0 20px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:14px 16px; }
.ct-field{ display:flex; flex-direction:column; gap:5px; min-width:150px; }
.ct-field > span{ font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); font-weight:700; }
.ct-field select{ font-family:inherit; font-size:14px; padding:9px 10px; border:1px solid var(--line-2);
  border-radius:8px; background:#fff; color:var(--text); max-width:240px; }
.btn-sm{ padding:9px 14px; font-size:13px; }
.ct-count{ margin-left:auto; font-size:13px; font-weight:650; color:var(--muted); }
.pcard[hidden]{ display:none; }
.cat-empty{ margin:26px 0; padding:22px; border:1px dashed var(--line-2); border-radius:var(--r);
  color:var(--muted); text-align:center; }

/* ---------- finder 静态全量清单（P1-04 兜底） ---------- */
.finder-static .sec-head{ margin-bottom:18px; }
.fs-group{ margin:0 0 22px; }
.fs-group h3{ font-size:16px; margin:0 0 8px; padding-bottom:6px; border-bottom:1px solid var(--line); }
.fs-group ul{ list-style:none; margin:0; padding:0; column-width:340px; column-gap:28px; }
.fs-group li{ break-inside:avoid; font-size:13.5px; padding:4px 0; }
.fs-group li a{ color:var(--text); }
.fs-group li a:hover{ color:var(--amber-2); }

/* ---------- 表单校验 / 隐私同意 ---------- */
.req{ color:var(--red); font-weight:700; }
.field-err{ margin:2px 0 0; font-size:12px; color:var(--red); }
.field.has-error input, .field.has-error select, .field.has-error textarea{ border-color:var(--red); }
.field .check, label.check{ display:flex; align-items:flex-start; gap:9px; font-size:13px; color:var(--muted); line-height:1.5; }
label.check input[type="checkbox"]{ width:18px; height:18px; margin:1px 0 0; flex:none; accent-color:var(--amber-2); }
.consent{ grid-column:1/-1; }
.form .field-err[hidden]{ display:none; }

/* 产品页内联询盘表单（真表单） */
.pdp-form .hint{ font-size:12px; color:var(--muted-2); }
.pdp-form .btn[type="submit"]{ width:100%; }

/* 结果/筛选播报（读屏） */
output{ font-variant-numeric:tabular-nums; }

/* 页脚小屏额外留白，避免被快捷条遮挡 */
@media (max-width:1020px){ .site-foot{ padding-bottom:calc(40px + env(safe-area-inset-bottom)); } }
