/* ════════════════════════════════════════════
   设计系统 Design Tokens
   ════════════════════════════════════════════ */
:root{
    --jx-blue:#1e6fff;
    --jx-cyan:#00c6ff;
    --jx-ink:#0b1626;
    --jx-ink-2:#0e2036;
    --jx-text:#eaf2ff;
    --jx-muted:#93a4bd;
    --jx-radius:16px;
}

/* ════════════ Hero 主视觉 ════════════ */
.jx-hero{
    position:relative;
    overflow:hidden;
    color:var(--jx-text);
    background:linear-gradient(120deg,#081120 0%, #0b1e33 55%, #0a2a44 100%);
    padding:96px 0 72px;
}
.jx-hero-bg{
    position:absolute; inset:0;
    background:url("../images/hero-bg.webp") center 60%/cover no-repeat;
    opacity:.28;
    -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.15) 70%,transparent);
            mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.15) 70%,transparent);
    pointer-events:none;
}
.jx-hero::after{ /* 点阵网格 */
    content:""; position:absolute; inset:0; pointer-events:none;
    background-image:radial-gradient(rgba(120,180,255,.14) 1px, transparent 1px);
    background-size:26px 26px;
    -webkit-mask-image:radial-gradient(ellipse at 30% 20%, #000 0%, transparent 70%);
            mask-image:radial-gradient(ellipse at 30% 20%, #000 0%, transparent 70%);
}
.jx-hero-orb{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; pointer-events:none; }
.jx-orb-1{ width:420px; height:420px; left:-120px; top:-140px; background:radial-gradient(circle,#1e6fff, transparent 70%); animation:jxFloat 9s ease-in-out infinite; }
.jx-orb-2{ width:360px; height:360px; right:-100px; bottom:-160px; background:radial-gradient(circle,#00c6ff, transparent 70%); animation:jxFloat 11s ease-in-out infinite reverse; }
@keyframes jxFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-24px)} }

.jx-hero-inner{ position:relative; z-index:2; display:flex; align-items:center; gap:56px; }
.jx-hero-copy{ flex:1 1 55%; min-width:0; }
.jx-hero-visual{ flex:1 1 45%; min-width:0; }

.jx-hero-badge{
    display:inline-flex; align-items:center; gap:8px;
    padding:7px 16px; border-radius:999px;
    background:rgba(30,111,255,.16); border:1px solid rgba(0,198,255,.35);
    color:#7fd0ff; font-size:13px; letter-spacing:.5px;
    backdrop-filter:blur(6px);
}
.jx-hero-badge .jx-dot{ width:7px; height:7px; border-radius:50%; background:var(--jx-cyan); box-shadow:0 0 0 0 rgba(0,198,255,.6); animation:jxPulse 2s infinite; }
@keyframes jxPulse{ 0%{box-shadow:0 0 0 0 rgba(0,198,255,.5)} 70%{box-shadow:0 0 0 9px rgba(0,198,255,0)} 100%{box-shadow:0 0 0 0 rgba(0,198,255,0)} }

.jx-hero-title{
    margin:22px 0 16px; font-size:46px; line-height:1.18; font-weight:800; color:#fff;
    letter-spacing:.5px;
}
.jx-hero-title em{
    font-style:normal;
    background:linear-gradient(92deg,#4da3ff, #00e0ff);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.jx-hero-sub{ color:var(--jx-muted); font-size:16px; line-height:1.8; max-width:520px; margin:0 0 28px; }

.jx-hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.jx-btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:13px 28px; border-radius:12px; font-size:15px; font-weight:600;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.jx-btn-primary{
    color:#fff; background:linear-gradient(92deg,var(--jx-blue), var(--jx-cyan));
    box-shadow:0 8px 24px rgba(0,150,255,.35);
}
.jx-btn-primary:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(0,170,255,.45); }
.jx-btn-primary svg{ transition:transform .25s ease; }
.jx-btn-primary:hover svg{ transform:translateX(4px); }
.jx-btn-ghost{
    color:var(--jx-text); border:1px solid rgba(147,164,189,.4); background:rgba(255,255,255,.04);
    backdrop-filter:blur(6px);
}
.jx-btn-ghost:hover{ border-color:var(--jx-cyan); color:#7fd0ff; transform:translateY(-3px); }

.jx-hero-stats{
    list-style:none; display:flex; gap:40px; margin:36px 0 0; padding:22px 0 0;
    border-top:1px solid rgba(147,164,189,.2);
}
.jx-hero-stats li{ display:flex; flex-direction:column; gap:4px; }
.jx-hero-stats strong{ font-size:26px; font-weight:800; color:#fff; font-variant-numeric:tabular-nums; }
.jx-hero-stats span{ font-size:13px; color:var(--jx-muted); }

/* Hero 右侧视觉 */
.jx-hero-frame{
    position:relative; border-radius:20px; overflow:hidden;
    box-shadow:0 24px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(0,198,255,.25);
    transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);
    transition:transform .5s ease;
}
.jx-hero-frame:hover{ transform:perspective(1200px) rotateY(0) rotateX(0); }
.jx-hero-frame img{ display:block; width:100%; height:auto; }
.jx-float-chip{
    position:absolute; display:inline-flex; align-items:center; gap:7px;
    padding:8px 14px; border-radius:999px; font-size:12.5px; font-weight:600; color:#dff3ff;
    background:rgba(8,20,36,.72); border:1px solid rgba(0,198,255,.4);
    backdrop-filter:blur(8px);
}
.jx-float-chip i{ width:7px; height:7px; border-radius:50%; background:var(--jx-cyan); }
.jx-chip-1{ top:14%; left:8%; animation:jxFloat 6s ease-in-out infinite; }
.jx-chip-2{ top:44%; right:6%; animation:jxFloat 7s ease-in-out infinite .8s; }
.jx-chip-3{ bottom:12%; left:16%; animation:jxFloat 8s ease-in-out infinite .4s; }

/* ════════════ 测评库渐变图标卡 ════════════ */
/* 测评导航卡：白卡 + 彩色图标点缀（v2） */
.ceping-nav-list{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin:0; padding:0; list-style:none; }
.ceping-card{
    position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:3px;
    padding:20px 18px 18px; border-radius:12px; overflow:hidden;
    background:#fff; border:1px solid #e8eef6;
    color:#16273e; text-decoration:none;
    box-shadow:0 2px 10px rgba(16,42,90,.05);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ceping-card:hover{ transform:translateY(-4px); box-shadow:0 12px 26px rgba(16,42,90,.10); border-color:transparent; }

/* 悬停边框跟随主题色 */
.ceping-card.g-blue:hover  { border-color:#bfd9ff; }
.ceping-card.g-purple:hover{ border-color:#ddccff; }
.ceping-card.g-cyan:hover  { border-color:#bcebf5; }
.ceping-card.g-orange:hover{ border-color:#ffe0b3; }
.ceping-card.g-green:hover { border-color:#b9ead3; }

/* 顶部彩色指示条 */
.ceping-card::before{
    content:""; position:absolute; left:18px; top:0; width:34px; height:3px; border-radius:0 0 3px 3px;
}
.ceping-card.g-blue::before  { background:#2f7bff; }
.ceping-card.g-purple::before{ background:#8b5cf6; }
.ceping-card.g-cyan::before  { background:#0aa2c0; }
.ceping-card.g-orange::before{ background:#f59e0b; }
.ceping-card.g-green::before { background:#10b981; }

/* 图标：浅色底 + 彩色描边 */
.ceping-icon{
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:11px; margin-bottom:8px;
    transition:transform .22s ease;
}
.ceping-icon svg{ width:22px; height:22px; }
.ceping-card.g-blue  .ceping-icon{ background:#eef4ff; color:#2f7bff; }
.ceping-card.g-purple .ceping-icon{ background:#f5f0ff; color:#8b5cf6; }
.ceping-card.g-cyan  .ceping-icon{ background:#eafafd; color:#0aa2c0; }
.ceping-card.g-orange .ceping-icon{ background:#fff7ea; color:#e8890c; }
.ceping-card.g-green  .ceping-icon{ background:#ecfaf4; color:#10b981; }
.ceping-card:hover .ceping-icon{ transform:translateY(-2px); }

.ceping-nav-title{ font-size:14.5px; font-weight:700; color:#16273e; line-height:1.4; }
.ceping-nav-desc{ font-size:12px; color:#8296ad; line-height:1.5; }
.ceping-arrow{ position:absolute; right:14px; top:22px; opacity:0; color:#b6c4d6; transform:translateX(-6px); transition:all .25s ease; }
.ceping-card:hover .ceping-arrow{ opacity:1; transform:translateX(0); }

/* 移动端：测评导航 + 首页底部商家列表不展示 */
@media (max-width: 767px) {
    .ceping-nav,
    .vendor-strip { display:none !important; }
}

/* ════════════ 商家库头像卡 ════════════ */
.vendor-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.vendor-card{
    display:flex; align-items:center; gap:12px; padding:14px 16px;
    background:#fff; border:1px solid #eef1f6; border-radius:14px;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.vendor-card:hover{ transform:translateY(-4px); border-color:rgba(30,111,255,.4); box-shadow:0 12px 28px rgba(30,111,255,.12); }
.vendor-avatar{
    flex:0 0 44px; width:44px; height:44px; border-radius:12px;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:19px; font-weight:800; color:#fff;
    background:linear-gradient(135deg,var(--jx-blue), var(--jx-cyan));
}
.vendor-info{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.vendor-info strong{ font-size:15px; color:#1d2b3f; }
.vendor-info em{ font-style:normal; font-size:12px; color:#8a97a8; }
.vendor-arrow{ margin-left:auto; color:#b7c2d0; transition:all .25s ease; }
.vendor-card:hover .vendor-arrow{ color:var(--jx-blue); transform:translateX(3px); }

/* ════════════ 滚动显现 ════════════ */
.jx-reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.jx-reveal.jx-in{ opacity:1; transform:none; }

/* ════════════ 响应式 ════════════ */
@media (max-width: 992px){
    .jx-hero{ padding:84px 0 56px; }
    .jx-hero-inner{ flex-direction:column; gap:36px; }
    .jx-hero-title{ font-size:36px; }
    .ceping-nav-list{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 640px){
    .jx-hero-title{ font-size:30px; }
    .jx-hero-stats{ gap:22px; flex-wrap:wrap; }
    .jx-hero-stats strong{ font-size:21px; }
    .ceping-nav-list{ grid-template-columns:repeat(2,1fr); gap:10px; }
    .ceping-card{ padding:18px 14px 16px; }
    .ceping-icon{ width:40px; height:40px; }
    .vendor-grid{ grid-template-columns:1fr; }
}

/* ════════════ 测评文章布局 ════════════ */
.rv-card.rv-score{
    display:flex; align-items:center; gap:20px;
    margin:0 0 22px; padding:18px 22px; border-radius:16px;
    background:linear-gradient(120deg,#0b1e33,#0a2a44); color:#eaf2ff;
    box-shadow:0 10px 26px rgba(8,20,40,.25);
}
.rv-score-num strong{ font-size:40px; font-weight:800; color:#fff; }
.rv-score-num span{ font-size:14px; color:#93a4bd; margin-left:2px; }
.rv-stars{ font-size:18px; letter-spacing:2px; color:#3a4a61; }
.rv-star.on{ color:#ffb400; }
.rv-score-meta{ display:flex; align-items:center; gap:10px; margin-top:4px; }
.rv-vendor{ display:inline-flex; padding:3px 12px; border-radius:999px; background:rgba(0,198,255,.16); border:1px solid rgba(0,198,255,.4); color:#7fd0ff; font-size:12.5px; }
.rv-price{ font-style:normal; color:#ffd27a; font-weight:700; font-size:14px; }
.rv-h{ margin:26px 0 12px; font-size:18px; font-weight:700; color:#1d2b3f; border-left:4px solid var(--jx-blue); padding-left:10px; }
.rv-table{ width:100%; border-collapse:collapse; border-radius:12px; overflow:hidden; box-shadow:0 0 0 1px #e6ebf2; }
.rv-table th,.rv-table td{ padding:10px 14px; font-size:14px; text-align:left; }
.rv-table th{ width:110px; background:#f2f6fb; color:#5a6b80; font-weight:600; }
.rv-table tr:nth-child(even) td{ background:#eff4fa; }
.rv-proscons{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rv-col{ border-radius:12px; padding:14px 16px; }
.rv-col h4{ margin:0 0 8px; font-size:15px; }
.rv-col ul{ margin:0; padding-left:18px; }
.rv-col li{ font-size:14px; margin:4px 0; }
.rv-good{ background:#f0faf4; border:1px solid #bfe8cd; } .rv-good h4{ color:#178a4c; }
.rv-bad{ background:#fdf3f2; border:1px solid #f2cdc9; } .rv-bad h4{ color:#c0392b; }

/* ════════════ 商家库 / 商家档案 ════════════ */
.jx-page-head{ margin:6px 0 22px; }
.jx-page-head h1{ font-size:26px; font-weight:800; color:#1d2b3f; margin:0 0 8px; }
.jx-page-head p{ color:#8a97a8; margin:0; }
.vendor-grid-page{ grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.vendor-rate{ margin-left:auto; font-weight:800; color:var(--jx-blue); font-size:16px; }
.vendor-rate i{ font-style:normal; font-size:11px; color:#98a5b5; margin-left:1px; }
.vendor-rate-lg{ font-size:26px; }
.jx-method-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; }
.jx-method-list li{ font-size:14px; color:#5a6b80; }
.jx-method-list strong{ color:#1d2b3f; margin-right:6px; }
.jx-empty{ padding:40px; text-align:center; color:#98a5b5; background:#f7f9fc; border-radius:12px; }
.rv-vendor-head{ display:flex; align-items:center; gap:16px; margin:6px 0 22px; padding:20px; border-radius:16px; background:linear-gradient(120deg,#0b1e33,#0a2a44); color:#eaf2ff; }
.vendor-avatar-lg{ width:64px; height:64px; font-size:28px; border-radius:16px; }
.rv-vendor-title h1{ font-size:22px; font-weight:800; color:#fff; margin:0 0 4px; }
.rv-vendor-title p{ margin:0; color:#93a4bd; font-size:13.5px; }
.rv-vendor-side{ margin-left:auto; display:flex; align-items:center; gap:12px; }
.jx-btn-sm{ padding:8px 18px; font-size:13px; }
@media (max-width:640px){
    .rv-card.rv-score{ flex-direction:column; align-items:flex-start; gap:10px; }
    .rv-proscons{ grid-template-columns:1fr; }
    .jx-method-list{ grid-template-columns:1fr; }
    .rv-vendor-head{ flex-wrap:wrap; }
    .rv-vendor-side{ margin-left:0; }
}

/* ════════════ 测评卡 v2：评级徽章 + 四维评分条 ════════════ */
.rv-score-top{ display:flex; align-items:center; gap:12px; }
.rv-verdict{ display:inline-flex; padding:4px 12px; border-radius:999px; font-size:13px; font-weight:700; }
.rv-verdict.v-great{ background:linear-gradient(92deg,#ff9d00,#ffb400); color:#fff; box-shadow:0 4px 14px rgba(255,170,0,.4); }
.rv-verdict.v-good { background:rgba(52,211,153,.18); color:#34d399; border:1px solid rgba(52,211,153,.5); }
.rv-verdict.v-ok   { background:rgba(125,211,252,.15); color:#7dd3fc; border:1px solid rgba(125,211,252,.4); }
.rv-verdict.v-warn { background:rgba(248,113,113,.15); color:#f87171; border:1px solid rgba(248,113,113,.4); }
.rv-score-main{ display:flex; flex-direction:column; gap:8px; }
.rv-chip{ font-style:normal; font-size:12.5px; color:#9fb4d4; background:rgba(159,180,212,.12); padding:3px 10px; border-radius:999px; }
.rv-score-bars{ display:flex; flex-direction:column; gap:10px; flex:1; min-width:240px; margin-left:26px; }
.rv-bar{ display:flex; align-items:center; gap:10px; }
.rv-bar-label{ width:48px; font-size:12.5px; color:#93a4bd; text-align:right; }
.rv-bar-track{ flex:1; height:8px; border-radius:99px; background:rgba(147,164,189,.22); overflow:hidden; }
.rv-bar-track i{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#1e6fff,#00e0ff); animation:jxBarGrow 1s ease both; transform-origin:left; }
@keyframes jxBarGrow{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }
.rv-bar-num{ width:26px; font-size:12.5px; color:#7fd0ff; font-weight:700; font-variant-numeric:tabular-nums; }

/* ════════════ 商家库 v2 ════════════ */
.jx-vendors-hero, .jx-vp-hero{ position:relative; overflow:hidden; color:var(--jx-text); background:linear-gradient(120deg,#081120 0%,#0b1e33 55%,#0a2a44 100%); }
.jx-vendors-hero{ padding:52px 0 44px; }
.jx-vendors-hero h1{ font-size:32px; font-weight:800; color:#fff; margin:0 0 10px; }
.jx-vendors-hero p{ color:var(--jx-muted); margin:0 0 22px; max-width:560px; }
.jx-vh-stats{ list-style:none; display:flex; gap:38px; margin:0; padding:0; }
.jx-vh-stats li{ display:flex; flex-direction:column; }
.jx-vh-stats strong{ font-size:26px; font-weight:800; color:#fff; }
.jx-vh-stats strong i{ font-style:normal; font-size:13px; color:#93a4bd; }
.jx-vh-stats span{ font-size:12.5px; color:var(--jx-muted); }

.jx-filter-tabs{ display:flex; gap:10px; margin:0 0 18px; flex-wrap:wrap; }
.jx-ftab{ padding:8px 20px; border-radius:999px; border:1px solid #dfe6ef; background:#fff; color:#5a6b80; font-size:13.5px; cursor:pointer; transition:all .2s; }
.jx-ftab:hover{ border-color:var(--jx-blue); color:var(--jx-blue); }
.jx-ftab.active{ background:linear-gradient(92deg,var(--jx-blue),var(--jx-cyan)); border-color:transparent; color:#fff; box-shadow:0 6px 16px rgba(0,150,255,.3); }

.vcard-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.vcard{ position:relative; display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden; border:1px solid #e8edf4; transition:transform .25s ease, box-shadow .25s ease; text-decoration:none; }
.vcard:hover{ transform:translateY(-5px); box-shadow:0 16px 36px rgba(15,40,80,.14); }
.vcard-band{ display:block; height:64px; }
.vcard.g-blue .vcard-band{ background:linear-gradient(120deg,#1e6fff,#00c6ff); }
.vcard.g-purple .vcard-band{ background:linear-gradient(120deg,#7c3aed,#a06bff); }
.vcard.g-cyan .vcard-band{ background:linear-gradient(120deg,#0891b2,#22d3ee); }
.vcard.g-orange .vcard-band{ background:linear-gradient(120deg,#f59e0b,#fb7c1a); }
.vcard.g-green .vcard-band{ background:linear-gradient(120deg,#0ea371,#34d399); }
.vcard.g-blue .vcard-avatar{ background:linear-gradient(135deg,#1e6fff,#00a6ff); }
.vcard.g-purple .vcard-avatar{ background:linear-gradient(135deg,#7c3aed,#a06bff); }
.vcard.g-cyan .vcard-avatar{ background:linear-gradient(135deg,#0891b2,#22d3ee); }
.vcard.g-orange .vcard-avatar{ background:linear-gradient(135deg,#f59e0b,#fb7c1a); }
.vcard.g-green .vcard-avatar{ background:linear-gradient(135deg,#0ea371,#34d399); }
.vcard-avatar{ position:absolute; top:36px; left:18px; width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:800; color:#fff; box-shadow:0 8px 20px rgba(0,0,0,.22); border:3px solid #fff; }
.vcard-avatar-lg{ width:72px; height:72px; font-size:30px; }
.vcard-body{ padding:20px 18px 14px 18px; margin-top:22px; display:flex; flex-direction:column; gap:6px; }
.vcard-name{ font-size:17px; font-weight:700; color:#1d2b3f; }
.vcard-stars{ color:#d5dde8; font-size:14px; letter-spacing:2px; }
.vcard-stars i, .vcard-stars b{ font-style:normal; font-weight:400; }
.vcard-stars .on, .vcard-stars b.on{ color:#ffb400; }
.vcard-meta{ display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
.vcard-meta em{ font-style:normal; font-size:11.5px; color:#66788e; background:#f2f6fb; padding:3px 10px; border-radius:999px; }
.vcard-meta em.vcard-price{ color:#c4451c; background:#fdf0ea; font-weight:600; }
.vcard-score{ position:absolute; top:12px; right:14px; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.3); }
.vcard-score strong{ font-size:24px; font-weight:800; }
.vcard-score i{ font-style:normal; font-size:11px; opacity:.85; }
.vcard-go{ margin:2px 18px 16px; padding:9px 0; text-align:center; border-radius:10px; font-size:13px; font-weight:600; color:var(--jx-blue); background:#eef5ff; transition:all .2s; }
.vcard:hover .vcard-go{ background:linear-gradient(92deg,var(--jx-blue),var(--jx-cyan)); color:#fff; }

/* 测评方法卡片 */
.jx-method-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.jx-method{ padding:18px 16px; border-radius:14px; background:#f7f9fc; border:1px solid #e8edf4; transition:all .25s; }
.jx-method:hover{ background:#fff; border-color:rgba(30,111,255,.35); box-shadow:0 10px 24px rgba(30,111,255,.1); transform:translateY(-3px); }
.jx-method i.jm{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; margin-bottom:10px; font-style:normal; font-size:19px; color:#fff; background:linear-gradient(135deg,var(--jx-blue),var(--jx-cyan)); }
.jx-method:nth-child(2) i.jm{ background:linear-gradient(135deg,#7c3aed,#a06bff); }
.jx-method:nth-child(3) i.jm{ background:linear-gradient(135deg,#0ea371,#34d399); }
.jx-method:nth-child(4) i.jm{ background:linear-gradient(135deg,#f59e0b,#fb7c1a); }
.jx-method strong{ display:block; font-size:15px; color:#1d2b3f; margin-bottom:4px; }
.jx-method p{ margin:0; font-size:12.5px; color:#66788e; line-height:1.6; }

/* 商家档案头 v2 */
.jx-vp-hero{ padding:44px 0 38px; }
.jx-vp-inner{ position:relative; z-index:2; display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.jx-vp-title h1{ font-size:28px; font-weight:800; color:#fff; margin:0 0 8px; }
.jx-vp-title p{ color:var(--jx-muted); margin:0 0 12px; max-width:560px; font-size:14px; line-height:1.7; }
.jx-vp-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.vc-chip{ font-style:normal; font-size:12.5px; padding:4px 13px; border-radius:999px; background:rgba(0,198,255,.14); border:1px solid rgba(0,198,255,.35); color:#7fd0ff; }
.vc-chip-price{ background:rgba(255,176,0,.14); border-color:rgba(255,184,0,.4); color:#ffd27a; }
.jx-vp-side{ margin-left:auto; display:flex; align-items:center; gap:18px; }
.jx-vp-score{ display:flex; align-items:baseline; gap:2px; color:#fff; }
.jx-vp-score strong{ font-size:42px; font-weight:800; }
.jx-vp-score i{ font-style:normal; font-size:14px; color:#93a4bd; }
.jx-vp-score .vcard-stars{ display:block; text-shadow:0 2px 8px rgba(0,0,0,.35); }

@media (max-width:768px){
    .jx-method-grid{ grid-template-columns:repeat(2,1fr); }
    .vcard-grid{ grid-template-columns:1fr; }
    .jx-vh-stats{ gap:22px; flex-wrap:wrap; }
    .jx-vp-side{ margin-left:0; width:100%; }
}

/* ════════ 商家档案页 v3 ════════ */
.jx-orbs{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.jx-orbs i{ position:absolute; border-radius:50%; filter:blur(46px); opacity:.5; animation:jxFloat 9s ease-in-out infinite; }
.jx-orbs i:nth-child(1){ width:230px; height:230px; right:8%; top:-70px; background:rgba(0,132,255,.4); }
.jx-orbs i:nth-child(2){ width:160px; height:160px; right:30%; bottom:-50px; background:rgba(0,198,255,.3); animation-delay:2.5s; }
.jx-orbs i:nth-child(3){ width:130px; height:130px; left:32%; top:-30px; background:rgba(120,90,255,.28); animation-delay:5s; }
@keyframes jxFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-22px) } }

.jx-vp3-hero{ position:relative; overflow:hidden; color:#fff; }
.jx-vp3-inner{ position:relative; z-index:2; display:flex; align-items:center; gap:26px; padding:52px 0 44px; flex-wrap:wrap; }
.jx-vp3-ava{ display:flex; align-items:center; justify-content:center; width:92px; height:92px; border-radius:26px; font-size:38px; font-weight:800; color:#fff; background:linear-gradient(135deg,var(--jx-blue),#7c5cff 60%,var(--jx-cyan)); box-shadow:0 14px 34px rgba(0,110,255,.45), inset 0 1px 0 rgba(255,255,255,.28); text-shadow:0 2px 6px rgba(0,0,0,.25); flex:none; }
.jx-vp3-info{ flex:1; min-width:260px; }
.jx-vp3-info h1{ margin:0 0 10px; font-size:31px; font-weight:800; letter-spacing:.5px; }
.jx-vp3-info > p{ margin:0 0 14px; max-width:600px; font-size:14px; line-height:1.75; color:var(--jx-muted); }
.jx-vp3-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.jx-vp3-chips a.vc-chip{ cursor:pointer; transition:all .2s; }
.jx-vp3-chips a.vc-chip:hover{ background:rgba(0,198,255,.3); color:#fff; transform:translateY(-2px); }

.jx-vp3-panel{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:22px 30px 18px; border-radius:18px; background:rgba(13,25,48,.55); border:1px solid rgba(120,160,255,.22); backdrop-filter:blur(12px); box-shadow:0 18px 44px rgba(2,10,30,.5); flex:none; }
.jx-vp3-score{ display:flex; align-items:baseline; gap:3px; }
.jx-vp3-score strong{ font-size:46px; font-weight:800; line-height:1; background:linear-gradient(180deg,#fff,#8fd4ff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.jx-vp3-score i{ font-style:normal; font-size:13px; color:#8ba0bd; }
.jx-vp3-panel .vcard-stars{ font-size:16px; }
.jx-vp3-verdict{ font-style:normal; font-size:12.5px; font-weight:700; padding:4px 16px; border-radius:999px; letter-spacing:2px; }
.jx-vp3-verdict.v-great{ background:linear-gradient(135deg,#ff9d2e,#ff5e3a); color:#fff; box-shadow:0 4px 14px rgba(255,110,50,.4); }
.jx-vp3-verdict.v-good{ background:linear-gradient(135deg,#18c964,#0ea371); color:#fff; box-shadow:0 4px 14px rgba(20,190,100,.35); }
.jx-vp3-verdict.v-ok{ background:linear-gradient(135deg,#2f90ff,#1e6fff); color:#fff; }
.jx-vp3-verdict.v-warn{ background:rgba(255,180,60,.16); color:#ffc861; border:1px solid rgba(255,190,80,.4); }

.jx-vp3-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:-26px auto 0; position:relative; z-index:3; }
.jx-vp3-stat{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:20px 10px 17px; border-radius:14px; background:#fff; border:1px solid #e8edf4; box-shadow:0 12px 30px rgba(16,42,90,.08); }
.jx-vp3-stat em{ font-style:normal; font-size:22px; font-weight:800; color:#17324f; }
.jx-vp3-stat span{ font-size:12px; color:#8395ab; letter-spacing:1px; }
.jx-vp3-stat:nth-child(1) em{ color:var(--jx-blue); }

.jx-vp3-body{ padding:30px 0 46px; }
.jx-vp3-sec{ margin-bottom:30px; }
.jx-vp3-sechead{ display:flex; align-items:center; margin-bottom:16px; }
.jx-vp3-sechead h2{ display:flex; align-items:center; gap:10px; margin:0; font-size:19px; font-weight:800; color:#16273e; }
.jx-vp3-sechead h2 i{ width:5px; height:20px; border-radius:3px; background:linear-gradient(180deg,var(--jx-blue),var(--jx-cyan)); }
.jx-vp3-cnt{ font-size:12px; font-weight:600; color:#7f92a8; background:#f0f4fa; padding:2px 10px; border-radius:999px; }
.jx-vp3-all{ margin-left:auto; font-size:13px; font-weight:600; color:var(--jx-blue); }
.jx-vp3-all:hover{ color:var(--jx-cyan); }

.jx-art-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.jx-art-card{ display:flex; flex-direction:column; border-radius:14px; background:#fff; border:1px solid #e8edf4; overflow:hidden; text-decoration:none; transition:all .25s; }
.jx-art-card:hover{ transform:translateY(-4px); border-color:rgba(30,111,255,.35); box-shadow:0 16px 36px rgba(16,42,90,.13); }
.jx-art-thumb{ position:relative; height:158px; background:linear-gradient(135deg,#eef3fa,#dfe8f4); overflow:hidden; }
.jx-art-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.jx-art-card:hover .jx-art-thumb img{ transform:scale(1.05); }
.jx-art-thumb::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(6,16,34,.5)); }
.jx-art-score{ position:absolute; right:10px; bottom:10px; z-index:2; font-style:normal; font-size:12px; font-weight:800; color:#fff; padding:3px 11px; border-radius:999px; background:linear-gradient(135deg,#ff9d2e,#ff5e3a); box-shadow:0 4px 10px rgba(0,0,0,.3); }
.jx-art-body{ display:flex; flex-direction:column; gap:7px; padding:15px 17px 17px; }
.jx-art-meta{ display:flex; align-items:center; gap:10px; }
.jx-art-meta em{ font-style:normal; font-size:11px; font-weight:600; color:var(--jx-blue); background:rgba(30,111,255,.09); padding:2px 9px; border-radius:999px; }
.jx-art-meta time{ font-size:11.5px; color:#9aa8ba; }
.jx-art-body h3{ margin:0; font-size:15.5px; font-weight:700; color:#1d2b3f; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.jx-art-card:hover h3{ color:var(--jx-blue); }
.jx-art-body p{ margin:0; font-size:12.5px; color:#7c8ca1; line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

@media (max-width:992px){
    .jx-vp3-stats{ grid-template-columns:repeat(2,1fr); margin-top:-18px; }
}
@media (max-width:768px){
    .jx-vp3-inner{ padding:36px 0 34px; gap:18px; }
    .jx-vp3-ava{ width:70px; height:70px; font-size:28px; border-radius:20px; }
    .jx-vp3-info h1{ font-size:24px; }
    .jx-vp3-panel{ width:100%; flex-direction:row; align-items:center; justify-content:space-between; padding:14px 18px; }
    .jx-vp3-score strong{ font-size:34px; }
    .jx-art-grid{ grid-template-columns:1fr; }
    .jx-vp3-sechead h2{ font-size:17px; }
}

/* ════════ 商家档案页 v3.1：深度测评横卡 + 资讯列表 ════════ */
.jx-vp3-body{ padding:28px 0 46px; }
.jx-rv-list{ display:flex; flex-direction:column; gap:16px; }
.jx-rv-card{ display:flex; gap:0; border-radius:14px; background:#fff; border:1px solid #e8edf4; overflow:hidden; text-decoration:none; transition:all .25s; }
.jx-rv-card:hover{ transform:translateY(-3px); border-color:rgba(30,111,255,.35); box-shadow:0 14px 32px rgba(16,42,90,.12); }
.jx-rv-thumb{ position:relative; width:260px; min-height:172px; flex:none; background:linear-gradient(135deg,#eef3fa,#dfe8f4); overflow:hidden; }
.jx-rv-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.jx-rv-card:hover .jx-rv-thumb img{ transform:scale(1.05); }
.jx-rv-score{ position:absolute; left:10px; top:10px; z-index:2; font-style:normal; font-size:16px; font-weight:800; color:#fff; padding:4px 12px; border-radius:10px; background:linear-gradient(135deg,#ff9d2e,#ff5e3a); box-shadow:0 4px 12px rgba(255,90,40,.4); }
.jx-rv-score i{ font-style:normal; font-size:10px; font-weight:600; opacity:.85; margin-left:1px; }
.jx-rv-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; padding:18px 20px; }
.jx-rv-body h3{ margin:0; font-size:17px; font-weight:700; color:#1d2b3f; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.jx-rv-card:hover .jx-rv-body h3{ color:var(--jx-blue); }
.jx-rv-body p{ margin:0; font-size:13px; color:#7c8ca1; line-height:1.75; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.jx-rv-badge{ color:#e67e22 !important; background:rgba(255,150,50,.1) !important; }
.jx-rv-go{ margin-top:auto; align-self:flex-start; font-size:12.5px; font-weight:700; color:var(--jx-blue); transition:all .2s; }
.jx-rv-card:hover .jx-rv-go{ color:var(--jx-cyan); letter-spacing:1px; }

.jx-nl{ display:flex; flex-direction:column; background:#fff; border:1px solid #e8edf4; border-radius:14px; overflow:hidden; }
.jx-nl-row{ display:flex; align-items:center; gap:14px; padding:13px 18px; text-decoration:none; border-bottom:1px solid #f0f4f9; transition:background .18s; }
.jx-nl-row:last-child{ border-bottom:none; }
.jx-nl-row:hover{ background:#f6f9fd; }
.jx-nl-thumb{ width:104px; height:70px; flex:none; border-radius:8px; overflow:hidden; background:linear-gradient(135deg,#eef3fa,#dfe8f4); }
.jx-nl-thumb img{ width:100%; height:100%; object-fit:cover; }
.jx-nl-body{ flex:1; min-width:0; }
.jx-nl-body h4{ margin:0 0 6px; font-size:14.5px; font-weight:600; color:#26374d; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jx-nl-row:hover h4{ color:var(--jx-blue); }
.jx-nl-meta{ display:flex; align-items:center; gap:10px; }
.jx-nl-meta em{ font-style:normal; font-size:11px; font-weight:600; color:#6b7d94; background:#eef3fa; padding:2px 9px; border-radius:999px; }
.jx-nl-meta time{ font-size:11.5px; color:#a3b0c0; }

@media (max-width:768px){
    .jx-rv-card{ flex-direction:column; }
    .jx-rv-thumb{ width:100%; min-height:0; height:168px; }
    .jx-nl-thumb{ width:88px; height:60px; }
    .jx-nl-body h4{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
}

/* ════════ 商家档案页 v4：大气高端头部 + 杂志式资讯 ════════ */
.jx-vp4-hero{ position:relative; overflow:hidden; color:#fff; padding-bottom:0; }
.jx-vp4-dots{ position:absolute; inset:0; background-image:radial-gradient(rgba(140,170,255,.16) 1px, transparent 1px); background-size:26px 26px; -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 72%); mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 72%); pointer-events:none; }
.jx-vp4-inner{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:58px 0 46px; flex-wrap:wrap; }
.jx-vp4-left{ flex:1; min-width:300px; }
.jx-vp4-namerow{ display:flex; align-items:center; gap:22px; margin-bottom:16px; }
.jx-vp4-ava{ position:relative; display:flex; align-items:center; justify-content:center; width:100px; height:100px; border-radius:28px; font-size:42px; font-weight:800; color:#fff; background:linear-gradient(135deg,var(--jx-blue),#7c5cff 55%,var(--jx-cyan)); box-shadow:0 18px 44px rgba(0,110,255,.5), inset 0 1px 0 rgba(255,255,255,.3); text-shadow:0 2px 8px rgba(0,0,0,.3); flex:none; }
.jx-vp4-ava::after{ content:''; position:absolute; inset:-7px; border-radius:33px; border:1.5px solid rgba(140,190,255,.35); }
.jx-vp4-namerow h1{ margin:0 0 10px; font-size:40px; font-weight:800; letter-spacing:1px; line-height:1.15; }
.jx-vp4-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.jx-vp4-desc{ margin:0; max-width:640px; font-size:15px; line-height:1.9; color:#aab9d4; }

.jx-vp4-panel{ position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; gap:10px; padding:30px 40px 24px; border-radius:20px; background:linear-gradient(160deg, rgba(21,36,66,.72), rgba(10,20,42,.55)); border:1px solid rgba(130,170,255,.25); backdrop-filter:blur(14px); box-shadow:0 24px 60px rgba(2,10,30,.55), inset 0 1px 0 rgba(255,255,255,.08); flex:none; }
.jx-vp4-panel::after{ content:''; position:absolute; inset:0; background:linear-gradient(105deg, transparent 42%, rgba(255,255,255,.09) 50%, transparent 58%); transform:translateX(-120%); animation:jxShine 5.5s ease-in-out infinite; pointer-events:none; }
@keyframes jxShine{ 0%,55%{ transform:translateX(-120%) } 85%,100%{ transform:translateX(120%) } }
.jx-vp4-score{ display:flex; align-items:baseline; gap:4px; }
.jx-vp4-score strong{ font-size:58px; font-weight:800; line-height:1; background:linear-gradient(180deg,#ffffff 20%,#8fd4ff 90%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.jx-vp4-score i{ font-style:normal; font-size:14px; color:#8ba0bd; }
.jx-vp4-stars{ font-size:18px; letter-spacing:3px; }
.jx-vp4-verdict{ font-style:normal; font-size:13px; font-weight:700; padding:5px 20px; border-radius:999px; letter-spacing:3px; }
.jx-vp4-verdict.v-great{ background:linear-gradient(135deg,#ffb23e,#ff6a3d); color:#fff; box-shadow:0 6px 18px rgba(255,120,50,.45); }
.jx-vp4-verdict.v-good{ background:linear-gradient(135deg,#1fd66f,#0c9e63); color:#fff; box-shadow:0 6px 18px rgba(20,190,110,.4); }
.jx-vp4-verdict.v-ok{ background:linear-gradient(135deg,#2f90ff,#1e6fff); color:#fff; }
.jx-vp4-verdict.v-warn{ background:rgba(255,180,60,.16); color:#ffc861; border:1px solid rgba(255,190,80,.4); }

.jx-vp4-strip{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:34px; border-radius:16px; background:rgba(16,28,54,.5); border:1px solid rgba(120,160,255,.18); backdrop-filter:blur(10px); overflow:hidden; }
.jx-vp4-cell{ display:flex; flex-direction:column; align-items:center; gap:5px; padding:20px 8px 17px; }
.jx-vp4-cell + .jx-vp4-cell{ border-left:1px solid rgba(120,160,255,.14); }
.jx-vp4-cell em{ font-style:normal; font-size:24px; font-weight:800; color:#fff; }
.jx-vp4-cell span{ font-size:12px; color:#8fa2c0; letter-spacing:2px; }
.jx-vp4-cell:first-child em{ background:linear-gradient(180deg,#9fd8ff,#4da6ff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* 头条大卡 + 杂志双列卡 */
.jx-feat{ display:flex; gap:0; margin:4px 0 20px; border-radius:16px; background:#fff; border:1px solid #e8edf4; overflow:hidden; text-decoration:none; transition:all .3s; }
.jx-feat:hover{ transform:translateY(-3px); border-color:rgba(30,111,255,.4); box-shadow:0 18px 42px rgba(16,42,90,.14); }
.jx-feat-thumb{ position:relative; width:320px; min-height:216px; flex:none; overflow:hidden; background:linear-gradient(135deg,#eef3fa,#dfe8f4); }
.jx-feat-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.jx-feat:hover .jx-feat-thumb img{ transform:scale(1.06); }
.jx-feat-cover{ position:absolute; inset:0; background:linear-gradient(90deg, transparent 60%, rgba(255,255,255,.14)); }
.jx-feat-cat{ position:absolute; left:12px; top:12px; z-index:2; font-style:normal; font-size:11.5px; font-weight:700; color:#fff; padding:4px 13px; border-radius:999px; background:linear-gradient(135deg,var(--jx-blue),#5f8bff); box-shadow:0 4px 12px rgba(20,80,220,.4); }
.jx-feat-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; padding:24px 26px; }
.jx-feat-body h3{ margin:0; font-size:19px; font-weight:800; color:#1a2940; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.jx-feat:hover h3{ color:var(--jx-blue); }
.jx-feat-body p{ margin:0; font-size:13.5px; color:#7c8ca1; line-height:1.85; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.jx-feat-meta{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; }
.jx-feat-meta time{ font-size:12px; color:#a3b0c0; }
.jx-feat-go{ font-size:13px; font-weight:700; color:var(--jx-blue); transition:all .2s; }
.jx-feat:hover .jx-feat-go{ color:var(--jx-cyan); letter-spacing:1px; }

.jx-mag-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.jx-mag-card{ display:flex; flex-direction:column; border-radius:14px; background:#fff; border:1px solid #e8edf4; overflow:hidden; text-decoration:none; transition:all .28s; }
.jx-mag-card:hover{ transform:translateY(-4px); border-color:rgba(30,111,255,.38); box-shadow:0 16px 36px rgba(16,42,90,.13); }
.jx-mag-thumb{ position:relative; height:150px; overflow:hidden; background:linear-gradient(135deg,#eef3fa,#dfe8f4); }
.jx-mag-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.jx-mag-card:hover .jx-mag-thumb img{ transform:scale(1.07); }
.jx-mag-cover{ position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(6,16,34,.45)); }
.jx-mag-thumb em{ position:absolute; left:10px; bottom:10px; z-index:2; font-style:normal; font-size:11px; font-weight:600; color:#fff; padding:3px 11px; border-radius:999px; background:rgba(10,24,48,.6); backdrop-filter:blur(4px); }
.jx-mag-body{ display:flex; flex-direction:column; gap:7px; padding:15px 17px 17px; }
.jx-mag-body h4{ margin:0; font-size:15px; font-weight:700; color:#1d2b3f; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; transition:color .2s; }
.jx-mag-card:hover h4{ color:var(--jx-blue); }
.jx-mag-body time{ font-size:11.5px; color:#a3b0c0; }

@media (max-width:992px){
    .jx-vp4-strip{ grid-template-columns:repeat(2,1fr); }
    .jx-vp4-cell:nth-child(3){ border-left:none; border-top:1px solid rgba(120,160,255,.14); }
    .jx-vp4-cell:nth-child(4){ border-top:1px solid rgba(120,160,255,.14); }
}
@media (max-width:768px){
    .jx-vp4-inner{ padding:38px 0 34px; gap:20px; }
    .jx-vp4-namerow{ gap:15px; }
    .jx-vp4-ava{ width:74px; height:74px; font-size:30px; border-radius:21px; }
    .jx-vp4-ava::after{ inset:-5px; border-radius:25px; }
    .jx-vp4-namerow h1{ font-size:27px; }
    .jx-vp4-desc{ font-size:13.5px; }
    .jx-vp4-panel{ width:100%; flex-direction:row; align-items:center; justify-content:space-between; padding:16px 20px; }
    .jx-vp4-score strong{ font-size:36px; }
    .jx-vp4-stars{ font-size:15px; }
    .jx-feat{ flex-direction:column; }
    .jx-feat-thumb{ width:100%; min-height:0; height:186px; }
    .jx-feat-body{ padding:17px 19px; }
    .jx-mag-grid{ grid-template-columns:1fr; }
}

/* ════════ 商家档案参数表 + 口碑投票 + 认领弹窗/表单 ════════ */
.jx-claim-btn{ position:absolute; top:24px; right:0; z-index:3; font-size:12.5px; font-weight:600; color:#cdd9f0; background:rgba(16,28,54,.5); border:1px solid rgba(130,170,255,.28); border-radius:999px; padding:7px 16px; cursor:pointer; backdrop-filter:blur(8px); transition:all .22s; }
.jx-claim-btn:hover{ color:#fff; border-color:rgba(140,190,255,.6); background:rgba(30,90,200,.35); transform:translateY(-2px); }
.jx-claim-link{ color:#7fa8e8; text-decoration:none; }
.jx-claim-link:hover{ color:#a5c6ff; }

.jx-par-card{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 34px; background:#fff; border:1px solid #e8edf4; border-radius:14px; padding:6px 24px; }
.jx-par-row{ display:flex; align-items:baseline; gap:14px; padding:13px 0; border-bottom:1px dashed #edf1f7; }
.jx-par-card .jx-par-row:nth-last-child(1), .jx-par-card .jx-par-row:nth-last-child(2):nth-child(odd){ border-bottom:none; }
.jx-par-row span{ flex:none; width:64px; font-size:12.5px; color:#8b9bb1; }
.jx-par-row em{ font-style:normal; font-size:13.5px; font-weight:600; color:#22354e; line-height:1.6; }

.jx-vote{ background:#fff; border:1px solid #e8edf4; border-radius:14px; padding:20px 22px; }
.jx-vote-q{ margin:0 0 14px; font-size:14.5px; font-weight:700; color:#22354e; }
.jx-vote-btns{ display:flex; gap:12px; flex-wrap:wrap; }
.jx-vote-btns button{ font-size:13.5px; font-weight:600; color:#3d5170; background:#f3f6fb; border:1px solid #e3eaf4; border-radius:10px; padding:10px 22px; cursor:pointer; transition:all .2s; }
.jx-vote-btns button:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(16,42,90,.1); }
.jx-vote-btns button[data-choice=up]:hover{ color:#0e9f5c; border-color:#bfe8d2; background:#edfaf2; }
.jx-vote-btns button[data-choice=mid]:hover{ color:#c98a00; border-color:#f3e2b3; background:#fdf7e8; }
.jx-vote-btns button[data-choice=down]:hover{ color:#e05252; border-color:#f3caca; background:#fdefef; }
.jx-vote.voted .jx-vote-btns{ opacity:.45; pointer-events:none; }
.jx-vote-res{ margin-top:16px; display:flex; flex-direction:column; gap:9px; }
.jx-vote-bar{ display:flex; align-items:center; gap:12px; }
.jx-vote-bar span{ flex:none; width:62px; font-size:12px; color:#7c8ca1; text-align:right; }
.jx-vote-track{ flex:1; height:8px; border-radius:99px; background:#eef2f8; overflow:hidden; }
.jx-vote-track i{ display:block; height:100%; border-radius:99px; transition:width .6s ease; }
.jx-vote-track i.vc-up{ background:linear-gradient(90deg,#1fd66f,#0c9e63); }
.jx-vote-track i.vc-mid{ background:linear-gradient(90deg,#ffd36e,#f5a623); }
.jx-vote-track i.vc-down{ background:linear-gradient(90deg,#ff8d8d,#e05252); }
.jx-vote-bar em{ flex:none; width:44px; font-style:normal; font-size:11.5px; color:#a3b0c0; }

.jx-modal{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:20px; }
.jx-modal.on{ display:flex; }
.jx-modal-mask{ position:absolute; inset:0; background:rgba(7,14,30,.62); backdrop-filter:blur(4px); }
.jx-modal-box{ position:relative; width:460px; max-width:100%; max-height:88vh; overflow-y:auto; background:#fff; border-radius:18px; padding:26px 28px; box-shadow:0 30px 80px rgba(2,10,30,.4); animation:jxPop .25s ease; }
@keyframes jxPop{ from{ transform:translateY(18px) scale(.97); opacity:0 } to{ transform:none; opacity:1 } }
.jx-modal-box h3{ margin:0 0 8px; font-size:19px; font-weight:800; color:#16273e; }
.jx-modal-tip{ margin:0 0 18px; font-size:12.5px; color:#8395ab; line-height:1.7; }
.jx-modal-x{ position:absolute; top:14px; right:14px; width:30px; height:30px; border:none; border-radius:50%; background:#f1f4f9; color:#66788e; font-size:13px; cursor:pointer; }
.jx-modal-x:hover{ background:#e4e9f2; color:#22354e; }

.jx-join-card{ background:#fff; border:1px solid #e8edf4; border-radius:14px; padding:24px 26px; }
.jx-vform{ display:flex; flex-direction:column; gap:14px; }
.jx-vform label{ display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:#3d5170; }
.jx-vform label b{ color:#e05252; font-weight:700; }
.jx-vform input, .jx-vform textarea{ font-size:13.5px; color:#22354e; border:1px solid #dde5f0; border-radius:9px; padding:10px 13px; background:#f8fafd; outline:none; transition:all .2s; font-family:inherit; }
.jx-vform input:focus, .jx-vform textarea:focus{ border-color:var(--jx-blue); background:#fff; box-shadow:0 0 0 3px rgba(30,111,255,.12); }
.jx-vform .jx-hp{ position:absolute; left:-9999px; height:0; width:0; opacity:0; }
.jx-vform .jx-btn-primary{ align-self:flex-start; margin-top:4px; }
.jx-vform-msg{ margin:0; font-size:12.5px; min-height:18px; }
.jx-vform-msg.ok{ color:#0e9f5c; }
.jx-vform-msg.err{ color:#e05252; }

@media (max-width:768px){
    .jx-par-card{ grid-template-columns:1fr; padding:4px 18px; }
    .jx-par-card .jx-par-row:nth-last-child(2){ border-bottom:1px dashed #edf1f7; }
    .jx-claim-btn{ position:static; align-self:flex-start; }
    .jx-vote-btns button{ flex:1; padding:10px 8px; }
    .jx-modal-box{ padding:20px; }
}
.jx-join-enter{ display:inline-block; margin-top:18px; font-size:13px; font-weight:600; color:#a5c8ff; border:1px dashed rgba(140,190,255,.4); border-radius:999px; padding:8px 20px; transition:all .22s; }
.jx-join-enter:hover{ color:#fff; border-color:#7fb1ff; background:rgba(30,90,200,.3); }

/* ════════ 商家 logo 头像 ════════ */
.jx-vp4-ava img{ width:100%; height:100%; object-fit:contain; border-radius:24px; background:rgba(255,255,255,.94); padding:10px; box-sizing:border-box; }
.vcard-avatar img{ width:100%; height:100%; object-fit:contain; border-radius:14px; background:rgba(255,255,255,.95); padding:5px; box-sizing:border-box; }
.jx-vp4-ava{ overflow:hidden; }

/* ════════ 商家页头部 v5：纯深色高对比（弃用发亮的背景图）════════ */
.jx-vp5{ background:linear-gradient(138deg, #081430 0%, #0a1f4a 46%, #072958 100%); }
.jx-vp5 .jx-vp5-bg{ position:absolute; inset:0; background:
    radial-gradient(900px 380px at 18% -10%, rgba(47,120,255,.22), transparent 60%),
    radial-gradient(700px 320px at 88% 8%, rgba(0,198,255,.14), transparent 55%),
    linear-gradient(180deg, rgba(5,12,30,.25), rgba(5,12,30,0) 30%); }
.jx-vp5::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:88px; background:linear-gradient(180deg, rgba(8,20,48,0), rgba(8,20,48,.65)); pointer-events:none; }
.jx-vp5 .jx-vp4-namerow h1{ color:#ffffff; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.jx-vp5 .jx-vp4-desc{ color:#c9d8f0 !important; text-shadow:0 1px 8px rgba(0,0,0,.4); }
.jx-vp5 .jx-vp4-chips .vc-chip{ background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.26); color:#dbe8ff; }
.jx-vp5 .jx-vp4-chips .vc-chip-price{ background:rgba(255,176,0,.16); border-color:rgba(255,196,60,.5); color:#ffd98a; }
.jx-vp5 .jx-vp4-panel{ background:linear-gradient(160deg, rgba(10,22,48,.88), rgba(6,14,34,.82)); border:1px solid rgba(150,190,255,.34); }
.jx-vp5 .jx-vp4-score i{ color:#aebfdc; }
.jx-vp5 .jx-vp4-stars b{ color:#5b6b85; }
.jx-vp5 .jx-vp4-stars b.on{ color:#ffc63a; text-shadow:0 2px 8px rgba(255,170,0,.5); }
.jx-vp5 .jx-vp4-strip{ background:rgba(6,14,32,.78); border:1px solid rgba(130,165,240,.26); }
.jx-vp5 .jx-vp4-cell em{ color:#ffffff; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.jx-vp5 .jx-vp4-cell span{ color:#b7c7e4; }
.jx-vp5 .jx-vp4-cell + .jx-vp4-cell{ border-left:1px solid rgba(130,165,240,.18); }
.jx-vp5 .jx-vp4-cell:first-child em{ background:none; -webkit-text-fill-color:currentColor; color:#6fc4ff; }
.jx-vp5 .jx-vp4-ava{ box-shadow:0 18px 44px rgba(0,90,255,.55), 0 0 0 1px rgba(255,255,255,.14) inset; }
.jx-vp5 .jx-vp4-ava::after{ border-color:rgba(170,205,255,.5); }
.jx-vp5 .jx-claim-btn{ color:#ffffff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.32); }
.jx-vp5 .jx-claim-btn:hover{ background:rgba(70,140,255,.4); border-color:rgba(180,215,255,.6); }
.jx-vp5 .jx-btn-ghost{ border-color:rgba(255,255,255,.4); color:#ffffff; }
.jx-vp5 .jx-btn-ghost:hover{ background:rgba(255,255,255,.12); color:#ffffff; }
.jx-vp5 .jx-orbs i{ opacity:.42; }

/* ════════ 商家页头部 v6：G2/HostAdvice 式结构化布局 ════════ */
.jx-vp6-hero{ position:relative; overflow:hidden; color:#fff; background:linear-gradient(138deg,#081430 0%,#0a1f4a 46%,#072958 100%); }
.jx-vp6-hero::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:70px; background:linear-gradient(180deg,rgba(8,20,48,0),rgba(8,20,48,.55)); pointer-events:none; }
.vp6-inner{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:36px; align-items:stretch; padding:46px 0 0; }
.vp6-brand{ display:flex; align-items:center; gap:20px; }
.vp6-logo{ display:flex; align-items:center; justify-content:center; width:96px; height:96px; flex:none; border-radius:22px; background:linear-gradient(135deg,var(--jx-blue),#7c5cff 55%,var(--jx-cyan)); font-size:40px; font-weight:800; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.3); box-shadow:0 16px 40px rgba(0,90,255,.5), inset 0 0 0 1px rgba(255,255,255,.16); overflow:hidden; }
.vp6-logo img{ width:100%; height:100%; object-fit:contain; background:rgba(255,255,255,.95); padding:10px; box-sizing:border-box; }
.vp6-name{ display:flex; align-items:center; gap:12px; }
.vp6-name h1{ margin:0; font-size:34px; font-weight:800; letter-spacing:.5px; line-height:1.2; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.vp6-claim{ flex:none; font-size:11.5px; font-weight:700; color:#ffe3a6; background:rgba(255,178,44,.22); border:1px solid rgba(255,200,90,.65); border-radius:999px; padding:4px 13px; cursor:pointer; transition:all .2s; box-shadow:0 2px 10px rgba(255,170,40,.18); }
.vp6-claim:hover{ background:rgba(255,178,44,.38); transform:translateY(-1px); }
.vp6-meta{ margin-top:8px; font-size:13px; color:#b9c9e6; letter-spacing:.5px; }
.vp6-desc{ margin:20px 0 0; max-width:660px; font-size:15px; line-height:1.9; color:#c9d8f0; text-shadow:0 1px 8px rgba(0,0,0,.4); }
.vp6-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.vp6-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.vp6-btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; height:42px; padding:0 22px; border-radius:10px; font-size:13.5px; font-weight:600; text-decoration:none; cursor:pointer; border:none; transition:all .22s; }
.vp6-btn b{ font-size:11px; font-weight:700; background:rgba(255,255,255,.18); border-radius:999px; padding:1px 8px; }
.vp6-btn-solid{ background:linear-gradient(135deg,#1e6fff,#00b7ff); color:#fff; box-shadow:0 10px 24px rgba(30,111,255,.45); }
.vp6-btn-solid:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(30,111,255,.6); color:#fff; }
.vp6-btn-ghost{ background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.32); color:#fff; }
.vp6-btn-ghost:hover{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.55); transform:translateY(-2px); color:#fff; }
.vp6-card{ display:flex; flex-direction:column; padding:22px 24px 18px; border-radius:18px; background:linear-gradient(160deg,rgba(10,22,48,.88),rgba(6,14,34,.84)); border:1px solid rgba(150,190,255,.32); backdrop-filter:blur(12px); box-shadow:0 20px 50px rgba(2,10,30,.5); }
.vp6-card-head{ display:flex; align-items:center; gap:16px; }
.vp6-score{ display:flex; align-items:baseline; gap:3px; flex:none; }
.vp6-score strong{ font-size:52px; font-weight:800; line-height:1; color:#6fc4ff; text-shadow:0 4px 18px rgba(60,160,255,.45); font-variant-numeric:tabular-nums; }
.vp6-score i{ font-style:normal; font-size:13px; color:#aebfdc; }
.vp6-rate{ display:flex; flex-direction:column; gap:7px; }
.vp6-rate .vcard-stars{ font-size:17px; letter-spacing:3px; }
.vp6-verdict{ font-style:normal; font-size:12px; font-weight:700; padding:4px 16px; border-radius:999px; letter-spacing:2px; align-self:flex-start; }
.vp6-verdict.v-great{ background:linear-gradient(135deg,#ffb23e,#ff6a3d); color:#fff; box-shadow:0 4px 14px rgba(255,120,50,.45); }
.vp6-verdict.v-good{ background:linear-gradient(135deg,#1fd66f,#0c9e63); color:#fff; box-shadow:0 4px 14px rgba(20,190,110,.4); }
.vp6-verdict.v-ok{ background:linear-gradient(135deg,#2f90ff,#1e6fff); color:#fff; }
.vp6-verdict.v-warn{ background:rgba(255,180,60,.16); color:#ffc861; border:1px solid rgba(255,190,80,.4); }
.vp6-hr{ height:1px; margin:16px 0; background:linear-gradient(90deg,rgba(150,190,255,.28),rgba(150,190,255,.06)); }
.vp6-rows{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.vp6-rows li{ display:flex; align-items:center; justify-content:space-between; }
.vp6-rows li span{ font-size:13px; color:#a9b9d8; }
.vp6-rows li em{ font-style:normal; font-size:13.5px; font-weight:700; color:#eaf2ff; font-variant-numeric:tabular-nums; }
.vp6-note{ margin:0; font-size:11.5px; line-height:1.7; color:#7f92b5; }
.vp6-strip{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin:36px 0 0; border-radius:16px; background:rgba(6,14,32,.78); border:1px solid rgba(130,165,240,.26); backdrop-filter:blur(10px); overflow:hidden; }
.vp6-cell{ display:flex; flex-direction:column; align-items:center; gap:5px; padding:19px 8px 16px; }
.vp6-cell + .vp6-cell{ border-left:1px solid rgba(130,165,240,.18); }
.vp6-cell em{ font-style:normal; font-size:23px; font-weight:800; line-height:1; color:#fff; font-variant-numeric:tabular-nums; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.vp6-cell span{ font-size:12px; color:#b7c7e4; letter-spacing:2px; line-height:1; }
.jx-vp6-hero .jx-orbs i{ opacity:.4; }

@media (max-width:992px){
    .vp6-inner{ grid-template-columns:1fr; }
    .vp6-card{ width:100%; }
}
@media (max-width:768px){
    .vp6-inner{ padding:32px 0 0; gap:22px; }
    .vp6-logo{ width:72px; height:72px; border-radius:17px; font-size:30px; }
    .vp6-name h1{ font-size:25px; }
    .vp6-desc{ font-size:13.5px; margin-top:14px; }
    .vp6-actions{ margin-top:18px; }
    .vp6-btn{ height:40px; padding:0 16px; font-size:13px; flex:1; }
    .vp6-score strong{ font-size:42px; }
    .vp6-strip{ grid-template-columns:repeat(2,1fr); margin-top:26px; }
    .vp6-cell:nth-child(3){ border-left:none; border-top:1px solid rgba(130,165,240,.18); }
    .vp6-cell:nth-child(4){ border-top:1px solid rgba(130,165,240,.18); }
}

/* ════════ 头部 v7：logo 列排版 + 商家简介卡 ════════ */
.vp7-brand{ display:grid; grid-template-columns:108px minmax(0,1fr); gap:22px; align-items:center; }
.vp7-brand .vp6-logo{ width:108px; height:108px; border-radius:24px; font-size:44px; }
.vp7-head{ display:flex; flex-direction:column; gap:10px; min-width:0; }
.vp6-main .vp7-head .vp6-name{ margin:0; }
.vp7-intro{ position:relative; margin-top:24px; padding:18px 24px 20px; border-radius:14px; background:rgba(13,26,54,.55); border:1px solid rgba(120,160,255,.18); backdrop-filter:blur(8px); overflow:hidden; }
.vp7-intro::before{ content:''; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:0 3px 3px 0; background:linear-gradient(180deg,var(--jx-blue),var(--jx-cyan)); }
.vp7-cap{ display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:3px; color:#8fb0e8; }
.vp7-cap i{ width:8px; height:8px; border-radius:2px; background:linear-gradient(135deg,var(--jx-blue),var(--jx-cyan)); }
.vp7-desc{ margin:10px 0 0; font-size:15px; line-height:1.95; color:#d4e1f6; }
.vp7-facts{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 28px; margin-top:16px; padding-top:15px; border-top:1px solid rgba(120,160,255,.14); }
.vp7-fact{ display:flex; align-items:baseline; gap:12px; min-width:0; }
.vp7-fact span{ flex:none; font-size:12px; color:#8da2c6; letter-spacing:1px; }
.vp7-fact em{ font-style:normal; font-size:13.5px; font-weight:600; color:#eef4ff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

@media (max-width:768px){
    .vp7-brand{ grid-template-columns:76px minmax(0,1fr); gap:14px; }
    .vp7-brand .vp6-logo{ width:76px; height:76px; border-radius:18px; font-size:30px; }
    .vp7-intro{ padding:14px 16px 16px; margin-top:18px; }
    .vp7-desc{ font-size:13.5px; line-height:1.85; }
    .vp7-facts{ grid-template-columns:1fr; gap:9px; padding-top:12px; margin-top:12px; }
}

/* ════════ 头部 v8：去 AI 化（扁平、克制、无装饰渐变）════════ */
.vp8 .jx-vp5-bg{ background:radial-gradient(800px 340px at 15% -8%, rgba(40,100,220,.16), transparent 60%); }
.vp8 .vp6-name h1{ text-shadow:none; letter-spacing:0; }
.vp8 .vp6-desc{ text-shadow:none; }
.vp8 .vp6-logo{ background:#f4f6fa; box-shadow:none; border:1px solid rgba(255,255,255,.16); border-radius:16px; color:#12294e; text-shadow:none; }
.vp8 .vp6-logo img{ padding:12px; background:#fff; }
.vp8 .vp6-claim{ box-shadow:none; background:transparent; border:1px solid rgba(255,190,80,.45); font-weight:600; }
.vp8 .vp6-meta{ font-size:13.5px; color:#a8b8d8; }
.vp8 .vp7-intro{ background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09); backdrop-filter:none; border-radius:12px; }
.vp8 .vp7-intro::before{ display:none; }
.vp8 .vp7-cap{ color:#8da2c6; letter-spacing:2px; }
.vp8 .vp7-cap i{ display:none; }
.vp8 .vp7-desc{ color:#d0dcef; text-shadow:none; }
.vp8 .vp7-facts{ border-top:1px solid rgba(255,255,255,.08); }
.vp8 .vp6-btn-solid{ background:#2f7bff; box-shadow:none; }
.vp8 .vp6-btn-solid:hover{ background:#4487ff; box-shadow:none; }
.vp8 .vp6-btn-ghost{ border-color:rgba(255,255,255,.26); }
.vp8 .vp6-card{ background:rgba(10,18,38,.62); border:1px solid rgba(255,255,255,.1); backdrop-filter:none; box-shadow:none; border-radius:12px; }
.vp8 .vp6-score strong{ color:#fff; text-shadow:none; }
.vp8 .vp6-verdict.v-great, .vp8 .vp6-verdict.v-good, .vp8 .vp6-verdict.v-ok{ box-shadow:none; }
.vp8 .vp6-verdict.v-great{ background:#e8862e; }
.vp8 .vp6-verdict.v-good{ background:#17a35c; }
.vp8 .vp6-verdict.v-ok{ background:#2f7bff; }
.vp8 .vp6-hr{ background:rgba(255,255,255,.09); }
.vp8 .vp6-strip{ background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09); backdrop-filter:none; }
.vp8 .vp6-cell + .vp6-cell{ border-left:1px solid rgba(255,255,255,.08); }
.vp8 .vp6-cell em{ text-shadow:none; color:#fff; }
.vp8::after{ display:none; }
.vp8 .vp6-inner{ padding-top:40px; }
.vp8 .vp6-strip{ margin-bottom:30px; }

/* ════════ 头部 v8.1：logo 无边框 + 恢复背景图（压暗防糊字）+ 行内参数 ════════ */
.vp8 .vp6-logo{ border:none; background:#fff; }
.vp8 .vp6-logo img{ padding:10px; }
.vp8 .jx-vp5-bg{ position:absolute; inset:0;
    background-image: linear-gradient(100deg, rgba(7,17,40,.86) 0%, rgba(8,22,52,.58) 45%, rgba(7,26,55,.36) 100%), var(--vpbg, url('../images/hero-bg.webp'));
    background-size: auto, cover; background-position: 0 0, 50% 32%; background-repeat: no-repeat; }
.vp8 .vp6-desc, .vp8 .vp7-desc{ text-shadow:0 1px 6px rgba(4,10,26,.8); }
.vp8 .vp6-name{ flex-wrap:wrap; align-items:baseline; gap:12px; }
.vp8-inl{ font-size:13px; font-weight:400; color:#a9bad9; letter-spacing:.3px; white-space:nowrap; }
@media (max-width:768px){
    .vp8-inl{ white-space:normal; font-size:12px; flex-basis:100%; order:3; line-height:1.7; }
}

/* ════════ 首页商家速览（logo 卡）════════ */
/* 首页商家库卡：紧凑版 */
.jx-hv-grid{ display:grid; grid-template-columns:repeat(6, 1fr); gap:10px; }
.jx-hv-card{ display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:10px; background:#fff; border:1px solid #e8edf4; text-decoration:none; transition:all .2s; }
.jx-hv-card:hover{ transform:translateY(-2px); border-color:rgba(30,111,255,.4); box-shadow:0 8px 18px rgba(16,42,90,.09); }
.jx-hv-logo{ display:flex; align-items:center; justify-content:center; width:34px; height:34px; flex:none; border-radius:8px; background:#f7f9fc; font-size:15px; font-weight:800; color:#33507a; overflow:hidden; }
.jx-hv-logo img{ width:100%; height:100%; object-fit:contain; padding:3px; box-sizing:border-box; }
.jx-hv-info{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.jx-hv-info strong{ font-size:13.5px; font-weight:700; color:#1d2b3f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.35; }
.jx-hv-info em{ font-style:normal; font-size:11px; color:#9fadc2; line-height:1.3; transition:color .2s; }
.jx-hv-card:hover .jx-hv-info em{ color:#2f7bff; }
.jx-hv-score{ margin-left:auto; flex:none; font-size:12px; font-weight:800; color:#e8801f; background:rgba(255,150,50,.1); padding:2px 8px; border-radius:999px; }
.jx-hv-more .jx-hv-logo{ background:linear-gradient(135deg,#eaf2ff,#dcebff); color:var(--jx-blue); font-size:20px; }
.jx-hv-more strong{ color:var(--jx-blue); }
@media (max-width:992px){ .jx-hv-grid{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width:640px){ .jx-hv-grid{ grid-template-columns:repeat(2, 1fr); } }
.jx-vlink{ color:var(--jx-blue); text-decoration:none; border-bottom:1px dashed rgba(30,111,255,.45); }
.jx-vlink:hover{ color:var(--jx-cyan); border-bottom-style:solid; }

/* ════════ 头部 v9：醒目认领/认证徽章 + 环形评分卡 ════════ */
.vp9-claim{ flex:none; display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:700; color:#3d2a00; background:linear-gradient(135deg,#ffc23a,#ff9d2e); border:none; border-radius:999px; padding:6px 16px; cursor:pointer; transition:all .2s; box-shadow:0 4px 14px rgba(255,160,40,.35); }
.vp9-claim::before{ content:'👑'; font-size:12px; filter:saturate(1.2); }
.vp9-claim:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(255,160,40,.5); background:linear-gradient(135deg,#ffd056,#ffab38); }
.vp9-verified{ flex:none; display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:#fff; background:linear-gradient(135deg,#18b566,#0d9e58); border-radius:999px; padding:5px 14px; box-shadow:0 4px 14px rgba(20,180,100,.4); }
.vp9-card{ padding:22px 22px 16px; }
.vp9-head{ display:flex; align-items:center; gap:18px; }
.vp9-ring{ position:relative; width:92px; height:92px; flex:none; }
.vp9-ring svg{ width:92px; height:92px; transform:rotate(-90deg); }
.vp9-ring-bg{ fill:none; stroke:rgba(255,255,255,.1); stroke-width:7; }
.vp9-ring-val{ fill:none; stroke-width:7; stroke-linecap:round; transition:stroke-dashoffset 1s ease; }
.vp9-ring-num{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.vp9-ring-num strong{ font-size:24px; font-weight:800; line-height:1; color:#fff; font-variant-numeric:tabular-nums; }
.vp9-ring-num i{ font-style:normal; font-size:10.5px; color:#93a6c4; margin-top:2px; }
.vp9-rate{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.vp6-verdict.v-none{ background:rgba(255,255,255,.1); color:#b7c7e4; border:1px solid rgba(255,255,255,.18); }
.vp9-rows{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.vp9-rows li{ display:flex; align-items:center; gap:10px; }
.vp9-ic{ display:flex; align-items:center; justify-content:center; width:30px; height:30px; flex:none; border-radius:8px; background:rgba(63,123,255,.14); color:#6fa8ff; }
.vp9-ic svg{ width:15px; height:15px; }
.vp9-rows li:nth-child(2) .vp9-ic{ background:rgba(255,176,44,.14); color:#ffc23a; }
.vp9-rows li:nth-child(3) .vp9-ic{ background:rgba(0,198,255,.12); color:#5fd4ff; }
.vp9-rows li:nth-child(4) .vp9-ic{ background:rgba(24,181,102,.13); color:#3fd68e; }
.vp9-lb{ font-size:13px; color:#a9b9d8; }
.vp9-rows li em{ font-style:normal; margin-left:auto; font-size:13.5px; font-weight:700; color:#eaf2ff; font-variant-numeric:tabular-nums; }
.vp9-note{ margin:0; display:flex; align-items:center; gap:7px; font-size:11.5px; line-height:1.6; color:#7f92b5; }
.vp9-note svg{ width:13px; height:13px; flex:none; }

/* ════════ 商家库 v3：分层策展（深度测评 + 收录目录）════════ */
.jv3-hero .jv3-hero-bg{ position:absolute; inset:0; background:
    linear-gradient(100deg, rgba(7,17,40,.86) 0%, rgba(8,22,52,.58) 45%, rgba(7,26,55,.36) 100%),
    url('../images/hero-bg.webp') center 32%/cover no-repeat; }
.jv3-hero{ position:relative; overflow:hidden; }
.jv3-hero .container{ position:relative; z-index:2; }

.jv3-sec-head{ display:flex; align-items:baseline; gap:12px; margin:30px 0 14px; }
.jv3-sec-head:first-child{ margin-top:0; }
.jv3-sec-head h2{ margin:0; font-size:19px; font-weight:800; color:#16273e; }
.jv3-sec-head h2::before{ content:''; display:inline-block; width:4px; height:16px; margin-right:10px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); vertical-align:-2px; }
.jv3-sec-head span{ font-size:12px; color:#93a3b8; }

.jv3-feat-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
.jv3-feat{ display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:12px; background:#fff; border:1px solid #e8edf4; text-decoration:none; transition:all .22s; }
.jv3-feat:hover{ transform:translateY(-3px); border-color:rgba(30,111,255,.35); box-shadow:0 14px 30px rgba(16,42,90,.12); }
.jv3-feat-logo{ display:flex; align-items:center; justify-content:center; width:56px; height:56px; flex:none; border-radius:12px; background:#f7f9fc; font-size:22px; font-weight:800; color:#33507a; overflow:hidden; }
.jv3-feat-logo img{ width:100%; height:100%; object-fit:contain; padding:5px; box-sizing:border-box; }
.jv3-feat-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.jv3-feat-name{ font-size:15.5px; font-weight:700; color:#1d2b3f; display:flex; align-items:center; gap:8px; white-space:nowrap; overflow:hidden; }
.jv3-mini-v{ flex:none; font-style:normal; font-size:10.5px; font-weight:700; color:#0d9e58; background:rgba(24,181,102,.1); padding:1px 7px; border-radius:999px; }
.jv3-feat-meta{ font-size:12px; color:#93a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv3-feat-score{ flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.jv3-feat-score strong{ font-size:24px; font-weight:800; line-height:1; color:#16273e; font-variant-numeric:tabular-nums; }
.jv3-feat-score i{ font-style:normal; font-size:10px; color:#a3b0c0; margin-top:-2px; }
.jv3-feat-score em{ font-style:normal; font-size:11px; font-weight:700; padding:2px 10px; border-radius:999px; }
.jv3-feat-score em.v-great{ background:#e8862e; color:#fff; }
.jv3-feat-score em.v-good{ background:#17a35c; color:#fff; }
.jv3-feat-score em.v-ok{ background:#2f7bff; color:#fff; }
.jv3-feat-score em.v-warn{ background:rgba(255,176,44,.15); color:#c98a00; }

.jv3-dir-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
.jv3-dir{ display:flex; align-items:center; gap:11px; padding:11px 14px; border-radius:11px; background:#fff; border:1px solid #edf1f7; text-decoration:none; transition:all .2s; }
.jv3-dir:hover{ transform:translateY(-2px); border-color:rgba(30,111,255,.3); box-shadow:0 10px 22px rgba(16,42,90,.09); }
.jv3-dir-logo{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; flex:none; border-radius:9px; background:#f7f9fc; font-size:16px; font-weight:800; color:#33507a; overflow:hidden; }
.jv3-dir-logo img{ width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.jv3-dir-body{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.jv3-dir-body strong{ font-size:13.5px; font-weight:600; color:#26374d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv3-dir-body em{ font-style:normal; font-size:11px; color:#9aa8ba; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

@media (max-width:992px){ .jv3-dir-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:768px){
    .jv3-feat-grid{ grid-template-columns:1fr; }
    .jv3-feat-score strong{ font-size:21px; }
}

/* ════════ 商家库 v4：测评榜单（排行榜）+ 极简目录 ════════ */
.jv4-board-wrap{ background:#fff; border:1px solid #e8edf4; border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(16,42,90,.06); }
.jv4-board-head{ display:flex; align-items:baseline; gap:12px; padding:20px 24px 16px; border-bottom:1px solid #eef2f8; background:linear-gradient(180deg,#fafcff,#fff); }
.jv4-board-head h2{ margin:0; font-size:19px; font-weight:800; color:#16273e; }
.jv4-board-head h2::before{ content:''; display:inline-block; width:4px; height:17px; margin-right:10px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); vertical-align:-2px; }
.jv4-board-head span{ font-size:12px; color:#93a3b8; }
.jv4-board{ list-style:none; margin:0; padding:0; counter-reset:none; }
.jv4-row a{ display:grid; grid-template-columns:52px 52px minmax(0,1fr) 190px 92px 110px 28px; align-items:center; gap:14px; padding:15px 24px; text-decoration:none; border-bottom:1px solid #f2f5fa; transition:background .18s; }
.jv4-row:last-child a{ border-bottom:none; }
.jv4-row a:hover{ background:#f6faff; }
.jv4-rank{ display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; font-size:14px; font-weight:800; color:#8fa2ba; background:#f1f4f9; }
.jv4-row.top1 .jv4-rank{ background:linear-gradient(135deg,#ffd35c,#f5a623); color:#7a4a00; box-shadow:0 3px 10px rgba(245,166,35,.4); }
.jv4-row.top2 .jv4-rank{ background:linear-gradient(135deg,#e3e9f2,#c3cedd); color:#5a6a80; }
.jv4-row.top3 .jv4-rank{ background:linear-gradient(135deg,#f0b98a,#d98d55); color:#6b3d12; }
.jv4-logo{ display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:11px; background:#f7f9fc; font-size:18px; font-weight:800; color:#33507a; overflow:hidden; }
.jv4-logo img{ width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.jv4-name{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.jv4-name{ font-size:15.5px; font-weight:700; color:#1d2b3f; flex-direction:row; align-items:center; gap:8px; }
.jv4-name i{ font-style:normal; font-size:12px; font-weight:400; color:#94a4b9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv4-score{ display:flex; align-items:center; gap:10px; }
.jv4-score b{ font-size:19px; font-weight:800; color:#16273e; font-variant-numeric:tabular-nums; min-width:34px; }
.jv4-bar{ flex:1; height:7px; border-radius:99px; background:#eef2f8; overflow:hidden; }
.jv4-bar i{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#2f7bff,#00c6ff); }
.jv4-row.top1 .jv4-bar i{ background:linear-gradient(90deg,#f5a623,#ff8a3d); }
.jv4-verdict{ font-style:normal; text-align:center; font-size:11.5px; font-weight:700; padding:4px 0; border-radius:999px; }
.jv4-verdict.v-great{ background:#e8862e; color:#fff; }
.jv4-verdict.v-good{ background:#17a35c; color:#fff; }
.jv4-verdict.v-ok{ background:#2f7bff; color:#fff; }
.jv4-verdict.v-warn{ background:rgba(255,176,44,.15); color:#c98a00; }
.jv4-price{ font-size:12.5px; font-weight:600; color:#5a6f8c; text-align:right; white-space:nowrap; }
.jv4-arrow{ font-size:16px; color:#c3cddb; transition:all .2s; }
.jv4-row a:hover .jv4-arrow{ color:var(--jx-blue); transform:translateX(4px); }

.jv4-dir-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.jv4-dir{ display:flex; align-items:center; gap:12px; padding:13px 16px; border-radius:11px; background:#fff; border:1px solid #edf1f7; text-decoration:none; transition:all .2s; }
.jv4-dir:hover{ transform:translateY(-2px); border-color:rgba(30,111,255,.32); box-shadow:0 10px 22px rgba(16,42,90,.09); }
.jv4-dir-logo{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex:none; border-radius:10px; background:#f7f9fc; font-size:16px; font-weight:800; color:#33507a; overflow:hidden; }
.jv4-dir-logo img{ width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.jv4-dir-body{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.jv4-dir-body strong{ font-size:13.5px; font-weight:600; color:#26374d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv4-dir-body em{ font-style:normal; font-size:11px; color:#9aa8ba; }

@media (max-width:992px){
    .jv4-dir-grid{ grid-template-columns:repeat(3, 1fr); }
    .jv4-row a{ grid-template-columns:40px 44px minmax(0,1fr) 150px 80px 24px; }
    .jv4-price{ display:none; }
}
@media (max-width:768px){
    .jv4-row a{ grid-template-columns:36px 44px minmax(0,1fr) 24px; gap:10px; padding:12px 14px; }
    .jv4-score{ grid-column:1 / -1; margin-left:46px; }
    .jv4-verdict{ display:none; }
    .jv4-board-head{ padding:16px 16px 12px; }
    .jv4-dir-grid{ grid-template-columns:repeat(2, 1fr); }
}

/* ════════ 商家库 v5：领奖台 Top3 ════════ */
.jv5-podium{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; padding:20px 24px 6px; background:linear-gradient(180deg,#fafcff, #fff); border-bottom:1px solid #eef2f8; }
.jv5-pod{ position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; padding:26px 20px 20px; border-radius:14px; background:#fff; border:1px solid #e8edf4; text-decoration:none; overflow:hidden; transition:all .24s; }
.jv5-pod::before{ content:''; position:absolute; left:0; right:0; top:0; height:4px; }
.jv5-pod.p1::before{ background:linear-gradient(90deg,#ffd35c,#f5a623,#ffd35c); }
.jv5-pod.p2::before{ background:linear-gradient(90deg,#dbe3ee,#b6c3d4,#dbe3ee); }
.jv5-pod.p3::before{ background:linear-gradient(90deg,#f0b98a,#d98d55,#f0b98a); }
.jv5-pod:hover{ transform:translateY(-4px); box-shadow:0 18px 38px rgba(16,42,90,.13); border-color:rgba(30,111,255,.3); }
.jv5-pod-rank{ position:absolute; right:10px; top:2px; font-size:64px; font-weight:900; line-height:1; color:rgba(30,111,255,.06); font-variant-numeric:tabular-nums; }
.jv5-pod.p1 .jv5-pod-rank{ color:rgba(245,166,35,.14); }
.jv5-pod.p2 .jv5-pod-rank{ color:rgba(120,140,170,.12); }
.jv5-pod.p3 .jv5-pod-rank{ color:rgba(217,141,85,.12); }
.jv5-pod-logo{ display:flex; align-items:center; justify-content:center; width:74px; height:74px; border-radius:16px; background:#f7f9fc; font-size:30px; font-weight:800; color:#33507a; overflow:hidden; box-shadow:0 8px 20px rgba(16,42,90,.08); }
.jv5-pod-logo img{ width:100%; height:100%; object-fit:contain; padding:8px; box-sizing:border-box; }
.jv5-pod-name{ display:flex; align-items:center; gap:8px; font-size:17px; font-weight:800; color:#1d2b3f; }
.jv5-pod-meta{ font-size:12px; color:#94a4b9; }
.jv5-pod-score{ display:flex; align-items:baseline; gap:2px; margin-top:4px; }
.jv5-pod-score b{ font-size:38px; font-weight:900; line-height:1; color:#16273e; font-variant-numeric:tabular-nums; }
.jv5-pod.p1 .jv5-pod-score b{ color:#e8862e; }
.jv5-pod.p2 .jv5-pod-score b{ color:#5a6f8c; }
.jv5-pod.p3 .jv5-pod-score b{ color:#b06a2c; }
.jv5-pod-score i{ font-style:normal; font-size:12px; color:#a3b0c0; }
.jv5-pod-verdict{ font-style:normal; font-size:12px; font-weight:700; padding:4px 18px; border-radius:999px; }
.jv5-pod-verdict.v-great{ background:#e8862e; color:#fff; }
.jv5-pod-verdict.v-good{ background:#17a35c; color:#fff; }
.jv5-pod-verdict.v-ok{ background:#2f7bff; color:#fff; }
.jv5-pod-go{ font-size:12.5px; font-weight:600; color:var(--jx-blue); margin-top:6px; }
.jv5-pod:hover .jv5-pod-go{ color:var(--jx-cyan); }
.jv5-rest li:first-child a{ border-top:1px solid #f2f5fa; }

@media (max-width:768px){
    .jv5-podium{ grid-template-columns:1fr; padding:14px 14px 4px; }
    .jv5-pod{ flex-direction:row; align-items:center; text-align:left; padding:16px 18px; }
    .jv5-pod-logo{ width:56px; height:56px; }
    .jv5-pod-rank{ font-size:44px; }
    .jv5-pod-score b{ font-size:26px; }
    .jv5-pod-name{ flex-direction:column; align-items:flex-start; gap:3px; }
    .jv5-pod-go{ margin-top:0; margin-left:auto; }
}

/* ════════ 收录商家 v6：三列信息卡 + 区块间距 ════════ */
.jv6-dir{ grid-template-columns:repeat(3, 1fr) !important; gap:14px; margin-bottom:34px; }
.jv6-card{ display:flex; flex-direction:column; gap:10px; padding:16px 18px 14px; border-radius:13px; background:#fff; border:1px solid #edf1f7; text-decoration:none; transition:all .22s; }
.jv6-card:hover{ transform:translateY(-3px); border-color:rgba(30,111,255,.32); box-shadow:0 14px 30px rgba(16,42,90,.11); }
.jv6-top{ display:flex; align-items:center; gap:12px; }
.jv6-logo{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex:none; border-radius:12px; background:#f7f9fc; font-size:20px; font-weight:800; color:#33507a; overflow:hidden; }
.jv6-logo img{ width:100%; height:100%; object-fit:contain; padding:5px; box-sizing:border-box; }
.jv6-name{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.jv6-name strong{ font-size:15px; font-weight:700; color:#1d2b3f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv6-name em{ font-style:normal; font-size:11.5px; color:#9aa8ba; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv6-card p{ margin:0; font-size:12.5px; color:#7c8ca1; line-height:1.75; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:44px; }
.jv6-go{ font-size:12px; font-weight:600; color:var(--jx-blue); }
.jv6-card:hover .jv6-go{ color:var(--jx-cyan); }
@media (max-width:992px){ .jv6-dir{ grid-template-columns:repeat(2, 1fr) !important; } }
@media (max-width:640px){ .jv6-dir{ grid-template-columns:1fr !important; } .jv6-card p{ min-height:0; } }

/* ════════ 收录商家 加载更多 ════════ */
.jv6-more-wrap{ display:flex; flex-direction:column; align-items:center; gap:8px; margin:22px 0 34px; }
.jv6-more{ font-size:13.5px; font-weight:700; color:#2f7bff; background:#fff; border:1px solid rgba(47,123,255,.35); border-radius:999px; padding:11px 34px; cursor:pointer; transition:all .2s; }
.jv6-more span{ font-weight:400; color:#8fa2ba; }
.jv6-more:hover{ background:#2f7bff; color:#fff; border-color:#2f7bff; box-shadow:0 8px 20px rgba(47,123,255,.35); }
.jv6-more:hover span{ color:rgba(255,255,255,.8); }
.jv6-more-done{ display:none; margin:0; font-size:12px; color:#a3b0c0; }

/* ════════ 商家库 v7：编辑部排行风 + 服务端分页 ════════ */
.jv7-board{ background:#fff; border:1px solid #e8edf4; border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(16,42,90,.06); }
.jv7-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:20px 26px 16px; border-bottom:1px solid #eef2f8; }
.jv7-head h2{ margin:0; font-size:20px; font-weight:800; color:#16273e; letter-spacing:.5px; }
.jv7-head h2::before{ content:''; display:inline-block; width:4px; height:18px; margin-right:11px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); vertical-align:-3px; }
.jv7-head span{ font-size:12px; color:#93a3b8; }
.jv7-board ol{ list-style:none; margin:0; padding:0; }
.jv7-row a{ display:grid; grid-template-columns:64px 52px minmax(0,1fr) 110px 96px 26px; align-items:center; gap:16px; padding:17px 26px; text-decoration:none; border-bottom:1px solid #f2f5fa; transition:background .18s; }
.jv7-row:last-child a{ border-bottom:none; }
.jv7-row a:hover{ background:#f6faff; }
.jv7-rank{ font-size:30px; font-weight:900; line-height:1; color:#dbe3ee; font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.jv7-row.first{ background:linear-gradient(90deg, rgba(255,213,92,.1), rgba(255,213,92,0) 55%); }
.jv7-row.first .jv7-rank{ color:#f5a623; }
.jv7-row.first a{ border-left:3px solid #f5a623; padding-left:23px; }
.jv7-logo{ display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:12px; background:#f7f9fc; font-size:19px; font-weight:800; color:#33507a; overflow:hidden; }
.jv7-logo img{ width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.jv7-info{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.jv7-info strong{ font-size:16px; font-weight:700; color:#1d2b3f; display:flex; align-items:center; gap:8px; }
.jv7-info em{ font-style:normal; font-size:12px; color:#94a4b9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv7-score{ display:flex; align-items:baseline; gap:2px; justify-content:flex-end; }
.jv7-score b{ font-size:26px; font-weight:900; line-height:1; color:#16273e; font-variant-numeric:tabular-nums; }
.jv7-row.first .jv7-score b{ color:#e8862e; }
.jv7-score i{ font-style:normal; font-size:11px; color:#a3b0c0; }
.jv7-pill{ text-align:center; font-size:11.5px; font-weight:700; padding:5px 0; border-radius:999px; }
.jv7-pill.v-great{ background:#e8862e; color:#fff; }
.jv7-pill.v-good{ background:#17a35c; color:#fff; }
.jv7-pill.v-ok{ background:#2f7bff; color:#fff; }
.jv7-pill.v-warn{ background:rgba(255,176,44,.15); color:#c98a00; }
.jv7-arrow{ font-size:17px; color:#c3cddb; transition:all .2s; }
.jv7-row a:hover .jv7-arrow{ color:var(--jx-blue); transform:translateX(4px); }
.jx-method .jm svg{ width:19px; height:19px; }
@media (max-width:992px){
    .jv7-row a{ grid-template-columns:48px 46px minmax(0,1fr) 88px 22px; gap:12px; padding:14px 16px; }
    .jv7-pill{ display:none; }
    .jv7-rank{ font-size:24px; }
}
@media (max-width:768px){
    .jv7-row a{ grid-template-columns:40px 44px minmax(0,1fr) 20px; }
    .jv7-score{ display:none; }
    .jv7-rank{ font-size:20px; }
    .jv7-head{ padding:16px 16px 12px; }
}

/* ════════ 排序切换 ════════ */
.jv6-sort{ margin-left:auto; font-size:12px; color:#93a3b8; }
.jv6-sort a{ color:#93a3b8; text-decoration:none; margin:0 2px; }
.jv6-sort a.on{ color:var(--jx-blue); font-weight:700; }
.jv6-sort a:hover{ color:var(--jx-blue); }
@media (max-width:768px){ .jv6-sort{ margin-left:0; flex-basis:100%; } }

/* ════════ 商家库页码分页 ════════ */
.jv8-pagi{ display:flex; justify-content:center; margin:24px 0 34px; }
.jv8-pagi .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; margin:0 4px; padding:0 12px; border-radius:9px; background:#fff; border:1px solid #e2e9f2; color:#3d5170; font-size:13.5px; font-weight:600; text-decoration:none; transition:all .18s; }
.jv8-pagi a.page-numbers:hover{ border-color:var(--jx-blue); color:var(--jx-blue); transform:translateY(-1px); }
.jv8-pagi .page-numbers.current{ background:linear-gradient(135deg,#2f7bff,#00b7ff); border-color:transparent; color:#fff; }
.jv8-pagi .page-numbers.dots{ border:none; background:none; }

/* ════════ 测评榜 TOP4 精品卡 ════════ */
.jv9-top{ margin-bottom:6px; }
.jv9-head{ display:flex; align-items:center; gap:12px; padding:2px 2px 14px; }
.jv9-head h2{ margin:0; font-size:20px; font-weight:800; color:#16273e; display:flex; align-items:center; gap:9px; letter-spacing:.5px; }
.jv9-head h2 svg{ width:22px; height:22px; color:#f5a623; }
.jv9-head h2 em{ font-style:normal; color:#f5a623; font-size:14px; font-weight:900; letter-spacing:2px; background:rgba(245,166,35,.12); padding:2px 10px; border-radius:999px; }
.jv9-head span{ font-size:12px; color:#93a3b8; margin-left:auto; }
.jv9-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.jv9-card{ position:relative; display:flex; align-items:center; gap:16px; padding:20px 22px; border-radius:16px; background:#fff; border:1px solid #e8edf4; text-decoration:none; transition:all .24s; overflow:hidden; }
.jv9-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(16,42,90,.14); border-color:rgba(30,111,255,.3); }
.jv9-card.c1{ grid-column:1 / -1; background:linear-gradient(115deg,#0d1f42 0%,#123063 55%,#0d2a58 100%); border:1px solid rgba(120,160,255,.25); padding:26px 30px; }
.jv9-card.c1:hover{ box-shadow:0 22px 50px rgba(10,30,80,.4); }
.jv9-medal{ position:relative; display:flex; align-items:center; justify-content:center; width:46px; height:46px; flex:none; border-radius:14px; background:linear-gradient(135deg,#ffd35c,#f5a623); color:#7a4a00; }
.jv9-medal svg{ width:17px; height:17px; margin-top:-8px; }
.jv9-medal b{ position:absolute; bottom:4px; font-size:10px; font-weight:900; }
.jv9-card.c2 .jv9-medal{ background:linear-gradient(135deg,#e6ecf4,#c3cedd); color:#5a6a80; }
.jv9-card.c3 .jv9-medal{ background:linear-gradient(135deg,#f3c096,#d98d55); color:#6b3d12; }
.jv9-card.c4 .jv9-medal{ background:linear-gradient(135deg,#dbe9fb,#b9d4f5); color:#2c5a94; }
.jv9-card.c1 .jv9-medal{ width:54px; height:54px; border-radius:16px; box-shadow:0 8px 20px rgba(245,166,35,.45); }
.jv9-logo{ display:flex; align-items:center; justify-content:center; width:58px; height:58px; flex:none; border-radius:14px; background:#f7f9fc; font-size:23px; font-weight:800; color:#33507a; overflow:hidden; }
.jv9-logo img{ width:100%; height:100%; object-fit:contain; padding:5px; box-sizing:border-box; }
.jv9-card.c1 .jv9-logo{ width:70px; height:70px; border-radius:16px; background:rgba(255,255,255,.95); }
.jv9-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }
.jv9-name{ font-size:17px; font-weight:800; color:#1d2b3f; display:flex; align-items:center; gap:8px; white-space:nowrap; overflow:hidden; }
.jv9-card.c1 .jv9-name{ font-size:22px; color:#fff; }
.jv9-meta{ display:flex; flex-wrap:wrap; gap:6px 14px; }
.jv9-meta i{ display:inline-flex; align-items:center; gap:5px; font-style:normal; font-size:12px; color:#8a9ab2; }
.jv9-meta i svg{ width:13px; height:13px; opacity:.75; }
.jv9-card.c1 .jv9-meta i{ color:#b7c7e4; }
.jv9-score{ flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.jv9-score b{ font-size:26px; font-weight:900; line-height:1; color:#16273e; font-variant-numeric:tabular-nums; }
.jv9-card.c1 .jv9-score b{ font-size:44px; color:#ffc95e; }
.jv9-score i{ display:inline-flex; align-items:center; gap:4px; font-style:normal; font-size:11px; color:#a3b0c0; }
.jv9-score i svg{ width:11px; height:11px; color:#f5a623; }
.jv9-card.c1 .jv9-score i{ color:#93a6c4; }
.jv9-pill{ font-style:normal; font-size:11.5px; font-weight:700; padding:4px 14px; border-radius:999px; }
.jv9-pill.v-great{ background:#e8862e; color:#fff; }
.jv9-pill.v-good{ background:#17a35c; color:#fff; }
.jv9-pill.v-ok{ background:#2f7bff; color:#fff; }
.jv9-pill.v-warn{ background:rgba(255,176,44,.15); color:#c98a00; }
.jv9-card.c1 .jv9-pill{ box-shadow:0 4px 14px rgba(0,0,0,.3); }
.jv9-card.c1::after{ content:'TOP 1'; position:absolute; right:18px; top:14px; font-size:11px; font-weight:900; letter-spacing:3px; color:rgba(255,215,120,.4); }
.jv9-rest{ margin-top:14px; padding:12px 18px; border-radius:11px; background:#f6f9fd; border:1px dashed #dbe5f0; font-size:12.5px; color:#8a9ab2; }
.jv9-rest a{ color:#3d5170; text-decoration:none; font-weight:600; }
.jv9-rest a:hover{ color:var(--jx-blue); }
.jv9-rest b{ color:#e8862e; font-variant-numeric:tabular-nums; }
@media (max-width:992px){ .jv9-grid{ grid-template-columns:1fr 1fr; } .jv9-card.c1{ grid-column:1 / -1; } }
@media (max-width:640px){
    .jv9-grid{ grid-template-columns:1fr; }
    .jv9-card{ padding:16px; gap:12px; }
    .jv9-card.c1{ padding:18px; }
    .jv9-card.c1 .jv9-score b{ font-size:32px; }
    .jv9-head span{ display:none; }
    .jv9-meta i:nth-child(3){ display:none; }
}

/* ════════ TOP4 修正：全宽区 + 2-4 名竖排 ════════ */
.jv9-zone{ margin-bottom:28px; }
.jv9-zone .jx-filter-tabs{ margin:22px 0 16px; }
.jv9-card:not(.c1){ flex-direction:column; align-items:flex-start; gap:12px; padding:20px 20px 18px; }
.jv9-card:not(.c1) .jv9-toprow{ display:flex; align-items:center; justify-content:space-between; width:100%; }
.jv9-card:not(.c1) .jv9-logo{ width:64px; height:64px; border-radius:15px; font-size:25px; }
.jv9-card:not(.c1) .jv9-body{ width:100%; gap:6px; }
.jv9-card:not(.c1) .jv9-name{ font-size:16.5px; white-space:normal; }
.jv9-card:not(.c1) .jv9-meta{ flex-direction:column; align-items:flex-start; gap:6px; }
.jv9-card:not(.c1) .jv9-score{ flex-direction:row; align-items:center; gap:6px; width:100%; justify-content:space-between; }
.jv9-card:not(.c1) .jv9-score b{ font-size:24px; }
.jv9-card:not(.c1) .jv9-score i{ margin-left:auto; }

/* ════════ 年度测评榜 v10 ════════ */
.jv10-board{ margin-bottom:6px; }
.jv10-head{ display:flex; align-items:flex-end; gap:14px; padding:2px 4px 16px; }
.jv10-head h2{ margin:0; font-size:22px; font-weight:800; color:#16273e; letter-spacing:.5px; position:relative; padding-bottom:8px; }
.jv10-head h2::after{ content:''; position:absolute; left:0; bottom:0; width:44px; height:3px; border-radius:2px; background:linear-gradient(90deg,#d9a648,#f0c060); }
.jv10-head span{ font-size:12px; color:#93a3b8; margin-left:auto; }
.jv10-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.jv10-card{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:13px; padding:30px 20px 26px; border-radius:16px; background:#fff; border:1px solid #e9edf5; text-decoration:none; transition:all .25s; overflow:hidden; }
.jv10-card::before{ content:''; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#e8edf4,#e8edf4); }
.jv10-card.c1::before{ height:4px; background:linear-gradient(90deg,#d9a648,#f0c060,#d9a648); }
.jv10-card:hover{ transform:translateY(-5px); box-shadow:0 20px 44px rgba(16,42,90,.13); border-color:rgba(30,111,255,.28); }
.jv10-card.c1{ background:linear-gradient(155deg,#0d1f42 0%,#123063 60%,#0d2a58 100%); border-color:rgba(150,170,220,.22); }
.jv10-card.c1:hover{ box-shadow:0 22px 48px rgba(10,30,80,.4); }
.jv10-rank{ position:absolute; top:10px; left:16px; font-size:40px; font-weight:900; line-height:1; color:#eef2f8; font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.jv10-card.c1 .jv10-rank{ color:rgba(240,192,96,.28); }
.jv10-logo{ display:flex; align-items:center; justify-content:center; width:74px; height:74px; border-radius:18px; background:#f5f7fb; font-size:29px; font-weight:800; color:#33507a; overflow:hidden; margin-top:6px; box-shadow:0 6px 16px rgba(16,42,90,.08); }
.jv10-logo img{ width:100%; height:100%; object-fit:contain; padding:9px; box-sizing:border-box; }
.jv10-card.c1 .jv10-logo{ background:rgba(255,255,255,.96); }
.jv10-name{ font-size:17.5px; font-weight:800; color:#1d2b3f; display:flex; align-items:center; gap:7px; flex-wrap:wrap; justify-content:center; }
.jv10-card.c1 .jv10-name{ color:#fff; }
.jv10-score{ font-size:36px; font-weight:900; line-height:1; color:#16273e; font-variant-numeric:tabular-nums; display:flex; align-items:baseline; gap:2px; }
.jv10-score i{ font-style:normal; font-size:13px; color:#a3b0c0; font-weight:600; }
.jv10-card.c1 .jv10-score{ color:#f0c060; }
.jv10-card.c1 .jv10-score i{ color:#93a6c4; }
.jv10-stars{ display:flex; gap:3px; }
.jv10-stars b{ width:15px; height:15px; color:#dde3ec; }
.jv10-stars b.on{ color:#f5a623; }
.jv10-stars b svg{ width:100%; height:100%; display:block; }
.jv10-verdict{ font-style:normal; font-size:12px; font-weight:700; padding:5px 16px; border-radius:999px; letter-spacing:.5px; }
.jv10-verdict.v-great{ background:#e8862e; color:#fff; }
.jv10-verdict.v-good{ background:#17a35c; color:#fff; }
.jv10-verdict.v-ok{ background:#2f7bff; color:#fff; }
.jv10-verdict.v-warn{ background:rgba(255,176,44,.15); color:#c98a00; }
.jv10-meta{ font-size:12px; color:#9aa8ba; }
.jv10-card.c1 .jv10-meta{ color:#b7c7e4; }
@media (max-width:992px){ .jv10-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px){
    .jv10-grid{ grid-template-columns:1fr; }
    .jv10-head span{ display:none; }
    .jv10-rank{ font-size:32px; }
}

/* ════════ 颁奖台 v11（照参照物复刻）════════ */
.jv11-stage{ position:relative; overflow:hidden; border-radius:18px; padding:34px 26px 40px; background:linear-gradient(160deg,#0c1e42 0%,#123063 55%,#0d2a58 100%); }
.jv11-stage::before{ content:''; position:absolute; left:50%; bottom:-40px; width:520px; height:120px; transform:translateX(-50%); background:radial-gradient(closest-side, rgba(240,192,96,.35), transparent 70%); filter:blur(6px); }
.jv11-head{ display:flex; align-items:baseline; gap:14px; margin-bottom:26px; }
.jv11-head h2{ margin:0; font-size:22px; font-weight:800; color:#fff; letter-spacing:.5px; }
.jv11-head h2::before{ content:''; display:inline-block; width:4px; height:18px; margin-right:11px; border-radius:2px; background:linear-gradient(180deg,#f0c060,#d9a648); vertical-align:-3px; }
.jv11-head span{ font-size:12px; color:#93a6c4; margin-left:auto; }
.jv11-podium{ position:relative; display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:22px; align-items:end; max-width:1060px; margin:0 auto; }
.jv11-col{ display:flex; flex-direction:column; align-items:center; }
.jv11-trophy{ position:relative; display:flex; flex-direction:column; align-items:center; }
.jv11-trophy svg{ width:46px; height:46px; }
.jv11-trophy.t1 svg{ width:62px; height:62px; color:#f0c060; filter:drop-shadow(0 6px 14px rgba(240,192,96,.5)); }
.jv11-trophy.t2 svg{ color:#c3cedd; filter:drop-shadow(0 4px 10px rgba(150,170,200,.4)); }
.jv11-trophy.t3 svg{ color:#d98d55; filter:drop-shadow(0 4px 10px rgba(200,140,90,.4)); }
.jv11-no{ margin-top:-4px; font-size:12px; font-weight:800; color:#8a5a10; background:linear-gradient(180deg,#ffe0a0,#f0c060); padding:3px 14px; border-radius:4px; letter-spacing:1px; box-shadow:0 3px 8px rgba(0,0,0,.25); }
.jv11-trophy.t2 .jv11-no{ color:#4a5a70; background:linear-gradient(180deg,#eef2f8,#c3cedd); }
.jv11-trophy.t3 .jv11-no{ color:#6b3d12; background:linear-gradient(180deg,#f3c096,#d98d55); }
.jv11-logo{ display:flex; align-items:center; justify-content:center; width:100%; max-width:190px; height:86px; margin-top:14px; border-radius:12px; background:#fff; font-size:30px; font-weight:800; color:#33507a; overflow:hidden; box-shadow:0 10px 26px rgba(0,0,0,.3); }
.jv11-logo img{ width:100%; height:100%; object-fit:contain; padding:12px; box-sizing:border-box; }
.jv11-block{ width:100%; margin-top:10px; border-radius:12px 12px 0 0; padding:20px 18px 22px; text-align:center; background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06)); border:1px solid rgba(255,255,255,.14); border-bottom:none; backdrop-filter:blur(4px); }
.jv11-col.p1 .jv11-block{ padding-top:26px; padding-bottom:30px; background:linear-gradient(180deg, rgba(240,192,96,.28), rgba(240,192,96,.08)); border-color:rgba(240,192,96,.35); }
.jv11-block strong{ display:block; font-size:18px; font-weight:800; color:#fff; }
.jv11-col.p1 .jv11-block strong{ font-size:21px; }
.jv11-block p{ margin:8px 0 12px; font-size:12px; line-height:1.7; color:#c6d4ec; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.jv11-chips{ display:flex; justify-content:center; gap:8px; margin-bottom:14px; }
.jv11-chips em{ font-style:normal; font-size:11px; font-weight:600; color:#ffd98a; background:rgba(240,192,96,.16); border:1px solid rgba(240,192,96,.3); padding:2px 10px; border-radius:999px; }
.jv11-btn{ display:inline-block; font-size:13px; font-weight:700; color:#fff; background:linear-gradient(135deg,#2f7bff,#00b7ff); padding:8px 26px; border-radius:999px; text-decoration:none; box-shadow:0 6px 16px rgba(30,111,255,.4); transition:all .2s; }
.jv11-btn:hover{ transform:translateY(-2px); }
.jv11-rows{ max-width:1060px; margin:26px auto 0; }
.jv11-row{ display:flex; align-items:center; gap:18px; padding:18px 22px; border-radius:14px; background:#fff; text-decoration:none; transition:all .22s; }
.jv11-row:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(16,42,90,.14); }
.jv11-rankhex{ flex:none; display:flex; align-items:center; justify-content:center; width:44px; height:48px; background:linear-gradient(160deg,#3d8bff,#1e6fff); color:#fff; font-size:19px; font-weight:800; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.jv11-rowlogo{ flex:none; display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:12px; background:#f5f7fb; font-size:25px; font-weight:800; color:#33507a; overflow:hidden; }
.jv11-rowlogo img{ width:100%; height:100%; object-fit:contain; padding:7px; box-sizing:border-box; }
.jv11-rowbody{ flex:1; min-width:0; }
.jv11-rowbody strong{ display:block; font-size:17px; font-weight:800; color:#1d2b3f; }
.jv11-rowbody p{ margin:4px 0 0; font-size:12.5px; color:#8a9ab2; line-height:1.6; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.jv11-rowscore{ flex:none; font-size:24px; font-weight:900; color:#e8862e; font-variant-numeric:tabular-nums; }
.jv11-rowscore i{ font-style:normal; font-size:11px; color:#a3b0c0; }
@media (max-width:860px){
    .jv11-podium{ grid-template-columns:1fr; gap:34px; }
    .jv11-col{ order:0; }
    .jv11-col.p1{ order:-1; }
    .jv11-logo{ max-width:220px; }
}
@media (max-width:640px){
    .jv11-row{ flex-wrap:wrap; }
    .jv11-rowbody{ flex-basis:60%; }
    .jv11-rowscore{ margin-left:auto; }
}

/* ════════ 颁奖台 v12（认真照抄 chinapp 参照物，红色舞台）════════ */
.jv12-stage{ position:relative; overflow:hidden; border-radius:18px; padding:44px 26px 0; background:linear-gradient(180deg,#e64533 0%,#d92f28 60%,#c92722 100%); }
.jv12-stage::after{ content:''; position:absolute; left:50%; bottom:-30px; width:560px; height:110px; transform:translateX(-50%); background:radial-gradient(closest-side, rgba(255,214,120,.5), transparent 70%); filter:blur(8px); pointer-events:none; }
.jv12-head{ text-align:center; position:relative; z-index:2; }
.jv12-head h2{ margin:0 0 14px; font-size:38px; font-weight:800; color:#fff; letter-spacing:2px; }
.jv12-sub{ margin:0 0 14px; font-size:16px; color:#fff; }
.jv12-desc{ margin:0 auto 12px; max-width:760px; font-size:13px; line-height:1.9; color:rgba(255,255,255,.88); }
.jv12-upd{ margin:0 0 22px; font-size:12.5px; color:rgba(255,255,255,.8); }
.jv12-tabs{ display:inline-flex; align-items:center; gap:0; padding:5px; border-radius:999px; background:rgba(255,255,255,.16); }
.jv12-tabs span{ padding:9px 44px; border-radius:999px; font-size:15px; font-weight:600; color:#fff; cursor:pointer; }
.jv12-tabs span.on{ background:#fff; color:#d92f28; }
.jv12-podium{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1.12fr 1fr; gap:26px; align-items:end; max-width:1080px; margin:34px auto 0; }
.jv12-col{ display:flex; flex-direction:column; align-items:center; }
.jv12-trophy svg{ width:74px; height:74px; filter:drop-shadow(0 8px 16px rgba(0,0,0,.25)); }
.jv12-col.p1 .jv12-trophy svg{ width:96px; height:96px; }
.jv12-ribbon{ margin-top:-6px; font-size:15px; font-weight:800; color:#8a5a10; background:linear-gradient(180deg,#ffe0a0,#f0b95a); padding:4px 26px; clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%); letter-spacing:1px; }
.jv12-col.p2 .jv12-ribbon,.jv12-col.p3 .jv12-ribbon{ color:#7a4a10; }
.jv12-logo{ display:flex; align-items:center; justify-content:center; width:100%; max-width:180px; height:92px; margin-top:16px; border-radius:12px; background:#fff; font-size:32px; font-weight:800; color:#33507a; overflow:hidden; box-shadow:0 12px 28px rgba(0,0,0,.28); }
.jv12-logo img{ width:100%; height:100%; object-fit:contain; padding:14px; box-sizing:border-box; }
.jv12-block{ position:relative; width:100%; margin-top:12px; padding:26px 20px 26px; text-align:center; border-radius:6px 6px 0 0; background:linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.16)); }
.jv12-block::before{ content:''; position:absolute; top:-16px; left:0; right:0; height:16px; background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.3)); clip-path:polygon(7% 0,93% 0,100% 100%,0 100%); }
.jv12-col.p1 .jv12-block{ padding-top:34px; padding-bottom:36px; background:linear-gradient(180deg,#f2a45f,#e08b4a); }
.jv12-col.p1 .jv12-block::before{ background:linear-gradient(180deg,#ffd9a8,#f2a45f); }
.jv12-block strong{ display:block; font-size:20px; font-weight:800; color:#fff; }
.jv12-block p{ margin:10px 0 14px; font-size:12px; line-height:1.75; color:rgba(255,255,255,.9); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.jv12-chips{ display:flex; justify-content:center; gap:8px; margin-bottom:16px; }
.jv12-chips em{ font-style:normal; font-size:11px; font-weight:600; color:#fff; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.3); padding:2px 11px; border-radius:999px; }
.jv12-btn{ display:inline-block; font-size:14px; font-weight:700; color:#fff; background:#d92f28; padding:9px 30px; border-radius:999px; text-decoration:none; box-shadow:0 6px 16px rgba(0,0,0,.25); transition:all .2s; }
.jv12-btn:hover{ transform:translateY(-2px); filter:brightness(1.1); }
.jv12-rows{ max-width:1080px; margin:30px auto 0; }
.jv12-row{ display:flex; align-items:center; gap:18px; padding:18px 24px; border-radius:12px; background:#fff; text-decoration:none; transition:all .22s; }
.jv12-row:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(0,0,0,.18); }
.jv12-rankhex{ flex:none; display:flex; align-items:center; justify-content:center; width:44px; height:48px; background:linear-gradient(160deg,#e64533,#c62828); color:#fff; font-size:19px; font-weight:800; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.jv12-rowlogo{ flex:none; display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:10px; background:#f5f7fb; font-size:25px; font-weight:800; color:#33507a; overflow:hidden; }
.jv12-rowlogo img{ width:100%; height:100%; object-fit:contain; padding:7px; box-sizing:border-box; }
.jv12-rowbody{ flex:1; min-width:0; }
.jv12-rowbody strong{ display:block; font-size:17px; font-weight:800; color:#d92f28; }
.jv12-rowbody p{ margin:4px 0 0; font-size:12.5px; color:#8a9ab2; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.jv12-rowscore{ flex:none; font-size:24px; font-weight:900; color:#e64533; font-variant-numeric:tabular-nums; }
.jv12-rowscore i{ font-style:normal; font-size:11px; color:#a3b0c0; }
@media (max-width:860px){
    .jv12-head h2{ font-size:28px; }
    .jv12-tabs span{ padding:8px 22px; font-size:13px; }
    .jv12-podium{ grid-template-columns:1fr; gap:40px; }
    .jv12-col.p1{ order:-1; }
}
@media (max-width:640px){
    .jv12-row{ flex-wrap:wrap; }
    .jv12-rowbody{ flex-basis:60%; }
    .jv12-rowscore{ margin-left:auto; }
}

/* v12 修正：Tab 链接化 + 白卡名字 */
.jv12-tabs a{ text-decoration:none; }
.jv12-tabs span,.jv12-tabs a{ display:inline-block; }
.jv12-logoname{ font-size:20px; font-weight:800; color:#1d2b3f; line-height:1.2; padding:0 10px; text-align:center; white-space:normal; word-break:break-all; }
@media (max-width:640px){ .jv12-logoname{ font-size:16px; } }

/* v12 Tab a 标签样式补齐 + 小屏换行 */
.jv12-tabs{ flex-wrap:wrap; gap:2px; }
.jv12-tabs a{ padding:9px 44px; border-radius:999px; font-size:15px; font-weight:600; color:#fff; }
.jv12-tabs a.on{ background:#fff; color:#d92f28; }
@media (max-width:860px){ .jv12-tabs a{ padding:8px 24px; font-size:13px; } }
@media (max-width:560px){ .jv12-tabs a{ padding:7px 16px; font-size:12.5px; } }

/* v12 紧凑化（榜单太大→缩小） */
.jv12-stage{ padding:28px 22px 0; }
.jv12-head h2{ font-size:27px; margin-bottom:10px; }
.jv12-sub{ font-size:14px; margin-bottom:10px; }
.jv12-desc{ font-size:12px; max-width:680px; margin-bottom:8px; }
.jv12-upd{ margin-bottom:14px; font-size:12px; }
.jv12-tabs a{ padding:7px 30px; font-size:14px; }
.jv12-podium{ margin-top:22px; gap:18px; max-width:960px; }
.jv12-trophy svg{ width:56px; height:56px; }
.jv12-col.p1 .jv12-trophy svg{ width:72px; height:72px; }
.jv12-ribbon{ font-size:13px; padding:3px 20px; }
.jv12-logo{ height:70px; max-width:150px; margin-top:12px; }
.jv12-logoname{ font-size:17px; }
.jv12-block{ padding:16px 16px 18px; }
.jv12-col.p1 .jv12-block{ padding:20px 16px 22px; }
.jv12-block p{ font-size:11.5px; margin:6px 0 10px; }
.jv12-chips{ margin-bottom:10px; }
.jv12-chips em{ font-size:10.5px; padding:2px 9px; }
.jv12-btn{ padding:7px 22px; font-size:13px; }
.jv12-rows{ margin-top:20px; max-width:960px; }
@media (max-width:860px){ .jv12-tabs a{ padding:7px 20px; font-size:13px; } }

/* ════════ 间距 + 商家卡片重设计 ════════ */
.jv9-zone{ margin-top:26px; }
.jv6-dir{ gap:16px; }
.jv6-card{ display:flex; flex-direction:column; padding:18px; border-radius:14px; background:#fff; border:1px solid #eef1f6; text-decoration:none; transition:all .24s; position:relative; overflow:hidden; }
.jv6-card::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,#2f7bff,#00c6ff); opacity:0; transition:opacity .24s; }
.jv6-card:hover{ transform:translateY(-4px); border-color:rgba(30,111,255,.25); box-shadow:0 16px 36px rgba(16,42,90,.12); }
.jv6-card:hover::before{ opacity:1; }
.jv6-top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.jv6-logo{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex:none; border-radius:12px; background:#f5f7fb; font-size:20px; font-weight:800; color:#33507a; overflow:hidden; }
.jv6-logo img{ width:100%; height:100%; object-fit:contain; padding:5px; box-sizing:border-box; }
.jv6-name{ min-width:0; display:flex; align-items:center; gap:8px; }
.jv6-name strong{ font-size:16px; font-weight:700; color:#1d2b3f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv6-name em{ font-style:normal; flex:none; font-size:10.5px; font-weight:600; padding:2px 9px; border-radius:999px; }
.jv6-name em.cn{ color:#2f7bff; background:rgba(47,123,255,.1); }
.jv6-name em.hw{ color:#e8862e; background:rgba(232,134,46,.12); }
.jv6-card p{ margin:0 0 12px; font-size:12.5px; color:#8a9ab2; line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:41px; }
.jv6-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid #f2f5f9; }
.jv6-foot b{ font-size:14px; font-weight:800; color:#2f7bff; font-variant-numeric:tabular-nums; }
.jv6-foot b.none{ color:#9aa8ba; font-weight:600; font-size:12.5px; }
.jv6-go{ font-size:12px; font-weight:600; color:#9aa8ba; transition:all .2s; }
.jv6-card:hover .jv6-go{ color:var(--jx-blue); transform:translateX(2px); }

/* ════════ 修正：颁奖台与导航留距 + 目录卡重做 ════════ */
.jv9-zone{ margin-top:26px; }

/* 目录卡 v2（精致版） */
.jv6-dir{ grid-template-columns:repeat(3, 1fr) !important; gap:16px; }
.jv6-card{ display:flex; flex-direction:column; gap:12px; padding:18px 18px 14px; border-radius:14px; background:#fff; border:1px solid #e9edf5; text-decoration:none; transition:all .22s; position:relative; overflow:hidden; }
.jv6-card::before{ content:''; position:absolute; left:0; top:0; right:0; height:3px; background:linear-gradient(90deg,#2f7bff,#00c6ff); opacity:0; transition:opacity .22s; }
.jv6-card:hover{ transform:translateY(-4px); border-color:rgba(30,111,255,.3); box-shadow:0 16px 36px rgba(16,42,90,.12); }
.jv6-card:hover::before{ opacity:1; }
.jv6-top{ display:flex; align-items:center; gap:12px; }
.jv6-logo{ display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex:none; border-radius:11px; background:#f5f7fb; border:1px solid #eef2f8; font-size:19px; font-weight:800; color:#33507a; overflow:hidden; transition:transform .22s; }
.jv6-card:hover .jv6-logo{ transform:scale(1.06); }
.jv6-logo img{ width:100%; height:100%; object-fit:contain; padding:5px; box-sizing:border-box; }
.jv6-name{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.jv6-name strong{ font-size:15.5px; font-weight:700; color:#1d2b3f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv6-name em{ align-self:flex-start; font-style:normal; font-size:10.5px; font-weight:600; padding:1px 9px; border-radius:999px; }
.jv6-name em.cn{ color:#17a35c; background:rgba(23,163,92,.1); }
.jv6-name em.hw{ color:#2f7bff; background:rgba(47,123,255,.1); }
.jv6-card p{ margin:0; font-size:12.5px; color:#8a9ab2; line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; }
.jv6-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:10px; border-top:1px solid #f2f5fa; }
.jv6-foot b{ font-size:13.5px; font-weight:700; color:#e8862e; }
.jv6-foot b.none{ color:#9aa8ba; font-weight:600; }
.jv6-go{ font-size:12px; color:#9aa8ba; transition:all .2s; }
.jv6-card:hover .jv6-go{ color:var(--jx-blue); transform:translateX(3px); }
@media (max-width:992px){ .jv6-dir{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:640px){ .jv6-dir{ grid-template-columns:1fr !important; } .jv6-card p{ min-height:0; } }

/* ════════ 榜中榜 v16（照 maigoo，紧凑高端，无排序）════════ */
.jv16-stage{ position:relative; overflow:hidden; border-radius:16px; background:linear-gradient(160deg,#8c1414 0%,#a01818 55%,#7a1010 100%); padding:26px 22px 22px; }
.jv16-stage::before,.jv16-stage::after{ content:''; position:absolute; width:150px; height:150px; background:radial-gradient(closest-side, rgba(255,214,120,.18), transparent 70%); pointer-events:none; }
.jv16-stage::before{ left:-40px; top:-40px; }
.jv16-stage::after{ right:-40px; bottom:-40px; }
.jv16-head{ text-align:center; position:relative; z-index:2; margin-bottom:18px; }
.jv16-head h2{ margin:0 0 8px; font-size:26px; font-weight:800; color:#fff; letter-spacing:1px; }
.jv16-head h2 i{ font-style:italic; color:#ffd98a; }
.jv16-sub{ margin:0 0 8px; font-size:13.5px; color:#ffe9c9; }
.jv16-desc{ margin:0 auto; max-width:760px; font-size:12px; line-height:1.8; color:rgba(255,240,220,.8); }
.jv16-list{ position:relative; z-index:2; display:flex; flex-direction:column; gap:12px; }
.jv16-card{ display:block; border-radius:12px; overflow:hidden; background:#fff; text-decoration:none; transition:all .22s; box-shadow:0 6px 18px rgba(0,0,0,.2); }
.jv16-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(0,0,0,.3); }
.jv16-bar{ display:flex; align-items:center; gap:12px; padding:10px 16px; }
.jv16-card.r1 .jv16-bar{ background:linear-gradient(90deg,#e0342c,#f0554a); }
.jv16-card.r2 .jv16-bar{ background:linear-gradient(90deg,#f0742c,#f89a4a); }
.jv16-card.r3 .jv16-bar{ background:linear-gradient(90deg,#e8a020,#f5c04a); }
.jv16-card.r4 .jv16-bar{ background:linear-gradient(90deg,#2f7bff,#5a9bff); }
.jv16-card.r5 .jv16-bar{ background:linear-gradient(90deg,#5a7089,#7a90a9); }
.jv16-no{ flex:none; font-size:15px; font-weight:900; font-style:normal; color:#fff; letter-spacing:.5px; }
.jv16-logo{ flex:none; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:8px; background:#fff; font-size:18px; font-weight:800; color:#33507a; overflow:hidden; }
.jv16-logo img{ width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.jv16-title{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.jv16-title strong{ font-size:17px; font-weight:800; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv16-title i{ font-style:normal; font-size:11.5px; color:rgba(255,255,255,.85); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jv16-stars{ flex:none; display:flex; gap:2px; }
.jv16-stars b{ width:16px; height:16px; color:rgba(255,255,255,.4); }
.jv16-stars b.on{ color:#ffd98a; }
.jv16-stars b svg{ width:100%; height:100%; display:block; }
.jv16-body{ display:block; padding:12px 16px 12px; }
.jv16-chips{ display:flex; flex-wrap:wrap; gap:7px; }
.jv16-chips em{ font-style:normal; font-size:11px; color:#5a6f8c; background:#f2f5fa; border:1px solid #e6ecf4; padding:2px 10px; border-radius:999px; }
.jv16-chips em:nth-child(2){ color:#e8862e; background:rgba(232,134,46,.08); border-color:rgba(232,134,46,.25); }
.jv16-txt{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:9px; font-size:12.5px; color:#8a9ab2; line-height:1.7; }
.jv16-more{ display:inline-block; margin-top:8px; font-size:12px; font-weight:600; color:#c22; }
@media (max-width:640px){
    .jv16-head h2{ font-size:21px; }
    .jv16-stars{ display:none; }
    .jv16-title strong{ font-size:15px; }
}

/* ════════ 收录商家 maigoo 排名卡 ════════ */
.mg-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
.mg-card{ display:block; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #e9edf5; text-decoration:none; transition:all .22s; }
.mg-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(16,42,90,.12); border-color:rgba(30,111,255,.3); }
.mg-bar{ display:flex; align-items:center; gap:10px; padding:9px 14px; }
.mg-card.c1 .mg-bar{ background:linear-gradient(90deg,#e0342c,#f0554a); }
.mg-card.c2 .mg-bar{ background:linear-gradient(90deg,#f0742c,#f89a4a); }
.mg-card.c3 .mg-bar{ background:linear-gradient(90deg,#e8a020,#f5c04a); }
.mg-card.c4 .mg-bar{ background:linear-gradient(90deg,#2f7bff,#5a9bff); }
.mg-card.c5 .mg-bar{ background:linear-gradient(90deg,#5a7089,#7a90a9); }
.mg-no{ flex:none; font-style:normal; font-size:13px; font-weight:900; color:#fff; }
.mg-logo{ flex:none; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:7px; background:transparent; border:none; font-size:16px; font-weight:800; color:#fff; overflow:hidden; }
.mg-logo img{ width:100%; height:100%; object-fit:contain; padding:0; box-sizing:border-box; }
.mg-title{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.mg-title strong{ font-size:15px; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mg-title i{ font-style:normal; font-size:10.5px; color:rgba(255,255,255,.85); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mg-stars{ flex:none; display:flex; gap:1px; }
.mg-stars b{ width:13px; height:13px; color:rgba(255,255,255,.4); }
.mg-stars b.on{ color:#ffd98a; }
.mg-stars b svg{ width:100%; height:100%; display:block; }
.mg-body{ display:block; padding:11px 14px 12px; }
.mg-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.mg-chips em{ font-style:normal; font-size:10.5px; color:#5a6f8c; background:#f2f5fa; border:1px solid #e6ecf4; padding:1px 9px; border-radius:999px; }
.mg-txt{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-top:8px; font-size:12.5px; color:#8a9ab2; line-height:1.7; }
.mg-more{ display:inline-block; margin-top:7px; font-size:11.5px; font-weight:600; color:#c22; }
@media (max-width:860px){ .mg-grid{ grid-template-columns:1fr; } }

/* ════════ 商家页 FAQ（GEO）════════ */
.jv-faq-box{ display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid #e8edf4; border-radius:14px; padding:6px 20px; }
.jv-faq-box details{ border-bottom:1px solid #f2f5fa; padding:13px 0; }
.jv-faq-box details:last-child{ border-bottom:none; }
.jv-faq-box summary{ font-size:14.5px; font-weight:700; color:#22354e; cursor:pointer; list-style:none; display:flex; align-items:center; gap:8px; }
.jv-faq-box summary::before{ content:'Q'; flex:none; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; background:rgba(47,123,255,.1); color:#2f7bff; font-size:12px; font-weight:800; }
.jv-faq-box summary::after{ content:'+'; margin-left:auto; color:#a3b0c0; font-size:18px; font-weight:600; transition:transform .2s; }
.jv-faq-box details[open] summary::after{ transform:rotate(45deg); }
.jv-faq-box details p{ margin:9px 0 0 30px; font-size:13px; color:#7c8ca1; line-height:1.8; }

/* ════════ 看看其他商家：logo 迷你卡 ════════ */
.jvo-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.jvo-card{ display:flex; align-items:center; gap:11px; padding:12px 14px; border-radius:11px; background:#fff; border:1px solid #edf1f7; text-decoration:none; transition:all .2s; }
.jvo-card:hover{ transform:translateY(-3px); border-color:rgba(30,111,255,.32); box-shadow:0 10px 24px rgba(16,42,90,.1); }
.jvo-logo{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex:none; border-radius:10px; background:#f7f9fc; font-size:17px; font-weight:800; color:#33507a; overflow:hidden; }
.jvo-logo img{ width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.jvo-body{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.jvo-body strong{ font-size:13.5px; font-weight:600; color:#26374d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jvo-card:hover .jvo-body strong{ color:var(--jx-blue); }
.jvo-body em{ font-style:normal; font-size:11px; color:#9aa8ba; }
@media (max-width:768px){ .jvo-grid{ grid-template-columns:repeat(2, 1fr); } }

/* ════════ 看看其他商家 UI 优化 ════════ */
.jvo-card{ position:relative; flex-direction:row; padding:13px 15px; border-radius:12px; gap:12px; overflow:hidden; }
.jvo-card::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,#2f7bff,#00c6ff); opacity:0; transition:opacity .2s; }
.jvo-card:hover::before{ opacity:1; }
.jvo-card:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(16,42,90,.1); }
.jvo-logo{ width:44px; height:44px; border-radius:10px; background:#f7f9fc; border:1px solid #eef2f8; }
.jvo-logo img{ padding:6px; }
.jvo-body{ gap:4px; }
.jvo-body strong{ font-size:14px; }
.jvo-body em{ display:inline-flex; align-items:center; gap:5px; font-style:normal; font-size:11px; color:#8a9ab2; }
.jvo-body em::before{ content:''; width:6px; height:6px; border-radius:50%; }
.jvo-body em.cn::before{ background:#17a35c; }
.jvo-body em.hw::before{ background:#2f7bff; }
.jx-vp3-others .jv3-sec-head{ margin-bottom:14px; }
.jx-vp3-others .jv3-sec-head .jx-vp3-all{ margin-left:auto; font-size:13px; font-weight:600; color:var(--jx-blue); text-decoration:none; }
.jx-vp3-others .jv3-sec-head .jx-vp3-all:hover{ color:var(--jx-cyan); }

/* ════════ 优惠中心 /deals ════════ */
.dl-stage{ position:relative; overflow:hidden; border-radius:16px; padding:30px 26px 22px; background:linear-gradient(150deg,#8c1414 0%,#a52a1e 55%,#7a1010 100%); }
.dl-stage::after{ content:''; position:absolute; right:-50px; top:-50px; width:220px; height:220px; background:radial-gradient(closest-side, rgba(255,214,120,.22), transparent 70%); pointer-events:none; }
.dl-head{ text-align:center; position:relative; z-index:2; }
.dl-head h2{ margin:0 0 8px; font-size:28px; font-weight:800; color:#fff; letter-spacing:1px; }
.dl-sub{ margin:0 0 16px; font-size:13px; color:#ffe9c9; }
.dl-stats{ display:flex; justify-content:center; gap:36px; list-style:none; margin:0; }
.dl-stats li{ display:flex; flex-direction:column; align-items:center; gap:2px; }
.dl-stats strong{ font-size:24px; font-weight:800; color:#ffd98a; font-variant-numeric:tabular-nums; }
.dl-stats span{ font-size:11.5px; color:rgba(255,235,210,.8); }
.dl-tabs{ position:relative; z-index:2; display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:18px; }
.dl-tabs a{ display:inline-block; padding:8px 34px; border-radius:999px; font-size:14px; font-weight:600; color:#fff; text-decoration:none; background:rgba(255,255,255,.16); }
.dl-tabs a.on{ background:#fff; color:#a52a1e; }
.dl-tabs a:hover{ background:rgba(255,255,255,.28); }
.dl-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
.dl-card{ display:flex; flex-direction:column; gap:12px; padding:16px 18px; border-radius:13px; background:#fff; border:1px solid #e9edf5; transition:all .22s; }
.dl-card:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(16,42,90,.12); border-color:rgba(232,134,46,.4); }
.dl-card-head{ display:flex; align-items:center; gap:11px; }
.dl-logo{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; border-radius:10px; background:#f7f9fc; font-size:17px; font-weight:800; color:#33507a; overflow:hidden; }
.dl-logo img{ width:100%; height:100%; object-fit:contain; padding:5px; box-sizing:border-box; }
.dl-name{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.dl-name strong{ font-size:15.5px; font-weight:700; color:#1d2b3f; }
.dl-name em{ font-style:normal; font-size:12px; color:#8a9ab2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dl-type{ flex:none; font-style:normal; font-size:11px; font-weight:700; color:#fff; padding:3px 12px; border-radius:999px; }
.dl-type.t-new{ background:#f0742c; }
.dl-type.t-limit{ background:#e0342c; }
.dl-type.t-long{ background:#2f7bff; }
.dl-code{ display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:9px; background:#faf6ef; border:1px dashed #e8c98a; }
.dl-code code{ flex:1; font-size:14px; font-weight:700; color:#b05e10; letter-spacing:1px; font-family:Consolas,Monaco,monospace; }
.dl-copy{ flex:none; font-size:12px; font-weight:600; color:#fff; background:#e8a020; border:none; border-radius:6px; padding:5px 14px; cursor:pointer; transition:all .2s; }
.dl-copy:hover{ background:#d98e10; }
.dl-copy.done{ background:#17a35c; }
.dl-code-none span{ font-size:12.5px; color:#b08a4a; }
.dl-card-foot{ display:flex; align-items:center; gap:10px; margin-top:auto; }
.dl-btn{ font-size:13px; font-weight:700; color:#fff; background:linear-gradient(135deg,#f0742c,#e0342c); padding:8px 20px; border-radius:999px; text-decoration:none; box-shadow:0 5px 14px rgba(224,52,44,.3); transition:all .2s; }
.dl-btn:hover{ transform:translateY(-1px); color:#fff; filter:brightness(1.08); }
.dl-ghost{ font-size:12.5px; color:#8a9ab2; text-decoration:none; }
.dl-ghost:hover{ color:var(--jx-blue); }
@media (max-width:860px){ .dl-grid{ grid-template-columns:1fr; } .dl-head h2{ font-size:22px; } }

/* ════════ 优惠中心 v2：票券风 ════════ */
.tk-hero{ position:relative; overflow:hidden; border-radius:16px; padding:34px 26px; background:linear-gradient(135deg,#7a1010 0%,#a52a1e 50%,#c2401f 100%); }
.tk-hero::before{ content:''; position:absolute; inset:0; background:repeating-linear-gradient(90deg, transparent 0 46px, rgba(255,255,255,.05) 46px 48px); pointer-events:none; }
.tk-hero-in{ position:relative; z-index:2; text-align:center; }
.tk-ribbon{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:3px; color:#7a1010; background:linear-gradient(180deg,#ffe0a0,#f5c04a); padding:4px 18px; border-radius:4px; transform:rotate(-2deg); box-shadow:0 4px 10px rgba(0,0,0,.25); }
.tk-hero h2{ margin:14px 0 8px; font-size:30px; font-weight:800; color:#fff; letter-spacing:2px; }
.tk-hero p{ margin:0 0 20px; font-size:13px; color:#ffe9c9; }
.tk-tabs{ display:inline-flex; flex-wrap:wrap; gap:8px; }
.tk-tabs a{ display:inline-flex; align-items:center; gap:6px; padding:8px 22px; border-radius:999px; font-size:14px; font-weight:600; color:#fff; text-decoration:none; background:rgba(255,255,255,.14); transition:all .2s; }
.tk-tabs a b{ font-size:11px; font-weight:800; background:rgba(0,0,0,.2); padding:1px 8px; border-radius:999px; }
.tk-tabs a.on{ background:#fff; color:#a52a1e; }
.tk-tabs a.on b{ background:rgba(165,42,30,.12); }
.tk-tabs a:hover{ background:rgba(255,255,255,.26); }

.tk-list{ display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
.tk{ position:relative; display:flex; border-radius:14px; background:#fff; border:1px solid #eadfd2; overflow:hidden; transition:all .25s; box-shadow:0 4px 14px rgba(120,80,30,.06); }
.tk:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(120,80,30,.14); }
.tk::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:4px; }
.tk.t-new::before{ background:linear-gradient(180deg,#f89a4a,#f0742c); }
.tk.t-limit::before{ background:linear-gradient(180deg,#f0554a,#e0342c); }
.tk.t-long::before{ background:linear-gradient(180deg,#5a9bff,#2f7bff); }
.tk-main{ flex:1; min-width:0; padding:16px 18px; display:flex; flex-direction:column; gap:9px; }
.tk-head{ display:flex; align-items:center; gap:10px; }
.tk-logo{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex:none; border-radius:9px; background:#f7f9fc; font-size:16px; font-weight:800; color:#33507a; overflow:hidden; }
.tk-logo img{ width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.tk-title{ min-width:0; display:flex; align-items:center; gap:8px; }
.tk-title strong{ font-size:15.5px; font-weight:700; color:#22354e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tk-type{ font-style:normal; font-size:10.5px; font-weight:700; color:#fff; padding:2px 10px; border-radius:999px; }
.tk.t-new .tk-type{ background:#f0742c; }
.tk.t-limit .tk-type{ background:#e0342c; }
.tk.t-long .tk-type{ background:#2f7bff; }
.tk-desc{ margin:0; font-size:13px; color:#7c8ca1; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tk-links{ margin-top:auto; display:flex; gap:14px; }
.tk-links a{ font-size:12px; color:#9aa8ba; text-decoration:none; }
.tk-links a:hover{ color:var(--jx-blue); }
.tk-stub{ position:relative; flex:none; width:148px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:16px 12px; background:#fffaf1; border-left:2px dashed #e8cfa8; }
.tk-stub::before,.tk-stub::after{ content:''; position:absolute; left:-10px; width:18px; height:18px; border-radius:50%; background:#f5f6f8; }
.tk-stub::before{ top:-9px; }
.tk-stub::after{ bottom:-9px; }
.tk-stub code{ font-size:15px; font-weight:800; letter-spacing:1px; color:#b05e10; font-family:Consolas,Monaco,monospace; }
.tk-copy{ font-size:12.5px; font-weight:700; color:#fff; background:linear-gradient(135deg,#f89a4a,#f0742c); border:none; border-radius:999px; padding:7px 20px; cursor:pointer; transition:all .2s; }
.tk-copy:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.tk-copy.done{ background:#17a35c; }
.tk-auto{ font-size:12.5px; font-weight:700; color:#b08a4a; text-align:center; line-height:1.5; }
.tk-btn{ font-size:12.5px; font-weight:700; color:#fff; background:linear-gradient(135deg,#f0554a,#e0342c); border-radius:999px; padding:7px 20px; text-decoration:none; }
.tk-tip{ margin:18px 0 0; text-align:center; font-size:12.5px; color:#9aa8ba; }
.tk-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.tk-step{ background:#fff; border:1px solid #e9edf5; border-radius:12px; padding:16px; text-align:center; }
.tk-step b{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,#f89a4a,#e0342c); color:#fff; font-size:15px; font-weight:800; }
.tk-step span{ display:block; margin-top:8px; font-size:14px; font-weight:700; color:#22354e; }
.tk-step i{ display:block; margin-top:4px; font-style:normal; font-size:12px; color:#9aa8ba; }
@media (max-width:860px){ .tk-list{ grid-template-columns:1fr; } .tk-steps{ grid-template-columns:1fr; } .tk-hero h2{ font-size:24px; } }

/* ════════ 设计统一：蓝主色 + 金点缀（覆盖红色系）════════ */
/* 商家库颁奖台舞台：红→深蓝 */
.jv12-stage{ background:linear-gradient(160deg,#0c1e42 0%,#123063 55%,#0d2a58 100%); }
.jv12-head h2 i{ color:#f0c060; }
.jv12-sub{ color:#cfe0ff; }
.jv12-desc{ color:rgba(210,225,255,.85); }
/* 台座：2-5 名蓝调，1 名金色点缀 */
.jv12-block{ background:linear-gradient(180deg, rgba(90,155,255,.28), rgba(90,155,255,.12)); }
.jv12-block::before{ background:linear-gradient(180deg, rgba(150,200,255,.5), rgba(90,155,255,.28)); }
.jv12-col.p1 .jv12-block{ background:linear-gradient(180deg,#f2a45f,#e08b4a); }
.jv12-col.p1 .jv12-block::before{ background:linear-gradient(180deg,#ffd9a8,#f2a45f); }
/* 排名横卡头部：1 金，其余蓝阶 */
.mg-card.c1 .mg-bar{ background:linear-gradient(90deg,#e8a020,#f5c04a); }
.mg-card.c2 .mg-bar{ background:linear-gradient(90deg,#2f7bff,#5a9bff); }
.mg-card.c3 .mg-bar{ background:linear-gradient(90deg,#3f8bff,#6fb0ff); }
.mg-card.c4 .mg-bar{ background:linear-gradient(90deg,#2b6fe0,#4a8bf0); }
.mg-card.c5 .mg-bar{ background:linear-gradient(90deg,#5a7089,#7a90a9); }
/* 主 CTA 按钮：红→蓝（复制/领取保留金橙作点缀） */
.jv12-btn{ background:linear-gradient(135deg,#2f7bff,#00b7ff); box-shadow:0 6px 16px rgba(30,111,255,.35); }
.dl-btn{ background:linear-gradient(135deg,#2f7bff,#00b7ff); box-shadow:0 5px 14px rgba(30,111,255,.3); }
.tk-btn{ background:linear-gradient(135deg,#2f7bff,#00b7ff); }
/* 优惠中心头部：红→深蓝，金色缎带保留 */
.tk-hero{ background:linear-gradient(135deg,#0c1e42 0%,#123063 50%,#1a3a75 100%); }
.tk-ribbon{ color:#0c1e42; background:linear-gradient(180deg,#ffe0a0,#f0c060); }
.tk-tabs a.on{ color:#123063; }
.tk-tabs a.on b{ background:rgba(18,48,99,.12); }
/* 票券类型色条/徽章保留语义色，但左侧色条统一蓝系除语义外 */
/* 收录商家排名头部已在 mg-bar 覆盖 */
/* 全局主按钮蓝 */
.jx-btn-solid,.vp6-btn-solid{ background:linear-gradient(135deg,#2f7bff,#00b7ff); }

/* ════════ 主视觉图应用（蓝金 AI 生成背景）════════ */
.jv12-stage,.tk-hero{
  background-color:#0c1e42;
  background-image:linear-gradient(180deg, rgba(8,20,45,.5) 0%, rgba(8,20,45,.68) 70%, rgba(8,20,45,.85) 100%), url('../images/idc-hero-gold.webp');
  background-size:cover; background-position:center 30%;
}
.jx-hero-bg{
  background-image:linear-gradient(120deg, rgba(8,20,45,.72) 0%, rgba(8,20,45,.45) 55%, rgba(8,20,45,.25) 100%), url('../images/idc-hero-gold.webp') !important;
  background-size:cover !important; background-position:center 30% !important;
}

/* ════════ 优惠中心布局放宽+对齐 ════════ */
.tk-list{ gap:18px; align-items:stretch; }
.tk-main{ padding:18px 20px; }
.tk-stub{ width:150px; }
.jv9-zone .tk-hero{ margin:0; }
.tk-hero-in{ max-width:760px; margin:0 auto; }
@media (max-width:992px){ .tk-stub{ width:130px; } }

/* 优惠中心底部 CTA（平衡侧栏拖尾） */
.tk-cta{ margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 24px; border-radius:14px; background:linear-gradient(120deg,#123063,#1a3a75); }
.tk-cta-in strong{ display:block; font-size:17px; font-weight:800; color:#fff; }
.tk-cta-in p{ margin:5px 0 0; font-size:12.5px; color:#cfe0ff; }
.tk-cta-btn{ flex:none; font-size:14px; font-weight:700; color:#0c1e42; background:linear-gradient(180deg,#ffe0a0,#f0c060); padding:10px 26px; border-radius:999px; text-decoration:none; }
.tk-cta-btn:hover{ filter:brightness(1.06); }
@media (max-width:768px){ .tk-cta{ flex-direction:column; align-items:flex-start; } }

/* 优惠中心页隐藏无关侧栏组件，消除拖尾 */
.page-deals-custom .widget_tags{ display:none; }

/* ════════ 优惠中心专属侧栏 ════════ */
.dl-side .dl-widget{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:16px 18px; margin-bottom:16px; }
.dl-side .dl-widget h3{ margin:0 0 12px; font-size:15px; font-weight:800; color:#16273e; position:relative; padding-left:11px; }
.dl-side .dl-widget h3::before{ content:''; position:absolute; left:0; top:2px; bottom:2px; width:3px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); }
.dl-hot{ list-style:none; margin:0; padding:0; }
.dl-hot li a{ display:flex; align-items:center; gap:10px; padding:7px 0; text-decoration:none; border-bottom:1px solid #f2f5fa; }
.dl-hot li:last-child a{ border-bottom:none; }
.dl-hot-logo{ display:flex; align-items:center; justify-content:center; width:32px; height:32px; flex:none; border-radius:8px; background:#f7f9fc; font-size:13px; font-weight:800; color:#33507a; overflow:hidden; }
.dl-hot-logo img{ width:100%; height:100%; object-fit:contain; padding:3px; box-sizing:border-box; }
.dl-hot-name{ flex:1; min-width:0; font-size:13.5px; font-weight:600; color:#26374d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dl-hot li a:hover .dl-hot-name{ color:var(--jx-blue); }
.dl-hot-score{ font-size:13px; font-weight:800; color:#e8862e; }
.dl-types{ display:flex; flex-direction:column; gap:8px; }
.dl-types a{ display:flex; align-items:center; justify-content:space-between; padding:9px 14px; border-radius:9px; background:#f6f9fd; font-size:13px; font-weight:600; color:#3d5170; text-decoration:none; transition:all .2s; }
.dl-types a:hover{ background:#eaf2ff; color:var(--jx-blue); }
.dl-types a b{ font-size:11px; background:rgba(47,123,255,.12); color:#2f7bff; padding:1px 9px; border-radius:999px; }
.dl-widget-cta{ background:linear-gradient(135deg,#123063,#1a3a75); border:none; }
.dl-widget-cta strong{ color:#fff; font-size:15px; }
.dl-widget-cta p{ margin:6px 0 10px; font-size:12px; color:#cfe0ff; }
.dl-widget-cta a{ display:inline-block; font-size:13px; font-weight:700; color:#0c1e42; background:linear-gradient(180deg,#ffe0a0,#f0c060); padding:8px 20px; border-radius:999px; text-decoration:none; }

/* ════════ 全宽三步+FAQ ════════ */
.dl-full{ margin-top:26px; }
.dl-steps{ display:flex; align-items:stretch; gap:0; background:linear-gradient(120deg,#123063,#1a3a75); border-radius:16px; padding:26px 30px; }
.dl-step{ flex:1; display:flex; align-items:flex-start; gap:14px; }
.dl-step-no{ flex:none; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:linear-gradient(180deg,#ffe0a0,#f0c060); color:#0c1e42; font-size:19px; font-weight:900; box-shadow:0 6px 16px rgba(0,0,0,.3); }
.dl-step-bd strong{ display:block; color:#fff; font-size:16px; font-weight:800; }
.dl-step-bd i{ display:block; margin-top:5px; font-style:normal; font-size:12.5px; color:#cfe0ff; line-height:1.6; }
.dl-step-line{ flex:none; width:44px; align-self:center; border-top:2px dashed rgba(255,255,255,.3); }
.dl-faq-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.dl-faq{ background:#fff; border:1px solid #e9edf5; border-left:4px solid #2f7bff; border-radius:12px; padding:16px 20px; }
.dl-faq strong{ display:block; font-size:15px; font-weight:800; color:#16273e; }
.dl-faq p{ margin:8px 0 0; font-size:13px; color:#7c8ca1; line-height:1.8; }
@media (max-width:860px){
    .dl-steps{ flex-direction:column; gap:18px; }
    .dl-step-line{ display:none; }
    .dl-faq-grid{ grid-template-columns:1fr; }
}

/* ════════ 优惠中心精细化打磨（减拥挤+对齐）════════ */
.tk-list{ gap:20px; }
.tk{ border-radius:14px; }
.tk-main{ padding:20px 22px; gap:11px; }
.tk-head{ gap:12px; }
.tk-logo{ width:44px; height:44px; }
.tk-title strong{ font-size:16px; }
.tk-desc{ font-size:13px; line-height:1.75; }
.tk-links{ margin-top:2px; gap:18px; }
.tk-links a{ font-size:12.5px; }
.tk-stub{ width:140px; padding:16px 12px; gap:9px; justify-content:center; }
.tk-stub code{ font-size:14px; }
.tk-auto{ font-size:12px; line-height:1.5; }
.tk-copy,.tk-btn{ padding:7px 18px; font-size:12.5px; }
/* 侧栏更透气 */
.dl-side .dl-widget{ padding:18px 20px; margin-bottom:18px; }
.dl-hot li a{ padding:9px 0; }
/* 全宽区留白 */
.dl-full{ margin-top:32px; }
.dl-steps{ padding:30px 36px; gap:0; }
.dl-step{ gap:16px; }
.dl-step-line{ width:52px; }
.dl-faq-grid{ gap:18px; }
.dl-faq{ padding:18px 22px; }
/* 票券网格与侧栏顶对齐 */
.dl-side{ padding-top:0; }

/* ════════ 优惠中心 v3 整页（cp-*，干净舒展）════════ */
.cp-hero-wrap{ margin-top:26px; }
.cp-hero{ position:relative; overflow:hidden; border-radius:18px; text-align:center; padding:48px 24px 42px; background-color:#0c1e42; background-image:linear-gradient(180deg, rgba(8,20,45,.55), rgba(8,20,45,.8)), url('../images/idc-hero-gold.webp'); background-size:cover; background-position:center 30%; }
.cp-badge{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:3px; color:#0c1e42; background:linear-gradient(180deg,#ffe0a0,#f0c060); padding:5px 20px; border-radius:5px; transform:rotate(-2deg); }
.cp-hero h1{ margin:16px 0 10px; font-size:32px; font-weight:800; color:#fff; letter-spacing:2px; }
.cp-hero p{ margin:0 0 24px; font-size:13.5px; color:#cfe0ff; }
.cp-pills{ display:inline-flex; flex-wrap:wrap; gap:10px; }
.cp-pills a{ padding:9px 26px; border-radius:999px; font-size:14px; font-weight:600; color:#fff; text-decoration:none; background:rgba(255,255,255,.14); transition:all .2s; }
.cp-pills a.on{ background:#fff; color:#123063; }
.cp-pills a:hover{ background:rgba(255,255,255,.26); }

.cp-list{ display:flex; flex-direction:column; gap:16px; }
.cp-card{ display:flex; align-items:stretch; background:#fff; border:1px solid #e9edf5; border-radius:14px; overflow:hidden; transition:all .22s; }
.cp-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(16,42,90,.1); border-color:rgba(47,123,255,.3); }
.cp-left{ flex:1; min-width:0; display:flex; gap:16px; padding:22px 26px; }
.cp-logo{ flex:none; display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:12px; background:#f7f9fc; border:1px solid #eef2f8; font-size:20px; font-weight:800; color:#33507a; overflow:hidden; }
.cp-logo img{ width:100%; height:100%; object-fit:contain; padding:6px; box-sizing:border-box; }
.cp-info{ min-width:0; }
.cp-name{ display:flex; align-items:center; gap:10px; }
.cp-name a{ font-size:17px; font-weight:800; color:#16273e; text-decoration:none; }
.cp-name a:hover{ color:var(--jx-blue); }
.cp-type{ font-style:normal; font-size:11px; font-weight:700; color:#fff; padding:2px 12px; border-radius:999px; }
.cp-type.t-new{ background:#f0742c; }
.cp-type.t-limit{ background:#e0342c; }
.cp-type.t-long{ background:#2f7bff; }
.cp-info p{ margin:7px 0 0; font-size:13.5px; color:#7c8ca1; line-height:1.7; }
.cp-right{ flex:none; width:200px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:20px 18px; background:#fbf7ef; border-left:2px dashed #e6d3ac; }
.cp-right code{ font-size:15px; font-weight:800; letter-spacing:1px; color:#b05e10; font-family:Consolas,Monaco,monospace; }
.cp-copy{ font-size:13px; font-weight:700; color:#fff; background:linear-gradient(135deg,#2f7bff,#00b7ff); border:none; border-radius:999px; padding:8px 26px; cursor:pointer; }
.cp-copy:hover{ filter:brightness(1.08); }
.cp-copy.done{ background:#17a35c; }
.cp-auto{ font-size:13px; font-weight:600; color:#b08a4a; }
.cp-go{ font-size:13px; font-weight:700; color:#fff; background:linear-gradient(135deg,#f0a030,#e08b10); border-radius:999px; padding:8px 26px; text-decoration:none; }
.cp-tip{ margin:18px 0 0; text-align:center; font-size:12.5px; color:#9aa8ba; }

.cp-side .cp-widget{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:20px 22px; margin-bottom:18px; }
.cp-side .cp-widget h3{ margin:0 0 14px; font-size:15px; font-weight:800; color:#16273e; padding-left:11px; position:relative; }
.cp-side .cp-widget h3::before{ content:''; position:absolute; left:0; top:2px; bottom:2px; width:3px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); }
.cp-hot{ list-style:none; margin:0; padding:0; }
.cp-hot li a{ display:flex; align-items:center; gap:11px; padding:9px 0; text-decoration:none; border-bottom:1px solid #f2f5fa; }
.cp-hot li:last-child a{ border-bottom:none; }
.cp-hot-logo{ flex:none; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:8px; background:#f7f9fc; font-size:13px; font-weight:800; color:#33507a; overflow:hidden; }
.cp-hot-logo img{ width:100%; height:100%; object-fit:contain; padding:3px; box-sizing:border-box; }
.cp-hot-name{ flex:1; min-width:0; font-size:13.5px; font-weight:600; color:#26374d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cp-hot li a:hover .cp-hot-name{ color:var(--jx-blue); }
.cp-hot-score{ font-size:13px; font-weight:800; color:#e8862e; }
.cp-widget-cta{ background:linear-gradient(135deg,#123063,#1a3a75); border:none; }
.cp-widget-cta strong{ color:#fff; font-size:15px; }
.cp-widget-cta p{ margin:7px 0 12px; font-size:12.5px; color:#cfe0ff; }
.cp-widget-cta a{ display:inline-block; font-size:13px; font-weight:700; color:#0c1e42; background:linear-gradient(180deg,#ffe0a0,#f0c060); padding:9px 24px; border-radius:999px; text-decoration:none; }

.cp-full{ margin-top:34px; }
.cp-sec-head{ margin:0 0 16px; }
.cp-sec-head h2{ font-size:19px; font-weight:800; color:#16273e; padding-left:12px; position:relative; }
.cp-sec-head h2::before{ content:''; position:absolute; left:0; top:3px; bottom:3px; width:4px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); }
.cp-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:34px; }
.cp-step{ display:flex; gap:14px; background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:20px 22px; }
.cp-no{ flex:none; display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:linear-gradient(180deg,#ffe0a0,#f0c060); color:#0c1e42; font-size:17px; font-weight:900; }
.cp-step strong{ display:block; font-size:15px; font-weight:800; color:#16273e; }
.cp-step i{ display:block; margin-top:5px; font-style:normal; font-size:12.5px; color:#8a9ab2; line-height:1.6; }
.cp-faq{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.cp-faq-item{ background:#fff; border:1px solid #e9edf5; border-left:4px solid #2f7bff; border-radius:12px; padding:18px 22px; }
.cp-faq-item strong{ display:block; font-size:15px; font-weight:800; color:#16273e; }
.cp-faq-item p{ margin:8px 0 0; font-size:13px; color:#7c8ca1; line-height:1.8; }
@media (max-width:860px){
    .cp-card{ flex-direction:column; }
    .cp-right{ width:100%; border-left:none; border-top:2px dashed #e6d3ac; }
    .cp-steps{ grid-template-columns:1fr; }
    .cp-faq{ grid-template-columns:1fr; }
    .cp-hero h1{ font-size:24px; }
}

/* 券卡丰富元素 */
.cp-meta{ display:flex; align-items:center; gap:14px; margin-top:7px; }
.cp-stars b{ color:#d8dee8; font-size:13px; }
.cp-stars b.on{ color:#f5a623; }
.cp-stars i{ font-style:normal; font-size:12px; color:#8a9ab2; margin-left:5px; }
.cp-price{ font-size:13px; font-weight:800; color:#e8862e; }
.cp-arch{ font-size:12px; color:#9aa8ba; text-decoration:none; }
.cp-arch:hover{ color:var(--jx-blue); }
.cp-more-wrap{ text-align:center; margin:22px 0 0; }
.cp-more{ padding:12px 44px; border-radius:999px; border:1px solid #d5dde8; background:#fff; color:#3d5170; font-size:14px; font-weight:600; cursor:pointer; transition:all .2s; }
.cp-more:hover{ border-color:var(--jx-blue); color:var(--jx-blue); }
.cp-more[hidden]{ display:none; }
.cp-left{ border-top:3px solid transparent; }
.cp-card.t-new .cp-left{ border-top-color:#f0742c; }
.cp-card.t-limit .cp-left{ border-top-color:#e0342c; }
.cp-card.t-long .cp-left{ border-top-color:#2f7bff; }

/* 整页垂直节奏 + 券卡内部留白（缓解拥挤） */
.cp-hero-wrap{ margin-bottom:26px; }
.cp-list{ gap:18px; }
.cp-left{ padding:24px 28px; gap:18px; }
.cp-info{ display:flex; flex-direction:column; gap:8px; }
.cp-meta{ margin-top:0; }
.cp-full{ margin-top:40px; }
.cp-steps{ margin-bottom:40px; }
.cp-more-wrap{ margin:26px 0 0; }
.cp-side .cp-widget{ margin-bottom:20px; }

/* 商家库目录卡统一化（去随机色、齐高） */
.mg-card .mg-bar{ background:linear-gradient(90deg,#2b6fe0,#4a8bf0) !important; }
.mg-card .mg-no{ color:#fff; }
.mg-txt{ -webkit-line-clamp:2; }
.mg-card{ align-items:stretch; }
.mg-rec{ color:#17a35c !important; background:rgba(23,163,92,.1) !important; border-color:rgba(23,163,92,.25) !important; font-weight:700; }
.vp9-votes{ font-size:12px; color:#93a6c4; }
.vp9-ring-num strong{ font-size:20px; }
.vp9-ring-num i{ font-size:10px; }

/* ════════ 商家页头部 v10：单列 cohesive ════════ */
.vp10-inner{ position:relative; z-index:2; padding:40px 0 34px; display:flex; flex-direction:column; gap:22px; }
.vp10-top{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.vp10-logo{ display:flex; align-items:center; justify-content:center; width:76px; height:76px; flex:none; border-radius:18px; background:#fff; font-size:30px; font-weight:800; color:#33507a; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.3); }
.vp10-logo img{ width:100%; height:100%; object-fit:contain; padding:9px; box-sizing:border-box; }
.vp10-id{ flex:1; min-width:220px; }
.vp10-name{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.vp10-name h1{ margin:0; font-size:28px; font-weight:800; color:#fff; letter-spacing:1px; }
.vp10-meta{ display:block; margin-top:7px; font-size:13px; color:#c6d4ec; }
.vp10-actions{ display:flex; gap:10px; }
.vp10-band{ display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); background:rgba(10,20,45,.55); border:1px solid rgba(120,160,255,.2); border-radius:14px; backdrop-filter:blur(8px); overflow:hidden; }
.vp10-stat{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:16px 6px; }
.vp10-stat + .vp10-stat{ border-left:1px solid rgba(120,160,255,.14); }
.vp10-stat strong{ font-size:22px; font-weight:800; color:#fff; font-variant-numeric:tabular-nums; }
.vp10-stat.rec strong{ color:#3fd08a; }
.vp10-stat span{ font-size:11.5px; color:#93a6c4; }
.vp10-intro{ background:rgba(10,20,45,.45); border:1px solid rgba(120,160,255,.16); border-radius:14px; padding:18px 22px; }
.vp10-intro > p{ margin:0 0 14px; font-size:14px; line-height:1.9; color:#d5e0f2; }
.vp10-intro .vp7-facts{ border-top:1px solid rgba(120,160,255,.14); padding-top:14px; }
@media (max-width:860px){ .vp10-band{ grid-template-columns:repeat(3,1fr); } .vp10-stat:nth-child(4){ border-left:none; } }
@media (max-width:560px){ .vp10-band{ grid-template-columns:repeat(2,1fr); } .vp10-name h1{ font-size:23px; } }

/* 商家详情页：强制主栏+侧栏并排（修侧栏掉底） */
.jx-vp3-body{ display:flex; gap:26px; align-items:flex-start; }
.jx-vp3-body > .main{ flex:1 1 0%; min-width:0; width:auto !important; max-width:100%; }
.jx-vp3-body > .sidebar{ flex:0 0 300px; width:300px; margin-left:0; }
@media (max-width:992px){ .jx-vp3-body{ flex-direction:column; } .jx-vp3-body > .sidebar{ width:auto; flex:none; } }

/* ════════ 商家页 v11：浅底高端风 ════════ */
.v11-hero{ position:relative; background:#f0f3f8; padding:0 0 24px; }
.v11-banner{ height:180px; background:linear-gradient(135deg, #1a3a6e 0%, #2563a8 40%, #1e8ec7 100%); position:relative; overflow:hidden; }
.v11-banner::after{ content:''; position:absolute; right:-80px; top:-80px; width:300px; height:300px; border-radius:50%; background:rgba(255,255,255,.08); }
.v11-banner::before{ content:''; position:absolute; left:-60px; bottom:-120px; width:250px; height:250px; border-radius:50%; background:rgba(255,255,255,.05); }
.v11-body{ position:relative; margin-top:-100px; z-index:2; }
.v11-card{ background:#fff; border-radius:20px; padding:28px 30px 24px; box-shadow:0 20px 50px rgba(20,50,100,.12); border:1px solid #e5eaf2; }
.v11-top{ display:flex; gap:20px; align-items:flex-start; flex-wrap:wrap; }
.v11-logo{ flex:none; width:80px; height:80px; border-radius:18px; background:linear-gradient(135deg,#f0f4fa,#e2eaf5); display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:800; color:#33507a; overflow:hidden; box-shadow:0 6px 18px rgba(20,50,100,.1); border:3px solid #fff; margin-top:-50px; }
.v11-logo img{ width:100%; height:100%; object-fit:contain; padding:10px; box-sizing:border-box; }
.v11-id{ flex:1; min-width:240px; }
.v11-id h1{ margin:0 0 6px; font-size:26px; font-weight:800; color:#16273e; letter-spacing:.5px; }
.v11-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.v11-tags em{ font-style:normal; font-size:12px; font-weight:600; color:#4a6a9e; background:#edf2fa; padding:3px 12px; border-radius:999px; }
.v11-desc{ margin:0; font-size:13.5px; color:#7c8ca1; line-height:1.75; max-width:600px; }
.v11-side{ flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:10px; min-width:160px; }
.v11-rec{ display:flex; flex-direction:column; align-items:center; padding:12px 22px; border-radius:14px; background:linear-gradient(135deg,#e8f5ee,#d4efdf); border:1px solid #b8dfc8; }
.v11-rec strong{ font-size:28px; font-weight:800; color:#17a35c; line-height:1.2; }
.v11-rec span{ font-size:11.5px; color:#4a8a65; }
.v11-verified{ display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; color:#fff; background:#17a35c; padding:5px 16px; border-radius:999px; }
.v11-claim{ font-size:12.5px; font-weight:700; color:#fff; background:linear-gradient(135deg,#f0a030,#e08b10); padding:6px 18px; border-radius:999px; border:none; cursor:pointer; }
.v11-claim:hover{ filter:brightness(1.08); }
.v11-site{ font-size:13px; font-weight:700; color:#2563a8; text-decoration:none; padding:6px 18px; border:1.5px solid #c5d8ec; border-radius:999px; }
.v11-site:hover{ background:#edf4fb; }
.v11-stats{ display:flex; gap:0; margin-top:20px; border-top:1px solid #eef2f8; padding-top:16px; flex-wrap:wrap; }
.v11-st{ display:flex; flex-direction:column; align-items:center; gap:3px; padding:0 28px; border-right:1px solid #eef2f8; }
.v11-st:last-child{ border-right:none; }
.v11-st b{ font-size:20px; font-weight:800; color:#16273e; }
.v11-st span{ font-size:11px; color:#8a9ab2; }
@media (max-width:768px){
    .v11-top{ flex-direction:column; }
    .v11-logo{ margin-top:0; }
    .v11-side{ flex-direction:row; align-items:center; width:100%; justify-content:space-between; }
    .v11-stats{ justify-content:space-around; }
    .v11-st{ padding:0 12px; }
}

/* ════════ 商家页头部 v12：颁奖舞台·大气高端 ════════ */
.hv-stage{ position:relative; overflow:hidden; background:#0a1830; }
.hv-bg{ position:absolute; inset:0;
  background-image:linear-gradient(115deg, rgba(7,15,35,.88) 0%, rgba(10,26,58,.6) 45%, rgba(10,30,64,.4) 100%), url('../images/idc-hero-gold.webp');
  background-size:auto, cover; background-position:0 0, center 25%; }
.hv-stage::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:120px; background:linear-gradient(180deg, transparent, rgba(6,12,28,.9)); }
.hv-glow{ position:absolute; right:-140px; top:-140px; width:420px; height:420px; border-radius:50%; background:radial-gradient(closest-side, rgba(240,192,96,.22), transparent); pointer-events:none; }
.hv-in{ position:relative; z-index:2; padding:52px 0 44px; display:flex; flex-direction:column; gap:24px; }
.hv-brand{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.hv-logo{ flex:none; width:92px; height:92px; border-radius:20px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:34px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 14px 36px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.12); }
.hv-logo img{ width:100%; height:100%; object-fit:contain; padding:11px; box-sizing:border-box; }
.hv-id{ flex:1; min-width:260px; }
.hv-name{ display:flex; align-items:center; gap:14px; margin-bottom:8px; }
.hv-name h1{ margin:0; font-size:34px; font-weight:900; color:#fff; letter-spacing:1px; line-height:1.2; text-shadow:0 3px 14px rgba(0,0,0,.5); }
.hv-badge{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; border-radius:999px; }
.hv-badge.ok{ color:#fff; background:rgba(23,163,92,.85); padding:5px 16px; box-shadow:0 4px 14px rgba(23,163,92,.4); }
.hv-badge.claim{ color:#ffe3a6; background:rgba(240,192,96,.16); border:1px solid rgba(255,210,110,.55); padding:5px 16px; cursor:pointer; transition:all .2s; }
.hv-badge.claim:hover{ background:rgba(240,192,96,.3); transform:translateY(-1px); }
.hv-meta{ font-size:13.5px; color:#c2d2ec; letter-spacing:.5px; }
.hv-rec{ margin-left:auto; text-align:center; padding:14px 30px; border-radius:16px; background:linear-gradient(160deg, rgba(240,192,96,.18), rgba(240,192,96,.06)); border:1px solid rgba(240,192,96,.35); }
.hv-rec strong{ display:block; font-size:40px; font-weight:900; line-height:1.1; color:#ffd98a; font-variant-numeric:tabular-nums; text-shadow:0 2px 12px rgba(240,192,96,.35); }
.hv-rec i{ font-style:normal; font-size:20px; }
.hv-rec span{ font-size:11.5px; color:#d8e5f5; }
.hv-desc{ margin:0; max-width:860px; font-size:14.5px; line-height:1.95; color:#dbe6f5; text-shadow:0 1px 6px rgba(4,10,26,.7); }
.hv-band{ display:flex; align-items:center; gap:0; padding:16px 8px; border-radius:14px; background:linear-gradient(160deg, rgba(13,24,50,.72), rgba(9,18,38,.58)); border:1px solid rgba(130,170,230,.22); backdrop-filter:blur(10px); flex-wrap:wrap; row-gap:14px; }
.hv-st{ flex:1 1 150px; min-width:140px; display:flex; align-items:center; justify-content:center; gap:10px; padding:6px 0; }
.hv-st + .hv-st{ border-left:1px solid rgba(130,170,230,.18); }
.hv-st b{ font-size:22px; font-weight:900; color:#fff; font-variant-numeric:tabular-nums; }
.hv-st:first-child b{ color:#ffd98a; }
.hv-st span{ font-size:12.5px; color:#aabdd8; }
.hv-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.hv-btn{ display:inline-flex; align-items:center; gap:6px; padding:11px 30px; border-radius:999px; font-size:14.5px; font-weight:700; text-decoration:none; cursor:pointer; border:none; transition:all .2s; }
.hv-btn.solid{ background:linear-gradient(135deg,#2f7bff,#00b7ff); color:#fff; box-shadow:0 8px 22px rgba(47,123,255,.4); }
.hv-btn.solid:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.hv-btn.ghost{ background:transparent; border:1.5px solid rgba(255,255,255,.4); color:#fff; }
.hv-btn.ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
@media (max-width:992px){ .hv-name h1{ font-size:28px; } .hv-logo{ width:80px; height:80px; } }
@media (max-width:640px){
    .hv-in{ padding:32px 0 30px; gap:18px; }
    .hv-name h1{ font-size:24px; }
    .hv-rec{ margin-left:0; }
}

/* ════════ 商家页头部 ED：杂志编辑风·留白气质 ════════ */
.ed-hero{ position:relative; overflow:hidden; background:#0a1526; }
.ed-bg{ position:absolute; inset:0;
  background-image:linear-gradient(100deg, rgba(6,14,30,.9) 0%, rgba(8,20,44,.55) 50%, rgba(10,26,54,.35) 100%), url('../images/idc-hero-gold.webp');
  background-size:auto, cover; background-position:0 0, center 30%; }
.ed-hero::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,#e8c37a, rgba(232,195,122,.15) 60%, transparent); z-index:2; }
.ed-in{ position:relative; z-index:2; padding:46px 0 40px; display:flex; flex-direction:column; gap:24px; }
.ed-top{ display:flex; align-items:center; gap:26px; }
.ed-logo{ flex:none; width:84px; height:84px; border-radius:16px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:30px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.4); }
.ed-logo img{ width:100%; height:100%; object-fit:contain; padding:10px; box-sizing:border-box; }
.ed-id{ flex:1; min-width:0; }
.ed-kicker{ display:block; font-size:11px; font-weight:700; letter-spacing:3.5px; color:#8fa8cc; margin-bottom:7px; }
.ed-name{ display:flex; align-items:center; gap:12px; }
.ed-name h1{ margin:0; font-size:38px; font-weight:800; color:#fff; letter-spacing:.5px; line-height:1.15; }
.ed-ok{ color:#3fd08a; }
.ed-claim{ font-size:12px; font-weight:600; color:#a9bddd; background:none; border:1px solid rgba(170,200,240,.35); border-radius:999px; padding:4px 16px; cursor:pointer; transition:all .2s; }
.ed-claim:hover{ color:#fff; border-color:#a9bddd; }
.ed-meta{ display:block; margin-top:8px; font-size:13px; color:#a8b8d4; letter-spacing:.4px; }
.ed-rec{ text-align:right; line-height:1; }
.ed-rec b{ font-size:52px; font-weight:900; color:#ffd98a; font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.ed-rec b i{ font-style:normal; font-size:22px; font-weight:700; color:rgba(255,217,138,.75); margin-left:2px; }
.ed-rec span{ display:block; margin-top:6px; font-size:12px; color:#9db2d2; letter-spacing:1px; }
.ed-rec em{ font-style:normal; font-size:11px; color:#7f95b8; }
.ed-desc{ margin:0; max-width:720px; font-size:14.5px; line-height:2; color:#c9d6ea; }
.ed-stats{ list-style:none; margin:0; padding:18px 0 0; display:flex; flex-wrap:wrap; gap:0 56px; border-top:1px solid rgba(255,255,255,.1); }
.ed-stats li{ display:flex; align-items:baseline; gap:9px; padding:6px 0; }
.ed-stats b{ font-size:21px; font-weight:800; color:#fff; font-variant-numeric:tabular-nums; }
.ed-stats span{ font-size:11.5px; color:#93a8c8; letter-spacing:1px; }
.ed-actions{ display:flex; gap:26px; margin-top:2px; }
.ed-actions a,.ed-actions button{ background:none; border:none; font-size:13.5px; font-weight:600; color:#d5e2f5; padding:0; cursor:pointer; }
.ed-actions a:first-child,.ed-actions a:nth-child(2){ position:relative; }
.ed-actions a::after,.ed-actions button::after{ content:''; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:rgba(255,255,255,.25); }
.ed-actions a:hover,.ed-actions button:hover{ color:#fff; }
@media (max-width:768px){
    .ed-top{ flex-wrap:wrap; }
    .ed-rec{ text-align:left; }
    .ed-name h1{ font-size:30px; }
    .ed-stats{ gap:0 32px; }
    .ed-desc{ font-size:13.5px; }
}

/* ════════ 商家页头部 v15：白卡 + 环形推荐率 ════════ */
.pn-hero{ background:#eef3fa; padding:26px 0 30px; }
.pn-card{ position:relative; background:#fff; border-radius:20px; padding:28px 32px 22px; box-shadow:0 16px 44px rgba(24,56,110,.12); border:1px solid #e7edf5; }
.pn-main{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.pn-logo{ flex:none; width:84px; height:84px; border-radius:18px; background:#f4f7fb; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 8px 20px rgba(24,56,110,.12); }
.pn-logo img{ width:100%; height:100%; object-fit:contain; padding:9px; box-sizing:border-box; }
.pn-idcol{ flex:1; min-width:240px; }
.pn-nrow{ display:flex; align-items:center; gap:14px; margin-bottom:8px; }
.pn-nrow h1{ margin:0; font-size:29px; font-weight:800; color:#16273e; letter-spacing:.3px; }
.pn-ok{ font-size:12px; font-weight:700; color:#17a35c; background:rgba(23,163,92,.1); padding:4px 13px; border-radius:999px; }
.pn-want{ font-size:12px; font-weight:600; color:#6b7d94; background:none; border:1px dashed #c9d5e4; border-radius:999px; padding:4px 16px; cursor:pointer; }
.pn-want:hover{ color:#2f7bff; border-color:#8fb8f5; }
.pn-meta{ font-size:13px; color:#8a9ab2; letter-spacing:.3px; }
.pn-ring-wrap{ flex:none; display:flex; flex-direction:column; align-items:center; gap:6px; margin-left:auto; }
.pn-ring-svg{ width:86px; height:86px; }
.pn-ring-lb{ font-size:11.5px; color:#8a9ab2; letter-spacing:.5px; }
.pn-desc{ margin:18px 0 0; font-size:14px; color:#5a708c; line-height:1.85; }
.pn-pills{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.pn-pills em{ font-style:normal; font-size:12px; font-weight:600; color:#4a6a9e; background:#eff4fc; padding:4px 14px; border-radius:999px; }
.pn-pills em.hot{ color:#e8862e; background:rgba(232,134,46,.09); font-weight:700; }
.pn-dark{ display:flex; align-items:center; gap:22px; margin-top:24px; padding:16px 26px; border-radius:16px; background:linear-gradient(120deg,#12305e,#1a4a8a 55%,#2563a8); flex-wrap:wrap; }
.pn-btn{ display:inline-flex; align-items:center; padding:10px 26px; border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; }
.pn-btn.main{ background:#fff; color:#123063; box-shadow:0 6px 16px rgba(255,255,255,.25); }
.pn-btn.lnk{ border:1px solid rgba(255,255,255,.45); color:#fff; }
.pn-note{ margin-left:auto; font-size:12px; color:rgba(210,225,250,.75); }
@media (max-width:860px){
    .pn-ring-wrap{ margin-left:0; }
    .pn-dark .pn-note{ display:none; }
}
.pn-btn{ flex:none; }
.pn-btn.main{ padding:10px 42px; }

/* ════════ 商家页头部 v16：AI背景图·大气高端 ════════ */
.hwd-hero{ position:relative; overflow:hidden; background:#0a1830; }
.hwd-bg{ position:absolute; inset:0;
  background-image:linear-gradient(100deg, rgba(7,15,35,.82) 0%, rgba(10,24,50,.45) 55%, rgba(12,30,60,.28) 100%), url('../images/idc-hero-gold.webp');
  background-size:auto, cover; background-position:0 0, center 25%; }
.hwd-hero::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#f0c96a, rgba(240,201,106,.2) 55%, transparent); z-index:2; }
.hwd-hero::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:130px; background:linear-gradient(180deg, transparent, rgba(5,12,28,.92)); z-index:1; pointer-events:none; }
.hwd-in{ position:relative; z-index:2; padding:56px 0 46px; display:flex; flex-direction:column; gap:22px; min-height:430px; justify-content:center; }
.hwd-brand{ display:flex; align-items:center; gap:26px; }
.hwd-logo{ flex:none; width:92px; height:92px; border-radius:20px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.15); }
.hwd-logo img{ width:100%; height:100%; object-fit:contain; padding:12px; box-sizing:border-box; }
.hwd-id{ flex:1; min-width:260px; }
.hwd-kicker{ display:block; font-size:11px; font-weight:700; letter-spacing:4px; color:#d8b96e; margin-bottom:8px; text-shadow:0 1px 6px rgba(0,0,0,.6); }
.hwd-name{ display:flex; align-items:center; gap:16px; margin-bottom:9px; }
.hwd-name h1{ margin:0; font-size:40px; font-weight:900; color:#fff; letter-spacing:1px; line-height:1.15; text-shadow:0 3px 16px rgba(0,0,0,.55); }
.hwd-ok{ display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; color:#fff; background:rgba(23,163,92,.85); padding:5px 16px; border-radius:999px; box-shadow:0 4px 14px rgba(23,163,92,.4); }
.hwd-want{ font-size:12.5px; font-weight:700; color:#ffd98a; background:rgba(240,192,96,.14); border:1px solid rgba(240,192,96,.5); border-radius:999px; padding:5px 18px; cursor:pointer; transition:all .2s; }
.hwd-want:hover{ background:rgba(240,192,96,.3); transform:translateY(-1px); }
.hwd-meta{ display:block; font-size:13.5px; color:#c9d6ec; letter-spacing:.4px; text-shadow:0 1px 6px rgba(0,0,0,.6); }
.hwd-ring{ flex:none; position:relative; width:84px; height:84px; filter:drop-shadow(0 6px 18px rgba(240,180,80,.35)); }
.hwd-ring svg{ width:84px; height:84px; transform:rotate(0); }
.hwd-desc{ margin:0; max-width:880px; font-size:14.5px; line-height:2; color:#e2ebf7; text-shadow:0 1px 6px rgba(4,10,26,.75); }
.hwd-stats{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:0 52px; }
.hwd-stats li{ display:flex; align-items:baseline; gap:8px; }
.hwd-stats b{ font-size:22px; font-weight:800; color:#fff; font-variant-numeric:tabular-nums; text-shadow:0 1px 6px rgba(0,0,0,.5); }
.hwd-stats span{ font-size:11.5px; color:#9db2d2; letter-spacing:1px; }
.hwd-actions{ display:flex; gap:14px; margin-top:4px; flex-wrap:wrap; }
.hwd-btn{ padding:11px 32px; border-radius:999px; font-size:14.5px; font-weight:700; text-decoration:none; cursor:pointer; border:none; transition:all .2s; }
.hwd-btn.main{ background:linear-gradient(135deg,#3b82f6,#06b6d4); color:#fff; box-shadow:0 10px 26px rgba(47,150,255,.4); }
.hwd-btn.main:hover{ transform:translateY(-1px); filter:brightness(1.07); }
.hwd-btn.ghost{ background:rgba(10,25,50,.4); border:1px solid rgba(255,255,255,.4); color:#fff; }
.hwd-btn.ghost:hover{ background:rgba(255,255,255,.12); }
@media (max-width:860px){
    .hwd-in{ padding:34px 0 28px; gap:18px; min-height:0; }
    .hwd-brand{ gap:16px; }
    .hwd-logo{ width:72px; height:72px; border-radius:16px; }
    .hwd-name h1{ font-size:29px; }
    .hwd-ring svg{ width:70px; height:70px; }
}

/* ════════ 商家页 v17：白卡叠英雄 ════════ */
.vph{ position:relative; overflow:hidden; background:#0a1830; padding-bottom:120px; }
.vph-bg{ position:absolute; inset:0;
  background-image:linear-gradient(100deg, rgba(7,15,35,.82) 0%, rgba(10,24,50,.45) 55%, rgba(12,30,60,.25) 100%), url('../images/idc-hero-gold.webp');
  background-size:auto, cover; background-position:0 0, center 25%; }
.vph::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,#e8c37a, rgba(232,195,122,.15) 55%, transparent); z-index:2; }
.vph-in{ position:relative; z-index:2; padding:46px 0 0; }
.vph-brand{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.vph-logo{ flex:none; width:86px; height:86px; border-radius:18px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:30px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.4); }
.vph-logo img{ width:100%; height:100%; object-fit:contain; padding:10px; box-sizing:border-box; }
.vph-id{ flex:1; min-width:240px; }
.vph-name{ display:flex; align-items:center; gap:14px; margin-bottom:8px; }
.vph-name h1{ margin:0; font-size:34px; font-weight:800; color:#fff; letter-spacing:.5px; line-height:1.2; }
.vph-ok{ display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:#fff; background:#17a35c; padding:4px 14px; border-radius:999px; }
.vph-want{ font-size:12px; font-weight:700; color:#ffd98a; background:rgba(240,192,96,.12); border:1px solid rgba(240,192,96,.45); border-radius:999px; padding:4px 16px; cursor:pointer; transition:all .2s; }
.vph-want:hover{ background:rgba(240,192,96,.25); }
.vph-meta{ display:block; font-size:13.5px; color:#c2d2ec; letter-spacing:.4px; }
.vph-ring{ flex:none; display:flex; flex-direction:column; align-items:center; gap:5px; }
.vph-ring span{ font-size:11px; color:#9db2d2; letter-spacing:1px; }
.vph-body{ position:relative; z-index:3; margin-top:-100px; }
.vph-card{ background:#fff; border-radius:16px; padding:22px 28px 20px; box-shadow:0 18px 44px rgba(10,30,70,.14); border:1px solid #e8edf5; display:flex; flex-direction:column; gap:16px; }
.vph-desc{ margin:0; font-size:14px; color:#4a6a8e; line-height:1.85; }
.vph-facts{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px 30px; padding:12px 0; border-top:1px solid #f0f4f9; border-bottom:1px solid #f0f4f9; }
.vph-fact{ display:flex; align-items:baseline; gap:12px; }
.vph-fact span{ flex:none; width:64px; font-size:12px; color:#8a9ab2; }
.vph-fact em{ font-style:normal; font-size:13px; font-weight:700; color:#22354e; }
.vph-actions{ display:flex; gap:12px; margin-top:2px; }
.vph-btn{ display:inline-flex; align-items:center; padding:9px 26px; border-radius:999px; font-size:13.5px; font-weight:700; text-decoration:none; border:none; cursor:pointer; background:#eef3fa; color:#16273e; transition:all .2s; }
.vph-btn.main{ background:linear-gradient(135deg,#2f7bff,#06b6d4); color:#fff; box-shadow:0 6px 18px rgba(47,123,255,.35); }
.vph-btn:hover{ transform:translateY(-1px); box-shadow:0 8px 20px rgba(16,42,90,.15); }
.vph-btn.main:hover{ filter:brightness(1.06); }
@media (max-width:768px){
    .vph{ padding-bottom:100px; }
    .vph-brand{ gap:14px; }
    .vph-logo{ width:72px; height:72px; border-radius:14px; }
    .vph-name h1{ font-size:26px; }
    .vph-body{ margin-top:-80px; }
    .vph-card{ padding:18px 20px 16px; }
    .vph-facts{ grid-template-columns:1fr; }
}

/* 简化版：简介+按钮直接在深色区 */
.vph-desc{ margin:16px 0 0; max-width:820px; font-size:14px; line-height:1.9; color:#dbe6f5; text-shadow:0 1px 6px rgba(4,10,26,.6); }
.vph-act{ display:flex; gap:12px; margin-top:20px; flex-wrap:wrap; }
.vph-btn{ display:inline-flex; align-items:center; padding:10px 28px; border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; border:none; cursor:pointer; transition:all .2s; }
.vph-btn.main{ background:linear-gradient(135deg,#3b82f6,#06b6d4); color:#fff; box-shadow:0 8px 22px rgba(59,130,246,.4); }
.vph-btn{ background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.3); }
.vph-btn:hover{ transform:translateY(-1px); background:rgba(255,255,255,.2); }
.vph-btn.main{ border:none; }
.vph-btn.main:hover{ filter:brightness(1.07); }
@media (max-width:768px){ .vph-btn{ padding:8px 20px; font-size:13px; } }
.vph-btn{ width:auto !important; flex:none !important; min-width:0; }
.vph-act{ justify-content:flex-start; }

/* ════════ 商家页头部 v18：颁奖台同款风格 ════════ */
.vd-stage{ position:relative; overflow:hidden; background:linear-gradient(160deg,#0a1830 0%,#0f2850 55%,#0d2450 100%); padding:0; }
.vd-bg{ position:absolute; inset:0;
  background-image:linear-gradient(100deg, rgba(8,16,35,.78) 0%, rgba(12,30,60,.42) 50%, rgba(14,34,68,.28) 100%), url('../images/idc-hero-gold.webp');
  background-size:auto, cover; background-position:0 0, center 28%; }
.vd-stage::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:100px; background:linear-gradient(180deg, transparent, rgba(8,16,35,.85)); pointer-events:none; }
.vd-stage::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, rgba(240,201,106,.5), rgba(240,201,106,.08) 60%, transparent); z-index:2; }
.vd-in{ position:relative; z-index:2; padding:44px 0 38px; display:flex; flex-direction:column; gap:20px; }
.vd-row{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.vd-left{ display:flex; align-items:center; gap:20px; flex:1; min-width:280px; }
.vd-logo{ flex:none; width:80px; height:80px; border-radius:16px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.35); }
.vd-logo img{ width:100%; height:100%; object-fit:contain; padding:9px; box-sizing:border-box; }
.vd-id{ min-width:0; }
.vd-name{ display:flex; align-items:center; gap:12px; margin-bottom:7px; }
.vd-name h1{ margin:0; font-size:30px; font-weight:800; color:#fff; letter-spacing:.5px; line-height:1.2; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.vd-ok{ display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:#fff; background:#17a35c; padding:3px 13px; border-radius:999px; }
.vd-claim{ font-size:12px; font-weight:600; color:#ffd98a; background:none; border:1px solid rgba(240,201,106,.4); border-radius:999px; padding:3px 15px; cursor:pointer; transition:all .2s; }
.vd-claim:hover{ background:rgba(240,201,106,.15); }
.vd-meta{ display:block; font-size:13px; color:#a3b8d4; letter-spacing:.3px; }
.vd-right{ flex:none; display:flex; align-items:center; justify-content:center; }
.vd-rec-ring{ display:flex; flex-direction:column; align-items:center; gap:5px; }
.vd-rec-ring span{ font-size:11px; color:#8fa6c8; }
.vd-desc{ margin:0; max-width:820px; font-size:14px; line-height:1.9; color:#c9d6ec; }
.vd-btns{ display:flex; gap:12px; flex-wrap:wrap; }
.vd-btn{ display:inline-flex; align-items:center; padding:9px 28px; border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; border:none; cursor:pointer; transition:all .2s; }
.vd-btn.main{ background:linear-gradient(135deg,#1a73e8,#4a9eff); color:#fff; box-shadow:0 6px 20px rgba(26,115,232,.4); }
.vd-btn.main:hover{ filter:brightness(1.1); transform:translateY(-1px); }
.vd-btn{ background:rgba(255,255,255,.1); color:#d5e2f5; border:1px solid rgba(255,255,255,.25); }
.vd-btn:hover{ background:rgba(255,255,255,.18); }
@media (max-width:768px){
    .vd-in{ padding:32px 0 28px; }
    .vd-name h1{ font-size:26px; }
    .vd-logo{ width:64px; height:64px; border-radius:12px; font-size:22px; }
}

/* ════════ v18 精细打磨 ════════ */
/* 头部间距优化 */
.vd-in{ padding:48px 0 42px; gap:22px; }
.vd-logo{ width:84px; height:84px; border-radius:16px; }
.vd-name h1{ font-size:30px; }
.vd-desc{ font-size:13.5px; line-height:1.95; margin-top:0; }
/* 按钮不拉伸 */
.vd-btn{ flex:none !important; width:auto !important; min-width:0; }
.vd-btns{ display:flex; gap:12px; flex-wrap:wrap; }
.vd-btn.main{ padding:10px 32px; }
.vd-btn{ padding:9px 26px; font-size:13.5px; }
/* 右环更大 */
.vd-rec-ring svg{ width:78px; height:78px; }
/* 商家档案参数卡更精致 */
.jx-par-card{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:4px 24px; }
.jx-par-row{ padding:14px 0; border-bottom:1px solid #f2f5fa; }
.jx-par-row:last-child{ border-bottom:none; }
.jx-par-row span{ font-size:12px; color:#8a9ab2; font-weight:500; min-width:70px; }
.jx-par-row em{ font-size:13.5px; font-weight:600; color:#22354e; }
/* 口碑投票更精致 */
.jx-vote{ border-radius:14px; padding:20px 24px; }
.jx-vote-btns button{ font-size:13.5px; padding:10px 28px; border-radius:10px; border:1px solid #dfe6ef; background:#f8fafc; transition:all .2s; }
.jx-vote-btns button:hover{ transform:translateY(-1px); box-shadow:0 4px 12px rgba(16,42,90,.1); }
.jx-vote-track{ height:7px; border-radius:99px; }
/* 资讯区更精致 */
.jx-vp3-sec{ margin-bottom:28px; }
.jv3-sec-head{ margin-bottom:14px; }
.jv3-sec-head h2{ font-size:17px; }
.jv3-sec-head h2::before{ height:16px; }
.jx-nl-row{ padding:12px 18px; }
.jx-nl-thumb{ width:88px; height:60px; border-radius:8px; }
.jx-nl-body h4{ font-size:14px; }
/* 侧栏更精致 */
.dl-side .dl-widget, .cp-side .cp-widget{ padding:18px 20px; }
.dl-hot li a, .cp-hot li a{ padding:10px 0; }
.dl-hot-name, .cp-hot-name{ font-size:13.5px; }
.dl-hot-score, .cp-hot-score{ font-size:14px; }

/* ════════ 商家页 v20 完全重写（无侧栏、全宽、干净）════════ */
.vp-hero{ position:relative; overflow:hidden; background:#0a1830; }
.vp-hero-bg{ position:absolute; inset:0;
  background-image:linear-gradient(100deg, rgba(7,15,35,.82) 0%, rgba(10,24,50,.45) 55%, rgba(12,30,60,.25) 100%), url('../images/idc-hero-gold.webp');
  background-size:auto, cover; background-position:0 0, center 25%; }
.vp-hero::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,#e8c37a, rgba(232,195,122,.12) 55%, transparent); z-index:2; }
.vp-hero::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:100px; background:linear-gradient(180deg, transparent, rgba(8,16,35,.85)); z-index:1; pointer-events:none; }
.vp-hero-in{ position:relative; z-index:2; padding:44px 0 36px; }
.vp-brand{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.vp-logo{ flex:none; width:78px; height:78px; border-radius:16px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.4); }
.vp-logo img{ width:100%; height:100%; object-fit:contain; padding:9px; box-sizing:border-box; }
.vp-id{ flex:1; min-width:240px; }
.vp-name{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.vp-name h1{ margin:0; font-size:28px; font-weight:800; color:#fff; letter-spacing:.5px; line-height:1.2; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.vp-ok{ display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:#fff; background:#17a35c; padding:4px 14px; border-radius:999px; }
.vp-claim{ font-size:12px; font-weight:600; color:#ffd98a; background:rgba(240,192,96,.12); border:1px solid rgba(240,192,96,.45); border-radius:999px; padding:4px 16px; cursor:pointer; }
.vp-meta{ display:block; font-size:13px; color:#b0c4de; letter-spacing:.3px; }
.vp-ring{ flex:none; display:flex; flex-direction:column; align-items:center; gap:5px; }
.vp-ring span{ font-size:11px; color:#8fa6c8; }
.vp-desc{ margin:14px 0 0; max-width:780px; font-size:13.5px; line-height:1.9; color:#c9d6ec; }
.vp-act{ display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }
.vp-btn{ display:inline-flex; align-items:center; padding:10px 28px; border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; border:none; cursor:pointer; background:rgba(255,255,255,.12); color:#d5e2f5; width:auto !important; flex:none !important; transition:all .2s; }
.vp-btn.main{ background:linear-gradient(135deg,#1a73e8,#4a9eff); color:#fff; box-shadow:0 6px 20px rgba(26,115,232,.4); }
.vp-btn.main:hover{ filter:brightness(1.1); }
.vp-btn:hover{ background:rgba(255,255,255,.2); }
.vp-stats{ display:flex; gap:0; margin-top:22px; border-radius:12px; overflow:hidden; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }
.vp-st{ flex:1; display:flex; align-items:center; justify-content:center; gap:7px; padding:14px 0; }
.vp-st + .vp-st{ border-left:1px solid rgba(255,255,255,.08); }
.vp-st b{ font-size:18px; font-weight:800; color:#fff; }
.vp-st span{ font-size:11.5px; color:#8fa6c8; }
/* 内容区 */
.vp-content{ padding:0 0 40px; }
.vp-sec{ margin-bottom:30px; }
.vp-sec-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.vp-sec-head h2{ font-size:17px; font-weight:800; color:#16273e; padding-left:12px; position:relative; }
.vp-sec-head h2::before{ content:''; position:absolute; left:0; top:2px; bottom:2px; width:4px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); }
.vp-sec-sub{ font-size:12px; color:#93a3b8; }
.vp-sec-link{ font-size:13px; font-weight:600; color:var(--jx-blue); text-decoration:none; margin-left:auto; }
.vp-par{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:4px 24px; }
.vp-par-row{ display:flex; align-items:baseline; gap:16px; padding:13px 0; border-bottom:1px solid #f2f5fa; }
.vp-par-row:last-child{ border-bottom:none; }
.vp-par-row span{ flex:none; width:70px; font-size:12px; color:#8a9ab2; }
.vp-par-row em{ font-style:normal; font-size:13.5px; font-weight:600; color:#22354e; }
.vp-vote{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:20px 24px; }
.vp-vote-q{ margin:0 0 12px; font-size:14.5px; font-weight:700; color:#22354e; }
.vp-vote-btns{ display:flex; gap:10px; margin-bottom:14px; }
.vp-vote-btns button{ padding:8px 24px; border-radius:999px; border:1px solid #dfe6ef; background:#f8fafc; font-size:13px; font-weight:600; color:#3d5170; cursor:pointer; }
.vp-vote-btns button:hover{ border-color:#8fb8f5; color:#2f7bff; }
.vp-vbar{ display:flex; align-items:center; gap:12px; padding:5px 0; }
.vp-vbar span{ flex:none; width:52px; font-size:12px; color:#7c8ca1; }
.vp-track{ flex:1; height:7px; border-radius:99px; background:#eef2f8; overflow:hidden; }
.vp-track i{ display:block; height:100%; border-radius:99px; }
.vp-track i.vc-up{ background:linear-gradient(90deg,#1fd66f,#0c9e63); }
.vp-track i.vc-mid{ background:linear-gradient(90deg,#ffd36e,#f5a623); }
.vp-track i.vc-down{ background:linear-gradient(90deg,#ff8d8d,#e05252); }
.vp-vbar em{ font-style:normal; font-size:11.5px; color:#a3b0c0; min-width:32px; text-align:right; }
/* 深度测评 */
.vp-rv-list{ display:flex; flex-direction:column; gap:14px; }
.vp-rv-card{ display:flex; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #e9edf5; text-decoration:none; transition:all .22s; }
.vp-rv-card:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(16,42,90,.12); }
.vp-rv-thumb{ position:relative; width:200px; min-height:130px; flex:none; background:#f0f3f8; overflow:hidden; }
.vp-rv-thumb img{ width:100%; height:100%; object-fit:cover; }
.vp-rv-score{ position:absolute; left:8px; top:8px; font-style:normal; font-size:13px; font-weight:800; color:#fff; background:linear-gradient(135deg,#f89a4a,#e0342c); padding:3px 10px; border-radius:8px; }
.vp-rv-body{ flex:1; padding:14px 18px; }
.vp-rv-meta{ display:flex; gap:10px; align-items:center; margin-bottom:5px; }
.vp-rv-meta em{ font-style:normal; font-size:11px; font-weight:600; color:#e8862e; }
.vp-rv-meta time{ font-size:11.5px; color:#a3b0c0; }
.vp-rv-body h3{ margin:0 0 4px; font-size:15px; font-weight:700; color:#1d2b3f; }
.vp-rv-body p{ margin:0; font-size:12.5px; color:#8a9ab2; line-height:1.65; }
.vp-rv-go{ font-size:12px; font-weight:600; color:var(--jx-blue); }
/* 资讯 */
.vp-feat{ display:flex; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #e9edf5; text-decoration:none; margin-bottom:12px; }
.vp-feat-thumb{ width:220px; min-height:150px; flex:none; background:#f0f3f8; overflow:hidden; }
.vp-feat-thumb img{ width:100%; height:100%; object-fit:cover; }
.vp-feat-body{ flex:1; padding:18px 22px; }
.vp-feat-body h3{ margin:0 0 6px; font-size:16px; font-weight:700; color:#16273e; }
.vp-feat-body p{ margin:0 0 8px; font-size:13px; color:#8a9ab2; line-height:1.7; }
.vp-feat-date{ font-size:11.5px; color:#a3b0c0; }
.vp-news-list{ background:#fff; border:1px solid #e9edf5; border-radius:12px; overflow:hidden; }
.vp-news-item{ display:flex; align-items:center; justify-content:space-between; padding:11px 18px; text-decoration:none; border-bottom:1px solid #f2f5fa; transition:background .15s; }
.vp-news-item:last-child{ border-bottom:none; }
.vp-news-item:hover{ background:#f8faff; }
.vp-news-item strong{ font-size:13.5px; font-weight:600; color:#26374d; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vp-news-item time{ flex:none; font-size:11.5px; color:#a3b0c0; margin-left:12px; }
/* FAQ */
.vp-faq{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:6px 22px; }
.vp-faq details{ border-bottom:1px solid #f2f5fa; padding:13px 0; }
.vp-faq details:last-chi
/* ════════ 商家页 v20 完全重写（无侧栏、全宽、干净）════════ */
.vp-hero{ position:relative; overflow:hidden; background:#0a1830; }
.vp-hero-bg{ position:absolute; inset:0; background-image:linear-gradient(100deg,rgba(7,15,35,.82) 0%,rgba(10,24,50,.45) 55%,rgba(12,30,60,.25) 100%),url('../images/idc-hero-gold.webp'); background-size:auto,cover; background-position:0 0,center 25%; }
.vp-hero::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,#e8c37a,rgba(232,195,122,.12) 55%,transparent); z-index:2; }
.vp-hero::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:100px; background:linear-gradient(180deg,transparent,rgba(8,16,35,.85)); z-index:1; pointer-events:none; }
.vp-hero-in{ position:relative; z-index:2; padding:44px 0 36px; }
.vp-brand{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.vp-logo{ flex:none; width:78px; height:78px; border-radius:16px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; color:#2c5a94; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.4); }
.vp-logo img{ width:100%; height:100%; object-fit:contain; padding:9px; box-sizing:border-box; }
.vp-id{ flex:1; min-width:240px; }
.vp-name{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.vp-name h1{ margin:0; font-size:28px; font-weight:800; color:#fff; letter-spacing:.5px; line-height:1.2; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.vp-ok{ display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:#fff; background:#17a35c; padding:4px 14px; border-radius:999px; }
.vp-claim{ font-size:12px; font-weight:600; color:#ffd98a; background:rgba(240,192,96,.12); border:1px solid rgba(240,192,96,.45); border-radius:999px; padding:4px 16px; cursor:pointer; }
.vp-meta{ display:block; font-size:13px; color:#b0c4de; }
.vp-ring{ flex:none; display:flex; flex-direction:column; align-items:center; gap:5px; }
.vp-ring span{ font-size:11px; color:#8fa6c8; }
.vp-desc{ margin:14px 0 0; max-width:780px; font-size:13.5px; line-height:1.9; color:#c9d6ec; }
.vp-act{ display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }
.vp-btn{ display:inline-flex; align-items:center; padding:10px 28px; border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; border:none; cursor:pointer; background:rgba(255,255,255,.12); color:#d5e2f5; width:auto !important; flex:none !important; transition:all .2s; }
.vp-btn.main{ background:linear-gradient(135deg,#1a73e8,#4a9eff); color:#fff; box-shadow:0 6px 20px rgba(26,115,232,.4); }
.vp-btn:hover{ background:rgba(255,255,255,.2); }
.vp-btn.main:hover{ filter:brightness(1.1); }
.vp-stats{ display:flex; gap:0; margin-top:22px; border-radius:12px; overflow:hidden; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }
.vp-st{ flex:1; display:flex; align-items:center; justify-content:center; gap:7px; padding:14px 0; }
.vp-st + .vp-st{ border-left:1px solid rgba(255,255,255,.08); }
.vp-st b{ font-size:18px; font-weight:800; color:#fff; }
.vp-st span{ font-size:11.5px; color:#8fa6c8; }
.vp-content{ padding:0 0 40px; }
.vp-sec{ margin-bottom:30px; }
.vp-sec-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.vp-sec-head h2{ font-size:17px; font-weight:800; color:#16273e; padding-left:12px; position:relative; }
.vp-sec-head h2::before{ content:''; position:absolute; left:0; top:2px; bottom:2px; width:4px; border-radius:2px; background:linear-gradient(180deg,#2f7bff,#00c6ff); }
.vp-sec-sub{ font-size:12px; color:#93a3b8; }
.vp-sec-link{ font-size:13px; font-weight:600; color:#1a73e8; text-decoration:none; margin-left:auto; }
.vp-par{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:4px 24px; }
.vp-par-row{ display:flex; align-items:baseline; gap:16px; padding:13px 0; border-bottom:1px solid #f2f5fa; }
.vp-par-row:last-child{ border-bottom:none; }
.vp-par-row span{ flex:none; width:70px; font-size:12px; color:#8a9ab2; }
.vp-par-row em{ font-style:normal; font-size:13.5px; font-weight:600; color:#22354e; }
.vp-vote{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:20px 24px; }
.vp-vote-q{ margin:0 0 12px; font-size:14.5px; font-weight:700; color:#22354e; }
.vp-vote-btns{ display:flex; gap:10px; margin-bottom:14px; }
.vp-vote-btns button{ padding:8px 24px; border-radius:999px; border:1px solid #dfe6ef; background:#f8fafc; font-size:13px; font-weight:600; color:#3d5170; cursor:pointer; }
.vp-vote-btns button:hover{ border-color:#8fb8f5; color:#2f7bff; }
.vp-vbar{ display:flex; align-items:center; gap:12px; padding:5px 0; }
.vp-vbar span{ flex:none; width:52px; font-size:12px; color:#7c8ca1; }
.vp-track{ flex:1; height:7px; border-radius:99px; background:#eef2f8; overflow:hidden; }
.vp-track i{ display:block; height:100%; border-radius:99px; }
.vp-track i.vc-up{ background:linear-gradient(90deg,#1fd66f,#0c9e63); }
.vp-track i.vc-mid{ background:linear-gradient(90deg,#ffd36e,#f5a623); }
.vp-track i.vc-down{ background:linear-gradient(90deg,#ff8d8d,#e05252); }
.vp-vbar em{ font-style:normal; font-size:11.5px; color:#a3b0c0; min-width:32px; text-align:right; }
.vp-rv-list{ display:flex; flex-direction:column; gap:14px; }
.vp-rv-card{ display:flex; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #e9edf5; text-decoration:none; transition:all .22s; }
.vp-rv-card:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(16,42,90,.12); }
.vp-rv-thumb{ position:relative; width:200px; min-height:130px; flex:none; background:#f0f3f8; overflow:hidden; }
.vp-rv-thumb img{ width:100%; height:100%; object-fit:cover; }
.vp-rv-score{ position:absolute; left:8px; top:8px; font-style:normal; font-size:13px; font-weight:800; color:#fff; background:linear-gradient(135deg,#f89a4a,#e0342c); padding:3px 10px; border-radius:8px; }
.vp-rv-body{ flex:1; padding:14px 18px; }
.vp-rv-meta{ display:flex; gap:10px; align-items:center; margin-bottom:5px; }
.vp-rv-meta em{ font-style:normal; font-size:11px; font-weight:600; color:#e8862e; }
.vp-rv-meta time{ font-size:11.5px; color:#a3b0c0; }
.vp-rv-body h3{ margin:0 0 4px; font-size:15px; font-weight:700; color:#1d2b3f; }
.vp-rv-body p{ margin:0; font-size:12.5px; color:#8a9ab2; line-height:1.65; }
.vp-rv-go{ font-size:12px; font-weight:600; color:#1a73e8; }
.vp-feat{ display:flex; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #e9edf5; text-decoration:none; margin-bottom:12px; }
.vp-feat-thumb{ width:220px; min-height:150px; flex:none; background:#f0f3f8; overflow:hidden; }
.vp-feat-thumb img{ width:100%; height:100%; object-fit:cover; }
.vp-feat-body{ flex:1; padding:18px 22px; }
.vp-feat-body h3{ margin:0 0 6px; font-size:16px; font-weight:700; color:#16273e; }
.vp-feat-body p{ margin:0 0 8px; font-size:13px; color:#8a9ab2; line-height:1.7; }
.vp-feat-date{ font-size:11.5px; color:#a3b0c0; }
.vp-news-list{ background:#fff; border:1px solid #e9edf5; border-radius:12px; overflow:hidden; }
.vp-news-item{ display:flex; align-items:center; justify-content:space-between; padding:11px 18px; text-decoration:none; border-bottom:1px solid #f2f5fa; }
.vp-news-item:last-child{ border-bottom:none; }
.vp-news-item:hover{ background:#f8faff; }
.vp-news-item strong{ font-size:13.5px; font-weight:600; color:#26374d; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vp-news-item time{ flex:none; font-size:11.5px; color:#a3b0c0; margin-left:12px; }
.vp-faq{ background:#fff; border:1px solid #e9edf5; border-radius:14px; padding:6px 22px; }
.vp-faq details{ border-bottom:1px solid #f2f5fa; padding:13px 0; }
.vp-faq details:last-child{ border-bottom:none; }
.vp-faq summary{ font-size:14.5px; font-weight:700; color:#22354e; cursor:pointer; }
.vp-faq details p{ margin:9px 0 0; font-size:13px; color:#7c8ca1; line-height:1.8; }
.vp-others{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.vp-other{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:10px; background:#fff; border:1px solid #edf1f7; text-decoration:none; transition:all .2s; }
.vp-other:hover{ border-color:rgba(47,123,255,.3); transform:translateY(-2px); }
.vp-other-logo{ width:36px; height:36px; border-radius:8px; background:#f7f9fc; font-size:14px; font-weight:800; color:#33507a; display:flex; align-items:center; justify-content:center; overflow:hidden; flex:none; }
.vp-other-logo img{ width:100%; height:100%; object-fit:contain; padding:3px; box-sizing:border-box; }
.vp-other span:last-child{ font-size:13px; font-weight:600; color:#26374d; }
@media (max-width:768px){ .vp-name h1{ font-size:22px; } .vp-brand{ gap:14px; } .vp-logo{ width:60px; height:60px; } .vp-stats{ flex-wrap:wrap; } .vp-st{ min-width:45%; } .vp-others{ grid-template-columns:repeat(2,1fr); } .vp-feat{ flex-direction:column; } .vp-feat-thumb{ width:100%; height:160px; } }

/* ════════ 视觉提升：金色渐变名称+发光logo+彩色数据 ════════ */
/* logo 放大发光 */
.vp-logo{ width:88px !important; height:88px !important; border-radius:18px; box-shadow:0 0 0 2px rgba(255,217,138,.35), 0 0 40px rgba(240,192,96,.25), 0 14px 36px rgba(0,0,0,.5); }
/* 名称加金色渐变 */
.vp-name h1{ font-size:32px !important; background:linear-gradient(135deg,#fff 30%,#ffd98a 70%,#f0c060 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; letter-spacing:.8px; }
/* 认领徽章加大 */
.vp-claim{ font-size:13px !important; padding:6px 20px !important; box-shadow:0 0 16px rgba(240,192,96,.2); }
/* meta 行加大 */
.vp-meta{ font-size:14px !important; color:#c9d6ec; margin-top:2px; }
/* 描述加大加宽 */
.vp-desc{ font-size:14.5px !important; max-width:840px; color:#d0dcee; margin-top:16px; }
/* 按钮加大 */
.vp-btn{ padding:12px 34px !important; font-size:15px !important; border-radius:12px !important; }
.vp-btn.main{ box-shadow:0 8px 28px rgba(26,115,232,.5); }
/* 数据带数字变大彩色 */
.vp-stats{ padding:20px 0; border-radius:16px; background:rgba(10,20,45,.5); border:1px solid rgba(120,160,255,.15); margin-top:26px; }
.vp-st b{ font-size:26px !important; }
.vp-st:first-child b{ color:#f0c060; }
.vp-st:nth-child(2) b{ color:#3fd08a; }
.vp-st:nth-child(3) b{ color:#6fc4ff; }
.vp-st:nth-child(4) b{ color:#c9d6ec; }
.vp-st span{ font-size:12px !important; color:#93a6c4; margin-top:3px; }
/* 右环加大加金 */
.vp-ring svg{ width:88px !important; height:88px !important; }
.vp-ring{ filter:drop-shadow(0 0 14px rgba(240,192,96,.3)); }
/* 内容区间距加大 */
.vp-content{ padding:34px 0 44px; }
.vp-sec{ margin-bottom:36px; }
.vp-sec-head h2{ font-size:18px !important; }
.vp-par{ padding:8px 28px; }
.vp-par-row{ padding:15px 0; }
/* 推荐率大字排版替代小环 */
.vp-rec{ text-align:right; line-height:1.1; }
.vp-rec strong{ display:block; font-size:40px; font-weight:900; color:#ffd98a; font-variant-numeric:tabular-nums; text-shadow:0 2px 14px rgba(240,192,96,.3); }
.vp-rec span{ display:block; margin-top:5px; font-size:11.5px; color:#8fa6c8; letter-spacing:1px; }

/* 数据带参数优化：更大气 */
.vp-stats{ gap:0; padding:18px 10px; border-radius:14px; background:rgba(10,20,45,.6); border:1px solid rgba(120,160,255,.18); }
.vp-st{ flex-direction:column; align-items:center; gap:4px; padding:6px 4px; }
.vp-st + .vp-st{ border-left:1px solid rgba(255,255,255,.08); }
.vp-st b{ font-size:14px !important; font-weight:600; color:#d5e2f5 !important; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:180px; padding:0 4px; }
.vp-st span{ font-size:11px !important; color:#7a95b8 !important; letter-spacing:1px; }

/* ════════ 数据带优化：更醒目 ════════ */
.vp-stats{ padding:20px 16px; border-radius:14px; background:rgba(8,18,40,.7); border:1px solid rgba(120,160,255,.22); gap:0; }
.vp-st{ flex:1; padding:8px 12px; }
.vp-st + .vp-st{ border-left:1px solid rgba(120,160,255,.18); }
.vp-st b{ font-size:15px !important; font-weight:700; color:#e8f0ff !important; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:200px; padding:0 2px; }
.vp-st span{ font-size:10.5px !important; color:#6a8ab8 !important; text-transform:uppercase; letter-spacing:1.5px; margin-top:3px; }
.vp-st:first-child b{ color:#ffd98a; }
.vp-st:first-child span{ color:#d8b96e; }
.vp-btn.gold{ background:linear-gradient(135deg,#f89a4a,#e8862e); color:#fff; border:none; box-shadow:0 6px 18px rgba(232,134,46,.35); }
.vp-btn.gold:hover{ filter:brightness(1.08); transform:translateY(-1px); }

/* 副标题徽章 */
.vp-badge{ font-style:normal; font-size:12px; font-weight:600; color:#4a6a9e; background:#eef3fa; padding:3px 14px; border-radius:999px; }

/* 按钮确保可点击有反馈 */
.vp-btn{ cursor:pointer; position:relative; z-index:10; }
.vp-btn:active{ transform:scale(.97); }
.vp-btn.gold{ cursor:pointer; }
/* ════════ 认领弹窗 v2：深色头+精致表单 ════════ */
.jx-modal{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:20px; }
.jx-modal.on{ display:flex; }
.jx-modal-mask{ position:absolute; inset:0; background:rgba(6,12,28,.7); backdrop-filter:blur(6px); }
.cm-box{ position:relative; width:560px; max-width:100%; max-height:88vh; overflow-y:auto; border-radius:20px; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.4); animation:cmPop .3s cubic-bezier(.34,1.3,.64,1); }
@keyframes cmPop{ from{ transform:scale(.92) translateY(16px); opacity:0 } to{ transform:none; opacity:1 } }
.cm-head{ display:flex; align-items:center; justify-content:space-between; padding:22px 28px 20px; background:linear-gradient(120deg,#123063,#1a3a75); border-radius:20px 20px 0 0; }
.cm-head-in{ display:flex; align-items:center; gap:14px; }
.cm-icon{ display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; font-size:22px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); }
.cm-head h3{ margin:0; font-size:18px; font-weight:800; color:#fff; }
.cm-head p{ margin:4px 0 0; font-size:12px; color:#a3b8d8; }
.cm-close{ width:32px; height:32px; border:none; border-radius:50%; background:rgba(255,255,255,.12); color:#c9d6ec; font-size:14px; cursor:pointer; transition:all .2s; }
.cm-close:hover{ background:rgba(255,255,255,.25); color:#fff; }
.cm-form{ padding:24px 28px 22px; }
.cm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.cm-field{ display:flex; flex-direction:column; gap:6px; }
.cm-field.full{ margin-bottom:16px; }
.cm-field label{ font-size:13px; font-weight:600; color:#3d5170; }
.cm-field label b{ color:#e05252; }
.cm-field input, .cm-field textarea{ font-size:14px; color:#22354e; border:1.5px solid #dde5f0; border-radius:10px; padding:10px 14px; background:#f8fafd; outline:none; transition:all .2s; font-family:inherit; }
.cm-field input:focus, .cm-field textarea:focus{ border-color:#2f7bff; background:#fff; box-shadow:0 0 0 3px rgba(47,123,255,.12); }
.cm-field textarea{ resize:vertical; min-height:72px; }
.cm-foot{ display:flex; align-items:center; justify-content:space-between; }
.cm-note{ font-size:12px; color:#93a3b8; }
.cm-submit{ font-size:15px; font-weight:700; color:#fff; background:linear-gradient(135deg,#2f7bff,#06b6d4); border:none; border-radius:999px; padding:12px 36px; cursor:pointer; box-shadow:0 8px 22px rgba(47,123,255,.35); transition:all .2s; }
.cm-submit:hover{ transform:translateY(-1px); filter:brightness(1.06); }
.cm-submit:active{ transform:scale(.97); }
@media (max-width:640px){ .cm-grid{ grid-template-columns:1fr; } .cm-box{ border-radius:16px; } .cm-form{ padding:18px 20px 16px; } }

/* 弹窗表单对齐修复 */
.cm-grid{ gap:14px; margin-bottom:14px; }
.cm-field input, .cm-field textarea{ height:42px; box-sizing:border-box; padding:0 14px; line-height:42px; }
.cm-field input::placeholder{ line-height:42px; }
.cm-field textarea{ height:auto; padding:10px 14px; line-height:1.6; min-height:70px; }
.cm-field label{ font-size:13px; margin-bottom:0; }
.cm-form{ padding:22px 28px 20px; }
.cm-head{ padding:20px 28px 18px; }
.cm-foot{ padding-top:4px; }

/* 弹窗表单强制覆盖（旧 jx-vform 冲突） */
.cm-form.jx-vform{ display:block !important; gap:0 !important; padding:22px 28px 20px !important; }
.cm-form.jx-vform label{ display:flex !important; flex-direction:column !important; gap:6px !important; font-size:13px !important; font-weight:600 !important; color:#3d5170 !important; margin:0 !important; }
.cm-form.jx-vform input, .cm-form.jx-vform textarea{ font-size:14px !important; color:#22354e !important; border:1.5px solid #dde5f0 !important; border-radius:10px !important; padding:10px 14px !important; background:#f8fafd !important; height:42px !important; box-sizing:border-box !important; line-height:20px !important; width:100% !important; }
.cm-form.jx-vform textarea{ height:auto !important; min-height:70px !important; line-height:1.6 !important; padding:10px 14px !important; }
.cm-form.jx-vform input:focus, .cm-form.jx-vform textarea:focus{ border-color:#2f7bff !important; background:#fff !important; box-shadow:0 0 0 3px rgba(47,123,255,.12) !important; }
.cm-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:14px !important; margin-bottom:14px !important; }
.cm-field{ display:flex !important; flex-direction:column !important; gap:6px !important; }
.cm-field.full{ margin-bottom:14px !important; }
.cm-foot{ display:flex !important; align-items:center !important; justify-content:space-between !important; }
.cm-submit{ height:44px !important; padding:0 36px !important; font-size:15px !important; border-radius:999px !important; }

/* cm-form 独立样式（不再用 jx-vform） */
.cm-form{ padding:22px 28px 20px; }
.cm-form .cm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.cm-form .cm-field{ display:flex; flex-direction:column; gap:6px; }
.cm-form .cm-field.full{ margin-bottom:14px; }
.cm-form label{ font-size:13px; font-weight:600; color:#3d5170; margin:0; }
.cm-form label b{ color:#e05252; }
.cm-form input, .cm-form textarea{ font-size:14px; color:#22354e; border:1.5px solid #dde5f0; border-radius:10px; padding:10px 14px; background:#f8fafd; outline:none; height:42px; box-sizing:border-box; width:100%; font-family:inherit; transition:all .2s; }
.cm-form textarea{ height:auto; min-height:70px; line-height:1.6; }
.cm-form input:focus, .cm-form textarea:focus{ border-color:#2f7bff; background:#fff; box-shadow:0 0 0 3px rgba(47,123,255,.12); }
.cm-form .cm-foot{ display:flex; align-items:center; justify-content:space-between; }
.csSEOF
python -c "src=open('css/idctop.css',encoding='utf-8').read(); print('css ok:', src.count('{')==src.count('}'))" && python -c "
import io, re
src = io.open('functions.php', encoding='utf-8').read()
m = re.search(r\"define\('IDCTOP_ASSET_VER', '([\d.]+)'\)\", src)
parts = m.group(1).split('.'); parts[2] = str(int(parts[2])+1)
nv = '.'.join(parts)
src = src.replace(\"define('IDCTOP_ASSET_VER', '\"+m.group(1)+\"')\", \"define('IDCTOP_ASSET_VER', '\"+nv+\"')\")
io.open('functions.php','w',encoding='utf-8').write(src)
print(nv)
" && for f in taxonomy-vendor.php css/idctop.css functions.php; do curl -s --max-time 90 -T "$f" "ftp://103.236.69.202/justnews/$f" --user "sdfsdf:NrESe5Yy4CK9" && echo "up: $f"; done && sleep 14 && curl -s --max-time 60 -L "https://test.idctop.com/vendor/kvmla/" -o NUL -w "trig: %{http_code}\n"
__zcode_status=$?
if [ "$__zcode_status" -eq 0 ]; then pwd -P > '/c/Users/26308/AppData/Local/Temp/zcode-88a6672c-4684-4b67-91a8-45dc49761ca4-cwd'; fi
exit "$__zcode_status"

.cm-form{ padding:22px 28px 20px; }
.cm-form .cm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.cm-form .cm-field{ display:flex; flex-direction:column; gap:6px; }
.cm-form .cm-field.full{ margin-bottom:14px; }
.cm-form label{ font-size:13px; font-weight:600; color:#3d5170; margin:0; }
.cm-form label b{ color:#e05252; }
.cm-form input, .cm-form textarea{ font-size:14px; color:#22354e; border:1.5px solid #dde5f0; border-radius:10px; padding:10px 14px; background:#f8fafd; outline:none; height:42px; box-sizing:border-box; width:100%; font-family:inherit; transition:all .2s; }
.cm-form textarea{ height:auto; min-height:70px; line-height:1.6; }
.cm-form input:focus, .cm-form textarea:focus{ border-color:#2f7bff; background:#fff; box-shadow:0 0 0 3px rgba(47,123,255,.12); }
.cm-form .cm-foot{ display:flex; align-items:center; justify-content:space-between; }

.cm-form .cm-grid{ grid-template-columns:1fr !important; gap:12px !important; }

/* ════════ 文章排版 v5：丰富视觉层次（用户指定花哨版） ════════ */

/* H1-H5：序号章+标记式层级（v2 重做）· 桌面/移动双端 */
.entry-content { counter-reset: idctop-h2; }
.entry-content h1, .entry-content h2,
.entry-content h4, .entry-content h5, .entry-content h6,
.article-content h1, .article-content h2,
.article-content h4, .article-content h5, .article-content h6 {
  overflow-wrap:break-word !important; word-break:break-word !important;
  background:none !important; box-shadow:none !important;
}

/* H1 章级：粗体 + 通栏细线 + 左下短渐变高亮条 */
.entry-content h1, .article-content h1 {
  position:relative !important;
  font-size:26px !important; font-weight:800 !important; color:#16273e !important;
  line-height:1.45 !important; margin:40px 0 20px !important; padding:0 0 12px !important;
  border:none !important; border-bottom:1px solid #e3eaf4 !important; border-radius:0 !important;
}
.entry-content h1::after, .article-content h1::after {
  content:'' !important; position:absolute !important; left:0 !important; bottom:-2.5px !important;
  width:56px !important; height:4px !important; border-radius:4px !important;
  background:linear-gradient(90deg,#2f7bff,#00c6ff) !important;
}

/* H2 节级：渐变序号章 01/02 + 粗体 */
.entry-content h2, .article-content h2 {
  counter-increment:idctop-h2 !important;
  display:flex !important; align-items:center !important;
  font-size:22px !important; font-weight:800 !important; color:#16273e !important;
  line-height:1.5 !important; margin:34px 0 16px !important; padding:0 !important;
  border:none !important; border-radius:0 !important;
}
.entry-content h2::before, .article-content h2::before {
  content:counter(idctop-h2, decimal-leading-zero) !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  flex-shrink:0 !important;
  min-width:34px !important; height:34px !important; margin:0 12px 0 0 !important; padding:0 6px !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,#2f7bff,#00c6ff) !important;
  color:#fff !important; font-size:15px !important; font-weight:800 !important;
  letter-spacing:.5px !important; box-shadow:0 4px 10px rgba(47,123,255,.25) !important;
}

/* H4：深蓝粗体 */
.entry-content h4, .article-content h4 {
  font-size:16.5px !important; font-weight:700 !important; color:#123063 !important;
  line-height:1.6 !important; margin:20px 0 8px !important; padding:0 !important;
  border:none !important;
}

/* H5：蓝色粗体 */
.entry-content h5, .article-content h5 {
  font-size:14.5px !important; font-weight:700 !important; color:#2f7bff !important;
  line-height:1.6 !important; margin:16px 0 6px !important; padding:0 !important;
  border:none !important;
}

/* 移动端：序号章与字号同步缩小 */
@media (max-width: 767px) {
  .entry-content h1, .article-content h1 {
    font-size:20px !important; margin:28px 0 14px !important; padding:0 0 9px !important; line-height:1.4 !important;
  }
  .entry-content h1::after, .article-content h1::after { width:42px !important; height:3px !important; }
  .entry-content h2, .article-content h2 {
    font-size:18px !important; margin:26px 0 12px !important; line-height:1.45 !important;
  }
  .entry-content h2::before, .article-content h2::before {
    min-width:28px !important; height:28px !important; margin-right:10px !important;
    border-radius:8px !important; font-size:13px !important;
  }
  .entry-content h4, .article-content h4 { font-size:15px !important; margin:16px 0 6px !important; }
  .entry-content h5, .article-content h5 { font-size:13.5px !important; margin:13px 0 5px !important; }
}

/* 正文 */
.entry-content p, .article-content p { font-size:15px !important; color:#3a4e68 !important; line-height:2 !important; margin:0 0 18px !important; }

/* 加粗：深色+底部蓝高亮 */
.entry-content strong, .article-content strong, .entry-content b, .article-content b {
  font-weight:700 !important; color:#0d2452 !important;
  background:linear-gradient(180deg,transparent 60%,rgba(47,123,255,.15) 60%) !important;
  padding:0 2px !important;
}

/* 表格：数据对比优化（浅色表头+行标签列+纵横细线） */
.entry-content table, .article-content table {
  width:100% !important; border-collapse:separate !important; border-spacing:0 !important;
  margin:24px 0 !important; font-size:13.5px !important; background:#fff !important;
  border:1px solid #e2e9f2 !important; border-radius:12px !important; overflow:hidden !important;
}
.entry-content th, .article-content th {
  background:#eef4fb !important; color:#1f3a5f !important;
  font-weight:700 !important; padding:11px 12px !important; text-align:left !important;
  font-size:12.5px !important; white-space:nowrap !important;
  border-bottom:2px solid #d5e2f2 !important; border-left:1px solid #dfe9f4 !important;
}
.entry-content th:first-child, .article-content th:first-child { border-left:none !important; }
.entry-content td, .article-content td {
  padding:10px 12px !important; border-bottom:1px solid #e8eef5 !important; border-left:1px solid #eef2f8 !important;
  color:#3d5170 !important; line-height:1.65 !important; vertical-align:top !important;
}
.entry-content td:first-child, .article-content td:first-child {
  border-left:none !important; font-weight:600 !important; color:#22385c !important; background:#f4f7fb !important;
}
.entry-content tbody tr:nth-child(even) td, .article-content tbody tr:nth-child(even) td { background:#f4f8fc !important; }
.entry-content tbody tr:nth-child(even) td:first-child, .article-content tbody tr:nth-child(even) td:first-child { background:#ecf2f9 !important; }
.entry-content tbody tr:hover td, .article-content tbody tr:hover td { background:#eef6ff !important; }
.entry-content tr:last-child td, .article-content tr:last-child td { border-bottom:none !important; }

/* 移动端：整表自适应缩小（固定列宽比例，不横向滚动） */
@media (max-width: 767px) {
  .entry-content table, .article-content table {
    display:table !important; table-layout:fixed !important;
    width:100% !important; font-size:12px !important; border-radius:10px !important;
  }
  .entry-content th, .article-content th {
    padding:6px 4px !important; font-size:11px !important; white-space:normal !important; line-height:1.4 !important;
  }
  .entry-content td, .article-content td {
    padding:6px 4px !important; font-size:11.5px !important; line-height:1.5 !important;
    min-width:0 !important; word-break:break-word !important; overflow-wrap:break-word !important; text-align:justify !important;
  }
  .entry-content th:first-child, .article-content th:first-child { width:24% !important; }
}

/* 引用：左蓝条+渐变底+引号图标 */
.entry-content blockquote, .article-content blockquote {
  margin:24px 0 !important; padding:18px 24px 18px 56px !important;
  background:linear-gradient(135deg,#f0f5fc,#e8eef8) !important;
  border-left:5px solid #2f7bff !important; border-radius:0 14px 14px 0 !important;
  position:relative !important;
}
.entry-content blockquote::before, .article-content blockquote::before {
  content:'\201C' !important; position:absolute !important; left:16px !important; top:8px !important;
  font-size:36px !important; font-family:Georgia,serif !important; color:#2f7bff !important;
  opacity:.3 !important; font-weight:900 !important;
}
.entry-content blockquote p { margin:0 !important; font-size:14.5px !important; color:#4a6a8e !important; font-style:italic !important; }

/* 无序列表：渐变蓝圆点 */
.entry-content ul li, .article-content ul li { font-size:14.5px !important; color:#3a4e68 !important; line-height:1.9 !important; margin-bottom:8px !important; list-style:none !important; position:relative !important; }
.entry-content ul li::before, .article-content ul li::before {
  content:'' !important; position:absolute !important; left:-18px !important; top:11px !important;
  width:8px !important; height:8px !important; border-radius:50% !important;
  background:linear-gradient(135deg,#2f7bff,#00c6ff) !important;
  box-shadow:0 2px 6px rgba(47,123,255,.3) !important;
}

/* 有序列表：渐变数字块 */
.entry-content ol { counter-reset:ol-counter !important; padding-left:0 !important; list-style:none !important; }
.entry-content ol li { counter-increment:ol-counter !important; font-size:14.5px !important; color:#3a4e68 !important; line-height:1.9 !important; margin-bottom:8px !important; position:relative !important; padding-left:36px !important; }
.entry-content ol li::before {
  content:counter(ol-counter) !important; position:absolute !important; left:0 !important; top:4px !important;
  width:24px !important; height:24px !important; border-radius:8px !important;
  background:linear-gradient(135deg,#2f7bff,#00c6ff) !important; color:#fff !important;
  font-size:12px !important; font-weight:800 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}

/* 链接 */
.entry-content a, .article-content a { color:#2f7bff !important; text-decoration:none !important; border-bottom:2px solid rgba(47,123,255,.2) !important; transition:all .2s !important; }
.entry-content a:hover { color:#0080c0 !important; border-bottom-color:#0080c0 !important; background:rgba(0,128,192,.05) !important; }

/* 代码 */
.entry-content pre, .article-content pre {
  background:#0d1526 !important; color:#dbe6f5 !important; padding:20px 24px !important;
  border-radius:14px !important; border:1px solid #1a2942 !important;
  font-size:13.5px !important; line-height:1.8 !important; margin:24px 0 !important;
  box-shadow:0 10px 28px rgba(13,21,38,.2) !important;
}
.entry-content code, .article-content code { background:#eef4fc !important; color:#c7254e !important; padding:2px 10px !important; border-radius:6px !important; font-size:13px !important; }
.entry-content pre code { background:none !important; color:inherit !important; padding:0 !important; }

/* 图片 */
.entry-content img, .article-content img { max-width:100% !important; height:auto !important; border-radius:14px !important; margin:16px 0 !important; border:1px solid #e5eaf2 !important; box-shadow:0 6px 18px rgba(16,42,90,.1) !important; }

/* 分割线：渐变圆角条 */
.entry-content hr, .article-content hr { border:none !important; height:3px !important; background:linear-gradient(90deg,#2f7bff,#00c6ff 30%,#e0e8f4 60%,transparent) !important; border-radius:99px !important; margin:32px 0 !important; }

/* ════════ 侧栏 UI v5：编辑部风格（统一行节奏 · 清晰层级） ════════ */

/* ---- 卡片 ---- */
.sidebar .widget {
  background:#fff !important;
  border:1px solid #e5ebf3 !important;
  border-radius:12px !important;
  padding:16px 18px 8px !important;
  margin:0 0 20px !important;
  box-shadow:none !important;
}

/* ---- 标题：粗体 + 通栏细线（去水印/去色条） ---- */
.sidebar .widget .widget-title {
  display:block !important;
  margin:0 !important; padding:0 0 10px !important;
  font-size:16px !important; font-weight:800 !important; color:#16273e !important;
  line-height:1.5 !important;
  border:none !important; border-bottom:1px solid #e6ebf3 !important;
  background:none !important;
}
.sidebar .widget .widget-title::before,
.sidebar .widget .widget-title::after { content:none !important; }

/* ---- 列表行：居中对齐 + 统一节奏 ---- */
.sidebar .widget ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.sidebar .widget li.item {
  display:flex !important; align-items:center !important; gap:12px !important;
  padding:12px 0 !important; margin:0 !important;
  border-bottom:1px solid #eef2f7 !important;
}
.sidebar .widget li.item:last-child { border-bottom:none !important; }

/* 缩略图：96×64 圆角 */
.sidebar .widget li.item .item-img {
  flex:0 0 96px !important; width:96px !important; height:64px !important;
  border-radius:8px !important; overflow:hidden !important;
}
.sidebar .widget li.item .item-img-inner { display:block !important; width:100% !important; height:100% !important; }
.sidebar .widget li.item .item-img img {
  width:100% !important; height:100% !important; object-fit:cover !important;
  border-radius:0 !important; transition:transform .25s !important;
}
.sidebar .widget li.item:hover .item-img img { transform:scale(1.06) !important; }

/* 文字列：flex 纵向居中 */
.sidebar .widget li.item .item-content {
  flex:1 1 0% !important; min-width:0 !important;
  display:flex !important; flex-direction:column !important; justify-content:center !important;
  margin:0 !important; padding:0 !important;
}

/* 标题：统一两行高度，行行对齐 */
.sidebar .widget li.item .item-title {
  margin:0 !important; padding:0 !important;
  height:auto !important; max-height:none !important;
  min-height:42px !important;
}
.sidebar .widget li.item .item-title a {
  font-size:14px !important; font-weight:600 !important; color:#253850 !important;
  line-height:1.5 !important;
  display:block !important; display:-webkit-box !important;
  -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important;
  overflow:hidden !important; transition:color .15s !important;
}
.sidebar .widget li.item:hover .item-title a { color:#2f7bff !important; }

/* 日期：明确间距 + 加深加大 */
.sidebar .widget li.item .item-date {
  position:static !important; flex:0 0 auto !important;
  margin:8px 0 0 !important; padding:0 !important;
  font-size:12px !important; line-height:1.2 !important; color:#8594a6 !important;
}

/* ---- 选项卡：加边框的分段控件，存在感加强 ---- */
.sidebar .post-tabs-hd { margin:0 0 12px !important; padding:0 !important; border:none !important; background:none !important; }
.sidebar .post-tabs-hd-inner {
  display:flex !important;
  background:#eef2f7 !important;
  border:1px solid #e3e9f1 !important;
  border-radius:9px !important; padding:3px !important; gap:0 !important;
}
.sidebar .post-tabs-item {
  flex:1 1 0% !important; text-align:center !important;
  padding:6px 0 !important; margin:0 !important;
  font-size:13px !important; font-weight:600 !important; color:#6d7d92 !important;
  line-height:1.5 !important; background:none !important;
  border:none !important; border-radius:7px !important; box-shadow:none !important;
  cursor:pointer !important; transition:all .18s !important;
}
.sidebar .post-tabs-item.active {
  color:#16273e !important; font-weight:700 !important;
  background:#fff !important;
  box-shadow:0 2px 6px rgba(20,40,80,.15) !important;
}

/* ---- 标签墙：等宽双列 ---- */
.sidebar .widget .tagcloud {
  display:grid !important;
  grid-template-columns:repeat(2, 1fr) !important;
  gap:8px !important;
  padding:8px 0 10px !important;
}
.sidebar .widget .tagcloud a {
  display:block !important;
  width:auto !important; max-width:100% !important;
  padding:5px 4px !important; margin:0 !important;
  font-size:11.5px !important; color:#3d5270 !important; line-height:1.6 !important;
  background:#f4f7fb !important;
  border:none !important; border-radius:6px !important;
  white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
  text-align:center !important;
  transition:all .15s !important;
}
.sidebar .widget .tagcloud a:hover { color:#fff !important; background:#2f7bff !important; }

/* ════════ 侧栏 v6：测评站专属模块（sbx-，配套 sidebar.php） ════════ */

/* 卡片底座 */
.sbx-card {
  background:#fff; border:1px solid #e6ecf4; border-radius:14px;
  margin:0 0 20px; overflow:hidden;
}

/* 卡片头 */
.sbx-hd {
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 18px 11px; border-bottom:1px solid #eef2f8;
}
.sbx-hd h3 {
  margin:0; font-size:16px; font-weight:800; color:#16273e;
  line-height:1.4; display:flex; align-items:center; gap:8px;
}
.sbx-hd h3::before {
  content:''; width:6px; height:15px; border-radius:3px;
  background:linear-gradient(180deg,#2f7bff,#00c6ff); display:inline-block;
}
.sbx-more { font-size:12px; color:#8ba0bd; transition:color .15s; }
.sbx-more:hover { color:#2f7bff; }

.sbx-bd { padding:2px 18px 8px; }

/* ---- 最新测评行 ---- */
.sbx-post {
  display:flex; align-items:center; gap:12px;
  padding:10px 0 9px; border-bottom:1px solid #f0f4f9;
  text-decoration:none !important;
}
.sbx-post:last-child { border-bottom:none; }
.sbx-thumb {
  flex:0 0 96px; width:96px; height:64px; border-radius:9px; overflow:hidden;
  background:#f1f5fa; display:block;
}
.sbx-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s; }
.sbx-post:hover .sbx-thumb img { transform:scale(1.06); }
.sbx-pinfo { flex:1 1 0%; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.sbx-ptitle {
  font-size:14px; font-weight:400; color:#253850; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:42px; transition:color .15s;
}
.sbx-post:hover .sbx-ptitle { color:#2f7bff; }
.sbx-pdate { font-size:12px; color:#93a3b8; line-height:1.2; margin-top:6px; }

/* ---- 标签 ---- */
.sbx-tags { display:flex; flex-wrap:wrap; gap:8px; padding:12px 18px 14px; }
.sbx-tags a {
  font-size:12px; color:#3d5270; line-height:1.6;
  padding:4px 12px; background:#f4f7fb; border-radius:999px;
  transition:all .15s;
}
.sbx-tags a:hover { color:#fff; background:linear-gradient(135deg,#2f7bff,#00c6ff); }

/* ════════ 侧栏：分类选项卡 + 热门标签（重建） ════════ */

/* 无缩略图行 */
.sbx-post.nothumb .sbx-ptitle { min-height:0; }

/* ---- 分类选项卡：分段控件 ---- */
.sbx-tabs-hd {
  display:flex; gap:0; margin:12px 12px 2px; padding:3px;
  background:#eef2f7; border:1px solid #e3e9f1; border-radius:9px;
}
.sbx-tab {
  flex:1 1 0%; text-align:center; padding:6px 0;
  font-size:13px; font-weight:600; color:#6d7d92; line-height:1.5;
  border-radius:7px; cursor:pointer; transition:all .18s; user-select:none;
}
.sbx-tab.on {
  color:#16273e; font-weight:700; background:#fff;
  box-shadow:0 2px 6px rgba(20,40,80,.15);
}
.sbx-tablist { display:none; }
.sbx-tablist.on { display:block; }

/* 选项卡行：小缩略图 + 两行标题 + 日期 */
.sbx-trow {
  display:flex; align-items:center; gap:10px;
  padding:9px 0; border-bottom:1px solid #f0f4f9;
  text-decoration:none !important;
}
.sbx-trow:last-child { border-bottom:none; }
.sbx-tthumb {
  flex:0 0 64px; width:64px; height:44px; border-radius:7px; overflow:hidden;
  background:#f1f5fa; display:block;
}
.sbx-tthumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s; }
.sbx-trow:hover .sbx-tthumb img { transform:scale(1.06); }
.sbx-ttitle {
  font-size:13.5px; font-weight:400; color:#253850; line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; transition:color .15s;
}
.sbx-trow:hover .sbx-ttitle { color:#2f7bff; }
.sbx-trow .sbx-pdate { margin-top:4px; }
.sbx-trow.nothumb .sbx-ttitle { min-height:0; }


/* ════════ 商家入驻页 v2（vj-） ════════ */

.vj-hero {
  background:linear-gradient(180deg,#f3f7fd 0%,#eef4fb 55%,#fff 100%);
  border-bottom:1px solid #e6edf6; padding:26px 0 30px;
}
.vj-hero-in { max-width:1200px; margin:0 auto; padding:0 20px; }
.vj-crumb { display:flex; align-items:center; gap:8px; font-size:12px; color:#8ba0bd; margin-bottom:18px; }
.vj-crumb a { color:#64788f; text-decoration:none; }
.vj-crumb a:hover { color:#2f7bff; }
.vj-crumb i { font-style:normal; color:#c3cfdd; }
.vj-crumb span { color:#16273e; font-weight:600; }
.vj-mode { display:inline-flex; background:#fff; border:1px solid #dfe7f2; border-radius:10px; padding:3px; margin-bottom:16px; box-shadow:0 2px 8px rgba(16,42,90,.06); }
.vj-mode a { padding:7px 22px; border-radius:8px; font-size:13.5px; font-weight:700; color:#71829a; text-decoration:none !important; transition:all .18s; }
.vj-mode a.on { color:#fff; background:linear-gradient(135deg,#2f7bff,#00a8e8); box-shadow:0 3px 8px rgba(47,123,255,.28); }
.vj-hero h1 { margin:0 0 10px; font-size:30px; font-weight:800; color:#101d33; letter-spacing:.5px; }
.vj-lead { margin:0 0 22px; max-width:640px; font-size:14.5px; line-height:1.9; color:#4c6076; }
.vj-stats { display:flex; flex-wrap:wrap; gap:12px; list-style:none; margin:0; padding:0; }
.vj-stats li {
  display:flex; flex-direction:column; gap:2px; min-width:112px;
  background:#fff; border:1px solid #e2eaf5; border-radius:12px; padding:12px 18px;
  box-shadow:0 3px 10px rgba(16,42,90,.05);
}
.vj-stats strong { font-size:21px; font-weight:800; color:#16273e; }
.vj-stats strong i { font-style:normal; font-size:12px; color:#8ba0bd; margin-left:2px; }
.vj-stats span { font-size:12px; color:#8ba0bd; }

.vj-formcard {
  background:#fff; border:1px solid #e6ecf4; border-radius:14px;
  padding:22px 24px; margin-bottom:24px; box-shadow:0 6px 18px rgba(16,42,90,.05);
}
.vj-fc-hd { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.vj-fc-hd h2 { margin:0; font-size:18px; font-weight:800; color:#16273e; display:flex; align-items:center; gap:9px; }
.vj-fc-hd h2::before { content:''; width:5px; height:17px; border-radius:3px; background:linear-gradient(180deg,#2f7bff,#00c6ff); }
.vj-fc-hd > span { font-size:12px; color:#8ba0bd; }
.vj-fc-hd b { color:#ff5a5a; }
.vj-grid { display:grid; grid-template-columns:1fr; gap:14px; }
.vj-field { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:#33475f; }
.vj-field b { color:#ff5a5a; }
.vj-field.full { grid-column:1 / -1; }
.vj-field input, .vj-field textarea {
  font-size:14px; color:#22364e; background:#f8fafd;
  border:1px solid #dfe7f2; border-radius:9px; padding:10px 13px;
  outline:none; transition:border .15s, background .15s, box-shadow .15s;
  font-family:inherit;
}
.vj-field textarea { resize:vertical; }
.vj-field input:focus, .vj-field textarea:focus {
  border-color:#2f7bff; background:#fff; box-shadow:0 0 0 3px rgba(47,123,255,.12);
}
.vj-field input::placeholder, .vj-field textarea::placeholder { color:#b3c0d0; }
.vj-fc-ft { display:flex; align-items:center; gap:14px; margin-top:18px; flex-wrap:wrap; }
.vj-submit {
  height:44px; padding:0 34px !important; border-radius:10px !important;
  font-size:14.5px !important; letter-spacing:2px;
  box-shadow:0 5px 14px rgba(47,123,255,.30) !important;
}

.vj-sec { margin-bottom:26px; }
.vj-sec-hd { display:flex; align-items:baseline; gap:10px; margin-bottom:14px; }
.vj-sec-hd h2 { margin:0; font-size:18px; font-weight:800; color:#16273e; display:flex; align-items:center; gap:9px; }
.vj-sec-hd h2::before { content:''; width:5px; height:17px; border-radius:3px; background:linear-gradient(180deg,#2f7bff,#00c6ff); }
.vj-sec-hd span { font-size:12px; color:#8ba0bd; }

.vj-steps { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0; padding:0; }
.vj-steps li {
  position:relative; background:#fff; border:1px solid #e6ecf4; border-radius:12px;
  padding:16px 18px 14px; display:flex; flex-direction:column; gap:6px;
}
.vj-steps li:not(:last-child)::after {
  content:'›'; position:absolute; right:-11px; top:50%; transform:translateY(-50%);
  font-size:20px; color:#c3d3e8; z-index:1;
}
.vj-steps i {
  font-style:normal; width:34px; height:34px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:800; color:#fff;
  background:linear-gradient(135deg,#2f7bff,#00c6ff);
  box-shadow:0 3px 8px rgba(47,123,255,.25);
}
.vj-steps strong { font-size:14.5px; font-weight:800; color:#22364e; }
.vj-steps p { margin:0; font-size:12.5px; line-height:1.75; color:#71829a; }

.vj-benefits { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.vj-bf {
  background:#fff; border:1px solid #e6ecf4; border-radius:12px;
  padding:18px; display:flex; flex-direction:column; gap:8px;
  transition:transform .18s, box-shadow .18s;
}
.vj-bf:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(16,42,90,.08); }
.vj-bf i {
  width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,rgba(47,123,255,.12),rgba(0,198,255,.12)); color:#2f7bff;
}
.vj-bf i svg { width:20px; height:20px; }
.vj-bf strong { font-size:15px; font-weight:800; color:#22364e; }
.vj-bf p { margin:0; font-size:13px; line-height:1.8; color:#71829a; }

@media (max-width: 767px) {
  .vj-hero { padding:18px 0 22px; }
  .vj-hero h1 { font-size:24px; }
  .vj-lead { font-size:13.5px; }
  .vj-stats { gap:8px; }
  .vj-stats li { flex:1 1 40%; min-width:0; padding:10px 12px; }
  .vj-stats strong { font-size:17px; }
  .vj-grid { grid-template-columns:1fr; }
  .vj-steps { grid-template-columns:1fr; }
  .vj-steps li:not(:last-child)::after { right:50%; top:auto; bottom:-16px; transform:translateX(50%) rotate(90deg); }
  .vj-benefits { grid-template-columns:1fr; }
  .vj-formcard { padding:16px; }
}

/* 标签 widget 嵌入卡片时去掉双重内边距 */
.sbx-card .widget_tags { padding:0 !important; margin:0 !important; background:none !important; }
.sbx-card .widget_tags .tagcloud { padding:6px 18px 14px !important; }

/* ════════ 全站底部 v4（ft3-，照 hzjcp 结构） ════════ */
.ft3 { position:relative; overflow:hidden; margin-top:56px; padding:0; color:#d8dfeb; background:#050a12; font-size:14px; }
.ft3 a { text-decoration:none; }

/* CTA 横幅：亮蓝 + 网格纹理，居中 */
.ft3-cta { position:relative; overflow:hidden; background:#1d5df0; color:#eff6ff; }
.ft3-cta::before {
  content:''; position:absolute; inset:0; opacity:.3; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size:26px 26px;
}
.ft3-cta-inner {
  position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:52px 20px;
}
.ft3-cta h2 { margin:0; color:#fff; font-size:clamp(26px, 3vw, 38px); font-weight:800; line-height:1.25; letter-spacing:.5px; }
.ft3-cta p { max-width:680px; margin:14px 0 0; color:rgba(239,246,255,.85); font-size:14.5px; line-height:1.8; }
.ft3-cta-actions { display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; justify-content:center; }
.ft3-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:42px; padding:0 20px; border-radius:8px;
  font-size:14px; font-weight:700; line-height:1.4; transition:all .18s;
}
.ft3-btn-primary { color:#1d5df0 !important; background:#fff; box-shadow:0 10px 24px rgba(2,38,112,.25); }
.ft3-btn-primary:hover { background:#eff6ff; }
.ft3-btn-outline { color:#fff !important; background:rgba(8,76,200,.18); border:1px solid rgba(255,255,255,.6); }
.ft3-btn-outline:hover { color:#1d5df0 !important; background:#fff; }

/* 服务保障条 */
.ft3-assurance { background:#070d17; border-bottom:1px solid rgba(148,163,184,.14); }
.ft3-strip { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); align-items:center; }
.ft3-item {
  display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:center;
  min-height:94px; padding:18px 24px; color:inherit;
}
.ft3-item:hover { background:rgba(37,99,235,.13); }
.ft3-item i {
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  color:#71a5ff; background:rgba(113,165,255,.12); font-style:normal;
}
.ft3-item i svg { width:19px; height:19px; }
.ft3-item strong { display:block; color:#f4f8ff; font-size:15px; font-weight:800; line-height:1.3; }
.ft3-item em { display:block; overflow:hidden; color:#8292aa; font-size:12px; font-style:normal; line-height:1.45; white-space:nowrap; text-overflow:ellipsis; }

/* 链接区：品牌栏 + 五列 + 合作面板 */
.ft3-links { background:#050a12; }
.ft3-main {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;
  gap:34px 28px; padding:40px 20px 34px;
}
.ft3-brand-row { display:inline-flex; align-items:center; gap:14px; color:inherit; }
.ft3-brand-mark {
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:12px; flex-shrink:0;
  color:#fff; font-size:20px; font-weight:800;
  background:linear-gradient(135deg,#2f7bff,#00c6ff);
}
.ft3-brand-text strong { display:block; color:#f4f8ff; font-size:17px; font-weight:800; line-height:1.35; }
.ft3-brand-text em { display:block; color:#8292aa; font-size:12px; font-style:normal; line-height:1.5; }
.ft3-company > p { margin:16px 0 0; color:#9caec9; font-size:12.5px; line-height:1.9; max-width:300px; }
.ft3-caps { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.ft3-caps span { color:#9caec9; font-size:12px; }

.ft3-col { min-width:0; }
.ft3-col h3 { margin:0 0 14px; color:#fff; font-size:15px; font-weight:800; letter-spacing:1px; }
.ft3-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.ft3-col li { margin:0; }
.ft3-col li a { position:relative; display:block; color:#99a6b8; font-size:14px; line-height:1.45; padding-left:14px; }
.ft3-col li a::before { content:''; position:absolute; left:0; top:calc(50% - 2.5px); width:5px; height:5px; border-radius:50%; background:rgba(113,165,255,.55); }
.ft3-col li a:hover { color:#fff; }

.ft3-panel {
  grid-column:1 / -1;
  display:grid; grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center; gap:18px 28px;
  padding:22px 28px;
  background:linear-gradient(160deg,#0c1930 0%,#0f2344 100%);
  border:1px solid rgba(92,150,255,.26); border-radius:12px;
  box-shadow:0 12px 32px rgba(2,10,30,.5), inset 0 1px 0 rgba(255,255,255,.05);
  position:relative; overflow:hidden;
}
.ft3-panel::after {
  content:''; position:absolute; top:0; left:18px; right:18px; height:1px;
  background:linear-gradient(90deg,transparent,rgba(127,178,255,.45),transparent);
}
.ft3-panel-hd { display:flex; align-items:center; gap:14px; }
.ft3-panel-hd i {
  flex:0 0 44px; width:44px; height:44px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  color:#7fb2ff; background:rgba(113,165,255,.13);
}
.ft3-panel-hd svg { width:20px; height:20px; }
.ft3-panel-tt strong { display:block; color:#f4f8ff; font-size:15px; font-weight:800; line-height:1.35; white-space:nowrap; }
.ft3-panel-tt span { display:flex; align-items:center; gap:6px; margin-top:4px; color:#8292aa; font-size:12px; white-space:nowrap; }
.ft3-panel-tt em { width:5px; height:5px; border-radius:50%; background:#3ddc97; flex:0 0 auto; }
.ft3-panel > p { margin:0; color:#8292aa; font-size:12.5px; line-height:1.85; max-width:400px; }
.ft3-mail {
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 16px;
  background:rgba(127,178,255,.08); border:1px solid rgba(127,178,255,.18);
  border-radius:9px; color:#cfe0ff !important;
  font-size:13px; font-weight:600; letter-spacing:.3px; white-space:nowrap;
  transition:all .18s;
}
.ft3-mail svg { width:15px; height:15px; color:#7fb2ff; }
.ft3-mail:hover { background:rgba(127,178,255,.14); border-color:rgba(127,178,255,.35); color:#fff !important; }
.ft3-panel-btn {
  display:inline-flex; align-items:center; justify-content:center;
  height:42px; padding:0 28px; border-radius:9px;
  color:#fff !important; font-size:13.5px; font-weight:700; letter-spacing:1.5px; white-space:nowrap;
  background:linear-gradient(135deg,#2f7bff,#00a8e8);
  box-shadow:0 6px 16px rgba(47,123,255,.32); transition:all .18s;
}
.ft3-panel-btn:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(47,123,255,.45); color:#fff !important; }

/* 版权栏 */
.ft3-bottom { background:#040910; border-top:1px solid rgba(148,163,184,.1); }
.ft3-bottom-in { padding:16px 20px; }
.ft3-copyright { font-size:12px; color:#66788f; line-height:1.9; text-align:center; }
.ft3-copyright p { margin:0; }
.ft3-copyright a { color:#8fa0b8; }
.ft3-copyright a:hover { color:#fff; }

@media (max-width: 1199px) {
  .ft3-main { grid-template-columns:repeat(2, 1fr); gap:26px 20px; }
  .ft3-company { grid-column:1 / -1; }
  .ft3-company > p { max-width:none; }
  .ft3-panel { grid-template-columns:auto minmax(0,1fr); }
  .ft3-mail { justify-self:start; }
  .ft3-panel-btn { grid-column:1 / -1; }
}
@media (max-width: 767px) {
  /* 移动端：统一所有段落左右 16px 内边距，整条底部边缘对齐 */
  .ft3 .container { padding-left:16px; padding-right:16px; }
  .ft3-cta-inner { padding:32px 0 34px; }
  .ft3-main { padding:26px 0; }
  .ft3-panel { padding:18px 16px; }
  .ft3-bottom-in { padding:15px 16px; }
  .ft3 { margin-top:32px; }
  .ft3-cta h2 { font-size:26px; line-height:1.25; }
  .ft3-cta p { display:block; font-size:13.5px; line-height:1.72; margin-top:12px; }
  .ft3-cta-actions { gap:10px; margin-top:20px; }
  .ft3-btn { min-height:40px; padding:0 14px; font-size:13px; }

  .ft3-strip { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ft3-item { grid-template-columns:34px minmax(0,1fr); gap:8px; min-height:76px; padding:12px 10px; border-bottom:1px solid rgba(148,163,184,.14); border-right:0; }
  .ft3-item:nth-child(odd) { border-right:1px solid rgba(148,163,184,.14); }
  .ft3-item:nth-child(n+3) { border-bottom:0; }
  .ft3-item i { width:34px; height:34px; }
  .ft3-item i svg { width:16px; height:16px; }
  .ft3-item strong, .ft3-item em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

  .ft3-main { grid-template-columns:repeat(2, minmax(0,1fr)); gap:26px 18px; }
  /* 移动端：品牌栏与其余三栏全部隐藏，只留服务支持 */
  .ft3-company { display:none; }
  .ft3-main > div:nth-child(2), .ft3-main > div:nth-child(3), .ft3-main > div:nth-child(4) { display:none; }
  /* 服务支持：居中标题 + 双列胶囊网格 */
  .ft3-main > div:nth-child(5) { grid-column:1 / -1; text-align:center; }
  .ft3-main > div:nth-child(5) h3 { text-align:center; font-size:14px; margin-bottom:16px; }
  .ft3-main > div:nth-child(5) ul { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; }
  .ft3-main > div:nth-child(5) li { margin:0; }
  .ft3-main > div:nth-child(5) li a {
    display:flex; align-items:center; justify-content:center;
    padding:12px 6px; background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08); border-radius:9px;
    font-size:13px; color:#c6d2e4; padding-left:6px;
  }
  .ft3-main > div:nth-child(5) li a::before { display:none; }
  .ft3-main > div:nth-child(5) li a:hover { background:rgba(127,178,255,.14); color:#fff; }
  .ft3-company { grid-column:1 / -1; text-align:center; }
  .ft3-brand-row { justify-content:center; width:100%; }
  .ft3-brand-mark { width:42px; height:42px; border-radius:10px; font-size:14px; }
  .ft3-brand-text strong { font-size:20px; }
  .ft3-company > p { display:block; max-width:420px; margin:14px auto 0; font-size:13.5px; }
  .ft3-caps { display:flex; justify-content:center; gap:8px; margin-top:16px; }
  .ft3-caps span { padding:8px 12px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.08); border-radius:8px; font-size:11px; color:#d7e0ef; }

  .ft3-panel { grid-column:1 / -1; grid-template-columns:1fr 1fr; gap:12px; }
  .ft3-panel-hd { grid-column:1 / -1; }
  .ft3-panel-tt strong { font-size:17px; }
  .ft3-panel > p { grid-column:1 / -1; display:block; max-width:none; }
  .ft3-mail { grid-column:1 / 2; min-height:40px; height:auto; }
  .ft3-panel-btn { grid-column:2 / 3; min-height:40px; height:auto; }

  .ft3-copyright { text-align:center; }
}

/* ══ 商家库榜单行缩小 ══ */
.jv12-row{ padding:12px 18px !important; gap:14px !important; border-radius:10px !important; }
.jv12-rankhex{ width:34px !important; height:38px !important; font-size:15px !important; }
.jv12-rowlogo{ width:46px !important; height:46px !important; font-size:18px !important; border-radius:8px !important; }
.jv12-rowlogo img{ padding:5px !important; }
.jv12-rowbody strong{ font-size:15px !important; }
.jv12-rowbody p{ font-size:11.5px !important; margin-top:3px !important; }
.jv12-rowscore{ font-size:18px !important; }
.jv12-rowscore i{ font-size:10px !important; }
.jv12-btn{ padding:5px 16px !important; font-size:12px !important; }
.jv12-rows{ margin-bottom:26px !important; }
