:root{
  --navy:#0a3566;
  --navy-2:#0d4483;
  --blue:#1560ad;
  --blue-l:#2b7fd4;
  --blue-bg:#eaf2fb;
  --green:#0f9d58;
  --green-d:#0a7a44;
  --red:#c8342b;
  --ink:#1c2530;
  --ink-2:#4a5765;
  --ink-3:#8b97a5;
  --line:#e2e8f0;
  --line-2:#eef2f7;
  --bg:#f2f5f9;
  --white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Source Han Sans SC",Arial,sans-serif;
  background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
img{display:block;max-width:100%}
.wrap{width:1220px;margin:0 auto;max-width:100%}
.clr{clear:both}
/* ============ 顶部工具条 ============ */
.topbar{background:var(--navy);color:#cfe0f3;font-size:12px;height:36px;line-height:36px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center}
.topbar .tb-l{display:flex;align-items:center;gap:8px}
.topbar .tb-l .dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80}
.topbar .tb-r{display:flex;align-items:center;gap:0}
.topbar .tb-r a{padding:0 12px;transition:.2s}
.topbar .tb-r a:hover{color:#fff}
.topbar .tb-r .sep{width:1px;height:12px;background:#2a5a92}
.topbar .tb-r .lang b{color:#fff}
.topbar .tb-r .lang span{color:#7fa2c9}
.topbar .tb-r .hot{color:#ffd166;font-weight:700}
/* ============ 头部 ============ */
.header{background:#fff;padding:16px 0;border-bottom:3px solid var(--blue)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:14px}
.logo .mark{width:54px;height:54px;flex:0 0 54px}
.logo .txt .cn{font-size:27px;font-weight:800;letter-spacing:1.5px;color:var(--navy);line-height:1.1}
.logo .txt .cn em{font-style:normal;color:var(--green)}
.logo .txt .en{font-size:10.5px;color:var(--ink-3);letter-spacing:.6px;text-transform:uppercase;margin-top:3px}
.head-right{display:flex;align-items:center;gap:20px}
.search{display:flex;width:352px;height:40px;border:2px solid var(--blue);border-radius:2px;overflow:hidden}
.search input{flex:1;border:0;outline:0;padding:0 14px;font-size:13px;background:#fff;font-family:inherit}
.search button{width:88px;border:0;background:var(--blue);color:#fff;font-size:14px;cursor:pointer;font-family:inherit;font-weight:600;transition:.2s}
.search button:hover{background:var(--navy-2)}
.hotline{text-align:right;padding-left:20px;border-left:1px solid var(--line)}
.hotline .lb{font-size:11.5px;color:var(--ink-3)}
.hotline .no{font-size:19px;font-weight:800;color:var(--red);letter-spacing:.5px;line-height:1.2}
/* ============ 主导航 ============ */
.nav{background:linear-gradient(180deg,var(--navy-2),var(--navy));position:relative;z-index:100}
.nav .wrap{display:flex;align-items:stretch}
.nav .item{position:relative;flex:1;text-align:center}
.nav .item>a{display:block;color:#fff;font-size:15.5px;font-weight:600;line-height:50px;letter-spacing:.5px;transition:.18s}
.nav .item>a:hover,.nav .item.on>a{background:rgba(255,255,255,.14)}
.nav .item.on>a{box-shadow:inset 0 -3px 0 #4ade80}
.nav .item.committee{flex:0 0 208px}
.nav .item.committee>a{background:linear-gradient(90deg,#0f9d58,#0b7f47);font-size:12.5px;
  line-height:1.3;padding:8px 6px;display:flex;flex-direction:column;justify-content:center;height:50px;letter-spacing:0}
.nav .item.committee>a:hover{background:linear-gradient(90deg,#12b866,#0f9d58)}
.nav .item:first-child>a{font-size:16px;padding:0 10px}
/* 下拉 */
.drop{position:absolute;left:50%;transform:translateX(-50%) translateY(6px);top:50px;min-width:210px;
  background:#fff;border-top:1px solid var(--line);box-shadow:0 6px 20px rgba(10,53,102,.12);
  opacity:0;visibility:hidden;transition:.2s;padding:8px 0;text-align:left}
.nav .item:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop .grp{padding:3px 0 6px}
.drop .grp+.grp{border-top:1px dashed var(--line);margin-top:3px;padding-top:7px}
.drop .gt{font-size:11px;color:var(--ink-3);padding:2px 16px 4px;letter-spacing:1px}
.drop a{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;font-size:13.5px;color:var(--ink-2);transition:.15s}
.drop a:hover{background:var(--blue-bg);color:var(--blue);padding-left:20px}
.drop a .tag{font-size:10px;padding:1px 6px;border-radius:2px;background:#eef2f7;color:var(--ink-3)}
.drop a .tag.new{background:#fdecea;color:var(--red)}
.drop.wide{min-width:262px}
/* ============ 首屏 ============ */
.hero{position:relative;height:396px;overflow:hidden;background:var(--navy)}
.hero .bg{position:absolute;inset:0;background-image:linear-gradient(135deg,#0b3a6f 0%,#12508f 45%,#0d7a4f 100%);background-size:cover;background-position:center 42%;transform:scale(1.02)}
.hero .veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,42,82,.95) 0%,rgba(10,53,102,.86) 44%,rgba(10,53,102,.42) 72%,rgba(10,53,102,.28) 100%)}
.hero .wrap{position:relative;height:100%;display:flex;align-items:center;gap:34px}
.hero-txt{flex:1;color:#fff}
.hero .ribbon{display:inline-flex;align-items:center;gap:8px;background:rgba(15,157,88,.92);font-size:12.5px;
  padding:5px 14px;border-radius:2px;letter-spacing:.6px;margin-bottom:18px}
.hero h1{font-size:40px;line-height:1.28;font-weight:800;letter-spacing:1px;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.hero h1 em{font-style:normal;color:#7ee2a8}
.hero .sub{font-size:15.5px;color:#c9dcf2;margin-top:14px;letter-spacing:.4px;line-height:1.85;max-width:660px}
.hero .btns{display:flex;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 26px;font-size:15px;font-weight:700;
  border-radius:2px;letter-spacing:.5px;transition:.2s;cursor:pointer;border:0;font-family:inherit}
.btn-p{background:var(--green);color:#fff;box-shadow:0 6px 18px rgba(15,157,88,.38)}
.btn-p:hover{background:var(--green-d);transform:translateY(-1px)}
.btn-g{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.55)}
.btn-g:hover{background:rgba(255,255,255,.22)}
/* 首屏数据看板 */
.hero-board{width:392px;flex:0 0 392px;background:rgba(6,32,63,.82);border:1px solid rgba(120,180,240,.28);
  border-radius:4px;padding:20px 22px;backdrop-filter:blur(6px)}
.hero-board .bt{display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:14.5px;font-weight:700;
  padding-bottom:12px;border-bottom:1px solid rgba(120,180,240,.24);margin-bottom:14px}
.hero-board .bt span{font-size:11.5px;color:#8fb4dc;font-weight:400}
.hb-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(120,180,240,.2)}
.hb-cell{background:rgba(8,40,76,.92);padding:14px 12px;text-align:center}
.hb-cell .n{font-size:26px;font-weight:800;color:#5ee39a;line-height:1.1;letter-spacing:.5px}
.hb-cell .n.b{color:#6fb6ff}
.hb-cell .n.o{color:#ffc857}
.hb-cell .l{font-size:11.5px;color:#9db9d8;margin-top:5px}
.hb-foot{margin-top:13px;font-size:11.5px;color:#8fb4dc;display:flex;justify-content:space-between;align-items:center}
.hb-foot b{color:#5ee39a}
/* ============ 快捷入口条 ============ */
.quick{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(10,53,102,.05);position:relative;z-index:20}
.quick .wrap{display:flex;align-items:center;padding:16px 0}
.quick .q-lb{width:132px;flex:0 0 132px;font-size:14px;font-weight:800;color:var(--navy);line-height:1.35;border-right:2px solid var(--blue);padding-right:14px}
.quick .q-lb small{display:block;font-size:10.5px;color:var(--ink-3);font-weight:400;letter-spacing:.5px}
.quick .q-list{flex:1;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding-left:0}
.quick .q{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:3px;transition:.16s}
.quick .q:hover{background:var(--blue-bg)}
.quick .q .ic{width:32px;height:32px;flex:0 0 32px;border-radius:3px;background:var(--blue-bg);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800}
.quick .q.g .ic{background:#e6f7ee;color:var(--green)}
.quick .q .t{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.25;display:block;white-space:nowrap}
.quick .q .d{font-size:11px;color:var(--ink-3);display:block;line-height:1.3;white-space:nowrap}
.quick .q.cta{background:linear-gradient(135deg,#0f9d58,#0a7a44);color:#fff;justify-content:center}
.quick .q.cta .ic{background:rgba(255,255,255,.2);color:#fff}
.quick .q.cta .t,.quick .q.cta .d{color:#fff}
.quick .q.cta:hover{filter:brightness(1.08)}
/* ============ 通用板块 ============ */
.sec{margin-top:22px}
.sec-hd{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--blue);padding-bottom:9px;margin-bottom:14px}
.sec-hd h2{font-size:21px;font-weight:800;color:var(--navy);letter-spacing:1px;display:flex;align-items:center;gap:10px}
.sec-hd h2 .bar{width:5px;height:20px;background:var(--green);border-radius:1px}
.sec-hd h2 small{font-size:11.5px;font-weight:400;color:var(--ink-3);letter-spacing:.4px;padding-bottom:3px}
.sec-hd .more{font-size:12.5px;color:var(--ink-3);transition:.2s}
.sec-hd .more:hover{color:var(--blue)}
.sec-hd .tabs{display:flex;gap:3px}
.sec-hd .tabs button{border:0;background:var(--line-2);color:var(--ink-2);font-family:inherit;font-size:13px;
  padding:6px 20px;cursor:pointer;border-radius:2px 2px 0 0;font-weight:600;transition:.18s}
.sec-hd .tabs button.on{background:var(--blue);color:#fff}
.sec-hd .tabs button:hover:not(.on){background:#dde8f5}
.panel{display:none}
.panel.on{display:block}
/* 卡片 */
.card{background:#fff;border:1px solid var(--line);border-radius:3px}
/* ============ 产业洞察 ============ */
.insight{display:grid;grid-template-columns:566px 1fr;gap:16px}
.top-news{position:relative;overflow:hidden;border-radius:3px;height:330px}
.top-news img{width:100%;height:100%;object-fit:cover;transition:.5s}
.top-news:hover img{transform:scale(1.04)}
.top-news .ov{position:absolute;left:0;right:0;bottom:0;padding:56px 20px 16px;
  background:linear-gradient(180deg,transparent,rgba(6,30,58,.92))}
.top-news .ov .cat{display:inline-block;background:var(--green);color:#fff;font-size:11.5px;padding:2px 9px;border-radius:2px;margin-bottom:8px}
.top-news .ov h3{color:#fff;font-size:19px;line-height:1.45;font-weight:700}
.top-news .ov p{color:#bed4ea;font-size:12.5px;margin-top:7px}
.insight-right{display:flex;flex-direction:column;gap:16px}
.news-list{padding:13px 18px 9px;flex:1}
.news-list li{display:flex;gap:10px;align-items:flex-start;padding:7.5px 0;border-bottom:1px dashed var(--line-2);font-size:13.5px}
.news-list li:last-child{border-bottom:0}
.news-list li .dt{color:var(--ink-3);font-size:12px!important;flex:0 0 46px;padding-top:1px;white-space:nowrap}
.news-list li a{flex:1;color:var(--ink-2);transition:.16s;line-height:1.55}
.news-list li a:hover{color:var(--blue)}
.news-list li .flag{font-size:10.5px;padding:1px 5px;border-radius:2px;background:var(--blue-bg);color:var(--blue);flex:0 0 auto;margin-top:3px}
.news-list li .flag.g{background:#e6f7ee;color:var(--green-d)}
/* 四栏资讯 */
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.col-card{padding:0 0 8px}
.col-card .ch{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-bottom:1px solid var(--line-2)}
.col-card .ch h3{font-size:15.5px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:7px}
.col-card .ch h3::before{content:"";width:3px;height:14px;background:var(--blue);border-radius:1px}
.col-card .ch a{font-size:11.5px;color:var(--ink-3)}
.col-card .ch a:hover{color:var(--blue)}
.col-card ul{padding:8px 15px 6px}
.col-card ul li{padding:5.5px 0;font-size:13px;line-height:1.5}
.col-card ul li a{color:var(--ink-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:.16s}
.col-card ul li a:hover{color:var(--blue)}
.col-card ul li a::before{content:"·";color:var(--blue-l);font-weight:800;margin-right:6px}
.col-card .mini{padding:0 15px 8px}
.col-card .mini .m{display:flex;gap:9px;padding:7px 0;border-top:1px dashed var(--line-2)}
.col-card .mini .m .tb{width:74px;height:48px;flex:0 0 74px;border-radius:2px;background:linear-gradient(135deg,#cfe0f3,#a9c8e8);
  display:flex;align-items:center;justify-content:center;color:#3b6fa3;font-size:10.5px}
.col-card .mini .m .tt{font-size:12.5px;color:var(--ink-2);line-height:1.45}
/* ============ 供需撮合 ============ */
.deal-grid{display:grid;grid-template-columns:1fr 320px;gap:16px}
.deal-table{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.deal-table table{width:100%;border-collapse:collapse}
.deal-table th{background:var(--blue-bg);color:var(--navy);font-size:12.5px;font-weight:700;padding:10px 12px;text-align:left;white-space:nowrap}
.deal-table td{padding:10px 12px;font-size:13px;border-bottom:1px solid var(--line-2);color:var(--ink-2)}
.deal-table tr:hover td{background:#f7fafd}
.deal-table td.t{color:var(--ink);font-weight:600}
.deal-table td.t:hover{color:var(--blue);cursor:pointer}
.pill{display:inline-block;font-size:11px;padding:1.5px 8px;border-radius:10px;font-weight:600}
.pill.buy{background:#fdecea;color:var(--red)}
.pill.sell{background:#e6f7ee;color:var(--green-d)}
.pill.coop{background:var(--blue-bg);color:var(--blue)}
.pill.tb{background:#fff4e0;color:#b57406}
.deal-side{display:flex;flex-direction:column;gap:16px}
.side-hd{background:var(--navy);color:#fff;font-size:14.5px;font-weight:700;padding:10px 15px;border-radius:3px 3px 0 0;display:flex;justify-content:space-between;align-items:center}
.side-hd a{font-size:11.5px;color:#9db9d8;font-weight:400}
.side-bd{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 3px 3px;padding:12px 15px}
.side-bd li{padding:6.5px 0;font-size:13px;border-bottom:1px dashed var(--line-2)}
.side-bd li:last-child{border-bottom:0}
.side-bd li a{color:var(--ink-2);display:flex;justify-content:space-between;gap:8px}
.side-bd li a:hover{color:var(--blue)}
.side-bd li span{color:var(--ink-3);font-size:11.5px;flex:0 0 auto}
.case-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px}
.case{background:#f8fafd;border:1px solid var(--line-2);border-radius:3px;padding:12px;transition:.18s}
.case:hover{border-color:var(--blue-l);box-shadow:0 4px 14px rgba(21,96,173,.1)}
.case .cp{display:flex;gap:6px;align-items:center;margin-bottom:7px}
.case .cp img{width:22px;height:22px;border-radius:2px}
.case .cp b{font-size:13px;color:var(--ink)}
.case .cp i{font-style:normal;font-size:11px;color:var(--ink-3)}
.case p{font-size:12.5px;color:var(--ink-2);line-height:1.6}
.case .m{font-size:11.5px;color:var(--green-d);margin-top:8px;padding-top:7px;border-top:1px dashed var(--line-2)}
/* ============ 企业资源 ============ */
.ent-wrap{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.ent-types{background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px 18px}
.ent-types .et-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.ent-types .et-hd b{font-size:15px;color:var(--navy)}
.ent-types .et-hd b em{font-style:normal;color:var(--red);font-size:12px;font-weight:600;margin-left:7px}
.ent-types .et-hd a{font-size:12px;color:var(--blue)}
.et-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.et{border:1px solid var(--line);border-radius:3px;padding:13px 6px;text-align:center;transition:.18s;cursor:pointer}
.et:hover{border-color:var(--green);background:#f4fdf8;transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,157,88,.12)}
.et .cir{width:38px;height:38px;margin:0 auto 8px;border-radius:50%;background:linear-gradient(135deg,#e6f7ee,#c9eedb);
  color:var(--green-d);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800}
.et .nm{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.3}
.et .dsc{font-size:10.5px;color:var(--ink-3);margin-top:3px}
.ent-right{display:flex;flex-direction:column;gap:16px}
.pick{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.pick .ph{background:linear-gradient(90deg,var(--green),#0b8a4d);color:#fff;font-size:14px;font-weight:700;padding:10px 15px;display:flex;justify-content:space-between;align-items:center}
.pick .ph a{color:#d6f5e5;font-size:11.5px;font-weight:400}
.pick ul{padding:8px 15px 10px}
.pick li{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line-2)}
.pick li:last-child{border-bottom:0}
.pick li .av{width:36px;height:36px;flex:0 0 36px;border-radius:3px;background:var(--blue-bg);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.pick li .info b{font-size:13px;color:var(--ink);display:block;line-height:1.35}
.pick li .info span{font-size:11.5px;color:var(--ink-3)}
.entry-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.entry-box{border-radius:3px;padding:15px 14px;color:#fff}
.entry-box.apply{background:linear-gradient(135deg,#1560ad,#0d4483)}
.entry-box.guide{background:linear-gradient(135deg,#0f9d58,#0a7a44)}
.entry-box b{font-size:15px;display:block;margin-bottom:5px}
.entry-box p{font-size:11.5px;color:rgba(255,255,255,.86);line-height:1.55;margin-bottom:10px}
.entry-box .go{display:inline-block;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);
  font-size:12px;padding:4px 13px;border-radius:2px}
/* ============ 产业数据 ============ */
.data-wrap{display:grid;grid-template-columns:1fr 336px;gap:16px}
.data-main{background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px 18px}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}
.kpi{background:linear-gradient(180deg,#f7fafd,#fff);border:1px solid var(--line);border-radius:3px;padding:13px 14px}
.kpi .lb{font-size:12px;color:var(--ink-3)}
.kpi .vl{font-size:25px;font-weight:800;color:var(--navy);line-height:1.25;margin-top:3px}
.kpi .vl small{font-size:12px;font-weight:600;color:var(--ink-3);margin-left:3px}
.kpi .dt{font-size:11.5px;margin-top:3px;display:flex;justify-content:space-between}
.kpi .up{color:var(--red)}
.kpi .down{color:var(--green)}
.kpi .sp{color:var(--ink-3)}
.chart{display:flex;align-items:flex-end;gap:9px;height:150px;padding:6px 4px 0;border-bottom:1px solid var(--line);position:relative}
.chart .bar{flex:1;border-radius:2px 2px 0 0;background:linear-gradient(180deg,var(--blue-l),var(--blue));position:relative;transition:.35s;cursor:pointer}
.chart .bar:hover{background:linear-gradient(180deg,#4c96e0,#1560ad)}
.chart .bar.g{background:linear-gradient(180deg,#3fc27f,#0f9d58)}
.chart .bar.g:hover{background:linear-gradient(180deg,#54d492,#0a7a44)}
.chart .bar .v{position:absolute;top:-17px;left:0;right:0;text-align:center;font-size:10.5px;color:var(--ink-3)}
.chart-x{display:flex;gap:9px;padding-top:6px}
.chart-x span{flex:1;text-align:center;font-size:11px;color:var(--ink-3)}
.data-side{display:flex;flex-direction:column;gap:16px}
.rank{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.rank .rh{padding:11px 15px;border-bottom:1px solid var(--line-2);font-size:14.5px;font-weight:700;color:var(--navy);display:flex;justify-content:space-between}
.rank .rh a{font-size:11.5px;color:var(--ink-3);font-weight:400}
.rank li{display:flex;align-items:center;gap:9px;padding:9px 15px;border-bottom:1px solid var(--line-2);font-size:13px}
.rank li:last-child{border-bottom:0}
.rank li:hover{background:#f7fafd}
.rank li .no{width:18px;height:18px;flex:0 0 18px;border-radius:2px;background:var(--line);color:var(--ink-3);
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.rank li:nth-child(1) .no{background:var(--red);color:#fff}
.rank li:nth-child(2) .no{background:#e08a2e;color:#fff}
.rank li:nth-child(3) .no{background:var(--blue-l);color:#fff}
.rank li .nm{flex:1;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank li .vv{color:var(--navy);font-weight:700;font-size:12.5px}
.intro-note{background:#fff;border:1px solid var(--line);border-radius:3px;padding:13px 15px;font-size:12px;color:var(--ink-3);line-height:1.7}
.intro-note b{color:var(--navy);display:block;margin-bottom:5px;font-size:13px}
/* ============ 政策合规 ============ */
.pol-grid{display:grid;grid-template-columns:repeat(3,1fr) 300px;gap:16px}
.pol-col{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}
.pol-col .ph{padding:11px 15px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(180deg,#f7fafd,#fff)}
.pol-col .ph h3{font-size:15px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:7px}
.pol-col .ph h3::before{content:"";width:3px;height:14px;background:var(--red);border-radius:1px}
.pol-col .ph a{font-size:11.5px;color:var(--ink-3)}
.pol-col .tags-t{padding:10px 15px 4px;display:flex;flex-wrap:wrap;gap:6px}
.pol-col .tags-t span{font-size:11.5px;background:var(--blue-bg);color:var(--blue);padding:3px 9px;border-radius:2px}
.pol-col .tags-t span.g{background:#e6f7ee;color:var(--green-d)}
.pol-col ul{padding:6px 15px 12px;flex:1}
.pol-col ul li{padding:6px 0;font-size:13px;border-bottom:1px dashed var(--line-2);display:flex;gap:8px}
.pol-col ul li:last-child{border-bottom:0}
.pol-col ul li a{color:var(--ink-2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pol-col ul li a:hover{color:var(--blue)}
.pol-col ul li em{font-style:normal;font-size:11px;color:var(--ink-3);flex:0 0 auto}
/* V115：首页 国内动态/国际动态/政策合规 标题前加日期（仿头条 .dt） */
.four-col .col-card ul li{display:flex;gap:8px;align-items:flex-start}
.four-col .col-card ul li a{flex:1;min-width:0}
/* V118：首页 .dt 日期字号改与标题一致（14.5px）；加 !important 压制第2779行 .dt{font-size:16px!important} 的数据表通用样式（类名碰撞） */
.four-col .col-card ul li .dt, .pol-col ul li .dt{color:var(--ink-3);font-size:14.5px!important;flex:0 0 46px;padding-top:1px;white-space:nowrap}
.warn{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}
/* V16：与国内政策 / 境外规制 / 国际准则 三栏标题、列表字号完全对齐 */
.warn .wh{background:linear-gradient(90deg,#c8342b,#a52a22);color:#fff;font-size:15px;font-weight:700;padding:11px 15px;display:flex;justify-content:space-between;align-items:center}
.warn .wh span{font-size:11.5px;font-weight:400;color:#ffd9d5}
.warn ul{padding:6px 15px 12px;flex:1}
.warn li{padding:7px 0;border-bottom:1px dashed var(--line-2);font-size:13px;line-height:1.55}
.warn li:last-child{border-bottom:0}
.warn li b{display:block;color:var(--ink);font-size:13.5px;margin-bottom:3px;font-weight:400}
.warn li b i{font-style:normal;font-size:10.5px;padding:1px 6px;border-radius:2px;background:#fdecea;color:var(--red);margin-right:6px;font-weight:600}
.warn li b i.y{background:#fff4e0;color:#b57406}
.warn li p{color:var(--ink-3);font-size:12px}
.warn .wf{border-top:1px solid var(--line-2);padding:10px 15px;display:flex;gap:10px}
.warn .wf a{flex:1;text-align:center;font-size:12.5px;padding:7px 0;border-radius:2px;background:var(--blue-bg);color:var(--blue);font-weight:600}
.warn .wf a.g{background:#e6f7ee;color:var(--green-d)}
/* V162：绿块改为两行「政策标准 / 下载」，英文态降一级字号避免折行过碎 */
.warn .wf a .wf-l1,.warn .wf a .wf-l2{display:block;line-height:1.35}
.warn .wf a .wf-l2{font-size:.82em;opacity:.85;margin-top:2px}
/* .warn 是 flex 列容器，.wf 未设 flex:none 时，英文态（文案更长、块更高）
   会被压缩挤扁（实测 Policy Standards 被压成竖条）。锁定自身高度 + 允许换行。 */
.warn .wf{flex:none}
html[lang="en"] .warn .wf a{font-size:11.5px;line-height:1.3;height:auto;min-height:0}
html[lang="en"] .warn .wf a .wf-l2{font-size:.92em}
html[lang="en"] .warn .wf a .wf-l1,html[lang="en"] .warn .wf a .wf-l2{white-space:normal}
/* ============ 会议会展 ============ */
.expo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.expo{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#fff;transition:.2s;display:flex;flex-direction:column}
.expo:hover{box-shadow:0 8px 22px rgba(10,53,102,.12);transform:translateY(-2px);border-color:var(--blue-l)}
.expo .cov{height:112px;background:linear-gradient(135deg,#1d5a9e,#0d3c7a);position:relative;display:flex;align-items:center;justify-content:center}
.expo .cov.g{background:linear-gradient(135deg,#0f9d58,#0a5c36)}
.expo .cov.t{background:linear-gradient(135deg,#3b6fa3,#1d4e7f)}
.expo .cov .dt{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.94);border-radius:2px;text-align:center;padding:5px 9px;line-height:1.15}
.expo .cov .dt b{display:block;font-size:17px;color:var(--red);font-weight:800}
.expo .cov .dt span{font-size:10.5px;color:var(--ink-3)}
.expo .cov .mn{color:rgba(255,255,255,.62);font-size:13px;letter-spacing:3px;font-weight:700}
.expo .bd{padding:13px 15px;flex:1;display:flex;flex-direction:column}
.expo .bd .cat{font-size:11px;color:var(--green-d);background:#e6f7ee;display:inline-block;padding:1.5px 8px;border-radius:2px;align-self:flex-start;margin-bottom:7px}
.expo .bd h3{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:7px}
.expo .bd p{font-size:12px;color:var(--ink-3);line-height:1.6;flex:1}
.expo .bd .ft{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:10px;border-top:1px dashed var(--line-2)}
.expo .bd .ft span{font-size:11.5px;color:var(--ink-3)}
.expo .bd .ft a{font-size:12.5px;background:var(--blue);color:#fff;padding:5px 15px;border-radius:2px;font-weight:600}
.expo .bd .ft a:hover{background:var(--navy-2)}
/* ============ 生态网络 + 商务服务 ============ */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.partner-grid{background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px}
.partner-grid .pg{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.partner{border:1px solid var(--line-2);border-radius:3px;height:64px;display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:12px;color:var(--ink-2);padding:6px;transition:.18s;line-height:1.3}
.partner:hover{border-color:var(--blue-l);background:#f7fafd;color:var(--blue)}
.partner.ov{background:linear-gradient(135deg,#f7fafd,#eef5fc)}
.svc-grid{background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:11px}
.svc{border:1px solid var(--line-2);border-radius:3px;padding:14px;transition:.18s;position:relative;overflow:hidden}
.svc:hover{border-color:var(--green);background:#f6fdf9}
.svc::after{content:"";position:absolute;right:-16px;top:-16px;width:52px;height:52px;border-radius:50%;background:rgba(15,157,88,.08)}
.svc b{font-size:14.5px;color:var(--navy);display:block;margin-bottom:5px}
.svc p{font-size:12px;color:var(--ink-3);line-height:1.6}
.svc .lnk{font-size:12px;color:var(--green-d);font-weight:600;margin-top:8px;display:inline-block}
/* ============ 视频 ============ */
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.video{border-radius:3px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:.2s}
.video:hover{box-shadow:0 8px 22px rgba(10,53,102,.12);transform:translateY(-2px)}
.video .cov{height:138px;position:relative;background:linear-gradient(135deg,#123c6b,#0a2444)}
.video .cov.v2{background:linear-gradient(135deg,#0f6b47,#083d29)}
.video .cov.v3{background:linear-gradient(135deg,#3a4d63,#1f2b38)}
.video .cov.v4{background:linear-gradient(135deg,#1a4f87,#0b2c52)}
.video .cov .tag{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.42);color:#fff;font-size:10.5px;padding:2px 8px;border-radius:2px}
.video .cov .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.video .cov .play i{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.8);
  display:flex;align-items:center;justify-content:center;transition:.2s}
.video:hover .cov .play i{background:rgba(255,255,255,.4);transform:scale(1.08)}
.video .cov .play i::before{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.video .cov .dur{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.5);color:#fff;font-size:10.5px;padding:1px 6px;border-radius:2px}
.video .vt{padding:11px 13px;font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.5}
.video .vt:hover{color:var(--blue)}
.video .vm{padding:0 13px 12px;font-size:11.5px;color:var(--ink-3);display:flex;justify-content:space-between}
/* ============ 页脚 ============ */
.footer{background:var(--navy);color:#9db9d8;margin-top:26px;padding:30px 0 0;font-size:12.5px}
.footer .f-top{display:grid;grid-template-columns:280px 1fr 1fr 1fr 1fr 190px;gap:26px;padding-bottom:24px;border-bottom:1px solid #1d4a7d}
.footer .f-logo .cn{font-size:19px;color:#fff;font-weight:800;letter-spacing:1px;line-height:1.3}
.footer .f-logo .en{font-size:10.5px;color:#5f89b6;margin-top:5px;letter-spacing:.4px;line-height:1.5}
.footer .f-logo .org{margin-top:14px;font-size:11.5px;color:#7fa8d3;line-height:1.7}
.footer h4{color:#fff;font-size:13.5px;font-weight:700;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #1d4a7d}
.footer li{padding:4.5px 0;font-size:12.5px}
.footer li a{color:#9db9d8;transition:.18s}
.footer li a:hover{color:#fff;padding-left:3px}
.footer .qr{width:104px;height:104px;background:#fff;border-radius:3px;display:flex;align-items:center;justify-content:center;
  color:var(--navy);font-size:11px;text-align:center;line-height:1.4;padding:8px}
.footer .f-bot{padding:16px 0 22px;text-align:center;font-size:11.5px;color:#6c93bd;line-height:1.9}
.footer .f-bot a{color:#8fb4dc}
.footer .f-bot .links{margin-bottom:8px}
.footer .f-bot .links a{padding:0 10px;border-right:1px solid #1d4a7d}
.footer .f-bot .links a:last-child{border-right:0}
/* 侧边回到顶部 */
/* V16：回到顶端按钮居中悬浮，与右下角智能客服分离，互不遮挡 */
.totop{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);width:52px;height:52px;
  border-radius:50%;background:rgba(10,53,102,.88);color:#fff;display:flex;align-items:center;
  justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(10,53,102,.32);
  opacity:0;visibility:hidden;transition:.25s;font-size:17px;z-index:210;backdrop-filter:blur(2px)}
.totop.on{opacity:1;visibility:visible;transform:translateX(-50%)}
.totop:hover{background:var(--blue);transform:translateX(-50%) translateY(-3px)}
/* 公告条 */
.notice{background:#fff;border-bottom:1px solid var(--line);height:42px;line-height:42px;font-size:13px;overflow:hidden}
.notice .wrap{display:flex;align-items:center;gap:12px}
.notice .lb{background:var(--red);color:#fff;font-size:12px;padding:3px 11px;border-radius:2px;font-weight:700;flex:0 0 auto;line-height:1.5}
.notice .roll{flex:1;height:42px;overflow:hidden;position:relative}
.notice .roll ul{position:absolute;width:100%;animation:roll 18s linear infinite}
.notice .roll li{height:42px;line-height:42px;font-size:13px;color:var(--ink-2)}
.notice .roll li a:hover{color:var(--blue)}
.notice .roll li .d{color:var(--red);font-weight:600;margin-right:6px}
.notice:hover .roll ul{animation-play-state:paused}
.notice .n-more{color:var(--ink-3);font-size:12.5px;flex:0 0 auto}
@keyframes roll{0%{top:0}100%{top:-126px}}

/* ===== 兼容桥：旧组件变量映射到参考版视觉变量 ===== */
:root{
  --red-d:#a52a22; --red-l:#e0655c;
  --gray:var(--ink-3); --gray-2:var(--ink-3);
  --card:var(--white); --soft:#f7fafd;
  --shadow:0 1px 3px rgba(10,53,102,.08);
  --w:1220px;
}

/* ===== 栏目页通用组件 ===== */
.crumb{background:#fff;border-bottom:1px solid var(--line);font-size:12px;color:var(--gray)}
.crumb .wrap{padding:10px 0}
.crumb a{color:var(--gray)}
.crumb span{margin:0 6px;color:#c8ccd0}
.crumb b{color:var(--ink);font-weight:400}
.card > h3{border-bottom:2px solid var(--line);padding:12px 16px;font-size:17px;display:flex;align-items:center;justify-content:space-between}
.card > h3 .more{font-size:12px;color:var(--gray);font-weight:400}
.card > h3 em{font-style:normal;width:4px;height:16px;background:var(--red);display:inline-block;margin-right:8px;vertical-align:-2px}
.card .body{padding:14px 16px}
.cta{display:flex;gap:12px;margin-bottom:16px}
.cta a{flex:1;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:var(--shadow);
  padding:16px 18px;display:flex;align-items:center;gap:14px}
.cta a:hover{border-top-color:var(--red-d);background:#fffaf9}
.cta .ic{width:44px;height:44px;background:var(--red);color:#fff;border-radius:3px;display:flex;
  align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}
.cta b{display:block;font-size:16px}
.cta span{font-size:12px;color:var(--gray)}

/* ---------- 栏目入口矩阵 ---------- */
.matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.matrix a{background:#fff;padding:12px 10px;text-align:center;font-size:13px}
.matrix a:hover{background:#fff6f5;color:var(--red)}
.matrix a i{display:block;font-style:normal;font-size:11px;color:var(--gray-2);margin-top:2px}
.matrix a b{font-weight:400}
.tblwrap{overflow-x:auto}
.tabs{border-bottom:2px solid var(--line);display:flex;align-items:flex-end;padding:0 16px;background:#fff;
  overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{height:0}
.tabs a{padding:10px 18px;font-size:15px;border-bottom:2px solid transparent;margin-bottom:-2px;
  color:var(--ink-2);white-space:nowrap;flex-shrink:0}
.tabs a.on{color:var(--red);border-bottom-color:var(--red);font-weight:700}
.panes{padding:12px 16px}
.pane{display:none}
.pane.on{display:block}
.list li{padding:12px 0;border-bottom:1px dashed var(--line);display:flex;gap:12px}
.list li:last-child{border-bottom:none}
.list .tx{flex:1;min-width:0}
.list h4{font-size:15px;font-weight:400;line-height:1.6;margin-bottom:4px}
.list h4 a:hover{color:var(--red)}
.list p{margin:0;font-size:12.5px;color:var(--gray);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.list .meta{font-size:12px;color:var(--gray-2);margin-top:5px}
.list .meta span{margin-right:12px}
.list .thumb{width:150px;height:96px;flex-shrink:0;background:linear-gradient(120deg,#dfe3e7,#cfd4da);
  display:flex;align-items:center;justify-content:center;color:#8a9096;font-size:12px;border:1px solid var(--line)}
.txtlist li{padding:10px 2px;border-bottom:1px dashed var(--line);font-size:13.5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txtlist li:before{content:"■";color:var(--red);font-size:9px;margin-right:8px;vertical-align:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-2);background:var(--soft)}
.chips span{font-size:12px;color:var(--gray);border:1px solid var(--line);background:#fff;padding:2px 10px;border-radius:2px;cursor:pointer}
.chips span:hover,.chips span.on{border-color:var(--red);color:var(--red)}
.tag{display:inline-block;font-size:11px;padding:1px 7px;border:1px solid var(--red-l);color:var(--red);border-radius:2px;margin-right:6px}
.tag.g{color:var(--gray);border-color:var(--line)}
.tag.b{color:#1266b0;border-color:#9dc4e8}
.tag.y{color:#9a6a00;border-color:#e3c98a}
.tag.r{color:#fff;background:var(--red);border-color:var(--red)}
.tag.gr{color:#1f7a45;border-color:#a8d8bb}
.grid-c{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 16px}
.ecard{border:1px solid var(--line);padding:12px;background:#fff}
.ecard:hover{border-color:var(--red);box-shadow:0 2px 10px rgba(176,31,36,.08)}
.ecard h4{font-size:15px;margin-bottom:6px}
.ecard .m{font-size:12px;color:var(--gray);line-height:1.9}
.ecard .m i{font-style:normal;color:var(--gray-2);display:inline-block;width:56px}
.ecard p{font-size:12.5px;color:var(--gray);margin:8px 0 0;line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ecard .f{display:flex;gap:6px;margin-top:10px}
.ecard .f a{font-size:12px;border:1px solid var(--line);padding:3px 10px;color:var(--gray)}
.ecard .f a:hover{border-color:var(--red);color:var(--red)}
.grid-o{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 16px}
.ocard{border:1px solid var(--line);padding:14px;background:#fff}
.ocard:hover{border-color:var(--red);box-shadow:0 2px 10px rgba(176,31,36,.08)}
.ocard h4{font-size:15px;margin-bottom:8px;line-height:1.5}
.ocard .kv{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 10px;font-size:12px;color:var(--gray);margin-bottom:8px}
.ocard .kv b{color:var(--ink-2);font-weight:400}
.ocard p{font-size:12.5px;color:var(--gray);margin:0 0 10px;line-height:1.7}
.ocard .f{display:flex;justify-content:space-between;align-items:center}
.ocard .f .d{font-size:12px;color:var(--gray-2)}
.ocard .f a{background:var(--red);color:#fff;font-size:12px;padding:4px 14px;border-radius:2px}
.ocard .f a:hover{background:var(--red-d);color:#fff}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{background:var(--soft);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);font-weight:700;white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}
.tbl tr:hover td{background:#fffaf9}
.tbl .sm{font-size:12px;color:var(--gray)}
.plist li{padding:12px 16px;border-bottom:1px dashed var(--line)}
.plist li:hover{background:#fffaf9}
.plist h4{font-size:15px;font-weight:400;line-height:1.6;margin-bottom:4px}
.plist .m{font-size:12px;color:var(--gray-2)}
.plist .m span{margin-right:14px}
.plist p{margin:4px 0 0;font-size:12.5px;color:var(--gray);line-height:1.7}
.rlist li{display:flex;gap:12px;padding:12px 16px;border-bottom:1px dashed var(--line)}
.rlist .lv{flex-shrink:0;font-size:12px;padding:2px 8px;border-radius:2px;height:22px;line-height:18px}
.rlist .lv.h{background:var(--red);color:#fff}
.rlist .lv.m{background:#fdf1e0;color:#9a6a00;border:1px solid #e3c98a}
.rlist .lv.l{background:#eef4ee;color:#1f7a45;border:1px solid #a8d8bb}
.rlist .tx{flex:1}
.rlist h4{font-size:14.5px;font-weight:400;margin-bottom:3px}
.rlist .m{font-size:12px;color:var(--gray-2)}
.grid-e{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 16px}
.evcard{border:1px solid var(--line);display:flex;gap:12px;padding:12px;background:#fff}
.evcard:hover{border-color:var(--red)}
.evcard .dt{width:64px;flex-shrink:0;background:var(--red);color:#fff;text-align:center;padding:8px 0;border-radius:2px}
.evcard .dt b{display:block;font-size:20px;line-height:1.2}
.evcard .dt span{font-size:11px;opacity:.9}
.evcard .tx{flex:1;min-width:0}
.evcard h4{font-size:15px;margin-bottom:4px;line-height:1.5}
.evcard .m{font-size:12px;color:var(--gray);line-height:1.8}
.evcard .f{margin-top:8px}
.evcard .f a{border:1px solid var(--red);color:var(--red);font-size:12px;padding:3px 12px;border-radius:2px}
.grid-m{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 16px}
.mcard{border:1px solid var(--line);padding:12px;display:flex;gap:12px;background:#fff}
.mcard:hover{border-color:var(--red)}
.mcard .lv{flex-shrink:0;background:var(--soft);border:1px solid var(--line);color:var(--red-d);
  font-size:12px;padding:2px 8px;height:22px;line-height:18px;border-radius:2px}
.mcard h4{font-size:14.5px;margin-bottom:3px}
.mcard .m{font-size:12px;color:var(--gray);line-height:1.8}
.grid-x{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px 16px}
.xcard{border:1px solid var(--line);padding:12px;background:#fff;text-align:center}
.xcard:hover{border-color:var(--red)}
.xcard b{display:block;font-size:14.5px;margin-bottom:4px}
.xcard span{font-size:12px;color:var(--gray);line-height:1.7;display:block}
.dlist li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px dashed var(--line)}
.dlist .ic{width:36px;height:44px;flex-shrink:0;background:var(--red);color:#fff;font-size:11px;
  display:flex;align-items:center;justify-content:center;border-radius:2px}
.dlist .tx{flex:1}
.dlist h4{font-size:14.5px;font-weight:400;margin-bottom:2px}
.dlist .m{font-size:12px;color:var(--gray-2)}
.dlist a.dl{border:1px solid var(--red);color:var(--red);font-size:12px;padding:4px 14px;border-radius:2px}
.grid-s{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 16px}
.scard{border:1px solid var(--line);padding:14px;background:#fff}
.scard:hover{border-color:var(--red);box-shadow:0 2px 10px rgba(176,31,36,.08)}
.scard h4{font-size:15.5px;margin-bottom:8px}
.scard .kv{font-size:12.5px;color:var(--gray);line-height:1.9}
.scard .kv b{color:var(--ink-2);font-weight:400}
.scard .pr{margin-top:8px;display:flex;align-items:baseline;gap:8px}
.scard .pr b{color:var(--red);font-size:17px}
.scard .pr span{font-size:12px;color:var(--gray-2)}
.scard .f{margin-top:10px;display:flex;gap:8px}
.scard .f a{font-size:12px;padding:5px 16px;border-radius:2px}
.scard .f a.o{background:var(--red);color:#fff}
.scard .f a.g{border:1px solid var(--line);color:var(--gray)}
.chartbox{padding:14px 16px}
.chartbox svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--gray);margin-top:10px}
.legend i{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px}
.side .card > h3{font-size:15px;padding:11px 14px}
.side .body{padding:12px 14px}
.rank li{display:flex;gap:8px;padding:7px 0;font-size:13px;line-height:1.6;border-bottom:1px dashed var(--line-2)}
.rank li:last-child{border-bottom:none}
.rank .n{flex-shrink:0;width:18px;height:18px;background:var(--gray-2);color:#fff;font-size:11px;
  text-align:center;line-height:18px;border-radius:2px}
.rank li:nth-child(1) .n,.rank li:nth-child(2) .n,.rank li:nth-child(3) .n{background:var(--red)}
.rank .t{flex:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.side .promo{background:linear-gradient(135deg,var(--red-d),var(--red));color:#fff;padding:16px;text-align:center}
.side .promo b{display:block;font-size:16px;margin-bottom:6px}
.side .promo p{font-size:12px;opacity:.9;margin:0 0 12px;line-height:1.7}
.side .promo a{display:inline-block;background:#fff;color:var(--red-d);font-weight:700;padding:7px 22px;border-radius:2px;font-size:13px}
.kvlist li{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 0;border-bottom:1px dashed var(--line-2)}
.kvlist li:last-child{border-bottom:none}
.kvlist span{color:var(--gray)}
.leadbar{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);padding:14px 16px;margin-bottom:16px}
.leadbar h2{font-size:20px;margin-bottom:6px}
.leadbar p{margin:0;font-size:13px;color:var(--gray);line-height:1.8}
.leadbar .role{font-size:12px;color:var(--red);margin-top:6px}
.subgrid{display:flex;flex-wrap:wrap;gap:12px;padding:14px 16px}
.subcard{flex:1 1 calc(33.333% - 8px);min-width:290px;border:1px solid var(--line);padding:14px;background:#fff;
  display:flex;flex-direction:column}
.subcard:hover{border-color:var(--red);box-shadow:0 2px 10px rgba(176,31,36,.08)}
.subcard .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.subcard h4{font-size:15.5px}
.subcard h4 a:hover{color:var(--red)}
.subcard p{font-size:12.5px;color:var(--gray);margin:0 0 10px;line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.subcard .th{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.subcard .th a{font-size:12px;border:1px solid var(--line);padding:2px 8px;color:var(--gray);border-radius:2px}
.subcard .th a:hover{border-color:var(--red);color:var(--red)}
.subcard .th em{font-style:normal;font-size:12px;color:var(--gray-2)}
/* 板块内仅一个二级栏目时的整行宽卡 */
.subcard.wide{flex-basis:100%;flex-direction:row;gap:18px;align-items:stretch}
.subcard.wide .wl{flex:0 0 300px;max-width:38%;border-right:1px dashed var(--line);padding-right:16px}
.subcard.wide .wr{flex:1;min-width:0}
.subcard.wide .wr .th{margin-top:8px}
.subcard.wide .wr .prev{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px}
.subcard.wide .wr .prev li{font-size:12.5px;padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.subcard.wide .wr .prev li:before{content:"";display:inline-block;width:4px;height:4px;background:var(--red);margin-right:7px;vertical-align:3px}
.subcard .go{display:inline-block;margin-top:10px;font-size:12px;background:var(--red);color:#fff;padding:5px 14px;border-radius:2px}
.subcard .go:hover{background:var(--red-d);color:#fff}
/* 说明型栏目的整行卡（无三级内容预览时） */
.subcard.full{flex-basis:100%}
.subcard.full p{max-width:900px}
/* 板块区标题 */
.grptitle{display:flex;align-items:center;gap:8px}
.grptitle i{font-style:normal;font-size:11px;padding:1px 8px;border-radius:2px;color:#fff}
.grptitle i.cn{background:var(--red)}
.grptitle i.intl{background:#3d6ea5}
.grptitle i.common{background:#7a7f85}
.grptitle i.gov{background:#8c161c}
.steps{padding:14px 16px}
.steps li{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.steps li:last-child{border-bottom:none}
.steps .n{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.steps .tx b{display:block;font-size:15px;margin-bottom:3px}
.steps .tx span{font-size:12.5px;color:var(--gray);line-height:1.8}
.doc{padding:16px 20px}
.doc .blk{margin-bottom:18px}
.doc .blk h4{font-size:16px;margin-bottom:8px;padding-left:10px;border-left:4px solid var(--red)}
.doc .blk ul li,.doc .blk p{font-size:13.5px;color:var(--ink-2);line-height:1.9;padding:3px 0 3px 14px;position:relative}
.doc .blk ul li:before{content:"";position:absolute;left:0;top:14px;width:5px;height:5px;background:#c8ccd0;border-radius:50%}
.stats{display:flex;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:16px}
.stats div{flex:1;text-align:center;padding:18px 0;border-right:1px solid var(--line)}
.stats div:last-child{border-right:none}
.stats b{display:block;font-size:26px;color:var(--red);line-height:1.3}
.stats span{font-size:12.5px;color:var(--gray)}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 16px}
.tcard{border:1px solid var(--line);padding:12px;background:#fff}
.tcard:hover{border-color:var(--red);box-shadow:0 2px 10px rgba(176,31,36,.08)}
.tcard .hd{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.tcard .hd i{font-style:normal;font-size:11px;background:var(--red);color:#fff;padding:1px 6px;border-radius:2px}
.tcard .hd b{font-size:14.5px}
.tcard .ch{font-size:11px;color:var(--red);border:1px solid var(--red-l);padding:1px 6px;border-radius:2px}
.tcard p{font-size:12px;color:var(--gray);margin:0 0 10px;line-height:1.7}
.tcard a{font-size:12px;color:var(--red)}
.pager{display:flex;justify-content:center;gap:6px;padding:16px;flex-wrap:wrap}
.pager a,.pager span{border:1px solid var(--line);background:#fff;padding:5px 12px;font-size:13px;color:var(--ink-2);text-decoration:none}
.pager a:hover{border-color:var(--red);color:var(--red)}
.pager a.on,.pager span.on{background:var(--red);border-color:var(--red);color:#fff}
.pager a.dis{color:#c4ccd6;border-color:var(--line);cursor:default;pointer-events:none}
.res li{padding:10px 16px;border-bottom:1px dashed var(--line)}
.res h4{font-size:15px;font-weight:400}
.res .p{font-size:12px;color:var(--gray-2)}
.res .empty{padding:30px;text-align:center;color:var(--gray);font-size:13px}

/* ================= V12 专属组件 ================= */
/* --- 贯通绿色燃料全产业链 · 蓝色主题轮播 --- */
.banner{position:relative;height:330px;overflow:hidden;background:var(--navy);margin-bottom:0}
.banner .bg{position:absolute;inset:0;background-image:linear-gradient(120deg,#0a3566 0%,#1560ad 48%,#0f9d58 100%);transform:scale(1.02)}
.banner .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,30,58,.90) 0%,rgba(6,30,58,.72) 38%,rgba(6,30,58,.50) 68%,rgba(6,30,58,.34) 100%)}
/* V42：首屏改用实拍照底图后，加一层底部压暗，保证标题与摘要在任何图上都可读 */
.banner::after{content:"";position:absolute;inset:auto 0 0 0;height:52%;pointer-events:none;
background:linear-gradient(180deg,rgba(6,30,58,0),rgba(6,30,58,.42))}
.banner .wrap{position:relative;height:100%;display:flex;align-items:center}
.bslider{position:relative;flex:1;height:100%}
.bslide{position:absolute;inset:0;opacity:0;transition:opacity .6s;display:flex;flex-direction:column;
  justify-content:center;color:#fff;padding:0 8px}
.bslide.on{opacity:1}
.bslide .btag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:rgba(15,157,88,.92);
  font-size:12px;padding:4px 13px;border-radius:2px;letter-spacing:.6px;margin-bottom:14px}
.bslide h3{font-size:32px;line-height:1.3;font-weight:800;letter-spacing:1px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.bslide h3 em{font-style:normal;color:#7ee2a8}
.bslide p{font-size:15px;color:#cfe0f3;margin-top:11px;line-height:1.8;max-width:660px}
.bslide .bmeta{display:inline-block;margin-top:13px;font-size:12.5px;color:#9db9d8;background:rgba(255,255,255,.1);
  border:1px solid rgba(160,200,240,.32);padding:5px 14px;border-radius:2px}
.bslide .btns{display:flex;gap:11px;margin-top:22px}
.banner .bdots{position:absolute;right:0;bottom:26px;display:flex;gap:7px;z-index:3}
.banner .bdots i{width:26px;height:4px;background:rgba(255,255,255,.4);cursor:pointer;border-radius:2px}
.banner .bdots i.on{background:#5ee39a}
.banner .bnum{position:absolute;left:0;top:22px;font-size:11.5px;color:#9db9d8;letter-spacing:2px;z-index:3}
.banner .bnum b{color:#fff;font-size:13px}
/* --- 核心通道（快捷直达） --- */
.hs{display:none}
.qmore{font-size:12.5px;color:var(--ink-3);flex:0 0 auto;padding-left:12px;border-left:1px solid var(--line);line-height:1.5}
.qwrap{display:flex;gap:10px;flex:1;min-width:0}
.qcol{flex:1;border:1px solid var(--line);border-radius:3px;padding:12px 14px;background:#fff;display:flex;flex-direction:column}
.qcol:hover{border-color:var(--blue-l);box-shadow:0 6px 16px rgba(21,96,173,.1)}
.qcol .qi{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.qcol .qi .ic{width:34px;height:34px;flex:0 0 34px;border-radius:3px;background:var(--blue-bg);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800}
.qcol.g .qi .ic{background:#e6f7ee;color:var(--green-d)}
.qcol .qi b{font-size:15px;color:var(--navy)}
.qcol .qi span{font-size:11px;color:var(--ink-3);display:block}
.qcol ul li{padding:3.5px 0}
.qcol ul li a{font-size:12.5px;color:var(--ink-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qcol ul li a:hover{color:var(--blue)}
.qcol ul li a::before{content:"·";color:var(--blue-l);font-weight:800;margin-right:6px}
/* --- 企业资源六板块 --- */
.et6{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.et{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:3px;padding:12px 13px;transition:.18s}
.et:hover{border-color:var(--green);background:#f4fdf8;box-shadow:0 6px 16px rgba(15,157,88,.1)}
.et .cir{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:linear-gradient(135deg,#e6f7ee,#c9eedb);
  color:var(--green-d);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800}
.et .nm{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35}
.et .nm i{font-style:normal;font-size:11px;color:var(--red);font-weight:600;margin-left:6px}
.et ul{margin-top:5px}
.et ul li{font-size:11.5px;color:var(--ink-3);line-height:1.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.et ul li a:hover{color:var(--blue)}
/* --- 会议会展：三栏跑马灯 --- */
.expo-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mq{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.mq .mh{background:var(--navy);color:#fff;font-size:14.5px;font-weight:700;padding:10px 15px;display:flex;justify-content:space-between;align-items:center}
.mq .mh a{font-size:11.5px;color:#9db9d8;font-weight:400}
.mq.g .mh{background:linear-gradient(90deg,var(--green),#0b8a4d)}
.mq.r .mh{background:linear-gradient(90deg,var(--blue),var(--navy-2))}
.mqbox{height:326px;overflow:hidden;position:relative}
.mqbox:hover .mqlist{animation-play-state:paused}
/* V144：滚动时长按「实际条数」定，不再一律 30s。
   原实现固定 30s 走完 -50%（内容的一半）：国内会展 14 条尚可，
   国际会展只有 6 条 → 一半仅 3 条，却要滚 30 秒，每条约 10 秒，明显过慢。
   改为按 li 高度换算：每条约 4.2s 一条，取内容一半但不低于 3 条。 */
.mqlist{animation:mqroll var(--mq-dur,30s) linear infinite}
@keyframes mqroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
/* 注意：不要再写 .mqlist.mq-fast{animation-duration:…}——
   内联 animation-duration 会直接覆盖 var(--mq-dur)，把按条数算出的时长作废。
   条目少时由 JS 给 half 取最小 3 条来兜底即可。 */
.mqlist li{display:flex;gap:10px;align-items:flex-start;padding:10px 15px;border-bottom:1px dashed var(--line-2)}
.mqlist li .md{flex:0 0 44px;text-align:center;background:var(--blue-bg);border-radius:2px;padding:3px 0}
.mqlist li .md b{display:block;font-size:15px;color:var(--red);line-height:1.2}
.mqlist li .md span{font-size:10.5px;color:var(--ink-3)}
.mqlist li .mtx{flex:1;min-width:0}
.mqlist li .mtx a{display:block;font-size:13px;color:var(--ink-2);line-height:1.55}
/* V168：会展条目标题改**单行**（超长省略号），地点 / 主题各占一行 */
.mqlist li .mtx a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mqlist li .mtx a:hover{color:var(--blue)}
.mqlist li .mtx i{font-style:normal;display:block;font-size:11px;color:var(--ink-3);margin-top:2px}
/* 「地点 / 主题」分行：每项单独一行（原为一段文本，折行错乱） */
.mqlist li .mtx i.ameta{display:flex;flex-direction:column;gap:1px}
.mqlist li .mtx i.ameta>i{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mqlist li .bm{flex:0 0 auto;background:var(--blue);color:#fff;font-size:11.5px;padding:4px 11px;border-radius:2px;font-weight:600}
.mqlist li .bm:hover{background:var(--navy-2);color:#fff}
/* --- 生态网络：三栏一句话合作动态 --- */
.coop-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cp{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.cp .ch{background:var(--navy);color:#fff;font-size:14.5px;font-weight:700;padding:10px 15px;display:flex;justify-content:space-between;align-items:center}
.cp .ch a{font-size:11.5px;color:#9db9d8;font-weight:400}
.cp.g .ch{background:linear-gradient(90deg,var(--green),#0b8a4d)}
.cp.o .ch{background:linear-gradient(90deg,#c8342b,#a52a22)}
.cp ul{padding:8px 15px 12px}
.cp ul li{padding:9px 0;border-bottom:1px dashed var(--line-2)}
.cp ul li:last-child{border-bottom:0}
.cp ul li a{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.65}
.cp ul li a:hover{color:var(--blue)}
.cp ul li .kw{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.cp ul li .kw span{font-size:11px;color:var(--green-d);background:#e6f7ee;padding:1px 7px;border-radius:2px}
.cp ul li i{font-style:normal;display:block;font-size:11px;color:var(--ink-3);margin-top:4px}
/* --- 产业数据：产品看板（含趋势图） --- */
.dprod{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
/* V16：品类切换只保留蓝白配色，去掉灰色块 */
.dprod span{font-size:12.5px;padding:5px 15px;border-radius:3px;background:#fff;
  border:1px solid #b9d4ef;color:var(--blue);cursor:pointer;transition:.18s;font-weight:600}
.dprod span:hover{background:var(--blue-bg);border-color:var(--blue)}
.dprod span.on{background:var(--blue);border-color:var(--blue);color:#fff;
  box-shadow:0 2px 8px rgba(21,96,173,.22)}
.dp{display:none}
.dp.on{display:block}
.dp .rowlb{font-size:12.5px;color:var(--ink-3);margin-bottom:6px}
/* --- 工委会六模块 --- */
.cmtm{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cmtm a{border:1px solid var(--line);border-radius:3px;padding:14px 15px;display:block;background:#fff;transition:.18s}
.cmtm a:hover{border-color:var(--green);box-shadow:0 6px 16px rgba(15,157,88,.12)}
.cmtm a b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:4px}
.cmtm a i{font-style:normal;font-size:11.5px;color:var(--ink-3)}
/* --- 关于我们（页脚增强） --- */
.footer .fQR{display:flex;gap:12px;margin-top:12px}
.footer .fQR div{width:82px;height:82px;background:#fff;border-radius:3px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:var(--navy);font-size:10.5px;line-height:1.4;text-align:center;padding:4px}
.footer .fQR svg{width:52px;height:52px}
.footer .f-sup{background:#08294f;border-radius:3px;padding:12px 16px;margin:14px 0;font-size:11.5px;color:#7fa8d3;line-height:1.9}
.footer .f-sup b{color:#c9dcf2}
.footer .f-dis{font-size:11.5px;color:#6c93bd;line-height:1.95;padding-top:4px}
/* --- 回到顶部 --- */
/* V16：回到顶端按钮居中悬浮，与右下角智能客服分离，互不遮挡 */
.totop{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);width:52px;height:52px;
  border-radius:50%;background:rgba(10,53,102,.88);color:#fff;display:flex;align-items:center;
  justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(10,53,102,.32);
  opacity:0;visibility:hidden;transition:.25s;font-size:17px;z-index:210;backdrop-filter:blur(2px)}
.totop.on{opacity:1;visibility:visible;transform:translateX(-50%)}
.totop:hover{background:var(--blue);transform:translateX(-50%) translateY(-3px)}
  /* V176：汉堡菜单按钮仅供窄屏使用 —— 宽屏默认隐藏。
     原先全站只有 ≤768px 的「显示」规则、没有宽屏的「隐藏」规则，
     导致桌面端 logo 左侧常驻一个手机形状的空按钮（2026-10-21 用户反馈）。 */
  .mburger,.menu-btn,.hamburger,#mburger{display:none !important;}

@media (max-width:1240px){
  .wrap{width:100%;padding:0 12px}
  .main,.reg-wrap,.reg-simple{width:100%;padding:0 12px}
  .expo-3,.coop-3{grid-template-columns:1fr 1fr}
  .pol-grid{grid-template-columns:1fr 1fr}
  .two-col{grid-template-columns:1fr}
  .et6{grid-template-columns:1fr}
  .footer .f-top{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:900px){
  .insight{grid-template-columns:1fr}
  .deal-grid,.ent-wrap,.data-wrap{grid-template-columns:1fr}
  .four-col,.video-grid{grid-template-columns:1fr 1fr}
  .expo-3,.coop-3,.pol-grid{grid-template-columns:1fr}
  .quick .q-list{grid-template-columns:1fr 1fr 1fr}
  .hero-board{display:none}
  .qwrap{flex-wrap:wrap}
  .qcol{flex:1 1 100%}
}

/* ===== V12 补丁 ===== */
.main{display:flex;flex-wrap:wrap;gap:16px;margin:18px auto;max-width:1220px;align-items:flex-start}
.col-l{flex:1;min-width:0}
.col-r{width:300px;flex:0 0 300px}
/* V69 修复：免责声明 / 数据更新时间是整行块（由 _patch_data_pages.py 注入到 .main 首位），
   必须独占一行，否则宽屏下会和 .col-l/.col-r 挤在同一 flex 行里，
   把 .col-l 压成 0 宽（表现为整页左栏空白）。 */
.main>.disclaimer,.main>#dataUpdated{flex:0 0 100%;width:100%;max-width:100%}
.notice .roll ul{animation:none;transition:transform .5s}
.top-news .ph{position:absolute;inset:0;background:linear-gradient(135deg,#0d3c7a 0%,#1560ad 45%,#0f9d58 100%);
  display:flex;align-items:center;justify-content:center;transition:.5s}
.top-news:hover .ph{transform:scale(1.04)}
.top-news .ph span{color:rgba(255,255,255,.5);font-size:42px;font-weight:800;letter-spacing:8px}
.deal3{display:grid;grid-template-columns:1fr 1fr 320px;gap:16px;align-items:start}
.dcol{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.dcol .dh{padding:11px 15px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center}
.dcol .dh h3{font-size:15px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:7px}
.dcol .dh h3::before{content:"";width:3px;height:14px;background:var(--blue);border-radius:1px}
.dcol .dh span{font-size:11.5px;color:var(--ink-3)}
.dcol ul li{display:flex;gap:9px;align-items:flex-start;padding:9px 15px;border-bottom:1px dashed var(--line-2)}
.dcol ul li:last-child{border-bottom:0}
.dcol ul li:hover{background:#f7fafd}
.dcol ul li .tx{flex:1;min-width:0}
.dcol ul li .tx a{display:block;font-size:13px;color:var(--ink);line-height:1.55;font-weight:600}
.dcol ul li .tx a:hover{color:var(--blue)}
.dcol ul li .tx i{font-style:normal;display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px}
.dcol .df{padding:10px 15px;border-top:1px solid var(--line-2);display:flex;gap:10px}
.dcol .df a{flex:1;text-align:center;font-size:12.5px;padding:7px 0;border-radius:2px;background:var(--blue-bg);color:var(--blue);font-weight:600}
.dcol .df a.g{background:#e6f7ee;color:var(--green-d)}
@media (max-width:1240px){ .deal3{grid-template-columns:1fr 1fr} }
@media (max-width:900px){ .deal3{grid-template-columns:1fr} .main{flex-wrap:wrap} .col-r{width:100%;flex:1 1 100%} }

/* V12 收尾：头条轮播数据源容器不占位 */
.hslides{display:none}

/* V12 修复：项目速报 mini 项文本列可收缩，避免一字一行 */
.col-card .mini .m>div{flex:1;min-width:0}
.col-card .mini .m .tt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* V12 修复：项目速报 mini 项文本列可收缩，避免一字一行 */
.col-card .mini .m>div{flex:1;min-width:0}
.col-card .mini .m .tt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* V12 修复：网格列最小宽度归零，防止 nowrap 链接把列撑爆导致溢出/挤压 */
.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}
.pol-grid{grid-template-columns:repeat(3,minmax(0,1fr)) 300px}
.expo-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.coop-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.et6{grid-template-columns:repeat(2,minmax(0,1fr))}
.ent-wrap{grid-template-columns:minmax(0,1fr) 340px}
.data-wrap{grid-template-columns:minmax(0,1fr) 336px}
.deal3{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 320px}
.four-col>*,.pol-grid>*,.expo-3>*,.coop-3>*,.svc-grid>*,.et6>*,.video-grid>*,
.two-col>*,.ent-wrap>*,.data-wrap>*,.deal3>*{min-width:0}
.footer .f-sup span{display:inline-block;margin-right:28px}
.footer .f-sup b{margin-right:7px}

/* ================= V13 新增组件 ================= */
/* 核心通道（5 项快速直达，参考页样式） */
.quick .q-list.q5{grid-template-columns:repeat(5,1fr)}
.quick .q-list.q5 .q{justify-content:flex-start;padding:8px 12px}

/* 头条：左轮播（带图）+ 右更多信息 */
.hl-wrap{display:grid;grid-template-columns:minmax(0,566px) minmax(0,1fr);gap:16px}
.hl-left{position:relative}
.hl-box{position:relative;height:322px;border-radius:3px;overflow:hidden;background:#0b3a6f}
.hl-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s;display:block;color:#fff}
.hl-slide.on{opacity:1}
.hl-slide .hl-img{position:absolute;inset:0;background-size:cover;background-position:center;
  display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px}
.hl-slide .hl-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,26,48,.10) 0%,rgba(6,26,48,.55) 62%,rgba(6,26,48,.88) 100%)}
.hl-slide .hl-cat{position:relative;z-index:2;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:2px;
  background:rgba(255,255,255,.92);color:var(--navy)}
.hl-slide .hl-mark{position:relative;z-index:2;font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.62);font-weight:700}
.hl-slide .hl-ov{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;z-index:2}
.hl-slide .hl-ov .cat{display:inline-block;font-size:11px;padding:2px 9px;border-radius:2px;
  background:var(--red);color:#fff;font-weight:600;margin-bottom:8px}
.hl-slide .hl-ov h3{font-size:19px;font-weight:800;line-height:1.45;color:#fff;margin-bottom:6px}
.hl-slide .hl-ov p{font-size:12.5px;color:rgba(255,255,255,.82);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hl-dots{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;gap:6px}
.hl-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.2s}
.hl-dots i.on{background:#fff;width:20px;border-radius:5px}
.hl-right .card{padding:0;height:322px;display:flex;flex-direction:column}
.hl-rh{padding:11px 15px;border-bottom:1px solid var(--line-2);font-size:14.5px;font-weight:700;
  color:var(--navy);display:flex;justify-content:space-between;align-items:center}
.hl-rh a{font-size:11.5px;color:var(--ink-3);font-weight:400}
.hl-right .card ul{flex:1;padding:6px 15px}
.hl-right .card ul li{padding:8px 0;border-bottom:1px dashed var(--line-2);font-size:13px;line-height:1.5}
.hl-right .card ul li:last-child{border-bottom:0}

/* 产业数据：两组切换 + 曲线趋势图 */
.dset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dc{background:#fff;border:1px solid var(--line);border-radius:3px;padding:12px 13px 10px;display:flex;flex-direction:column}
.dc .dch{display:flex;align-items:baseline;gap:7px;margin-bottom:2px}
.dc .dch b{font-size:15px;font-weight:800;color:var(--navy)}
.dc .dch span{font-size:10px;color:var(--ink-3);letter-spacing:.5px}
.dc .dct{font-size:11.5px;color:var(--ink-3);margin-bottom:9px}
.dc .dkpi{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}
.dc .dkpi .k{background:linear-gradient(180deg,#f7fafd,#fff);border:1px solid var(--line);border-radius:2px;padding:6px 8px}
.dc .dkpi .k i{display:block;font-style:normal;font-size:11px;color:var(--ink-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc .dkpi .k span{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap;margin-top:2px}
.dc .dkpi .k b{font-size:17px;font-weight:800;color:var(--navy);line-height:1.2}
.dc .dkpi .k em{font-style:normal;font-size:10.5px;color:var(--ink-3)}
.dc .dkpi .k s{text-decoration:none;font-size:10.5px;font-weight:700}
.dc .dkpi .k s.up{color:var(--red)}
.dc .dkpi .k s.down{color:var(--green)}
.dc .ln{width:100%;height:132px;display:block}
.dc .dno{margin-top:6px;font-size:11px;color:var(--ink-3);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rank .rf{padding:8px 15px;border-top:1px solid var(--line-2);font-size:11px;color:var(--ink-3);background:#fafcfe}
.rank li .vv{display:flex;align-items:baseline;gap:2px}
.rank li .vv small{font-size:10px;color:var(--ink-3);font-weight:600;margin-left:2px}
.rank li .cg{font-size:11px;font-weight:700;flex:0 0 auto}
.rank li .cg.up{color:var(--red)}
.rank li .cg.down{color:var(--green)}

/* 供需撮合：右侧铺满 */
.deal3{align-items:stretch}
.deal-side{display:flex;flex-direction:column;gap:16px}
.deal-side>div{flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.deal-side .side-bd{flex:1}
.deal-side .side-bd ul{display:flex;flex-direction:column;justify-content:space-between;height:100%}
.deal-side .side-bd li{flex:1}

/* 产业资源：左右两大部分 */
.res-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 340px;gap:16px;align-items:stretch}
.res-col{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}
.res-hd{padding:11px 15px;border-bottom:1px solid var(--line-2);display:flex;align-items:baseline;gap:9px;
  background:linear-gradient(180deg,#f7fafd,#fff)}
.res-hd b{font-size:15px;font-weight:800;color:var(--navy)}
.res-hd span{font-size:10px;color:var(--ink-3);letter-spacing:.4px}
.res-3{flex:1;display:flex;flex-direction:column}
.res-3 .et{flex:1;display:flex;gap:10px;padding:12px 15px;border-bottom:1px dashed var(--line-2);align-items:flex-start}
.res-3 .et:last-child{border-bottom:0}
.res-3 .et .cir{width:30px;height:30px;flex:0 0 30px;border-radius:3px;background:var(--blue-bg);color:var(--blue);
  font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center}
.res-3 .et .nm{font-size:13.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:7px;margin-bottom:5px}
.res-3 .et .nm i{font-style:normal;font-size:11px;color:var(--ink-3);font-weight:600;padding:1px 7px;
  border-radius:9px;background:var(--line-2)}
.res-3 .et ul li{padding:3.5px 0;font-size:12.5px}
.res-3 .et ul li a{color:var(--ink-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.res-3 .et ul li a::before{content:"·";color:var(--blue-l);font-weight:800;margin-right:6px}
.res-3 .et ul li a:hover{color:var(--blue)}
/* V82：产业资源六大模块企业 / 机构名纵向跑马灯，鼠标悬停暂停 */
.res-3 .et .scroller{height:140px;overflow:hidden;position:relative;margin-top:6px}
.res-3 .et ul.marquee{margin:0;animation:resMarquee 20s linear infinite}
.res-3 .et:hover ul.marquee{animation-play-state:paused}
@keyframes resMarquee{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.res-3 .et ul.marquee li{padding:4px 0;font-size:12.5px;line-height:1.5}
.res-3 .et ul.marquee li a{color:var(--ink-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.res-3 .et ul.marquee li a::before{content:"·";color:var(--blue-l);font-weight:800;margin-right:6px}
.res-3 .et ul.marquee li a:hover{color:var(--blue)}
.res-side{display:flex;flex-direction:column;gap:14px}
.res-side .pick{flex:1;display:flex;flex-direction:column}

/* 商务服务：四板块 */
.svc-grid.svc-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:transparent;border:0;padding:0}
.svc4{background:#fff;border:1px solid var(--line);border-radius:3px;padding:14px 15px 13px;display:flex;flex-direction:column}
.svc4 .svc-hd{display:flex;align-items:center;margin-bottom:8px}
.svc4 .svc-hd b{display:block;font-size:20px;font-weight:800;color:var(--navy);line-height:1.2}
.svc4 .svc-hd span{display:block;font-size:10px;color:var(--ink-3);letter-spacing:.4px}
.svc4 p{font-size:12px;color:var(--ink-2);line-height:1.7;margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.svc4 ul{flex:1;border-top:1px dashed var(--line-2);padding-top:6px}
.svc4 ul li{padding:4.5px 0;font-size:12.5px}
.svc4 ul li a{color:var(--ink-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.svc4 ul li a::before{content:"·";color:var(--blue-l);font-weight:800;margin-right:6px}
.svc4 ul li a:hover{color:var(--blue)}
.svc4 .lnk{margin-top:9px;font-size:12px;color:var(--blue);font-weight:700}

@media (max-width:1240px){
  .hl-wrap{grid-template-columns:1fr}
  .res-wrap{grid-template-columns:1fr 1fr}
  .svc-grid.svc-4{grid-template-columns:1fr 1fr}
  .dset{grid-template-columns:1fr}
}
@media (max-width:900px){
  .quick .q-list.q5{grid-template-columns:1fr 1fr}
  .res-wrap{grid-template-columns:1fr}
  .svc-grid.svc-4{grid-template-columns:1fr}
}

/* ================= V14 新增组件 ================= */

/* 语言切换（中 / EN）激活态 + 翻译容器与 Google 翻译横幅隐藏 */
.topbar .tb-r .lang.on{color:#fff}
.topbar .tb-r .lang.on b{color:#fff}
.gtrans{display:none}
body{top:0 !important}
.skiptranslate iframe{display:none !important}
#goog-gt-tt,.goog-te-balloon-frame,.goog-te-spinner-pos{display:none !important}
.goog-text-highlight{background:none !important;box-shadow:none !important}

/* --- 智能客服悬浮窗（固定在右下角，不自动移动） --- */
.cs{position:fixed;right:22px;bottom:22px;z-index:320;font-size:13px;font-family:inherit}
.cs-ball{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;
  border-radius:50%;background:linear-gradient(135deg,#1560ad,#0a3566);color:#fff;position:relative;
  box-shadow:0 8px 22px rgba(10,53,102,.34);transition:.2s}
.cs-ball .ic{font-size:15px;font-weight:800;letter-spacing:1px;line-height:1}
.cs-ball .dot{position:absolute;right:1px;top:1px;width:11px;height:11px;border-radius:50%;
  background:#f45b4a;border:2px solid #fff}
.cs-ball:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(10,53,102,.44)}
.cs-panel{position:absolute;right:0;bottom:72px;width:336px;background:#fff;border:1px solid var(--line);
  border-radius:6px;box-shadow:0 16px 46px rgba(10,53,102,.24);overflow:hidden;display:none}
.cs.open .cs-panel{display:block}
.cs-hd{display:flex;align-items:center;gap:10px;padding:12px 14px;
  background:linear-gradient(120deg,#0a3566,#1560ad);color:#fff}
.cs-hd .av{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.cs-hd .cs-t b{display:block;font-size:14px}
.cs-hd .cs-t span{display:block;font-size:11px;color:#bcd6f2}
.cs-x{margin-left:auto;color:#cfe0f3;font-size:19px;line-height:1}
.cs-x:hover{color:#fff}
.cs-bd{padding:12px 14px;max-height:252px;overflow-y:auto;background:#f7fafd}
.cs-msg{padding:9px 12px;border-radius:3px;font-size:12.5px;line-height:1.75;margin-bottom:10px;color:var(--ink-2)}
.cs-msg.bot{background:#eef4fb;border-left:3px solid var(--blue)}
.cs-msg.me{background:#e6f7ee;border-left:3px solid var(--green);margin-left:38px}
.cs-qa .lb{font-size:11.5px;color:var(--ink-3);margin-bottom:6px}
.cs-qa ul li a{display:block;font-size:12.5px;color:var(--blue);padding:7px 10px;background:#fff;
  border:1px solid var(--line);border-radius:3px;margin-bottom:6px;transition:.16s}
.cs-qa ul li a:hover{border-color:var(--blue);background:#f4f9ff}
.cs-ft{display:flex;border-top:1px solid var(--line)}
.cs-ft input{flex:1;min-width:0;border:0;outline:0;padding:11px 12px;font-size:12.5px;font-family:inherit}
.cs-ft button{width:68px;border:0;background:var(--blue);color:#fff;font-size:13px;cursor:pointer;
  font-family:inherit;font-weight:700}
.cs-ft button:hover{background:var(--navy-2)}
.cs-tip{padding:7px 12px;font-size:11px;color:var(--ink-3);background:#fff;
  border-top:1px dashed var(--line-2);text-align:center}

/* --- 可点击轮播（整张跳转，无功能按钮） --- */
.bslide{cursor:pointer;text-decoration:none}
.bslide .bgo{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:13px;font-weight:700;
  color:#5ee39a;border-bottom:1px dashed rgba(94,227,154,.6);align-self:flex-start;transition:.2s}
.bslide .bgo i{font-style:normal;font-size:15px}
.bslide:hover .bgo{color:#fff;border-bottom-color:rgba(255,255,255,.75)}

/* --- 核心通道：6 个明显显示框 --- */
/* V16：核心通道 6 格统一版式（等宽等高、同结构，仅配色区分 CTA） */
.quick .q-list.q6{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}
.quick .q-list.q6 .q{display:flex;align-items:center;gap:11px;justify-content:flex-start;
  border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px 13px;min-height:78px;
  box-shadow:0 2px 8px rgba(10,53,102,.06);transition:.18s}
.quick .q-list.q6 .q:hover{border-color:var(--blue);background:#f4f9ff;
  box-shadow:0 6px 16px rgba(21,96,173,.16);transform:translateY(-2px)}
.quick .q-list.q6 .q.cta{border-color:#0a7a44}
.quick .q .tx{display:flex;flex-direction:column;min-width:0}
.quick .q-list.q6 .q .ic{width:38px;height:38px;flex:0 0 38px;font-size:15px;border-radius:6px;
  background:linear-gradient(135deg,#eaf3fd,#d5e8fb);color:var(--blue);display:flex;
  align-items:center;justify-content:center;font-weight:700}
.quick .q-list.q6 .q .t{font-size:14px;font-weight:700;color:var(--ink);line-height:1.3;white-space:nowrap}
.quick .q-list.q6 .q .d{font-size:11px;color:var(--ink-3);line-height:1.35;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* CTA 与其他格结构完全一致，只换配色，不再居中压缩 */
.quick .q-list.q6 .q.cta{background:linear-gradient(135deg,#0f9d58,#0a7a44);color:#fff;
  justify-content:flex-start;border-color:#0a7a44}
.quick .q-list.q6 .q.cta .ic{background:rgba(255,255,255,.22);color:#fff}
.quick .q-list.q6 .q.cta .t{color:#fff}
.quick .q-list.q6 .q.cta .d{color:rgba(255,255,255,.82)}
.quick .q-list.q6 .q.cta:hover{background:linear-gradient(135deg,#12b866,#0a7a44);
  filter:none;box-shadow:0 6px 16px rgba(10,122,68,.28)}

/* --- 头条：右侧资讯去标签 + 铺满 --- */
.hl-right .card ul{flex:1;display:flex;flex-direction:column;justify-content:space-between;
  padding:8px 15px 10px}
.hl-right .card ul li{display:flex;gap:10px;align-items:baseline;padding:6px 0;
  border-bottom:1px dashed var(--line-2)}
.hl-right .card ul li:last-child{border-bottom:0}
.hl-right .card ul li .dt{flex:0 0 44px;color:var(--ink-3);font-size:12px!important}
.hl-right .card ul li a{flex:1;min-width:0;color:var(--ink-2);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hl-right .card ul li a:hover{color:var(--blue)}

/* --- 产业洞察：四栏等高，项目速报带图 --- */
.four-col{align-items:stretch}
.four-col>.col-card{display:flex;flex-direction:column}
.four-col>.col-card ul{flex:1;display:flex;flex-direction:column}
.col-card .mini.mini-pic{flex:1;display:flex;flex-direction:column;
  padding:6px 15px 8px}
.col-card .mini-pic .m{display:flex;gap:10px;align-items:center;padding:7px 0;
  border-top:1px dashed var(--line-2)}
.col-card .mini-pic .m:first-child{border-top:0}
.col-card .mini-pic .m .thumb{width:88px;height:58px;flex:0 0 88px;border-radius:3px;
  object-fit:cover;display:block}
.col-card .mini-pic .m .mi{flex:1;min-width:0}
.col-card .mini-pic .m .tt{font-size:12.5px;color:var(--ink-2);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.col-card .mini-pic .m .md{font-size:11px;color:var(--ink-3);margin-top:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- 政策合规：四列等高铺满 --- */
.pol-grid{align-items:stretch}
.pol-col ul,.warn ul{flex:1}
.pol-col ul{display:flex;flex-direction:column;justify-content:space-between}
.warn ul{display:flex;flex-direction:column;justify-content:space-between}

/* --- 产业数据：指数榜单行距舒展、单位清晰 --- */
.data-side{gap:14px}
.rank ul{padding:5px 0 7px}
.rank li{padding:11px 16px;gap:11px}
.rank li .nm{flex:1;min-width:0}
.rank li .vv{display:flex;align-items:baseline;gap:3px;min-width:78px;justify-content:flex-end}
.rank li .vv b{font-size:14px;font-weight:800;color:var(--navy)}
.rank li .vv small{font-size:10.5px;color:var(--ink-3);font-weight:600}
.rank li .cg{flex:0 0 62px;text-align:right;font-size:11.5px;font-weight:700}
.rank .rf{padding:9px 16px}
.dprod .auto{font-size:11.5px;color:var(--ink-3);background:#f2f5f9;border:1px dashed var(--line);
  padding:5px 12px;border-radius:14px;margin-left:auto;font-weight:400}

/* --- 供需撮合：国内供需信息 / 国际供需信息 + 右侧「商机发布 / 合作案例」专栏 --- */
.deal-wrap{display:grid;grid-template-columns:1fr 1fr 320px;gap:16px;align-items:start}
.deal-block{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column}
.db-hd{padding:11px 16px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:10px;
  background:linear-gradient(180deg,#f7fafd,#fff)}
.db-hd h3{font-size:15px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:7px}
.db-hd h3::before{content:"";width:3px;height:14px;background:var(--blue);border-radius:1px}
.db-hd a{margin-left:auto;font-size:11.5px;color:var(--ink-3)}
.db-hd a:hover{color:var(--blue)}
.dlist2{list-style:none;margin:0;padding:4px 16px 12px}
.dlist2 li{padding:9px 0;border-bottom:1px dashed var(--line-2)}
.dlist2 li:last-child{border-bottom:0}
.dlist2 li a{display:block;text-decoration:none;color:inherit}
.dlist2 li b{display:block;font-size:13px;font-weight:600;line-height:1.5;color:var(--ink-1);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlist2 li a:hover b{color:var(--blue)}
.dlist2 li span{display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- 产业资源：六大类目图片化 --- */
.res-3 .et .ric{width:48px;height:48px;flex:0 0 48px;border-radius:3px;object-fit:cover;display:block}
.res-3 .et .etx{flex:1;min-width:0}

/* --- 生态网络：每条信息配图 --- */
.cp ul li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line-2)}
.cp ul li .thumb{width:78px;height:54px;flex:0 0 78px;border-radius:3px;object-fit:cover;display:block}
.cp ul li .cptx{flex:1;min-width:0}
.cp ul li .cptx a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp ul{display:flex;flex-direction:column;justify-content:space-between;flex:1}
/* V171：生态网络改为与「项目速报 / 行业研报」同款 —— 图 + 单行标题 + 日期。
   · 去掉原来的标签/摘要行（.kw），只留标题 + 日期；
   · 日期紧跟标题下方，字号/颜色与全站列表日期一致（11px / ink-3）；
   · 图片与文字上下居中。 */
.cp ul li{align-items:center}
.cp ul li .cptx i{font-style:normal;display:block;font-size:11px;color:var(--ink-3);margin-top:4px}

/* --- 通栏广告 --- */
.ad-band{margin-top:22px}
.ad-card{display:flex;align-items:center;gap:16px;height:166px;padding:0 28px;border-radius:4px;color:#fff;
  position:relative;overflow:hidden;transition:.2s;box-shadow:0 4px 16px rgba(10,53,102,.12)}
.ad-card::after{content:"";position:absolute;right:-46px;top:-46px;width:186px;height:186px;
  border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.ad-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(10,53,102,.26);color:#fff}
.ad-tag{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:3px 11px;border-radius:2px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);letter-spacing:.5px}
.ad-tx{flex:1;min-width:0}
.ad-tx b{display:block;font-size:18px;font-weight:800;letter-spacing:.5px}
.ad-tx span{display:block;font-size:12.5px;color:rgba(255,255,255,.84);margin-top:5px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-cta{flex:0 0 auto;font-size:13px;font-weight:700;background:#fff;color:var(--navy);
  padding:8px 18px;border-radius:2px}
.ad-cta i{font-style:normal}
.ad-roll{position:relative}
.ad-slider{position:relative;height:166px}
.ad-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none}
.ad-slide.on{opacity:1;pointer-events:auto}
.ad-slide .ad-card{height:166px}
.ad-dots{position:absolute;right:18px;bottom:9px;display:flex;gap:6px;z-index:4}
.ad-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}
.ad-dots i.on{background:#fff;width:18px;border-radius:4px}
.ad-grid{display:grid;gap:14px}
.ad-grid.ad-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ad-grid.ad-n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ad-grid .ad-card{height:143px;padding:0 20px;gap:12px}
.ad-grid .ad-tag{font-size:11px;padding:2px 9px}
.ad-grid .ad-tx b{font-size:15.5px}
.ad-grid .ad-tx span{font-size:11.5px;margin-top:4px}
.ad-grid .ad-cta{font-size:12px;padding:6px 13px}

/* --- 产业视界（4 个视频栏） --- */
.video{display:block;color:inherit;text-decoration:none}
.video .vt{color:var(--ink)}
.video:hover .vt{color:var(--blue)}

@media (max-width:1240px){
  .deal-wrap{grid-template-columns:1fr}
  .quick .q-list.q6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ad-grid.ad-n3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dcols.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dsub:nth-child(2n){border-right:0}
}
@media (max-width:900px){
  .ad-grid.ad-n2,.ad-grid.ad-n3{grid-template-columns:1fr}
  .ad-card{height:auto;padding:14px 18px;flex-wrap:wrap;gap:10px}
  .ad-slider,.ad-slide .ad-card{height:199px}
  .quick .q-list.q6{grid-template-columns:1fr 1fr}
  .dcols.c4,.dcols.c3{grid-template-columns:1fr}
  .dsub{border-right:0;border-bottom:1px dashed var(--line-2)}
  .cs-panel{width:286px}
}

/* ===== V169：窄屏下广告位 / 视频改为**并排**，不再上下堆叠 =====
   用户反馈（2026-10-20）：≤900px 时首页广告带与「产业视界」视频
   被压成 1 列上下排列，且只占左半边、右侧大片留白，版面很空。
   · 广告 n2 → 2 列、n3 → 2 列（3 列在窄屏过窄，2 列可读性更好）；
   · 视频 → 2 列（≤560px 的手机才降到 1 列）。
   放在原 900px 规则**之后**，同优先级下靠后者生效。 */
@media (max-width:900px){
  .ad-grid.ad-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-grid.ad-n3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-grid .ad-card{height:143px;padding:0 20px;gap:12px;flex-wrap:nowrap}
  .ad-grid .ad-tx b{font-size:15.5px}
  .ad-grid .ad-tx span{font-size:11.5px;margin-top:4px}
  .ad-grid .ad-cta{font-size:12px;padding:6px 13px}
}
@media (max-width:560px){
  .ad-grid.ad-n2,.ad-grid.ad-n3{grid-template-columns:1fr}
}

/* ===== V169d：广告在 ≤560px 也保持并排 =====
   用户截图（宽 936px 但内容单列）说明其浏览器有缩放，实际 CSS 视口更窄。
   为覆盖这种场景，广告带统一维持 2 列，仅在 ≤380px（真手机）才降到 1 列。 */
@media (max-width:560px){
  .ad-grid.ad-n2,.ad-grid.ad-n3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-grid .ad-card{height:130px;padding:0 14px;gap:9px}
  .ad-grid .ad-tx b{font-size:13px}
  .ad-grid .ad-tx span{font-size:10.5px;margin-top:3px}
  .ad-grid .ad-cta{font-size:11px;padding:5px 10px}
  .ad-grid .ad-tag{font-size:10px;padding:1px 7px}
}
@media (max-width:380px){
  .ad-grid.ad-n2,.ad-grid.ad-n3{grid-template-columns:1fr}
}

/* V14 修复：6 格核心通道中 CTA（企业入驻）背景被通用框样式覆盖 */
.quick .q-list.q6 .q.cta{background:linear-gradient(135deg,#0f9d58,#0a7a44);color:#fff;border-color:#0a7a44}
.quick .q-list.q6 .q.cta .ic{background:rgba(255,255,255,.2);color:#fff}
.quick .q-list.q6 .q.cta .t,.quick .q-list.q6 .q.cta .d{color:#fff}
.quick .q-list.q6 .q.cta:hover{filter:brightness(1.08);background:linear-gradient(135deg,#12b866,#0a7a44)}

/* ============================================================
   V15 中英双语：两套文本内嵌页面，按 <html lang> 显隐
   切换仅改 html lang 属性 —— 无刷新、无外部请求、即时生效
   ============================================================ */
html .ie{display:none}
html[lang="en"] .iz{display:none}
html[lang="en"] .ie{display:inline}

/* ---- 英文态排版适配：英文串普遍更长，放宽关键容器避免挤压/溢出 ---- */
html[lang="en"] body{font-family:"Segoe UI",Arial,Helvetica,sans-serif}
html[lang="en"] .nav .item>a{padding:0 9px;white-space:nowrap}
html[lang="en"] .drop{min-width:250px;max-width:min(520px,calc(100vw - 40px))}
/* V138：原为写死的 min-width:560px —— 英文下拉比视口还宽，
   导致整页横向溢出 99px。改为可自适应上限。 */
html[lang="en"] .drop.wide{min-width:0;max-width:min(520px,calc(100vw - 40px))}
html[lang="en"] .drop a,html[lang="en"] .drop .grp{white-space:normal;line-height:1.4}
html[lang="en"] .tb-l span{font-size:12px}
html[lang="en"] .btn,html[lang="en"] .btn-p{white-space:nowrap}
/* 英文导航更长：缩小字号与间距防溢出 */
html[lang="en"] .nav .item>a{font-size:13px;letter-spacing:0;padding:0 10px;line-height:50px}
/* 品牌双行导航项：英文更长，缩小字号保持两行 */
html[lang="en"] .nav .item.committee{flex:0 0 216px}
html[lang="en"] .nav .item.committee>a{font-size:11px;line-height:1.35;padding:7px 10px}
/* 核心通道英文标题/副字更长：允许换行防截断 */
html[lang="en"] .quick .q .t,html[lang="en"] .quick .q .d{white-space:normal}
html[lang="en"] .quick .q .t{font-size:12.5px;line-height:1.2}
html[lang="en"] .quick .q .d{font-size:10.5px;line-height:1.3}
html[lang="en"] .quick .q-list.q6 .q{padding:8px 9px;gap:7px}
html[lang="en"] .cs-ball{font-size:12px;letter-spacing:0}
/* 英文顶栏与 logo 行更长：压缩字号、允许收缩防溢出 */
html[lang="en"] .topbar{font-size:11px;height:34px;line-height:34px}
html[lang="en"] .topbar .tb-r a{padding:0 8px}
html[lang="en"] .topbar .tb-l{overflow:hidden;flex:1;min-width:0}
html[lang="en"] .topbar .tb-l span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[lang="en"] .topbar .tb-r{flex:0 0 auto}
html[lang="en"] .header{padding:12px 0}
html[lang="en"] .header .wrap{gap:16px}
html[lang="en"] .logo .txt .cn{font-size:19px;letter-spacing:0}
html[lang="en"] .search{width:300px}
html[lang="en"] .hotline .lb{font-size:10px;white-space:nowrap}
html[lang="en"] .hotline .no{font-size:16px}

/* ================= V16：最终显示页（资讯 / 数据 / 商机详情页） ================= */
.dt-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px 26px 24px;margin-bottom:14px}
.dt-hd h1{font-size:22px;font-weight:800;color:var(--navy);line-height:1.45;margin-bottom:8px}
.dt-meta{font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dt-cat{background:var(--blue-bg);color:var(--blue);padding:2px 10px;border-radius:2px;font-size:11.5px;font-weight:600}
.dt-pic{margin:14px 0;text-align:center}
.dt-img{width:100%;max-width:640px;height:auto;border-radius:4px;border:1px solid var(--line-2)}
.dt-sum{background:#f7f9fc;border-left:3px solid var(--blue);padding:12px 16px;font-size:13.5px;
  color:var(--ink-2);line-height:1.85;border-radius:0 3px 3px 0}
.dt-body{padding:16px 0 4px}
.dt-body p{font-size:14px;line-height:2;color:var(--ink-2);text-indent:2em;margin-bottom:6px}
.dt-tip{margin-top:14px;padding:10px 14px;background:#fff8e6;border:1px dashed #e3c98a;
  color:#9a6a00;font-size:12.5px;border-radius:3px}
.dt-rel li{padding:8px 0;border-bottom:1px dashed var(--line-2);display:flex;gap:10px;
  align-items:baseline;font-size:13px}
.dt-rel li:last-child{border-bottom:0}
.dt-rel li a{flex:1;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dt-rel li a:hover{color:var(--blue)}
.dt-rel li em{font-style:normal;font-size:11.5px;color:var(--ink-3)}

/* ================= V16：供需撮合 两栏横向图文卡片 ================= */
.dcols.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dcol{padding:10px 14px 12px;display:flex;flex-direction:column;min-width:0}
.dcol+.dcol{border-left:1px dashed var(--line-2)}
.dcol-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dcol-h i{font-style:normal;font-size:10.5px;color:var(--ink-3)}
.dlist{display:flex;flex-direction:column;gap:9px}
.dlist li a{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid var(--line-2);
  border-radius:4px;background:#fff;transition:.16s}
.dlist li a:hover{border-color:var(--blue);background:var(--blue-bg);
  box-shadow:0 3px 10px rgba(21,96,173,.1)}
.dthumb{flex:0 0 66px;width:66px;height:48px;border-radius:3px;overflow:hidden;background:#eef2f7}
.dimg{width:66px;height:48px;object-fit:cover;display:block}
.dtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.dtx b{font-size:12.8px;font-weight:600;color:var(--ink);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dlist li a:hover .dtx b{color:var(--blue)}
.dtx i{font-style:normal;font-size:11px;color:var(--ink-3)}

/* ================= V16：优质供应商企业标识 ================= */
.pick ul li a{display:flex;gap:11px;align-items:center;padding:9px 12px;
  border-bottom:1px dashed var(--line-2)}
.pick ul li:last-child a{border-bottom:0}
.pick ul li a:hover{background:var(--blue-bg)}
.pick ul li a:hover .info b{color:var(--blue)}
.logo-mark{flex:0 0 40px;width:40px;height:40px;border-radius:6px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;background:#eef2f7}
.logo-mark img{width:40px;height:40px;object-fit:contain;display:block}
.pick .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}

/* ================= V16：会议报道静态列表（不轮播） ================= */
.rlist{padding:6px 12px 10px}
.rlist li a{display:flex;gap:12px;align-items:flex-start;padding:8px 6px;
  border-bottom:1px dashed var(--line-2);transition:.15s;border-radius:3px;
  /* V174：缺 min-width:0 时 flex 子项（.rtx）拒绝收缩，
     文字会撑破容器直顶页面右边缘（实测中文溢出 200px、英文 627px）。 */
  min-width:0;max-width:100%}
.rlist li:last-child a{border-bottom:0}
.rlist li a:hover{background:var(--blue-bg)}
.rlist .rdate{flex:0 0 46px;font-size:11.5px;color:var(--ink-3);line-height:1.7}
.rlist .rtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rlist .rtx b{font-size:12.8px;font-weight:600;color:var(--ink);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rlist li a:hover .rtx b{color:var(--blue)}
.rlist .rtx i{font-style:normal;font-size:11px;color:var(--ink-3)}

/* ================= V16：页脚三段式 ｜ V86：标题行内联 + 手风琴收起 ================= */
.f-wrap{display:flex;align-items:flex-start;flex-wrap:wrap;gap:26px;padding:20px 0 18px;
  border-bottom:1px solid rgba(255,255,255,.12)}
.f-brand{flex:0 0 auto}
.f-brand .cn{font-size:17px;font-weight:800;color:#fff}
.f-brand .en{font-size:10.5px;color:#9fb3c8;letter-spacing:1px;margin-top:4px;line-height:1.6}
.f-col{flex:1 1 0;min-width:0}
.f-col h4{font-size:13.5px;color:#fff;font-weight:700;margin:0;padding:6px 20px 6px 0;
  border-bottom:0;cursor:pointer;position:relative;user-select:none;-webkit-user-select:none}
.f-col h4::after{content:"▾";position:absolute;right:2px;top:7px;font-size:11px;color:#8fb4dc;
  transition:transform .18s ease}
.f-col.open h4::after{transform:rotate(180deg)}
.f-col .f-body{display:none;padding:6px 0 8px}
.f-col.open .f-body{display:block}
.f-col li{padding:4px 0}
.f-col li a{font-size:12.5px;color:#b8c8d8}
.f-col li a:hover{color:#fff}
.f-col .f-lead{font-size:12px;color:#c3d2e0;line-height:1.8;margin-top:8px}
.f-ccol{flex:1.3 1 0}
.f-ccol li{font-size:12.5px;color:#b8c8d8;padding:4px 0;display:flex;gap:8px;flex-wrap:wrap}
.f-ccol li i{font-style:normal;color:#8fa6bb;flex:0 0 88px}
.fQR{display:flex;gap:14px;margin-top:10px}
.fQR div{text-align:center}
.fQR .qr{width:74px;height:74px}
.fQR span{display:block;font-size:11px;color:#9fb3c8;margin-top:4px}
.f-btns{margin-left:auto;display:flex;gap:8px;flex:0 0 auto;padding-top:2px}
.f-btns a{text-align:center;font-size:12.5px;padding:8px 18px;border-radius:3px;
  background:rgba(255,255,255,.12);color:#fff;white-space:nowrap}
.f-btns a.g{background:#0f9d58}
/* V86：f-bot 底部声明块保持原样（保留原专用规则） */
.f-bot{padding:14px 0 20px}
.f-bot .f-sup{font-size:12px;color:#9fb3c8;line-height:1.9;display:block}
.f-bot .f-dis{font-size:11.5px;color:#7f93a8;margin-top:6px;line-height:1.75;display:block}
.f-bot .f-cp{font-size:12px;color:#9fb3c8;margin-top:8px;display:block}
@media (max-width:1240px){
  .f-wrap{gap:16px}
  .f-btns{margin-left:0}
}
@media (max-width:760px){
  .f-wrap{flex-direction:column;gap:0;padding:16px 0 14px}
  .f-col{flex:0 0 auto;width:100%}
  .f-btns{margin:12px 0 0}
}

/* ================= V16：智能客服美化 ================= */
.cs{right:24px;bottom:24px;z-index:330}
.cs-ball{width:56px;height:56px;box-shadow:0 10px 26px rgba(10,53,102,.36);
  background:linear-gradient(135deg,#1f7ac6,#0a3566)}
.cs-ball .ic{font-size:13px;letter-spacing:2px}
.cs-panel{width:348px;border-radius:10px;bottom:78px;
  box-shadow:0 18px 50px rgba(10,53,102,.26)}
.cs-hd{border-radius:10px 10px 0 0}

/* ================= V16：内容卡片区 / 商机墙 ================= */
.ngrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 14px}
.ncard{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:4px;
  overflow:hidden;background:#fff;transition:.16s}
.ncard:hover{border-color:var(--blue);box-shadow:0 6px 16px rgba(21,96,173,.14);transform:translateY(-2px)}
.npic{display:block;height:104px;overflow:hidden;background:#eef2f7}
.nimg{width:100%;height:104px;object-fit:cover;display:block}
.nbody{padding:9px 11px 11px;display:flex;flex-direction:column;gap:4px}
.nbody b{font-size:13px;font-weight:600;color:var(--ink);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ncard:hover .nbody b{color:var(--blue)}
.nbody i{font-style:normal;font-size:11.5px;color:var(--ink-3);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nbody em{font-style:normal;font-size:11px;color:var(--ink-3)}
.zlist{padding:6px 16px 14px}
.zlist li a{display:flex;gap:12px;align-items:baseline;padding:7px 0;
  border-bottom:1px dashed var(--line-2);font-size:13px}
.zlist li:last-child a{border-bottom:0}
.zlist li a b{flex:1;color:var(--ink-2);font-weight:400;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.zlist li a:hover b{color:var(--blue)}
.zlist li a em{font-style:normal;font-size:11.5px;color:var(--ink-3);flex:0 0 auto}
.ogrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 14px}
.ocard{position:relative;display:flex;gap:10px;align-items:center;border:1px solid var(--line-2);
  border-radius:4px;background:#fff;padding:10px;transition:.16s}
.ocard:hover{border-color:var(--blue);box-shadow:0 6px 16px rgba(21,96,173,.14);
  transform:translateY(-2px)}
.opic{flex:0 0 72px;width:72px;height:54px;border-radius:3px;overflow:hidden;background:#eef2f7}
.oimg{width:72px;height:54px;object-fit:cover;display:block}
.obody{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.obody b{font-size:12.8px;font-weight:600;color:var(--ink);line-height:1.45;
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.obody i{font-style:normal;font-size:11px;color:#8b97a5}
.obody em{font-style:normal;font-size:11px;color:var(--ink-3)}
.opill{position:absolute;right:8px;top:8px;font-size:10.5px;padding:1px 7px;border-radius:2px;
  background:var(--blue-bg);color:var(--blue)}
.zm{margin-left:10px;color:var(--blue);font-size:11.5px}
@media(max-width:1240px){.ngrid,.ogrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ngrid,.ogrid{grid-template-columns:1fr}}

/* ================= V16：政策合规 / 产业资源 / 会展 / 商务服务 版式 ================= */
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 14px}
.pcol{border:1px solid var(--line-2);border-radius:4px;padding:10px 12px;background:#fff}
.pch{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;
  padding-bottom:6px;border-bottom:1px solid var(--line-2)}
.pch b{font-size:14px;font-weight:700;color:var(--navy)}
.pch i{font-style:normal;font-size:11px;color:var(--ink-3)}
.pcol ul li{padding:6px 0;border-bottom:1px dashed var(--line-2)}
.pcol ul li:last-child{border-bottom:0}
.pcol ul li a{display:flex;gap:8px;align-items:baseline;font-size:12.5px}
.pcol ul li a b{flex:1;font-weight:400;color:var(--ink-2);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.pcol ul li a:hover b{color:var(--blue)}
.pcol ul li a em{font-style:normal;font-size:11px;color:var(--ink-3);flex:0 0 auto}
.wlist li{padding:8px 0;border-bottom:1px dashed var(--line-2)}
.wlist li:last-child{border-bottom:0}
.wlist li b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:3px;font-weight:400}
.wlist li b i{font-style:normal;font-size:10.5px;padding:1px 6px;border-radius:2px;
  background:#fdecea;color:var(--red);margin-right:6px}
.wlist li b i.y{background:#fff4e0;color:#b57406}
.wlist li p{font-size:12px;color:var(--ink-3);line-height:1.6}
.egrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 14px}
.ecard{display:flex;gap:10px;align-items:center;border:1px solid var(--line-2);border-radius:4px;
  background:#fff;padding:10px;transition:.16s}
.ecard:hover{border-color:var(--blue);box-shadow:0 5px 14px rgba(21,96,173,.12);transform:translateY(-2px)}
.epic{flex:0 0 56px;width:56px;height:44px;border-radius:3px;overflow:hidden;background:#eef2f7}
.eimg{width:56px;height:44px;object-fit:cover;display:block}
.ebody{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ebody b{font-size:12.6px;font-weight:600;color:var(--ink);line-height:1.45;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ebody i{font-style:normal;font-size:11px;color:var(--ink-3)}
.agenda{padding:8px 14px 14px}
.agenda li a{display:flex;gap:12px;align-items:center;padding:9px 10px;
  border:1px solid var(--line-2);border-radius:4px;margin-bottom:8px;transition:.15s;background:#fff}
.agenda li a:hover{border-color:var(--blue);background:var(--blue-bg)}
.adate{flex:0 0 52px;text-align:center}
.adate b{display:block;font-size:18px;font-weight:800;color:var(--navy);line-height:1.1}
.adate i{font-style:normal;font-size:11px;color:var(--ink-3)}
.abody{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.abody b{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
/* V168：会展条目的「地点 / 主题」各占一行（原为 <i> 内联，会挤在一行折行） */
.abody .ameta{display:flex;flex-direction:column;gap:1px;min-width:0}
.abody .ameta i{display:block;font-style:normal;font-size:11px;color:var(--ink-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.abody i{font-style:normal;font-size:11px;color:var(--ink-3)}
.abm{font-size:11.5px;color:var(--blue);flex:0 0 auto}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 14px}
.scard{border:1px solid var(--line-2);border-radius:4px;background:#fff;padding:11px 13px 13px}
.sch{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;
  padding-bottom:6px;border-bottom:1px solid var(--line-2)}
.sch b{font-size:14px;font-weight:700;color:var(--navy)}
.sch i{font-style:normal;font-size:11px;color:var(--ink-3)}
.scard ul li{padding:5px 0;font-size:12.5px;border-bottom:1px dashed var(--line-2)}
.scard ul li:last-child{border-bottom:0}
.scard ul li a{color:var(--ink-2)}
.scard ul li a:hover{color:var(--blue)}
@media(max-width:1240px){.pgrid,.egrid,.sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pgrid,.egrid,.sgrid{grid-template-columns:1fr}}

/* ============================================================
   V17 改造样式
   1 首屏轮播 / 2 核心通道 / 3-4 头条 / 5 广告页 / 6 政策小栏目
   7 产业数据 / 8-9 供需撮合 / 10 产业资源 / 11 会议报道 / 12 产业视界
   14 去数量化 / 15 下载中心 / 19 折叠更多 / 21 报名
   ============================================================ */

/* ---- 1 首屏轮播：整张可点击、无按钮文字；非当前帧不拦截点击 ---- */
.bslide{pointer-events:none}
.bslide.on{pointer-events:auto}
.bslide .btag{margin-bottom:12px}
.bslide h3{max-width:760px}

/* ---- 2 核心通道：六格同结构同尺寸，企业入驻仅高亮配色 ---- */
.quick .q-list.q6{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding-left:12px}
.quick .q-list.q6 .q{border:1px solid var(--line-2);border-radius:4px;background:#fff;
  padding:11px 12px;align-items:center;gap:10px;min-height:62px;box-sizing:border-box}
.quick .q-list.q6 .q:hover{border-color:var(--blue);background:var(--blue-bg);
  box-shadow:0 5px 14px rgba(21,96,173,.12);transform:translateY(-2px)}
.quick .q-list.q6 .q .ic{width:34px;height:34px;flex:0 0 34px;border-radius:4px;
  background:var(--blue-bg);color:var(--blue);font-size:15px;font-weight:800;
  display:flex;align-items:center;justify-content:center}
.quick .q-list.q6 .q .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.quick .q-list.q6 .q .t{font-size:14px;font-weight:800;color:var(--navy);line-height:1.25}
.quick .q-list.q6 .q .d{font-size:11.5px;color:var(--ink-3);line-height:1.35}
.quick .q-list.q6 .q .go{font-size:16px;color:#c3ccd6;line-height:1}
.quick .q-list.q6 .q:hover .go{color:var(--blue)}
.quick .q-list.q6 .q.cta{background:linear-gradient(135deg,#0f9d58,#0a7a44);border-color:#0a7a44}
.quick .q-list.q6 .q.cta .ic{background:rgba(255,255,255,.22);color:#fff}
.quick .q-list.q6 .q.cta .t,.quick .q-list.q6 .q.cta .d{color:#fff}
.quick .q-list.q6 .q.cta .go{color:rgba(255,255,255,.8)}
.quick .q-list.q6 .q.cta:hover{background:linear-gradient(135deg,#12b866,#0a7a44);
  box-shadow:0 6px 18px rgba(15,157,88,.3)}

/* ---- 3-4 头条：轮播整张可点击、无定位标签 ---- */
.hl-slide .hl-img{background-size:cover;background-position:center}
.hl-slide .hl-mark{background:rgba(6,26,48,.42);padding:3px 9px;border-radius:2px;
  letter-spacing:2px}
.hl-slide .hl-ov h3{margin-bottom:8px}
.hl-rh{justify-content:flex-start}

/* ---- 6 政策合规：蓝色小栏目框可点击 ---- */
.pol-col .tags-t a{cursor:pointer;text-decoration:none;transition:.15s;
  border:1px solid transparent}
.pol-col .tags-t a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.pol-col .tags-t a.g:hover{background:var(--green-d);border-color:var(--green-d);color:#fff}

/* ---- 7 产业数据：六大品类统一选择框 + 悬停切图 ---- */
.dprod.six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}
.dprod span{text-align:center;font-size:13px;padding:8px 6px;border-radius:3px;
  background:#fff;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;
  transition:.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dprod span:hover{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}
.dprod span.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}
.dp{border:1px solid var(--line-2);border-radius:4px;background:#fafcfe;padding:12px 14px 10px}
.dp .dch{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.dp .dch b{font-size:16px;font-weight:800;color:var(--navy)}
.dp .dch span{font-size:10.5px;color:var(--ink-3);letter-spacing:.5px}
.dp .dch .dnow{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--ink-3)}
.dkpi.k4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.dkpi .k{background:#fff;border:1px solid var(--line);border-radius:3px;padding:8px 10px;
  cursor:pointer;transition:.15s}
.dkpi .k:hover{border-color:var(--blue);box-shadow:0 4px 12px rgba(21,96,173,.14)}
.dkpi .k.on{border-color:var(--blue);background:var(--blue-bg)}
.dkpi .k i{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3);margin-bottom:3px}
.dkpi .k span{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}
.dkpi .k b{font-size:19px;font-weight:800;color:var(--navy);line-height:1.2}
.dkpi .k em{font-style:normal;font-size:11px;color:var(--ink-3)}
.dkpi .k s{text-decoration:none;font-size:11px;font-weight:700}
.dcharts{margin-top:10px;background:#fff;border:1px solid var(--line-2);border-radius:3px;
  padding:6px 8px 2px}
.dchart{display:none}
.dchart.on{display:block}
.dchart svg.ln{width:100%;height:186px}
.dp .dno{margin-top:8px;font-size:11.5px;color:var(--ink-3);line-height:1.7}
.dsvc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.dsvc.col{grid-template-columns:1fr;gap:8px;margin-top:12px}
.dsvc .dsv{border:1px solid var(--line-2);border-radius:3px;background:#fff;padding:10px 12px;
  display:flex;flex-direction:column;gap:3px;transition:.15s}
.dsvc .dsv:hover{border-color:var(--blue);background:var(--blue-bg)}
.dsvc .dsv b{font-size:13.5px;color:var(--navy)}
.dsvc .dsv span{font-size:11.5px;color:var(--ink-3);line-height:1.5}
/* V70：数据服务卡片加大（高度约翻倍）+ 配实拍图（仅单列版 .dsvc.col 生效，
   不影响其它页面仍在用的三列版 .dsvc） */
.dsvc.col .dsv{flex-direction:row;align-items:stretch;gap:0;padding:0;overflow:hidden;min-height:124px}
.dsvc.col .dsv .dimg{flex:0 0 186px;display:block;overflow:hidden;background:#eef2f6}
.dsvc.col .dsv .dimg img{width:100%;height:100%;object-fit:cover;display:block}
.dsvc.col .dsv .dtx{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px 18px}
.dsvc.col .dsv .dtx b{font-size:15.5px;line-height:1.35}
.dsvc.col .dsv .dtx>span{font-size:12.5px;line-height:1.55}
.data-side{display:flex;flex-direction:column}
.data-side .rank{flex:1;display:flex;flex-direction:column}
.data-side .rank ul{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.rank li a{display:flex;align-items:center;gap:9px;padding:9px 15px;
  border-bottom:1px solid var(--line-2);font-size:13px}
.rank li:last-child a{border-bottom:0}
.rank li a:hover{background:#f7fafd}
.rank li .src{font-size:11px;color:var(--blue);flex:0 0 auto;opacity:.75}
.rank li a:hover .src{opacity:1}

/* ---- 8-9 供需撮合：商机发布放大字号，合作案例完整换行 ---- */
.dcol-h i{display:none}
.deal-side .side-bd ul.post li{padding:9px 0}
.deal-side .side-bd ul.post li a{display:flex;flex-direction:column;gap:3px;
  justify-content:flex-start;align-items:stretch}
.deal-side .side-bd ul.post li a b{font-size:14.5px;font-weight:700;color:var(--ink);
  line-height:1.45}
.deal-side .side-bd ul.post li a:hover b{color:var(--blue)}
.deal-side .side-bd ul.post li a span{font-size:11.5px;color:var(--ink-3)}
.deal-side .side-hd.g{background:linear-gradient(90deg,var(--green),#0b8a4d)}
.deal-side .side-bd ul.cases li{padding:9px 0}
.deal-side .side-bd ul.cases li a{display:flex;flex-direction:column;gap:4px;
  justify-content:flex-start;align-items:stretch}
.deal-side .side-bd ul.cases li a b{font-size:13px;font-weight:600;color:var(--ink);
  line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.deal-side .side-bd ul.cases li a:hover b{color:var(--blue)}
.deal-side .side-bd ul.cases li a span{align-self:flex-start;font-size:10.5px;
  color:var(--green-d);background:#e6f7ee;padding:1px 8px;border-radius:2px}

/* ---- 10 产业资源：类目插图放大（约占栏目四分之一） ---- */
.res-3 .et{gap:14px;padding:14px 15px}
.res-3 .et .etpic{flex:0 0 26%;max-width:104px;height:82px;border-radius:4px;overflow:hidden;
  background:#eef2f7;display:block}
.res-3 .et .ric{width:100%;height:82px;object-fit:cover;display:block}
.res-3 .et:hover .etpic{box-shadow:0 6px 16px rgba(10,53,102,.16)}
.res-3 .et .etx{flex:1;min-width:0}
.res-3 .et .nm{font-size:14px;margin-bottom:6px}

/* ---- 11 会议报道 / 会展：图片 + 醒目报名 ---- */
.rlist .rpic{flex:0 0 74px;width:74px;height:54px;border-radius:3px;overflow:hidden;
  background:#eef2f7;display:block}
.rlist .rimg{width:74px;height:54px;object-fit:cover;display:block}
.rlist li a:hover .rtx b{color:var(--blue)}
.agenda li a{padding:9px 10px}
.agenda .evpic{flex:0 0 76px;width:76px;height:56px;border-radius:3px;overflow:hidden;
  background:#eef2f7}
.agenda .evimg{width:76px;height:56px;object-fit:cover;display:block}
.agenda .evdate{flex:0 0 88px;text-align:left;font-size:12.5px;color:var(--ink-3);
  white-space:nowrap;letter-spacing:.2px}
.agenda .bm-big{background:var(--red);color:#fff;font-size:13px;font-weight:700;
  padding:7px 16px;border-radius:3px;box-shadow:0 4px 12px rgba(176,31,36,.24)}
.agenda li a:hover .bm-big{background:#8f1a1e}
.rep-hot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 6px}
.rep-big{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:4px;
  overflow:hidden;background:#fff;transition:.16s}
.rep-big:hover{border-color:var(--blue);box-shadow:0 6px 18px rgba(21,96,173,.14);
  transform:translateY(-2px)}
.rep-big .rbpic{display:block;height:118px;overflow:hidden;background:#eef2f7}
.rep-big .rbimg{width:100%;height:118px;object-fit:cover;display:block}
.rep-big .rbtx{padding:10px 12px 12px;display:flex;flex-direction:column;gap:5px}
.rep-big .rbtag{align-self:flex-start;font-size:10.5px;color:#fff;background:var(--red);
  padding:2px 8px;border-radius:2px}
.rep-big .rbtx b{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rep-big:hover .rbtx b{color:var(--blue)}
.rep-big .rbtx i{font-style:normal;font-size:12px;color:var(--ink-3);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rep-big .rbtx em{font-style:normal;font-size:11px;color:var(--ink-3)}
@media(max-width:1240px){.rep-hot{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.rep-hot{grid-template-columns:1fr}}

/* ---- 12 产业视界：独立播放页 ---- */
.player{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;
  margin-bottom:14px}
.pv{position:relative;height:340px;background:linear-gradient(135deg,#0b3a6f,#1560ad);
  display:flex;align-items:center;justify-content:center}
.pv.v2{background:linear-gradient(135deg,#0f6b47,#083d29)}
.pv.v3{background:linear-gradient(135deg,#3a4d63,#1f2b38)}
.pv.v4{background:linear-gradient(135deg,#1a4f87,#0b2c52)}
.pv .play i{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.22);
  border:2px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center}
.pv .play i::before{content:"";border-left:22px solid #fff;border-top:13px solid transparent;
  border-bottom:13px solid transparent;margin-left:7px}
.pv-tag{position:absolute;left:16px;top:16px;background:rgba(0,0,0,.42);color:#fff;
  font-size:11.5px;padding:3px 10px;border-radius:2px}
.pv-dur{position:absolute;right:16px;bottom:16px;background:rgba(0,0,0,.5);color:#fff;
  font-size:12px;padding:3px 10px;border-radius:2px}
.pv-bar{height:4px;background:#eef2f7}
.pv-bar i{display:block;width:32%;height:4px;background:var(--red)}
.pv-tip{padding:10px 16px;font-size:12px;color:var(--ink-3);background:#fafcfe}
/* V123：真实 HTML5 播放器（后台上传视频源后替换原来的 CSS 占位块） */
.pv-video{display:block;width:100%;height:340px;background:#000;object-fit:contain;border:0}
@media (max-width:900px){
  /* 窄屏固定 340px 会把播放器压成细条，改按 16:9 自适应；占位块同步降高 */
  .pv-video{height:auto;aspect-ratio:16/9;min-height:190px}
  .pv{height:200px}
}

/* ---- 15 下载中心 ---- */
.dlnav{display:flex;flex-wrap:wrap;gap:8px}
.dlnav a{font-size:12.5px;color:var(--blue);background:var(--blue-bg);padding:5px 12px;
  border-radius:2px}
.dlnav a:hover{background:var(--blue);color:#fff}
.flist{padding:6px 16px 14px}
.flist li{display:flex;align-items:center;gap:12px;padding:10px 0;
  border-bottom:1px dashed var(--line-2)}
.flist li:last-child{border-bottom:0}
.f-ic{flex:0 0 40px;height:40px;border-radius:3px;background:#fdecea;color:var(--red);
  font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.f-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.f-tx b{font-size:13.5px;color:var(--ink);font-weight:600;line-height:1.5}
.f-tx i{font-style:normal;font-size:11.5px;color:var(--ink-3)}
.f-dl{flex:0 0 auto;font-size:12.5px;font-weight:700;color:#fff;background:var(--blue);
  padding:7px 16px;border-radius:3px;transition:.15s}
.f-dl:hover{background:var(--navy-2);color:#fff}
.f-dl.doing{background:#b57406}
.f-dl.done{background:var(--green)}
.dlgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 14px}
.dlcat{border:1px solid var(--line-2);border-radius:4px;background:#fff;padding:12px 14px;
  display:flex;flex-direction:column;gap:5px;transition:.16s}
.dlcat:hover{border-color:var(--blue);box-shadow:0 5px 14px rgba(21,96,173,.12);
  transform:translateY(-2px)}
.dlcat b{font-size:14px;color:var(--navy)}
.dlcat span{font-size:11.5px;color:var(--ink-3);line-height:1.6}
@media(max-width:1240px){.dlgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dlgrid{grid-template-columns:1fr}}

/* ---- 19 折叠更多（商机 / 案例 / 生态网络 / 视频） ---- */
.foldx{display:none}
.fold.open .foldx{display:block}
.fold-bar{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 14px 14px}
.fold-btn{border:1px solid var(--line);background:#fff;color:var(--blue);font-size:12.5px;
  font-weight:600;padding:6px 22px;border-radius:3px;cursor:pointer;display:inline-flex;
  align-items:center;gap:6px}
.fold-btn:hover{border-color:var(--blue);background:var(--blue-bg)}
.fold-btn i{font-style:normal;transition:.2s;display:inline-block}
.fold.open .fold-btn i{transform:rotate(180deg)}
.zfoot{padding:0 14px 12px;text-align:right}
.zfoot .zm{margin-left:0}

/* ---- 20 产业资源：栏目标题统一位置 ---- */
.egrid+.zfoot{border-top:1px dashed var(--line-2);padding-top:9px}

/* ---- 21 报名页 ---- */
.rlist.signup li a{align-items:center;gap:14px}
.rlist.signup .bm{flex:0 0 auto;background:var(--red);color:#fff;font-size:12.5px;
  font-weight:700;padding:7px 14px;border-radius:3px;box-shadow:0 4px 12px rgba(176,31,36,.22)}
.rlist.signup .bm:hover{background:#8f1a1e;color:#fff}
.sgform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:4px 16px 12px}
.sgform div{display:flex;flex-direction:column;gap:5px}
.sgform label{font-size:12px;color:var(--ink-3)}
.sgform input{padding:9px 11px;border:1px solid var(--line);border-radius:3px;font-size:13px}
.sgbtns{display:flex;gap:10px;padding:0 16px 12px}
.btn-p,.btn{display:inline-block;padding:10px 24px;border-radius:3px;font-size:14px;font-weight:700}
.btn-p{background:var(--red);color:#fff}
.btn-p:hover{background:#8f1a1e;color:#fff}
.btn{border:1px solid var(--line);color:var(--ink-2);background:#fff}
.sgtip{padding:0 16px 14px;font-size:12.5px;color:var(--green-d)}
@media(max-width:900px){.sgform{grid-template-columns:1fr 1fr}}

/* ---- 5 广告专属落地页 ---- */
.ad-page{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;
  margin-bottom:14px}
.ad-cover{position:relative;height:220px;padding:26px 30px;display:flex;
  flex-direction:column;justify-content:center;color:#fff}
.ad-ptag{align-self:flex-start;background:rgba(255,255,255,.18);font-size:12px;
  padding:3px 12px;border-radius:2px;margin-bottom:14px}
.ad-ptx b{display:block;font-size:26px;font-weight:800;line-height:1.4}
.ad-ptx span{display:block;font-size:14px;color:rgba(255,255,255,.86);margin-top:10px}

/* ---- 响应式 ---- */
@media (max-width:1240px){
  .dprod.six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dkpi.k4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick .q-list.q6{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .dprod.six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dkpi.k4{grid-template-columns:1fr 1fr}
  .quick .q-list.q6{grid-template-columns:1fr 1fr}
}

/* ============================================================
   V18 前端改造：智能分类标签 / 来源溯源 / 数据口径声明
   （标签由后台分类器 classifier.js 自动打标，前后台同一套规则）
   ============================================================ */
.tags-g{display:inline-flex;gap:5px;flex-wrap:wrap;align-items:center;margin-left:2px;vertical-align:middle}
.tg{display:inline-block;font-size:10.5px;line-height:1.5;padding:1px 7px;border-radius:2px;
  border:1px solid transparent;white-space:nowrap}
.tg.p{background:#eaf3fc;color:#1560ad;border-color:#cfe3f7}
.tg.r{background:#eaf7ef;color:#0b7a44;border-color:#cdeede}
.tg.f{background:#f4f6f8;color:#5c6672;border-color:#e3e8ee}
.tg.big{font-size:11.5px;padding:2px 9px}
.list .tx .meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ncard .nbody em{display:block}
.ncard .nbody .tags-g{margin-top:5px}
.ncard:hover .tg.p{background:#1560ad;color:#fff;border-color:#1560ad}

/* 详情页：来源溯源 + 免责声明 */
.dt-hd .tags-g{margin-top:9px}
.dt-src{margin-top:10px;padding:9px 13px;background:#f7fafd;border-left:3px solid var(--blue);
  border-radius:0 3px 3px 0;font-size:12.5px;color:var(--ink-2);display:flex;
  align-items:center;gap:10px;flex-wrap:wrap}
.dt-src b{color:var(--navy)}
.dt-src a{color:var(--blue);font-weight:600}
.dt-src a:hover{text-decoration:underline}
.dt-disc{margin-top:14px;padding:11px 14px;background:#fcfcfd;border:1px dashed var(--line);
  border-radius:3px;font-size:12px;color:var(--ink-3);line-height:1.75}
.dt-disc b{display:block;color:var(--ink-2);font-size:12.5px;margin-bottom:4px}

/* 产业数据：来源标注条 */
.dsrc{margin-top:10px;padding:9px 14px;background:#f7fafd;border:1px solid var(--line-2);
  border-radius:3px;font-size:12px;color:var(--ink-2);line-height:1.7;
  display:flex;gap:10px;flex-wrap:wrap;align-items:baseline}
.dsrc b{color:var(--navy);font-weight:700}
.dsrc a{color:var(--blue);font-weight:600;margin-left:auto;white-space:nowrap}

/* 页脚更新时间 */
.f-upd{margin-top:6px;font-size:11.5px;color:#8b97a5;line-height:1.6}

/* ==========================================================================
   V19 视觉整改（2026-10-12）
   1 注册 / 企业入驻 / 会员权益 / 支付页   2 全站搜索
   3 轮播去标注语   4 核心通道通体色块   6 产业数据六种色块 + 指数榜单
   7 商机发布间距   8 会议报道三条   9 悬浮客服与回顶   11 广告独立页
   ========================================================================== */

/* ---- 2 顶部搜索：加宽 + 联想面板（删除搜索框右侧重复的热线） ---- */
.header .head-right .search{width:100%}
.header .search{position:relative;display:flex;gap:0;flex:1}
.header .search input{flex:1;height:40px;padding:0 14px;border:2px solid var(--navy);border-right:0;
  border-radius:3px 0 0 3px;font-size:13.5px;color:var(--ink);background:#fff;outline:none}
.header .search input::placeholder{color:#9aa5b1}
.header .search button{height:40px;padding:0 22px;background:var(--navy);color:#fff;border:0;
  border-radius:0 3px 3px 0;font-size:14px;font-weight:700;letter-spacing:2px;cursor:pointer;white-space:nowrap}
.header .search button:hover{background:var(--blue)}
.header .sug{position:absolute;left:0;right:0;top:42px;background:#fff;border:1px solid var(--line);
  border-top:2px solid var(--blue);border-radius:0 0 4px 4px;box-shadow:0 14px 34px rgba(10,53,102,.16);
  z-index:120;max-height:330px;overflow:auto}
.header .sug a{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:13px;color:var(--ink-2);
  border-bottom:1px dashed var(--line-2);text-decoration:none}
.header .sug a:hover{background:#f4f9ff;color:var(--blue)}
.header .sug a em{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--ink-3);flex:0 0 auto}
.header .sug a.all{color:var(--blue);font-weight:600;border-bottom:0;background:#f7fafd}

/* ---- 3 首屏轮播：彻底移除重点推荐位序号与各类标注语 ---- */
.banner .bnum{display:none!important}
.banner .btag,.banner .bmeta{display:none!important}
.banner{height:318px}
.bslide h3{font-size:34px;letter-spacing:1.2px}
.bslide p{font-size:15.5px;max-width:720px;text-shadow:0 1px 8px rgba(0,0,0,.2)}
.banner .bdots{bottom:24px;right:2px}
.banner .bdots i{width:30px;height:4px}

/* ---- 4 核心通道：通体色块，六格等高同宽，只有四个字 ---- */
.quick{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(10,53,102,.05);
  position:relative;z-index:20;padding:18px 0 20px;margin-bottom:18px}
.quick .wrap{display:block}
.quick .q-hd{display:flex;align-items:baseline;gap:12px;margin-bottom:13px}
.quick .q-hd .q-lb{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:3px;
  border:0;border-right:0;padding:0;position:relative;padding-left:12px}
.quick .q-hd .q-lb::before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:4px;
  background:var(--red);border-radius:1px}
.quick .q-hd small{font-size:11.5px;color:var(--ink-3);letter-spacing:.6px;font-weight:400}
.quick .q-list.q6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding-left:0}
.quick .qc{position:relative;height:78px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1667bb 0%,#0b3a6f 100%);color:#fff;border-radius:4px;
  font-size:19px;font-weight:800;letter-spacing:4px;text-indent:4px;text-decoration:none;
  box-shadow:0 4px 12px rgba(10,53,102,.16);transition:transform .2s,box-shadow .2s;overflow:hidden}
.quick .qc::after{content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,0))}
.quick .qc:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(10,53,102,.26);color:#fff}
.quick .qc.cta{background:linear-gradient(135deg,#16c070 0%,#0a6b3d 100%);
  box-shadow:0 6px 18px rgba(15,157,88,.28);font-size:20px}
.quick .qc.cta:hover{box-shadow:0 14px 30px rgba(15,157,88,.38);color:#fff}
html[lang="en"] .quick .qc{font-size:14px;letter-spacing:0;text-indent:0}
html[lang="en"] .quick .qc.cta{font-size:15px}

/* ---- 6-A 产业数据：六大品类通体色块 ---- */
.dprod{display:grid;gap:8px;margin-bottom:14px}
.dprod.six{grid-template-columns:repeat(6,minmax(0,1fr))}
.dprod a.dpd{display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:58px;padding:8px 6px;border-radius:4px;text-decoration:none;
  background:#e9f1fa;border:1px solid #d6e5f6;color:var(--blue);transition:.18s}
.dprod a.dpd b{font-size:14.5px;font-weight:800;letter-spacing:1px;line-height:1.3;text-align:center;
  white-space:nowrap}
.dprod a.dpd span{font-size:10px;color:#8ba3bb;letter-spacing:.3px;margin-top:2px;
  border:0;background:none;padding:0;border-radius:0;text-align:center;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;max-width:100%}
.dprod a.dpd span:hover{border:0;background:none}
.dprod a.dpd:hover{background:#dce9f8;border-color:#b9d4ef}
.dprod a.dpd.on{background:linear-gradient(135deg,#1667bb,#0b3a6f);border-color:#0b3a6f;color:#fff;
  box-shadow:0 5px 14px rgba(10,53,102,.24)}
.dprod a.dpd.on span{color:rgba(255,255,255,.72)}
html[lang="en"] .dprod a.dpd b{font-size:12.5px;letter-spacing:0}

/* ---- 6-B 指数榜单：两行排布、字号放大、间距重排 ---- */
.idx-rank{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.idx-rank .rh{padding:12px 15px;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:700;
  color:var(--navy);display:flex;justify-content:space-between;align-items:center}
.idx-rank ul{padding:0}
.idx-rank li{display:block;padding:0;border-bottom:1px dashed var(--line-2)}
.idx-rank li:last-child{border-bottom:0}
.idx-rank li a{display:block;padding:12px 15px;text-decoration:none}
.idx-rank li a:hover{background:#f7fafd}
.idx-rank .rt{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.idx-rank .no{width:22px;height:22px;flex:0 0 22px;border-radius:3px;background:#cfd8e3;
  color:#5b6875;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.idx-rank li:nth-child(1) .no{background:var(--red);color:#fff}
.idx-rank li:nth-child(2) .no{background:#e08a2e;color:#fff}
.idx-rank li:nth-child(3) .no{background:var(--blue-l);color:#fff}
.idx-rank .nm{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--ink);line-height:1.45}
.idx-rank .rv{display:flex;align-items:center;gap:10px;padding-left:31px}
.idx-rank .vv{color:var(--navy);font-weight:800}
.idx-rank .vv b{font-size:19px;line-height:1}
.idx-rank .vv small{font-size:11px;color:var(--ink-3);margin-left:3px;font-weight:500}
.idx-rank .cg{font-size:12.5px;font-weight:700}
.idx-rank .cg.up{color:#d8342a}
.idx-rank .cg.down{color:#12924f}
.idx-rank .src{margin-left:auto;font-size:11.5px;color:var(--blue);white-space:nowrap;flex:0 0 auto}
.idx-rank .rf{padding:10px 15px;font-size:11.5px;color:var(--ink-3);line-height:1.7;
  border-top:1px solid var(--line-2);background:#fbfcfe}

/* ---- 现货价格榜表格（首页板 .dyn-rank + 二级页 .dyn-rank-full 共用）---- */
.dyn-rank-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.dyn-rank-tbl th,.dyn-rank-tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line-2)}
.dyn-rank-tbl thead th{background:#f5f8fb;color:var(--ink-2);font-weight:700;
  font-size:12.5px;white-space:nowrap}
.dyn-rank-tbl tbody tr:hover{background:#f9fbfd}
.dyn-rank-tbl .rk-prod b{color:var(--navy);font-size:14px}
.dyn-rank-tbl .rk-val{color:var(--red);font-weight:800;font-size:15px;white-space:nowrap}
.dyn-rank-tbl td:nth-child(4),.dyn-rank-tbl td:nth-child(5){color:var(--ink-2)}
.dyn-rank-tbl td:nth-child(5){white-space:nowrap}

/* 二级页：全表 + 分组 + 每页 10/50/100 控制 + 翻页 */
.dyn-rank-full .rkf-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:4px 2px 16px;font-size:13px;color:var(--ink-2)}
.dyn-rank-full .rkf-size{border:1px solid var(--line);background:#fff;color:var(--ink-2);
  padding:5px 14px;font-size:13px;border-radius:3px;cursor:pointer;transition:.15s}
.dyn-rank-full .rkf-size:hover{border-color:var(--red);color:var(--red)}
.dyn-rank-full .rkf-size.on{background:var(--red);border-color:var(--red);color:#fff}
.dyn-rank-full .rk-group{margin-bottom:22px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.dyn-rank-full .rk-group-hd{display:flex;align-items:center;justify-content:space-between;
  padding:11px 15px;background:#f5f8fb;border-bottom:1px solid var(--line-2)}
.dyn-rank-full .rk-group-hd b{font-size:15px;color:var(--navy)}
.dyn-rank-full .rk-cnt{font-size:12.5px;color:var(--ink-3)}
.dyn-rank-full .rk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dyn-rank-full .pager{padding:12px}

/* ---- 7 供需撮合：商机发布六条完整展示，等距分布 ---- */
.deal-side .side-bd ul.post{padding:2px 0}
.deal-side .side-bd ul.post li{flex:0 0 auto;padding:0}
.deal-side .side-bd ul.post li a{display:flex;flex-direction:column;gap:3px;padding:9.5px 0;
  border-bottom:1px dashed var(--line-2)}
.deal-side .side-bd ul.post li:last-child a{border-bottom:0}
.deal-side .side-bd ul.post li a b{font-size:14px;line-height:1.45}
.deal-side .side-bd ul.post li a span{font-size:11.5px;line-height:1.5}
.deal-side .side-bd{padding:10px 15px 12px}

/* ---- 8 会议会展：会议报道四条，高度自适应（V174：height→min-height，
       随条目数自然撑开，消除下方约 57px 空位；配合三栏 stretch 保持等高） ---- */
.mq.rep .mqbox{height:auto;min-height:326px;overflow:hidden}
.mq.rep .rlist li{padding:4px 16px}
.mq.rep .rlist li:last-child{border-bottom:0}
.mq.rep .rlist .rpic{flex:0 0 88px}
/* V168：会议报道标题改**单行**（超长省略号），图片相对文字**上下居中**。 */
.mq.rep .rlist .rtx b{
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  -webkit-line-clamp:1;-webkit-box-orient:horizontal;
  min-width:0;max-width:100%;
}
/* V174：文字与日期之间留出安全间距，标题不再顶到日期/栏边 */
.mq.rep .rlist .rtx{min-width:0;max-width:100%;overflow:hidden}
.mq.rep .rlist li a{align-items:center;min-width:0;max-width:100%}
.mq.rep .rlist .rdate{flex:0 0 46px;text-align:right}
.mq.rep .rlist li a{align-items:center}
.mq.rep .rlist .rtx b{font-size:14px;line-height:1.55}
/* V174：三栏等高 —— align-items:start 会让各栏按自身内容定高（会议报道 4 条后高 28px）。
   改 stretch 后由 Grid 统一拉伸，列内 .mqbox 用 flex:1 吃掉多余高度，
   左两栏的跑马灯列表则保持自身滚动、只是容器被拉高（内容不变、不裁切）。 */
.expo-3{align-items:stretch}
.expo-3>*{display:flex;flex-direction:column}
.expo-3 .mq .mqbox{flex:1 1 auto;min-height:0}

/* V174：窄屏（≤900px）三栏改单列 —— 之前三栏挤在 102px 宽里，
   图片 88px + 日期 46px 已超容器，文字被压成 0 宽并溢出页面 33px。 */
@media (max-width:900px){
  .expo-3{grid-template-columns:1fr!important}
  .mq.rep .mqbox{height:auto;min-height:0;overflow:visible}
  .mq.rep .rlist li{padding:8px 16px}
  .mq.rep .rlist .rpic{flex:0 0 88px}
}

/* ---- 9 悬浮组件：客服图标化并上移，回顶移到客服左侧 ---- */
.cs{right:26px;bottom:112px;z-index:330}
.cs-ball{width:58px;height:58px;border-radius:16px;position:relative;
  background:linear-gradient(135deg,#1f7ac6 0%,#0a3566 100%);
  box-shadow:0 10px 26px rgba(10,53,102,.34);border:0;padding:0;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:0}
.cs-ball:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(10,53,102,.42)}
.cs-ball .dot{position:absolute;right:8px;top:8px;width:9px;height:9px;border-radius:50%;
  background:#f45b4a;border:2px solid #fff}
.cs-ball .lb{position:absolute;right:68px;top:50%;transform:translateY(-50%);white-space:nowrap;
  background:rgba(10,53,102,.92);color:#fff;font-size:12px;font-style:normal;padding:5px 10px;
  border-radius:3px;opacity:0;pointer-events:none;transition:.2s}
.cs:hover .cs-ball .lb{opacity:1}
.cs-panel{bottom:74px}
.totop{left:auto;right:98px;bottom:112px;transform:none;width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.96);color:var(--navy);border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(10,53,102,.18)}
.totop.on{transform:none;opacity:1;visibility:visible}
.totop:hover{background:#fff;color:var(--blue);border-color:var(--blue);transform:translateY(-3px)}
@media (max-width:900px){
  .totop{right:26px;bottom:26px;width:44px;height:44px}
  .cs{right:26px;bottom:82px}
}

/* ---- 11 广告专属落地页：隐藏站点导航式页脚栏目，保持纯广告页 ----
   V86：链接列改为 .f-navcol 手风琴列，广告页隐藏之；联系列强制展开、去箭头 */
.footer.adonly .f-navcol,.footer.adonly .fQR{display:none}
.footer.adonly .f-ccol .f-body{display:block}
.footer.adonly .f-ccol h4{cursor:default}
.footer.adonly .f-ccol h4::after{display:none}
.footer.adonly .f-wrap{justify-content:space-between}
.ad-act{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.ad-act a{padding:9px 20px;border-radius:3px;font-size:13.5px;font-weight:600;text-decoration:none}
.ad-act .b-main{background:var(--navy);color:#fff}
.ad-act .b-main:hover{background:var(--blue);color:#fff}
.ad-act .b-ghost{border:1px solid var(--line);color:var(--ink-2);background:#fff}
.ad-act .b-ghost:hover{border-color:var(--blue);color:var(--blue)}
.ad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}
.ad-mini{border:1px solid var(--line);border-radius:4px;overflow:hidden;text-decoration:none;display:block}
.ad-mini .cov{height:96px;padding:14px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.ad-mini .cov .tg{align-self:flex-start;background:rgba(255,255,255,.2);font-size:11px;
  padding:2px 9px;border-radius:2px;margin-bottom:7px}
.ad-mini .cov b{font-size:14px;line-height:1.5}
.ad-mini .tx{padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.ad-mini .tx span{font-size:12px;color:var(--ink-3);line-height:1.6}
.ad-mini .tx em{font-style:normal;font-size:12.5px;color:var(--blue);font-weight:600}
@media (max-width:900px){.ad-grid{grid-template-columns:1fr 1fr}}

/* ---- 2 全站搜索页 ---- */
.sbox{margin-bottom:14px}
.sbox .sbar{display:flex;gap:0}
.sbox #q{flex:1;height:46px;border:2px solid var(--navy);border-right:0;border-radius:3px 0 0 3px;
  padding:0 15px;font-size:15px;outline:none;color:var(--ink)}
.sbox #q:focus{border-color:var(--red)}
.sbox #sgo{height:46px;padding:0 30px;background:var(--navy);color:#fff;border:0;
  border-radius:0 3px 3px 0;font-size:15px;font-weight:700;letter-spacing:2px;cursor:pointer}
.sbox #sgo:hover{background:var(--blue)}
.sbox #sclr{height:46px;padding:0 18px;margin-left:8px;background:#fff;border:1px solid var(--line);
  border-radius:3px;font-size:13.5px;color:var(--ink-2);cursor:pointer}
.sbox #sclr:hover{border-color:var(--blue);color:var(--blue)}
.schips{padding:12px 16px 0;display:flex;flex-wrap:wrap;gap:8px}
.schips a{font-size:12.5px;color:var(--ink-2);background:#f4f7fb;border:1px solid var(--line-2);
  padding:4px 12px;border-radius:12px;text-decoration:none}
.schips a:hover{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}
.smode{padding:12px 16px 14px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-2)}
.smode label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.sresult{margin-bottom:16px}
.sgrp{margin-bottom:14px}
.sgrp .sgh{display:flex;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid var(--line-2)}
.sgrp .sgh h3{font-size:14.5px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px;margin:0}
.sgrp .sgh h3 .gb{width:3px;height:14px;background:var(--blue);border-radius:1px}
.sgrp .sgh h3 em{font-style:normal;color:var(--ink-3);font-size:12.5px;font-weight:400}
.sgrp .gc{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink-3)}
.sgrp .gc a{color:var(--blue);font-weight:600}
.slist li{border-bottom:1px dashed var(--line-2)}
.slist li:last-child{border-bottom:0}
.slist li a{display:flex;gap:12px;padding:12px 15px;text-decoration:none;align-items:flex-start}
.slist li a:hover{background:#f7fafd}
.slist .spic{flex:0 0 108px;width:108px;height:68px;border-radius:3px;overflow:hidden;background:#eef2f7}
.slist .spic img{width:100%;height:100%;object-fit:cover;display:block}
.slist .stx{flex:1;min-width:0}
.slist .stx b{display:block;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.55;margin-bottom:4px}
.slist .stx i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-2);line-height:1.65}
.slist .stx u{display:block;text-decoration:none;font-size:11.5px;color:var(--ink-3);margin-top:5px}
.slist li.smore a{padding:10px 15px;font-size:13px;color:var(--blue);font-weight:600}
mark.hit{background:#fff2b8;color:#a33;padding:0 1px;border-radius:2px}
@media (max-width:900px){
  .slist .spic{flex:0 0 84px;width:84px;height:56px}
  .sgrp .sgh{flex-wrap:wrap}
  .sgrp .gc{margin-left:0}
}

/* ---- 1 通用表单排版（注册 / 入驻共用） ---- */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:14px 16px 4px}
.fgrid label{display:flex;flex-direction:column;gap:6px}
.fgrid label.full{grid-column:1 / -1}
.fgrid label i{font-style:normal;font-size:12.5px;color:var(--ink-2);font-weight:600}
.fgrid label.req i::after{content:"*";color:var(--red);margin-left:3px;font-weight:800}
.fgrid input,.fgrid select,.jform textarea,.rform textarea,.rform input,.jform input,.jform select{
  height:40px;border:1px solid var(--line);border-radius:3px;padding:0 12px;font-size:13.5px;
  font-family:inherit;color:var(--ink);background:#fff;outline:none;transition:.16s}
.fgrid textarea{height:auto;padding:9px 12px;line-height:1.7}
.fgrid input:focus,.fgrid select:focus,textarea:focus,input:focus,select:focus{
  border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,96,173,.09)}
.fgrid .radios,.fopts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;height:auto}
.fgrid .radios label,.fopts label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;
  font-size:13px;color:var(--ink-2);cursor:pointer;padding:6px 11px;border:1px solid var(--line);
  border-radius:3px;background:#fff;transition:.16s;height:auto}
.fgrid .radios label:hover,.fopts label:hover{border-color:var(--blue);background:var(--blue-bg)}
.fgrid .radios input,.fopts input{margin:0}
.fsec{margin:16px 16px 0;font-size:13.5px;font-weight:800;color:var(--navy);letter-spacing:1px;
  padding-left:9px;border-left:3px solid var(--red);line-height:1.3}
.form-msg{margin:14px 16px 16px;padding:12px 14px;border-radius:3px;font-size:13px;line-height:1.8}
.form-msg.bad{background:#fdecea;border-left:3px solid var(--red);color:#a12d24}
.form-msg.ok{background:#e9f8f0;border-left:3px solid var(--green);color:#126b41}
.form-msg b{color:var(--navy)}
.fbt{display:flex;align-items:center;gap:12px;padding:14px 16px 16px;flex-wrap:wrap}
.b-main{background:var(--navy);color:#fff;border:0;border-radius:3px;padding:11px 30px;
  font-size:14.5px;font-weight:700;letter-spacing:2px;cursor:pointer;font-family:inherit}
.b-main:hover{background:var(--blue);color:#fff}
.b-ghost{background:#fff;border:1px solid var(--line);color:var(--ink-2);border-radius:3px;
  padding:11px 24px;font-size:14px;cursor:pointer;font-family:inherit}
.b-ghost:hover{border-color:var(--blue);color:var(--blue)}
.ftip{font-size:12.5px;color:var(--ink-3)}
.ftip a{color:var(--blue)}
.agree{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);line-height:1.7}
.agree input{margin-top:3px}
.sline{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line-2);
  font-size:12.5px}
.sline b{color:var(--ink-2);font-weight:600}
.sline span{color:var(--ink-3)}
.sidebtn{display:block;margin-top:10px;text-align:center;padding:9px;border-radius:3px;
  background:var(--navy);color:#fff;font-size:13px;font-weight:600;text-decoration:none}
.sidebtn:hover{background:var(--blue);color:#fff}
.sidebtn.g{background:var(--green)}
.sidebtn.g:hover{background:#0b8a4d;color:#fff}

/* ---- 1 注册页 ---- */
.reg-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin:18px auto;max-width:1220px;align-items:start}
.rtypes{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px}
.rtype{border:1px solid var(--line);border-radius:4px;padding:12px 14px;cursor:pointer;
  display:flex;flex-direction:column;gap:4px;transition:.18s;background:#fff}
.rtype:hover{border-color:var(--blue-l);box-shadow:0 4px 14px rgba(21,96,173,.1)}
.rtype.on{border-color:var(--blue);background:var(--blue-bg);box-shadow:0 4px 14px rgba(21,96,173,.12)}
.rtype input{margin:0}
.rtype b{font-size:15px;color:var(--navy)}
.rtype em{font-style:normal;font-size:11px;color:var(--blue);letter-spacing:1px}
.rtype span{font-size:12px;color:var(--ink-3);line-height:1.65}
.foc{display:grid;grid-template-columns:1fr;gap:12px;padding:14px 16px 4px}
.foc-b{border:1px solid var(--line-2);border-radius:3px;padding:10px 12px;background:#fbfcfe}
.flb{font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:8px;letter-spacing:1px}
.push{padding:6px 16px 14px}
.push .plb{font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:8px;letter-spacing:1px}
.rben li{padding:8px 0;border-bottom:1px dashed var(--line-2)}
.rben li:last-child{border-bottom:0}
.rben b{display:block;font-size:13.5px;color:var(--navy);margin-bottom:3px}
.rben span{font-size:12px;color:var(--ink-3);line-height:1.7}
@media (max-width:1100px){.reg-wrap{grid-template-columns:1fr}}

/* ---- 1 企业入驻：会员权益卡 ---- */
.mlv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px}
.mlv{border:1px solid var(--line);border-radius:5px;background:#fff;display:flex;flex-direction:column;
  overflow:hidden;position:relative;transition:.2s}
.mlv:hover{box-shadow:0 10px 28px rgba(10,53,102,.14);transform:translateY(-2px)}
.mlv.sel,.mlv.hot{border-color:var(--lv);box-shadow:0 10px 28px rgba(10,53,102,.14)}
.mlv::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--lv)}
.mlv-hd{padding:16px 16px 10px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.mtag{background:var(--lv);color:#fff;font-size:12px;padding:3px 11px;border-radius:2px;font-weight:700}
.mlv-hd em{font-style:normal;font-size:11px;color:var(--ink-3);letter-spacing:1px}
.mlv-hd .rec{margin-left:auto;font-style:normal;font-size:11px;background:var(--red);color:#fff;
  padding:2px 9px;border-radius:2px}
.mlv-p{padding:0 16px 8px;display:flex;align-items:baseline;gap:5px}
.mlv-p b{font-size:27px;font-weight:800;color:var(--lv);line-height:1}
.mlv-p small{font-size:12px;color:var(--ink-3)}
.mlv-lead{padding:0 16px 10px;font-size:12.5px;color:var(--ink-2);line-height:1.75}
.mlv-r{padding:0 16px 8px;flex:1}
.mlv-r li{padding:7px 0;border-top:1px dashed var(--line-2);display:flex;flex-direction:column;gap:2px}
.mlv-r li b{font-size:13px;color:var(--navy)}
.mlv-r li span{font-size:12px;color:var(--ink-3);line-height:1.7}
.mlv-x{padding:0 16px 12px;display:flex;flex-wrap:wrap;gap:6px}
.mlv-x span{font-size:11.5px;color:var(--green-d);background:#e9f8f0;border-radius:2px;padding:2px 8px}
.mlv-f{margin-top:auto;padding:12px 16px 14px;border-top:1px solid var(--line-2);background:#fbfcfe;
  display:flex;flex-direction:column;gap:9px}
.mlv-f .pick{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);cursor:pointer}
.mlv-f .pick input{margin:0}
.btnpay{display:block;text-align:center;padding:9px;border-radius:3px;background:var(--lv);
  color:#fff;font-size:13.5px;font-weight:700;text-decoration:none}
.btnpay:hover{filter:brightness(1.1);color:#fff}
.etype{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 16px}
.topt{border:1px solid var(--line);border-radius:3px;padding:10px 12px;cursor:pointer;
  display:flex;flex-direction:column;gap:3px;transition:.16s;background:#fff}
.topt:hover{border-color:var(--blue-l);background:var(--blue-bg)}
.topt b{font-size:13.5px;color:var(--navy)}
.topt span{font-size:11.5px;color:var(--ink-3);line-height:1.6}
.topt input{margin:0}
.faq dt{font-size:13.5px;font-weight:700;color:var(--navy);margin-top:12px}
.faq dd{font-size:12.5px;color:var(--ink-2);line-height:1.85;margin:4px 0 0}
@media (max-width:1100px){
  .mlv-grid{grid-template-columns:1fr}
  .etype{grid-template-columns:1fr 1fr}
}

/* ---- 1 会员支付页 ---- */
.pay-wrap{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;margin:18px 0;align-items:start}
.pay-qr{background:#fff;border:1px solid var(--line);border-radius:4px;padding:18px;text-align:center}
.qrb{width:216px;height:216px;margin:0 auto 14px;padding:10px;background:#fff;
  border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 10px rgba(10,53,102,.06)}
.qrb svg{width:100%;height:100%;display:block}
.qrt b{display:block;font-size:17px;color:var(--navy);font-weight:800}
.qrt .cd{display:block;font-size:12px;color:var(--red);margin-top:5px}
.qrch{display:flex;gap:8px;justify-content:center;margin:14px 0 10px}
.qrch label{border:1px solid var(--line);border-radius:3px;padding:7px 12px;font-size:12.5px;
  color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.qrch label.on{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}
.qrch input{margin:0}
.qrn{font-size:11.5px;color:var(--ink-3);line-height:1.7;padding-top:6px;border-top:1px dashed var(--line-2)}
.pay-r{background:#fff;border:1px solid var(--line);border-radius:4px;padding:18px 20px}
.pay-t{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.pay-t b{font-size:19px;color:var(--navy);font-weight:800}
.pay-t em{font-style:normal;font-size:24px;font-weight:800;color:var(--red);margin-left:auto}
.pay-t small{font-size:12px;color:var(--ink-3)}
.pay-r .mlv-r{padding:12px 0 4px}
.pay-x{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 12px;border-top:1px dashed var(--line-2)}
.pay-x span{font-size:11.5px;color:var(--green-d);background:#e9f8f0;border-radius:2px;padding:3px 9px}
.pay-o{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 14px}
.pb{padding:10px 22px;border-radius:3px;font-size:13.5px;font-weight:600;text-decoration:none;
  border:1px solid var(--line);background:#fff;color:var(--ink-2)}
.pb:hover{border-color:var(--blue);color:var(--blue)}
.pb.main{background:var(--navy);color:#fff;border-color:var(--navy)}
.pb.main:hover{background:var(--blue);color:#fff}
.pay-switch{padding:12px 0 4px;border-top:1px dashed var(--line-2)}
.pay-switch .lb{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.pay-switch .olv{display:inline-flex;align-items:center;gap:8px;margin:0 8px 8px 0;padding:8px 14px;
  border:1px solid var(--line);border-radius:3px;text-decoration:none}
.pay-switch .olv b{font-size:13px;color:var(--navy)}
.pay-switch .olv span{font-size:12px;color:var(--ink-3)}
.pay-switch .olv.on{border-color:var(--blue);background:var(--blue-bg)}
.pay-tip{margin-top:10px;padding:10px 12px;background:#fbfcfe;border:1px dashed var(--line);
  border-radius:3px;font-size:11.5px;color:var(--ink-3);line-height:1.8}
@media (max-width:1100px){.pay-wrap{grid-template-columns:1fr}}

/* ---- V19 补充：头部搜索栏加宽（原热线位已删除，空间让给搜索） ---- */
.head-right{flex:1;max-width:640px;justify-content:flex-end;gap:0}
.header .search{border:0;width:100%;max-width:640px;overflow:visible}
.header .search input,.header .search button{font-family:inherit}
@media (max-width:900px){
  .head-right{max-width:100%;margin-top:10px}
  .header .wrap{flex-wrap:wrap}
}

/* ===== 浏览量（V20新增）===== */
.dt-viewbar{padding:2px 0 10px}
.dt-view{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:#8b97a5}
.dt-view em{font-style:normal;font-weight:700;color:#1560ad;font-size:13px}
.dt-view .vw{color:#1560ad;font-weight:700}
.list .meta .vwbox{display:inline-flex;align-items:center;gap:2px}
.list .meta .vwbox .vw{color:#8b97a5;font-weight:600}
.list .meta .vwbox[data-vw-total]:not([data-vw-total="0"]) .vw{color:#1560ad}
/* 后台内容表 */
.tbl td.num{width:66px;text-align:center}
.tbl td.ops{white-space:nowrap}
.tbl .vw{font-weight:700;color:#5a6673}
.tbl .vw.hot{color:#e0562f}
.btn.xs{padding:2px 7px;font-size:12px;line-height:1.5}

/* ===== 详情页右侧边栏（V20新增）===== */
.side-bar{width:320px;flex:0 0 320px;display:flex;flex-direction:column;gap:14px;
  position:sticky;top:70px;align-self:flex-start;max-height:calc(100vh - 84px);overflow-y:auto;
  padding-right:2px}
.side-bar::-webkit-scrollbar{width:5px}
.side-bar::-webkit-scrollbar-thumb{background:#d7dde3;border-radius:3px}
.side-bar>span.iz,.side-bar>span.ie{display:block}
.side-bar>span.iz>div,.side-bar>span.ie>div{display:block}
.side-bar h3{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:14px;
  font-weight:700;color:#1a222b;padding-bottom:8px;border-bottom:1px solid #e8edf1}
.side-bar h3 em{width:3px;height:13px;background:#1560ad;border-radius:2px;flex:0 0 3px}
.side-bar h3 .more{margin-left:auto;font-size:11px;font-weight:400;color:#9aa5b1;
  letter-spacing:.5px;text-transform:uppercase}
.side-hot{list-style:none;margin:0;padding:0;counter-reset:hot}
.side-hot li{counter-increment:hot;border-bottom:1px dashed #eef2f5}
.side-hot li:last-child{border-bottom:0}
.side-hot a{display:flex;gap:9px;padding:9px 0;align-items:flex-start}
.side-hot a:before{content:counter(hot,decimal-leading-zero);flex:0 0 20px;height:20px;
  font-size:11px;font-weight:700;color:#fff;background:#c3ccd6;border-radius:3px;
  display:flex;align-items:center;justify-content:center;margin-top:2px}
.side-hot li:nth-child(-n+3) a:before{background:#e0562f}
.side-hot a:hover b{color:#1560ad}
.side-hot b{flex:1;font-size:13px;font-weight:500;line-height:1.55;color:#2b333c;transition:color .15s}
.side-hot em{flex:0 0 auto;font-size:11px;color:#9aa5b1;font-style:normal}
.side-sub{margin-top:12px}
.side-sub:first-of-type{margin-top:0}
.side-sub h4{display:flex;align-items:center;font-size:12.5px;font-weight:700;color:#3d4753;
  margin:0 0 2px}
.side-sub h4 i{margin-left:auto;font-style:normal;font-size:11px;color:#9aa5b1;font-weight:400}
.side-sub ul{list-style:none;margin:0 0 8px;padding:0}
.side-sub li a{display:flex;gap:8px;padding:5px 0;align-items:baseline}
.side-sub li a span{flex:1;font-size:12.5px;line-height:1.5;color:#4a5563;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.side-sub li a:hover span{color:#1560ad}
.side-sub li a em{flex:0 0 auto;font-size:11px;color:#a8b2bd;font-style:normal}
.side-contact p{display:flex;align-items:baseline;gap:8px;margin:0 0 7px}
.side-contact em{flex:0 0 62px;font-style:normal;font-size:12px;color:#9aa5b1}
.side-contact a{font-size:13px;color:#2b333c;font-weight:500;word-break:break-all}
.side-contact a:hover{color:#1560ad}
.side-btns{display:flex;gap:8px;margin-top:11px}
.side-btns a{flex:1;text-align:center;padding:8px 0;border-radius:3px;font-size:12.5px;
  font-weight:500;transition:all .15s}
.side-btns .b1{background:#1560ad;color:#fff}
.side-btns .b1:hover{background:#11528f}
.side-btns .b2{background:#fff;color:#1560ad;border:1px solid #1560ad}
.side-btns .b2:hover{background:#eef4fb}

/* ===== 版权声明（V20 新增）===== */
.dt-copy{margin:22px 0 0;padding:16px 18px;background:#f7f9fb;border:1px solid #e3e8ed;
  border-radius:4px}
.dt-copy>b{display:block;font-size:13px;font-weight:700;color:#3d4753;margin-bottom:9px;
  padding-bottom:8px;border-bottom:1px solid #e3e8ed;letter-spacing:.5px}
.dt-copy-txt p{margin:0 0 7px;font-size:12.5px;line-height:1.85;color:#6b7683}
.dt-copy-txt p:last-child{margin-bottom:0}
.dt-copy-contact{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:11px;padding-top:10px;
  border-top:1px dashed #dfe5ea}
.dt-copy-contact span{display:flex;align-items:baseline;gap:6px}
.dt-copy-contact em{font-style:normal;font-size:11.5px;color:#9aa5b1}
.dt-copy-contact a{font-size:12.5px;font-weight:600;color:#1560ad}
.dt-copy-contact a:hover{text-decoration:underline}

/* 窄屏：侧边栏移到正文下方并横向铺满 */
@media (max-width:1080px){
  .side-bar{width:auto;flex:1 1 100%;position:static;max-height:none;overflow:visible;
    display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;
    margin-top:18px;padding-top:18px;border-top:1px solid #e8edf1}
  .side-bar>span.iz,.side-bar>span.ie{grid-column:1/-1}
  .main{flex-direction:column}
}
@media (max-width:640px){
  .side-bar{grid-template-columns:1fr}
  .dt-copy{padding:14px}
  .dt-copy-contact{gap:6px 18px}
}

/* ============================================================
   V21 会员体系（2026-10-13）
   线 1 网站会员：个人会员手机号即注册 · 我的频道
   线 2 工委会会员：独立入会页 · 资质材料上传
   ============================================================ */

/* 注册页：按注册类型显隐字段 */
.rform[data-rt="personal"] [data-only="company"]{display:none!important}
.rform[data-rt="company"] [data-only="personal"]{display:none!important}

/* 短信验证码 */
.codesend{display:flex;gap:8px;align-items:center}
.codesend input{flex:1;min-width:0}
.bsend{flex:0 0 auto;padding:0 14px;height:38px;border:1px solid var(--blue);background:var(--blue-bg);
  color:var(--blue);border-radius:3px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.bsend:hover{background:var(--blue);color:#fff}
.bsend:disabled{opacity:.55;cursor:not-allowed}

/* 资质材料上传 */
.upl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 16px 16px}
.upitem{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 14px 12px;
  border:1px dashed var(--line);border-radius:4px;background:#fafbfc;cursor:pointer;transition:.15s}
.upitem:hover{border-color:var(--blue);background:var(--blue-bg)}
.upitem input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.upitem .upico{width:30px;height:30px;border-radius:50%;background:var(--blue-bg);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}
.upitem b{font-size:13.5px;color:var(--navy);margin-top:4px}
.upitem em{font-style:normal;font-size:11.5px;color:var(--ink-3);line-height:1.6}
.upitem i{font-style:normal;font-size:11px;color:var(--ink-3);opacity:.8}
.upitem.done{border-style:solid;border-color:var(--green);background:#f2fbf6}
.upitem.done .upico{background:var(--green);color:#fff}
.upitem .upfile{font-size:11.5px;color:var(--green);word-break:break-all}

/* 工委会 4 档等级：自适应列数 */
.mlv-grid{grid-template-columns:repeat(auto-fit,minmax(228px,1fr))}

/* 我的频道 */
.mc-user .body{padding:16px}
.mc-uinfo{display:flex;align-items:center;gap:14px}
.mc-av{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700}
.mc-utx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mc-utx b{font-size:16px;color:var(--navy)}
.mc-tag{align-self:flex-start;font-size:11.5px;padding:2px 9px;border-radius:2px;
  background:var(--green);color:#fff;font-weight:600}
.mc-utx em{font-style:normal;font-size:12px;color:var(--ink-3)}
.mc-hd{display:flex;align-items:center;gap:9px;margin:22px 0 12px;font-size:16px;font-weight:800;
  color:var(--navy);letter-spacing:.5px}
.mc-hd .bar{width:4px;height:17px;background:var(--red);border-radius:2px;display:inline-block}
.mc-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mc-sec{padding:0}
.mc-sec .ch{display:flex;align-items:center;justify-content:space-between;
  padding:11px 15px;border-bottom:1px solid var(--line-2)}
.mc-sec .ch h3{font-size:14.5px;color:var(--navy)}
.mc-sec .ch a{font-size:12px;color:var(--blue)}
.mc-list{padding:6px 15px 12px}
.mc-list li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;
  border-bottom:1px dashed var(--line-2)}
.mc-list li:last-child{border-bottom:0}
.mc-list li a{flex:1;min-width:0;font-size:13px;color:var(--ink);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-list li a:hover{color:var(--blue)}
.mc-list .mc-m{flex:0 0 auto;font-size:11.5px;color:var(--ink-3);padding-top:2px}
.mc-list .mc-empty{font-size:12.5px;color:var(--ink-3);justify-content:center}

/* V90：我的频道侧栏「推荐栏目」列表 */
.mc-rec{list-style:none;margin:0;padding:0}
.mc-rec li{padding:7px 0;border-bottom:1px dashed var(--line-2)}
.mc-rec li:last-child{border-bottom:0}
.mc-rec a{display:block;min-width:0;color:var(--ink-2);font-size:13px;line-height:1.5;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-rec a:hover{color:var(--blue)}
.mc-rec a .ie{color:var(--ink-3)}
.mc-rec .mc-empty{padding:10px 0;color:var(--ink-3);font-size:13px}
@media (max-width:900px){
  .upl{grid-template-columns:1fr}
  .mc-wrap{grid-template-columns:1fr}
}


/* ===== 企业完整名录表格（V20 新增：承载 400+ 家）===== */
.ct-wrap{margin-top:16px;border:1px solid #e3e8ed;border-radius:8px;overflow:hidden}
table.ct{width:100%;border-collapse:collapse;background:#fff}
table.ct thead th{background:#f4f7fa;text-align:left;padding:9px 12px;font-size:12.5px;
  font-weight:600;color:#5a6673;border-bottom:1px solid #e3e8ed;white-space:nowrap}
table.ct td{padding:8px 12px;border-bottom:1px solid #f0f3f6;font-size:13px;color:#3d4753;
  vertical-align:middle}
table.ct tbody tr:nth-child(even){background:#fafbfc}
table.ct tbody tr:hover{background:#f0f6fc}
td.ct-name{min-width:260px}
td.ct-name a{color:#1a222b;text-decoration:none}
td.ct-name a:hover{color:#1560ad;text-decoration:underline}
td.ct-seg,td.ct-reg{color:#7b8794;font-size:12.5px;white-space:nowrap}
td.ct-cat{color:#5a6673;font-size:12.5px}
.ct-more{margin:10px 0 0;font-size:12.5px;color:#8b97a5;text-align:right}
@media(max-width:760px){
  table.ct thead{display:none}
  table.ct td{display:block;border:0;padding:3px 12px}
  table.ct tr{border-bottom:1px solid #eef2f5;padding:8px 0}
  td.ct-name{padding-left:0}
  td.ct-seg:before{content:" · ";color:#b0b8c0}
}

/* ===== VIP 会员可见性（V21：正文全显，仅关键联系信息打码）===== */
.vip-notice{display:flex;align-items:center;gap:12px;margin:16px 0 0;padding:13px 16px;
  background:linear-gradient(90deg,#fff8f0,#fffdf9);border:1px solid #f0d9b8;
  border-left:3px solid #d9862c;border-radius:6px}
.vip-notice .vn-i{flex:0 0 auto;padding:3px 10px;border-radius:4px;
  background:linear-gradient(135deg,#c8791f,#e0a34a);color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.5px}
.vip-notice .vn-t{flex:1;font-size:13px;line-height:1.6;color:#6b5540}
.vip-notice .vn-t .ie{display:none}
.vip-notice .vn-b{flex:0 0 auto;padding:6px 16px;border-radius:4px;
  background:#c8791f;color:#fff;font-size:13px;font-weight:600;text-decoration:none;
  transition:background .15s}
.vip-notice .vn-b:hover{background:#a8641a}
html[data-lang="en"] .vip-notice .vn-t .iz{display:none}
html[data-lang="en"] .vip-notice .vn-t .ie{display:inline}

.ct-contact{margin:18px 0 0;padding:14px 16px;background:#f8fafc;
  border:1px solid #e3e8ed;border-radius:6px}
.ct-contact h5{margin:0 0 11px;font-size:13.5px;font-weight:700;color:#3d4753;
  padding-bottom:8px;border-bottom:1px solid #e3e8ed;display:flex;align-items:center;gap:6px}
.ct-contact h5::before{content:"";width:3px;height:13px;background:#1560ad;border-radius:2px}
.ct-contact .ci{display:flex;align-items:baseline;gap:14px;padding:5px 0;font-size:13px}
.ct-contact .ci em{flex:0 0 118px;font-style:normal;font-size:12.5px;color:#8b97a5}
.ct-contact .ci b{font-weight:600;color:#2b333c}
.ct-contact .ci b.mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
.ct-contact .ci a{color:#1560ad;text-decoration:none}
.ct-contact .ci a:hover{text-decoration:underline}
.ct-contact .ci .masked{color:#a8b2bd;letter-spacing:1px;font-weight:600}
.vip-tip{display:inline-flex;align-items:center;gap:6px;margin-left:10px;
  padding:2px 9px;border-radius:10px;background:#fdf1e3;
  font-size:11.5px;color:#a5561f}
.vip-tip a{color:#a5561f;font-weight:600;text-decoration:none}
.vip-tip a:hover{text-decoration:underline}
.vip-mark{color:#c8791f;font-weight:600}
@media(max-width:640px){
  .vip-notice{flex-wrap:wrap}
  .vip-notice .vn-t{flex:1 1 100%;order:3}
  .ct-contact .ci{flex-direction:column;gap:2px}
  .ct-contact .ci em{flex:none}
}

/* ==========================================================================
   V22 资讯详情页版式：正文收窄居中 + 手机端整洁模式
   ========================================================================== */

/* ---- 桌面端：正文列收窄居中，两侧留白 ---- */
.dt-layout{display:block;max-width:none}
.dt-layout .col-l{max-width:none}
.dt-layout .dt-card{
  max-width:720px;          /* 正文块宽度：约 45 汉字/行，阅读舒适 */
  margin:0 auto;            /* 居中 */
  padding:28px 40px 32px;
  border:1px solid #e3e8ed;
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.03);
}
/* 正文段落：加大行距与段间距，长文不累 */
.dt-layout .dt-body{
  max-width:640px;          /* 段落再收一点，行长更舒适 */
  margin:0 auto;
  font-size:15.5px;
  line-height:2.05;
  color:#252c34;
}
.dt-layout .dt-body p{margin:0 0 1.15em}
.dt-layout .dt-body p:last-child{margin-bottom:0}
/* 摘要与元信息跟随正文宽度 */
.dt-layout .dt-sum{max-width:640px;margin:0 auto 16px}
.dt-layout .dt-viewbar{max-width:640px;margin:0 auto 14px}
.dt-layout .dt-hd{max-width:640px;margin:0 auto 18px;border-bottom:1px solid #eef2f5;padding-bottom:16px}
.dt-layout .dt-hd h1{font-size:24px;line-height:1.45;margin:0 0 10px}
.dt-layout .vip-notice,.dt-layout .ct-contact,.dt-layout .dt-copy,
.dt-layout .disc{max-width:640px;margin-left:auto;margin-right:auto}
.dt-layout .vip-notice{margin-top:20px}
.dt-layout .ct-contact{margin-top:18px}

/* 侧栏在正文右侧，窄屏时移到下方 */
/* ---- 移除详情页配图相关样式（V22 删除配图）---- */
.dt-pic{display:none !important}

/* ==========================================================================
   平板
   ========================================================================== */
@media(max-width:1080px){
  .dt-layout .dt-card{max-width:100%;padding:24px 26px 28px}
  .dt-layout .dt-body,.dt-layout .dt-sum,.dt-layout .dt-viewbar,
  .dt-layout .dt-hd{max-width:100%}
}

/* ==========================================================================
   手机端 · 整洁模式
   目标：单列阅读流，去掉一切干扰，去掉悬浮按钮与装饰
   ========================================================================== */
@media(max-width:768px){
  /* 抽屉式导航默认收起，不遮挡内容 */
  .nav,.topnav,.nav-panel{position:static !important}
  /* 正文：取消一切边框阴影，紧凑清爽 */
  .dt-layout{display:block}
  .dt-layout .dt-card{
    max-width:100%;margin:0;
    padding:18px 16px 22px;
    border:0;border-radius:0;
    box-shadow:none;background:#fff;
  }
  .dt-layout .dt-hd{
    max-width:100%;margin:0 0 14px;padding-bottom:12px;
    border-bottom:1px solid #eef2f5;
  }
  .dt-layout .dt-hd h1{font-size:19px;line-height:1.5;margin:0 0 8px}
  .dt-layout .dt-meta{font-size:12.5px}
  .dt-layout .dt-sum{
    max-width:100%;margin:0 0 14px;padding:12px 14px;
    background:#f7f9fb;border-radius:6px;font-size:14px;line-height:1.75;
  }
  .dt-layout .dt-viewbar{margin:0 0 14px}
  /* 正文：统一行距段距，手机上更适合连续阅读 */
  .dt-layout .dt-body{
    max-width:100%;font-size:16px;line-height:1.95;color:#252c34;
  }
  .dt-layout .dt-body p{margin:0 0 1em}
  /* VIP 提示条：竖排占满，清晰不挤 */
  .dt-layout .vip-notice{
    max-width:100%;margin:16px 0 0;padding:12px 14px;
    flex-wrap:wrap;gap:10px;
  }
  .dt-layout .vip-notice .vn-i{font-size:11px;padding:2px 8px}
  .dt-layout .vip-notice .vn-t{
    flex:1 1 100%;order:3;font-size:13.5px;line-height:1.65;
  }
  .dt-layout .vip-notice .vn-b{
    margin-left:auto;padding:6px 14px;font-size:13px;
  }
  /* 联系方式：竖排字段，避免挤压 */
  .dt-layout .ct-contact{margin:16px 0 0;padding:14px}
  .dt-layout .ct-contact .ci{
    flex-direction:column;align-items:flex-start;gap:2px;
    padding:6px 0;border-bottom:1px dashed #eef2f5;
  }
  .dt-layout .ct-contact .ci:last-child{border-bottom:0}
  .dt-layout .ct-contact .ci em{flex:none;font-size:12px}
  .dt-layout .vip-tip{
    margin:4px 0 0;font-size:11px;padding:2px 8px;
  }
  .dt-layout .vip-tip .vn-cta{display:block;margin-top:2px}
  /* 版权块 */
  .dt-layout .dt-copy{margin:18px 0 0;padding:14px}
  .dt-layout .dt-copy-contact{flex-direction:column;gap:6px}
  .dt-layout .side-bar{display:flex;flex-direction:column;gap:14px}
  /* 相关信息卡片 */
  .dt-layout .col-l > .card{
    max-width:100%;margin:16px 0 0;padding:14px 16px;
  }
  .dt-layout .card h3{font-size:15px;margin-bottom:10px}
  .dt-layout .dt-rel li{
    padding:8px 0;border-bottom:1px dashed #eef2f5;font-size:14px;line-height:1.6;
  }
  .dt-layout .dt-rel li:last-child{border-bottom:0}
  .dt-layout .dt-rel li em{display:block;font-size:12px;margin-top:2px}
  /* 隐藏详情页浮动按钮（分享/复制/邮件）*/
  .dt-float,.dt-share,.float-btn,.share-bar,
  [class*="fixed"]{display:none !important}
}

/* 超窄屏 */
@media(max-width:400px){
  .dt-layout .dt-card{padding:16px 13px 20px}
  .dt-layout .dt-body{font-size:15.5px;line-height:1.9}
}

/* ==========================================================================
   V22 手机端 · 站点级整洁模式
   问题：topbar 长文字 + 中英/入驻/登录/注册/热线 全挤在一行，栏目下拉
   又叠在一起，手机上完全糊成一团。
   对策：手机端只保留必要元素——汉堡菜单 + logo + 语言切换，
        其余全部收进抽屉；下拉菜单改为纵向手风琴。
   ========================================================================== */
@media(max-width:768px){
  /* ---- 1. 顶部条：隐藏冗余文字与链接，只留语言切换 ---- */
  .topbar{display:none !important}

  /* ---- 2. 头部：紧凑单行 ---- */
  .header{position:sticky;top:0;z-index:60;background:#fff;
    box-shadow:0 1px 6px rgba(16,24,40,.07)}
  .header .wrap{display:flex;align-items:center;gap:10px;
    height:52px;padding:0 14px}
  .header .logo{flex:1;min-width:0;overflow:hidden;
    display:flex;align-items:center;gap:8px}
  .header .logo .mark{width:26px;height:26px;flex:0 0 26px}
  .header .logo b,.header .logo strong{font-size:14.5px;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis}
  .header .logo .slogan,.header .logo .en,.header .logo small{display:none}

  /* ---- 3. 头部右侧：只保留语言切换 ---- */
  .header .hd-r,.header .right,.header .tools{
    display:flex !important;align-items:center;gap:8px;flex:0 0 auto}
  .header .hd-r a:not(.lang),.header .right a:not(.lang),
  .header .tools a:not(.lang){display:none}
  .header .lang{border:1px solid #dfe4e8;border-radius:4px;
    padding:3px 8px;font-size:12px;line-height:1.4}

  /* ---- 4. 主导航：改为纵向手风琴，默认收起 ---- */
  .nav,.nav-panel,.mainnav{
    position:static !important;
    display:none !important;
  }
  /* 汉堡按钮（若已存在则显示） */
  .mburger,.menu-btn,.hamburger,#mburger{
    display:flex !important;align-items:center;justify-content:center;
    width:36px;height:36px;flex:0 0 36px;
    border:1px solid #dfe4e8;border-radius:6px;background:#fff;
    cursor:pointer;font-size:18px;line-height:1;color:#252c34;
  }
  /* 抽屉打开时（body.nav-open）显示导航面板 */
  body.nav-open .nav,body.nav-open .nav-panel,body.nav-open .mainnav{
    display:block !important;position:fixed;inset:52px 0 0;z-index:55;
    background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;
    padding:0 0 40px;
  }
  /* 抽屉内：一级栏目纵向排列，hover 才展开二级 */
  body.nav-open .nav a,body.nav-open .nav-panel a,
  body.nav-open .mainnav a{border-radius:0}
  body.nav-open .nav .item,body.nav-open .nav-panel .item,
  body.nav-open .mainnav .item{
    display:block !important;border-bottom:1px solid #eef2f5;
    position:relative;
  }
  body.nav-open .nav .item>.item,body.nav-open .nav-panel .item>.item,
  body.nav-open .mainnav .item>.item{
    display:none !important;background:#f8fafc;
  }
  body.nav-open .nav .item:hover>.item,
  body.nav-open .nav-panel .item:hover>.item,
  body.nav-open .mainnav .item:hover>.item{
    display:block !important;
  }
  /* 二级面板内的条目改为左缩进纵向列表 */
  body.nav-open .nav .drop,body.nav-open .nav-panel .drop,
  body.nav-open .mainnav .drop{
    position:static !important;width:auto !important;
    transform:none !important;left:auto !important;right:auto !important;
    box-shadow:none !important;border:0;padding:0 0 0 12px;
    display:none;background:#f8fafc;
  }
  body.nav-open .nav .item:hover .drop,
  body.nav-open .nav-panel .item:hover .drop,
  body.nav-open .mainnav .item:hover .drop{display:block}
  body.nav-open .nav .drop .grp,
  body.nav-open .nav-panel .drop .grp{display:block;padding:0}
  body.nav-open .nav .drop .gt,
  body.nav-open .nav-panel .drop .gt{
    display:block;padding:8px 12px 4px;font-size:12px;color:#8b97a5;
  }
  body.nav-open .nav .drop a,
  body.nav-open .nav-panel .drop a{
    display:block;padding:8px 12px;font-size:14px;color:#3d4753;
  }
  body.nav-open .nav .drop a:active{background:#eef4fb}

  /* ---- 5. 面包屑：简化 ---- */
  .crumb .wrap{font-size:12px;padding:8px 14px;overflow-x:auto;
    white-space:nowrap;-webkit-overflow-scrolling:touch}
  .crumb a{padding:0 2px}

  /* ---- 6. 悬浮客服/返回顶部：手机端隐藏，避免遮挡正文 ---- */
  .cs,.cs-ball,#cs,.float,.gotop,.backtop,.to-top,
  [class*="widget"]{display:none !important}

  /* ---- 7. 区块间距统一 ---- */
  .sec,.card,.wrap{padding-left:14px;padding-right:14px}
  .card{margin:12px auto;border-radius:8px}
  .grid-c,.grid-o,.egrid{grid-template-columns:1fr;gap:10px}

  /* ---- 8. 表格类内容（企业名录等）改为卡片式，避免横向滚动 ---- */
  .ct-wrap{border-radius:8px;overflow:hidden;margin-top:12px}
  table.ct thead{display:none}
  table.ct,tb.ct,tbody.ct{width:100%;display:block}
  table.ct tbody,table.ct tr{display:block;width:100%}
  table.ct tr{border-bottom:1px solid #eef2f5;padding:10px 12px}
  table.ct tr:last-child{border-bottom:0}
  table.ct td{display:block;border:0;padding:2px 0;font-size:13.5px}
  td.ct-name{font-weight:600;line-height:1.5;margin-bottom:3px}
  td.ct-name a{color:#1a222b}
  td.ct-seg:before{content:"环节 · ";color:#a8b2bd;font-size:12px}
  td.ct-cat:before{content:"赛道 · ";color:#a8b2bd;font-size:12px}
  td.ct-reg:before{content:"地区 · ";color:#a8b2bd;font-size:12px}

  /* ---- 9. 页脚：单列 ---- */
  .foot .wrap{flex-direction:column;text-align:center;padding:18px 14px}
  .foot .cols{grid-template-columns:1fr !important;gap:14px}
  .foot .col h4{text-align:center;margin-bottom:6px}
  .foot .copy{text-align:center;font-size:12px;line-height:1.8}
}

/* ==========================================================================
   V22 修正：侧栏回到正文右侧
   问题：上一版给 .dt-layout .col-r 加了 max-width:720px + margin:auto，
        把侧栏挤到了正文下方。正确做法是：
        外层恢复左右分栏（flex），正文卡居中在左侧栏内，侧栏固定右侧。
   ========================================================================== */

/* ---- 桌面端：正文与侧栏左右并排，侧栏在右 ---- */
.dt-layout{
  display:flex !important;
  flex-direction:row;
  align-items:flex-start;
  gap:24px;
  max-width:1180px;        /* 正文卡 + 侧栏 + 间距的总宽 */
  margin:0 auto;           /* 整体居中 */
  padding:0 20px;
}
/* 左侧：正文卡居中（相对左栏居中，两侧仍有留白） */
.dt-layout .col-l{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;      /* 让 dt-card 在左栏内水平居中 */
}
.dt-layout .dt-card{
  max-width:720px;
  width:100%;
  margin:0 auto;
}
/* 右侧：侧栏固定 320px，不居中、不换行 */
.dt-layout .col-r{
  flex:0 0 320px !important;
  width:320px !important;
  max-width:320px !important;
  margin:0 !important;
  align-self:flex-start;
  position:sticky;
  top:70px;
  max-height:calc(100vh - 86px);
  overflow-y:auto;
}
/* 「相关信息」卡片属于左栏（col-l），跟着正文居中 */
.dt-layout .col-l > .card{max-width:720px;margin:16px auto 0}

/* ---- 中等屏：侧栏收窄 ---- */
@media(max-width:1180px){
  .dt-layout{gap:18px;padding:0 16px}
  .dt-layout .col-r{flex:0 0 280px !important;width:280px !important;max-width:280px !important}
  .dt-layout .dt-card{padding:24px 28px 28px}
  .dt-layout .dt-body,.dt-layout .dt-sum,.dt-layout .dt-viewbar,.dt-layout .dt-hd{max-width:100%}
}

/* ---- 平板：侧栏移到正文下方（宽度已不够并排）---- */
@media(max-width:1000px){
  .dt-layout{flex-direction:column;gap:0;max-width:760px}
  .dt-layout .col-l{width:100%;align-items:stretch}
  .dt-layout .col-r{
    flex:1 1 auto !important;width:100% !important;max-width:100% !important;
    margin:20px 0 0 !important;position:static;max-height:none;overflow:visible;
  }
  .dt-layout .col-l > .card{max-width:100%}
}

/* ---- 手机：单列整洁流 ---- */
@media(max-width:768px){
  .dt-layout{padding:0;gap:0;max-width:100%}
  .dt-layout .col-l{width:100%}
  .dt-layout .dt-card{max-width:100%;margin:0}
  .dt-layout .col-r{
    flex:1 1 auto !important;width:100% !important;max-width:100% !important;
    margin:18px 0 0 !important;position:static;max-height:none;overflow:visible;
  }
}

/* ==========================================================================
   V24 全站内容正文字号统一 16px（中文排版「小四」= 12pt ≈ 16px）
   更正说明：V23 我把「12 号」误解为 CSS 的 12px，导致正文从 15.5px 缩到
   12px（视觉上明显变小）。用户澄清需要的是中文习惯的 12pt（=16px）。
   本段替代 V23。
   ========================================================================== */

/* ---- 1. 通用内容文字：16px ---- */
.dt-body,.dt-body p,.dt-body li,.dt-body div,
.dt-sum,.dt-sum p,
.doc,.doc p,.doc li,.doc td,
.list,.list li,.list p,.list h4,.list h4 a,
.txtlist,.txtlist li,.txtlist a,
.grid-c,.grid-c p,.grid-c .ecard p,
.egrid,.egrid p,
.policy-list,.policy-list li,
.rel-list,.rel-list li,
table.ct td,table.ct tbody,table.ct tr,
.tbl,.tbl td,.tbl th,
.dl-list,.dl-list li,
.mv-list,.mv-list li,
.case-grid,.case-grid p,
.dt-rel li,.dt-rel li b,.dt-rel li em,
.ct-copy p,.ct-copy,
.vip-notice .vn-t,
.ct-contact .ci,.ct-contact .ci b,
.dt-copy p,.dt-copy-contact,
.disc p,.disc,
.bread,.crumb,
.meta,.dt-meta,
.source,.src,
.tagx,.tag,
.cite,.footnote{
  font-size:16px !important;
}

/* ---- 2. 各栏目列表/卡片正文：16px ---- */
.ecard p,.ocard p,.scard p,.evcard p,.tcard p,
.qc p,.quote p,.hl-slide p,
.side p,.side li,
.foot p,.foot li,
.partner p,.supplier p,
.policy-list p,.research-list p,
.news-list p,.news-item p,
.coop-list p,.case-list p,
.event-list p,
.article p,.article li,
.content p,.content li,
.section p,.section li{
  font-size:16px !important;
}

/* ---- 3. 表格内容：16px ---- */
.tbl,.tbl td,.tbl th,
table.ct,table.ct td,
.dt,.dt td,.dt th,
.data-table td,.data-table th{
  font-size:16px !important;
}

/* ---- 4. 辅助小字：14px（来源、日期、标签、版权注等）---- */
.cite,.footnote,.disc,.src-note,
.dt-copy-contact em,.ct-contact .ci em,
.dt-rel li em,.side .more,.card .more,
.kpi span,.stat span{
  font-size:14px !important;
}
.dt-meta span,.dt-viewbar,.tb-r a,.lang{font-size:14px !important}
.tagx,.tag{font-size:14px !important}

/* ---- 5. 详情页正文版式（16px 下重新校准行宽与行距）---- */
.dt-layout .dt-card{max-width:760px}
.dt-layout .dt-body{
  font-size:16px;
  line-height:1.95;
  max-width:680px;          /* 16px 下约 42 汉字/行，阅读舒适 */
  color:#252c34;
}
.dt-layout .dt-body p{margin:0 0 1.1em}
.dt-layout .dt-sum{font-size:16px;line-height:1.85}
.dt-layout .dt-hd{max-width:680px}
.dt-layout .dt-hd h1{font-size:25px;line-height:1.45;margin:0 0 10px}
.dt-layout .vip-notice,
.dt-layout .ct-contact,
.dt-layout .dt-copy{max-width:680px;margin-left:auto;margin-right:auto}
.dt-layout .ct-contact .ci{font-size:16px}
.dt-layout .ct-contact .ci em{font-size:14px}
.dt-layout .vip-notice .vn-t{font-size:15px}
.dt-layout .vip-notice .vn-b{font-size:15px}
.dt-layout .vip-notice .vip-tip,
.dt-layout .ct-contact .vip-tip{font-size:13px}

/* ---- 6. 企业名录表格：16px ---- */
table.ct td{font-size:16px;line-height:1.7}
table.ct td.ct-seg,table.ct td.ct-cat,table.ct td.ct-reg{font-size:15px}

/* ---- 7. 手机端同为 16px ---- */
@media(max-width:768px){
  .dt-layout .dt-body{font-size:16px;line-height:1.9;max-width:100%}
  .dt-layout .dt-sum{font-size:15px;line-height:1.8}
  .dt-layout .dt-hd h1{font-size:21px}
  .dt-layout .ct-contact .ci{font-size:16px}
  .dt-layout .ct-contact .ci em{font-size:14px}
  .dt-layout .vip-notice .vn-t{font-size:15px}
  table.ct td{font-size:16px}
  table.ct td.ct-seg,table.ct td.ct-cat,table.ct td.ct-reg{font-size:15px}
}


/* ===== V25 全局：悬停栏目不再出现红框与灰色解读文字 ===== */
.nav .drop .gt,
.nav .item.on>.item .gt,
.nav-panel .drop .gt{display:none !important}
.nav .drop{border-top:1px solid var(--line);box-shadow:0 6px 20px rgba(10,53,102,.12)}
.nav .item.on>.item{border-top:1px solid var(--line)}
/* 二级菜单项去掉多余的分组间距（标题隐藏后留白） */
.nav .drop .grp{padding-top:2px}


/* ===== V25 全局：禁止显示数量 =====
   用户要求全站不出现「3 条」「274 家」这类计数。
   隐藏 .cnt 计数标签与条目旁的数量后缀。 */
.cnt,.count,.num-count{display:none !important}
/* 条目前的数量角标（如「采购 3 条」） */
li .q-count,li .cnt,.list .n{display:none !important}


/* ==========================================================================
   V25 全局规范
   1) 悬停栏目不出现红框与灰色解读文字
   2) 全站不显示数量（「3 条」「274 家」等）
   ========================================================================== */

/* ---- 1. 去掉灰色分组解读文字 ---- */
.nav .drop .gt,
.nav .item.on>.item .gt,
.nav-panel .drop .gt,
.header .drop .gt{display:none !important}
/* 下拉改为细灰线，不再是醒目色块 */
.nav .drop{border-top:1px solid var(--line);box-shadow:0 6px 20px rgba(10,53,102,.12)}
.nav .item.on>.item{border-top:1px solid var(--line)}
.nav .drop .grp{padding-top:2px}

/* ---- 2. 不显示数量 ---- */
.cnt,.count,.num-count,
li .q-count,.list .n,
.ct-more .num{display:none !important}


/* ==========================================================================
   V26 核心通道：缩小尺寸 + 立体感 + 标题与框体同行
   ========================================================================== */
.quick{padding:14px 0 12px}
.quick .wrap{display:flex;align-items:center;gap:16px}
/* 标题与六格同一行 */
.quick .q-hd{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;
  margin:0;padding:0 14px 0 0;border-right:1px solid var(--line);
  border-bottom:0}
.quick .q-hd .q-lb{font-size:15px;font-weight:700;white-space:nowrap;line-height:1.3}
.quick .q-hd small{font-size:11px;color:var(--ink-3);white-space:nowrap;
  letter-spacing:.4px;line-height:1.3}

/* 六格：高度从78px 降到 54px，整体更紧凑 */
.quick .q-list{flex:1;display:grid;grid-template-columns:repeat(6,1fr);
  gap:10px}
.quick .qc{height:54px;min-height:54px;border-radius:6px;
  font-size:14px;font-weight:500;letter-spacing:.5px;
  box-shadow:0 1px 2px rgba(16,32,58,.08),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .15s ease,box-shadow .15s ease}
.quick .qc:hover{transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(16,32,58,.16),inset 0 1px 0 rgba(255,255,255,.22)}

/* 企业入驻：绿色突出（保持与其他一致的结构，只换色） */
.quick .qc.cta{background:linear-gradient(135deg,#0a8f4d 0%,#0f9d58 100%);
  color:#fff;font-weight:700}

/* 平板：标题回到上方，六格三列 */
@media(max-width:1080px){
  .quick .wrap{flex-direction:column;align-items:stretch;gap:10px}
  .quick .q-hd{border-right:0;border-bottom:1px solid var(--line);
    padding:0 0 8px;flex-direction:row;align-items:baseline;gap:10px}
  .quick .q-list{grid-template-columns:repeat(3,1fr)}
}

/* 手机：两列 */
@media(max-width:768px){
  .quick{padding:12px 0 10px}
  .quick .wrap{flex-direction:column;gap:10px}
  .quick .q-hd{flex-direction:row;align-items:baseline;gap:8px;
    border-bottom:1px solid var(--line);padding-bottom:8px}
  .quick .q-hd .q-lb{font-size:14.5px}
  .quick .q-list{grid-template-columns:repeat(2,1fr);gap:8px}
  .quick .qc{height:48px;font-size:14px}
}


/* ===== V27 注册页：性别选择排版 ===== */
.sexs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sexs label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  padding:5px 13px;border:1px solid var(--line);border-radius:14px;
  font-size:13px;line-height:1.5;transition:all .15s}
.sexs label:hover{border-color:var(--blue);background:#f2f7fd}
.sexs input{margin:0}
.sexs label:has(input:checked){border-color:var(--blue);background:#e8f1fc;
  color:var(--blue);font-weight:500}
@supports not selector(:has(*)){
  .sexs input:checked + span{color:var(--blue);font-weight:500}
}


/* ==========================================================================
   V28 政策合规：风险预警字号与三大栏目保持一致
   用户要求「风险预警字体要与国内政策/境外规制/国际准则一致」
   ========================================================================== */
.warn .wh{font-size:16px;padding:12px 16px}
.warn li{padding:11px 0}
.warn li b{font-size:16px;font-weight:500;line-height:1.55;margin-bottom:5px}
.warn li p{font-size:16px;line-height:1.7;color:var(--ink-2)}
.warn li b i{font-size:11px;padding:1px 6px}   /* 高/中 标签保持小号（辅助信息）*/
.warn .wf a{font-size:15px}


/* ==========================================================================
   V29-b 会员专属页守卫遮罩
   ========================================================================== */
.gf-gate{position:fixed;inset:0;z-index:9999;background:rgba(248,250,252,.97);
  backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}
.gf-gate-card{max-width:420px;width:100%;background:#fff;border:1px solid #e3e8ed;
  border-radius:10px;padding:32px 28px;text-align:center;
  box-shadow:0 8px 32px rgba(16,32,58,.12)}
.gf-gate-ic{display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;margin-bottom:14px;
  background:linear-gradient(135deg,#c8791f,#e0a34a);color:#fff;
  font-size:14px;font-weight:700;letter-spacing:.5px}
.gf-gate-card h3{font-size:19px;font-weight:700;margin:0 0 10px;color:#1a222b}
.gf-gate-card h3 .ie{display:none}
.gf-gate-card p{font-size:16px;line-height:1.75;color:#5a6673;margin:0 0 20px}
.gf-gate-card p .ie{display:none}
.gf-gate-btns{display:flex;gap:10px;justify-content:center}
.gf-gate-btns a{flex:1;padding:11px 0;border-radius:5px;font-size:16px;
  font-weight:500;text-decoration:none;transition:all .15s}
.gf-gate-btns .btn1{background:#1560ad;color:#fff}
.gf-gate-btns .btn1:hover{background:#11528d}
.gf-gate-btns .btn2{background:#fff;color:#1560ad;border:1px solid #1560ad}
.gf-gate-btns .btn2:hover{background:#eef4fb}
html[data-lang="en"] .gf-gate-card h3 .iz,
html[data-lang="en"] .gf-gate-card p .iz,
html[data-lang="en"] .gf-gate-btns .iz{display:none}
html[data-lang="en"] .gf-gate-card h3 .ie,
html[data-lang="en"] .gf-gate-card p .ie,
html[data-lang="en"] .gf-gate-btns .ie{display:inline}


/* ==========================================================================
   V30 顶部条：注册入口合并 + 头像位
   ========================================================================== */
.tb-r .reg{font-weight:600;color:#1560ad}
.tb-r .reg:hover{text-decoration:underline}

/* 头像位：登录后出现 */
.tb-r .tb-user{display:inline-flex;align-items:center;gap:8px}
.tb-r .tb-user[hidden]{display:none}
.tb-r .ava{display:inline-flex;align-items:center;gap:6px;color:#2b333c;
  font-size:13px;line-height:1}
.tb-r .ava i{display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  background:linear-gradient(135deg,#1560ad,#2b7fd4);color:#fff;
  font-size:12px;font-weight:700;font-style:normal;transition:transform .15s}
.tb-r .ava:hover i{transform:scale(1.08)}
.tb-r .ava:hover{color:#1560ad;text-decoration:none}
.tb-r .quit{cursor:pointer}
.tb-r .quit:hover{color:#c8342b}

/* 「我的频道」文字在头像右侧，窄屏可只留头像 */
@media(max-width:768px){
  .tb-r .ava .iz,.tb-r .ava .ie{display:none}
  .tb-r .ava i{width:26px;height:26px}
}


/* ==========================================================================
   V31 详情页宽度统一（用户反馈：正文与「相关信息」宽度不一致）
   统一标准：外壳 760px / 内容 680px
   ========================================================================== */

/* ---- 外壳：正文卡与「相关信息」卡同宽 ---- */
.dt-layout .dt-card,
.dt-layout .col-l > .card,
.dt-layout .col-l > div.card{
  max-width:760px !important;
  width:100%;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* ---- 内容：标题 / 摘要 / 正文 / 联系方式 / 版权块同宽 ---- */
.dt-layout .dt-hd,
.dt-layout .dt-sum,
.dt-layout .dt-viewbar,
.dt-layout .dt-body,
.dt-layout .ct-contact,
.dt-layout .dt-copy,
.dt-layout .disc,
.dt-layout .vip-notice{
  max-width:680px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* ---- 「相关信息」内的列表也对齐内容宽度 ---- */
.dt-layout .col-l > .card > div,
.dt-layout .col-l > .card .dt-rel{
  max-width:100%;
}


/* ==========================================================================
   V32-c 注册页：三选一分流台
   ========================================================================== */
.reggate{max-width:1100px;margin:0 auto 20px;padding:18px 20px 20px;
  background:#fff;border:1px solid #e3e8ed;border-radius:8px}
.rg-t{margin-bottom:14px}
.rg-t b{display:block;font-size:17px;font-weight:700;color:#1a222b;margin-bottom:3px}
.rg-t small{font-size:14px;color:#7b8794}
.rg-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rg{display:flex;flex-direction:column;gap:5px;padding:14px 15px;
  border:1px solid #e3e8ed;border-radius:6px;text-decoration:none;
  transition:all .15s;background:#fff}
.rg i{display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700;
  font-style:normal;margin-bottom:3px}
.rg b{display:block;font-size:16px;font-weight:500;color:#1a222b;line-height:1.4}
.rg b .ie{display:none}
.rg em{font-style:normal;font-size:14px;color:#7b8794;line-height:1.5}
.rg em .ie{display:none}
.rg1:hover{border-color:#5a6673;background:#f8fafc}
.rg1 i{background:#e8ecf0;color:#5a6673}
.rg2:hover{border-color:#1560ad;background:#f4f9fe}
.rg2 i{background:#1560ad;color:#fff}
.rg3:hover{border-color:#0f9d58;background:#f2fbf6}
.rg3 i{background:#0f9d58;color:#fff}
html[data-lang="en"] .rg b .iz,html[data-lang="en"] .rg em .iz,
html[data-lang="en"] .rg-t b .iz,html[data-lang="en"] .rg-t small .iz{display:none}
html[data-lang="en"] .rg b .ie,html[data-lang="en"] .rg em .ie,
html[data-lang="en"] .rg-t b .ie,html[data-lang="en"] .rg-t small .ie{display:inline}
@media(max-width:768px){
  .rg-list{grid-template-columns:1fr}
}

/* V32-d 注册页分流台补充：标题行 / 说明行 / 宽度收窄 */
.reggate{max-width:none;background:#fbfcfd}
.reggate .rg-h{font-size:14px;font-weight:600;color:#1a222b;margin-bottom:12px;
  letter-spacing:.04em}
.reggate .rg-note{margin-top:12px;padding-top:11px;font-size:13px;line-height:1.8;
  color:#8b949c;border-top:1px dashed #e3e8ed}
.reggate .rg-note .ie{display:none}
html[data-lang="en"] .reggate .rg-note .iz{display:none}
html[data-lang="en"] .reggate .rg-note .ie{display:inline}

/* ==========================================================================
   V35 注册页 · 最简三框式
   设计目标：一屏可见、无需选档、三个输入框搞定。
   ========================================================================== */
.reg-simple{display:flex;gap:22px;align-items:flex-start;max-width:1220px;margin:0 auto 20px}
.reg-simple .rs-card{flex:0 0 440px;background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:26px 28px 22px}
.reg-simple .rs-card h2{font-size:20px;font-weight:700;color:var(--navy);
  margin:0 0 8px;text-align:center}
.reg-simple .rs-lead{font-size:14px;color:var(--ink-3);line-height:1.75;
  text-align:center;margin:0 0 20px;padding-bottom:16px;border-bottom:1px dashed var(--line)}
.reg-simple .rs-lead b{color:var(--blue)}
.reg-simple .rsf{display:block;margin:0 0 14px}
.reg-simple .rsf > i{display:block;font-style:normal;font-size:13px;
  color:var(--ink-2);font-weight:600;margin-bottom:6px}
.reg-simple .rsf input[type=text],.reg-simple .rsf input[type=password],
.reg-simple .rsf input:not([type]){width:100%;padding:11px 12px;font-size:15px;
  border:1px solid #d8dde3;border-radius:5px;background:#fff;color:var(--ink);
  transition:.15s;font-family:inherit}
.reg-simple .rsf input:focus{outline:0;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(21,96,173,.12)}
.reg-simple .codesend{display:flex;gap:8px;align-items:stretch}
.reg-simple .codesend input{flex:1;min-width:0}
.reg-simple .bsend{flex:0 0 108px;padding:0 10px;font-size:13px;cursor:pointer;
  border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:5px;
  font-family:inherit;white-space:nowrap;transition:.15s}
.reg-simple .bsend:hover:not(:disabled){background:#12508f}
.reg-simple .bsend:disabled{background:#a9b6c6;border-color:#a9b6c6;cursor:default}
.reg-simple .rs-submit{width:100%;padding:12px;font-size:16px;font-weight:600;
  letter-spacing:4px;color:#fff;background:#b01f24;border:0;border-radius:5px;
  cursor:pointer;font-family:inherit;margin-top:4px;transition:.15s}
.reg-simple .rs-submit:hover{background:#96191d}
.reg-simple .rs-terms{margin:12px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.7}
.reg-simple .rs-terms label{display:flex;align-items:flex-start;gap:6px;cursor:pointer}
.reg-simple .rs-terms input{margin:2px 0 0;flex:0 0 auto}
.reg-simple .rs-already{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);
  font-size:13px;color:var(--ink-3);text-align:center}
.reg-simple .rs-already a{color:var(--blue);font-weight:600;text-decoration:none}

/* 右侧：权益 + 升级入口 */
.reg-simple .rs-side{flex:1;min-width:0}
.reg-simple .rs-side-h{font-size:13px;font-weight:600;color:var(--ink-2);
  margin:0 0 10px;letter-spacing:.04em}
.reg-simple .rs-benefit{list-style:none;margin:0 0 22px;padding:0;
  background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.reg-simple .rs-benefit li{padding:11px 16px;border-bottom:1px solid #f0f3f6}
.reg-simple .rs-benefit li:last-child{border-bottom:0}
.reg-simple .rs-benefit li:nth-child(odd){background:#fbfcfd}
.reg-simple .rs-benefit b{display:block;font-size:14px;font-weight:600;
  color:var(--navy);margin-bottom:3px}
.reg-simple .rs-benefit span{font-size:13px;color:var(--ink-3);line-height:1.6}
.reg-simple .rs-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.reg-simple .rsp{display:block;text-decoration:none;padding:14px 15px 15px;
  background:#fff;border:1px solid var(--line);border-radius:6px;transition:.16s}
.reg-simple .rsp:hover{border-color:var(--blue);background:#f5f9fe}
.reg-simple .rsp b{display:block;font-size:15px;font-weight:600;color:var(--navy);margin-bottom:5px}
.reg-simple .rsp em{display:block;font-style:normal;font-size:16px;font-weight:700;
  color:var(--blue);margin-bottom:5px}
.reg-simple .rsp span{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.6}
.reg-simple .rs-company{font-size:13px;color:var(--ink-3);line-height:1.75;
  background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 15px}
.reg-simple .rs-company a{color:var(--blue);font-weight:600;text-decoration:none}

/* 双语 */
html[data-lang="en"] .reg-simple .iz{display:none}
html[data-lang="en"] .reg-simple .ie{display:inline}

/* 响应式 */
@media(max-width:900px){
  .reg-simple{flex-direction:column}
  .reg-simple .rs-card{flex:1 1 auto;width:100%}
  .reg-simple .rs-plans{grid-template-columns:1fr}
}

/* ==========================================================================
   V35 支付页 · 4 档统一版式
   ========================================================================== */
.pay-wrap{display:flex;gap:22px;align-items:flex-start}
.pay-main{flex:0 0 480px;background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:24px 26px 20px}
.pay-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;
  margin-bottom:18px;border-bottom:1px solid var(--line)}
.pay-tag{display:inline-block;padding:4px 12px;border-radius:4px;color:#fff;
  font-size:13px;font-weight:700;letter-spacing:.5px}
.pay-price{display:flex;align-items:baseline;gap:4px;margin-left:auto}
.pay-price em{font-style:normal;font-size:28px;font-weight:700;color:#b01f24;
  line-height:1;font-family:inherit}
.pay-unit{font-size:13px;color:var(--ink-3)}
.pay-audit{padding:12px 14px;border-radius:6px;background:#fdf6ec;
  border:1px solid #f0d9b0;margin-bottom:18px}
.pay-audit b{display:block;font-size:13.5px;font-weight:600;color:#8a5a16;margin-bottom:4px}
.pay-audit span{font-size:12.5px;color:#9a7440;line-height:1.65}
.pay-audit.free{background:#f2fbf6;border-color:#bfe6d0}
.pay-audit.free b{color:#0b6b3d}
.pay-audit.free span{color:#3d7d5c}
.pay-qr{display:flex;gap:16px;align-items:center;padding:16px;
  background:#fbfcfd;border:1px solid var(--line);border-radius:6px;margin-bottom:18px}
.pay-code{width:104px;height:104px;flex:0 0 104px;background:#fff;
  border:1px solid #e6eaef;border-radius:4px;display:flex;align-items:center;
  justify-content:center;padding:4px}
.pay-code svg{width:100%;height:100%}
.pay-qrinfo b{display:block;font-size:15px;font-weight:600;color:var(--navy);margin-bottom:7px}
.pay-qrinfo span{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.8}
.pay-timer{color:#b01f24!important;font-weight:600}
.pay-way{margin-bottom:18px}
.pay-way > b{display:block;font-size:13px;color:var(--ink-2);font-weight:600;margin-bottom:9px}
.pay-way .ways{display:flex;gap:8px}
.pay-way .ways span{padding:8px 16px;font-size:13.5px;border:1px solid #d8dde3;
  border-radius:5px;color:var(--ink-2);cursor:pointer;transition:.15s}
.pay-way .ways span.on{background:var(--blue);border-color:var(--blue);color:#fff}
.pay-done{display:flex;gap:10px;align-items:center}
.pd-main{flex:1;padding:12px;font-size:15px;font-weight:600;color:#fff;
  background:#b01f24;border:0;border-radius:5px;cursor:pointer;font-family:inherit}
.pd-main:hover{background:#96191d}
.pd-back{padding:12px 18px;font-size:14px;color:var(--ink-2);text-decoration:none;
  border:1px solid #d8dde3;border-radius:5px}
.pd-back:hover{border-color:var(--blue);color:var(--blue)}

.pay-side{flex:1;min-width:0}
.pay-rights{list-style:none;margin:0;padding:0}
.pay-rights li{padding:9px 0;border-bottom:1px dashed #eef1f4}
.pay-rights li:last-child{border-bottom:0}
.pay-rights b{display:block;font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:3px}
.pay-rights span{font-size:13px;color:var(--ink-3);line-height:1.65}
.pay-rights li.x b{color:var(--blue)}
.pay-lead{font-size:13.5px;color:var(--ink-2);line-height:1.8;margin:0 0 10px}
.pay-note{font-size:12.5px;color:var(--ink-3);line-height:1.75;margin:0}
.pay-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.psw{display:block;text-decoration:none;padding:10px 12px;border:1px solid #d8dde3;
  border-radius:5px;font-size:13.5px;color:var(--ink-2);transition:.15s}
.psw em{font-style:normal;color:var(--blue);font-weight:600;float:right}
.psw:hover{border-color:var(--blue)}
.psw.on{border-color:var(--blue);background:#f5f9fe;color:var(--navy);font-weight:600}
html[data-lang="en"] .psw em{float:none;display:block;margin-top:2px}

@media(max-width:900px){
  .pay-wrap{flex-direction:column}
  .pay-main{flex:1 1 auto;width:100%}
}

/* ==========================================================================
   V37 我的频道 · 兴趣点 → 内容闭环
   ========================================================================== */
/* 筛选条 */
.mc-filter{background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:14px 16px;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:12px;
  align-items:center}
.mc-filter .mcf-l{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--ink-2)}
.mc-filter .mcf-l .ie{display:none}
.mc-filter .mcf-chips{flex:1;min-width:200px;display:flex;flex-wrap:wrap;gap:6px}
.mc-filter .mcf-act{flex:0 0 auto;display:flex;gap:6px}
.mcf-btn{padding:6px 14px;font-size:13px;border:1px solid #d8dde3;background:#fff;
  color:var(--ink-2);border-radius:4px;cursor:pointer;font-family:inherit;transition:.15s}
.mcf-btn:hover{border-color:var(--blue);color:var(--blue)}
.mcf-btn.on{background:var(--blue);border-color:var(--blue);color:#fff}
html[data-lang="en"] .mcf-btn .iz{display:none}
html[data-lang="en"] .mcf-btn .ie{display:inline}

/* 兴趣点筹码（可单个删除） */
.mchip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 5px;
  font-size:12.5px;color:var(--navy);background:#f2f7fc;border:1px solid #d3e3f5;
  border-radius:14px;cursor:pointer;font-family:inherit;transition:.15s;line-height:1.5}
.mchip em{font-style:normal;font-size:11px;padding:1px 6px;border-radius:8px;
  background:var(--blue);color:#fff}
.mchip i{font-style:normal;font-size:14px;color:#7b8794;line-height:1;
  padding:0 1px}
.mchip:hover{border-color:#e0a0a4;background:#fdf2f2}
.mchip:hover i{color:var(--red,#b01f24)}
.mchip.empty{background:#f7f9fb;border-color:#e6eaef;color:#8b949c;cursor:default}
.mchip.empty:hover{border-color:#e6eaef;background:#f7f9fb}

/* 内容匹配标记 */
.mc-list > li{position:relative}
.mc-list > li .mc-hit{position:absolute;right:0;top:0;font-size:11px;
  color:#0f9d58;background:#eaf7f0;border-radius:3px;padding:1px 5px;
  pointer-events:none}
.mc-cnt{font-style:normal;font-size:12.5px;color:var(--ink-3);margin-left:auto;
  padding-left:12px;font-weight:400}
@media(max-width:768px){
  .mc-filter{flex-direction:column;align-items:stretch}
  .mc-filter .mcf-act{justify-content:flex-start}
  .mc-cnt{display:block;margin-left:0;padding-left:0;margin-top:6px}
}

/* ==========================================================================
   V38 新 LOGO（横版图片，替代原内联 SVG + 文字）
   ========================================================================== */
.header .logo{gap:0}
.header .logo .logo-img{
  display:block;width:auto;height:46px;max-width:230px;
  object-fit:contain;object-position:left center;
  transition:opacity .18s}
.header .logo:hover .logo-img{opacity:.88}
/* 英文站：图中已含中英文字，无需切换，保持原样 */
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{height:46px;max-width:230px}

/* 平板与窄屏：等比缩小，不裁切 */
@media(max-width:1100px){
  .header .logo .logo-img{height:40px;max-width:200px}
}
@media(max-width:860px){
  .header .logo .logo-img{height:34px;max-width:168px}
}
@media(max-width:560px){
  .header .logo .logo-img{height:28px;max-width:132px}
}
/* 极窄屏：只留图标部分的效果会失真，改为完整缩放到底 */
@media(max-width:400px){
  .header .logo .logo-img{height:24px;max-width:110px}
}

/* V38-b logo 视觉重量校准：原方案是 54px 图标 + 文字，现为横版整图，
   高度取 56px（宽高比 2.917 → 宽约 163px），与原视觉重量接近 */
.header .logo .logo-img{height:56px;max-width:260px}
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{height:56px;max-width:260px}
@media(max-width:1100px){.header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:46px;max-width:215px}}
@media(max-width:860px){.header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:38px;max-width:178px}}
@media(max-width:560px){.header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:30px;max-width:140px}}
@media(max-width:400px){.header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:26px;max-width:120px}}

/* ==========================================================================
   V38-c 修复：窗口 769–1240px 时一级导航被压成竖排单字
   根因：该区间 .wrap 变 width:100%，但 header 内 logo + 一级导航 + 搜索框
   总宽超过容器，flex 收缩时导航项被压到十几像素宽，中文逐字换行。
   修法：
     1) 导航项禁止收缩 + 文字不换行（保住可读性）
     2) 中间宽度区间隐藏搜索框，把空间让给导航（搜索在顶栏已有入口）
     3) 仍不足时让 logo 让位（logo 优先级最低）
   注：这是既有响应式缺陷，与 V38 换 logo 无关，只是换 logo 后更易被发现。
   ========================================================================== */
@media(max-width:1240px){
  .header .wrap{gap:14px}
  /* 导航项不被压缩 */
  .header .mn-item,.header .mnav .item{flex:0 0 auto;white-space:nowrap}
  /* 中文标签禁止逐字换行 */
  .header .mn-item .iz,.header .mnav .item .iz{white-space:nowrap}
}
@media(max-width:1080px) and (min-width:769px){
  /* 搜索框让位给导航 */
  .header .head-right .search{display:none}
  .header .logo{flex:0 0 auto}
}
@media(max-width:900px){
  /* 更窄时 logo 让位，保证导航可读 */
  .header .logo{flex:0 0 auto}
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:32px;max-width:150px}
}

/* ==========================================================================
   V38-d 修正 V38-c：使用真实类名
   结构：.header > .wrap > [a.logo] + [div.head-right] + [form.nav] > [.item]
   注：一级导航是 <form class="nav">，不是独立的深蓝导航条。
   ========================================================================== */
@media(max-width:1240px){
  .header .wrap{gap:14px}
  /* 一级导航项禁止被压缩、中文不逐字换行 */
  .header form.nav{flex:0 1 auto;min-width:0}
  .header form.nav > .item{flex:0 0 auto;white-space:nowrap}
  .header form.nav > .item > .iz{white-space:nowrap}
}
@media(max-width:1080px){
  /* 中间宽度：搜索框让位给导航（顶栏仍有热线与语言入口） */
  .header .head-right .search{display:none}
  .header form.nav{flex:0 0 auto}
}
@media(max-width:900px){
  /* 更窄：logo 让位，保证导航可读；汉堡菜单承担全量入口 */
  .header .logo{flex:0 0 auto}
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:32px;max-width:150px}
  .header form.nav{flex:1 1 auto;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .header form.nav::-webkit-scrollbar{height:0}
}

/* ==========================================================================
   V39 让「已筛选」状态一眼可见
   问题：筛选后 8 个栏目通常还剩 5 个，页面观感与未筛选几乎一样，
        用户以为筛选没生效。改为：筛选条整体高亮 + 计数标明隐藏了几个栏。
   ========================================================================== */
.mc-filter{transition:background .2s,border-color .2s}
.mc-filter.active{background:#f4f9ff;border-color:#b9d6f2}
.mc-cnt{transition:color .2s}
.mc-cnt.on{color:var(--blue);font-weight:600}
@media(max-width:768px){
  .mc-filter.active{background:#f4f9ff}
}

/* ==========================================================================
   V40 换用调整版 LOGO（绿燃网站LOGO.png，宽高比 5.16，比旧版 2.917 更扁）
   高度下调：56px 高会让宽度到 289px，占满头部；44px 高 → 227px，比例更协调。
   ========================================================================== */
.header .logo .logo-img{height:44px;max-width:260px}
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{height:44px;max-width:260px}
@media(max-width:1100px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:38px;max-width:220px}
}
@media(max-width:860px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:32px;max-width:185px}
}
@media(max-width:560px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:26px;max-width:150px}
}
@media(max-width:400px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:22px;max-width:128px}
}
@media(max-width:900px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:32px;max-width:185px}
}

/* ==========================================================================
   V41 我的频道 · 按兴趣品类呈现
   ========================================================================== */
/* 注册页：关注领域选择区 */
.rs-focus{margin:16px 0 4px;padding:14px 15px;background:#f7fafd;
  border:1px solid #e3ecf5;border-radius:8px}
.rs-focus .rsf-h{margin-bottom:11px}
.rs-focus .rsf-h b{display:block;font-size:14px;color:var(--navy);
  font-weight:600;margin-bottom:4px}
.rs-focus .rsf-why{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.65}
.rs-focus .rs-focus-b{font-size:12.5px;color:var(--ink-2);font-weight:600;
  margin-bottom:8px}
.rs-fopts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.rs-fopts label{display:block}
@media(max-width:520px){.rs-fopts{grid-template-columns:repeat(2,1fr)}}

/* 频道：品类分组条 */
.mc-catlist{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:12px 14px;
  background:#f4f9ff;border:1px solid #cfe3f7;border-radius:8px}
.mc-catlist[hidden]{display:none}
.mcat{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;
  font-size:12.5px;color:var(--ink-3);background:#fff;border:1px solid #dfe8f0;
  border-radius:14px}
.mcat em{font-style:normal;font-size:10.5px;padding:1px 6px;border-radius:8px;
  background:#d7e6f5;color:#456a92}
.mcat em{background:#d7e6f5;color:#456a92}
.mcat.on{color:var(--navy);border-color:#a9cdec;background:#fbfdff}
.mcat.on em{background:var(--blue);color:#fff}
.mcat i{font-style:normal;font-size:11.5px;color:var(--blue);font-weight:600}
.mcat:not(.on) i{color:#a8b2bd}
html[data-lang="en"] .mcat .iz,html[lang="en"] .mcat .iz{display:none}
html[data-lang="en"] .mcat .ie,html[lang="en"] .mcat .ie{display:inline}

/* 频道：条目上的品类标签 */
.mc-list > li .mc-cat{position:absolute;right:0;bottom:0;font-size:11px;
  color:#4a6a92;background:#eef4fa;border-radius:3px;padding:1px 6px;
  pointer-events:none;max-width:52%;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}

/* ==========================================================================
   V41 我的频道 · 按兴趣品类呈现
   ========================================================================== */
/* 注册页：关注领域选择区 */
.rs-focus{margin:16px 0 4px;padding:14px 15px;background:#f7fafd;
  border:1px solid #e3ecf5;border-radius:8px}
.rs-focus .rsf-h{margin-bottom:11px}
.rs-focus .rsf-h b{display:block;font-size:14px;color:var(--navy);
  font-weight:600;margin-bottom:4px}
.rs-focus .rsf-why{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.65}
.rs-focus .rs-focus-b{font-size:12.5px;color:var(--ink-2);font-weight:600;
  margin-bottom:8px}
.rs-fopts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.rs-fopts label{display:block}
@media(max-width:520px){.rs-fopts{grid-template-columns:repeat(2,1fr)}}

/* 频道：品类分组条 */
.mc-catlist{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:12px 14px;
  background:#f4f9ff;border:1px solid #cfe3f7;border-radius:8px}
.mc-catlist[hidden]{display:none}
.mcat{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;
  font-size:12.5px;color:var(--ink-3);background:#fff;border:1px solid #dfe8f0;
  border-radius:14px}
.mcat em{font-style:normal;font-size:10.5px;padding:1px 6px;border-radius:8px;
  background:#d7e6f5;color:#456a92}
.mcat em{background:#d7e6f5;color:#456a92}
.mcat.on{color:var(--navy);border-color:#a9cdec;background:#fbfdff}
.mcat.on em{background:var(--blue);color:#fff}
.mcat i{font-style:normal;font-size:11.5px;color:var(--blue);font-weight:600}
.mcat:not(.on) i{color:#a8b2bd}
html[data-lang="en"] .mcat .iz,html[lang="en"] .mcat .iz{display:none}
html[data-lang="en"] .mcat .ie,html[lang="en"] .mcat .ie{display:inline}

/* 频道：条目上的品类标签 */
.mc-list > li .mc-cat{position:absolute;right:0;bottom:0;font-size:11px;
  color:#4a6a92;background:#eef4fa;border-radius:3px;padding:1px 6px;
  pointer-events:none;max-width:52%;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}

/* ==========================================================================
   V43 换用调整版 LOGO（绿燃网站LOGO.png，宽高比 6.474）
   旧规则 max-width 是按 5.16 的比例定的，直接沿用会把新 LOGO 压矮。
   这里按 6.474 反算：高度作为视觉基准保持不变，只放开宽度上限。
   例：高 44px → 需宽 285px，故 max-width 取 300px（留 5% 余量）。
   ========================================================================== */
.header .logo .logo-img{height:44px;max-width:300px}
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{height:44px;max-width:300px}
@media(max-width:1100px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:38px;max-width:255px}
}
@media(max-width:900px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:32px;max-width:215px}
}
@media(max-width:560px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:26px;max-width:175px}
}
@media(max-width:400px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:22px;max-width:150px}
}

/* ==========================================================================
   V44 我的频道「进来就是内容」
   内容前置到首屏；兴趣选择区挪到页尾；条目改为「图 + 标题 + 日期 + 品类」资讯行
   ========================================================================== */
/* 关注摘要条：紧贴会员卡，一眼看到关注了什么 */
.mc-filter{margin:14px 0 4px}
.mcf-act .mcf-btn.adj{background:var(--navy);color:#fff;border-color:var(--navy)}
.mcf-act .mcf-btn.adj:hover{background:#0d4483}

/* 兴趣选择卡：挪到页尾后的容器 + 被「调整兴趣点」点到时的高亮提示 */
.mc-focuscard{margin-top:22px;scroll-margin-top:14px}
.mc-focuscard.flash{box-shadow:0 0 0 3px rgba(21,96,173,.35);transition:box-shadow .3s}

/* 频道资讯行：缩略图在左，标题日期在右 */
.mc-wrap{display:block}
.mc-sec .mc-list{display:block}
.mc-list > li{position:relative;padding:0;border-bottom:1px solid var(--line-2)}
.mc-list > li:last-child{border-bottom:0}
.mc-a{display:flex;gap:12px;align-items:flex-start;padding:11px 0;text-decoration:none}
.mc-list > li:first-child .mc-a{padding-top:2px}
.mc-thw{flex:0 0 104px;width:104px;height:70px;border-radius:5px;overflow:hidden;
  background:#eef3f8;display:block}
.mc-th{width:104px;height:70px;object-fit:cover;display:block;transition:.35s}
.mc-a:hover .mc-th{transform:scale(1.06)}
.mc-bd{flex:1;min-width:0;display:block}
.mc-t{display:block;font-size:14px;line-height:1.55;color:var(--ink);font-weight:600;
  margin-bottom:7px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical}
.mc-a:hover .mc-t{color:var(--blue)}
.mc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px}
.mc-meta .mc-m{color:var(--ink-3)}
.mc-meta .mc-src{color:#8b97a5;max-width:180px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.mc-meta .mc-cat{position:static;font-size:11px;color:#4a6a92;background:#eef4fa;
  border-radius:3px;padding:1px 7px;max-width:none;pointer-events:none}
.mc-meta .mc-hit{font-size:11px;color:#0f9d58;background:#eafaf1;border-radius:3px;
  padding:1px 7px}
.mc-meta .mc-hit:empty{display:none}
@media(max-width:560px){
  .mc-thw,.mc-th{flex:0 0 84px;width:84px;height:58px}
  .mc-t{font-size:13px}
}

/* V62：手机端「我的频道」整页防溢出。
   根因：.mc-t（列表标题）是 white-space:nowrap，多条长标题叠加使 .mc-list 的
   最小内容宽度远大于屏幕（实测 390px 屏幕上被撑到 739px），进而顶宽整个 .main。
   桌面端保留单行省略号；手机端改为最多两行 + 省略号，并给关键容器解锁收缩。 */
@media(max-width:900px){
  .mc-t{white-space:normal;overflow:hidden;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .mc-wrap>*,.mc-sec,.mc-list,.mc-list>li,.mc-a,.mc-bd{max-width:100%;min-width:0}
  .mc-src{max-width:120px}
  .mc-bd,.mc-a{min-width:0}
}

/* V44-fix：旧规则 .mc-list > li .mc-cat / .mc-hit 是绝对定位（右上/右下角），
   特异性 (0,2,1) 高于 .mc-meta .mc-cat (0,2,0)，导致品类标签与「相关」标签跑到卡片角落。
   这里用同等以上特异性 + 置于文件末尾来纠正，让二者回到信息行内。 */
.mc-list > li .mc-meta .mc-cat,
.mc-list > li .mc-meta .mc-hit{position:static;right:auto;bottom:auto;top:auto;
  left:auto;max-width:none}
.mc-list > li .mc-meta .mc-cat{font-size:11px;color:#4a6a92;background:#eef4fa;
  border-radius:3px;padding:1px 7px;pointer-events:none;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-list > li .mc-meta .mc-cat:empty{display:none}
.mc-list > li .mc-meta .mc-hit{font-size:11px;color:#0f9d58;background:#eafaf1;
  border-radius:3px;padding:1px 7px}
.mc-list > li .mc-meta .mc-hit:empty{display:none}

/* ==========================================================================
   V45：我的频道 —— 资讯内容上移，注册/兴趣相关收进小容器
   ========================================================================== */
/* 顶部工具条：标题 + 会员信息 + 筛选 + 计数 压成紧凑容器（原 312px → 约 116px） */
.mc-top{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px;
  padding:9px 13px;margin-bottom:9px;background:#fff;
  border:1px solid var(--line);border-radius:8px}

/* 标题块：只留「我的频道」+ 一行短说明，隐藏冗余的 role 条 */
.mc-top .leadbar{flex:1 1 220px;min-width:0;padding:0;margin:0;border:0;background:none}
.mc-top .leadbar h2{font-size:17px;margin:0 0 1px;padding:0}
.mc-top .leadbar p{font-size:11.5px;line-height:1.35;margin:0;color:var(--ink-3)}
.mc-top .leadbar .role{display:none}

/* 会员卡：收成一行小 chip（注册相关信息不再占大块） */
.mc-top .card.mc-user{flex:0 0 auto;margin:0;padding:0;border:0;background:none;box-shadow:none}
.mc-top .mc-user .body{padding:0}
.mc-top .mc-uinfo{gap:8px}
.mc-top .mc-av{width:30px;height:30px;flex:0 0 30px;font-size:13px}
.mc-top .mc-utx{gap:1px}
.mc-top .mc-utx b{font-size:13px}
.mc-top .mc-tag{font-size:10.5px;padding:1px 7px}
.mc-top .mc-utx em{display:none}
.mc-top .mc-uinfo .sidebtn{font-size:11.5px;padding:3px 9px;margin-left:2px}

/* 筛选条并入工具条 */
.mc-top .mc-filter{flex:1 1 100%;margin:0;padding:7px 11px;gap:8px}

/* 计数行：隐藏「为你推荐」标题，只保留计数（信息已在工具条表达） */
.mc-top .mc-hd{flex:1 1 100%;margin:0;gap:6px;font-size:12px;font-weight:500;
  color:var(--ink-3);letter-spacing:0}
.mc-top .mc-hd .hdt{display:none}
.mc-top .mc-hd .bar{display:none}

/* 品类分组：压成薄条 */
.mc-catlist{margin-bottom:9px;padding:7px 11px;gap:6px}

/* 兴趣点面板：默认折叠成一行，点标题展开（V45 小容器） */
.mc-focuscard.fold{margin-top:14px}
.mc-focuscard.fold .foc,
.mc-focuscard.fold .fbt{display:none}
.mc-focuscard .mcf-hd{cursor:pointer;user-select:none}
.mc-focuscard.fold .mcf-hd .more{display:none}
.mc-focuscard .mcf-arw{width:0;height:0;margin-left:2px;flex:0 0 auto;
  border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid var(--ink-3);transition:transform .2s}
.mc-focuscard.fold .mcf-hd .mcf-arw{transform:rotate(-90deg)}
.mc-focuscard.fold:hover{border-color:var(--blue)}

/* 资讯条目瘦身：同高度多显示 1~2 条 */
.mc-list > li .mc-a{padding:8px 0}
.mc-list > li:first-child .mc-a{padding-top:1px}
.mc-list .mc-thw,.mc-list .mc-th{flex:0 0 96px;width:96px;height:64px}
.mc-list > li .mc-t{font-size:14px;line-height:1.45}
@media(max-width:560px){
  .mc-top{padding:8px 10px;gap:6px 10px}
  .mc-top .leadbar{flex:1 1 100%}
  .mc-list .mc-thw,.mc-list .mc-th{flex:0 0 84px;width:84px;height:58px}
}

/* --------------------------------------------------------------------------
   V45b：第二轮收紧（工具条再减约 46px，品类条压薄）
   -------------------------------------------------------------------------- */
.mc-top{padding:7px 12px;gap:4px 12px;margin-bottom:7px}
.mc-top .leadbar h2{font-size:16px}
.mc-top .leadbar p{font-size:11px}
.mc-top .mc-filter{padding:5px 10px;gap:7px}
.mc-top .mcf-btn{padding:5px 11px;font-size:12.5px}
.mc-top .mcf-l{font-size:12px}
.mc-top .mc-hd{font-size:11.5px}
.mc-catlist{padding:5px 9px;margin-bottom:7px;gap:5px}
.mc-catlist .mcat{font-size:11px;padding:2px 8px;gap:4px}
.mc-catlist .mcat em{font-size:10px;padding:0 5px}
.mc-list > li .mc-a{padding:7px 0}
.mc-list > li:first-child .mc-a{padding-top:0}
.mc-list > li .mc-t{font-size:13.5px;line-height:1.4}
.mc-sec .ch{padding:9px 14px}

/* --------------------------------------------------------------------------
   V45c：核心修复
   -------------------------------------------------------------------------- */
/* 1) 旧规则 .mc-list li a{display:-webkit-box}（0,1,2）压过了 .mc-a{display:flex}
      （0,1,0），computed 落到 flow-root，导致缩略图与文字上下堆叠、条目 126px 高。
      这里用 (0,2,2) 特异性强制改回左右并排的 flex。 */
.mc-list > li a.mc-a{display:flex;flex-direction:row;align-items:flex-start;
  gap:11px;padding:7px 0;text-decoration:none;float:none;clear:none}
.mc-list > li a.mc-a > .mc-thw{flex:0 0 96px}
.mc-list > li a.mc-a > .mc-bd{flex:1 1 0%;min-width:0}

/* 2) 我的频道页：隐藏全站公告条与面包屑，把首屏让给资讯内容 */
body.memberonly .notice{display:none}
body.memberonly .crumb{display:none}
body.memberonly .main{padding-top:10px}

/* 3) 条目再瘦一圈 */
.mc-list > li a.mc-a{padding:6px 0}
.mc-list .mc-thw,.mc-list .mc-th{flex:0 0 92px;width:92px;height:62px}
.mc-list > li .mc-meta{margin-top:2px}

/* ==========================================================================
   V48b：列表条目概述行 —— 原「只有标题」的栏目补概述后需放开单行截断
   ========================================================================== */
.col-card ul li a,
.pol-col ul li a,
.txtlist li a{white-space:normal;text-overflow:clip}

.li-s{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:11.5px;color:#8b97a5;line-height:1.55;margin-top:3px;font-weight:400}
.col-card ul li a .li-s{font-size:11px;margin-top:2px}
.pol-col ul li a .li-s{margin-top:3px;color:#8b97a5}
.txtlist li .li-s{font-size:12px;color:var(--ink-3);margin-top:4px}
/* 概述为英文时同样收敛行数 */
html[data-lang="en"] .li-s{-webkit-line-clamp:3;font-size:11px}

/* ==========================================================================
   V48c：核心通道 —— 内容居左 + 文字加粗 + 企业入驻白字
   ========================================================================== */
.quick .qc{justify-content:flex-start;text-align:left;padding-left:18px;
  text-indent:0;letter-spacing:.5px;font-weight:800}
/* 覆盖 style.css:433 `.cta span{font-size:12px;color:var(--gray)}`，否则绿块是灰字 */
.quick .qc span,.quick .qc.cta span{color:#fff;font-weight:800;font-size:inherit;
  letter-spacing:inherit;text-indent:0}
.quick .qc.cta{color:#fff}
.quick .qc.cta:hover,.quick .qc:hover{color:#fff}
@media(max-width:768px){
  .quick .qc{padding-left:14px}
}

/* ==========================================================================
   V48e：注册页左右栏平均版面（原 440px vs 818px 严重不均）
   ========================================================================== */
.reg-simple .rs-card{flex:1 1 0;max-width:none}
.reg-simple .rs-side{flex:1 1 0;display:flex;flex-direction:column}
/* 右栏变窄后三卡 3 列会挤，改单列竖排，同时把右栏高度拉近左栏 */
.reg-simple .rs-plans{grid-template-columns:1fr;gap:8px}
.reg-simple .rs-side .rs-benefit{margin-bottom:18px}
.reg-simple .rs-side .rs-company{margin-top:auto}

/* ==========================================================================
   V48e：会员等级卡 —— auto-fit 在 962px 下挤成 3 列致第 4 张成孤儿，桌面固定 4 列
   ========================================================================== */
@media(min-width:1101px){
  .mlv-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ==========================================================================
   V48f：产业资源窄屏 —— res-wrap 两栏时「优质供应商」掉到第二行只占半幅，
          右侧整块留空；改为横跨整行。
   ========================================================================== */
@media(max-width:1240px){
  .res-wrap .res-side{grid-column:1 / -1}
  .res-wrap .res-side .pick{flex:0 0 auto}
}
@media(max-width:900px){
  .res-wrap .res-side{grid-column:auto}
}

/* ==========================================================================
   V49c：回退摘要（无 m 的板块）样式
   ========================================================================== */
/* 生态网络：摘要落在 .kw 里，覆盖「绿色药丸标签」样式，独占一行、灰色小字、2 行截断 */
.cp ul li .kw span.cp-sum{flex:1 1 100%;font-size:11.5px;color:#8b97a5;background:none;
  padding:0;border-radius:0;line-height:1.5;margin-top:2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 会议报道：摘要落在 .rtx i 内，原为单行无截断 */
.rlist .rtx i{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;line-height:1.5}

/* ==========================================================================
   V57：资讯 / 信息版块标题一律单行截断（用户 2026-10-14 要求）
   标题只占一行，超出显示 …；V48b 为概述行放开的换行就此收回，
   概述行 .li-s 自身仍保留换行与两行钳制。
   ========================================================================== */
.col-card ul li a,.pol-col ul li a,.txtlist li a{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.col-card ul li a .li-s,.pol-col ul li a .li-s,.txtlist li a .li-s{
  white-space:normal;text-overflow:clip}
/* 注：.rank .t 是 SPAN 且为 flex item，Chrome 会把 display:-webkit-box 计算成
   flow-root 而使 line-clamp 失效；故一律改用 nowrap + ellipsis 单行截断。
   V62：此规则只在 ≥901px 生效。nowrap 会把「最小内容宽度」顶到整行文字长度，
   手机端无法收缩，会把整页撑到 700~900px 宽（实测 390px 屏 → 739px）。
   手机端交给下方 @media(max-width:900px) 的「换行 + 最多两行」规则处理。 */
@media(min-width:901px){
  .col-card .mini .m .tt,.mc-t,.rank .t{
    display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* ==========================================================================
   V58：首页「产业资源」六大类目块改为靠左排列
   根因：style.css:225 `.et{text-align:center}` 基础规则把整块（含 ul 列表）居中，
   列表项因此参差不齐。此处用更高优先级覆盖为基础规则之外的靠左。
   ========================================================================== */
.res-wrap .res-3 .et,.res-wrap .res-3 .et .etx,
.res-wrap .res-3 .et .nm,.res-wrap .res-3 .et ul,.res-wrap .res-3 .et ul li{text-align:left}

/* ==========================================================================
   V58：首页「产业资源」六大类目块改为靠左排列
   根因：style.css:225 `.et{text-align:center}` 基础规则把整块（含 ul 列表）居中，
   列表项因此参差不齐。此处用更高优先级覆盖为基础规则之外的靠左。
   ========================================================================== */
.res-wrap .res-3 .et,.res-wrap .res-3 .et .etx,
.res-wrap .res-3 .et .nm,.res-wrap .res-3 .et ul,.res-wrap .res-3 .et ul li{text-align:left}

/* ==========================================================================
   V62：窄屏（手机 / 平板）全局适配
   根因：全站主容器 .wrap 写死 1220px，且此前没有任何窄屏媒体查询放宽它，
   导致手机打开任何栏目页都横向溢出（实测首页 825px / 会展页 876px / 会员页 739px）。
   ========================================================================== */
@media(max-width:1260px){
  .wrap{width:100%;padding-left:12px;padding-right:12px}
}
@media(max-width:900px){
  /* 标题类：no-wrap 顶宽字号会撑破布局，改为换行 + 最多两行 */
  .col-card .mini .m .tt,.mc-t,.rank .t{
    white-space:normal;overflow:hidden;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  /* 三栏及以上网格一律降为单列 */
  .ngrid,.ogrid,.pgrid,.egrid,.sgrid,.res-3,.rep-hot,.deal3,.membership,.svc-grid,
  .quick,.two-col,.ent-wrap,.data-wrap{flex-wrap:wrap}
  body{overflow-x:hidden}
}
@media(max-width:560px){
  .quick,.two-col,.ent-wrap,.data-wrap{grid-template-columns:1fr}
  .ogrid,.ngrid,.pgrid,.egrid,.sgrid,.rep-hot,.deal3{grid-template-columns:1fr}
}

/* ==========================================================================
   V62：窄屏（手机 / 平板）全局适配
   根因：全站主容器 .wrap 写死 1220px，且此前没有任何窄屏媒体查询放宽它，
   导致手机打开任何栏目页都横向溢出（实测首页 825px / 会展页 876px / 会员页 739px）。
   ========================================================================== */
@media(max-width:1260px){
  .wrap{width:100%;padding-left:12px;padding-right:12px}
}
@media(max-width:900px){
  /* 标题类：no-wrap 顶宽字号会撑破布局，改为换行 + 最多两行 */
  .col-card .mini .m .tt,.mc-t,.rank .t{
    white-space:normal;overflow:hidden;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  /* 三栏及以上网格一律降为单列 */
  .ngrid,.ogrid,.pgrid,.egrid,.sgrid,.res-3,.rep-hot,.deal3,.membership,.svc-grid,
  .quick,.two-col,.ent-wrap,.data-wrap{flex-wrap:wrap}
  body{overflow-x:hidden}
}
@media(max-width:560px){
  .quick,.two-col,.ent-wrap,.data-wrap{grid-template-columns:1fr}
  .ogrid,.ngrid,.pgrid,.egrid,.sgrid,.rep-hot,.deal3{grid-template-columns:1fr}
}

/* V62（续）：手机端统一放开「单行截断」
   V57/V60/V61 为做标题单行截断，给以下选择器加了 white-space:nowrap；
   nowrap 的最小内容宽度很宽，会把整个 .main / .col-l 顶宽，
   导致首页 652px、会展页 876px、供需撮合页 469px、产业数据页 525px 等横向溢出。
   手机端改为「换行 + 最多两行截断」（日期这类短文本仍保持不换行）。 */
@media(max-width:900px){
  .col-card ul li a,.pol-col ul li a,.txtlist li a,
  .col-card .mini .m .tt,.mc-t,.rank .t,
  .obody b,.abody b,.cp ul li .cptx a,.mc-bd,.nlist li a{
    white-space:normal;overflow:hidden;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .main,.col-l,.col-r,.card,.list,.pol-col,.col-card,.evdate,.dt{min-width:0;max-width:100%}
  .main{flex-wrap:wrap}
  .col-r,.col-l{flex:1 1 100%;width:100%}
}

/* V62（续）：手机端统一放开「单行截断」
   V57/V60/V61 为做标题单行截断，给以下选择器加了 white-space:nowrap；
   nowrap 的最小内容宽度很宽，会把整个 .main / .col-l 顶宽，
   导致首页 652px、会展页 876px、供需撮合页 469px、产业数据页 525px 等横向溢出。
   手机端改为「换行 + 最多两行截断」（日期这类短文本仍保持不换行）。 */
@media(max-width:900px){
  .col-card ul li a,.pol-col ul li a,.txtlist li a,
  .col-card .mini .m .tt,.mc-t,.rank .t,
  .obody b,.abody b,.cp ul li .cptx a,.mc-bd,.nlist li a{
    white-space:normal;overflow:hidden;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .main,.col-l,.col-r,.card,.list,.pol-col,.col-card,.evdate,.dt{min-width:0;max-width:100%}
  .main{flex-wrap:wrap}
  .col-r,.col-l{flex:1 1 100%;width:100%}
}

/* V62（续2）：产业数据表 / 政策列表的窄屏处理
   表格有天然的最小列宽，policy 的标题+日期是 nowrap 的 flex 行，二者都会顶宽页面。 */
@media(max-width:900px){
  table.tbl{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .pcol ul li a{flex-wrap:wrap;gap:4px}
  .pcol ul li a b{white-space:normal;min-width:0;flex:1 1 100%;
    overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

/* V62（续2）：产业数据表 / 政策列表的窄屏处理
   表格有天然的最小列宽，policy 的标题+日期是 nowrap 的 flex 行，二者都会顶宽页面。 */
@media(max-width:900px){
  table.tbl{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .pcol ul li a{flex-wrap:wrap;gap:4px}
  .pcol ul li a b{white-space:normal;min-width:0;flex:1 1 100%;
    overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

/* V62（续3）：企业/服务/视频等图文卡片的窄屏处理（.ebody b 等 nowrap 标题同上） */
@media(max-width:900px){
  .ecard,.scard,.tcard,.evcard,.ocard{max-width:100%;flex-wrap:wrap}
  .ebody,.sbody,.tbody,.evbody,.obody,.abody{min-width:0;max-width:100%}
  .ebody b,.sbody b,.tbody b,.evbody b,.ecard i,.scard i{
    white-space:normal;overflow:hidden;word-break:break-word;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .tblwrap{max-width:100%;overflow-x:auto}
}

/* V62（续3）：企业/服务/视频等图文卡片的窄屏处理（.ebody b 等 nowrap 标题同上） */
@media(max-width:900px){
  .ecard,.scard,.tcard,.evcard,.ocard{max-width:100%;flex-wrap:wrap}
  .ebody,.sbody,.tbody,.evbody,.obody,.abody{min-width:0;max-width:100%}
  .ebody b,.sbody b,.tbody b,.evbody b,.ecard i,.scard i{
    white-space:normal;overflow:hidden;word-break:break-word;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .tblwrap{max-width:100%;overflow-x:auto}
}

/* V62（续4）：长 URL / 无空格长串不断行会把页面撑宽（产业数据页实测撑到 422px）。
   窄屏统一允许任意位置断行。 */
@media(max-width:900px){
  p,div,span,td,th,li,a,b,i,em{overflow-wrap:anywhere;word-break:break-word}
}

/* V62（续4）：长 URL / 无空格长串不断行会把页面撑宽（产业数据页实测撑到 422px）。
   窄屏统一允许任意位置断行。 */
@media(max-width:900px){
  p,div,span,td,th,li,a,b,i,em{overflow-wrap:anywhere;word-break:break-word}
}

/* V62（续5）：表单页（入驻 / 报名 / 发布需求）在窄屏降为单列，
   避免多列表单网格的最小列宽顶宽页面（join.html 实测溢出 44px）。 */
@media(max-width:900px){
  form,.fgrid,.frow,.form-row,.sgform,.pay-wrap,.pay-main{max-width:100%;min-width:0}
  input,select,textarea,label.f,label.req{max-width:100%;min-width:0;box-sizing:border-box}
  .fgrid,.frow,.form-row,.sgform{display:block}
  label.req,label.f{width:100%}
}

/* V62（续5）：表单页（入驻 / 报名 / 发布需求）在窄屏降为单列，
   避免多列表单网格的最小列宽顶宽页面（join.html 实测溢出 44px）。 */
@media(max-width:900px){
  form,.fgrid,.frow,.form-row,.sgform,.pay-wrap,.pay-main{max-width:100%;min-width:0}
  input,select,textarea,label.f,label.req{max-width:100%;min-width:0;box-sizing:border-box}
  .fgrid,.frow,.form-row,.sgform{display:block}
  label.req,label.f{width:100%}
}


/* V70：数据服务卡片（配图版）在窄屏收窄图片宽度，避免挤掉文字 */
@media(max-width:560px){
  .dsvc.col .dsv{min-height:104px}
  .dsvc.col .dsv .dimg{flex:0 0 108px}
  .dsvc.col .dsv .dtx{padding:12px 14px;gap:4px}
  .dsvc.col .dsv .dtx b{font-size:14px}
  .dsvc.col .dsv .dtx>span{font-size:11.5px}
}

/* V74：风险预警条目用缩略图替代「高/中」标签（首页 .warn 与政策栏目页 .wlist 通用） */
.warn li,.wlist li{display:block}
.warn li a,.wlist li a{display:flex;gap:10px;align-items:flex-start;text-decoration:none;color:inherit}
.warn li a:hover .wtx b{color:var(--blue)}
.warn li .wimg,.wlist li .wimg{flex:0 0 96px}
.warn li .wimg img,.wlist li .wimg img{display:block;width:96px;height:60px;object-fit:cover;border-radius:3px}
.warn li .wtx,.wlist li .wtx{flex:1;min-width:0}
@media(max-width:560px){
  .warn li .wimg,.wlist li .wimg{flex:0 0 84px}
  .warn li .wimg img,.wlist li .wimg img{width:84px;height:54px}
}

/* V75：政策合规第四列（风险预警）紧凑化——字体更小、标题/概要单行截断、条间空白约 1 行高 */
.warn ul{justify-content:flex-start}
.warn li{padding:6px 0;font-size:11.5px;line-height:1.45}
.warn li .wimg{flex:0 0 82px}
.warn li .wimg img{width:82px;height:52px}
.warn li .wtx{min-width:0}
.warn li .wtx b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.warn li .wtx p{font-size:10.5px;line-height:1.4;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- V88：产业数据页重排（曲线入看板卡 · 口径拆行 · 数据服务入口横排） ---- */
/* 单一品类价格走势容器：置于看板卡 data-main 内（KPI 下方），空态隐藏；内嵌卡片去掉外边距 */
#dynCurve:empty{display:none}
#dynCurve{margin-top:12px}
#dynCurve .card{margin:0}
/* 图表模块口径行（拆行式口径释义） */
.cnote{margin:10px 16px 14px;font-size:11.5px;color:var(--ink-3);line-height:1.7}
/* 数据服务入口竖排（数据服务 / 全球数据 / 指数榜单）——V126 由横排三列改竖排单列 */
.dsvrow{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.dsvrow .dsv{border:1px solid var(--line-2);border-radius:3px;background:#fff;padding:12px 14px;
  display:flex;flex-direction:column;gap:4px;transition:.15s}
.dsvrow .dsv:hover{border-color:var(--blue);background:var(--blue-bg)}
.dsvrow .dsv b{font-size:14px;color:var(--navy)}
.dsvrow .dsv span{font-size:12px;color:var(--ink-3);line-height:1.6}
/* V117：首页「产业资源」板块图片改为上下居中（仅 .res-3 即产业资源，不影响其他 .et 区块） */
.res-3 .et{align-items:center}
/* ===== V116：首页「产业数据」板块压缩（仅首页，/data/ 栏目页不受影响）===== */
/* V124：随板块重排（左 3/4 + 右 1/4 等高），压缩规则对应新结构 */
.sec-data-home{margin:16px 0}
.sec-data-home .data-main{padding:6px 10px}
.sec-data-home .card{padding:7px 10px}
.sec-data-home #dcvMeta b{font-size:15px!important}
.sec-data-home #dcvMeta{line-height:1.15}
.sec-data-home #dynCurve{padding-top:2px}
.sec-data-home .cf-body{padding:6px 11px 0}
.sec-data-home .cf-row .card > h3 .more{font-size:9.5px;line-height:1.35;max-width:62%}
.sec-data-home .cf-row{gap:9px}
.sec-data-home .cf-left,.sec-data-home .cf-right{gap:9px}
.sec-data-home .cnote{font-size:10px;margin:3px 0 0;line-height:1.4}
.sec-data-home .cap-legend{font-size:10.5px;padding:1px 4px 3px;gap:8px}
.sec-data-home .cap-note{font-size:9.5px;margin-top:3px}
/* 环形图饱满填充：取消 104px 限制，按 3/4 宽列自适应放大（V129 300→340px，随中卡变高同步加大） */
/* V140：原 max-width:340px!important 把甜甜圈锁死在 340px，容器 513px 时上下各空 86px。改为按容器高度自适应（宽度仍不超容器）。 */
/* 保持 1:1 圆形：按容器宽高取小者，避免 viewBox 被拉成椭圆 */
.sec-data-home .donut-svg{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;aspect-ratio:1/1!important}
.sec-data-home .donut-box{justify-content:center;padding:0}
/* 顶部下拉框与 KPI 卡更紧凑 */
.sec-data-home .dprod.dp-sel-wrap{margin-bottom:7px}
.sec-data-home .dp{margin-bottom:5px}
.sec-data-home .dp .dch{margin-bottom:1px}
.sec-data-home .dp .dch b{font-size:13px}
.sec-data-home .dkpi.k4{gap:4px}
.sec-data-home .dkpi .k{padding:2px 5px}
.sec-data-home .dkpi .k b{font-size:12px}
.sec-data-home .dkpi .k i{font-size:9px;margin-bottom:0}
.sec-data-home .dkpi .k em{font-size:9px}
.sec-data-home .dkpi .k s{font-size:9px}
.sec-data-home .dp .dno{display:none}
/* 现货价格榜表 / 入口 / 免责声明更紧凑 */
.sec-data-home .dyn-rank-tbl th,.sec-data-home .dyn-rank-tbl td{padding:3px 7px;font-size:11px}
.sec-data-home .dyn-rank-tbl .rk-prod b{font-size:12px}
.sec-data-home .dyn-rank-tbl .rk-val{font-size:13px}
.sec-data-home .dsvrow{gap:9px;margin-top:9px}
.sec-data-home .dsvrow .dsv{padding:8px 11px}
.sec-data-home .dsvrow .dsv b{font-size:14px}
.sec-data-home .dsvrow .dsv > span{font-size:11px;line-height:1.4}
.sec-data-home .disline{font-size:10px;margin-top:5px}

/* ===== V124：产业数据板块新布局（首页与 /data/ 栏目页通用）===== */
/* 一行两栏：左 3/4（看板+全球格局），右 1/4（现货榜+三卡），等高 */
.cf-row.eq-row{display:flex;gap:14px;align-items:stretch}
/* V126：一行三列 —— 走势(3/8) ｜ 全球格局(3/8，居中) ｜ 现货榜(1/4 尺寸不变) */
.cf-left{flex:3 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}
.cf-mid{flex:3 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}
.cf-right{flex:2 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}
/* 右列：现货价格榜卡撑满剩余高度，三卡固定其下方 → 与左列等高 */
.cf-right .rank{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.cf-right .rank .dyn-rank{flex:1 1 auto;min-height:0}
.cf-right .dsvrow{margin-top:0;flex:0 0 auto}
/* 大号带色下拉框（品类切换：深蓝底白字加粗、显眼箭头） */
.dp-sel{appearance:none;-webkit-appearance:none;width:100%;max-width:360px;
  font-size:16px;font-weight:800;letter-spacing:.3px;
  padding:11px 40px 11px 16px;color:#fff;background:var(--navy);
  border:2px solid var(--blue);border-radius:8px;cursor:pointer;
  box-shadow:0 6px 16px rgba(21,96,173,.20);
  background-image:linear-gradient(45deg,transparent 50%,#fff 50%),
    linear-gradient(135deg,#fff 50%,transparent 50%);
  background-position:calc(100% - 22px) 50%,calc(100% - 15px) 50%;
  background-size:7px 7px,7px 7px;background-repeat:no-repeat}
.dp-sel:focus{outline:none;border-color:var(--blue)}
.dp-sel option{color:#1f2d3d;background:#fff;font-weight:700;font-size:15px}
.dprod.dp-sel-wrap{margin-bottom:14px}
/* 免责声明行（口径释义页「免责声明」块落位） */
.disline{margin-top:10px;font-size:11.5px;color:var(--ink-3);line-height:1.7}

/* ---- V91：我的频道侧栏收窄 + 会员专享详情页 20% 预览 / 升级提醒 ---- */
/* 会员中心侧栏（用户称“左边边栏”）收窄，缓解“太宽/太乱” */
body.memberonly .col-r.side{width:250px;flex:0 0 250px}
@media (max-width:900px){ body.memberonly .col-r.side{width:100%;flex:1 1 100%} }

/* 会员专享 / 付费详情页：非会员仅看约 20% 正文预览（限高 + 底部渐隐） */
.dt-body.gated:not(.open){
  max-height:9.5em;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent);
  mask-image:linear-gradient(to bottom,#000 62%,transparent);
}
.dt-body.gated.open{max-height:none;-webkit-mask-image:none;mask-image:none}

/* 升级提醒卡片（预览下方） */
.dt-upg{margin:16px 0 4px;padding:18px 20px;border:1px solid var(--line-2);
  border-radius:10px;background:linear-gradient(180deg,#f7faff,#eef4fb);text-align:center}
.dt-upg b{display:block;font-size:15px;color:var(--ink-1);margin-bottom:6px}
.dt-upg p{font-size:13px;color:var(--ink-3);margin:0 0 14px;line-height:1.7}
.dt-upg-b{display:inline-block;padding:9px 22px;background:var(--blue);color:#fff;
  border-radius:6px;font-size:14px;font-weight:600;text-decoration:none}
.dt-upg-b:hover{opacity:.92}

/* ==========================================================================
   V93：核心通道六格 —— 高度减半 + 字体统一居中 + 浅灰底（企业入驻保持绿色）
   用户要求：6 个字块改小一半；字体统一、居中；不用深蓝色改浅灰；最右「企业入驻」保留原绿色。
   ========================================================================== */
.quick .qc{height:27px;min-height:27px;justify-content:center;text-align:center;
  padding-left:0;padding-right:0;background:#eef1f5;color:var(--navy);
  font-size:12.5px;font-weight:600;letter-spacing:1px;text-indent:1px;
  box-shadow:none;border-radius:4px}
.quick .qc::after{display:none}
.quick .qc span,.quick .qc.cta span{color:inherit;font-weight:600;font-size:inherit;
  letter-spacing:inherit;text-indent:0}
.quick .qc:hover{background:#e2e7ee;color:var(--navy);transform:none;box-shadow:none}
.quick .qc.cta{background:linear-gradient(135deg,#0a8f4d 0%,#0f9d58 100%);color:#fff;
  font-size:12.5px;font-weight:600}
.quick .qc.cta:hover{background:linear-gradient(135deg,#0a8f4d 0%,#0f9d58 100%);
  color:#fff;transform:none;box-shadow:none}
html[lang="en"] .quick .qc{font-size:12.5px;letter-spacing:.5px;text-indent:0}
html[lang="en"] .quick .qc.cta{font-size:12.5px;font-weight:600}

/* ==========================================================================
   V100 供需撮合三列等高（2026-10-16）
   用户反馈：左右模块不等高、左下方大量空白。
   方案：覆盖 .deal-wrap 的 align-items:start → stretch，左两块 flex 拉伸铺满
   行高（行高由右栏 826px 决定）；条数 8→12 抬高左列自然高度，残余空隙落在
   卡片内部底部，不再出现卡外空白。
   ========================================================================== */
.deal-wrap{align-items:stretch}
.deal-wrap>.deal-block{display:flex;flex-direction:column}
.deal-wrap>.deal-block .dlist2{flex:1}
@media(max-width:768px){
  .quick .qc{height:26px;font-size:12px;padding-left:0}
}

/* ==========================================================================
   V94（修正作用域）：原误作用于 产业洞察/政策合规 次级页，现改为【首页】对应板块。
   用户本意是首页「产业洞察」「政策合规」板块：目录标签与资讯标题放大一号、概要隐藏；
   每栏排 10 条（build 侧 insight_block/policy_block 已改 [:10]）。
   仅作用于首页 .four-col（产业洞察）/ .pol-grid（政策合规），不影响次级页。
   概要 HTML 仍保留，仅 CSS 隐藏；以后要恢复，删除「概要隐藏」两段即可。
   ========================================================================== */
/* 目录标签放大 */
.four-col .col-card .ch h3{font-size:17.5px}
.pol-grid .pol-col .ph h3{font-size:17px}
/* 资讯标题放大 */
.four-col .col-card ul li a{font-size:14.5px}
/* 行距与政策合规对齐：去掉 space-between 的拉伸散开，固定 6px 行距 */
.four-col .col-card ul li{padding:6px 0}
.four-col .col-card .mini-pic .m .tt{font-size:14px}
.pol-grid .pol-col ul li a{font-size:14.5px}
/* 概要隐藏（以后要恢复概要，删除下面两行即可） */
.four-col .col-card ul li a .li-s{display:none}
.pol-grid .pol-col ul li a .li-s{display:none}

/* ==========================================================================
   V95：产业数据栏目页 —— 每日数据动态 / 月度指标 / 六大品类核心指标速览
   三个文字模块移到板块最下方，统一包进 .data-foot 色块（浅绿→浅蓝渐变），
   加高一倍（内边距翻倍）、字体放大（标题 17→19、表格 13→14.5）。
   #dynDaily 由 dyn-data.js 运行时注入两个 .card；六大品类为静态 .card.datablock。
   ========================================================================== */
/* V101：产业数据 · 每日数据动态 / 月度指标 / 六大品类核心指标速览 三模块改为下拉栏
   （hover 标题向下弹出内容；移动端默认展开）。原 V95 色块改为三个 .acc 折叠面板。 */
.data-foot{
  background:linear-gradient(135deg,#eaf5ef 0%,#e9f1f8 100%);
  border:1px solid #d4e6dc;border-radius:14px;
  padding:16px 14px 18px;margin-top:18px;
  display:flex;flex-direction:column;gap:12px}
.data-foot .acc{
  background:#fff;border:1px solid #e1ece6;border-radius:12px;
  box-shadow:0 2px 10px rgba(20,80,50,.06);overflow:hidden}
.data-foot .acc-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;cursor:pointer;user-select:none;
  background:linear-gradient(180deg,#f4f9ff,#eaf2fb);
  font-size:16px;font-weight:600;color:#0a3566}
.data-foot .acc-hd .acc-ar{
  flex:none;width:9px;height:9px;margin-right:6px;
  border-right:2px solid #6f86a3;border-bottom:2px solid #6f86a3;
  transform:rotate(45deg);transition:transform .25s ease}
.data-foot .acc-body{max-height:0;overflow:hidden;
  transition:max-height .32s ease;background:#fff}
.data-foot .acc.open .acc-body{max-height:2000px}
.data-foot .acc.open .acc-hd .acc-ar{transform:rotate(-135deg);border-color:#0a3566}
.data-foot .acc-body .card{margin:12px;border-radius:10px}
.data-foot .acc-body .card.datablock{border:1px solid #e1ece6}
/* 注入卡片（每日 / 月度）数据期小字 + 底部来源小字 */
.data-foot .acc-sub{padding:12px 18px 0;font-size:12.5px;color:#6f86a3}
.data-foot #dynDaily .card > div:last-child,
.data-foot #dynMonthly .card > div:last-child{font-size:12.5px !important}
/* 字体变大：表格字号各加一号（沿用 V95） */
.data-foot .tbl{font-size:14.5px}
.data-foot .tbl th,.data-foot .tbl td{padding:11px 12px;line-height:1.55}
.data-foot .tbl td b{font-size:14.5px}
/* 移动端兜底见文件末尾 V105 审计修复块（断点 760 → 900，对齐站点主断点） */

/* ==========================================================================
   V103：单一品类价格走势 —— 去掉区域/品类/指标三组下拉，改为「只读标签 + 数值」一行，
   品类由卡头六色块（.dprod .dpd）点击联动（app.js dgo → dynCurveSelect）。
   ========================================================================== */
.dcv-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 18px 6px}
.dcv-label{display:inline-flex;align-items:center;gap:7px;
  padding:6px 14px;border:1px solid #d7e4f0;border-radius:999px;
  background:#f3f8fd;font-size:13px;color:#4a5b6e}
.dcv-label b{font-size:13.5px;font-weight:600;color:#0a3566}
.dcv-label i{font-style:normal;color:#9db2c6}
/* V104：无逐日价的品类标注"单点参考"，避免被误读为连续走势 */
.dcv-label .dcv-note{font-style:normal;color:#a4700f;background:#fff6e5;
  border:1px solid #f2dfb8;border-radius:6px;padding:2px 8px;font-size:12px}
/* V109：多点曲线标注实际频率（如"月度数据 · 9 期"） */
.dcv-label .dcv-freq{font-style:normal;color:#5b6e85;background:#eef3f8;
  border:1px solid #d7e4f0;border-radius:6px;padding:2px 8px;font-size:12px}
.dcv-meta{margin-left:auto;display:inline-flex;align-items:baseline;gap:4px}
.dcv-meta small{font-size:12.5px}
.dcv-meta s{text-decoration:none}
.dcv #dcvSvg{padding:6px 18px 18px}

/* --- V103 修：英文态色块不重复显示两行英文 ---
   chip 的 <b> 内短名由 bilingualize() 自动出 .iz/.ie，<span> 是全大写 en 名；
   英文态下 .ie 已显示 short name，再显示全大写会变两行。英文态隐藏 <span>。 */
html[lang="en"] .dprod a.dpd span{display:none}

/* ==========================================================================
   V105：移动端贯通审计修复（2026-10-16 全量核查 V96—V104 后补齐）
   审计结论：站点主断点是 900px，而 V101 折叠面板兜底只写到 760px；
   iPad 768/820/844px 落在 761—900 区间，触摸端 :hover 不可靠 → 内容永久不可达。
   V103 的 .dcv-* 三个类则完全没有移动端规则，.dcv-label 为 inline-flex 默认 nowrap，
   窄屏会被撑破容器（中文约390px / 英文约620px，可用宽仅约247px）。
   ========================================================================== */
/* ① V101 折叠面板：兜底断点 760 → 900（对齐站点主断点，覆盖平板与手机横屏）。
   V118：改为「手动点击展开」，移动端与桌面端一致默认收起（点击标题才展开），
   故移除 hover 默认展开与移动端 max-height:none 常开；箭头常显作为可点提示。 */
@media (max-width:900px){
  .data-foot{padding:14px 12px 16px}
  .data-foot .acc-hd{cursor:pointer;padding:13px 14px;font-size:15px}
  .data-foot .acc-body .card{margin:10px}
  .data-foot .acc-sub{padding:10px 14px 0}
  .data-foot .tbl{font-size:13px}
  .data-foot .tbl th,.data-foot .tbl td{padding:9px 10px}
}
/* ② V103 曲线卡：标签必须允许换行，否则单点提示会把容器撑破 */
@media (max-width:900px){
  .dcv-bar{gap:8px;padding:12px 12px 4px}
  .dcv-label{flex-wrap:wrap;row-gap:4px;max-width:100%;padding:6px 11px}
  .dcv-label .dcv-note{flex:1 1 100%;text-align:center}
  .dcv-meta{margin-left:0;flex-wrap:wrap;row-gap:2px}
  .dcv-meta b{font-size:19px !important}
  .dcv #dcvSvg{padding:6px 12px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* 坐标轴文字在窄屏会被整体缩放到约 3.8px，改为最小宽度 + 横向滚动 */
  .dcv #dcvSvg svg{min-width:560px}
  /* 卡头标题与副标题窄屏改为上下堆叠，避免标题被挤成竖排单字 */
  .card.dcv > h3{flex-wrap:wrap;align-items:flex-start;row-gap:2px}
  .card.dcv > h3 > span:first-of-type{flex:1 1 100%}
  .card.dcv > h3 > span.more{flex:1 1 100%;margin-left:0}
}
/* ③ V93/V97 六格通道：补 CTA 与英文态字号覆盖（原媒体查询未覆盖这两条，英文态失效） */
@media (max-width:768px){
  .quick .qc.cta,
  html[lang="en"] .quick .qc,
  html[lang="en"] .quick .qc.cta{height:26px;font-size:12px;letter-spacing:.5px;text-indent:0}
}
/* ④ V94 产业洞察四栏：窄屏单列仍用放大字号会挤成两行，按窄屏降一级 */
@media (max-width:768px){
  .four-col .col-card .ch h3{font-size:16px}
  .four-col .col-card ul li a{font-size:13.5px}
  .four-col .col-card ul li .dt{font-size:13.5px!important}
  .four-col .col-card .mini-pic .m .tt{font-size:13px}
}

/* ===== V110：产业数据三大模块（数据驱动图表） ===== */
.cap-legend{display:flex;gap:14px;align-items:center;padding:2px 4px 8px;font-size:12px;color:#5b6e85;flex-wrap:wrap}
.cap-legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.cap-legend .cap-unit{margin-left:auto;color:#9aa0a6}
.cap-note{padding:4px 2px 10px;font-size:11.5px;color:#9aa0a6}
.region-wrap{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
.region-col{flex:1;min-width:240px}
.pshare-row{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:12px;color:#3a4a5e}
.pshare-name{flex:0 0 86px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pshare-bar{flex:1;height:10px;background:#eef0f2;border-radius:6px;overflow:hidden;min-width:40px}
.pshare-bar i{display:block;height:100%;border-radius:6px}
.pshare-val{flex:0 0 auto;color:#5b6e85;font-weight:600;white-space:nowrap}
.pshare-val small{color:#9aa0a6;font-weight:400}
@media (max-width:900px){
  .pshare-name{flex-basis:72px;font-size:11px}
  .region-col{min-width:200px}
}

/* ===== V112：产业数据四大模块统一美化（产能 / 格局 / 速览 / 现货榜） =====
   目标：四个数据驱动模块视觉一致、卡片化、移动端不溢出。 */
/* ① 产能与价格走势：柱状图内卡化 + 居中，图注居中 */
.dyn-capacity{display:block}
.dyn-capacity > svg{max-width:780px;margin:0 auto;display:block;
  background:linear-gradient(180deg,#ffffff,#f7fafd);border:1px solid var(--line-2);
  border-radius:8px;padding:12px}
.dyn-capacity .cap-legend{justify-content:center;font-size:12.5px;padding-top:8px}
.dyn-capacity .cap-note{text-align:center}

/* ② 全球格局与贸易流向：region-col 卡片化，甜甜圈居中 */
.dyn-region .region-wrap{gap:14px}
.dyn-region .region-col{border:1px solid var(--line);border-radius:8px;
  padding:14px 16px 12px;background:#fff;box-shadow:0 1px 2px rgba(40,60,90,.04)}
.dyn-region .region-col > div[style*="text-align:center"]{font-size:13px}
.dyn-region .pshare-bar i{border-radius:6px}
.dyn-region .cap-legend{justify-content:center}

/* ③ 六大品类核心指标速览：表格与现货榜风格统一 */
.dyn-overview .tbl{font-size:13.5px}
.dyn-overview .tbl th{background:#f5f8fb;color:var(--ink-2);font-weight:700;
  font-size:12.5px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.dyn-overview .tbl td,.dyn-overview .tbl th{padding:10px 12px;border-bottom:1px solid var(--line-2)}
.dyn-overview .tbl tbody tr:hover{background:#f9fbfd}
.dyn-overview .tbl td:first-child b{color:var(--navy);font-size:14px}
.dyn-overview .tbl td b{font-weight:700;color:var(--ink)}
.dyn-overview > .card{box-shadow:0 1px 3px rgba(40,60,90,.05)}

/* ④ 现货价格榜：标题与数值层级已在 .dyn-rank-tbl 定义，这里补移动端横向滚动 */
.dyn-rank .rk-scroll,.dyn-rank-full .rk-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dyn-rank .rk-scroll > .dyn-rank-tbl,.dyn-rank-full .rk-scroll > .dyn-rank-tbl{min-width:520px}

@media (max-width:900px){
  .dyn-capacity > svg{height:auto}
  .dyn-region .region-col{min-width:100%}
  .dyn-overview .tbl{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .dyn-overview .tbl thead,.dyn-overview .tbl tbody{display:table;width:100%}
  .rkf-ctl{font-size:12.5px}
  .rkf-size{padding:4px 11px}
}

/* ===== V122：紧凑两栏（左：全球格局 ｜ 右：产能走势 + 品类结构 上下叠）=====
   V120 的对半方案会让矮的一侧留大片空白，改为：左栏固定 46%，右栏吃剩余；
   甜甜圈在左卡内放大并纵向居中，右列两张卡自然高度、末卡吃余量，避免空地。 */
/* 基础尺寸（非两栏版式沿用原 220px；V122 把内联 max-width 移除，统一由 CSS 控制） */
.dyn-region .donut-svg{display:block;margin:0 auto;max-width:220px;width:100%;height:auto}
.cf-row{display:flex;gap:14px;align-items:stretch}
.cf-main{flex:0 0 46%;min-width:0;display:flex;flex-direction:column}
.cf-side{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}
.cf-side > .card{flex:0 0 auto;display:flex;flex-direction:column;min-width:0}
.cf-side > .card:last-child{flex:1 1 auto;min-height:0}
.cf-body{padding:14px 16px 0;flex:1 1 auto;display:flex;flex-direction:column;min-width:0}
.cf-body > .dyn-capacity,.cf-body > .dyn-region,.cf-body > .dyn-prodshare{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}
/* 外层 .card 已提供边框，内层 region-col 不再重复卡片化 */
.cf-row .dyn-region .region-col,.cf-row .dyn-prodshare .region-col{border:0;background:transparent;box-shadow:none;padding:0;min-width:0;width:100%}
/* 甜甜圈：撑满左卡可用高度（SVG 保持 1:1，按短边自适应），不留大片空白 */
.cf-row .donut-box{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;padding:2px 0}
.cf-row .donut-svg{width:100%;height:100%;max-width:100%;max-height:100%;display:block;margin:0 auto}
/* 各品类结构：行本身等分撑满卡片余量（不能只靠 space-between：行自带 8px 外边距，
   空间不足时会顶出卡片把最后一行切掉，V122 实测踩到） */
.cf-row .dyn-prodshare{justify-content:flex-start}
.cf-row .dyn-prodshare .pshare-row{margin:0;flex:1 1 auto;min-height:19px}
.cf-row .dyn-prodshare .pshare-bar{height:11px}
/* 末卡无 cnote 收尾，补下内边距，避免最后一行贴住卡片底边 */
.cf-side > .card:last-child .cf-body{padding-bottom:14px}
@media (min-width:901px){
  /* 双栏时横向空间充足，品类名列放宽；英文名较长允许折两行，不用省略号 */
  .cf-row .dyn-prodshare .pshare-name{flex-basis:118px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
}
@media (max-width:900px){
  .cf-row{flex-direction:column}
  .cf-main,.cf-side,.cf-left,.cf-mid,.cf-right{flex:1 1 auto;width:100%}
  .cf-row .donut-box{padding:0}
  .cf-row .donut-svg{max-width:280px;width:100%;height:auto;max-height:none}
  .cf-row .dyn-prodshare .pshare-row{flex:0 0 auto;margin:8px 0;min-height:0}
  .cf-row .dyn-prodshare .pshare-name{flex-basis:88px}
  /* 窄屏卡头：来源副标题换到第二行，避免主标题被挤成竖排单字（同 .card.dcv 的处理） */
  .cf-row .card > h3{flex-wrap:wrap;align-items:flex-start;row-gap:2px}
  .cf-row .card > h3 .more{flex:1 1 100%;margin-left:0;text-align:left}
}

/* ==========================================================================
   V113：首页「供需撮合 / 产业资源 / 会议会展 / 生态网络」四模块字体放大一级
   （沿用 V94 产业洞察 / 政策合规 的规则：目录标签 + 资讯标题各放大一号，
    与昨日已放大的产业洞察 / 政策合规保持视觉一致；仅作用于首页对应板块容器，
    不影响次级页。另含头条右侧「更多头条」资讯标题放大一级）
   ========================================================================== */
/* —— 供需撮合 .deal-block —— */
.deal-block .db-hd h3{font-size:17px}                  /* 目录标签 15→17 */
.deal-block .dlist2 li b{font-size:14.5px;font-weight:700}  /* 资讯标题 13→14.5 */
/* —— 产业资源 .res-* —— */
.res-hd b{font-size:17px}                              /* 目录标签 15→17 */
.res-3 .et .nm{font-size:15px}                         /* 类目标签 13.5→15 */
.res-3 .et ul.marquee li a{font-size:14px}             /* 企业名称 12.5→14 */
.res-side .pick .ph{font-size:15.5px}                  /* 侧栏标题 14→15.5 */
.res-side .pick li .info b{font-size:14.5px}           /* 供应商名 13→14.5 */
/* —— 会议会展 .mq —— */
.mq .mh{font-size:16.5px}                              /* 目录标签 14.5→16.5 */
.mqlist li .mtx a{font-size:14.5px}                    /* 会议标题 13→14.5 */
.mq.rep .rlist .rtx b{font-size:15.5px}               /* 报道标题 14→15.5 */
/* —— 生态网络 .cp —— */
.cp .ch{font-size:16.5px}                             /* 目录标签 14.5→16.5 */
.cp ul li .cptx a{font-size:14.5px}                    /* 合作标题 放大 */
/* —— 头条右侧资讯标题放大一级（与 V94 资讯标题一致） —— */
.hl-right .card ul li a{font-size:14.5px;line-height:1.55}
/* 头条右栏「更多 ›」链接同步放大（原 11.5px 过小，2026-10-17 用户反馈） */
.hl-rh a{font-size:14.5px;font-weight:600;color:var(--ink-2)}
.hl-rh a:hover{color:var(--blue)}

/* V113 移动端：放大字号在窄屏单列会挤成两行，按窄屏降一级 */
@media (max-width:900px){
  .deal-block .db-hd h3,.res-hd b{font-size:16px}
  .deal-block .dlist2 li b,
  .mqlist li .mtx a,
  .cp ul li .cptx a,
  .res-side .pick li .info b{font-size:13.5px}
  .res-3 .et .nm{font-size:14px}
  .res-3 .et ul.marquee li a{font-size:13px}
  .res-side .pick .ph{font-size:14.5px}
  .mq .mh,.cp .ch{font-size:15px}
  .mq.rep .rlist .rtx b{font-size:14px}
  .hl-right .card ul li a{font-size:13.5px;line-height:1.5}
  .hl-rh a{font-size:13.5px}
}

/* ==========================================================================
   V113b：修复双语化误伤（2026-10-17，用户发现商务服务四模块标题过小）
   标题文本被 .iz/.ie 包裹进 <b> 后，被同容器「英文小字 span」规则命中：
   · 商务服务四模块标题：应为 20px/800 深蓝，实显 10px 灰（.svc4 .svc-hd span 误伤）
   · 产业资源两组栏头：应为 17px/800 深蓝，实显 10px 灰（.res-hd span 误伤）
   · 供需商机标题：应为 14.5px/700，实显 11.5px 灰且 hover 失效（.dlist2 li span 误伤）
   修复：b 内 .iz/.ie 恢复继承 b 本身的字号/颜色；英文小字规则本身不动。
   ========================================================================== */
.svc4 .svc-hd b .iz,.svc4 .svc-hd b .ie{font-size:inherit;color:inherit;letter-spacing:0}
.res-hd b .iz,.res-hd b .ie{font-size:inherit;color:inherit;letter-spacing:0}
.deal-block .dlist2 li b .iz,.deal-block .dlist2 li b .ie{font-size:inherit;color:inherit;margin-top:0}

/* ==========================================================================
   V114（2026-10-17）：产业数据三个折叠面板（每日数据动态 / 月度指标 / 六大品类核心指标速览）
   从板块底部整条大色块移入右栏「现货价格榜」下方空位（.data-side 内、rank 之后），
   并整体紧凑化（变短）：标题 16→14px、表格压缩到 13px、内边距/间距收紧。
   ★ 表格必须带 !important：V94 全站字体放大块（.tbl,.tbl td,.tbl th → 16px !important）
     会压过一切普通规则，右栏窄列 336px 放 16px 多列表格不可用；
     13px 与移动端 .data-foot .tbl 既有取值一致（数据表辅助信息，不属正文阅读放大范围）。
   ========================================================================== */
.data-side .data-foot{padding:12px 10px 14px;margin-top:0;gap:10px;border-radius:12px}
.data-side .data-foot .acc-hd{padding:11px 14px;font-size:14px}
.data-side .data-foot .acc-body .card{margin:8px;border-radius:8px}
.data-side .data-foot .acc-sub{padding:8px 12px 0;font-size:11.5px}
.data-side .data-foot .acc-body .card > div{overflow-x:auto}
.data-side .data-foot .tbl{font-size:13px !important}
.data-side .data-foot .tbl th,.data-side .data-foot .tbl td{padding:7px 8px;line-height:1.45;font-size:13px !important}
.data-side .data-foot .tbl td b{font-size:13px !important}
.data-side .data-foot #dynDaily .card > div:last-child,
.data-side .data-foot #dynMonthly .card > div:last-child{font-size:11.5px !important}
/* 移动端（≤900px）：data-wrap 已单列、data-side 全宽，表格字号与桌面一致，仅放宽内边距 */
@media (max-width:900px){
  .data-side .data-foot{padding:14px 12px 16px;gap:12px}
  .data-side .data-foot .acc-hd{padding:13px 14px;font-size:15px}
  .data-side .data-foot .tbl th,.data-side .data-foot .tbl td{padding:9px 10px}
}

/* ==========================================================================
   V115（2026-10-17）：数据服务 / 全球数据 / 指数榜单 三入口卡放大
   用户要求：整体调高约 50% + 容器内字体加大 + 底色协调。
   底色取与右栏折叠面板（.data-foot 浅绿→浅蓝渐变）同系的淡雅渐变，视觉成组。
   ★ 双语陷阱规避：标题 b 内含 .iz/.ie、描述 span 内也含 .iz/.ie，
   字号一律用「直接子代」选择器（> span / b .iz inherit），避免全局 span 规则误伤标题。
   ★ 带 !important 防既有全局规则覆盖（用户反馈此前多次调整未生效）。
   ========================================================================== */
.dsvrow{gap:14px;margin-top:16px}
.dsvrow .dsv{
  border:1px solid #d8e8de;border-radius:10px;
  background:linear-gradient(135deg,#f0f8f4 0%,#ecf3fb 100%);
  padding:21px 24px;gap:7px;
  box-shadow:0 2px 10px rgba(20,80,50,.05);transition:.15s}
.dsvrow .dsv:hover{border-color:#7fa8c9;
  background:linear-gradient(135deg,#e8f5ee 0%,#e3eef9 100%)}
.dsvrow .dsv b{font-size:18px !important;color:#0a3566;line-height:1.3}
.dsvrow .dsv b .iz,.dsvrow .dsv b .ie{font-size:inherit !important;color:inherit !important}
.dsvrow .dsv > span{font-size:14.5px !important;color:#5b6e85;line-height:1.65}
.dsvrow .dsv span .iz,.dsvrow .dsv span .ie{font-size:inherit !important;color:inherit !important}
/* 移动端：单列堆叠 + 字号微降 */
@media (max-width:900px){
  .dsvrow{grid-template-columns:1fr;gap:10px}
  .dsvrow .dsv{padding:16px 18px}
  .dsvrow .dsv b{font-size:16.5px !important}
  .dsvrow .dsv > span{font-size:13.5px !important}
}

/* ===== V126：产业数据一行三列（走势 3/8 ｜ 全球格局 3/8 ｜ 现货榜 1/4）+ 三小卡竖排 =====
   走势与全球格局两卡同宽（各 3/8，较原 3/4 减半才能排下）；现货榜 1/4 尺寸不变；
   数据服务/全球数据/指数榜单 三卡改纵向单列（.dsvrow 基础规则已同步改 1fr）。 */
/* 看板卡缩窄后，四个 KPI 小框由一行四列改两行两列，避免数字与涨跌幅挤压 */
.cf-left .dkpi.k4{grid-template-columns:1fr 1fr;gap:8px}
.cf-left .dkpi .k b{font-size:15.5px}
/* 全球格局卡在 3/8 宽度下环形图上限微调（.sec-data-home 仅首页，/data/ 走 .cf-row 通用规则） */
.sec-data-home .cf-mid{gap:9px}

/* ===== V129：产业数据三列底端对齐 + 图表增高 + 品类下拉框缩小（2026-10-19） ===== */
/* 右列（现货榜+三卡）最高、决定行高；左/中两卡撑满行高使底端对齐 */
.cf-left > .card, .cf-mid > .card{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
/* 左卡内部纵向展开：看板主体与走势卡吃掉余量 */
.cf-left .data-main.db-main{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.cf-left #dynCurve{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.cf-left #dynCurve .card{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.cf-left #dcvSvg{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center}
/* 中卡：环形图随卡变高（donut-box/cf-body 已有 flex 链） */
/* 品类下拉框缩小约一半（高约 47px→25px） */
.dp-sel{font-size:12.5px;padding:3px 32px 3px 12px;border-radius:6px;
  box-shadow:0 3px 8px rgba(21,96,173,.18)}
.dp-sel option{font-size:12.5px}

/* ===== V130：全站日期数字等宽统一（修复"日期字体不统一"观感） =====
   根因：苹方/雅黑的数字是比例宽度（"1"窄、"0/9"宽），同一列表里
   10-11(≈35px) 与 09-29(≈44px) 宽差达 25%，且两字体均无 tnum 特性，
   font-variant-numeric 无效。方案：日期元素改西文优先字体栈
   （Helvetica Neue/Arial 数字天然等宽），中文字符自动回退雅黑/苹方。 */
.dt, .notice .roll li .d, .quick .q .d, .ocard .f .d,
.dt-rel li em, .dt-meta, .dt-meta .dt-cat,
.mini .md, .col-card .mini-pic .m .md,
.list .meta span, .kpi .dt, .mqlist li .md, .evcard .dt{
  font-family:"Helvetica Neue",Arial,"Microsoft YaHei","PingFang SC",sans-serif;
  font-variant-numeric:tabular-nums;
}

/* ===== V132：列表分页条（头条资讯全集等长列表） ===== */
.pg-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:16px 4px 2px;margin-top:4px;border-top:1px dashed var(--line-2)}
.pg-bar[hidden]{display:none}
.pg-size,.pg-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}
.pg-size .lb{margin-right:1px}
.pg-bar button{min-width:32px;height:29px;padding:0 9px;border:1px solid var(--line-2);background:#fff;border-radius:3px;color:var(--ink-2);font-size:12.5px;line-height:1;font-family:inherit;cursor:pointer}
.pg-bar button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.pg-bar button.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.pg-bar button:disabled{opacity:.42;cursor:not-allowed;background:#f6f8fa}
.pg-pages{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pg-gap{padding:0 3px;color:var(--ink-3)}
.pg-total{font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.pg-total b{color:var(--navy);font-weight:700}
@media(max-width:900px){
  .pg-bar{flex-direction:column;align-items:flex-start;gap:9px}
  .pg-size,.pg-nav{width:100%}
  .pg-bar button{height:32px;min-width:34px}
}

/* ===== V135：线图放大 50% + 上下留白放宽 + 坐标数字更清晰 =====
   根因修复：SVG 用 preserveAspectRatio="xMidYMid meet" 时，高度受容器约束会等比缩小
   （viewBox 680×306 在 381px 宽容器里只渲染到 155px 高，等于没放大）。
   故改为按高度撑满、宽度自适应：容器给 min-height，svg 用 width:auto;height:100%。 */
/* 用 aspect-ratio 锁定比例：宽度撑满容器，高度按 viewBox 比例自动算出，
   不再依赖 height:100%（父容器无确定高度时该值会失效）。 */
.dcv #dcvSvg{display:block;padding:10px 18px 22px}
.dcv #dcvSvg svg{width:100%;height:auto;display:block}
.dcv-bar{padding-bottom:2px}
.sec-data-home #dynCurve{padding-top:8px}
.sec-data-home .dcv #dcvSvg{padding:12px 18px 22px}
/* 首页：曲线卡不再被 flex 压扁，保留放大后的自然高度 */
.sec-data-home .cf-left #dcvSvg{flex:0 0 auto;display:block;align-items:stretch;justify-content:flex-start}
/* V129 的三列底端对齐依赖 flex:1 拉伸，这里为左列留出最小高度保证对齐仍成立 */
.sec-data-home .cf-left #dynCurve .card{flex:0 1 auto}

.dcv-bar{padding-bottom:2px}
.sec-data-home #dynCurve{padding-top:8px}
.sec-data-home .dcv #dcvSvg{padding:12px 18px 24px}

/* ===== V136：英文版头条右侧列表溢出压住下方板块 =====
   根因：.hl-right .card 写死 height:322px，而英文标题（中英并列，行数翻倍）
   使 ul 内容自然高可达 423px，溢出 101px 直接压在「产业洞察」板块标题上。
   修复：英文态改为高度自适应 + 溢出裁剪 + 条目行数收敛；中文态保持 322px 不变。 */
html[lang="en"] .hl-right .card{height:auto;min-height:322px;max-height:none}
html[lang="en"] .hl-right .card ul{flex:0 0 auto;overflow:hidden}
/* 英文态收紧行高与间距，7 条仍能容下；标题超 2 行截断，避免再次撑高 */
html[lang="en"] .hl-right .card ul li{padding:5px 0;line-height:1.42}
html[lang="en"] .hl-right .card ul li a{line-height:1.42}
html[lang="en"] .hl-right .card ul li a .ie,
html[lang="en"] .hl-right .card ul li a .iz{display:block;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
/* 标题（中英拼接的纯文本，最多两行后省略）——必须作用在 a 本身：
   li > a 的内容是纯文本节点，没有 span 子元素，选 span 无效。 */
html[lang="en"] .hl-right .card ul li a{display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden}
/* 兜底：任何语言下都不允许头条卡片内容溢出到下一板块 */
.hl-right .card ul{max-height:none;overflow:hidden}
/* 窄屏兜底：英文态放开 height:auto 后 grid 列可能撑出容器，
   这里强制单列 + 子元素 min-width:0，避免整页横向溢出 422px。 */
@media(max-width:1240px){
  html[lang="en"] .hl-wrap{grid-template-columns:minmax(0,1fr)}
  html[lang="en"] .hl-left,html[lang="en"] .hl-right{min-width:0}
  html[lang="en"] .hl-box,html[lang="en"] .hl-slide{min-width:0;max-width:100%}
}
@media(max-width:900px){
  html[lang="en"] .hl-right .card{height:auto}
  html[lang="en"] .hl-right .card ul li{padding:7px 0}
}

/* ===== V137：视频栏目「只显示 4 个」+ 手机端列数 + 英文溢出 =====
   ① 根因一：第 845 行 .video-grid{repeat(4,minmax(0,1fr))} 写在第 789 行
      @media(max-width:900px){.video-grid{1fr 1fr}} 之后，同优先级、位置更靠后
      → 手机端媒体查询被覆盖，实测 390px 仍是 4 列（卡片被压扁）。
   ② 根因二：视频共 5 条，桌面 4 列排成 4+1，第二行只有 1 个，
      视觉上就像「只显示 4 个」。改为自适应列数（auto-fit）按容器宽度排布。
   ③ 英文态标题较长，.video 的 vt/vm 需要 min-width:0 才能正常省略，
      否则英文桌面横向溢出 99px。 */
.video-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.video-grid>*{min-width:0}
.video-grid .video .vt{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.video-grid .video .vm{overflow:hidden}
.video-grid .video .vm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1240px){
  .video-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media(max-width:900px){
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:560px){
  .video-grid{grid-template-columns:minmax(0,1fr);gap:14px}
}

/* ===== V169：视频保持**并排**（不再压成 1 列竖排）=====
   用户反馈（2026-10-20）：「产业视界」视频在窄屏下上下堆叠、右侧大片留白。
   改为 560px 以下仍保持 2 列（视频卡本身较矮，2 列可读），仅 ≤420px 才 1 列。 */
@media(max-width:560px){
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .video-grid .video .cov{height:104px}
  .video-grid .video .vt{padding:9px 10px;font-size:12.5px}
  .video-grid .video .vm{padding:0 10px 10px;font-size:11px}
}
@media(max-width:420px){
  .video-grid{grid-template-columns:minmax(0,1fr)}
}

/* ===== V169c：视频卡内的 grid 宽度被 .card 内边距挤窄，2 列时每列不足 220px，
   auto-fill 会退化成 1 列。显式给 2 列并允许更窄的卡片宽度。 ===== */
@media(max-width:900px){
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .video-grid .video .cov{height:96px}
  .video-grid .video .vt{padding:8px 9px;font-size:12px}
  .video-grid .video .vm{padding:0 9px 9px;font-size:10.5px}
  .video-grid .video .cov .play i{width:36px;height:36px}
  .video-grid .video .cov .tag{font-size:9.5px;padding:1px 6px}
  .video-grid .video .cov .dur{font-size:9.5px;padding:1px 4px}
}
@media(max-width:420px){
  .video-grid{grid-template-columns:minmax(0,1fr)!important}
  .video-grid .video .cov{height:138px}
  .video-grid .video .vt{padding:11px 13px;font-size:13.5px}
  .video-grid .video .vm{padding:0 13px 12px;font-size:11.5px}
  .video-grid .video .cov .play i{width:46px;height:46px}
}

/* ===== V169b：.main 内**只有 .col-l 一个子元素**的整行页（如「产业视界」栏目页）
   应占满整行宽度。此前 .main 是 flex、.col-l 为 flex:1 1 0%，在没有 .col-r
   兄弟的情况下仍只拿到约 62% 宽度，右侧留大片空白。
   用 :only-child 让它撑满；宽度不写死，避免与 .main 的 padding 冲突。 */
.main > .col-l:only-child{flex:1 1 100%;width:100%}

/* ===== V138：英文导航下拉溢出 + 视频栏目列数收敛 =====
   ① 溢出元凶不是视频卡，而是导航下拉 .drop.wide：min-width:262px 但无 max-width，
      英文长文案把面板撑到 560px，右边缘超出视口 99px（首页英文态同样会横向溢出）。
      改为 max-width 限死 + 内部条目省略号。
   ② 视频 5 条用 auto-fill(230px) 在 1220px 容器会排成 5 列，卡片偏窄；
      视频封面是横图，改用 repeat(auto-fill,minmax(280px,1fr)) 得到 4 列，
      5 条时排成 4+1 但首屏完整；配合 auto-fit 在更窄容器自动降列。 */
/* 关键：.drop a 是 display:flex 的 flex 项，默认 min-width:auto 不肯收缩，
   英文长文案会把面板整体撑宽（实测 560px）。必须逐层 min-width:0 才能真正截断。 */
.drop{min-width:210px;max-width:min(520px,calc(100vw - 40px));overflow:hidden}
.drop.wide{min-width:262px;max-width:min(520px,calc(100vw - 40px))}
.drop .grp{min-width:0;max-width:100%}
.drop .grp a{min-width:0;max-width:100%;overflow:hidden}
.drop .grp a>span{min-width:0;max-width:100%;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;display:block}
.drop .gt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.video-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr))}
@media(max-width:1240px){
  .video-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
}

/* ===== V138b：英文导航栏整体溢出 =====
   英文导航项多且 a 为 white-space:nowrap，.nav .item 作为 flex 项默认
   min-width:auto 不肯收缩，整条导航比 .wrap 宽 → 页面横向溢出 99px。
   让导航项可收缩并对英文文案做省略，中文态完全不受影响。 */
.nav .item{min-width:0}
.nav .item>a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav .item.committee{flex:0 0 208px;min-width:0}
html[lang="en"] .nav .item.committee{flex:0 0 208px}
@media(max-width:1240px){
  html[lang="en"] .nav .item>a{font-size:13px;padding:0 4px}
  html[lang="en"] .nav .item.committee{flex:0 0 150px}
}

/* ===== V140：产业数据三列 —— 消除「全球格局」「现货价格榜」底部留空 =====
   现象：V135 把左侧线图加高后整行变高，但
     · 右列 .dyn-rank 容器 366px、内部表格仅 240px → 空 127px
     · 中列甜甜圈有 max-height 限制，同样撑不满
   → 三列底端虽然对齐，但中/右两列内容没填满，视觉上大片空白。
   做法：不再靠「加高左列」撑出行高，而是让三列内容各自撑满自己的轨道：
     ① 榜单表格行高随容器拉伸（tbody tr 高度自适应），6 行铺满 366px；
     ② 甜甜圈去掉 max-height 上限，SVG 按容器高度自适应放大；
     ③ 三列卡片的 body 用 flex:1 + min-height:0，让子块真正吃满剩余高度。 */
.cf-left,.cf-mid,.cf-right{min-height:0}
.cf-mid > .card,.cf-left > .card,.cf-left #dynCurve .card{display:flex;flex-direction:column;min-height:0}
.cf-mid > .card > .cf-body,.cf-left > .card > .data-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}

/* ① 右列现货价格榜：表格纵向铺满，不留底部空档 */
.cf-right .rank .dyn-rank{display:flex;flex-direction:column;min-height:0}
.cf-right .rank .dyn-rank > .card{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:0}
.cf-right .rank .dyn-rank .rk-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.cf-right .rank .rk-scroll > .card{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.cf-right .rank .dyn-rank-tbl{height:100%}
.cf-right .rank .dyn-rank-tbl tbody{flex:1 1 auto}
.cf-right .rank .dyn-rank-tbl tbody tr{height:16.66%}
.cf-right .rank .dyn-rank-tbl tbody td{padding-top:6px;padding-bottom:6px;vertical-align:middle}
.cf-right .rank .rf{margin-top:auto}

/* ② 中列全球格局：甜甜圈 + 图例整体撑满，图例沉底、脚注紧随其后 */
.cf-row .dyn-region,.cf-row .dyn-prodshare{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.cf-row .region-col{display:flex;flex-direction:column;min-height:0;height:100%}
/* 甜甜圈：容器吃掉剩余高度，图形在其中垂直居中（此前 justify-content:center
   被 flex:1 的 height:100% 抵消，导致图偏下、上方留白） */
.cf-row .donut-box{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;
  padding:0;overflow:hidden}
.cf-row .donut-svg{width:auto;height:auto;max-width:100%;max-height:100%;display:block;margin:auto;
  flex:0 1 auto;align-self:center}
/* 图例与「口径」说明贴到底部，消除甜甜圈下方空档 */
.cf-row .dyn-prodshare,.cf-row .pshare-box{flex:0 0 auto}
.cf-row .pshare-list,.cf-row .dyn-prodshare > .pshare{margin-top:auto}
.cf-row .cnote,.cf-mid .cnote{margin-top:auto}

/* ③ 右列榜单：右列较窄，表格需放开 min-width 才能显示完整三列 */
.cf-right .rank .rk-scroll{overflow-x:visible}
.cf-right .rank .dyn-rank-tbl{min-width:0;table-layout:fixed;width:100%}
.cf-right .rank .dyn-rank-tbl th,.cf-right .rank .dyn-rank-tbl td{padding-left:9px;padding-right:9px}
.cf-right .rank .dyn-rank-tbl .rk-prod{overflow:hidden;text-overflow:ellipsis}

/* ④ 首页榜单：3 列 + 副信息列（区域 · 数据期） */
.cf-right .rank .dyn-rank-tbl th:nth-child(3),.cf-right .rank .dyn-rank-tbl td:nth-child(3){width:56px}
.cf-right .rank .rk-meta{width:82px;text-align:right;color:var(--ink-3);font-size:11px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.cf-right .rank .dyn-rank-tbl thead th:nth-child(4){width:82px}

/* 甜甜圈受列宽限制只能到 403px 正圆，容器 513px；剩余高度由图例区吸收
   （图例行距略放大，视觉上与图表配平，不再是「下方空档」）。 */
.cf-row .dyn-region .pshare-box,.cf-row .pshare-box{flex:1 1 auto;display:flex;
  flex-direction:column;justify-content:center}
.cf-row .pshare-box .pshare-list{gap:7px}
.cf-row .dyn-region .donut-box{flex:0 1 auto;height:auto}

/* 窄屏下榜单尾部仍余约 12px（tbody tr 按百分比取整误差），
   让最后一行不设高度下限即可消除。 */
@media(max-width:900px){
  .cf-right .rank .dyn-rank-tbl tbody tr:last-child{height:auto}
  .cf-right .rank .dyn-rank-tbl tbody tr{height:auto}
  .cf-right .rank .dyn-rank-tbl td{padding-top:8px;padding-bottom:8px}
}

/* ===== V142：头条右侧列表字号 —— 应比「产业洞察」四栏稍大 =====
   实测（首页）：产业洞察 标题/日期 均 14.5px、卡头 17.5px；
   头条右侧 标题 14.5px 但日期只有 12px（V118 只给产业洞察调过日期），
   卡头 14.5px —— 视觉上头条「文字偏小、日期明显更小」。
   本次统一上调：标题 14.5→15.5px、日期 12→15.5px（与标题同大）、
   卡头 14.5→18.5px，使其与产业洞察形成「头条略大」的层级关系。 */
.hl-right .card ul li{font-size:15.5px}
.hl-right .card ul li .dt{flex:0 0 50px;font-size:15.5px!important;color:var(--ink-3)}
.hl-right .card ul li a{font-size:15.5px;line-height:1.5}
.hl-rh{font-size:18.5px}
.hl-rh a{font-size:12.5px}
/* 列表项高度随字号联动，保持 7 条仍能容下（配合 V136 的英文态高度自适应） */
.hl-right .card ul li{padding:7px 0}

/* V142b：字号上调后中文态 7 条超出固定 322px（实测溢出 38px）。
   把固定高度改为「按内容自适应 + 保底 322px」，中英两态都不再裁切，
   底部对齐交给 flex stretch 承担。 */
.hl-right .card{height:auto;min-height:322px}
.hl-right .card ul{flex:0 0 auto}

/* ===== V164：头条首条「特殊置顶」条目 =====
   需求：把列表第一条提到卡头条行，做成**最显眼**的特殊状态——放大、加粗、置顶，
   「更多」二字移开（已上移到栏目标题行）。
   字号 24px（> 栏目标题「头条」h2 的 21px），weight 800，颜色沿用标题同色 --navy，
   单行 nowrap + 省略号，保证不折行、不撑高卡片；下方列表仍为 15.5px 常规字号，
   形成「一条醒目 + 其余常规」的明确主次。 */
/* V184：置顶条目的日期已移除（用户要求），标题成为唯一子元素，
   gap 归零避免标题左侧多出 10px 空隙。 */
.hl-right .card .hl-rh .hl-lead{
  display:flex;align-items:baseline;gap:0;flex:1;min-width:0;
  font-size:24px;font-weight:800;line-height:1.3;
  color:var(--navy);text-decoration:none;letter-spacing:.2px;
  white-space:nowrap;overflow:hidden;
}
.hl-right .card .hl-rh .hl-lead .ie,.hl-right .card .hl-rh .hl-lead .iz{overflow:hidden;text-overflow:ellipsis}
.hl-right .card .hl-rh .hl-lead:hover{color:var(--blue)}
/* 英文态：中英并列 + 24px 会过长，英文降一级字号 */
html[lang="en"] .hl-right .card .hl-rh .hl-lead{font-size:17px;line-height:1.3}
/* 窄屏单列时再降一级，保证一行能放下完整标题 */
@media (max-width:900px){
  .hl-right .card .hl-rh .hl-lead{font-size:19px}
  html[lang="en"] .hl-right .card .hl-rh .hl-lead{font-size:14px}
}

/* ===== V143：首页「优质供应商」压缩单条高度 ===== 
   实测：单条 96px（padding 9px + logo 40px + 两行文字），6 条 = 538px；
   右侧整栏被左栏撑到 704px，底部空 166px。
   改为：logo 40→30、padding 9→5、行高压缩 → 单条约 52px；
   条数由 6 增至 12（build.py 合并 featured/mid/up 三池），12×52 ≈ 624px 正好填满。 */
.pick ul{padding:5px 15px 6px}
.pick ul li a{gap:9px;padding:5px 10px}
.pick .logo-mark{flex:0 0 30px;width:30px;height:30px;border-radius:5px}
.pick .logo-mark img{width:30px;height:30px}
.pick .logo-mark svg{width:30px;height:30px}
.pick .info{gap:1px}
.pick .info b{font-size:12.5px;line-height:1.35}
.pick .info span{font-size:10.5px;line-height:1.3}

/* ===== V145：产业资源板块整体压缩 —— 左栏三块紧凑 + 右栏供应商降高 =====
   实测（首页 1440）：左栏 1023px / 右栏 1023px 看似等高，但
     · 左栏三块各 324px，块内 `.scroller{height:140px}` 固定高度，
       实际每块只有 5 条（约 100px）→ 上下各留约 20px 空白；
     · `.etpic{height:82px}` 竖图比右侧文字块高出很多，把整块撑开；
     · 右栏供应商 12 条 × 64px = 857px，本身偏高。
   本次压缩：scroller 140→104、图 82→66、padding 14→10、标题下边距 6→4、
             供应商单条 64→54px（logo 30→26），左右两栏同时下降约 120px。
   ★ 只压缩留白与元素高度，不删条目 —— 保证与左侧内容密度一致。 */
.res-3 .et{gap:12px;padding:10px 14px}
.res-3 .et .etpic{flex:0 0 24%;max-width:92px;height:66px}
.res-3 .et .ric{height:66px}
.res-3 .et .etx{display:flex;flex-direction:column}
.res-3 .et .nm{font-size:14px;margin-bottom:4px}
.res-3 .et .scroller{height:104px;margin-top:4px}
.res-3 .et ul.marquee li{padding:3px 0;font-size:12.5px;line-height:1.42}

/* 右栏优质供应商：单条 64 → 54px，与左栏压缩幅度匹配 */
.pick ul{padding:4px 15px 5px}
.pick ul li a{gap:9px;padding:4px 10px}
.pick .logo-mark{flex:0 0 26px;width:26px;height:26px;border-radius:4px}
.pick .logo-mark img{width:26px;height:26px}
.pick .logo-mark svg{width:26px;height:26px}
.pick .info b{font-size:12.5px;line-height:1.3}
.pick .info span{font-size:10.5px;line-height:1.25}

/* ===== V145b：左栏三块内容顶对齐，消除标题上方的空白 =====
   现象：截图里「上游企业」标题上方仍有大片空白，列表底部还被截断。
   根因：`.res-3{flex:1}` 把三块强行等分 313px，而 `.et` 内
   `.scroller{height:104px}` 之外的内容只有 ~70px，多余高度被
   `align-items:flex-start` 留在下方，看起来像「上下都有空」。
   修法：块内改 column 布局并让内容整体贴顶，标题与列表紧邻，
        去掉不必要的固定高度，让滚动区按内容自然展示 5 条。 */
/* V151：图片恢复上下居中。
   V145b 为了消除「标题上方空白」把 align-items 改成了 flex-start，
   副作用是左侧配图顶对齐、下方留白（截图可见）。
   正确做法：外层 .et 用 align-items:center 让配图垂直居中；
            内层 .etx 仍 justify-content:flex-start 保持标题贴顶。 */
.res-3 .et{display:flex;flex-direction:row;align-items:center;justify-content:flex-start}
.res-3 .et .etx{display:flex;flex-direction:column;justify-content:flex-start;align-self:stretch}
.res-3 .et .scroller{height:auto;max-height:112px;overflow:hidden}
.res-3 .et ul.marquee{margin:0}
/* 列表项数少时不再靠固定 height 撑开 —— 6 条 × 约 18px ≈ 108px */
.res-3 .et ul.marquee li{padding:2px 0;font-size:12.5px;line-height:1.38}

/* ===== V145c：三块按内容紧凑排列（不再等分 313px）=====
   V145b 解决了「标题上方空白」，但块与块之间仍留大空：
   `.res-3{flex:1}` 把三块强行等分整栏高度，每块内容只有 ~130px，
   剩下的 180px 全变成块间空白。
   改法：`.res-3` 取消 flex:1，块按内容高度自然排列并用小间距分隔；
        整栏高度交给 `.res-col` 自身 stretch，与右栏仍能等高对齐。 */
/* ★ 关键：不能给 .res-3 或 .et 任何 flex:1 —— 那会把三块强行等分整栏高度，
   块内内容只有 ~130px，剩余全变成块间空白（V145c 踩过）。
   正确做法：容器 stretch 由 .res-col 负责，三块按内容自然高度，
   整栏底部用 .res-col 的 justify-content:flex-start 保持顶端对齐。 */
.res-wrap .res-col{display:flex;flex-direction:column;justify-content:flex-start}
.res-3{flex:0 0 auto;display:flex;flex-direction:column;gap:0}
.res-3 .et{flex:0 0 auto;padding:9px 14px}

/* ===== V146：产业数据中列「全球格局与贸易流向」—— 环形图居中 + 字号加大 =====
   实测（首页 1440）：区域列 609px，内容仅 487px（标题21 + 环形图403 + 图例46 + 口径17），
   剩余 122px 全堆在底部 → 截图里环形图偏上、下方大片空白。
   三条调整：
     ① 环形图上下居中：donut-box 改 flex:1 1 auto 吃掉剩余高度，
        SVG 在其中垂直居中（此前被 .cf-row .dyn-region .donut-box{flex:0 1 auto} 压住了）；
     ② 「分区域产能占比」标题 13→15.5px 加粗，并下移（上留白 10px）；
     ③ 图例 10.5→13px、口径 11→12px，加大后内容变高，剩余空间进一步缩小。 */
.cf-mid .dyn-region .donut-box{flex:1 1 auto;min-height:0;height:auto;
  display:flex;align-items:center;justify-content:center}
.cf-mid .dyn-region .donut-box svg{align-self:center}
/* ① 顶部小标题：加大 + 下移 + 与图拉开距离
     注意：该 div 原由 dyn-data.js 写死行内 font-size:13px，行内样式优先于样式表，
     已改为输出 class="rg-cap-head"，此处才能真正生效。 */
.rg-cap-head{font-size:15.5px;font-weight:700;color:var(--navy);line-height:1.45;
  margin:10px 0 4px;letter-spacing:.3px;text-align:center;flex:0 0 auto}
/* ③ 口径脚注：11 → 12px */
.rg-cap-note{font-size:12px;color:#9aa7b6;text-align:center;margin-top:9px;line-height:1.6}
/* ③ 图例与口径字号加大 */
.cf-mid .cap-legend,.sec-data-home .cf-mid .cap-legend{font-size:13px;gap:11px 18px;
  padding:2px 4px 10px;line-height:1.5}
.cf-mid .cap-legend i{width:12px;height:12px;margin-right:6px}
.cf-mid .region-col > div:last-child{font-size:12px;line-height:1.6}

/* ===== V147：首页供需板块右栏字号对齐左栏（只改大小，颜色不动）=====
   实测左栏「国内/国外供需信息」：标题 **14.5px/700**、副信息 11.5px。
   右栏原为：商机发布 标题 14.5px/700 + 副 11.5px；合作案例 标题 13px/600 + 标签 10.5px
   → 大小不统一、且商机发布明显偏大、合作案例偏小。
   统一为与左栏完全一致：标题 14.5px/700、副信息 11.5px。
   ★ 仅改 font-size / font-weight，color 一律沿用原值，不改配色。 */
/* ★ 左栏真实字号是 **14.5px/700**（被 style.css:4365 的
   `.deal-block .dlist2 li b{font-size:14.5px;font-weight:700}` 覆盖，
   基础规则 .dlist2 li b{13px/600} 只是默认值 —— 我第一次量错就栽在这）。
   副信息 11.5px。右栏统一对齐到这两个值。 */
/* 商机发布：标题本就 14.5 但字重 700→与左栏一致，副信息 11.5 */
.deal-side .side-bd ul.post li a b{font-size:14.5px;font-weight:700;line-height:1.5}
.deal-side .side-bd ul.post li a span{font-size:11.5px;line-height:1.5}
/* 合作案例：★ 标题不是 <b>，而是 a 的第一个 span（内含 .iz/.ie）——
   第 1580 行 `.cases li a span{font-size:10.5px}` 会把标题也压成 10.5px，
   必须用 `> span:first-child` 单独提优先级。标签是第二个 span 内的 iz/ie。 */
.deal-side .side-bd ul.cases li a > span:first-child{font-size:14.5px;font-weight:700;
  line-height:1.5;color:var(--ink);display:block}
.deal-side .side-bd ul.cases li a > span:first-child:hover{color:var(--blue)}
.deal-side .side-bd ul.cases li a > span:last-child,
.deal-side .side-bd ul.cases li a > span > span{font-size:11.5px;line-height:1.5}
/* 窄屏与左栏同步降级（对齐 style.css:4388 的 13.5px） */
@media(max-width:900px){
  .deal-side .side-bd ul.post li a b,
  .deal-side .side-bd ul.cases li a > span:first-child{font-size:13.5px}
}

/* ===== V148：优质供应商 —— 标题字号统一为第一条 + 单行显示 =====
   ★ 真正的「字体不一致」根因：第 1 条标题是纯文本 <b>文字</b>，
     第 2 条起是 <b><span class="iz">中文</span><span class="ie">EN</span></b>；
     而 `.pick .info span{font-size:11.5px}` 会把标题内的 .iz/.ie 一起压成 11.5px
     → 第 1 条显示 14.5px、第 2 条起只显示 11.5px（实测差值 3px，肉眼很明显）。
     修法：标题内的 .iz/.ie 一律 inherit，跟随 b 的 14.5px/700。
   另外按要求单行显示：超长标题省略号，不换行（含 .iz/.ie 也需 nowrap）。 */
.pick .info > b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.pick .info > b .iz,
.pick .info > b .ie{font-size:inherit!important;font-weight:inherit!important;
  line-height:inherit;white-space:nowrap;display:inline!important}
.pick .info > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.pick .info > span .iz,
.pick .info > span .ie{font-size:inherit!important;white-space:nowrap}
/* 中文态下隐藏英文（避免中英挤在一行把标题撑爆）——沿用站点既有 .iz/.ie 机制，
   此处仅确保标题内两态互斥不受上面 display:inline!important 影响 */
html[data-lang="zh"] .pick .info > b .ie{display:none!important}
html[lang="en"] .pick .info > b .iz{display:none!important}

/* ===== V149：头条右侧标题单行 + 卡片与头条图片等高 =====
   实测：左侧 .hl-box 固定 height:322px；右侧卡中文态 **360px**
   （第 4 条标题较长换行成 2 行：63px，其余 39px），英文态恰好 322。
   按要求：① 标题一律单行（超长省略号）；② 卡片高度锁定 322px 与图片等高。
   为把 7 条塞进 322（卡头 43 + ul 内距 14 ≈ 265px），单条 padding 7→6px。
   剩余高度用 space-between 均分，视觉上 7 条均匀铺满，不留空档。 */
.hl-right{display:flex;flex-direction:column;min-width:0}
.hl-right .card{height:322px;min-height:0;max-height:322px}
.hl-right .card ul{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;
  flex-direction:column;justify-content:space-between;padding:6px 15px 8px}
.hl-right .card ul li{flex:0 0 auto;padding:6px 0;min-height:0}
.hl-right .card ul li a{display:block;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 双语 span 也必须 nowrap，否则中文态第 4 条仍会折行撑高 */
.hl-right .card ul li a .iz,
.hl-right .card ul li a .ie{white-space:nowrap;display:inline}
/* 英文态同样锁定 322（覆盖 V136 的 height:auto） */
html[lang="en"] .hl-right .card{height:322px;min-height:0;max-height:322px}
html[lang="en"] .hl-right .card ul{flex:1 1 auto}

/* ===== V152：商机发布字体对齐合作案例 + 标题单行 + 左两列铺满 =====
   ① ★「商机发布」标题实际只有 11.5px 灰色：标题结构是
      `<b><span class="iz">中文</span><span class="ie">EN</span></b>`，
      被 style.css:207 `.side-bd li span{font-size:11.5px;color:var(--ink-3)}` 误伤；
      而「合作案例」标题是纯文本 → 14.5px/700 深色 + 浅绿底，所以看着更显眼。
      修法：标题内 .iz/.ie 一律 inherit（字号/字重/颜色都跟随 b）。
   ② 合作案例标题单行：超长省略号，不折行。
   ③ 左两列 9 条：`.dlist2` 改纵向 flex，li flex:1 均分把块内剩余高度铺平
      （实测 8 条时末条距块底空 96px）。 */
.deal-side .side-bd ul.post li a b .iz,
.deal-side .side-bd ul.post li a b .ie{font-size:inherit!important;font-weight:inherit!important;
  color:inherit!important;line-height:inherit}
/* 副信息保持原灰色小字（不能被上面规则带成深色大字） */
.deal-side .side-bd ul.post li a > span,
.deal-side .side-bd ul.post li a > span .iz,
.deal-side .side-bd ul.post li a > span .ie{font-size:11.5px!important;color:var(--ink-3)!important;
  font-weight:400!important}
/* ② 合作案例标题单行
   ★ 注意：标题 span 本身就带 .iz / .ie 类（不是外层包裹），
     不能对它用 display:block —— 英文态会被 `.iz{display:none!important}` 整体隐藏，
     导致标题消失（V152 第一版就这样翻车）。这里只加 nowrap/省略号，不动 display。 */
.deal-side .side-bd ul.cases li a > span.iz,
.deal-side .side-bd ul.cases li a > span.ie{
  font-size:14.5px!important;font-weight:700!important;line-height:1.5;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* ③ 左两列：9 条均分铺满，消除底部空档 */
.deal-wrap .deal-block .dlist2{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.deal-wrap .deal-block .dlist2 li{flex:1 1 auto;display:flex;flex-direction:column;
  justify-content:center;min-height:0}
.deal-wrap .deal-block .dlist2 li a{display:flex;flex-direction:column;justify-content:center;
  height:100%}

/* ===== V153：头条左图放大至中线 + 右侧等高 347px =====
   实测（1440 视口）：主容器 .wrap 左 110 / 宽 1220 → **中线在 720**；
   头图原宽 566（右边 676），距中线还差 44px，所以看着偏左。
   按要求把图放大到 **610px**（110 + 610 = 720，右边正好压中线），
   高度按原比例 566:322 同步放大 → 322 × 610/566 ≈ **347px**。
   右侧卡片同步 347px，条数由 7 增至 8（build.py 改）把可用高度铺满。 */
.hl-wrap{grid-template-columns:minmax(0,610px) minmax(0,1fr)}
.hl-box{height:347px}
.hl-right .card{height:347px;min-height:0;max-height:347px}
html[lang="en"] .hl-right .card{height:347px;min-height:0;max-height:347px}

/* ============================================================
   V178：移动端修复层（2026-10-21 用户反馈手机端大面积错位）
   ============================================================
   病根：本样式表里多条「桌面基线」规则写在**媒体查询之外**（如 .quick .q-list
   的 repeat(6,1fr)、第 1883/2988 行），而窄屏规则虽写了 2 列，却因
   「同优先级 + 出现位置更靠前」被后面的基线规则覆盖 —— 于是手机上仍是
   桌面列数，每个卡片被压到几十 px，标题逐字竖排、图片被横向压扁。

   修法：不逐处打补丁（那样会与前面的历史规则反复打架），而是在**文件末尾**
   追加一层统一的高优先级重排层：
     · 断点 900px：多列一律降为 2 列；760px：降为 1 列；
     · 统一补 min-width:0 / overflow-wrap，让长标题正常换行而不是撑破容器；
     · 图片强制 max-width:100% + height:auto，杜绝横向压缩变形；
     · 板块标题（sec-hd）在窄屏改为上下堆叠，避免"更多›"被挤成竖排。
   这一层放在最后、同优先级，靠位置取胜，覆盖前面所有历史规则。       */

@media (max-width:900px){
  /* ---- 1. 通用防溢出：这一条能消掉大半「显示不全 / 横向压缩」 ---- */
  img{max-width:100% !important;height:auto}
  /* grid/flex 子项默认 min-width:auto 会拒绝收缩，导致内容溢出容器 */
  .wrap > *{min-width:0}
  .sec,.sec *{min-width:0}
  .card,.card *{min-width:0}

  /* ---- 2. 快捷入口（需求反哺/核心数据/会议会展…）：6 列 → 2 列 ---- */
  .quick .q-list,
  .quick .q-list.q5,
  .quick .q-list.q6{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .quick .q-list .q,
  .quick .qc{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .quick .q-list .q .t,
  .quick .q-list .q .d,
  .quick .qc span{white-space:normal !important}
  .quick .qc{height:auto;min-height:44px;padding:8px 6px}

  /* ---- 3. 板块标题：手机上竖排堆叠，"更多›" 不再被挤到字里行间 ---- */
  .sec-hd{flex-wrap:wrap;align-items:baseline;row-gap:4px}
  .sec-hd h2{max-width:100%;min-width:0}
  .sec-hd h2 small{display:block;margin-top:2px}
  .sec-hd .more{white-space:nowrap;flex:0 0 auto;margin-left:auto}

  /* ---- 4. 首页四大板块（洞察/项目/政策/…）：一律单列 ---- */
  .grp,.ob-list,.ob-grid{grid-template-columns:1fr !important}

  /* ---- 5. 产业数据看板：三栏在手机上必须竖排，否则图表被压成细条 ---- */
  .cf-row.eq-row{display:block !important}
  .cf-row.eq-row > *{width:100% !important;margin-bottom:12px}
  .db-grid,.data-main{grid-template-columns:1fr !important}
  /* 环形图/线图容器给最小宽度，避免 SVG 缩成一条线 */
  .dyn-region,.dynCurve,#dynCurve{min-width:100%;height:auto}

  /* ---- 6. 供需信息列表：标题过长时截断而非撑破 ---- */
  .wall .wl .wt,.wall .wt{
    white-space:normal;overflow-wrap:anywhere;word-break:break-word}

  /* ---- 7. 广告位：手机上改为单列 ---- */
  .ad-grid{grid-template-columns:1fr !important}
}

@media (max-width:760px){
  /* ---- 8. 真正需要「一屏一件」的密集网格 ---- */
  .ngrid,.ogrid,.pgrid,.egrid,.sgrid,.dlgrid,.rep-hot,.video-grid{
    grid-template-columns:1fr !important}
  .ad-grid{grid-template-columns:1fr !important}
}

@media (max-width:560px){
  /* ---- 9. 快捷入口在超窄屏（iPhone SE 一类）改单列，彻底避免挤压 ---- */
  .quick .q-list,
  .quick .q-list.q5,
  .quick .q-list.q6{grid-template-columns:1fr !important}
}

/* ============================================================
   V178：移动端修复层（2026-10-21 用户反馈手机端大面积错位）
   ============================================================
   病根：本样式表里多条「桌面基线」规则写在**媒体查询之外**（如 .quick .q-list
   的 repeat(6,1fr)、第 1883/2988 行），而窄屏规则虽写了 2 列，却因
   「同优先级 + 出现位置更靠前」被后面的基线规则覆盖 —— 于是手机上仍是
   桌面列数，每个卡片被压到几十 px，标题逐字竖排、图片被横向压扁。

   修法：不逐处打补丁（那样会与前面的历史规则反复打架），而是在**文件末尾**
   追加一层统一的高优先级重排层：
     · 断点 900px：多列一律降为 2 列；760px：降为 1 列；
     · 统一补 min-width:0 / overflow-wrap，让长标题正常换行而不是撑破容器；
     · 图片强制 max-width:100% + height:auto，杜绝横向压缩变形；
     · 板块标题（sec-hd）在窄屏改为上下堆叠，避免"更多›"被挤成竖排。
   这一层放在最后、同优先级，靠位置取胜，覆盖前面所有历史规则。       */

@media (max-width:900px){
  /* ---- 1. 通用防溢出：这一条能消掉大半「显示不全 / 横向压缩」 ---- */
  img{max-width:100% !important;height:auto}
  /* grid/flex 子项默认 min-width:auto 会拒绝收缩，导致内容溢出容器 */
  .wrap > *{min-width:0}
  .sec,.sec *{min-width:0}
  .card,.card *{min-width:0}

  /* ---- 2. 快捷入口（需求反哺/核心数据/会议会展…）：6 列 → 2 列 ---- */
  .quick .q-list,
  .quick .q-list.q5,
  .quick .q-list.q6{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .quick .q-list .q,
  .quick .qc{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .quick .q-list .q .t,
  .quick .q-list .q .d,
  .quick .qc span{white-space:normal !important}
  .quick .qc{height:auto;min-height:44px;padding:8px 6px}

  /* ---- 3. 板块标题：手机上竖排堆叠，"更多›" 不再被挤到字里行间 ---- */
  .sec-hd{flex-wrap:wrap;align-items:baseline;row-gap:4px}
  .sec-hd h2{max-width:100%;min-width:0}
  .sec-hd h2 small{display:block;margin-top:2px}
  .sec-hd .more{white-space:nowrap;flex:0 0 auto;margin-left:auto}

  /* ---- 4. 首页四大板块（洞察/项目/政策/…）：一律单列 ---- */
  .grp,.ob-list,.ob-grid{grid-template-columns:1fr !important}

  /* ---- 5. 产业数据看板：三栏在手机上必须竖排，否则图表被压成细条 ---- */
  .cf-row.eq-row{display:block !important}
  .cf-row.eq-row > *{width:100% !important;margin-bottom:12px}
  .db-grid,.data-main{grid-template-columns:1fr !important}
  /* 环形图/线图容器给最小宽度，避免 SVG 缩成一条线 */
  .dyn-region,.dynCurve,#dynCurve{min-width:100%;height:auto}

  /* ---- 6. 供需信息列表：标题过长时截断而非撑破 ---- */
  .wall .wl .wt,.wall .wt{
    white-space:normal;overflow-wrap:anywhere;word-break:break-word}

  /* ---- 7. 广告位：手机上改为单列 ---- */
  .ad-grid{grid-template-columns:1fr !important}
}

@media (max-width:760px){
  /* ---- 8. 真正需要「一屏一件」的密集网格 ---- */
  .ngrid,.ogrid,.pgrid,.egrid,.sgrid,.dlgrid,.rep-hot,.video-grid{
    grid-template-columns:1fr !important}
  .ad-grid{grid-template-columns:1fr !important}
}

@media (max-width:560px){
  /* ---- 9. 快捷入口在超窄屏（iPhone SE 一类）改单列，彻底避免挤压 ---- */
  .quick .q-list,
  .quick .q-list.q5,
  .quick .q-list.q6{grid-template-columns:1fr !important}
}

/* ============================================================
   V181：移动端兜底层（第二轮，覆盖 V178 未清干净的固定宽度）
   ============================================================
   V178 上线后手机端仍有「横向压缩 / 显示不全」，本轮定位到漏网之鱼：
     · 历史规则里的 min-width:901px / 1101px / 769px 等固定宽度，在窄屏
       依然生效 —— 容器被强行撑到 900+px 再被 viewport 缩小，于是所有内容
       看起来都被压扁（正是截图里那种「挤成竖条」的效果）；
     · .wrap / .main / 各栅格未强制 width:100%，仍按桌面宽度撑开。
   下面这一层用 !important 强制清零所有最小宽度并让块级铺满宽度。 */

@media (max-width:900px){
  /* ---- 1. 清掉一切撑宽的最小宽度 ---- */
  .wrap,.main,.sec,.card,.cf-left,.cf-mid,.cf-right,
  .cf-row,.cf-row > *,.data-wrap,.two-col,.ent-wrap,
  .db-grid,.data-main,.ad-band,.ad-grid,.ad-grid > *,
  .quick,.quick .wrap,.quick .q-list,.quick .q-list > *,
  .grp,.grp > *,.dlgrid,.ngrid,.ogrid,.pgrid,.egrid,.sgrid,
  .wall,.wall > *,.disline,.sec-hd,.chips,.pager{
    min-width:0 !important;
  }
  /* ---- 2. 强制铺满视口宽度，杜绝「按桌面宽渲染再整体缩小」 ---- */
  .wrap,.main,.sec,.card,.cf-row,.cf-row > *,
  .cf-left,.cf-mid,.cf-right,.data-wrap,.two-col,
  .quick,.quick .wrap,.ad-band,.ad-grid,.quick .q-list{
    width:100% !important;
    max-width:100% !important;
  }
  /* ---- 3. 超宽元素允许自身滚动而不是把整页撑宽 ---- */
  .tbl,.table-wrap,.tablebox,.hd-scroll{
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  /* ---- 4. 图片、图表、SVG 永不横向压缩变形 ---- */
  img,svg,canvas,.ad-card,.dyn-region,#dynCurve,.dynCurve{
    max-width:100% !important;
  }
  .ad-card,.dyn-region,#dynCurve,.dynCurve{height:auto !important}
  /* ---- 5. 长串强制换行，杜绝一字一行 ---- */
  .wrap,.sec,.card,.quick,.ad-band,.grp,.wall{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  /* ---- 6. 隐藏横向滚动条（由 #4/#5 保证不会溢出，多余的裁掉） ---- */
  html,body{overflow-x:hidden !important;max-width:100% !important}
}

/* ============================================================
   V181：移动端兜底层（第二轮，覆盖 V178 未清干净的固定宽度）
   ============================================================
   V178 上线后手机端仍有「横向压缩 / 显示不全」，本轮定位到漏网之鱼：
     · 历史规则里的 min-width:901px / 1101px / 769px 等固定宽度，在窄屏
       依然生效 —— 容器被强行撑到 900+px 再被 viewport 缩小，于是所有内容
       看起来都被压扁（正是截图里那种「挤成竖条」的效果）；
     · .wrap / .main / 各栅格未强制 width:100%，仍按桌面宽度撑开。
   下面这一层用 !important 强制清零所有最小宽度并让块级铺满宽度。 */

@media (max-width:900px){
  /* ---- 1. 清掉一切撑宽的最小宽度 ---- */
  .wrap,.main,.sec,.card,.cf-left,.cf-mid,.cf-right,
  .cf-row,.cf-row > *,.data-wrap,.two-col,.ent-wrap,
  .db-grid,.data-main,.ad-band,.ad-grid,.ad-grid > *,
  .quick,.quick .wrap,.quick .q-list,.quick .q-list > *,
  .grp,.grp > *,.dlgrid,.ngrid,.ogrid,.pgrid,.egrid,.sgrid,
  .wall,.wall > *,.disline,.sec-hd,.chips,.pager{
    min-width:0 !important;
  }
  /* ---- 2. 强制铺满视口宽度，杜绝「按桌面宽渲染再整体缩小」 ---- */
  .wrap,.main,.sec,.card,.cf-row,.cf-row > *,
  .cf-left,.cf-mid,.cf-right,.data-wrap,.two-col,
  .quick,.quick .wrap,.ad-band,.ad-grid,.quick .q-list{
    width:100% !important;
    max-width:100% !important;
  }
  /* ---- 3. 超宽元素允许自身滚动而不是把整页撑宽 ---- */
  .tbl,.table-wrap,.tablebox,.hd-scroll{
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  /* ---- 4. 图片、图表、SVG 永不横向压缩变形 ---- */
  img,svg,canvas,.ad-card,.dyn-region,#dynCurve,.dynCurve{
    max-width:100% !important;
  }
  .ad-card,.dyn-region,#dynCurve,.dynCurve{height:auto !important}
  /* ---- 5. 长串强制换行，杜绝一字一行 ---- */
  .wrap,.sec,.card,.quick,.ad-band,.grp,.wall{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  /* ---- 6. 隐藏横向滚动条（由 #4/#5 保证不会溢出，多余的裁掉） ---- */
  html,body{overflow-x:hidden !important;max-width:100% !important}
}

/* ============================================================
   V182：页眉 Logo 尺寸放开（2026-10-21 用户反馈"logo 显示太小"）
   ============================================================
   背景：本样式表从 V38 起把 logo 写死为 height:46px + max-width:230px，
     且在 1100/860/560/400 各断点逐级降到 22~38px / max-width 120~215px。
     用户新换的 logo 是 **2021×472（宽高比约 4.28:1，典型横版）**，
     按 46px 高反推宽度需约 197px，被 max-width 230px 及其窄屏变体
     （手机上仅 120px）卡住 → 屏幕上只显示成一小块。

   处理：把尺寸改为「按高度等比缩放 + 放宽上限」，并尊重图片自身宽高比：
     · 桌面：高度 56px、上限 340px；
     · 平板：48px / 280px；
     · 手机：40px / 240px —— 比原来（30px/26px）明显更大；
     · 关键：width:auto + height固定，图片按自身比例自适应，
       不再用 max-width 硬切（object-fit:contain 兜底，绝不拉伸变形）。
   注意：仍保留 !important，确保压过前面几十条历史规则。            */

.header .logo .logo-img,
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{
  height:56px !important;
  max-width:340px !important;
  width:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
}
@media(max-width:1100px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:50px !important;max-width:300px !important}
}
@media(max-width:860px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:44px !important;max-width:260px !important}
}
@media(max-width:560px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:40px !important;max-width:240px !important}
}
@media(max-width:400px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:34px !important;max-width:200px !important}
}

/* ============================================================
   V182：页眉 Logo 尺寸放开（2026-10-21 用户反馈"logo 显示太小"）
   ============================================================
   背景：本样式表从 V38 起把 logo 写死为 height:46px + max-width:230px，
     且在 1100/860/560/400 各断点逐级降到 22~38px / max-width 120~215px。
     用户新换的 logo 是 **2021×472（宽高比约 4.28:1，典型横版）**，
     按 46px 高反推宽度需约 197px，被 max-width 230px 及其窄屏变体
     （手机上仅 120px）卡住 → 屏幕上只显示成一小块。

   处理：把尺寸改为「按高度等比缩放 + 放宽上限」，并尊重图片自身宽高比：
     · 桌面：高度 56px、上限 340px；
     · 平板：48px / 280px；
     · 手机：40px / 240px —— 比原来（30px/26px）明显更大；
     · 关键：width:auto + height固定，图片按自身比例自适应，
       不再用 max-width 硬切（object-fit:contain 兜底，绝不拉伸变形）。
   注意：仍保留 !important，确保压过前面几十条历史规则。            */

.header .logo .logo-img,
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{
  height:56px !important;
  max-width:340px !important;
  width:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
}
@media(max-width:1100px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:50px !important;max-width:300px !important}
}
@media(max-width:860px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:44px !important;max-width:260px !important}
}
@media(max-width:560px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:40px !important;max-width:240px !important}
}
@media(max-width:400px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:34px !important;max-width:200px !important}
}

/* ============================================================
   V183：页眉 Logo 尺寸按「中国能源产业发展网」实测等效（2026-10-21）
   ============================================================
   用户提供产业网页眉截图作为参照，要求绿燃网 logo 的**视觉占比与截图宽度一致**。
   实测（截图像素分析）：
     · 产业网 logo 实际占位 821 × 174 px，比例 4.72:1，占 2286px 视口宽的 35.9%
     · 等效到本站 1220px 的 .wrap 容器中 → 目标显示宽约 438px
     · 绿燃网 logo 原图 2021 × 472，比例 4.28:1 → 需显示高度约 102px

   版面核算：.header 内 .wrap 宽 1220px，右侧搜索框 max-width:640px，
   logo 可用约 560px —— 438px 完全放得下，不会挤压搜索框。

   因此本轮把 logo 放大到与产业网等效：
     桌面 100px 高 / 440px 宽（≈产业网 438px）
     平板 78 / 340     手机 56 / 240     超窄屏 46 / 200
   仍用 width:auto + object-fit:contain，按图片自身比例等比缩放，绝不变形。 */

.header .logo .logo-img,
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{
  height:100px !important;
  max-width:440px !important;
  width:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
}
/* 页眉留白相应加大，避免大 logo 顶到导航栏 */
.header{padding:20px 0 !important}
@media(max-width:1100px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:78px !important;max-width:340px !important}
}
@media(max-width:860px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:62px !important;max-width:270px !important}
}
@media(max-width:560px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:52px !important;max-width:225px !important}
}
@media(max-width:400px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:44px !important;max-width:190px !important}
}

/* ============================================================
   V183：页眉 Logo 尺寸按「中国能源产业发展网」实测等效（2026-10-21）
   ============================================================
   用户提供产业网页眉截图作为参照，要求绿燃网 logo 的**视觉占比与截图宽度一致**。
   实测（截图像素分析）：
     · 产业网 logo 实际占位 821 × 174 px，比例 4.72:1，占 2286px 视口宽的 35.9%
     · 等效到本站 1220px 的 .wrap 容器中 → 目标显示宽约 438px
     · 绿燃网 logo 原图 2021 × 472，比例 4.28:1 → 需显示高度约 102px

   版面核算：.header 内 .wrap 宽 1220px，右侧搜索框 max-width:640px，
   logo 可用约 560px —— 438px 完全放得下，不会挤压搜索框。

   因此本轮把 logo 放大到与产业网等效：
     桌面 100px 高 / 440px 宽（≈产业网 438px）
     平板 78 / 340     手机 56 / 240     超窄屏 46 / 200
   仍用 width:auto + object-fit:contain，按图片自身比例等比缩放，绝不变形。 */

.header .logo .logo-img,
html[lang="en"] .header .logo .logo-img,
html[data-lang="en"] .header .logo .logo-img{
  height:100px !important;
  max-width:440px !important;
  width:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
}
/* 页眉留白相应加大，避免大 logo 顶到导航栏 */
.header{padding:20px 0 !important}
@media(max-width:1100px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:78px !important;max-width:340px !important}
}
@media(max-width:860px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:62px !important;max-width:270px !important}
}
@media(max-width:560px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:52px !important;max-width:225px !important}
}
@media(max-width:400px){
  .header .logo .logo-img,
  html[lang="en"] .header .logo .logo-img,
  html[data-lang="en"] .header .logo .logo-img{height:44px !important;max-width:190px !important}
}

/* ============================================================
   V190：产业数据页三个标题靠左（2026-10-21 用户反馈）
   ============================================================
   现象：「产业数据看板」「全球格局与贸易流向」「单一品类价格走势」三个标题
   视觉上偏居中。原因：.card > h3 是 display:flex + justify-content:space-between，
   而标题文字被包在 <span class="iz"> 里（.ie 为英文态），flex 子项之间
   被 space-between 撑开 → 中文标题被推到中间，右边的 .more 靠右。

   修法：让标题 span 不参与 space-between 撑开，固定靠左；
        .more 继续靠右（margin-left:auto），并保证标题不被挤压。
   ============================================================ */

/* 标题文字块：靠左、不被 space-between 推开 */
.cf-row .card > h3 > span.iz,
.cf-row .card > h3 > span.ie{
  flex:0 0 auto;
  text-align:left;
  margin-right:auto;   /* 把剩余空间推给 .more，标题贴左 */
}
/* 右侧说明文字仍靠右 */
.cf-row .card > h3 > span.more{
  margin-left:auto;
  text-align:right;
  flex:0 1 auto;
}
/* 窄屏时标题独占一行，说明另起一行靠左（沿用既有的换行处理） */
@media (max-width:900px){
  .cf-row .card > h3 > span.iz,
  .cf-row .card > h3 > span.ie,
  .cf-row .card > h3 > span.more{
    flex:1 1 100%;
    margin-right:0;
    text-align:left;
  }
}
/* 去掉右栏后，产业数据页铺满整宽 */
.main.main-full{display:block;width:100%}
.main.main-full > .col-l{width:100%;flex:1 1 100%}

/* ============================================================
   V190：产业数据页三个标题靠左（2026-10-21 用户反馈）
   ============================================================
   现象：「产业数据看板」「全球格局与贸易流向」「单一品类价格走势」三个标题
   视觉上偏居中。原因：.card > h3 是 display:flex + justify-content:space-between，
   而标题文字被包在 <span class="iz"> 里（.ie 为英文态），flex 子项之间
   被 space-between 撑开 → 中文标题被推到中间，右边的 .more 靠右。

   修法：让标题 span 不参与 space-between 撑开，固定靠左；
        .more 继续靠右（margin-left:auto），并保证标题不被挤压。
   ============================================================ */

/* 标题文字块：靠左、不被 space-between 推开 */
.cf-row .card > h3 > span.iz,
.cf-row .card > h3 > span.ie{
  flex:0 0 auto;
  text-align:left;
  margin-right:auto;   /* 把剩余空间推给 .more，标题贴左 */
}
/* 右侧说明文字仍靠右 */
.cf-row .card > h3 > span.more{
  margin-left:auto;
  text-align:right;
  flex:0 1 auto;
}
/* 窄屏时标题独占一行，说明另起一行靠左（沿用既有的换行处理） */
@media (max-width:900px){
  .cf-row .card > h3 > span.iz,
  .cf-row .card > h3 > span.ie,
  .cf-row .card > h3 > span.more{
    flex:1 1 100%;
    margin-right:0;
    text-align:left;
  }
}
/* 去掉右栏后，产业数据页铺满整宽 */
.main.main-full{display:block;width:100%}
.main.main-full > .col-l{width:100%;flex:1 1 100%}

/* ============================================================
   ★ V210（2026-10-22）线下签约开通 —— 付费档页面样式
   原 pay-qr（假二维码）已下线，改为「提交申请 + 后台授权开通」
   ============================================================ */
.pay-offline{
  border:1px solid #dfe6ee;
  border-radius:12px;
  background:#fbfcfe;
  padding:18px 20px 20px;
  margin-top:18px;
}
.po-hd b{
  display:block;
  font-size:15px;
  color:#16324f;
  margin-bottom:8px;
}
.po-hd span{
  display:block;
  font-size:13px;
  line-height:1.75;
  color:#5b6875;
  margin-bottom:16px;
}
.po-form label{
  display:block;
  margin-bottom:12px;
}
.po-form label i{
  display:block;
  font-style:normal;
  font-size:12px;
  color:#5b6875;
  margin-bottom:6px;
}
.po-form label.req i{color:#c0392b;}
.po-form label.req i::after{content:" *";}
.po-form input,
.po-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d5dce4;
  border-radius:8px;
  padding:9px 12px;
  font-size:14px;
  font-family:inherit;
  color:#22313f;
  background:#fff;
  outline:none;
}
.po-form input{height:40px;}
.po-form textarea{resize:vertical;line-height:1.6;}
.po-form input:focus,
.po-form textarea:focus{
  border-color:#1f6fb2;
  box-shadow:0 0 0 3px rgba(31,111,178,.10);
}
.po-form input:disabled,
.po-form textarea:disabled{background:#f2f5f8;color:#8a97a6;}
.po-submit{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  flex-wrap:wrap;
}
.po-submit .pd-main{
  height:42px;
  padding:0 30px;
  border:0;
  border-radius:8px;
  background:#1560ad;
  color:#fff;
  font-size:15px;
  cursor:pointer;
  font-family:inherit;
}
.po-submit .pd-main:hover{background:#12508f;}
.po-submit .pd-main:disabled{background:#9db4c9;cursor:not-allowed;}
.po-steps{
  margin:0;
  padding-left:20px;
  font-size:13px;
  line-height:1.9;
  color:#5b6875;
}
.po-steps b{
  color:#16324f;
  margin-right:4px;
}
@media (max-width:900px){
  .pay-offline{padding:14px 14px 16px;}
  .po-submit .pd-main{width:100%;}
}

/* ============================================================
   ★ V210（2026-10-22）线下签约开通 —— 付费档页面样式
   原 pay-qr（假二维码）已下线，改为「提交申请 + 后台授权开通」
   ============================================================ */
.pay-offline{
  border:1px solid #dfe6ee;
  border-radius:12px;
  background:#fbfcfe;
  padding:18px 20px 20px;
  margin-top:18px;
}
.po-hd b{
  display:block;
  font-size:15px;
  color:#16324f;
  margin-bottom:8px;
}
.po-hd span{
  display:block;
  font-size:13px;
  line-height:1.75;
  color:#5b6875;
  margin-bottom:16px;
}
.po-form label{
  display:block;
  margin-bottom:12px;
}
.po-form label i{
  display:block;
  font-style:normal;
  font-size:12px;
  color:#5b6875;
  margin-bottom:6px;
}
.po-form label.req i{color:#c0392b;}
.po-form label.req i::after{content:" *";}
.po-form input,
.po-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d5dce4;
  border-radius:8px;
  padding:9px 12px;
  font-size:14px;
  font-family:inherit;
  color:#22313f;
  background:#fff;
  outline:none;
}
.po-form input{height:40px;}
.po-form textarea{resize:vertical;line-height:1.6;}
.po-form input:focus,
.po-form textarea:focus{
  border-color:#1f6fb2;
  box-shadow:0 0 0 3px rgba(31,111,178,.10);
}
.po-form input:disabled,
.po-form textarea:disabled{background:#f2f5f8;color:#8a97a6;}
.po-submit{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  flex-wrap:wrap;
}
.po-submit .pd-main{
  height:42px;
  padding:0 30px;
  border:0;
  border-radius:8px;
  background:#1560ad;
  color:#fff;
  font-size:15px;
  cursor:pointer;
  font-family:inherit;
}
.po-submit .pd-main:hover{background:#12508f;}
.po-submit .pd-main:disabled{background:#9db4c9;cursor:not-allowed;}
.po-steps{
  margin:0;
  padding-left:20px;
  font-size:13px;
  line-height:1.9;
  color:#5b6875;
}
.po-steps b{
  color:#16324f;
  margin-right:4px;
}
@media (max-width:900px){
  .pay-offline{padding:14px 14px 16px;}
  .po-submit .pd-main{width:100%;}
}

/* ============================================================
   ★ V210.2（2026-10-22）询盘 / 留言区块 —— B2B 撮合核心动作
   ============================================================ */
.inq-block{
  border:1px solid #dfe6ee;
  border-radius:12px;
  background:#fbfcfe;
  padding:18px 20px 20px;
  margin:20px 0 6px;
}
.inq-hd{
  margin-bottom:14px;
}
.inq-hd b{
  display:block;
  font-size:15px;
  color:#16324f;
  margin-bottom:6px;
}
.inq-hd span{
  display:block;
  font-size:13px;
  line-height:1.7;
  color:#5b6875;
}
.inq-form label{
  display:block;
  margin-bottom:12px;
}
.inq-form label i{
  display:block;
  font-style:normal;
  font-size:12px;
  color:#5b6875;
  margin-bottom:6px;
}
.inq-form label.req i{color:#c0392b;}
.inq-form label.req i::after{content:" *";}
.inq-form input,
.inq-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d5dce4;
  border-radius:8px;
  padding:9px 12px;
  font-size:14px;
  font-family:inherit;
  color:#22313f;
  background:#fff;
  outline:none;
}
.inq-form input{height:40px;}
.inq-form textarea{resize:vertical;line-height:1.6;}
.inq-form input:focus,
.inq-form textarea:focus{
  border-color:#1f6fb2;
  box-shadow:0 0 0 3px rgba(31,111,178,.10);
}
.inq-act{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:16px;
}
.inq-btn{
  height:40px;
  padding:0 26px;
  border:0;
  border-radius:8px;
  background:#1560ad;
  color:#fff;
  font-size:14px;
  cursor:pointer;
  font-family:inherit;
}
.inq-btn:hover{background:#12508f;}
.inq-btn:disabled{background:#9db4c9;cursor:not-allowed;}
.inq-msg{
  font-size:13px;
  color:#c0392b;
  line-height:1.6;
}
.inq-msg.ok{color:#0f7a44;}
@media (max-width:900px){
  .inq-block{padding:14px 14px 16px;}
  .inq-btn{width:100%;}
}

/* ============================================================
   ★ V210.2（2026-10-22）询盘 / 留言区块 —— B2B 撮合核心动作
   ============================================================ */
.inq-block{
  border:1px solid #dfe6ee;
  border-radius:12px;
  background:#fbfcfe;
  padding:18px 20px 20px;
  margin:20px 0 6px;
}
.inq-hd{
  margin-bottom:14px;
}
.inq-hd b{
  display:block;
  font-size:15px;
  color:#16324f;
  margin-bottom:6px;
}
.inq-hd span{
  display:block;
  font-size:13px;
  line-height:1.7;
  color:#5b6875;
}
.inq-form label{
  display:block;
  margin-bottom:12px;
}
.inq-form label i{
  display:block;
  font-style:normal;
  font-size:12px;
  color:#5b6875;
  margin-bottom:6px;
}
.inq-form label.req i{color:#c0392b;}
.inq-form label.req i::after{content:" *";}
.inq-form input,
.inq-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d5dce4;
  border-radius:8px;
  padding:9px 12px;
  font-size:14px;
  font-family:inherit;
  color:#22313f;
  background:#fff;
  outline:none;
}
.inq-form input{height:40px;}
.inq-form textarea{resize:vertical;line-height:1.6;}
.inq-form input:focus,
.inq-form textarea:focus{
  border-color:#1f6fb2;
  box-shadow:0 0 0 3px rgba(31,111,178,.10);
}
.inq-act{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:16px;
}
.inq-btn{
  height:40px;
  padding:0 26px;
  border:0;
  border-radius:8px;
  background:#1560ad;
  color:#fff;
  font-size:14px;
  cursor:pointer;
  font-family:inherit;
}
.inq-btn:hover{background:#12508f;}
.inq-btn:disabled{background:#9db4c9;cursor:not-allowed;}
.inq-msg{
  font-size:13px;
  color:#c0392b;
  line-height:1.6;
}
.inq-msg.ok{color:#0f7a44;}
@media (max-width:900px){
  .inq-block{padding:14px 14px 16px;}
  .inq-btn{width:100%;}
}

/* ============================================================
 * V218（2026-10-23）：首屏底图必须铺满 —— 修「图只剩顶部一条」
 * ------------------------------------------------------------
 * 根因：ads-live.js 会把 .banner 整块替换成广告卡片结构
 *   （.ad-slide > a.ad-card > .ad-tx），而全局规则
 *   `.ad-card,.dyn-region,#dynCurve,.dy { height:auto !important }`
 *   让卡片高度塌成内容高（约 60–100px）→ 背景图只显示顶部一条，
 *   下面整片露出 .banner 的深蓝底色。
 * 修法：给 .banner 内的卡片单独一套「铺满式」规则（末尾覆盖，优先级最高）：
 *   卡片 absolute inset:0 铺满首屏、文案垂直居中、去掉圆角与阴影，
 *   并补一层左侧压暗，保证白字在任何底图上都可读。
 * 同时首屏底图已按容器比例（1920×318 ≈ 6.04:1）重裁为 1920×400。
 * ============================================================ */
/* 运行时插入的 .ad-slider 默认高 166px（内容区广告位用的），
   首屏必须铺满，否则整条链都在 166px 高度里显示 */
.banner .ad-slider{position:absolute;inset:0;height:auto!important}
.banner .ad-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s;pointer-events:none}
.banner .ad-slide.on{opacity:1;pointer-events:auto}
.banner .ad-card{position:absolute;inset:0;height:auto!important;min-height:100%;
  display:flex;align-items:center;gap:0;padding:0 max(34px,5vw);border-radius:0;
  box-shadow:none;background-size:cover;background-position:center;background-repeat:no-repeat;
  background-color:transparent;overflow:hidden}
.banner .ad-card::after{display:none}
.banner .ad-card:hover{transform:none;box-shadow:none}
/* 左侧压暗层：保证标题与摘要在浅色底图上也可读 */
.banner .ad-card::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(6,30,58,.86) 0%,rgba(6,30,58,.66) 40%,rgba(6,30,58,.42) 68%,rgba(6,30,58,.26) 100%)}
.banner .ad-tx{position:relative;z-index:2;max-width:760px}
.banner .ad-tx b{font-size:31px;font-weight:800;letter-spacing:1px;line-height:1.35;
  text-shadow:0 2px 14px rgba(0,0,0,.38)}
.banner .ad-tx span{font-size:15px;color:rgba(255,255,255,.92);margin-top:10px;
  white-space:normal;line-height:1.7;text-shadow:0 1px 10px rgba(0,0,0,.34)}
.banner .ad-dots{bottom:22px;right:24px}
.banner .ad-dots i{width:30px;height:4px;border-radius:2px;background:rgba(255,255,255,.45)}
.banner .ad-dots i.on{background:#fff;width:44px}
@media (max-width:900px){
  .banner .ad-card{padding:0 20px}
  .banner .ad-tx b{font-size:22px}
  .banner .ad-tx span{font-size:13px}
}

/* ============================================================
 * V220（2026-10-23）：首页供需两栏条目不再被拉伸
 * ------------------------------------------------------------
 * 背景：历史规则「③ 左两栏：9 条均分铺满，消除底部空档」给
 *   .deal-block .dlist2 li 设了 flex:1 1 auto（均分撑满）。
 *   那是「每栏固定 9 条」时写的；现在条目数是动态的（国内 5–6 条 / 国外 3 条），
 *   条目少的一栏被拉伸平分高度 → 行距巨大、看着像坏了。
 * 改法：条目顶部对齐、不拉伸，空白留在块底部；
 *   两栏等高仍由外层 grid 的 stretch 保持，视觉依旧对齐。
 * ============================================================ */
.deal-wrap .deal-block .dlist2{flex:0 0 auto;min-height:0}
.deal-wrap .deal-block .dlist2 li{flex:0 0 auto;justify-content:flex-start;min-height:0}
.deal-wrap .deal-block .dlist2 li a{height:auto;justify-content:flex-start}

/* ============================================================
 * V220（2026-10-23）：首页供需两栏条目不再被拉伸
 * ------------------------------------------------------------
 * 背景：历史规则「③ 左两栏：9 条均分铺满，消除底部空档」给
 *   .deal-block .dlist2 li 设了 flex:1 1 auto（均分撑满）。
 *   那是「每栏固定 9 条」时写的；现在条目数是动态的（国内 5–6 条 / 国外 3 条），
 *   条目少的一栏被拉伸平分高度 → 行距巨大、看着像坏了。
 * 改法：条目顶部对齐、不拉伸，空白留在块底部；
 *   两栏等高仍由外层 grid 的 stretch 保持，视觉依旧对齐。
 * ============================================================ */
.deal-wrap .deal-block .dlist2{flex:0 0 auto;min-height:0}
.deal-wrap .deal-block .dlist2 li{flex:0 0 auto;justify-content:flex-start;min-height:0}
.deal-wrap .deal-block .dlist2 li a{height:auto;justify-content:flex-start}

/* ============================================================
 * V228（2026-10-23）：首页供需信息 / 合作案例条目标题前补日期签
 *   与首页「国内动态 / 国际动态 / 政策合规」的 .dt 样式保持一致
 *   （46px 定宽、灰色小字；无日期时不占位）。
 * ============================================================ */
.dlist2 li{display:flex;align-items:flex-start;gap:8px}
.dlist2 li > a{flex:1;min-width:0;display:block}
.dlist2 li .dt{flex:0 0 46px;color:var(--ink-3);font-size:12px!important;padding-top:2px;white-space:nowrap}
.dlist2 li .dt:empty{display:none}
.deal-side ul.cases li a{display:flex;align-items:flex-start;gap:8px}
.deal-side ul.cases li a .dt{flex:0 0 46px;color:var(--ink-3);font-size:12px!important;padding-top:1px;white-space:nowrap}
.deal-side ul.cases li a .dt:empty{display:none}
.deal-side ul.cases li a .ct{flex:1;min-width:0}
@media (max-width:900px){
  .dlist2 li .dt,.deal-side ul.cases li a .dt{flex:0 0 40px;font-size:11.5px!important}
}

/* ============================================================
 * V229（2026-10-23）：入会填报 · 选择圈缩小并移到名称后 + 品类卡
 * ============================================================ */
.topt-hd{display:flex;align-items:center;gap:8px}
.topt-hd b{flex:1;min-width:0}
.topt-hd input[type="radio"]{width:15px;height:15px;min-width:15px;margin:0;flex:0 0 15px;
  accent-color:var(--blue);cursor:pointer;position:static}
.topt .topt-hd + span{margin-top:2px}
.topt.cat{background:#fbfcfe}
.topt.cat b{font-size:14px}
.topt.cat .topt-hd input[type="radio"]{accent-color:var(--green)}
.ecat{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
@media (max-width:900px){
  .topt-hd input[type="radio"]{width:14px;height:14px;min-width:14px;flex:0 0 14px}
}

/* ============================================================
 * V230（2026-10-23）：首页「风险预警」标题加粗 + 字号与「国际准则」等栏一致
 * ------------------------------------------------------------
 * 根因（用户反馈「一会加粗一会不加粗」）：
 *   标题文字被包在 <span class="iz"> 里，而旧规则
 *   `.warn .wh span{font-size:11.5px;font-weight:400;color:#ffd9d5}`
 *   会命中**所有** span —— 包括标题那个 .iz → 标题被压成 11.5px、字重 400（不加粗）。
 *   昨天改好后又被 V190 的「静态资源同步」（site/assets ← public/assets）用旧副本覆盖回去，
 *   再叠加浏览器缓存了多个 style.css?v=NNN 版本 → 表现为「刷新就变」。
 * 修法：
 *   1) 用 > 直接子级选择器把「标题 .iz/.ie」与「副标题 span」分开；
 *   2) 标题 15px/700 —— 与 .pol-col .ph h3（国际准则等栏，15px/700）一致；
 *   3) 本次改的是**源文件** backend-lite/public/assets/style.css，
 *      不会再被静态资源同步覆盖回旧版。
 * ============================================================ */
.warn .wh{font-size:15px}
.warn .wh > .iz,.warn .wh > .ie{font-size:15px!important;font-weight:700!important;color:#fff;line-height:1.35}
.warn .wh > span:not(.iz):not(.ie){font-size:11.5px!important;font-weight:400!important;color:#ffd9d5}
.warn .wh > span:not(.iz):not(.ie) .iz,
.warn .wh > span:not(.iz):not(.ie) .ie{font-size:11.5px!important;font-weight:400!important;color:#ffd9d5}

/* ============================================================
 * V231（2026-10-23）：日期签与标题同行 + 商机发布预留时间签位
 *   · 需求列表 / 合作案例：<a> 内 flex 行，左 .dt（46px）、右 .bd（标题+副信息）
 *   · 商机发布：条目同样带一个空 .dt 占位，未来真实发布内容带时间时版式对齐
 * ============================================================ */
.dlist2 li{display:block}
.dlist2 li > a{display:flex;align-items:flex-start;gap:8px}
.dlist2 li .dt{flex:0 0 46px;padding-top:2px;font-size:12px!important;color:var(--ink-3);white-space:nowrap}
.dlist2 li a .bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dlist2 li a .bd b{display:block;font-size:13.5px;font-weight:600;line-height:1.5;color:var(--ink-1);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlist2 li a .bd span{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.deal-side .side-bd ul.post li a{display:flex;flex-direction:row;align-items:flex-start;gap:8px}
.deal-side .side-bd ul.post li a .dt{flex:0 0 46px;height:18px}
.deal-side .side-bd ul.post li a .bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.deal-side .side-bd ul.post li a .bd b{font-size:14px!important;line-height:1.45}
.deal-side .side-bd ul.post li a .bd span{font-size:11.5px!important;line-height:1.5}

.deal-side .side-bd ul.cases li a{display:flex;flex-direction:row;align-items:flex-start;gap:8px}
.deal-side .side-bd ul.cases li a .dt{flex:0 0 46px;font-size:12px!important;color:var(--ink-3);
  white-space:nowrap;padding-top:1px}
.deal-side .side-bd ul.cases li a .bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;
  align-items:flex-start}
.deal-side .side-bd ul.cases li a .bd .ct{display:block;font-size:14.5px!important;font-weight:700;
  color:var(--ink);line-height:1.5;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deal-side .side-bd ul.cases li a .bd > span:last-child{align-self:flex-start;font-size:10.5px;
  color:var(--ink-3);line-height:1.5}
@media (max-width:900px){
  .dlist2 li .dt,.deal-side .side-bd ul.post li a .dt,
  .deal-side .side-bd ul.cases li a .dt{flex:0 0 40px}
}

/* ============================================================
 * V237：首屏底图等比自适应（2026-10-23）
 * ------------------------------------------------------------
 * 需求：上传的滚图尺寸不一定等于广告栏尺寸，必须等比适配，
 *       不能拉伸变形、也不能只显示一半。
 * 做法：
 *   · 底图统一 background-size:cover + background-position:center
 *     → 图再大再小都等比缩放铺满，多余部分居中裁切，绝不变形。
 *   · .ad-slider / .ad-slide / .ad-card 三层全部 absolute inset:0，
 *     高度跟随首屏容器，不再有「只占一半」的塌陷。
 *   · 容器高度用 aspect-ratio 兜底：优先贴合 1920×620 的标准比例，
 *     并用 clamp 限制上下限，避免极端宽图把首屏撑得过高。
 * ============================================================ */
.banner .ad-slider{position:absolute;inset:0;height:auto!important}
.banner .ad-slide{position:absolute;inset:0;height:auto!important;opacity:0;transition:opacity .6s;pointer-events:none}
.banner .ad-card{position:absolute;inset:0;height:auto!important;min-height:100%;
  background-size:cover;background-position:center center;background-repeat:no-repeat}

/* ============================================================
 * V238（2026-10-23）：首页「国内供需信息 / 国外供需信息」两栏
 *   —— 日期签与标题恢复同一行
 * ------------------------------------------------------------
 * 背景：L5059「③ 左两栏 9 条均分铺满」给
 *   .deal-wrap .deal-block .dlist2 li a 设了 flex-direction:column
 *   （那是"整栏条目一条条竖着排"的写法）。V220 只把它的高度属性
 *   改回 flex:0 0 auto / justify-content:flex-start / min-height:0，
 *   **漏改了 flex-direction**，方向仍是 column；
 *   而 V231 写的 `.dlist2 li > a{display:flex;align-items:flex-start;gap:8px}`
 *   特异性只有 (0,1,2)，低于 (0,3,2)，被上面那条盖住。
 *   ⇒ .dt（日期）与 .bd（标题）被竖排：日期独占一行，
 *     .bd 又被 align-items:flex-start 压成内容宽 → 标题被裁切。
 * 改法：文件末尾追加同等特异性 (0,3,2) 的覆盖规则，方向改回 row。
 *   作用域限定 .deal-wrap .deal-block，只影响首页供需撮合两栏。
 * 附带：`.dlist2 li span{margin-top:3px}`（L1154）会误伤 .dt / .bd，
 *   导致日期与标题基线错开 → 在 .dt / .bd 上清零。
 * ============================================================ */
.deal-wrap .deal-block .dlist2 li a{
  display:flex;flex-direction:row;align-items:flex-start;gap:8px;
  justify-content:flex-start;height:auto}
.deal-wrap .deal-block .dlist2 li a .dt{
  flex:0 0 46px;margin-top:0;padding-top:1px;line-height:1.5;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deal-wrap .deal-block .dlist2 li a .bd{
  flex:1;min-width:0;margin-top:0;display:flex;flex-direction:column;gap:2px}
@media (max-width:900px){
  .deal-wrap .deal-block .dlist2 li a .dt{flex:0 0 40px}
}


/* ===== 中国国际商会板块 · 内容模块样式（V1 原型） ===== */
/* 会员名录 */
.perm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#eef4fb;border:1px solid #d6e4f5;border-radius:10px;padding:10px 14px;margin:0 0 16px}
.perm-info{font-size:13px;color:#0a3566;font-weight:600}
.perm-info .ie{font-weight:500;color:#3c6fb0}
.perm-btns{display:flex;gap:8px}
.perm-btn{border:1px solid #cfe0f3;background:#fff;color:#1560ad;border-radius:20px;
  padding:5px 16px;font-size:13px;cursor:pointer;transition:.15s}
.perm-btn.on{background:#1560ad;color:#fff;border-color:#1560ad}
.perm-btn:hover{border-color:#1560ad}
.mgroups{margin:0 0 14px;border:1px solid #eef0f2;border-radius:10px;overflow:hidden}
.mgroups .mg-h{margin:0;padding:10px 14px;background:#f5f7fa;font-size:15px;color:#0a3566;
  display:flex;align-items:baseline;gap:8px;border-bottom:1px solid #eef0f2}
.mgroups .mg-h .mc{margin-left:auto;font-size:12px;color:#8b97a5;font-weight:400}
.mgroups .mlist{display:flex;gap:0;padding:6px 0}
.mgroups .mcol{flex:1;padding:0 14px;border-right:1px dashed #eef0f2}
.mgroups .mcol:last-child{border-right:none}
.mname{font-size:13px;line-height:1.9;color:#3c4753;padding:1px 0}
.mname .ie{color:#7a858f;font-size:12px}
.mlock{display:none;padding:8px 14px;background:#fff8ec;color:#a9762b;font-size:12px}
.mlock a{color:#1560ad}
.mgroups:not(.locked) .mlock{display:none}
/* 权益矩阵 */
.tbl-wrap{overflow-x:auto;margin:0 -2px}
.rtbl{border-collapse:collapse;width:100%;font-size:13px;min-width:640px}
.rtbl th,.rtbl td{border:1px solid #e6e9ed;padding:8px 10px;text-align:center;vertical-align:middle}
.rtbl thead th{background:#0a3566;color:#fff;font-weight:600;line-height:1.4}
.rtbl thead th i{display:block;font-style:normal;font-size:11px;opacity:.8;font-weight:400}
.rtbl td.svc{text-align:left;background:#f5f7fa;font-weight:600;color:#3c4753}
.rtbl td.svc .ie{display:block;font-weight:400;color:#7a858f;font-size:11px}
.rtbl td.ok{color:#1a9d5a;font-weight:700;font-size:15px}
.rtbl td.no{color:#c4cad1}
.warn-box{background:#fff8ec;border:1px solid #f3e0bf;border-radius:8px;padding:10px 14px;
  margin:0 0 16px;font-size:12.5px;color:#8a6620;line-height:1.7}
.warn-box .ie{color:#a07a30}
/* 发起与指导单位 */
.grid-m{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.fcard{border:1px solid #eef0f2;border-radius:10px;padding:14px 16px;background:#fff;transition:.15s}
.fcard:hover{box-shadow:0 4px 16px rgba(10,53,102,.08)}
.fcard .fc-h{display:flex;align-items:center;gap:8px;font-size:15px;color:#0a3566;margin-bottom:4px}
.fcard .flag{font-size:11px;background:#ffe9c7;color:#a9762b;border-radius:4px;padding:1px 6px}
.fcard .fc-role{font-size:12.5px;color:#1560ad;margin-bottom:6px}
.fcard .fc-desc{font-size:13px;color:#5a6470;line-height:1.7}
.fcard .fc-desc .ie{color:#8b97a5}
/* 入会流程 */
.steps{display:flex;flex-direction:column;gap:12px}
.step{display:flex;gap:14px;align-items:flex-start}
.step-n{flex:none;width:30px;height:30px;border-radius:50%;background:#1560ad;color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.step-b b{display:block;font-size:14px;color:#0a3566;margin-bottom:3px}
.step-b p{margin:0;font-size:13px;color:#5a6470;line-height:1.7}
.step-b p .ie{color:#8b97a5}
.apply-cta{display:flex;gap:12px;flex-wrap:wrap;padding:6px 0}
.btn-p,.btn-s{display:inline-block;border-radius:22px;padding:8px 22px;font-size:14px;text-decoration:none;font-weight:600}
.btn-p{background:#1560ad;color:#fff}
.btn-s{background:#eef4fb;color:#1560ad;border:1px solid #cfe0f3}
/* 下载中心 / 资料下载卡片 */
.dl-list{display:flex;flex-direction:column;gap:8px}
.dl-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #eef0f2;
  border-radius:8px;background:#fff;transition:.15s}
.dl-item:hover{border-color:#1560ad;background:#f5f9ff}
.dl-link{color:#1560ad;text-decoration:none;font-size:13.5px;flex:1;word-break:break-all}
.dl-link:hover{text-decoration:underline}
.dl-link .ie{color:#7a858f;font-size:12px}
.dl-ext{font-size:11px;color:#8b97a5;background:#f0f3f6;border-radius:4px;padding:1px 6px;text-transform:uppercase}
.dl-id{font-size:11px;color:#b6bdc4;font-weight:600}
.dl-cat{margin:0 0 18px}
.dl-cat>h3{font-size:15px;color:#0a3566;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid #eef0f2}
.dl-more{margin-top:10px;font-size:12.5px}
.dl-more a{color:#1560ad}
.muted{color:#9aa0a6}
@media(max-width:640px){.grid-m{grid-template-columns:1fr}.mgroups .mlist{flex-direction:column}
.mgroups .mcol{border-right:none;border-bottom:1px dashed #eef0f2}.perm-bar{flex-direction:column;align-items:flex-start}}
