/* ============================================================
   GEO 内容页组件补丁 v2
   设计思路：借鉴 xueyuenanyu.com 的排版——系统无衬线 + Noto Sans、
   舒适行高、卡片网格、eyebrow 小标签、充分留白；
   色板/字体令牌沿用官网 yuexun-style.css（--jade/--gold/--cream/--dark/
   --font-serif/--font-sans 等），保持与官网同一套视觉语言。
   仅补充 GEO 内容页特有的组件样式，不改动官网框架本身。
   ============================================================ */

/* ---------- 主容器：内容页宽度与节奏 ---------- */
.kb-main{
  max-width:1080px;
  margin:0 auto;
  padding:56px 24px 80px;
}

/* 阅读栏：正文段落/列表/小标题限定舒适行宽（≈38em），长文更易读 */
.kb-main > p,
.kb-main > ul,
.kb-main > ol,
.kb-main > h2,
.kb-main > h3{max-width:760px}

/* ---------- 文章 / 列表 标题区 ---------- */
.kb-main h1{
  font-family:var(--font-serif);
  font-size:clamp(1.95rem,3.6vw,2.75rem);
  font-weight:700;
  line-height:1.22;
  letter-spacing:.4px;
  color:var(--dark);
  margin:0 0 16px;
}
/* 文章元信息：化作 eyebrow 小标签（品类 · 日期）+ 金线 */
.kb-main .meta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--jade);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:1.5px;
  margin:0 0 30px;
}
.kb-main .meta::after{
  content:"";
  width:42px;height:2px;
  background:var(--gold);
  display:inline-block;
  border-radius:2px;
}

/* ---------- 正文排版：舒适行高、字号、段落间距 ---------- */
.kb-main h2{
  font-family:var(--font-sans);
  font-size:1.42rem;
  font-weight:700;
  color:var(--jade-dark);
  line-height:1.4;
  margin:46px 0 16px;
  padding-left:15px;
  position:relative;
}
.kb-main h2::before{
  content:"";
  position:absolute;left:0;top:5px;bottom:5px;
  width:4px;border-radius:3px;
  background:linear-gradient(180deg,var(--jade),var(--gold));
}
.kb-main h3{
  font-family:var(--font-sans);
  font-size:1.14rem;
  font-weight:600;
  color:var(--dark);
  margin:30px 0 12px;
}
.kb-main p{
  font-size:1.06rem;
  line-height:1.95;
  color:#33373d;
  margin:0 0 18px;
}
.kb-main ul,.kb-main ol{
  font-size:1.03rem;
  line-height:1.95;
  color:#33373d;
  padding-left:4px;
}
.kb-main li{
  margin:9px 0;
  padding-left:24px;
  position:relative;
}
.kb-main ul li::before{
  content:"";
  position:absolute;left:5px;top:.72em;
  width:7px;height:7px;border-radius:50%;
  background:var(--jade);
}
.kb-main ol{counter-reset:kbli}
.kb-main ol li{padding-left:32px;counter-increment:kbli}
.kb-main ol li::before{
  content:counter(kbli);
  position:absolute;left:0;top:.05em;
  width:22px;height:22px;border-radius:50%;
  background:var(--jade-light);
  color:var(--jade-dark);
  font-size:.78rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.kb-main a{
  color:var(--jade);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(212,168,75,.55);
  transition:.15s;
}
.kb-main a:hover{text-decoration-color:var(--jade)}
.kb-main strong{color:var(--dark);font-weight:700}
.kb-main hr{border:0;border-top:1px solid var(--cream-dark);margin:34px 0}
.kb-main img{border-radius:12px;margin:22px 0;box-shadow:0 6px 22px rgba(26,26,46,.08)}
.kb-main blockquote{
  margin:22px 0;padding:16px 22px;
  border-left:4px solid var(--gold);
  background:var(--cream-dark);
  border-radius:0 12px 12px 0;
  color:var(--dark-soft);font-style:normal;
}
.kb-main pre{
  background:#1A1A2E;color:#E8F5E9;
  padding:18px 20px;border-radius:12px;
  overflow:auto;font-size:.9rem;line-height:1.7;
  margin:20px 0;
}
.kb-main code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* ---------- 表格（术语对照等） ---------- */
.tbl{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;font-size:.94rem;
  border:1px solid var(--cream-dark);border-radius:12px;overflow:hidden}
.tbl th,.tbl td{border-bottom:1px solid var(--cream-dark);padding:11px 14px;text-align:left;vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl th{background:var(--jade-light);font-weight:700;color:var(--jade-dark)}
.tbl tbody tr:nth-child(even){background:rgba(232,245,233,.4)}

/* ---------- 术语卡片 ---------- */
.terms{
  background:linear-gradient(180deg,var(--jade-light),#F2FBF4);
  border:1px solid #CDEBD8;
  border-radius:16px;
  padding:22px 26px;
  margin:38px 0;
  max-width:760px;
}
.terms h3{margin:0 0 12px;color:var(--jade-dark);font-family:var(--font-serif);font-size:1.2rem}
.terms ul{padding-left:0;margin:0}
.terms li{margin:7px 0;padding-left:26px;color:var(--dark-soft);font-size:1rem}
.terms li::before{content:"●";color:var(--gold);font-size:.7rem;left:6px;top:.35em;background:none}

/* ---------- 留资表单卡片 ---------- */
.lead{
  background:#fff;
  border:1px solid var(--cream-dark);
  border-radius:18px;
  padding:30px 32px;
  margin:44px 0;
  max-width:760px;
  box-shadow:0 10px 30px rgba(13,124,92,.08);
}
.lead h2{
  font-family:var(--font-serif);
  border:0;padding:0;margin:0 0 16px;
  font-size:1.35rem;color:var(--jade-dark);
}
.lead h2::before{display:none}
.lead-intro{color:var(--gray);margin:-4px 0 18px}
.lead-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.lead-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:150px;padding:12px 22px;border-radius:9px;font-weight:700;text-decoration:none;transition:.15s}
.lead-primary{background:var(--jade);color:#fff}
.lead-secondary{background:#fff;color:var(--jade-dark);border:1px solid var(--jade)}
.lead-actions a:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(13,124,92,.15)}
.lead form{display:grid;gap:13px;max-width:560px}
.lead input,.lead select,.lead textarea{
  padding:12px 14px;border:1px solid #CDEBD8;border-radius:10px;
  font-size:.95rem;font-family:inherit;background:var(--cream);
  transition:.15s;
}
.lead input:focus,.lead select:focus,.lead textarea:focus{
  outline:none;border-color:var(--jade);background:#fff;
  box-shadow:0 0 0 3px var(--jade-glow);
}
.lead textarea{min-height:84px;resize:vertical}
.lead button{
  background:linear-gradient(135deg,var(--jade),var(--jade-dark));
  color:#fff;border:0;padding:13px;border-radius:10px;
  font-size:.98rem;cursor:pointer;font-weight:700;letter-spacing:.5px;
  transition:.15s;
}
.lead button:hover{opacity:.93;transform:translateY(-1px)}
.lead .msg{color:var(--jade-dark);font-size:.92rem;min-height:18px;font-weight:700}
.lead .hint{color:var(--gray);font-size:.86rem;margin-top:6px}
.lead .wx,.lead .ph{color:var(--jade-dark);font-weight:600}

/* ---------- 栏目 hero（zhuanlan / faq 顶部） ---------- */
.kb-hero{text-align:center;padding:14px 0 26px;max-width:820px;margin:0 auto}
.kb-hero h1{font-size:clamp(2rem,4vw,2.9rem)}
.kb-hero p{color:var(--gray);font-size:1.06rem;line-height:1.85;max-width:720px;margin:14px auto 0}

/* ---------- 分类卡片网格（zhuanlan 列表 / 分类聚合） ---------- */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:24px;
  margin:30px 0 10px;
}
.card{
  position:relative;
  display:flex;flex-direction:column;
  background:#fff;
  border:1px solid var(--cream-dark);
  border-radius:16px;
  padding:24px 24px 20px;
  overflow:hidden;
  transition:transform .22s var(--transition),box-shadow .22s var(--transition),border-color .22s;
}
.card::before{
  content:"";position:absolute;left:0;top:0;height:3px;width:100%;
  background:linear-gradient(90deg,var(--jade),var(--gold));
  opacity:0;transition:opacity .22s;
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 38px rgba(13,124,92,.14);
  border-color:transparent;
}
.card:hover::before{opacity:1}
.card .cat-tag{
  align-self:flex-start;
  font-size:.72rem;color:#fff;background:var(--gold);
  border-radius:7px;padding:3px 11px;margin-bottom:12px;font-weight:700;letter-spacing:.5px;
}
.card .title{
  font-family:var(--font-serif);
  font-size:1.2rem;font-weight:700;color:var(--dark);
  line-height:1.42;margin:0 0 10px;display:block;
}
.card .title:hover{color:var(--jade-dark)}
.card .excerpt{
  color:var(--gray);font-size:.92rem;line-height:1.75;
  flex:1;margin:0 0 16px;
}
.card .more{
  color:var(--jade);font-weight:700;font-size:.9rem;
  display:inline-flex;align-items:center;gap:5px;
}
.card:hover .more{gap:9px;transition:gap .22s}

/* 旧版单链接卡片兼容（部分页面仍用 <a> 直连） */
.card > a{font-weight:600;color:var(--dark)}
.card > a:hover{color:var(--jade-dark)}

/* ---------- 服务快捷导航 ---------- */
.svc-nav{display:flex;flex-wrap:wrap;gap:11px;margin:16px 0 10px}
.svc-nav a{
  background:#fff;border:1px solid var(--jade);color:var(--jade);
  border-radius:9px;padding:9px 15px;font-size:.92rem;font-weight:600;
  transition:.15s;
}
.svc-nav a:hover{background:var(--jade);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,124,92,.18)}

/* ---------- FAQ ---------- */
.faq-list{max-width:860px;margin:24px auto 0;display:grid;gap:14px}
.faq-item{
  background:#fff;border:1px solid var(--cream-dark);
  border-left:4px solid var(--jade);
  border-radius:12px;
  padding:18px 22px;
  transition:.15s;
}
.faq-item:hover{box-shadow:0 8px 22px rgba(13,124,92,.1);border-left-color:var(--gold)}
.faq-item h3{margin:0 0 8px;font-size:1.12rem;color:var(--jade-dark);font-family:var(--font-serif);font-weight:700}
.faq-item p{margin:0;color:#33373d;line-height:1.9;font-size:1rem}

/* ---------- 导航栏当前栏目高亮（框架不变，仅标识位置） ---------- */
.nav-cta-active{color:var(--gold)!important;font-weight:700;border:1px solid var(--gold);border-radius:6px;padding:4px 10px}

/* ---------- 首页「同传工具」专区（若启用 tool-card） ---------- */
.kb-tools{margin:8px 0 4px}
.kb-tools-intro{color:var(--gray);max-width:780px;margin:0 0 18px}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.tool-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cream-dark);border-radius:14px;padding:20px;border-top:3px solid var(--gold);transition:.15s;text-decoration:none}
.tool-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(13,124,92,.14)}
.tool-badge{align-self:flex-start;font-size:.72rem;color:#fff;background:var(--jade);border-radius:6px;padding:3px 10px;margin-bottom:10px;font-weight:600}
.tool-name{font-family:var(--font-serif);font-size:1.15rem;color:var(--dark);font-weight:600;margin-bottom:8px}
.tool-desc{color:var(--gray);font-size:.9rem;line-height:1.7;flex:1}
.tool-go{margin-top:12px;color:var(--jade);font-weight:600;font-size:.9rem}
.kb-tools-cta{text-align:center;margin:24px 0 4px}
.tool-cta{display:inline-block;background:linear-gradient(135deg,var(--jade),var(--jade-dark));color:#fff;text-decoration:none;padding:12px 26px;border-radius:10px;font-weight:600;font-size:.95rem;transition:.15s}
.tool-cta:hover{opacity:.92;transform:translateY(-2px)}

/* ---------- 响应式 ---------- */
@media (max-width:720px){
  .kb-main{padding:40px 18px 60px}
  .kb-main h1{font-size:1.8rem}
  .card-grid{grid-template-columns:1fr}
  .lead{padding:24px 20px}
  .nav-logo-sub,.nav-auth{display:none!important}
  .nav-logo{font-size:1rem;white-space:nowrap}
  .nav-logo-img{width:32px;height:32px}
  .lang-switch{margin-left:auto}
  .lang-btn{padding:5px 7px!important;font-size:.68rem!important}
  .mobile-toggle{margin-left:6px}
  .lead-actions{display:grid;grid-template-columns:1fr}
  .lead-actions a{width:100%}
}
