/* ==========================================================================
   娱星秀 · 发布中心 / 创作投稿 / 发布视频 / 企业入驻
   配套 assets/js/publish.js 的样式；所有颜色走设计令牌，深浅主题自适应
   ========================================================================== */

/* ------------------------------ 颜色工具类 ------------------------------ */
/* 此前 contribute 页引用了 c-primary / c-accent，但样式表里并没有定义 */
.c-primary { color: var(--primary); }
.c-accent { color: var(--accent); }
.c-muted { color: var(--muted-foreground); }
.spin { animation: spin 0.9s linear infinite; }
.lnk { color: var(--primary); text-decoration: none; }
.lnk:hover { text-decoration: underline; }
/* banner 右侧操作区推到最右（原站 justify-end，此处补 auto 外边距） */
.sp-banner .acts { margin-left: auto; }

/* ==========================================================================
   频道页头发布入口（每个板块右侧挂对应发布按钮）
   ========================================================================== */
.channel-head { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.channel-head .inner { flex: 1; min-width: 220px; }
.ch-acts { position: relative; z-index: 1; display: flex; align-items: center; gap: 8.5px; flex-shrink: 0; flex-wrap: wrap; }
.ch-act {
  display: inline-flex; align-items: center; gap: 6px;
  height: 34px; padding: 0 13px; border-radius: 4.25px;
  font-size: 12.75px; font-weight: 500; white-space: nowrap;
  background: var(--primary); color: var(--primary-foreground);
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}
.ch-act:hover { background: rgba(var(--primary-rgb), 0.9); }
.ch-act.ghost { background: transparent; border: 1px solid var(--border); color: var(--muted-foreground); }
.ch-act.ghost:hover { border-color: rgba(var(--primary-rgb), 0.5); color: var(--primary); background: rgba(var(--primary-rgb), 0.06); }
@media (max-width: 767px) {
  .channel-head { padding: 20px 16px; }
  .ch-acts { width: 100%; }
  .ch-act { flex: 1; justify-content: center; }
}

/* ==========================================================================
   企业商圈底部「优质企业 · 合作共赢」
   ========================================================================== */
.co-join {
  position: relative; overflow: hidden; margin-top: 22px;
  border-radius: 8px; background: var(--muted); border: 1px solid var(--border);
  padding: 26px 24px;
}
.co-join .wash { position: absolute; inset: 0; opacity: 0.05; background-image: var(--gradient-primary); }
.jo-inner { position: relative; z-index: 1; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.jo-ico {
  width: 56px; height: 56px; border-radius: 12.75px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(var(--primary-rgb), 0.12); color: var(--primary);
}
.jo-txt { flex: 1; min-width: 240px; }
.jo-txt h3 { font-size: 17px; font-weight: 700; color: var(--foreground); }
.jo-txt p { margin-top: 5px; font-size: 13px; color: var(--muted-foreground); }
.jo-feats { display: flex; flex-wrap: wrap; gap: 8.5px 18px; margin-top: 11px; }
.jo-feats li { display: flex; align-items: center; gap: 5px; font-size: 12.75px; color: var(--muted-foreground); }
.jo-feats li svg { color: var(--accent); }
.jo-acts { display: flex; align-items: center; gap: 8.5px; flex-shrink: 0; flex-wrap: wrap; }
/* 频道页只引 style.css，拿不到 pages.css 的 .sp-btn，这里给 CTA 自带一套按钮 */
.jo-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 38.25px; padding: 0 17px; border-radius: 4.25px;
  font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer;
  background: var(--primary); color: var(--primary-foreground);
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}
.jo-btn:hover { background: rgba(var(--primary-rgb), 0.9); }
.jo-btn.ghost { background: transparent; border: 1px solid var(--border); color: var(--muted-foreground); }
.jo-btn.ghost:hover { border-color: rgba(var(--primary-rgb), 0.5); color: var(--primary); background: rgba(var(--primary-rgb), 0.06); }

/* ==========================================================================
   统一发布：schema 表单 / 发布中心 / 成功态
   ========================================================================== */
.pub-head { display: flex; align-items: center; gap: 10.625px; margin-bottom: 17px; }
.pub-head-ico {
  width: 42.5px; height: 42.5px; border-radius: 10.625px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--muted); color: var(--primary);
}
.pub-head-t { font-size: 14.875px; font-weight: 600; color: var(--foreground); }
.pub-head-s { font-size: 11px; color: var(--muted-foreground); margin-top: 1px; }

.pub-fields { display: flex; flex-direction: column; gap: 13px; }
.pub-fields.pub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.pub-field.half { grid-column: span 1; }
@media (max-width: 560px) { .pub-fields.pub-grid { grid-template-columns: 1fr; } }

.pub-lb {
  display: flex; align-items: center; gap: 6px;
  font-size: 12.75px; font-weight: 500; color: var(--foreground); margin-bottom: 6px;
}
.pub-req { color: var(--destructive); font-style: normal; }
.pub-hint { margin-left: auto; font-size: 10.625px; font-weight: 400; color: var(--muted-foreground); }

.pub-in {
  width: 100%; min-height: 36px; padding: 8px 10.625px;
  background: var(--muted); border: 1px solid var(--border); border-radius: 6.375px;
  font-size: 13px; color: var(--foreground); font-family: inherit;
  outline: none; resize: none; transition: border-color 0.16s, background 0.16s;
}
.pub-in::placeholder { color: var(--muted-foreground); }
.pub-in:focus { border-color: rgba(var(--primary-rgb), 0.55); }
select.pub-sel {
  appearance: none; cursor: pointer; padding-right: 30px;
  background-image: linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%), linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);
  background-position: calc(100% - 16px) 15px, calc(100% - 11px) 15px;
  background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}
.pub-field.bad .pub-in, .pub-field.bad .pub-drop { border-color: rgba(var(--destructive), 0.7); }
.pub-err { display: none; margin-top: 5px; font-size: 11px; color: var(--destructive); }
.pub-err.show { display: block; }

/* 文件上传 */
.pub-drop {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  padding: 17px; cursor: pointer; text-align: center;
  border: 1px dashed var(--border); border-radius: 8.5px;
  background: var(--surface-2); transition: border-color 0.18s, background 0.18s;
}
.pub-drop:hover { border-color: rgba(var(--primary-rgb), 0.5); background: rgba(var(--primary-rgb), 0.05); }
.pub-drop-ico { display: flex; color: var(--primary); }
.pub-drop-t { font-size: 12.75px; color: var(--foreground); }
.pub-drop-d { font-size: 10.625px; color: var(--muted-foreground); }
.pub-files { display: none; flex-wrap: wrap; gap: 6.375px; margin-top: 8.5px; }
.pub-files.on { display: flex; }
.pub-file {
  display: inline-flex; align-items: center; gap: 5px; max-width: 100%;
  padding: 4px 8px; border-radius: 4.25px; font-size: 11px;
  background: rgba(var(--accent-rgb), 0.1); border: 1px solid rgba(var(--accent-rgb), 0.28); color: var(--foreground);
}
.pub-file svg:first-child { color: var(--accent); flex-shrink: 0; }
.pub-file .n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 190px; }
.pub-file .s { color: var(--muted-foreground); flex-shrink: 0; }
.pub-file .x { display: flex; color: var(--muted-foreground); flex-shrink: 0; }
.pub-file .x:hover { color: var(--destructive); }

/* 标签 */
.pub-tags {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6.375px;
  min-height: 36px; padding: 6px 10.625px;
  background: var(--muted); border: 1px solid var(--border); border-radius: 6.375px;
}
.pub-tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 7px; border-radius: 4.25px; font-size: 11px;
  background: rgba(var(--primary-rgb), 0.13); color: var(--primary); border: 1px solid rgba(var(--primary-rgb), 0.3);
}
.pub-tag .x { display: flex; }
.pub-tagin { flex: 1; min-width: 90px; border: 0; outline: 0; background: transparent; color: var(--foreground); font-size: 12.75px; font-family: inherit; }
.pub-tagin::placeholder { color: var(--muted-foreground); }
.pub-chips { display: flex; flex-wrap: wrap; gap: 6.375px; margin-top: 8.5px; }
.pub-chip {
  padding: 3px 9px; border-radius: 999px; font-size: 11px; color: var(--muted-foreground);
  border: 1px solid var(--border); background: var(--surface-1); transition: all 0.16s;
}
.pub-chip:hover { border-color: rgba(var(--primary-rgb), 0.5); color: var(--primary); }
.pub-chip.on { background: rgba(var(--primary-rgb), 0.13); border-color: rgba(var(--primary-rgb), 0.5); color: var(--primary); }

/* 复选 */
.pub-check { display: flex; align-items: center; gap: 8px; font-size: 12.75px; color: var(--muted-foreground); cursor: pointer; }
.pub-check input { width: 15px; height: 15px; accent-color: var(--primary); cursor: pointer; }
.pub-check span { flex: 1; }

.pub-foot { display: flex; align-items: center; gap: 8.5px; margin-top: 20px; }
.pub-foot .sb-btn { height: 38.25px; font-size: 13px; }

/* 发布中心弹窗 */
.pub-center-tip { font-size: 12.75px; color: var(--muted-foreground); }
.pub-cat { font-size: 11px; font-weight: 600; color: var(--muted-foreground); letter-spacing: 0.04em; margin: 6px 0 -2px; }
.pub-cat:first-child { margin-top: 0; }
.pub-center { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10.625px; }
@media (max-width: 640px) { .pub-center { grid-template-columns: 1fr; } }
.pub-opt {
  display: flex; align-items: center; gap: 12.75px; text-align: left;
  padding: 13px; border-radius: 10.625px;
  background: var(--card); border: 1px solid var(--border);
  transition: border-color 0.18s, background 0.18s, transform 0.18s;
}
.pub-opt:hover { border-color: rgba(var(--primary-rgb), 0.45); background: rgba(var(--primary-rgb), 0.04); transform: translateY(-1px); }
.pub-opt .ico {
  width: 42.5px; height: 42.5px; border-radius: 10.625px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; background: var(--muted);
}
.pub-opt .txt { flex: 1; min-width: 0; }
.pub-opt .nm { display: flex; align-items: center; gap: 6.375px; font-size: 13px; font-weight: 600; color: var(--foreground); }
.pub-opt .cnt {
  font-style: normal; font-size: 9px; font-weight: 500; padding: 1px 5px; border-radius: 4.25px;
  background: rgba(var(--accent-rgb), 0.15); color: var(--accent);
}
.pub-opt .ds { display: block; font-size: 11px; color: var(--muted-foreground); margin-top: 2px; line-height: 1.45; }
.pub-opt > svg { flex-shrink: 0; color: var(--muted-foreground); }

/* 成功态 */
.pub-done { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 12.75px 0 4.25px; }
.pub-done-ico {
  width: 59.5px; height: 59.5px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(var(--accent-rgb), 0.12); border: 1px solid rgba(var(--accent-rgb), 0.35); color: var(--accent);
  margin-bottom: 13px;
}
.pub-done-t { font-size: 15px; font-weight: 700; color: var(--foreground); }
.pub-done-s { font-size: 12.75px; color: var(--muted-foreground); margin-top: 5px; max-width: 380px; line-height: 1.6; }
.pub-done-acts { display: flex; align-items: center; gap: 8.5px; margin-top: 17px; flex-wrap: wrap; justify-content: center; }
.pub-panel-done { display: flex; flex-direction: column; }

/* ==========================================================================
   发布视频页：上传进度 / 我的发布
   ========================================================================== */
.up-progress { margin-top: 17px; }
.up-bar { height: 6.375px; border-radius: 999px; background: var(--muted); overflow: hidden; }
.up-bar span { display: block; height: 100%; border-radius: 999px; background: var(--gradient-primary); transition: width 0.2s linear; }
.up-progress p { margin-top: 8px; font-size: 11px; color: var(--muted-foreground); }
.up-extra { margin-top: 17px; padding-top: 17px; border-top: 1px solid var(--border); width: 100%; }
.up-extra-t { font-size: 12.75px; font-weight: 600; color: var(--foreground); margin-bottom: 10.625px; }
.up-rec { display: flex; align-items: flex-start; gap: 8.5px; padding: 8.5px 0; border-bottom: 1px solid var(--border-soft); }
.up-rec:last-child { border-bottom: 0; }
.up-rec-ico { display: flex; color: var(--primary); margin-top: 2px; flex-shrink: 0; }
.up-rec p { font-size: 12.75px; color: var(--foreground); line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 190px; }
.up-rec span { font-size: 10.625px; color: var(--muted-foreground); }
.up-empty { font-size: 12.75px; color: var(--muted-foreground); text-align: center; padding: 10.625px 0; line-height: 1.9; }

/* 创作投稿页：我的发布（各板块发布量统计） */
.cm-list { display: flex; flex-direction: column; gap: 2px; }
.cm-row { display: flex; align-items: center; gap: 8.5px; padding: 7px 0; border-bottom: 1px solid var(--border-soft); }
.cm-row:last-child { border-bottom: 0; }
.cm-row .ico { display: flex; flex-shrink: 0; }
.cm-row .nm { flex: 1; font-size: 12.75px; color: var(--foreground); }
.cm-row .ct { font-size: 11px; color: var(--muted-foreground); }
.cm-row .ct.on { color: var(--accent); font-weight: 600; }

/* ==========================================================================
   企业入驻申请页
   ========================================================================== */
.ap-steps { display: grid; grid-template-columns: 1fr; gap: 12.75px; }
@media (min-width: 768px) { .ap-steps { grid-template-columns: repeat(3, 1fr); } }
.ap-step {
  position: relative; padding: 21.25px; border-radius: 12.75px;
  background: var(--card); border: 1px solid var(--border);
}
.ap-step-no {
  position: absolute; top: 17px; right: 17px;
  font-size: 21.25px; font-weight: 700; color: var(--border); line-height: 1;
}
.ap-step-ico {
  width: 42.5px; height: 42.5px; border-radius: 10.625px; display: flex; align-items: center; justify-content: center;
  background: rgba(var(--primary-rgb), 0.12); color: var(--primary); margin-bottom: 12.75px;
}
.ap-step-t { font-size: 14.875px; font-weight: 600; color: var(--foreground); }
.ap-step-d { font-size: 12.75px; color: var(--muted-foreground); margin: 5px 0 12.75px; line-height: 1.55; }

.ap-note {
  display: flex; align-items: flex-start; gap: 8.5px; margin-bottom: 17px;
  padding: 10.625px 12.75px; border-radius: 6.375px; font-size: 12.75px; line-height: 1.55;
  background: rgba(var(--primary-rgb), 0.08); border: 1px solid rgba(var(--primary-rgb), 0.2);
  color: var(--muted-foreground);
}
.ap-note svg { color: var(--primary); flex-shrink: 0; margin-top: 2px; }

.ap-rights { display: flex; flex-direction: column; gap: 12.75px; }
.ap-right { display: flex; align-items: flex-start; gap: 8.5px; }
.ap-right .ico {
  width: 34px; height: 34px; border-radius: 8.5px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; background: var(--muted);
}
.ap-right p { font-size: 12.75px; font-weight: 600; color: var(--foreground); }
.ap-right span { display: block; font-size: 11px; color: var(--muted-foreground); margin-top: 2px; line-height: 1.5; }

.ap-plans { display: flex; flex-direction: column; gap: 12.75px; }
.ap-plan { padding: 13px; border-radius: 8.5px; background: var(--surface-2); border: 1px solid var(--border); }
.ap-plan-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10.625px; }
.ap-plan-h span { font-size: 13px; font-weight: 600; }
.ap-plan-h b { font-size: 12.75px; color: var(--foreground); }

.ap-faq { display: flex; flex-direction: column; gap: 8.5px; }
.ap-qa { border-radius: 8.5px; background: var(--card); border: 1px solid var(--border); overflow: hidden; }
.ap-qa.open { border-color: rgba(var(--primary-rgb), 0.4); }
.ap-q {
  display: flex; align-items: center; gap: 10.625px; width: 100%; text-align: left;
  padding: 13px 17px; font-size: 13px; font-weight: 500; color: var(--foreground);
}
.ap-q > span { flex: 1; }
.ap-q svg { flex-shrink: 0; color: var(--muted-foreground); transition: transform 0.2s; }
.ap-qa.open .ap-q svg { transform: rotate(180deg); color: var(--primary); }
.ap-a { display: none; padding: 0 17px 15px; }
.ap-qa.open .ap-a { display: block; }
.ap-a p { font-size: 12.75px; color: var(--muted-foreground); line-height: 1.7; }

.ap-done-more { margin-top: 17px; padding-top: 17px; border-top: 1px solid var(--border); width: 100%; }
.ap-done-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 12.75px; }
.ap-done-row span { color: var(--muted-foreground); }
.ap-done-row b { color: var(--foreground); font-weight: 600; }
.ap-done-tip {
  display: flex; align-items: flex-start; gap: 6.375px; margin-top: 10.625px;
  padding: 10.625px; border-radius: 6.375px; font-size: 12.75px; line-height: 1.55;
  background: rgba(var(--accent-rgb), 0.09); border: 1px solid rgba(var(--accent-rgb), 0.25);
  color: var(--muted-foreground); text-align: left;
}
.ap-done-tip svg { color: var(--accent); flex-shrink: 0; margin-top: 2px; }
.pub-panel-done .ap-done-more { text-align: left; }

/* ==========================================================================
   平台规则文档页（legal.html：用户协议 / 隐私政策 / 权利声明）
   ========================================================================== */
.lg-banner .sp-b-icon,
.cp-banner .sp-b-icon {
  background: rgba(var(--primary-rgb), 0.15);
  border: 1px solid rgba(var(--primary-rgb), 0.3);
  color: var(--primary);
}

.lg-cols { display: grid; grid-template-columns: 1fr; gap: 21.25px; align-items: start; }
@media (min-width: 1024px) { .lg-cols { grid-template-columns: 280px minmax(0, 1fr); } }

.lg-side { display: flex; flex-direction: column; gap: 12.75px; }
@media (min-width: 1024px) { .lg-side { position: sticky; top: 17px; } }
.lg-side-card {
  padding: 13px; border-radius: 12.75px;
  background: var(--card); border: 1px solid var(--border);
}
.lg-side-t {
  display: flex; align-items: center; gap: 6.375px; margin-bottom: 8.5px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--muted-foreground);
}
.lg-side-t svg { color: var(--primary); }

.lg-tabs { display: flex; flex-direction: column; gap: 4.25px; }
.lg-tab {
  display: flex; align-items: center; gap: 8.5px; padding: 8.5px 10.625px;
  border-radius: 8.5px; font-size: 12.75px; color: var(--muted-foreground);
  background: transparent; border: 1px solid transparent;
  transition: background 0.16s, color 0.16s, border-color 0.16s;
}
.lg-tab .ico { display: flex; flex-shrink: 0; }
.lg-tab .nm { flex: 1; }
.lg-tab > svg { opacity: 0.45; flex-shrink: 0; }
.lg-tab:hover { background: var(--surface-2); color: var(--foreground); }
.lg-tab.on {
  background: rgba(var(--primary-rgb), 0.12); border-color: rgba(var(--primary-rgb), 0.35);
  color: var(--primary); font-weight: 600;
}
.lg-tab.on > svg { opacity: 1; }

.lg-toc { display: flex; flex-direction: column; gap: 2px; max-height: 340px; overflow-y: auto; }
.lg-toc-a {
  padding: 5.25px 8.5px; border-left: 2px solid var(--border);
  font-size: 12.75px; color: var(--muted-foreground); transition: color 0.16s, border-color 0.16s;
}
.lg-toc-a:hover { color: var(--foreground); border-left-color: rgba(var(--primary-rgb), 0.5); }
.lg-toc-a.on { color: var(--primary); border-left-color: var(--primary); font-weight: 600; }

.lg-main { min-width: 0; }
.lg-doc {
  padding: 25.5px; border-radius: 12.75px;
  background: var(--card); border: 1px solid var(--border);
}
.lg-doc-h {
  display: flex; align-items: center; gap: 12.75px;
  padding-bottom: 17px; margin-bottom: 17px; border-bottom: 1px solid var(--border-soft);
}
.lg-doc-ico {
  width: 51px; height: 51px; border-radius: 12.75px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(var(--primary-rgb), 0.12); color: var(--primary);
}
.lg-doc-h h2 { font-size: 19.125px; font-weight: 700; color: var(--foreground); }
.lg-doc-meta {
  display: flex; flex-wrap: wrap; gap: 4.25px 12.75px; margin-top: 5px;
  font-size: 11px; color: var(--muted-foreground);
}
.lg-intro {
  padding: 12.75px; border-radius: 8.5px; font-size: 13px; line-height: 1.85;
  color: var(--muted-foreground); background: var(--surface-2); border: 1px solid var(--border-soft);
}

.lg-sec { margin-top: 21.25px; scroll-margin-top: 96px; }
.lg-sec h3 { font-size: 14.875px; font-weight: 700; color: var(--foreground); margin-bottom: 8.5px; }
.lg-sec p { font-size: 13px; line-height: 1.9; color: var(--foreground); opacity: 0.85; }
.lg-sec p + p { margin-top: 8.5px; }
.lg-list { display: flex; flex-direction: column; gap: 6.375px; margin-top: 8.5px; }
.lg-list li {
  display: flex; align-items: flex-start; gap: 6.375px;
  font-size: 13px; line-height: 1.8; color: var(--foreground); opacity: 0.85;
}
.lg-list li svg { color: var(--accent); flex-shrink: 0; margin-top: 5px; }

/* SDK 公示：明细表（窄屏横向滚动）+ 基本信息表 */
.lg-table-wrap {
  margin-top: 8.5px; border: 1px solid var(--border); border-radius: 10px;
  overflow-x: auto; background: var(--surface-1);
}
.lg-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 12.75px; table-layout: fixed; }
.lg-table th {
  padding: 10px 12.75px; text-align: left;
  background: var(--surface-3); color: var(--foreground);
  font-weight: 600; border-bottom: 1px solid var(--border);
}
/* 固定列宽：SDK 名称 / 提供方 / 使用目的 / 收集的信息 / 隐私政策 */
/* 列宽按列数分组：c5 = SDK公示（5 列）／c4 = 企业数据协议（4 列）
   增删表格时同步补对应 cN 规则，别让 fixed 布局去猜剩余宽度 */
.lg-table.c5 th:nth-child(1), .lg-table.c5 td:nth-child(1) { width: 16%; }
.lg-table.c5 th:nth-child(2), .lg-table.c5 td:nth-child(2) { width: 15%; }
.lg-table.c5 th:nth-child(3), .lg-table.c5 td:nth-child(3) { width: 21%; }
.lg-table.c5 th:nth-child(4), .lg-table.c5 td:nth-child(4) { width: 30%; }
.lg-table.c5 th:nth-child(5), .lg-table.c5 td:nth-child(5) { width: 18%; }
.lg-table.c2 th:nth-child(1), .lg-table.c2 td:nth-child(1) { width: 26%; }
.lg-table.c2 th:nth-child(2), .lg-table.c2 td:nth-child(2) { width: 74%; }
.lg-table.c4 th:nth-child(1), .lg-table.c4 td:nth-child(1) { width: 17%; }
.lg-table.c4 th:nth-child(2), .lg-table.c4 td:nth-child(2) { width: 34%; }
.lg-table.c4 th:nth-child(3), .lg-table.c4 td:nth-child(3) { width: 31%; }
.lg-table.c4 th:nth-child(4), .lg-table.c4 td:nth-child(4) { width: 18%; }
.lg-table td {
  padding: 10px 12.75px; vertical-align: top; line-height: 1.75;
  color: var(--foreground); opacity: 0.85; border-top: 1px solid var(--border-soft);
}
.lg-table tbody tr:first-child td { border-top: 0; }
.lg-table tbody tr:hover td { background: var(--hover-soft); }
.lg-table td.k { opacity: 1; font-weight: 600; }
.lg-table a { color: var(--primary); word-break: break-all; }
.lg-table a:hover { text-decoration: underline; }

.lg-info {
  margin: 8.5px 0 0; border: 1px solid var(--border); border-radius: 10px;
  overflow: hidden; background: var(--surface-1);
}
.lg-info-row { display: grid; grid-template-columns: 106px minmax(0, 1fr); }
.lg-info-row + .lg-info-row { border-top: 1px solid var(--border-soft); }
.lg-info-row .k {
  margin: 0; padding: 9px 12.75px; background: var(--surface-3);
  font-size: 12.75px; font-weight: 600; color: var(--foreground);
}
.lg-info-row .v {
  margin: 0; padding: 9px 12.75px; font-size: 12.75px; line-height: 1.7;
  color: var(--foreground); opacity: 0.85; word-break: break-all;
}
@media (min-width: 768px) { .lg-info-row { grid-template-columns: 140px minmax(0, 1fr); } }
@media (max-width: 768px) {
  .lg-table { font-size: 12px; }
  .lg-table th, .lg-table td { padding: 8.5px 10.625px; }
}

.lg-foot {
  display: flex; align-items: flex-start; gap: 8.5px;
  margin-top: 25.5px; padding-top: 17px; border-top: 1px solid var(--border-soft);
  font-size: 12.75px; line-height: 1.75; color: var(--muted-foreground);
}
.lg-foot-ico { display: flex; color: var(--primary); margin-top: 2px; flex-shrink: 0; }
.lg-foot a { color: var(--primary); }
.lg-foot a:hover { text-decoration: underline; }
.lg-foot b { color: var(--foreground); }

/* ==========================================================================
   商务合作页（coop.html：品牌合作 / 企业推广）
   ========================================================================== */
.cp-stats {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12.75px; margin-bottom: 34px;
}
@media (min-width: 768px) { .cp-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-stat {
  padding: 17px 12.75px; border-radius: 12.75px; text-align: center;
  background: var(--card); border: 1px solid var(--border);
}
.cp-stat b { display: block; font-size: 21.25px; font-weight: 700; color: var(--primary); }
.cp-stat span { display: block; margin-top: 4.25px; font-size: 12.75px; color: var(--muted-foreground); }

.cp-sec { margin-top: 34px; scroll-margin-top: 90px; }
.cp-sec-sub { margin: -8.5px 0 17px; font-size: 13px; line-height: 1.7; color: var(--muted-foreground); }
/* 合作流程是 4 步，不用 apply 页那份 3 列栅格（否则最后一步会单独占一行） */
@media (min-width: 768px) { .cp-sec .ap-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .cp-sec .ap-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.cp-grid { display: grid; grid-template-columns: 1fr; gap: 12.75px; }
@media (min-width: 640px) { .cp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .cp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-card {
  padding: 17px; border-radius: 12.75px;
  background: var(--card); border: 1px solid var(--border);
  transition: border-color 0.18s, transform 0.18s;
}
.cp-card:hover { border-color: rgba(var(--primary-rgb), 0.42); transform: translateY(-2px); }
.cp-card-ico {
  width: 42.5px; height: 42.5px; border-radius: 10.625px; margin-bottom: 12.75px;
  display: flex; align-items: center; justify-content: center; background: var(--muted);
}
.cp-card-t { font-size: 14.875px; font-weight: 600; color: var(--foreground); }
.cp-card-d { margin-top: 5px; font-size: 12.75px; line-height: 1.7; color: var(--muted-foreground); }

.cp-slots { display: grid; grid-template-columns: 1fr; gap: 12.75px; }
@media (min-width: 768px) { .cp-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1536px) { .cp-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-slot {
  display: flex; align-items: flex-start; gap: 12.75px; padding: 15px;
  border-radius: 12.75px; background: var(--card); border: 1px solid var(--border);
}
.cp-slot-ico {
  width: 42.5px; height: 42.5px; border-radius: 10.625px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(var(--primary-rgb), 0.12); color: var(--primary);
}
.cp-slot-b { min-width: 0; }
.cp-slot-n {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8.5px;
  font-size: 13px; font-weight: 600; color: var(--foreground);
}
.cp-slot-n .sp-tag { font-size: 10px; padding: 1px 6px; }
.cp-slot-d { margin-top: 4.25px; font-size: 12.75px; line-height: 1.65; color: var(--muted-foreground); }

.cp-side-t { font-size: 12.75px; font-weight: 600; color: var(--foreground); margin-bottom: 12.75px; }
.cp-contacts { display: flex; flex-direction: column; gap: 12.75px; }
.cp-contact { display: flex; align-items: flex-start; gap: 8.5px; }
.cp-contact > svg { color: var(--primary); margin-top: 2px; flex-shrink: 0; }
.cp-contact span { display: block; font-size: 11px; color: var(--muted-foreground); }
.cp-contact a, .cp-contact b { display: block; margin-top: 1px; font-size: 12.75px; font-weight: 500; color: var(--foreground); }
.cp-contact a:hover { color: var(--primary); }
.cp-hours {
  display: flex; align-items: center; gap: 6.375px;
  margin-top: 13px; padding-top: 12.75px; border-top: 1px solid var(--border-soft);
  font-size: 11px; color: var(--muted-foreground);
}

@media (max-width: 767px) {
  .lg-doc { padding: 17px; }
  .lg-doc-h { flex-direction: column; align-items: flex-start; gap: 10.625px; }
}
