/* ============================================================
   longpage.css · mhpq.cn 营销型长网页增强组件
   用于：工种长页、资讯频道长页、服务长页与模板页的扩充区块。
   依赖 global.css 的设计变量（--ink / --amber / --rose 等），
   需在 global.css 之后引入。
   组件：锚点导航 / 适合人群 / 报名流程 / 双城服务 / 数据带 /
        要点提示 / 通用卡片 / 图文段落 / 迷你问答 / 相关链接
   ============================================================ */

/* ---------- 页内锚点导航 ---------- */
.lp-toc{
  position:sticky; top:0; z-index:50; background:rgba(251,247,240,.92);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
}
.lp-toc .lp-toc-inner{ display:flex; gap:8px; flex-wrap:wrap; padding:12px 0; }
.lp-toc a{
  font-size:13px; color:var(--ink-2); padding:7px 14px; border:1px solid var(--line);
  border-radius:999px; background:#FFF; transition:all .25s;
}
.lp-toc a:hover{ color:var(--amber); border-color:var(--amber); }

/* ---------- 适合人群 ---------- */
.lp-people{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lp-person{
  background:#FFF; border:1px solid var(--line); border-radius:20px; padding:28px 24px;
  box-shadow:var(--shadow-c); position:relative; overflow:hidden; transition:transform .35s,box-shadow .35s;
}
.lp-person:hover{ transform:translateY(-7px); box-shadow:var(--shadow-l); }
.lp-person::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:5px;
  background:linear-gradient(90deg,var(--yellow),var(--pink));
}
.lp-person .lp-ico{
  width:52px; height:52px; border-radius:16px; background:var(--yellow); color:var(--amber);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.lp-person.pink .lp-ico{ background:var(--pink); color:var(--rose); }
.lp-person h3{ font-size:16px; margin-bottom:10px; }
.lp-person p{ font-size:13.5px; color:var(--ink-2); }

/* ---------- 报名流程 ---------- */
.lp-flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.lp-flow .lf-step{
  background:#FFF; border:1px solid var(--line); border-radius:20px; padding:26px 22px;
  box-shadow:var(--shadow-c); position:relative; transition:transform .3s;
}
.lp-flow .lf-step:hover{ transform:translateY(-6px); }
.lp-flow .lf-num{
  width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg,var(--amber),#B98A3D);
  color:#FFF; font-weight:800; font-size:16px; display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}
.lp-flow .lf-step h4{ font-size:15.5px; margin-bottom:8px; }
.lp-flow .lf-step p{ font-size:13px; color:var(--ink-3); }

/* ---------- 双城服务 ---------- */
.lp-duo{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.lp-duo .ld-card{
  position:relative; border-radius:24px; overflow:hidden; min-height:230px; display:block;
  box-shadow:var(--shadow-c); transition:transform .35s,box-shadow .35s;
}
.lp-duo .ld-card:hover{ transform:translateY(-7px); box-shadow:var(--shadow-l); }
.lp-duo .ld-card img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.lp-duo .ld-card .ld-cover{
  position:absolute; inset:0; background:linear-gradient(200deg,rgba(61,54,44,.15),rgba(61,54,44,.78));
}
.lp-duo .ld-card .ld-body{ position:relative; padding:34px 30px; min-height:230px; display:flex; flex-direction:column; justify-content:flex-end; }
.lp-duo .ld-card .ld-tag{
  align-self:flex-start; display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.35);
  color:#FFF; font-size:12.5px; padding:6px 13px; border-radius:999px; margin-bottom:12px;
}
.lp-duo .ld-card h3{ color:#FFF; font-size:21px; margin-bottom:8px; }
.lp-duo .ld-card p{ color:rgba(255,255,255,.9); font-size:14px; margin-bottom:14px; }
.lp-duo .ld-card .ld-btn{
  display:inline-flex; align-items:center; gap:6px; color:#F5E3B3; font-weight:700; font-size:14px;
}
.lp-duo .ld-card .ld-btn .arr{ transition:transform .25s; }
.lp-duo .ld-card:hover .ld-btn .arr{ transform:translateX(5px); }

/* ---------- 数据带 ---------- */
.lp-stats{
  background:linear-gradient(135deg,#3D362C,#5C5140); color:#FFF; border-radius:26px;
  padding:52px 46px; text-align:center; position:relative; overflow:hidden;
}
.lp-stats::after{ content:""; position:absolute; right:-70px; top:-70px; width:240px; height:240px; border-radius:50%; background:rgba(240,223,166,.14); }
.lp-stats::before{ content:""; position:absolute; left:-40px; bottom:-90px; width:220px; height:220px; border-radius:50%; background:rgba(246,216,206,.12); }
.lp-stats h2{ color:#FFF; margin-bottom:10px; }
.lp-stats .ls-sub{ color:rgba(255,255,255,.8); max-width:640px; margin:0 auto 28px; }
.lp-stats .ls-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:1; }
.lp-stats .ls-cell{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  border-radius:16px; padding:18px; backdrop-filter:blur(4px);
}
.lp-stats .ls-cell strong{ display:block; font-size:26px; color:#F5E3B3; }
.lp-stats .ls-cell span{ font-size:12.5px; color:rgba(255,255,255,.75); }

/* ---------- 要点提示 ---------- */
.lp-tips{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.lp-tips .lt-item{
  display:flex; gap:16px; background:#FFF; border:1px solid var(--line);
  border-radius:18px; padding:22px 24px; box-shadow:var(--shadow-c); align-items:flex-start;
}
.lp-tips .lt-ico{
  flex:none; width:44px; height:44px; border-radius:13px; background:var(--yellow); color:var(--amber);
  display:flex; align-items:center; justify-content:center;
}
.lp-tips.pink .lt-ico{ background:var(--pink); color:var(--rose); }
.lp-tips .lt-item h4{ font-size:15px; margin-bottom:6px; }
.lp-tips .lt-item p{ font-size:13.5px; color:var(--ink-2); }

/* ---------- 通用卡片网格 ---------- */
.lp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lp-card{
  background:#FFF; border:1px solid var(--line); border-radius:20px; padding:28px 24px;
  box-shadow:var(--shadow-c); transition:transform .35s,box-shadow .35s; position:relative; overflow:hidden;
}
.lp-card::after{ content:""; position:absolute; right:-40px; top:-40px; width:120px; height:120px; border-radius:50%; background:var(--bg-2); }
.lp-card:hover{ transform:translateY(-7px); box-shadow:var(--shadow-l); }
.lp-card .lc-ico{ position:relative; z-index:1; width:52px; height:52px; border-radius:16px; background:var(--yellow); color:var(--amber); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.lp-card.pink .lc-ico{ background:var(--pink); color:var(--rose); }
.lp-card h3{ font-size:16px; margin-bottom:10px; }
.lp-card p{ font-size:13.5px; color:var(--ink-2); }
.lp-card a{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:5px; margin-top:14px; font-size:13.5px; font-weight:700; color:var(--amber); }
.lp-card a .arr{ transition:transform .25s; }
.lp-card:hover a .arr{ transform:translateX(5px); }

/* ---------- 图文段落（资讯长文） ---------- */
.lp-media{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; margin-bottom:48px; }
.lp-media:last-child{ margin-bottom:0; }
.lp-media.flip .lm-img{ order:2; }
.lp-media .lm-img{ position:relative; }
.lp-media .lm-img img{ width:100%; border-radius:24px; box-shadow:var(--shadow-c); }
.lp-media .lm-img::after{
  content:""; position:absolute; inset:auto -16px -16px auto; width:50%; height:50%;
  background:linear-gradient(140deg,var(--yellow),var(--pink)); border-radius:24px; z-index:-1; opacity:.5;
}
.lp-media .lm-text .kicker{ margin-bottom:8px; }
.lp-media .lm-text h2{ font-size:clamp(20px,2.4vw,26px); margin-bottom:14px; }
.lp-media .lm-text p{ font-size:14.5px; color:var(--ink-2); margin-bottom:12px; }
.lp-media .lm-text ul li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink-2); margin-bottom:9px; }
.lp-media .lm-text ul svg{ flex:none; margin-top:4px; color:var(--amber); }

/* ---------- 迷你问答（FAQ） ---------- */
.faq-mini{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.faq-mini .fm-item{ background:#FFF; border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:var(--shadow-c); }
.faq-mini .fm-item h4{ display:flex; gap:10px; font-size:15px; margin-bottom:8px; }
.faq-mini .fm-item h4::before{ content:"Q"; flex:none; width:26px; height:26px; border-radius:9px; background:var(--pink); color:var(--rose); font-size:13px; display:flex; align-items:center; justify-content:center; font-weight:800; }
.faq-mini .fm-item p{ font-size:13.5px; color:var(--ink-2); }

/* ---------- 正文段落排版 ---------- */
.lp-para{ max-width:860px; margin:0 auto; }
.lp-para p{ font-size:15px; color:var(--ink-2); margin-bottom:16px; }
.lp-para p strong{ color:var(--ink); }
.lp-para h3{ font-size:19px; margin:26px 0 12px; }

/* ---------- 引述卡 ---------- */
.lp-quote{
  background:var(--bg-3); border:1px solid var(--line); border-left:5px solid var(--amber);
  border-radius:16px; padding:24px 28px; margin:24px 0;
}
.lp-quote p{ font-size:15px; color:var(--ink-2); }

/* ---------- 相关链接卡 ---------- */
.lp-linkcards{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.lp-linkcards a{
  background:#FFF; border:1px solid var(--line); border-radius:14px; padding:18px;
  font-size:14px; font-weight:700; color:var(--ink); display:flex; align-items:center; justify-content:space-between;
  transition:all .25s;
}
.lp-linkcards a:hover{ color:var(--amber); border-color:var(--amber); transform:translateY(-4px); box-shadow:var(--shadow-c); }
.lp-linkcards a .arr{ color:var(--amber); }

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .lp-people,.lp-grid,.lp-flow{ grid-template-columns:1fr 1fr; }
  .lp-linkcards{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .lp-people,.lp-grid,.lp-flow,.lp-duo,.lp-tips,.lp-media,.lp-linkcards{ grid-template-columns:1fr; }
  .lp-media.flip .lm-img{ order:0; }
  .lp-stats .ls-row{ grid-template-columns:1fr 1fr; }
  .lp-stats{ padding:40px 24px; }
}
