/* ==========================================================================
   iLatex 独立站 v2 —— 新增组件样式（叠加在 style.css 之上）
   只放 v2 重构新增的版式；原有设计变量与组件一律复用 style.css。
   ========================================================================== */

/* ---------- 通用 ---------- */
.isvg{width:18px;height:18px;flex:none;display:inline-block;vertical-align:-3px}
.nw{white-space:nowrap}
[id]{scroll-margin-top:calc(var(--nav-h) + 22px)}
.hdr.is-scrolled{box-shadow:0 10px 34px rgba(0,0,0,.24)}
.sec-more{margin-top:40px;text-align:center}
.sec-more .btn svg{transition:.2s}
.sec-more .btn:hover svg{transform:translateX(3px)}

/* ---------- 内页 Banner ---------- */
.pbanner{position:relative;background:var(--ink-950);color:#fff;overflow:hidden;isolation:isolate}
.pbanner-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.34;z-index:-1}
.pbanner::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(11,12,15,.94) 12%,rgba(11,12,15,.62) 62%,rgba(11,12,15,.4))}
.pbanner-in{padding:72px 24px 64px}
.pbanner h1{color:#fff;font-size:clamp(1.95rem,4vw,3rem)}
.pbanner p{color:#B5BAC2;max-width:64ch;margin-top:14px;font-size:1.05rem}
.pbanner .crumb{color:#8E939B;margin-bottom:14px}
.pbanner .crumb a:hover{color:#fff}
.pbanner .crumb i{font-style:normal;margin:0 8px;opacity:.5}

/* ---------- 产品卡角标 ---------- */
.pcard-img{position:relative}
.pcard-tag{position:absolute;left:12px;top:12px;font-size:.66rem;font-weight:900;letter-spacing:.07em;
  text-transform:uppercase;background:rgba(11,12,15,.74);color:#fff;padding:5px 11px;border-radius:100px;
  backdrop-filter:blur(6px)}

/* ==========================================================================
   产品页：左栏大类 + 右栏网格
   ========================================================================== */
.cat-wrap{padding:56px 0 72px}
.cat-cols{display:grid;grid-template-columns:248px 1fr;gap:46px;align-items:start}
.cat-side{position:sticky;top:calc(var(--nav-h) + 22px)}
.cat-side-in{display:flex;flex-direction:column;gap:6px}
.cat-side-hd{font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2);padding:0 14px 12px}
.cat-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;
  border-radius:12px;font-weight:700;font-size:.95rem;color:var(--muted);border:1px solid transparent;transition:.2s}
.cat-link:hover{background:var(--soft);color:var(--ink-900)}
.cat-link.on{background:var(--brand-soft);color:var(--brand-d);border-color:rgba(241,90,36,.32)}
.cat-link em{font-style:normal;font-size:.76rem;font-family:var(--mono);opacity:.7}
.cat-main{min-width:0}
.cat-intro{color:var(--muted);max-width:66ch;margin-bottom:34px;font-size:.98rem}
.cat-sec{margin-bottom:66px}
.cat-sec:last-child{margin-bottom:0}
.cat-sec-hd{margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.cat-sec-hd h2{font-size:clamp(1.35rem,2.3vw,1.8rem)}
.cat-sec-hd p{color:var(--muted);margin:10px 0 0;max-width:70ch;font-size:.95rem}

/* ==========================================================================
   首页视频：左 1 大 + 右 4 小
   ========================================================================== */
.vsplit{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;align-items:start}
.vsplit-main{display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--ink-950);
  cursor:pointer;box-shadow:var(--shadow-lg);transition:.24s;color:inherit}
.vsplit-main:hover{transform:translateY(-3px)}
.vsplit-th{position:relative;display:block;aspect-ratio:16/9;overflow:hidden}
.vsplit-th img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:.5s}
.vsplit-main:hover .vsplit-th img{transform:scale(1.04);opacity:1}
.vsplit-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink-900);
  display:grid;place-items:center;font-style:normal;box-shadow:0 14px 38px rgba(0,0,0,.42);transition:.24s}
.vsplit-play .isvg{width:26px;height:26px;margin-left:3px}
.vsplit-main:hover .vsplit-play{background:var(--brand);color:#3A1204;transform:translate(-50%,-50%) scale(1.06)}
.vsplit-b{padding:20px 24px 24px;display:block}
.vsplit-b b{display:block;color:#fff;font-size:1.12rem;margin-bottom:7px;letter-spacing:-.02em}
.vsplit-b span{display:block;color:#A9AEB6;font-size:.88rem;line-height:1.55}
.vsplit-side{display:flex;flex-direction:column;gap:12px}
.vmini{display:flex;gap:14px;align-items:center;padding:11px;border:1px solid var(--line);
  border-radius:14px;background:#fff;cursor:pointer;transition:.2s}
.vmini:hover{border-color:rgba(241,90,36,.42);transform:translateX(4px);box-shadow:var(--shadow-sm)}
.vmini-th{position:relative;width:106px;flex:none;aspect-ratio:16/9;border-radius:9px;overflow:hidden;background:var(--ink-900)}
.vmini-th img{width:100%;height:100%;object-fit:cover;opacity:.88}
.vmini-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(9,10,13,.26);font-style:normal}
.vmini-play .isvg{width:17px;height:17px;color:#fff}
.vmini-b{min-width:0}
.vmini-b b{font-size:.89rem;font-weight:700;display:block;line-height:1.38}

/* ==========================================================================
   服务支持：故障代码手风琴
   ========================================================================== */
.faults{display:grid;gap:12px}
.fault{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s}
.fault:hover{border-color:#D6D8DC}
.fault[open]{border-color:rgba(241,90,36,.36);box-shadow:var(--shadow)}
.fault summary{position:relative;display:grid;grid-template-columns:158px 1fr auto 18px;align-items:center;
  gap:16px;padding:18px 22px;cursor:pointer;list-style:none}
.fault summary::-webkit-details-marker{display:none}
.fault summary::marker{content:""}
.fault-code{font-family:var(--mono);font-weight:800;font-size:.84rem;color:var(--brand-d);
  background:var(--brand-soft);padding:6px 10px;border-radius:8px;text-align:center}
.fault-t{font-weight:700;font-size:.98rem}
.fault-m{font-size:.79rem;color:var(--muted-2);white-space:nowrap}
.fault-chev{width:16px;height:16px;color:var(--muted-2);transition:.24s}
.fault[open] .fault-chev{transform:rotate(90deg);color:var(--brand)}
.fault-b{padding:0 22px 22px}
.fault-sym{color:var(--muted);font-size:.92rem;padding-top:16px;border-top:1px solid var(--line);margin-bottom:16px}
.fault-steps{margin:0;padding-left:20px;display:grid;gap:9px}
.fault-steps li{font-size:.92rem;line-height:1.6}
.fault-tip{display:flex;gap:10px;background:var(--soft);border-left:3px solid var(--brand);
  padding:13px 16px;border-radius:0 10px 10px 0;font-size:.87rem;color:var(--muted);margin:16px 0 0}
.fault-tip .isvg{width:17px;height:17px;color:var(--brand);margin-top:2px}
/* 内联拆机图集 */
.fault-td{margin-top:18px;border-top:1px dashed var(--line);padding-top:16px}
.fault-td h4{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:800;margin:0 0 14px;color:var(--ink,var(--fg,#1a1a1a))}
.fault-td h4 .isvg{width:17px;height:17px;color:var(--brand);flex:none}
.fault-td-item{margin:0 0 18px}
.fault-td-imgs{display:flex;flex-wrap:wrap;gap:12px}
.fault-td-imgs figure{margin:0;flex:0 1 250px;max-width:300px}
.fault-td-imgs img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:10px;background:#fff}
.fault-td-cap{margin:9px 0 0;font-size:.87rem;color:var(--muted);line-height:1.65}
/* 拆机图下方醒目提示 */
.fault-td-note{display:inline-flex;align-items:center;gap:9px;margin:20px 0 2px;padding:14px 20px;border:2px solid var(--brand);border-radius:10px;
  background:var(--brand-soft, #fff7ef);color:var(--brand);font-size:1.18rem;font-weight:800;line-height:1.4;
  text-decoration:none;max-width:100%}
.fault-td-note .isvg{width:24px;height:24px;flex:none;color:var(--brand)}
.fault-td-note:hover{background:var(--brand);color:#fff}
.fault-td-note:hover .isvg{color:#fff}
[dir="rtl"] .fault-td-note{flex-direction:row-reverse;text-align:right}
/* ★ 要更换的配件（部件类工单）：料号 + 适用机型 */
.fault-parts{margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.fault-parts h4{display:flex;align-items:flex-start;gap:8px;font-size:.95rem;font-weight:800;margin:0 0 13px;color:var(--ink-900,var(--fg,#1a1a1a));line-height:1.45}
.fault-parts h4 .isvg{width:17px;height:17px;color:var(--brand);flex:none;margin-top:2px}
.fault-parts-list{display:grid;gap:9px}
.fault-part{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;background:#fff;
  border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:0 8px 8px 0;padding:10px 14px}
.fault-pn{font-family:var(--mono);font-weight:800;font-size:.9rem;color:var(--brand-d);white-space:nowrap}
.fault-pname{font-size:.88rem;color:var(--muted);line-height:1.5;flex:1 1 220px}
.fault-parts-note{display:flex;gap:9px;margin:12px 0 0;font-size:.85rem;line-height:1.6;color:var(--muted)}
.fault-parts-note .isvg{width:16px;height:16px;color:var(--brand);flex:none;margin-top:2px}
[dir="rtl"] .fault-parts-note{flex-direction:row-reverse;text-align:right}
/* ★ 换完必跑的服务工具 */
.fault-svc{margin-top:16px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.fault-svc h4{display:flex;align-items:flex-start;gap:8px;font-size:.95rem;font-weight:800;margin:0 0 12px;color:var(--ink-900,var(--fg,#1a1a1a));line-height:1.45}
.fault-svc h4 .isvg{width:17px;height:17px;color:var(--brand);flex:none;margin-top:2px}
.fault-svc-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.fault-svc-list li{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:baseline;
  padding-bottom:10px;border-bottom:1px dashed var(--line)}
.fault-svc-list li:last-child{padding-bottom:0;border-bottom:0}
.fault-svc-list code{font-family:var(--mono);font-weight:800;font-size:.85rem;color:#fff;background:var(--brand);
  padding:3px 9px;border-radius:6px;white-space:nowrap;direction:ltr;justify-self:start}
.fault-svc-list span{font-size:.87rem;line-height:1.6;color:var(--muted)}
/* 「其它语言版本」申请：与上方「查看 PDF」提示条同宽同高（整条通栏） */
.fault-lang{margin-top:14px}
.fault-lang>summary{display:flex;width:100%;justify-content:center;align-items:center;gap:10px;
  padding:14px 20px;border:2px solid var(--brand);border-radius:10px;background:var(--brand);color:#fff;
  font-weight:800;font-size:1.18rem;line-height:1.4;cursor:pointer;list-style:none}
.fault-lang>summary::-webkit-details-marker{display:none}
.fault-lang>summary .isvg{width:24px;height:24px;flex:none}
.fault-lang>summary:hover,.fault-lang[open]>summary{filter:brightness(.94);color:#111}
.fault-lang>summary:hover .isvg,.fault-lang[open]>summary .isvg{color:#111}
[dir="rtl"] .fault-lang>summary{flex-direction:row-reverse}
.lr{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--soft)}
.lr-title{font-weight:800;font-size:1rem;margin:0 0 6px}
.lr-desc{color:var(--muted);font-size:.87rem;margin:0 0 14px;line-height:1.6}
.lr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lr-f{display:flex;flex-direction:column;gap:5px;font-size:.85rem;font-weight:600}
.lr-f input,.lr-f select,.lr-f textarea{border:1px solid var(--line);border-radius:8px;padding:9px 11px;font:inherit;font-size:.9rem;background:#fff;color:inherit;width:100%}
.lr-f select{height:38px;appearance:auto}
.lr-f input:focus,.lr-f select:focus,.lr-f textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}
.lr-wide{margin-top:12px}
.lr-send{margin-top:14px;display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:10px 20px;font-weight:700;cursor:pointer;font-size:.94rem}
.lr-send .isvg{width:17px;height:17px}
.lr-send:hover{filter:brightness(.94)}
.lr-note{margin:10px 0 0;font-size:.8rem;color:var(--muted)}
@media(max-width:640px){.lr-grid{grid-template-columns:1fr}}
[dir="rtl"] .lr-f,[dir="rtl"] .lr-desc{text-align:right}
/* 服务支持页「以上情况与您遇到的不符」区块：复用故障代码 langReq 邮件表单 */
.fault-help{margin-top:24px}
.fault-help-t{font-size:.95rem;color:var(--muted);margin:0 0 14px;line-height:1.6}
.fault-help a{color:var(--brand-d);font-weight:700;display:inline-flex;align-items:center;gap:5px}
.fault-help a:hover{gap:9px}
/* ★ 图标放大并加呼吸动画，更醒目（老板 2026-10 要求） */
.fault-help .fh-req{margin-top:0}
.fault-help .fh-req>summary .fh-micon{width:34px;height:34px;flex:none;animation:fhPulse 2.2s ease-in-out infinite}
.fault-help .fh-req[open]>summary .fh-micon{animation:none}
@keyframes fhPulse{0%{transform:scale(1)}50%{transform:scale(1.14)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.fault-help .fh-req>summary .fh-micon{animation:none}}


/* ==========================================================================
   下载页：一条曲线一个链接
   ========================================================================== */
.dl-intro{color:var(--muted);max-width:66ch;margin-bottom:30px;font-size:.98rem}
.dl-note{display:flex;gap:10px;align-items:flex-start;margin-top:26px;background:var(--soft);
  padding:14px 16px;border-radius:12px;font-size:.87rem;color:var(--muted);line-height:1.65}
.dl-note .isvg{width:17px;height:17px;color:var(--brand);flex:none;margin-top:2px}
.dl-sec{margin-bottom:52px}
.dl-sec:last-child{margin-bottom:0}
.dl-sec-hd{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.dl-sec-hd h2{font-size:clamp(1.15rem,1.9vw,1.42rem)}
.dl-sec-hd p{color:var(--muted);margin:8px 0 0;font-size:.92rem}
.dl-grid{display:grid;gap:12px}
.dlcard{display:flex;align-items:center;gap:16px;padding:18px 22px;background:#fff;
  border:1px solid var(--line);border-radius:14px;transition:.2s}
.dlcard:hover{border-color:rgba(241,90,36,.42);box-shadow:var(--shadow);transform:translateY(-2px)}
.dlcard-ic{width:44px;height:44px;flex:none;border-radius:12px;background:var(--brand-soft);
  color:var(--brand-d);display:grid;place-items:center}
.dlcard-ic .isvg{width:20px;height:20px}
.dlcard-b{flex:1;min-width:0}
.dlcard-b b{display:block;font-weight:700;font-size:.98rem}
.dlcard-b span{display:block;font-size:.82rem;color:var(--muted-2);margin-top:4px}
.dlcard-v{font-family:var(--mono);font-size:.76rem;color:var(--muted);background:var(--soft);
  border:1px solid var(--line);padding:4px 10px;border-radius:100px;white-space:nowrap}
.dlcard-go{color:var(--muted-2);display:grid;place-items:center;transition:.2s}
.dlcard:hover .dlcard-go{color:var(--brand);transform:translateX(3px)}

/* ==========================================================================
   曲线详情页
   ========================================================================== */
.curve-wrap{padding:54px 0 24px}
.curve-back{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:700;
  color:var(--muted);margin-bottom:26px}
.curve-back:hover{color:var(--brand-d)}
.curve-back .flip{transform:rotate(180deg)}
.curve-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start}
.curve-main h1{font-size:clamp(1.6rem,2.8vw,2.3rem);margin-bottom:16px}
.curve-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.curve-note{display:flex;gap:10px;background:var(--soft);padding:14px 16px;border-radius:12px;
  font-size:.87rem;color:var(--muted)}
.curve-note .isvg{width:17px;height:17px;color:var(--brand);margin-top:2px}
.curve-media{margin-top:36px;border-top:1px solid var(--line);padding-top:28px}
.curve-media h3{margin-bottom:10px}
.curve-media-name{font-weight:800;font-size:1.02rem;margin-bottom:12px}
.curve-media-text{color:var(--muted);font-size:.93rem;line-height:1.75;margin:0;max-width:70ch}
.curve-how{margin-top:36px;border-top:1px solid var(--line);padding-top:28px}
.curve-how h3{margin-bottom:16px}
.curve-how ol{padding-left:20px;display:grid;gap:11px;color:var(--muted);font-size:.93rem;line-height:1.6}
.curve-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;
  box-shadow:var(--shadow-sm);margin-bottom:18px}
.curve-box h3{margin-bottom:18px;font-size:1.04rem}
.curve-dl{margin:0}
.curve-dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;
  border-bottom:1px dashed var(--line);font-size:.88rem}
.curve-dl div:last-child{border-bottom:0}
.curve-dl dt{color:var(--muted-2);flex:none}
.curve-dl dd{margin:0;font-weight:700;text-align:right}
.curve-status{display:inline-block;margin-top:16px;font-size:.79rem;font-weight:700;color:var(--ok);
  background:rgba(18,164,91,.1);padding:5px 13px;border-radius:100px}
.curve-help p{font-size:.9rem;color:var(--muted);margin-bottom:18px}

/* ==========================================================================
   联系页
   ========================================================================== */
.ct-intro{color:var(--muted);max-width:72ch;font-size:1.04rem}
.ct-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:start}
.ct-form-card{padding:34px}
.ct-form-card h2{margin-bottom:8px}
.ct-form{margin-top:26px}
.fld-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{display:flex;flex-direction:column;gap:7px}
.fld-full{grid-column:1/-1}
.fld > span{font-size:.84rem;font-weight:700;color:var(--muted)}
.fld .req{color:var(--brand);font-style:normal}
.fld input,.fld select,.fld textarea{font:inherit;font-size:.94rem;padding:12px 14px;
  border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--text);
  transition:.18s;width:100%;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--brand);
  box-shadow:0 0 0 3px var(--brand-soft)}
.ct-form .btn{margin-top:22px}
.form-note{font-size:.79rem;color:var(--muted-2);margin-top:13px}
.form-ok{background:rgba(18,164,91,.1);border:1px solid rgba(18,164,91,.3);color:#0d7a44;
  padding:14px 16px;border-radius:11px;font-size:.9rem;font-weight:600;margin-top:14px}
.form-err{background:rgba(200,60,50,.1);border:1px solid rgba(200,60,50,.3);color:#a32d2d;
  padding:14px 16px;border-radius:11px;font-size:.9rem;font-weight:600;margin-top:14px}
.form-err a{color:inherit}
.ct-form button[disabled]{opacity:.6;cursor:progress}
.ct-block{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;
  box-shadow:var(--shadow-sm)}
.ct-block h3{margin-bottom:18px;font-size:1.04rem}
.ct-channels{display:grid;gap:10px}

/* ---------- 页脚社媒 ---------- */
.foot .soc{flex-wrap:wrap}
.foot .soc a.is-off{opacity:.34}
.foot .soc a.is-off:hover{opacity:.62;background:rgba(255,255,255,.06)}
.foot-addr{display:block;padding:5px 0;color:#8E939B}

/* ==========================================================================
   响应式
   ========================================================================== */
@media(max-width:1080px){
  .cat-cols{grid-template-columns:1fr;gap:26px}
  .cat-side{position:static}
  .cat-side-in{flex-direction:row;gap:9px;overflow-x:auto;padding-bottom:8px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .cat-side-in::-webkit-scrollbar{display:none}
  .cat-side-hd{display:none}
  .cat-link{flex:none;white-space:nowrap;border:1.5px solid var(--line)}
  .vsplit{grid-template-columns:1fr}
  .curve-grid{grid-template-columns:1fr;gap:32px}
  .ct-grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:760px){
  .pbanner-in{padding:54px 24px 48px}
  .fld-grid{grid-template-columns:1fr}
  .fault summary{grid-template-columns:1fr 18px;grid-template-areas:"code chev" "title title" "machine machine";
    gap:9px;padding:16px 18px}
  .fault-code{grid-area:code;justify-self:start}
  .fault-t{grid-area:title;white-space:normal}
  .fault-m{grid-area:machine;white-space:normal}
  .fault-chev{grid-area:chev;align-self:start}
  .fault-b{padding:0 18px 18px}
  .dlcard{padding:15px 16px;gap:13px}
  .dlcard-v{display:none}
  .vmini-th{width:88px}
  .ct-form-card{padding:24px}
}

/* ==========================================================================
   产品详情页（product.html）
   由 cms.js 的 renderProductPage 渲染。所有分区都是「有数据才出现」。
   ========================================================================== */
.pd-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start;
  padding:56px 0 8px}
.pd-gal{position:relative}
.pd-gal-main{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;
  overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.pd-gal-main img{width:100%;height:100%;object-fit:cover;display:block}
.pd-gal-main .pcard-tag{position:absolute;top:14px;left:14px}
.pd-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pd-thumb{width:74px;height:74px;padding:0;border:2px solid var(--line);border-radius:12px;overflow:hidden;
  background:#fff;cursor:pointer;transition:border-color .18s,transform .18s}
.pd-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pd-thumb:hover{transform:translateY(-2px)}
.pd-thumb.on{border-color:var(--brand)}

.pd-head h1{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;margin:10px 0 0;letter-spacing:-.02em}
.pd-crumb{display:inline-flex;align-items:center;gap:7px;font-size:.83rem;font-weight:700;
  color:var(--brand-d);text-transform:none}
.pd-crumb .isvg{width:15px;height:15px}
.pd-head .lead{margin-top:14px}
.pd-status{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:7px 13px;border-radius:999px;
  font-size:.79rem;font-weight:800;letter-spacing:.02em}
.pd-status .isvg{width:15px;height:15px}
.pd-status.is-available{background:rgba(0,168,107,.10);color:#07734C}
.pd-status.is-on-request{background:var(--brand-soft);color:var(--brand-d)}

.pd-key{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.pd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

/* 参数表（键值） */
.pd-dl{margin:0}
.pd-dl>div{display:grid;grid-template-columns:minmax(130px,.62fr) minmax(0,1fr);gap:16px;
  padding:11px 0;border-bottom:1px dashed var(--line)}
.pd-dl>div:last-child{border-bottom:0}
.pd-dl dt{font-size:.83rem;font-weight:700;color:var(--muted);margin:0}
.pd-dl dd{margin:0;font-size:.93rem;color:var(--text)}

/* 要点列表 */
.pd-ul{list-style:none;margin:0;padding:0}
.pd-ul li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:.93rem;color:var(--text)}
.pd-ul .isvg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--brand-d)}

/* 简介段落 */
.pd-prose{max-width:860px}
.pd-prose p{font-size:1.03rem;line-height:1.75;color:var(--muted);margin:0 0 18px}
.pd-prose p:last-child{margin-bottom:0}
.pd-prose h2,.pd-prose h3{color:var(--ink);line-height:1.4;margin:26px 0 12px}
.pd-prose h2{font-size:1.35rem}
.pd-prose h3{font-size:1.12rem}
.pd-prose ul,.pd-prose ol{margin:0 0 18px;padding-left:1.3em;color:var(--muted);line-height:1.7}
.pd-prose li{margin:0 0 6px}
.pd-prose a{color:var(--brand);text-decoration:underline}

/* 富详情：图文视频块（图片宽度统一，可按块设置尺寸） */
/* 图片两列排布：文字/整宽图(size-full)/占位框占满整行，其余图片一行 2 张，缩短页面长度 */
.pd-detail{max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px;align-items:start}
.pd-detail .sec-head,.pd-detail .pd-prose,.pd-detail .pd-fig.size-full,.pd-detail .pd-vph{grid-column:1/-1}
.pd-detail .pd-fig{margin:20px auto;text-align:center;width:100%;max-width:100%}
.pd-detail .pd-fig.size-full{max-width:100%}
.pd-detail .pd-fig.size-large{max-width:100%}
.pd-detail .pd-fig.size-medium{max-width:100%}
.pd-detail .pd-fig.size-small{max-width:100%}
.pd-detail .pd-fig img{width:100%;height:auto;display:block;margin:0 auto;border-radius:var(--radius);box-shadow:0 6px 26px rgba(20,40,60,.08)}
.pd-detail .pd-fig figcaption{margin-top:10px;font-size:.86rem;color:var(--muted)}
.pd-detail .pd-video{margin:0;position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 26px rgba(20,40,60,.08)}
.pd-detail .pd-video iframe,.pd-detail .pd-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.pd-detail .pd-prose{margin:18px auto;max-width:860px}
.pd-filenote{max-width:860px;margin:14px auto 4px;padding:12px 16px;border:1px solid #e0b64c;background:#fdf6e3;border-radius:8px;font-size:.85rem;line-height:1.6;color:#6b5310}
.pd-detail .td-note,.td-note{max-width:860px;margin:22px auto 4px;padding:12px 16px;border:1px solid #d8dde3;background:#f6f8fa;border-radius:8px;font-size:.85rem;line-height:1.65;color:#41505c}
.pd-detail .td-note:last-child{margin-bottom:0}
.pd-detail .pd-prose p,.pd-detail .pd-prose ul,.pd-detail .pd-prose ol{max-width:none}
/* 视频块占满整行（横比 16:9 拆成半列太窄） */
.pd-detail .pd-fig-video{grid-column:1/-1}
/* 只有一张图时占满整行 */
.pd-detail-lone .pd-fig{grid-column:1/-1}
/* 窄屏回落为单列 */
@media (max-width:700px){.pd-detail{grid-template-columns:1fr}}

/* 卖点网格 */
.pd-hl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pd-hl-i{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;
  box-shadow:0 4px 18px rgba(20,40,60,.04)}
.pd-hl-i .isvg{width:24px;height:24px;color:var(--brand);margin-bottom:14px}
.pd-hl-i h3{margin:0 0 8px;font-size:1rem;letter-spacing:-.01em}
.pd-hl-i p{margin:0;font-size:.9rem;line-height:1.65;color:var(--muted)}

/* 参数两栏 */
.pd-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:52px;align-items:start}
.pd-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;
  box-shadow:0 4px 18px rgba(20,40,60,.04)}
.pd-block h2{margin:0 0 16px;font-size:1.16rem;letter-spacing:-.01em}
.pd-block h3{margin:0 0 12px;font-size:1rem}
.pd-col-side .pd-block+.pd-block{margin-top:22px}
.pd-block .pd-dl>div{padding:9px 0}

/* 色表 */
.pd-tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.pd-tbl th{background:#F7FAFC;text-align:left;padding:12px 16px;font-size:.78rem;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.pd-tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.pd-tbl tr:last-child td{border-bottom:0}
.pd-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;color:var(--brand-d);font-weight:700}

@media(max-width:1000px){
  .pd-top{grid-template-columns:1fr;gap:34px;padding-top:40px}
  .pd-cols{grid-template-columns:1fr;gap:32px}
  .pd-hl{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .pd-hl{grid-template-columns:1fr}
  .pd-dl>div{grid-template-columns:1fr;gap:3px}
  .pd-thumb{width:62px;height:62px}
  .pd-actions .btn{width:100%}
}

/* ==========================================================================
   错误代码查询（support 页）—— 由 iLatex 技术团队整理
   ========================================================================== */
.lk{display:grid;grid-template-columns:1.15fr 1fr auto;gap:14px;align-items:end;
  margin:34px auto 0;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:22px;box-shadow:var(--shadow-lg)}
.lk-f{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:700;color:var(--muted)}
.lk-f select,.lk-f input{border:1px solid var(--line);border-radius:10px;padding:12px 13px;
  font:inherit;font-size:.95rem;background:#fff;color:var(--ink-900);width:100%}
.lk-f select:focus,.lk-f input:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}
.lk-btn{height:47px;white-space:nowrap;display:inline-flex;align-items:center;gap:9px}
.lk-hint{display:flex;align-items:center;gap:8px;justify-content:center;margin:16px auto 0;
  color:var(--muted);font-size:.85rem;text-align:center}
.lk-hint .isvg{width:16px;height:16px;flex:none}
.lk-out{margin-top:28px}

.lk-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;
  box-shadow:var(--shadow-lg);margin:0 auto;animation:lkIn .28s ease}
@keyframes lkIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lk-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.lk-code{font-family:var(--mono);font-weight:800;font-size:1.05rem;background:var(--ink-950);
  color:#fff;padding:6px 14px;border-radius:8px;letter-spacing:.02em}
.lk-models{color:var(--muted);font-size:.84rem}
.lk-title{font-size:clamp(1.15rem,2vw,1.4rem);margin:0 0 12px}
.lk-sev{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700;
  padding:6px 13px;border-radius:100px;margin-bottom:20px}
.lk-sev .isvg{width:15px;height:15px;flex:none}
.lk-sev.sev-severe{background:#FEE8E4;color:#B02A17;border:1px solid #F6B9AF}
.lk-sev.sev-adv{background:#FFF4E0;color:#8A5A00;border:1px solid #F3D79A}
.lk-sev.sev-info,.lk-sev.sev-none{background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.lk-sec{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.lk-sec h4{font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand-d);margin:0 0 10px}
.lk-sec p{margin:0;color:var(--ink-900);line-height:1.75;font-size:.95rem}
.lk-sec ul,.lk-sec ol{margin:0;padding-left:22px;color:var(--ink-900);line-height:1.75;font-size:.95rem}
.lk-sec li+li{margin-top:7px}
[dir="rtl"] .lk-sec ul,[dir="rtl"] .lk-sec ol{padding-left:0;padding-right:22px}

.lk-parts{display:flex;flex-direction:column;gap:9px}
.lk-part{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--soft);
  border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.lk-part-low{background:#FFFDF6;border-style:dashed}
.lk-pn{font-family:var(--mono);font-weight:800;font-size:.95rem;color:var(--brand-d);
  background:#fff;border:1px solid var(--line);border-radius:7px;padding:5px 11px;white-space:nowrap}
.lk-pname{font-size:.93rem;font-weight:600;color:var(--ink-900)}
.lk-pname em{font-style:normal;font-weight:500;color:var(--muted);font-size:.84rem}
.lk-nopart{margin:0;color:var(--muted);font-size:.9rem;line-height:1.7}
.lk-src{display:flex;align-items:flex-start;gap:9px;margin:20px 0 0;padding:13px 16px;
  border-radius:10px;background:var(--soft);color:var(--muted);font-size:.85rem;line-height:1.65}
.lk-src .isvg{width:16px;height:16px;flex:none;margin-top:2px}
.lk-req{margin-top:22px}
.lk-req>summary{list-style:none;cursor:pointer;display:flex;width:100%;justify-content:center;align-items:center;gap:10px;
  padding:14px 20px;border:2px solid var(--brand);background:var(--brand);color:#fff;border-radius:10px;
  font-weight:800;font-size:1.18rem;line-height:1.4}
.lk-req>summary::-webkit-details-marker{display:none}
.lk-req>summary .isvg{width:24px;height:24px;flex:none}
.lk-req>summary:hover,.lk-req[open]>summary{filter:brightness(.94);color:#111}
.lk-req>summary:hover .isvg,.lk-req[open]>summary .isvg{color:#111}
.lk-req[open]>summary{margin-bottom:4px}
.lk-req-ch{transition:.2s;margin-left:2px}
.lk-req[open] .lk-req-ch{transform:rotate(90deg)}
[dir="rtl"] .lk-req>summary{flex-direction:row-reverse}
[dir="rtl"] .lk-req-ch{transform:scaleX(-1)}
[dir="rtl"] .lk-req[open] .lk-req-ch{transform:scaleX(-1) rotate(90deg)}

/* 错误代码输入联想（输一位带出所有以它开头的代码，再输一位缩小） */
.lk-ac{position:relative}
.lk-ac input{width:100%}
.lk-ac-l{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;background:#fff;
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;
  max-height:300px;overflow:auto}
.lk-ac-l[hidden]{display:none}
.lk-ac-i{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;
  border:0;border-radius:9px;padding:9px 11px;cursor:pointer;font:inherit;color:var(--ink-900)}
.lk-ac-i:hover,.lk-ac-i.on{background:var(--brand-soft,#fff7ef)}
.lk-ac-c{font-family:var(--mono);font-weight:800;font-size:.84rem;color:var(--brand-d);
  background:var(--brand-soft,#fff7ef);border-radius:7px;padding:4px 9px;flex:none}
.lk-ac-i.on .lk-ac-c{background:#fff}
.lk-ac-t{font-size:.86rem;color:var(--muted);line-height:1.45;min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
[dir="rtl"] .lk-ac-i{text-align:right}

.lk-cand{margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-lg)}
.lk-cand-t{font-weight:800;font-size:.84rem;color:var(--muted);margin:0 0 12px;
  letter-spacing:.05em;text-transform:uppercase}
.lk-cand-l{display:flex;flex-direction:column;gap:7px}
.lk-cand-i{display:flex;align-items:center;gap:14px;text-align:left;background:var(--soft);
  border:1px solid var(--line);border-radius:9px;padding:11px 15px;cursor:pointer;
  font:inherit;color:var(--ink-900);transition:.18s;width:100%}
.lk-cand-i:hover{border-color:var(--brand);background:var(--brand-soft)}
.lk-cand-i .lk-pn{background:#fff}
.lk-pt{font-size:.9rem;line-height:1.5}

.lk-nf{margin:0 auto;text-align:center;background:#fff;
  border:1px dashed var(--line);border-radius:14px;padding:34px 24px;color:var(--muted)}
.lk-nf .isvg{width:26px;height:26px;margin:0 auto 12px;display:block;color:var(--muted-2)}
.lk-nf p{margin:0 0 16px;line-height:1.7}
.lk-nf .btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;
  border:1px solid var(--brand);color:var(--brand);border-radius:9px;font-weight:700;text-decoration:none}
.lk-nf .btn-ghost:hover{background:var(--brand);color:#fff}

@media(max-width:760px){
  .lk{grid-template-columns:1fr;padding:18px}
  .lk-btn{width:100%;justify-content:center}
  .lk-card{padding:20px 18px}
  .lk-part{flex-direction:column;align-items:flex-start;gap:8px}
  .lk-cand-i{flex-direction:column;align-items:flex-start;gap:7px}
}


/* ---- 测试文档详情页 testdoc.html（2026-09-28 新增）---- */
.td-top{max-width:900px;padding:52px 0 8px}
.td-top .eyebrow{margin:14px 0 10px}
.td-top h1{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0 0 14px;letter-spacing:-.03em}
.td-top .lead{font-size:1.05rem;color:var(--muted);margin:0 0 26px;max-width:70ch}
.td-cover{margin:0 0 26px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--ink-900)}
.td-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.td-top .pd-actions{margin-top:8px}
@media(max-width:760px){ .td-top{padding-top:34px} }

/* 富详块里的视频占位框（url 为空时） */
.pd-vph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  aspect-ratio:16/9;background:#F1F2F4;border:1px dashed var(--line);border-radius:12px;text-align:center;padding:24px}
.pd-vph b{font-size:1rem;color:var(--ink-900)}
.pd-vph span{font-size:.88rem;color:var(--muted);max-width:52ch}

/* ---- 测试页视频：行式列表（与测试文档区排列一致，一行一条）---- */
.vid.vrow{flex-direction:row;align-items:center;gap:18px;padding:13px 20px 13px 13px}
.vid.vrow .thumb{width:176px;flex:none;border-radius:10px}
.vid.vrow .play i{width:42px;height:42px}
.vid.vrow .play i svg{width:16px;height:16px;margin-left:2px}
.vid.vrow .dur{right:8px;bottom:8px;font-size:.68rem;padding:3px 7px}
.vid.vrow .ribbon{left:8px;top:8px;font-size:.62rem;padding:4px 8px}
.vid.vrow .body{padding:0;flex:1;min-width:0}
.vid.vrow .cat{margin-bottom:6px}
.vid.vrow h3{font-size:1rem;margin-bottom:6px}
.vid.vrow p{font-size:.86rem;flex:none}
.vid.vrow:hover{transform:translateY(-2px)}
.vid.vrow .vrow-go{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--soft);border:1px solid var(--line);color:var(--muted-2);transition:.2s}
.vid.vrow .vrow-go .isvg{width:15px;height:15px}
.vid.vrow:hover .vrow-go{background:var(--brand);border-color:var(--brand);color:#3A1204;transform:scale(1.06)}
@media(max-width:760px){
  .vid.vrow{gap:12px;padding:11px 14px}
  .vid.vrow .thumb{width:116px}
  .vid.vrow .play i{width:34px;height:34px}
  .vid.vrow .vrow-go{display:none}
  .vid.vrow h3{font-size:.94rem}
  .vid.vrow p{display:none}

/* 使用方法链接卡：跳转到 usage.html 独立网页（复用 .vid 卡外观，去掉锚点默认下划线） */
.vid-link{display:block;text-decoration:none;color:inherit}
.vid-link:hover{transform:translateY(-3px)}
.vid-link .body{padding:14px 16px 16px}
.vid-link .cat{display:inline-block;margin-bottom:7px}
.vid-link h3{font-size:1.02rem;margin:0 0 7px;color:var(--ink)}
.vid-link p{font-size:.88rem;color:var(--muted);margin:0 0 10px;line-height:1.55}
.vid-link .vid-go{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--brand)}
.vid-link:hover .vid-go{text-decoration:underline}
.vid-link .vid-go .isvg{width:15px;height:15px}
}
