/* ==========================================================================
   尊创生态运营平台 · 公共门户样式（营销页：招募 / 认证 / 案例）
   与 app.css 同一套品牌变量（尊创蓝 + 金橙 + 蓝紫渐变），移动优先
   ========================================================================== */
:root{
  --blue:#2168d6; --blue-d:#1a4fa8; --blue-l:#e8f0fe;
  --navy:#0f2a5c;
  --gold:#e0a22f; --gold-l:#fdf3df;
  --grad:linear-gradient(135deg,#2168d6 0%,#6a5cf0 100%);
  --grad-gold:linear-gradient(135deg,#e0a22f 0%,#f2c14e 100%);
  --bg:#f4f6fa; --card:#fff; --fg:#1f2937; --muted:#8a94a6; --line:#eceff5;
  --ok:#16a34a; --warn:#e0533d;
  --radius:14px; --shadow:0 2px 10px rgba(23,43,99,.06);
  --maxw:1080px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body.portal{background:var(--bg);color:var(--fg);
  font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",'Segoe UI',Roboto,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ---------- 顶栏 ---------- */
.ptop{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.ptop-in{max-width:var(--maxw);margin:0 auto;padding:0 16px;min-height:60px;display:flex;align-items:center;gap:16px}
.pbrand{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}   /* 允许收缩，防挤爆按钮 */
.pbrand img{height:34px;width:auto;max-width:100%;display:block}
.pbrand-t{display:flex;flex-direction:column;line-height:1.2}
.pbrand-t b{font-size:16px;color:var(--navy)}
.pbrand-t small{font-size:11px;color:var(--muted);letter-spacing:.5px}
.pnav{display:none;gap:4px;margin-left:auto}
.pnav a{padding:8px 12px;border-radius:8px;font-size:14px;color:#42506b}
.pnav a.on{color:var(--blue);background:var(--blue-l);font-weight:600}
.ptop-cta{display:flex;gap:8px;margin-left:auto}
.pnav + .ptop-cta{margin-left:0}
.ptop-in{max-width:var(--maxw);margin:0 auto;padding:0 16px;min-height:60px;display:flex;align-items:center;gap:16px}
.pbrand{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}   /* 允许收缩，防挤爆按钮 */
.pbrand img{height:34px;width:auto;max-width:100%;display:block}
.pbtn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:10px;
  font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.pbtn-ghost{color:var(--blue-d);border-color:var(--blue-l);background:#fff}
.pbtn-main{color:#fff;background:#2168d6;background:linear-gradient(135deg,#2168d6 0%,#6a5cf0 100%);background:var(--grad)}
@media(min-width:840px){.pnav{display:flex}}

/* ---------- 主区 ---------- */
.pmain{min-height:60vh}
.pwrap{max-width:var(--maxw);margin:0 auto;padding:28px 16px 48px}

/* 英雄区 */
.phero{background:linear-gradient(160deg,var(--navy) 0%,#14346e 55%,#1a4fa8 100%);color:#fff;
  padding:52px 16px 60px;text-align:center;position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;inset:auto -20% -60% -20%;height:70%;
  background:radial-gradient(closest-side,rgba(106,92,240,.35),transparent)}
.phero-in{max-width:760px;margin:0 auto;position:relative;z-index:1}
.phero .ptag{display:inline-block;font-size:12px;letter-spacing:2px;color:#ffd98a;
  border:1px solid rgba(255,217,138,.4);border-radius:99px;padding:4px 14px;margin-bottom:18px}
.phero h1{margin:0 0 10px;font-size:30px;line-height:1.3}
.phero p{margin:0 auto 26px;max-width:560px;color:#c9d8f5;font-size:15px}
.prow{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.phero .pbtn-main{padding:11px 26px;font-size:15px;box-shadow:0 6px 18px rgba(21,52,110,.45)}
.phero .pbtn-ghost{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
@media(min-width:640px){.phero h1{font-size:38px}}

/* 数据带 */
.pstats{max-width:var(--maxw);margin:-38px auto 0;padding:0 16px;position:relative;z-index:2}
.pstats-in{background:#fff;border-radius:16px;box-shadow:0 14px 34px rgba(15,42,92,.12),0 2px 6px rgba(15,42,92,.05);
  display:grid;grid-template-columns:repeat(2,1fr);overflow:hidden}
.pstat{padding:20px 12px;text-align:center;position:relative}
.pstat::after{content:"";position:absolute;top:24%;right:0;height:52%;width:1px;background:#eceff5}   /* 细竖分割线（替代整格框线） */
.pstat b{display:block;font-size:24px;line-height:1.15;font-weight:800;letter-spacing:-.4px;color:#1a4fa8}
.pstat span{display:block;margin-top:6px;font-size:12px;color:#8a94a6;letter-spacing:.2px}
/* 手机端 2 列装 5 格：第 5 格跨全行（消除孤行错位），偶数格/末格不画竖线，第 3 格起加横线 */
@media(max-width:719px){
  .pstat:nth-child(5){grid-column:1/-1}
  .pstat:nth-child(even)::after,.pstat:last-child::after{display:none}
  .pstat:nth-child(n+3){border-top:1px solid #eceff5}
}
@media(min-width:720px){
  .pstats-in{grid-template-columns:repeat(5,1fr)}
  .pstat{padding:22px 10px}
  .pstat b{font-size:27px}
  .pstat:nth-child(5)::after{display:none}
}
/* v2.9: 数字用品牌蓝紫渐变（现代内核）；老内核跳过本块，沿用上面实色蓝，绝不出现白字不可见 */
@supports((-webkit-background-clip:text) or (background-clip:text)){
  .pstat b{background:linear-gradient(135deg,#2168d6 0%,#6a5cf0 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}

/* 区块标题 */
.psec{margin:38px 0 18px}
.psec h2{margin:0 0 6px;font-size:22px;color:var(--navy)}
.psec p{margin:0;color:var(--muted);font-size:14px}
.psec .pnum{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:700;font-size:13px;letter-spacing:1px}

/* 卡片网格 */
.pgrid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:680px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:920px){.pgrid.g3{grid-template-columns:repeat(3,1fr)}}
.pcard{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;
  border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.pcard h3{margin:0;font-size:16px;color:var(--navy);display:flex;align-items:center;gap:8px}
.pcard p{margin:0;font-size:14px;color:#42506b}
.pcard .pico{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--blue-l);font-size:17px;flex:0 0 auto}
.pcard.gold .pico{background:var(--gold-l)}
.pcard ul{margin:2px 0 0;padding-left:18px;font-size:13.5px;color:#42506b}
.pcard ul li{margin:3px 0}
.pcard .pmore{margin-top:auto;padding-top:10px;font-size:13px;font-weight:600;color:var(--blue)}

/* 流程步骤 */
.psteps{display:grid;grid-template-columns:1fr;gap:12px;counter-reset:step}
@media(min-width:760px){.psteps{grid-template-columns:repeat(5,1fr)}}
.pstep{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;position:relative;counter-increment:step}
.pstep::before{content:counter(step);position:absolute;top:-10px;left:12px;width:24px;height:24px;border-radius:50%;
  background:var(--grad);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.pstep b{display:block;font-size:14px;color:var(--navy);margin:6px 0 2px}
.pstep span{font-size:12.5px;color:var(--muted)}

/* 表格 */
.ptable{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);font-size:14px}
.ptable th,.ptable td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
.ptable th{background:var(--navy);color:#fff;font-weight:600;font-size:13px}
.ptable tr:last-child td{border-bottom:0}
.ptable td b{color:var(--blue-d)}
.ptable .hl td{background:var(--gold-l)}
.pscroll{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow)}

/* 提示条 */
.pnote{background:var(--blue-l);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;
  padding:12px 16px;font-size:13.5px;color:#2b3a5c;margin:16px 0}
.pnote.warn{background:var(--gold-l);border-left-color:var(--gold)}
.pnote b{color:var(--navy)}

/* 案例卡 */
.pcase{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}
.pcase-h{height:6px;background:var(--grad)}
.pcase-b{padding:18px 20px}
.pcase-b h3{margin:0 0 4px;font-size:16px;color:var(--navy)}
.pcase-b .pcase-sub{font-size:12.5px;color:var(--muted);margin-bottom:10px}
.pcase-b p{margin:0;font-size:13.5px;color:#42506b}
.pmetrics{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.pmetrics span{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:99px}
.pmetrics .up{color:var(--ok);background:rgba(22,163,74,.1)}
.pmetrics .down{color:var(--warn);background:rgba(224,83,61,.1)}

/* CTA 横幅 */
.pcta{margin-top:40px;background:var(--grad);border-radius:var(--radius);color:#fff;text-align:center;
  padding:34px 20px;box-shadow:0 10px 26px rgba(33,104,214,.35)}
.pcta h2{margin:0 0 8px;font-size:22px}
.pcta p{margin:0 0 18px;color:#e7efff;font-size:14px}
.pcta .pbtn-main{background:#fff;color:var(--blue-d);box-shadow:none}
.pcta .pbtn-ghost{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
.pcta .pbtn-ghost:hover{background:rgba(255,255,255,.12)}

/* ---------- 城市合伙人查询 ---------- */
/* 悬浮于 banner 下缘的查询卡（与案例广场 .pstats 的负边距叠压同一设计语言） */
.pcity-hero{max-width:var(--maxw);margin:-42px auto 0;padding:0 16px;position:relative;z-index:2}
.pcity-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 22px 20px}
.pcity-card .psec{margin:0 0 12px}
.pcity-card .psec h2{font-size:20px}
.pcity-card .pcity{margin:0}
.pcity-card .pscroll{box-shadow:none;border:1px solid var(--line)}
.pcity{margin:0 0 6px}
.pcity-form{display:flex;gap:10px;flex-wrap:wrap}
.pcity-form input{flex:1 1 240px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;
  font-size:14px;color:#2b3a5c;background:#fff;outline:none;transition:border .15s,box-shadow .15s}
.pcity-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,108,214,.12)}
.pcity-form input::placeholder{color:var(--muted)}
.pcity-res{margin-top:14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);
  border-radius:0 12px 12px 0;padding:16px 18px;box-shadow:var(--shadow)}
.pcity-res h3{margin:10px 0 6px;font-size:16.5px;color:var(--navy)}
.pcity-res p{margin:0 0 6px;font-size:13.5px;color:#42506b;line-height:1.7}
.pcity-res .prow{margin-top:12px;justify-content:flex-start}
.pcity-res.signed{border-left-color:var(--gold)}
.pcity-res.open{border-left-color:var(--ok)}
.pcity-res.pending{border-left-color:var(--warn)}
.pcity-res.js{border-left-color:var(--navy)}
.pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 11px;border-radius:99px;letter-spacing:.5px}
.pill-ok{color:var(--ok);background:rgba(22,163,74,.1)}
.pill-warn{color:var(--warn);background:rgba(224,83,61,.1)}
.pill-navy{color:#fff;background:var(--navy)}
.ptable .pill{white-space:nowrap}

/* 一览表折叠展开（默认显示前几个，更多展开查看） */
.ptable tr.dir-extra{display:none}
.pdir-toggle-wrap{text-align:center;margin-top:12px}
.pdir-toggle{display:inline-block;border:1px solid var(--blue-l);background:#fff;color:var(--blue-d);
  border-radius:10px;padding:8px 22px;font-size:13.5px;cursor:pointer;transition:background .15s}
.pdir-toggle:hover{background:var(--blue-l)}

/* ---------- 页脚 ---------- */
.pfoot{background:var(--navy);color:#b9c9e8;margin-top:30px}
.pfoot-in{max-width:var(--maxw);margin:0 auto;padding:28px 16px 18px}
.pfoot-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pfoot-brand img{height:30px;background:#fff;border-radius:6px;padding:3px 6px}
.pfoot-brand b{display:block;color:#fff;font-size:15px}
.pfoot-brand span{font-size:12.5px}
.pfoot-nav{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0;font-size:13px}
.pfoot-nav a:hover{color:#fff}
.pfoot-copy{border-top:1px solid rgba(255,255,255,.12);padding-top:12px;font-size:12px;color:#8ea3cc}

/* 课程大纲：域分组行 */
.ptable td.pgroup{background:#f4f7fd;color:#1a4fa8;font-size:12.5px;padding:8px 12px}

/* ---------- 顶栏移动端适配（2026-10-12 手机反馈：logo 挤压按钮） ---------- */
@media(max-width:600px){
  .ptop-in{gap:8px;padding:8px 12px;flex-wrap:wrap}      /* 极窄屏允许换行兜底 */
  .pbrand img{height:auto;max-width:132px}                /* 横排字标缩至 132px 宽（≈24px 高） */
  .ptop-cta{margin-left:auto;flex:0 0 auto;gap:6px}
  .ptop-cta .pbtn{padding:7px 10px;font-size:13px}        /* 按钮紧凑且永不折行 */
}


/* ================= v2.7-兼容层（老内核兼容层：var() 全量字面量回退，值与 :root 一致） ================= */
body.portal{background:#f4f6fa;color:#1f2937}
.ptop{border-bottom:1px solid #eceff5}
.ptop-in{max-width:1080px}
.pbrand-t b{color:#0f2a5c}
.pbrand-t small{color:#8a94a6}
.pnav a.on{color:#2168d6;background:#e8f0fe}
.ptop-in{max-width:1080px}
.pbtn-ghost{color:#1a4fa8;border-color:#e8f0fe}
.pbtn-main{background:linear-gradient(135deg,#2168d6 0%,#6a5cf0 100%)}
.pwrap{max-width:1080px}
.phero{background:linear-gradient(160deg,#0f2a5c 0%,#14346e 55%,#1a4fa8 100%)}
.pstats{max-width:1080px}
.pstats-in{border-radius:16px;box-shadow:0 14px 34px rgba(15,42,92,.12),0 2px 6px rgba(15,42,92,.05)}
.pstat::after{background:#eceff5}          /* v2.9: 移除误留的整块渐变（v2.7 为渐变文字补的 fallback，v2.8 改实色后残留） */
.pstat b{color:#1a4fa8}
.pstat span{color:#8a94a6}
.psec h2{color:#0f2a5c}
.psec p{color:#8a94a6}
.psec .pnum{color:#2168d6}
.pcard{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(23,43,99,.06);border:1px solid #eceff5}
.pcard h3{color:#0f2a5c}
.pcard .pico{background:#e8f0fe}
.pcard.gold .pico{background:#fdf3df}
.pcard .pmore{color:#2168d6}
.pstep{border:1px solid #eceff5}
.pstep::before{background:linear-gradient(135deg,#2168d6 0%,#6a5cf0 100%)}
.pstep b{color:#0f2a5c}
.pstep span{color:#8a94a6}
.ptable{border-radius:14px;box-shadow:0 2px 10px rgba(23,43,99,.06)}
.ptable th,.ptable td{border-bottom:1px solid #eceff5}
.ptable th{background:#0f2a5c}
.ptable td b{color:#1a4fa8}
.ptable .hl td{background:#fdf3df}
.pscroll{border-radius:14px;box-shadow:0 2px 10px rgba(23,43,99,.06)}
.pnote{background:#e8f0fe;border-left:4px solid #2168d6}
.pnote.warn{background:#fdf3df;border-left-color:#e0a22f}
.pnote b{color:#0f2a5c}
.pcase{border-radius:14px;box-shadow:0 2px 10px rgba(23,43,99,.06);border:1px solid #eceff5}
.pcase-h{background:linear-gradient(135deg,#2168d6 0%,#6a5cf0 100%)}
.pcase-b h3{color:#0f2a5c}
.pcase-b .pcase-sub{color:#8a94a6}
.pmetrics .up{color:#16a34a}
.pmetrics .down{color:#e0533d}
.pcta{background:linear-gradient(135deg,#2168d6 0%,#6a5cf0 100%);border-radius:14px}
.pcta .pbtn-main{color:#1a4fa8}
.pcity-hero{max-width:1080px}
.pcity-card{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(23,43,99,.06)}
.pcity-card .pscroll{border:1px solid #eceff5}
.pcity-form input{border:1px solid #eceff5}
.pcity-form input:focus{border-color:#2168d6}
.pcity-form input::placeholder{color:#8a94a6}
.pcity-res{border:1px solid #eceff5;border-left:4px solid #2168d6;box-shadow:0 2px 10px rgba(23,43,99,.06)}
.pcity-res h3{color:#0f2a5c}
.pcity-res.signed{border-left-color:#e0a22f}
.pcity-res.open{border-left-color:#16a34a}
.pcity-res.pending{border-left-color:#e0533d}
.pcity-res.js{border-left-color:#0f2a5c}
.pill-ok{color:#16a34a}
.pill-warn{color:#e0533d}
.pill-navy{background:#0f2a5c}
.pdir-toggle{border:1px solid #e8f0fe;color:#1a4fa8}
.pdir-toggle:hover{background:#e8f0fe}
.pfoot{background:#0f2a5c}
.pfoot-in{max-width:1080px}

/* ===== 右下角悬浮挂件：咨询合作 / 公众号 / 视频号（2026-10-14） ===== */
.pfloat{position:fixed;right:18px;bottom:26px;z-index:60;display:flex;flex-direction:column;gap:10px;align-items:center}
.pfloat-item{position:relative}
.pfloat-btn{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#fff;color:#0f2a5c;box-shadow:0 4px 16px rgba(15,42,92,.18);transition:transform .18s,background .18s,color .18s;font-family:inherit;text-decoration:none}
.pfloat-btn svg{width:22px;height:22px}
.pfloat-btn i{font-style:normal;font-size:10px;line-height:1;letter-spacing:.5px}
.pfloat-btn:hover{transform:translateY(-2px)}
.pfloat-btn.on{background:#0f2a5c;color:#fff}
.pfloat-main{background:#1a4fa8;color:#fff}
.pfloat-main:hover{background:#0f2a5c}
.pfloat-qr{position:absolute;right:calc(100% + 12px);bottom:0;width:158px;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(15,42,92,.24);padding:13px 12px 11px;text-align:center}
.pfloat-qr::after{content:'';position:absolute;right:-6px;bottom:20px;width:12px;height:12px;background:#fff;transform:rotate(45deg);box-shadow:4px -4px 8px rgba(15,42,92,.06)}
.pfloat-qr img{width:128px;height:128px;object-fit:contain;display:block;margin:0 auto 7px;border-radius:4px}
.pfloat-qr b{display:block;font-size:12.5px;color:#0f2a5c}
.pfloat-qr span{display:block;font-size:11px;color:#6b7a90;margin-top:3px}
@media (max-width:640px){
  .pfloat{right:10px;bottom:16px;gap:8px}
  .pfloat-btn{width:46px;height:46px}
  .pfloat-btn svg{width:18px;height:18px}
  .pfloat-qr{right:calc(100% + 8px);width:136px;padding:10px 8px 8px}
  .pfloat-qr img{width:110px;height:110px}
}
