/* ==================================================================
   集梦影视 · 内容商店首页样式（v9 设计 1:1）
   文件：template/jimeng/jm_store.css
   加载：header.htm 的 <link>（在 Discuz 自身 CSS 之后 → 优先级更高）
   ------------------------------------------------------------------
   本文件【不经过】Discuz / jm_fix_css.php 的 CSS 缓存管线。
   改完上传即可生效（浏览器 Ctrl+F5），无需清任何缓存。
   ================================================================== */

/* ==================================================================
   集梦影视 · 内容商店首页样式（v9 设计 1:1 还原）
   文件：template/jimeng/common/extend_module.css
   作用域：forum::index （仅首页生效）
   ================================================================== */

/* ==================================================================
   1. 顶栏（logo + 搜索 + 快捷入口）
   ================================================================== */
.jm-top{display:flex;align-items:center;gap:16px;padding:14px 20px;margin-top:14px;
  border:1px solid #24314f;border-radius:16px;
  background:linear-gradient(135deg,#0e1830,#101a31)}
.jm-top .jm-logo{flex:0 0 auto;display:flex;align-items:center;gap:10px;line-height:0}
.jm-top .jm-logo img{display:block;height:52px;width:auto;max-width:220px}
.jm-top-s{flex:1;min-width:240px}
.jm-top-s form{display:flex;gap:9px;margin:0}
.jm-search-input{flex:1;padding:10px 18px;border:1px solid #2b3a5e;border-radius:999px;
  background:#0e1830;color:#edf3ff;font-size:13.5px;outline:none;height:auto;line-height:1.5}
.jm-search-input:focus{border-color:#34e0ff}
.jm-search-input::placeholder{color:#6b7899}
.jm-search-btn{padding:10px 24px;border:0;border-radius:999px;font-weight:800;font-size:13.5px;
  background:linear-gradient(135deg,#3f8cff,#34e0ff);color:#06121f;cursor:pointer;white-space:nowrap}
.jm-search-btn:hover{filter:brightness(1.1)}
.jm-top-r{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.jm-top-a{display:inline-block;padding:8px 16px;border:1px solid #24314f;border-radius:999px;
  color:#b9c4dc;font-size:12.5px;transition:.2s;line-height:1.4}
.jm-top-a:hover{border-color:#34e0ff;color:#34e0ff;text-decoration:none}
.jm-top-a.hi{border-color:#ffc857;color:#ffc857;background:rgba(255,200,87,.1);font-weight:800}
.jm-top-a.hi:hover{background:rgba(255,200,87,.18)}
/* ★ 访问统计入口（仅管理员可见）*/
.jm-top-a.adm{background:linear-gradient(135deg,#2b5cff,#00c2ff);border-color:transparent;color:#fff!important;font-weight:800;box-shadow:0 2px 10px rgba(43,92,255,.35)}
.jm-top-a.adm:hover{filter:brightness(1.12);color:#fff!important;border-color:transparent}
.jm-lang{display:inline-block;padding:8px 15px;border:1px solid #24314f;border-radius:999px;
  color:#b9c4dc;font-size:12.5px;cursor:pointer;transition:.2s;line-height:1.4}
.jm-lang:hover{border-color:#34e0ff;color:#34e0ff;text-decoration:none}
.jm-lang.on{border-color:#ffc857;color:#ffc857;background:rgba(255,200,87,.1)}

/* ==================================================================
   2. 分类导航
   ================================================================== */
.jm-nav{display:flex;align-items:center;gap:7px;padding:11px 18px;margin-top:10px;
  border:1px solid #24314f;border-radius:14px;background:#101a31;flex-wrap:wrap}
.jm-nav a{padding:6px 15px;border-radius:999px;color:#b9c4dc;font-size:13px;transition:.2s;
  text-decoration:none}
.jm-nav a:hover{background:rgba(63,140,255,.14);color:#34e0ff;text-decoration:none}
.jm-nav a.on{background:rgba(63,140,255,.2);color:#34e0ff;font-weight:800}
.jm-nav .sp{margin-left:auto;display:flex;gap:9px}
.jm-nav .sp a{border:1px solid #24314f}

/* ==================================================================
   3. 公告 + 联系方式条
   ================================================================== */
.jm-notice{display:flex;align-items:center;gap:16px;margin-top:10px;padding:11px 18px;
  border:1px solid #24314f;border-radius:10px;
  background:linear-gradient(90deg,rgba(63,140,255,.07),rgba(16,26,49,.5));
  flex-wrap:wrap;font-size:12.5px}
.jm-notice .nb-left{display:flex;align-items:center;gap:9px;flex-wrap:wrap;flex:1;min-width:260px}
.jm-notice .nb-right{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.jm-notice .nb-tag{padding:2px 10px;border-radius:6px;background:rgba(63,140,255,.18);
  color:#34e0ff;font-size:11.5px;font-weight:800;white-space:nowrap}
.jm-notice .nb-tag2{padding:2px 10px;border-radius:6px;background:rgba(255,128,200,.16);
  color:#ff80c8;font-size:11.5px;font-weight:800;white-space:nowrap}
.jm-notice .nb-link{color:#b9c4dc}
.jm-notice .nb-link a{color:#b9c4dc}
.jm-notice .nb-link a:hover{color:#34e0ff;text-decoration:none}
.jm-notice .nb-right a{color:#8b98b8;transition:.18s;white-space:nowrap}
.jm-notice .nb-right a:hover{color:#ff80c8;text-decoration:none}

/* ==================================================================
   4. 实时购买播报
   ================================================================== */
.jm-live{display:flex;align-items:center;gap:11px;margin-top:10px;padding:10px 18px;
  border:1px solid rgba(74,222,128,.32);border-radius:10px;
  background:linear-gradient(90deg,rgba(74,222,128,.09),rgba(16,26,49,.5));overflow:hidden}
.jm-live .live-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;flex:0 0 8px;
  animation:jmLivePulse 1.8s infinite}
@keyframes jmLivePulse{
  0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}
  70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}
  100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}
}
.jm-live .live-tag{padding:2px 9px;border-radius:6px;background:rgba(74,222,128,.18);
  color:#4ade80;font-size:11px;font-weight:900;flex:0 0 auto}
.jm-live .live-track{flex:1;overflow:hidden;height:22px;position:relative}
.jm-live .live-inner{display:flex;gap:38px;white-space:nowrap;
  animation:jmLiveScroll 36s linear infinite;position:absolute;left:0}
.jm-live .live-inner .li{color:#b9c4dc;font-size:12.5px}
.jm-live .live-inner .li b{color:#34e0ff;font-weight:700}
@keyframes jmLiveScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.jm-live .live-cnt{color:#6b7899;font-size:12px;flex:0 0 auto}
.jm-live .live-cnt b{color:#ffc857;font-weight:900}

/* ==================================================================
   5. 用户身份条
   ================================================================== */
.jm-userbar{display:flex;align-items:center;gap:14px;margin-top:10px;padding:13px 18px;
  border:1px solid rgba(167,139,250,.35);border-radius:14px;
  background:linear-gradient(135deg,rgba(167,139,250,.12),rgba(16,26,49,.6));flex-wrap:wrap}
.jm-userbar .ub-avt img{width:38px;height:38px;border-radius:50%;display:block;
  border:1px solid rgba(167,139,250,.4)}
.jm-userbar .ub-bd{flex:1;min-width:0}
.jm-userbar .ub-bd b{font-size:14px;font-weight:900;color:#a78bfa}
.jm-userbar .ub-bd i{display:block;margin-top:2px;color:#8b98b8;font-size:12px;font-style:normal}
.jm-userbar .ub-lv{padding:4px 12px;border-radius:8px;font-size:12px;font-weight:900;
  background:linear-gradient(135deg,rgba(167,139,250,.3),rgba(167,139,250,.15));
  color:#a78bfa;border:1px solid rgba(167,139,250,.5)}
.jm-userbar .ub-acts{display:flex;gap:8px}
.jm-userbar .ub-acts a{padding:7px 16px;border:1px solid #24314f;border-radius:999px;
  color:#b9c4dc;font-size:12.5px;text-decoration:none}
.jm-userbar .ub-acts a:hover{border-color:#34e0ff;color:#34e0ff;text-decoration:none}
.jm-userbar .ub-acts a.hi{border-color:#a78bfa;color:#a78bfa;background:rgba(167,139,250,.1)}

/* ==================================================================
   6. 双轮播错位布局
   ================================================================== */
.jm-hero{display:grid;grid-template-columns:minmax(0,1fr) 356px;gap:16px;margin-top:16px}
.jm-hero-l,.jm-hero-r{display:flex;flex-direction:column;gap:16px}

/* 影视轮播（横版） */
.jm-sl-movie{position:relative;border:1px solid #24314f;border-radius:14px;
  overflow:hidden;height:372px;
  background:
    radial-gradient(110% 90% at 76% 74%, rgba(150,110,190,.42) 0%, rgba(150,110,190,0) 62%),
    radial-gradient(90% 76% at 20% 16%, rgba(56,88,170,.38) 0%, rgba(56,88,170,0) 60%),
    linear-gradient(158deg,#16233f 0%,#101a30 46%,#1a1338 100%)}
.jm-sl-movie .jm-sl-tag{position:absolute;left:20px;top:18px;z-index:6;padding:5px 14px;
  border-radius:9px;font-size:12.5px;font-weight:900;
  background:linear-gradient(135deg,rgba(80,130,255,.95),rgba(52,180,255,.9));color:#06121f}

/* 写真轮播（竖版） */
.jm-sl-photo{position:relative;border:1px solid #24314f;border-radius:14px;
  overflow:hidden;height:100%;min-height:600px;flex:1;
  background:linear-gradient(168deg,#2a1a38 0%,#141c33 52%,#1d1330 100%)}
.jm-sl-photo::before{content:"";position:absolute;inset:0;
  background:radial-gradient(70% 50% at 50% 38%,rgba(255,128,200,.22),transparent 72%)}
.jm-sl-photo .jm-sl-tag{position:absolute;left:16px;top:16px;z-index:6;padding:5px 13px;
  border-radius:9px;font-size:12px;font-weight:900;
  background:linear-gradient(135deg,rgba(255,128,200,.95),rgba(255,160,220,.9));color:#2b0a1e}

/* 轮播轨道与幻灯片
   注意：旧样式有 .jm-slider-track{position:relative;height:250px}
   必须显式覆盖 height，否则轨道只有 250px，卡片底部会留白 */
.jm-sl-movie .jm-slider-track,.jm-sl-photo .jm-slider-track{
  position:absolute;inset:0;height:auto;min-height:0}
.jm-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;
  transition:opacity .6s;text-decoration:none;pointer-events:none;background:none}
.jm-slide.on{opacity:1;visibility:visible;pointer-events:auto}
.jm-slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jm-slide-icn{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);
  font-size:120px;opacity:.2;line-height:1;filter:brightness(1.5) blur(.7px)}
.jm-sl-movie .jm-slide-icn{left:62%;top:34%;font-size:128px}
.jm-slide-txt{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:76px 26px 44px;
  background:linear-gradient(to top,rgba(5,9,20,.97) 0%,rgba(5,9,20,.78) 48%,rgba(5,9,20,0) 100%)}
.jm-sl-photo .jm-slide-txt{padding:74px 20px 40px}
.jm-slide-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.jm-tagx{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11px;font-weight:700;
  background:rgba(63,140,255,.2);color:#8fc4ff;border:1px solid rgba(63,140,255,.32)}
.jm-tagx.price{background:rgba(255,200,87,.18);color:#ffc857;border-color:rgba(255,200,87,.4)}
.jm-tagx.price-pink{background:rgba(255,128,200,.18);color:#ff80c8;border-color:rgba(255,128,200,.4)}
.jm-slide-txt h3{margin:0;color:#fff;font-size:20px;font-weight:900;line-height:1.5;
  text-shadow:0 2px 14px rgba(0,0,0,.85);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jm-sl-photo .jm-slide-txt h3{font-size:15px;line-height:1.55}
.jm-slide-meta{display:block;margin-top:10px;color:#b9c4dc;font-size:13px}
.jm-sl-photo .jm-slide-meta{font-size:12px;margin-top:8px}
.jm-slide-meta .jm-buy{color:#4ade80;font-weight:700}
/* 影视轮播圆点：左对齐（旧样式有 right:0;justify-content:center，必须覆盖） */
.jm-slider-dots{position:absolute;left:26px;right:auto;bottom:16px;z-index:5;display:flex;
  justify-content:flex-start;gap:7px}
.jm-sl-photo .jm-slider-dots{left:0;right:0;justify-content:center;bottom:14px}
.jm-slider-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);
  transition:.3s;cursor:pointer}
.jm-sl-photo .jm-slider-dots i{width:7px;height:7px}
.jm-slider-dots i.on{width:24px;border-radius:4px;background:#fff}
.jm-sl-photo .jm-slider-dots i.on{width:20px}

/* ==================================================================
   7. 影视热销（4 列）
   ================================================================== */
.jm-hotrow{border:1px solid #24314f;border-radius:14px;background:#101a31;padding:13px 16px 15px}
.jm-hotrow-h{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.jm-hotrow-h b{font-size:14.5px;font-weight:900;color:#edf3ff}
.jm-hotrow-h b::before{content:"🔥";margin-right:6px;font-size:15px}
.jm-hotrow-h a{margin-left:auto;color:#8b98b8;font-size:12px;text-decoration:none}
.jm-hotrow-h a:hover{color:#34e0ff;text-decoration:none}
.jm-hotrow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.jm-hi{display:flex;gap:9px;padding:10px;border:1px solid #24314f;border-radius:10px;
  background:rgba(255,255,255,.03);transition:.2s;text-decoration:none}
.jm-hi:hover{border-color:rgba(255,200,87,.5);background:rgba(255,200,87,.07);text-decoration:none}
.jm-hi .n{flex:0 0 22px;width:22px;height:22px;line-height:22px;text-align:center;
  border-radius:7px;background:rgba(255,255,255,.07);color:#8b98b8;font-size:11px;font-weight:900}
.jm-hi .n.t1{background:linear-gradient(135deg,#ffd700,#ffa500);color:#2b1a00}
.jm-hi .n.t2{background:linear-gradient(135deg,#e0e0e0,#a8a8a8);color:#1a1a1a}
.jm-hi .n.t3{background:linear-gradient(135deg,#d4a574,#a8744a);color:#2b1a00}
.jm-hi .bd{flex:1;min-width:0}
.jm-hi .bd b{display:block;font-size:12px;font-weight:700;color:#edf3ff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jm-hi:hover .bd b{color:#ffc857}
.jm-hi .bd i{display:block;margin-top:2px;color:#6b7899;font-size:10.5px;font-style:normal;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ==================================================================
   8. 影视分类快捷入口
   ================================================================== */
.jm-minicats{border:1px solid #24314f;border-radius:14px;background:#101a31;
  padding:13px 16px 15px;flex:1 1 auto;display:flex;flex-direction:column}
.jm-minicats .mc-hd{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.jm-minicats .mc-hd b{font-size:14px;font-weight:900;color:#edf3ff}
.jm-minicats .mc-hd b::before{content:"🎬";margin-right:6px}
.jm-minicats .mc-hd a{margin-left:auto;color:#8b98b8;font-size:12px;text-decoration:none}
.jm-minicats .mc-hd a:hover{color:#34e0ff;text-decoration:none}
.jm-minicats .mc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1 1 auto;
  align-content:start}
.jm-minicats .mc-grid a{display:flex;align-items:center;gap:7px;padding:8px 10px;
  border:1px solid #24314f;border-radius:10px;background:rgba(255,255,255,.03);
  transition:.18s;text-decoration:none}
.jm-minicats .mc-grid a:hover{border-color:rgba(63,140,255,.5);background:rgba(63,140,255,.1);
  text-decoration:none}
.jm-minicats .mc-grid b{font-size:12.5px;font-weight:700;color:#b9c4dc;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jm-minicats .mc-grid a:hover b{color:#34e0ff}
.jm-minicats .mc-grid i{margin-left:auto;color:#6b7899;font-size:10.5px;font-style:normal}

/* ==================================================================
   9. 限时特价
   ================================================================== */
.jm-flash{margin-top:18px;border:1px solid rgba(255,90,90,.4);border-radius:14px;
  background:linear-gradient(140deg,rgba(255,90,90,.1),rgba(16,26,49,.9) 62%);overflow:hidden}
.jm-flash .flash-hd{display:flex;align-items:center;gap:12px;padding:13px 18px;
  border-bottom:1px solid rgba(255,90,90,.25);flex-wrap:wrap}
.jm-flash .flash-tag{padding:4px 13px;border-radius:8px;font-size:13px;font-weight:900;
  background:linear-gradient(135deg,#ff5a5a,#ff8c42);color:#fff}
.jm-flash .flash-sub{color:#8b98b8;font-size:12px}
.jm-flash .flash-timer{margin-left:auto;display:flex;align-items:center;gap:5px;
  color:#b9c4dc;font-size:12.5px}
.jm-flash .flash-timer b{display:inline-block;padding:3px 8px;border-radius:6px;
  background:rgba(10,16,32,.85);color:#ff8c42;font-size:14px;font-weight:900;
  font-family:Consolas,Monaco,monospace;min-width:30px;text-align:center}
.jm-flash .flash-items{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px 16px}
.jm-flash .fitem{display:flex;gap:11px;padding:11px;border:1px solid rgba(255,90,90,.22);
  border-radius:10px;background:rgba(255,255,255,.03);transition:.2s;text-decoration:none}
.jm-flash .fitem:hover{border-color:rgba(255,90,90,.55);background:rgba(255,90,90,.07);
  transform:translateY(-2px);text-decoration:none}
.jm-flash .fimg{width:56px;height:72px;flex:0 0 56px;border-radius:7px;position:relative;
  background:linear-gradient(135deg,#2a1a2a,#101a30);overflow:hidden}
.jm-flash .foff{position:absolute;left:0;top:0;padding:2px 6px;border-radius:0 0 6px 0;
  background:#ff5a5a;color:#fff;font-size:10.5px;font-weight:900}
.jm-flash .fbd{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.jm-flash .ftitle{font-size:12px;font-weight:700;color:#edf3ff;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jm-flash .fitem:hover .ftitle{color:#ff8c42}
.jm-flash .fprice{font-size:12.5px}
.jm-flash .fprice b{color:#ff8c42;font-weight:900;font-size:14px}
.jm-flash .fstock{margin-top:auto;color:#6b7899;font-size:10.5px}
.jm-flash .fstock b{color:#ff8c42;font-weight:800}

/* ==================================================================
   10. 求片广场
   ================================================================== */
.jm-req{margin-top:18px;border:1px solid rgba(52,224,255,.34);border-radius:14px;
  background:linear-gradient(140deg,rgba(52,224,255,.07),rgba(16,26,49,.9) 62%);overflow:hidden}
.jm-req .req-hd{display:flex;align-items:center;gap:12px;padding:13px 18px;
  border-bottom:1px solid rgba(52,224,255,.22);flex-wrap:wrap}
.jm-req .req-tag{padding:4px 13px;border-radius:8px;font-size:13px;font-weight:900;
  background:linear-gradient(135deg,#34e0ff,#3f8cff);color:#06121f}
.jm-req .req-sub{color:#8b98b8;font-size:12px;flex:1;min-width:180px}
.jm-req .req-btn{padding:8px 18px;border-radius:999px;font-size:12.5px;font-weight:800;
  background:linear-gradient(135deg,#34e0ff,#3f8cff);color:#06121f;white-space:nowrap;
  text-decoration:none}
.jm-req .req-btn:hover{filter:brightness(1.08);text-decoration:none}
.jm-req .req-body{display:grid;grid-template-columns:minmax(0,1fr) 200px}
.jm-req .req-list{padding:12px 14px;display:grid;gap:9px}
.jm-req .req-item{display:flex;align-items:center;gap:12px;padding:11px 13px;
  border:1px solid #24314f;border-radius:10px;background:rgba(255,255,255,.03);
  transition:.2s;text-decoration:none}
.jm-req .req-item:hover{border-color:rgba(52,224,255,.5);background:rgba(52,224,255,.07);
  text-decoration:none}
.jm-req .ri{flex:0 0 auto;padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:800;
  background:rgba(255,200,87,.16);color:#ffc857;border:1px solid rgba(255,200,87,.35)}
.jm-req .ri.solved{background:rgba(74,222,128,.15);color:#4ade80;border-color:rgba(74,222,128,.4)}
.jm-req .rb{flex:1;min-width:0}
.jm-req .rb b{display:block;font-size:13px;font-weight:700;color:#edf3ff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jm-req .req-item:hover .rb b{color:#34e0ff}
.jm-req .rb i{display:block;margin-top:3px;color:#6b7899;font-size:11px;font-style:normal}
.jm-req .rn{flex:0 0 auto;text-align:right;color:#6b7899;font-size:10.5px;line-height:1.5}
.jm-req .rn b{display:block;color:#ffc857;font-size:13px;font-weight:900}
.jm-req .req-stat{padding:16px;border-left:1px solid rgba(52,224,255,.22);
  background:rgba(10,16,32,.35);display:flex;flex-direction:column;gap:10px;justify-content:center}
.jm-req .rs-row{text-align:center}
.jm-req .rs-row b{display:block;font-size:22px;font-weight:900;color:#34e0ff}
.jm-req .rs-row.hl b{color:#4ade80}
.jm-req .rs-row span{display:block;margin-top:2px;color:#8b98b8;font-size:11.5px}
.jm-req .rs-go{margin-top:4px;padding:9px;border-radius:999px;text-align:center;
  border:1px solid rgba(52,224,255,.4);color:#34e0ff;font-size:12.5px;font-weight:800;
  background:rgba(52,224,255,.1);text-decoration:none}
.jm-req .rs-go:hover{text-decoration:none;background:rgba(52,224,255,.18)}

/* ==================================================================
   11. 区块标题
   ================================================================== */
.jm-sechd{display:flex;align-items:center;gap:10px;margin:24px 0 14px;flex-wrap:wrap}
.jm-sechd h2{margin:0;font-size:17px;font-weight:900;color:#edf3ff;
  display:flex;align-items:center;gap:8px}
.jm-sechd h2::before{content:"";width:3px;height:17px;border-radius:2px;
  background:linear-gradient(180deg,#3f8cff,#34e0ff)}
.jm-sechd .sub{color:#6b7899;font-size:12.5px}
.jm-sechd .y{margin-left:auto;color:#8b98b8;font-size:12.5px;text-decoration:none}
.jm-sechd .y:hover{color:#34e0ff;text-decoration:none}

/* ==================================================================
   12. 商品网格
   ================================================================== */
.jm-goods{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.jm-goods .gcard{border:1px solid #24314f;border-radius:10px;background:#101a31;
  overflow:hidden;transition:.2s;display:flex;flex-direction:column;position:relative;
  text-decoration:none}
.jm-goods .gcard:hover{border-color:rgba(63,140,255,.6);transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(0,0,0,.45);text-decoration:none}
.jm-goods .gimg{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;display:block;
  background:linear-gradient(135deg,#1b2a4a,#101a30)}
.jm-goods .gimg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(58% 48% at 50% 44%,rgba(120,160,255,.15),transparent 72%)}
.jm-goods .gprice{position:absolute;left:8px;top:8px;z-index:2;padding:3px 10px;border-radius:7px;
  font-size:11.5px;font-weight:900;background:rgba(255,200,87,.94);color:#2b1a00}
.jm-goods .gcorner{position:absolute;right:0;top:0;z-index:2;padding:3px 9px;
  border-radius:0 0 0 9px;font-size:10.5px;font-weight:800;
  background:rgba(10,16,32,.85);color:#34e0ff}
.jm-goods .gbd{padding:10px 11px 11px;display:flex;flex-direction:column;gap:7px;flex:1}
.jm-goods .gtitle{font-size:12.5px;font-weight:700;line-height:1.5;color:#edf3ff;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:37px}
.jm-goods .gcard:hover .gtitle{color:#34e0ff}
.jm-goods .gtags{display:flex;gap:4px;flex-wrap:wrap}
.jm-goods .gtag{padding:1px 7px;border-radius:5px;font-size:10.5px;font-weight:700;
  background:rgba(255,255,255,.06);color:#8b98b8;border:1px solid #24314f}
.jm-goods .gfoot{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:8px;
  border-top:1px dashed rgba(36,49,79,.8);color:#6b7899;font-size:11px}
.jm-goods .gfoot .shop{color:#8b98b8}
.jm-goods .gfoot .buy{margin-left:auto;color:#4ade80;font-weight:800}

/* ==================================================================
   13. 悬浮客服
   ================================================================== */
.jm-float{position:fixed;right:18px;bottom:90px;z-index:500;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.jm-float .fs-menu{display:flex;flex-direction:column;gap:7px;
  opacity:0;visibility:hidden;transform:translateX(14px);transition:.24s}
.jm-float.open .fs-menu{opacity:1;visibility:visible;transform:translateX(0)}
.jm-float .fs-item{display:flex;align-items:center;gap:10px;padding:9px 13px;
  border:1px solid #24314f;border-radius:10px;background:rgba(16,26,49,.97);
  box-shadow:0 6px 20px rgba(0,0,0,.45);transition:.2s;white-space:nowrap;
  text-decoration:none}
.jm-float .fs-item:hover{border-color:#34e0ff;background:rgba(63,140,255,.16);
  text-decoration:none}
.jm-float .fs-ic{font-size:17px;flex:0 0 auto}
.jm-float .fs-tx{color:#8b98b8;font-size:11px;line-height:1.4}
.jm-float .fs-tx b{color:#34e0ff;font-size:12px;font-weight:800}
.jm-float .fs-main{width:52px;height:52px;border-radius:50%;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:1px;
  background:linear-gradient(135deg,#3f8cff,#34e0ff);color:#06121f;
  box-shadow:0 6px 22px rgba(63,140,255,.5);transition:.2s;text-decoration:none}
.jm-float .fs-main:hover{transform:scale(1.06);text-decoration:none}
.jm-float .fs-icon{font-size:19px;line-height:1}
.jm-float .fs-label{font-size:10px;font-weight:900}
.jm-float .fs-top{width:40px;height:40px;line-height:38px;text-align:center;border-radius:50%;
  border:1px solid #24314f;background:rgba(16,26,49,.9);color:#8b98b8;font-size:15px;
  text-decoration:none}
.jm-float .fs-top:hover{border-color:#34e0ff;color:#34e0ff;text-decoration:none}

/* ==================================================================
   15. 新人引导条 + 消费数据条（v9 补全）
   ================================================================== */

/* 新人引导条：琥珀色，醒目但不刺眼 */
.jm-guide{display:flex;align-items:center;gap:14px;margin-top:14px;padding:15px 20px;
  border:1px solid rgba(255,200,87,.5);border-radius:14px;
  background:linear-gradient(115deg,rgba(255,200,87,.16) 0%,rgba(255,200,87,.04) 55%,rgba(16,26,49,.4) 100%);
  position:relative}
.jm-guide .gd-ic{font-size:26px;flex:0 0 auto;line-height:1}
.jm-guide .gd-bd{flex:1;min-width:200px}
.jm-guide .gd-bd b{display:block;font-size:15px;font-weight:900;color:#ffc857}
.jm-guide .gd-bd i{display:block;margin-top:4px;color:#b9c4dc;font-size:12.5px;font-style:normal}
.jm-guide .gd-go{padding:10px 24px;border-radius:999px;font-weight:900;font-size:13.5px;
  background:linear-gradient(135deg,#ffc857,#ffa53c);color:#2b1a00;white-space:nowrap;
  text-decoration:none}
.jm-guide .gd-go:hover{filter:brightness(1.08);text-decoration:none;color:#2b1a00}
.jm-guide .gd-close{color:#6b7899;font-size:14px;padding:0 4px;line-height:1;text-decoration:none}
.jm-guide .gd-close:hover{color:#ffc857;text-decoration:none}

/* 5 步流程 */
.jm-guide-steps{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin-top:2px;padding:11px 20px;border:1px dashed rgba(255,200,87,.28);
  border-top:0;border-radius:0 0 14px 14px;background:rgba(255,200,87,.03);
  margin-top:-14px;padding-top:16px}
.jm-guide-steps .gs{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#b9c4dc}
.jm-guide-steps .gs em{width:19px;height:19px;line-height:19px;text-align:center;
  border-radius:50%;background:rgba(255,200,87,.2);color:#ffc857;font-size:11px;
  font-style:normal;font-weight:800}
.jm-guide-steps .gs-a{color:#6b7899}

/* 消费数据条：5 格 */
.jm-statsbar{display:flex;margin-top:22px;border:1px solid #24314f;
  border-radius:14px;background:#101a31;overflow:hidden}
.jm-statsbar .sb{flex:1;padding:17px 10px;border-right:1px solid #24314f;text-align:center}
.jm-statsbar .sb:last-child{border-right:0}
.jm-statsbar .sb b{display:block;font-size:20px;font-weight:900;color:#34e0ff;
  font-family:Consolas,Monaco,monospace;line-height:1.2}
.jm-statsbar .sb b.amber{color:#ffc857}
.jm-statsbar .sb span{display:block;margin-top:3px;color:#8b98b8;font-size:12px}

@media(max-width:1080px){
  .jm-guide{flex-wrap:wrap}
  .jm-guide .gd-go{width:100%;text-align:center}
  .jm-statsbar{flex-wrap:wrap}
  .jm-statsbar .sb{flex:1 1 50%;border-bottom:1px solid #24314f}
}

/* ==================================================================
   14. 响应式
   ================================================================== */
@media(max-width:1320px){
  .jm-hero{grid-template-columns:minmax(0,1fr) 320px}
  .jm-goods{grid-template-columns:repeat(4,1fr)}
  .jm-hotrow-list{grid-template-columns:repeat(2,1fr)}
  .jm-flash .flash-items{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1080px){
  .jm-hero{grid-template-columns:1fr}
  .jm-sl-photo{min-height:440px}
  .jm-sl-movie{height:300px}
  .jm-goods{grid-template-columns:repeat(2,1fr)}
  .jm-hotrow-list{grid-template-columns:1fr}
  .jm-flash .flash-items{grid-template-columns:1fr}
  .jm-req .req-body{grid-template-columns:1fr}
  .jm-req .req-stat{flex-direction:row;border-left:0;border-top:1px solid rgba(52,224,255,.22);
    justify-content:space-around;flex-wrap:wrap}
  .jm-req .rs-go{width:100%}
  .jm-minicats .mc-grid{grid-template-columns:repeat(2,1fr)}
  .jm-notice .nb-right{width:100%}
  .jm-float{right:10px;bottom:70px}
}


/* ==================================================================
   ★ 隐藏 Discuz 原生外壳（全站，因为公共顶栏 jm_shophead 已经在所有页面引入）
   ================================================================== */
#toptb,
#hd,
#nv,
#mu,
#scbar,
#scbar_type_menu { display: none !important; }

body #wp { padding-top: 0 !important; }

/* ==================================================================
   ★ 压掉旧样式里 .jm-slider-track 的 height:250px
   （否则轮播卡片底部会留白 122px）
   ================================================================== */
.jm-sl-movie .jm-slider-track,
.jm-sl-photo .jm-slider-track {
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* ==================================================================
   ★ 关键：确保 .jm-slide 的可见性由 .on 控制
   （旧样式有 background 渐变，会盖住卡片本来的背景）
   ================================================================== */
.jm-slide { background: none !important; }
.jm-slide.on { opacity: 1 !important; visibility: visible !important; }

/* ==================================================================
   ★ 身份条未读高亮（原本在 Discuz #hd 里，现移到 jm-userbar）
   ================================================================== */
.jm-userbar .ub-acts a.ub-new {
  color: #ff6b6b !important;
  border-color: rgba(255,107,107,.55) !important;
  background: rgba(255,107,107,.12) !important;
  font-weight: 800;
}

/* ==================================================================
   ★ 新人引导条：5 步流程独立成行（原来靠负 margin 贴上去，容易错位）
   ================================================================== */
.jm-guide { border-radius: 14px 14px 0 0 !important; }
.jm-guide-steps {
  margin: 0 0 4px !important;
  padding: 12px 20px !important;
  border: 1px solid rgba(255,200,87,.35) !important;
  border-top: 0 !important;
  border-radius: 0 0 14px 14px !important;
  background: rgba(255,200,87,.05) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.jm-guide-steps .gs { display: flex !important; align-items: center !important; gap: 6px !important; }
.jm-guide-steps .gs em {
  display: inline-block !important;
  width: 20px !important; height: 20px !important; line-height: 20px !important;
  text-align: center !important; border-radius: 50% !important;
  background: rgba(255,200,87,.22) !important; color: #ffc857 !important;
  font-size: 11px !important; font-style: normal !important; font-weight: 800 !important;
  flex: 0 0 auto !important;
}

/* ==================================================================
   ★ 顶栏：确保各列不错行
   ================================================================== */
.jm-top { display: flex !important; align-items: center !important;
  gap: 16px !important; flex-wrap: nowrap !important; }
.jm-top .jm-logo { flex: 0 0 auto !important; }
.jm-top .jm-logo img { display: block !important; height: 54px !important;
  width: auto !important; max-width: 230px !important; }
.jm-top-s { flex: 1 1 auto !important; min-width: 200px !important; }
.jm-top-r { flex: 0 0 auto !important; display: flex !important;
  align-items: center !important; gap: 9px !important; flex-wrap: nowrap !important; }

/* ==================================================================
   ★ 身份条：经验值进度条
   ================================================================== */
.jm-userbar .ub-bar {
  display: block !important;
  height: 4px !important;
  margin-top: 7px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  overflow: hidden !important;
}
.jm-userbar .ub-bar > i {
  display: block !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #3f8cff, #34e0ff) !important;
}

/* ==================================================================
   ★ 限时特价：原价划线
   ================================================================== */
.flash-items .fprice s,
.jm-flash .fprice s {
  color: #6b7899 !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  margin-left: 7px !important;
}

/* ==================================================================
   ★ 写真热销（右列底部）：与左列热销同款，粉色点缀
   ================================================================== */
.jm-hero-r .jm-hotrow.photo { margin-top: 14px !important; }
.jm-hotrow.photo .jm-hotrow-h b { color: #ff80c8 !important; }
.jm-hotrow.photo .jm-hi .n { background: rgba(255,128,200,.16) !important; color: #ff80c8 !important; }
.jm-hotrow.photo .jm-hi .n.t1 { background: linear-gradient(135deg,#ffd700,#ffb300) !important; color: #2b1a00 !important; }
.jm-hotrow.photo .jm-hi .n.t2 { background: linear-gradient(135deg,#e2e8f0,#a8b3c4) !important; color: #1a2233 !important; }
.jm-hotrow.photo .jm-hi .n.t3 { background: linear-gradient(135deg,#e0a06a,#c07a3a) !important; color: #2b1a00 !important; }

/* ==================================================================
   ★ 商品卡：热标 + 价格标签
   ================================================================== */
.gcard .gcorner.hot { background: linear-gradient(135deg,#ff5f6d,#ff2d55) !important; color: #fff !important; }
.goodscard .gtags .gtag { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ==================================================================
   ★ 分类导航：带 emoji 图标，间距放宽
   ================================================================== */
.jm-nav { flex-wrap: wrap !important; }
.jm-nav a { white-space: nowrap !important; }

/* ==================================================================
   ★ 顶栏文字品牌（集梦影视 / JIMENG STORE）
   ================================================================== */
.jm-top .jm-logo { display: flex !important; align-items: center !important; gap: 13px !important; }
.jm-logo-txt { display: flex !important; flex-direction: column !important; line-height: 1.15 !important; }
.jm-logo-txt b { font-size: 17px !important; font-weight: 900 !important; color: #edf3ff !important; letter-spacing: .5px !important; }
.jm-logo-txt i { font-style: normal !important; font-size: 9.5px !important; color: #6b7899 !important; letter-spacing: .18em !important; }

.jm-top .jm-logo-ic { font-size: 26px !important; line-height: 1 !important; }
.jm-search-btn { white-space: nowrap !important; }

/* ==================================================================
   ★ 实时播报小图标
   ================================================================== */
.jm-live .li .ic { font-style: normal !important; margin-right: 3px !important; }

/* ==================================================================
   ★ 商品卡 / 轮播 封面图
   ================================================================== */
.jm-goods .gcard .gimg { position: relative !important; overflow: hidden !important; }
.jm-goods .gcard .gimg > img {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
}
.jm-goods .gcard .gimg::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(10,16,32,.55) 0%, rgba(10,16,32,0) 32%, rgba(10,16,32,.35) 100%);
}
.jm-slide .jm-slide-bg {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important; z-index: 0 !important;
}
.jm-slide .jm-slide-txt { z-index: 3 !important; }
.jm-slide .jm-slide-icn { z-index: 1 !important; opacity: .35 !important; }

/* ==================================================================
   ★ 前台轮播管理（仅管理员可见的按钮 + 弹窗）
   ================================================================== */
.jm-carbtn{position:absolute !important;top:10px !important;right:10px !important;z-index:9 !important;
  display:inline-flex !important;align-items:center !important;gap:3px !important;
  padding:5px 12px !important;border-radius:999px !important;font-size:12px !important;font-weight:700 !important;
  background:rgba(52,224,255,.16) !important;border:1px solid rgba(52,224,255,.55) !important;
  color:#8ceaff !important;text-decoration:none !important;backdrop-filter:blur(6px) !important;transition:.18s}
.jm-carbtn:hover{background:rgba(52,224,255,.3) !important;color:#fff !important;text-decoration:none !important}
.jm-carbtn.pink{background:rgba(255,110,180,.16) !important;border-color:rgba(255,110,180,.55) !important;color:#ffb3d4 !important}
.jm-carbtn.pink:hover{background:rgba(255,110,180,.3) !important;color:#fff !important}
.jm-sl-movie,.jm-sl-photo{position:relative !important}

.jm-car-mask{position:fixed !important;inset:0 !important;background:rgba(4,8,18,.78) !important;
  z-index:99998 !important;display:none !important;align-items:center !important;justify-content:center !important;
  backdrop-filter:blur(3px) !important;padding:20px !important}
.jm-car-mask.show{display:flex !important}
.jm-car-box{width:min(1080px,96vw) !important;max-height:90vh !important;display:flex !important;flex-direction:column !important;
  background:#0d1526 !important;border:1px solid #24314f !important;border-radius:16px !important;overflow:hidden !important;
  box-shadow:0 30px 80px rgba(0,0,0,.6) !important;color:#edf3ff !important;
  font:13.5px/1.65 "Microsoft YaHei","PingFang SC",sans-serif !important}
.jm-car-hd{display:flex !important;align-items:center !important;gap:14px !important;padding:14px 18px !important;
  border-bottom:1px solid #24314f !important;background:#101a31 !important}
.jm-car-hd b{font-size:15px !important;color:#ffc857 !important}
.jm-car-pos{display:flex !important;gap:6px !important;margin-left:auto !important}
.jm-car-pos a{padding:5px 14px !important;border-radius:999px !important;border:1px solid #24314f !important;
  color:#b9c4dc !important;text-decoration:none !important;font-size:12.5px !important}
.jm-car-pos a.on{background:rgba(52,224,255,.16) !important;border-color:#34e0ff !important;color:#8ceaff !important}
.jm-car-x{color:#6b7899 !important;text-decoration:none !important;font-size:16px !important;padding:0 4px !important}
.jm-car-x:hover{color:#ff6b6b !important}
.jm-car-body{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,400px) !important;
  gap:0 !important;overflow:hidden !important;flex:1 1 auto !important;min-height:0 !important}
.jm-car-list{overflow-y:auto !important;padding:14px !important;min-height:0 !important}
.jm-car-lt{color:#6b7899 !important;font-size:12.5px !important;margin-bottom:10px !important}
.jm-car-lt b{color:#34e0ff !important}
.jm-car-empty{color:#6b7899 !important;text-align:center !important;padding:40px 10px !important}
.jm-car-item{display:flex !important;align-items:center !important;gap:11px !important;padding:9px !important;
  border:1px solid #24314f !important;border-radius:11px !important;margin-bottom:9px !important;
  background:rgba(255,255,255,.02) !important;transition:.16s}
.jm-car-item:hover{border-color:#34e0ff !important}
.jm-car-item.on{border-color:#ffc857 !important;background:rgba(255,200,87,.07) !important}
.jm-car-item.off{opacity:.45 !important}
.jm-car-item .pic{width:104px !important;height:60px !important;border-radius:7px !important;overflow:hidden !important;
  flex:0 0 auto !important;background:#0e1830 !important;display:flex !important;align-items:center !important;justify-content:center !important}
.jm-car-item .pic img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}
.jm-car-item .pic .ph{color:#3d4a68 !important;font-size:11px !important}
.jm-car-item .meta{flex:1 1 auto !important;min-width:0 !important;overflow:hidden !important}
.jm-car-item .meta b{display:block !important;font-size:13px !important;color:#edf3ff !important;
  overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}
.jm-car-item .meta b i{color:#6b7899 !important;font-style:normal !important}
.jm-car-item .meta i{display:block !important;font-style:normal !important;font-size:11.5px !important;color:#6b7899 !important;
  overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}
.jm-car-item .ops{display:flex !important;gap:5px !important;flex:0 0 auto !important}
.jm-car-item .ops a{padding:4px 10px !important;border-radius:7px !important;border:1px solid #24314f !important;
  color:#b9c4dc !important;text-decoration:none !important;font-size:11.5px !important}
.jm-car-item .ops a:hover{border-color:#34e0ff !important;color:#8ceaff !important}
.jm-car-item .ops a.d:hover{border-color:#ff6b6b !important;color:#ff6b6b !important}
.jm-car-form{overflow-y:auto !important;padding:14px 16px !important;border-left:1px solid #24314f !important;
  background:rgba(255,255,255,.015) !important;min-height:0 !important}
.jm-car-ftitle{font-size:13.5px !important;color:#ffc857 !important;font-weight:800 !important;margin-bottom:12px !important}
.jm-car-form label{display:block !important;color:#b9c4dc !important;font-size:12px !important;margin:10px 0 4px !important}
.jm-car-form input[type=text],.jm-car-form input[type=number],.jm-car-form select{
  width:100% !important;box-sizing:border-box !important;padding:8px 10px !important;background:#0e1830 !important;
  border:1px solid #24314f !important;border-radius:8px !important;color:#edf3ff !important;font:13px/1.5 inherit !important}
.jm-car-form input:focus,.jm-car-form select:focus{outline:none !important;border-color:#34e0ff !important}
.jm-car-imgwrap{margin-bottom:8px !important}
.jm-car-drop{border:2px dashed #24314f !important;border-radius:10px !important;min-height:120px !important;
  display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;
  color:#6b7899 !important;cursor:pointer !important;font-size:12.5px !important;overflow:hidden !important;text-align:center !important}
.jm-car-drop i{font-style:normal !important;font-size:11px !important;color:#3d4a68 !important}
.jm-car-drop:hover,.jm-car-drop.over{border-color:#34e0ff !important;color:#8ceaff !important}
.jm-car-drop img{width:100% !important;max-height:200px !important;object-fit:cover !important;display:block !important;border-radius:8px !important}
.jm-car-2col{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important}
.jm-car-acts{display:flex !important;gap:9px !important;margin-top:16px !important}
.jm-car-btn{padding:8px 20px !important;border-radius:999px !important;border:1px solid #24314f !important;
  color:#b9c4dc !important;text-decoration:none !important;font-size:13px !important;cursor:pointer !important;text-align:center !important}
.jm-car-btn:hover{border-color:#34e0ff !important;color:#8ceaff !important;text-decoration:none !important}
.jm-car-btn.hi{background:linear-gradient(135deg,#ffc857,#ffa53c) !important;color:#2b1a00 !important;
  border-color:transparent !important;font-weight:800 !important}
.jm-car-btn.hi:hover{color:#2b1a00 !important}
.jm-car-ft{display:flex !important;align-items:center !important;gap:12px !important;padding:12px 18px !important;
  border-top:1px solid #24314f !important;background:#101a31 !important}
.jm-car-tip{color:#6b7899 !important;font-size:12px !important;margin-right:auto !important}
.jm-car-toast{position:fixed !important;left:50% !important;bottom:44px !important;transform:translate(-50%,20px) !important;
  padding:10px 22px !important;border-radius:999px !important;background:rgba(52,224,255,.92) !important;color:#04121c !important;
  font:13.5px/1.5 "Microsoft YaHei",sans-serif !important;font-weight:700 !important;z-index:999999 !important;
  opacity:0 !important;pointer-events:none !important;transition:.22s}
.jm-car-toast.show{opacity:1 !important;transform:translate(-50%,0) !important}
.jm-car-toast.bad{background:rgba(255,107,107,.94) !important;color:#2a0505 !important}
@media (max-width:900px){.jm-car-body{grid-template-columns:minmax(0,1fr) !important}
  .jm-car-form{border-left:0 !important;border-top:1px solid #24314f !important}}

/* ==================================================================
   ★ 引导条步骤（jmg-s / jmg-n / jmg-a）—— 补齐缺失的样式
   ================================================================== */
.jm-guide-steps .jmg-s {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  font-size: 12.5px !important; color: #b9c4dc !important; white-space: nowrap !important;
}
.jm-guide-steps .jmg-n {
  width: 20px !important; height: 20px !important; line-height: 20px !important;
  text-align: center !important; border-radius: 50% !important;
  background: rgba(255,200,87,.22) !important; color: #ffc857 !important;
  font-size: 11px !important; font-weight: 800 !important;
  font-family: Arial, "Microsoft YaHei", sans-serif !important;
  font-style: normal !important; flex: 0 0 auto !important;
  display: inline-block !important;
}
.jm-guide-steps .jmg-a { color: #6b7899 !important; font-size: 12px !important; }

/* ==================================================================
   ★ 写真团购群引导条（在原有 jm-guide 基础上做粉色系微调）
   ================================================================== */
/* ═══════════════════════════════════════════════
   ★ 团购群引导条包裹（横幅 + 步骤条 一体）
   关闭时整体隐藏，不留残余
   ═══════════════════════════════════════════════ */
.jm-guide-wrap {
  margin-top: 14px !important;
  border: 1px solid rgba(255, 128, 200, .28) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(255,128,200,.1), rgba(255,128,200,.03)) !important;
  overflow: hidden !important;
}
.jm-guide-wrap .jm-guide.jm-guide-group {
  margin-top: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 128, 200, .18) !important;
}
.jm-guide-wrap .jm-guide-steps.jm-guide-group-steps {
  margin-top: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 12px 18px !important;
}

.jm-guide.jm-guide-group {
  background: linear-gradient(90deg, rgba(255,110,180,.14), rgba(255,110,180,.03)) !important;
  border-color: rgba(255,110,180,.4) !important;
}
.jm-guide.jm-guide-group .gd-ic {
  background: linear-gradient(135deg, #ff6eb4, #ff9ecb) !important;
  box-shadow: 0 4px 16px rgba(255,110,180,.45) !important;
}
.jm-guide.jm-guide-group .gd-bd b { color: #ffc2de !important; }
.jm-guide.jm-guide-group .gd-go {
  background: linear-gradient(135deg, #ff6eb4, #ff4f9e) !important;
  color: #2b0016 !important;
  box-shadow: 0 4px 16px rgba(255,110,180,.45) !important;
}
.jm-guide.jm-guide-group .gd-go:hover {
  background: linear-gradient(135deg, #ff8cc4, #ff6eb4) !important;
  color: #2b0016 !important;
}
.jm-guide-group-steps .jmg-n {
  background: linear-gradient(135deg, #ff6eb4, #ff9ecb) !important;
  color: #2b0016 !important;
}
.jm-guide-group-steps .jmg-s { color: #ffd0e6 !important; }

/* ==================================================================
   ★ 商品详情页（viewthread）—— 头部卡 + 图集 + 价格 + 作者卡
   ================================================================== */
.jm-vt-head { padding: 18px 0 0 !important; }
.jm-vt-rel { padding: 0 0 24px !important; }

/* 面包屑（复用列表页样式） */
.jm-vt-head .jm-crumb {
  color: #6b7899 !important; font-size: 12.5px !important; margin-bottom: 14px !important;
  display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important;
}
.jm-vt-head .jm-crumb a { color: #8b98b8 !important; text-decoration: none !important; }
.jm-vt-head .jm-crumb a:hover { color: #34e0ff !important; text-decoration: none !important; }
.jm-vt-head .jm-crumb .sp { color: #3d4a68 !important; }
.jm-vt-head .jm-crumb b { color: #edf3ff !important; font-weight: 700 !important; }

/* 主卡片 */
/* ★ overflow: clip 而不是 hidden —— hidden 会产生滚动容器，破坏子元素的 position: sticky */
.jm-gd {
  border: 1px solid #24314f !important; border-radius: 16px !important;
  background: #101a31 !important;
  overflow: clip !important;
}
/* 影视：左栏 560px 横图 | 写真：左栏 420px 竖图 */
.jm-gd-top { display: grid !important; grid-template-columns: 560px minmax(0,1fr) !important; gap: 0 !important; }
.jm-gd-top.is-photo { grid-template-columns: 420px minmax(0,1fr) !important; }

/* 左：封面 */
.jm-gd-cover {
  padding: 18px !important; border-right: 1px solid #24314f !important;
  background: rgba(255,255,255,.02) !important;
}
.jm-gd-cover .big {
  width: 100% !important; aspect-ratio: 16/10 !important; border-radius: 12px !important;
  background: linear-gradient(135deg,#1b2a4a,#101a30) !important;
  position: relative !important; overflow: hidden !important; display: block !important;
}
.jm-gd-cover.is-photo .big { aspect-ratio: 2/3 !important; }
.jm-gd-cover .big img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.jm-gd-cover .big .ph {
  position: absolute !important; inset: 0 !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  color: #4a5878 !important; font-size: 13px !important;
}
.jm-gd-cover .thumbs { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 8px !important; margin-top: 11px !important; }
.jm-gd-cover .thumbs i {
  aspect-ratio: 16/10 !important; border-radius: 7px !important; overflow: hidden !important;
  border: 1px solid #24314f !important; cursor: pointer !important; display: block !important;
  background: linear-gradient(135deg,#1b2a4a,#101a30) !important;
}
.jm-gd-cover.is-photo .thumbs i { aspect-ratio: 2/3 !important; }
.jm-gd-cover .thumbs i.on { border-color: #34e0ff !important; }
.jm-gd-cover .thumbs i img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }

/* 右：信息 */
.jm-gd-info { padding: 20px 22px !important; min-width: 0 !important; }
.jm-gd-info h1 {
  font-size: 19px !important; font-weight: 900 !important; line-height: 1.5 !important;
  margin: 10px 0 0 !important; color: #edf3ff !important;
}
.jm-gd-info .desc {
  margin-top: 12px !important; color: #b9c4dc !important; font-size: 13px !important; line-height: 1.9 !important;
}
.jm-gd-info .desc b { color: #34e0ff !important; font-weight: 800 !important; }
.jm-gd-info .tags-line { margin-top: 14px !important; }

/* chips */
.jm-gd .chips { display: flex !important; gap: 5px !important; flex-wrap: wrap !important; align-items: center !important; }
.jm-gd .chip {
  padding: 2px 8px !important; border-radius: 6px !important; font-size: 11px !important; font-weight: 700 !important;
  background: rgba(63,140,255,.2) !important; color: #8fc4ff !important;
  border: 1px solid rgba(63,140,255,.32) !important; white-space: nowrap !important;
}
.jm-gd .chip.price-amber { background: rgba(255,200,87,.18) !important; color: #ffc857 !important; border-color: rgba(255,200,87,.4) !important; }
.jm-gd .chip.price-pink { background: rgba(255,128,200,.18) !important; color: #ff80c8 !important; border-color: rgba(255,128,200,.4) !important; }
.jm-gd .chip.tag { background: rgba(255,255,255,.06) !important; color: #b9c4dc !important; border-color: #24314f !important; }

/* 价格卡 */
.jm-gd-price {
  margin-top: 14px !important; padding: 15px 18px !important;
  border: 1px solid #ffc857 !important; border-radius: 10px !important;
  background: linear-gradient(135deg, rgba(255,200,87,.13), rgba(255,200,87,.05)) !important;
}
.jm-gd-price .row { display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important; }
.jm-gd-price .pr { font-size: 26px !important; font-weight: 900 !important; color: #ffc857 !important; font-family: Consolas,Monaco,monospace !important; }
.jm-gd-price .pr small { font-size: 13px !important; font-weight: 400 !important; opacity: .8 !important; font-family: inherit !important; }
.jm-gd-price .info { color: #b9c4dc !important; font-size: 12.5px !important; }
.jm-gd-price .info em { color: #4ade80 !important; font-style: normal !important; font-weight: 700 !important; }
.jm-gd-price .btn { margin-left: auto !important; }

/* 通用按钮 */
.jm-gd .btn {
  padding: 9px 22px !important; border-radius: 999px !important; font-weight: 800 !important;
  font-size: 13px !important; display: inline-block !important; text-decoration: none !important;
  background: linear-gradient(135deg,#3f8cff,#34e0ff) !important; color: #06121f !important;
  cursor: pointer !important; border: 0 !important; white-space: nowrap !important;
}
.jm-gd .btn:hover { filter: brightness(1.08) !important; text-decoration: none !important; }
.jm-gd .btn.amber { background: linear-gradient(135deg,#ffc857,#ffa53c) !important; color: #2b1a00 !important; }

/* 作者卡 */
.jm-gd-shop {
  margin-top: 14px !important; display: flex !important; align-items: center !important; gap: 12px !important;
  padding: 13px 16px !important; border: 1px solid #24314f !important; border-radius: 10px !important;
  background: rgba(255,255,255,.03) !important;
}
.jm-gd-shop .av {
  width: 42px !important; height: 42px !important; border-radius: 50% !important; flex: 0 0 42px !important;
  background: linear-gradient(135deg,#2a3a5c,#3a2a4c) !important; border: 1px solid #24314f !important;
}
.jm-gd-shop .bd { min-width: 0 !important; }
.jm-gd-shop .bd b { display: block !important; font-size: 13.5px !important; font-weight: 800 !important; color: #34e0ff !important; }
.jm-gd-shop .bd b .lv { color: #a78bfa !important; font-size: 11.5px !important; font-weight: 700 !important; margin-left: 4px !important; }
.jm-gd-shop .bd i { display: block !important; margin-top: 2px !important; color: #8b98b8 !important; font-size: 11.5px !important; font-style: normal !important; }
.jm-gd-shop .r { margin-left: auto !important; display: flex !important; gap: 8px !important; flex: 0 0 auto !important; }
.jm-gd-shop .r a {
  padding: 6px 15px !important; border: 1px solid rgba(52,224,255,.4) !important; border-radius: 999px !important;
  color: #34e0ff !important; font-size: 12px !important; background: rgba(52,224,255,.1) !important;
  text-decoration: none !important; white-space: nowrap !important;
}
.jm-gd-shop .r a:hover { background: rgba(52,224,255,.2) !important; text-decoration: none !important; }

/* 区块标题（复用列表页） */
.jm-vt-rel .sec-hd {
  display: flex !important; align-items: center !important; gap: 10px !important;
  margin: 24px 0 14px !important; flex-wrap: wrap !important;
}
.jm-vt-rel .sec-hd h2 {
  font-size: 17px !important; font-weight: 900 !important; color: #edf3ff !important;
  display: flex !important; align-items: center !important; gap: 8px !important; margin: 0 !important;
}
.jm-vt-rel .sec-hd h2::before {
  content: "" !important; width: 3px !important; height: 17px !important; border-radius: 2px !important;
  background: linear-gradient(180deg,#3f8cff,#34e0ff) !important;
}
.jm-vt-rel .sec-hd .sub { color: #6b7899 !important; font-size: 12.5px !important; }
.jm-vt-rel .sec-hd .y { margin-left: auto !important; }
.jm-vt-rel .sec-hd .y a { color: #8b98b8 !important; font-size: 12.5px !important; text-decoration: none !important; }
.jm-vt-rel .sec-hd .y a:hover { color: #34e0ff !important; }

/* 附件提示框（aimg_tip）—— 深色下文字太暗，提亮 */
#postlist .aimg_tip, #postlist .tip_4 {
  background: #16233f !important; border: 1px solid #2c3d63 !important;
  border-radius: 8px !important; box-shadow: 0 6px 18px rgba(0,0,0,.5) !important;
}
#postlist .aimg_tip .xs0, #postlist .aimg_tip p { color: #b9c4dc !important; }
#postlist .aimg_tip strong { color: #edf3ff !important; font-weight: 800 !important; }
#postlist .aimg_tip em.xg1, #postlist .aimg_tip .xg1 { color: #7f8db0 !important; font-style: normal !important; }
#postlist .aimg_tip a { color: #34e0ff !important; font-weight: 700 !important; }
#postlist .aimg_tip a:hover { color: #7cf0ff !important; }
#postlist .tip_horn { border-top-color: #16233f !important; }
/* 附件列表区 */
#postlist .pattl { background: rgba(255,255,255,.03) !important; border: 1px solid #24314f !important; border-radius: 8px !important; }
#postlist .pattl dt, #postlist .pattl dt strong { color: #edf3ff !important; }
#postlist .pattl dd, #postlist .pattl .xg1 { color: #8b98b8 !important; }
#postlist .pattl a { color: #34e0ff !important; }

/* ==================================================================
   ★ 作品相关信息（规格详情）—— 1:1 复刻预览稿 v3 的 desc 位置
   ================================================================== */
.jm-specbox { margin-top: 12px !important; }

/* 发布者/浏览/购买 一行 */
.jm-specbox .jm-specmeta {
  color: #b9c4dc !important; font-size: 13px !important; line-height: 1.9 !important;
  margin-bottom: 10px !important;
}
.jm-specbox .jm-specmeta b { color: #34e0ff !important; font-weight: 800 !important; }

/* 规格列表 */
.jm-specbox .jm-spec {
  padding: 4px 20px !important;
  border: 1px solid #1c2942 !important;
  border-radius: 14px !important;
  background: #0c1528 !important;
  display: block !important;
}
.jm-specbox .jm-spec .spec-row {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(28,41,66,.7) !important;
}
.jm-specbox .jm-spec .spec-row:last-child { border-bottom: 0 !important; }
.jm-specbox .jm-spec .spec-row .k {
  display: table-cell !important;
  width: 70px !important;
  vertical-align: top !important;
  color: #ffc857 !important;
  font-weight: 800 !important;
  font-size: 12.5px !important;
  white-space: nowrap !important;
  line-height: 24px !important;
  letter-spacing: .5px !important;
  opacity: .92 !important;
}
.jm-specbox .jm-spec .spec-row .k::before { content: "【" !important; }
.jm-specbox .jm-spec .spec-row .k::after  { content: "】" !important; }
.jm-specbox .jm-spec .spec-row .v {
  display: table-cell !important;
  vertical-align: top !important;
  padding-left: 4px !important;
  color: #e8eefc !important;
  font-weight: 600 !important;
  word-break: break-word !important;
  white-space: pre-line !important;
  line-height: 24px !important;
}
/* 首行（写真名/片名）高亮为白色加粗 */
.jm-specbox .jm-spec .spec-row:first-child .v {
  font-size: 14.5px !important;
  color: #fff !important;
  font-weight: 700 !important;
  line-height: 26px !important;
}
.jm-specbox .jm-spec .spec-row .v br { line-height: 1 !important; }
.jm-specbox .jm-spec-empty {
  color: #6b7899 !important;
  font-size: 12.5px !important;
  display: block !important;
}

/* 多行值的续行（主演等）—— 隔行块，自动对齐到值那一列 */
.jm-specbox .jm-spec .spec-row .v .vln {
  display: block !important;
  height: 0 !important;
  line-height: 0 !important;
  font-style: normal !important;
}
.jm-specbox .jm-spec .spec-row .v .vln::after {
  content: "" !important;
  display: block !important;
  height: 24px !important;
}

/* 购买提示 */
.jm-specbox .jm-spechint {
  margin-top: 9px !important;
  color: #8b98b8 !important;
  font-size: 12.5px !important;
}

/* 正文「规格信息」容器（问题2：简介上移） */
.jm-spec {
  padding: 4px 0 14px !important;
  margin-bottom: 4px !important;
  border-bottom: 1px dashed rgba(36,49,79,.8) !important;
}
.jm-spec > * { color: #b9c4dc !important; font-size: 14px !important; line-height: 1.95 !important; }
.jm-spec font[size="5"] > strong, .jm-spec strong { color: #edf3ff !important; }
.jm-spec a { color: #34e0ff !important; }
.jm-spec br + br { display: none !important; }

/* 宽屏适配 */
@media (max-width: 900px) {
  .jm-gd-top { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .jm-gd-cover { border-right: 0 !important; border-bottom: 1px solid #24314f !important; }
  .jm-gd-cover .big { max-width: 260px !important; margin: 0 auto !important; }
}

/* ==================================================================
   ★ 商品详情页 · 帖子区精简（只留：作者+时间 标记 + 正文）
   长截图里的按钮条/统计/标题/电梯直达/作者栏/附件浮框/楼层操作/管理 全部隐藏
   ================================================================== */

/* ── ① 顶部按钮条：发新帖 / 回复 / 返回列表 ── */
#pgt, #postlist .pgt, #postlist .pgb { display: none !important; }

/* ── ② 查看/回复 统计格 ── */
#postlist .pls.ptn.pbn { display: none !important; }

/* ── ③ 标题条 + 电梯直达 + 楼主 + 发表时间 + 只看作者 + 只看大图 ── */
#postlist .vwthd { display: none !important; }

/* ── ④ 左侧作者栏整体隐藏（头像/等级/积分/IP编辑禁止帖子清理）── */
#postlist .pls { display: none !important; }

/* ── ⑤ 正文里的附件提示浮框 + 大图 ── */
#postlist .aimg_tip, #postlist .tip_4, #postlist img.zoom { display: none !important; }

/* ── ⑥ 正文上方的「查看:412 回复:2」小行和楼层操作条 ── */
#postlist .po, #postlist .oi { display: none !important; }

/* ── ⑦ 帖子标题区（.ts）与分类标记 ── */
#postlist h1.ts, #postlist .ts + .xg1, #postlist .trecic { display: none !important; }

/* ── ⑧ 本帖最后由 / 管理团队分类 / 底部收藏 ── */
#postlist .modthreads, #postlist .modact,
#postlist #k_favorite, #postlist #a_favorite,
#postlist a[href*="ac=favorite"], #postlist a[href*="ac=ratelog"] { display: none !important; }

/* ── ⑨ 正文占满整行 ── */
#postlist .plc { width: 100% !important; }
#postlist .pct { border: 0 !important; background: transparent !important; }
#postlist .pcb { padding: 0 !important; }
#postlist .plhin {
  padding: 16px 20px !important; margin-bottom: 14px !important;
  border: 1px solid #24314f !important; border-radius: 12px !important;
  background: #101a31 !important;
}

/* ── ⑩ 楼号隐藏（.pi 里只有楼号）── */
#postlist .pi { display: none !important; }

/* ── ⑪ 用 JS 把「作者+时间」抽出来，做成评论头部条 ── */
#postlist .jm-cmt-hd {
  display: flex !important; align-items: center !important; gap: 9px !important;
  padding: 9px 14px !important; margin-bottom: 12px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid #24314f !important; border-radius: 999px !important;
  font-size: 12.5px !important; color: #6b7899 !important;
  width: -moz-fit-content !important; width: fit-content !important;
}
#postlist .jm-cmt-hd .jm-cmt-av {
  width: 24px !important; height: 24px !important; border-radius: 50% !important;
  border: 1px solid #24314f !important; overflow: hidden !important; flex: 0 0 24px !important;
  background: linear-gradient(135deg,#2a3a5c,#3a2a4c) !important;
}
#postlist .jm-cmt-hd .jm-cmt-av img {
  width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
}
#postlist .jm-cmt-hd .jm-cmt-nm {
  color: #34e0ff !important; font-weight: 800 !important; font-size: 13px !important;
}
#postlist .jm-cmt-hd .jm-cmt-tm { color: #6b7899 !important; font-size: 12px !important; }

/* ==================================================================
   ★ 彻底压掉被隐藏图片占位（避免正文中间出现一大块空白）
   ================================================================== */
#postlist .t_f ignore_js_op,
#postlist .t_f .aimg_tip,
#postlist .t_f img,
#postlist .t_f .pattl { display: none !important; height: 0 !important; line-height: 0 !important; font-size: 0 !important; }
#postlist .t_f br + br { display: none !important; }
#postlist .t_f > *:empty { display: none !important; }

/* 楼层表格本身不要留空白 */
#postlist .plhin table,
#postlist .plhin tbody,
#postlist .plhin tr { height: auto !important; }
#postlist .plc { vertical-align: top !important; }
#postlist .pct { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }

/* ==================================================================
   ★ 详情页残留元素清理
   ================================================================== */

/* ① 「本主题需向作者支付 1300 菲影币」——已经是商品页了，不需要这条
      （价格在头部卡的价格卡里，购买按钮也是）*/
#postlist .locked {
  display: block !important;
}
#postlist .locked .viewpay,
#postlist .locked a[href*="action=pay"] { display: none !important; }

/* ② 附件浮框上方的「设为封面」链接（管理员功能）*/
#postlist .tip_4 a[href*="cover"],
#postlist a[onclick*="setcover"] { display: none !important; }

/* ③ 帖子底部的「转播/收藏/推荐」按钮条（那个白方块）*/
#postlist #p_btn, #postlist .p_btn, #postlist .mtw.mbm.hm.cl { display: none !important; }

/* ④ 楼主楼层之后的「回复/点评/编辑」按钮行残留 */
#postlist #postlistreply > .pls,
#postlist .plhin .po { display: none !important; }

/* ⑤ 楼层底部的分割广告行 */
#postlist tr.ad { display: none !important; }
#postlist table.ad { display: none !important; }

/* ⑥ 「您需要登录后才可以回帖」提示——加个引导，让游客知道要点登录 */
#postlist .pl.hm, #postlist .area .pl.hm {
  padding: 14px 16px !important;
  background: rgba(63,140,255,.1) !important;
  border: 1px solid rgba(63,140,255,.32) !important;
  border-radius: 10px !important;
  color: #b9c4dc !important;
  font-size: 13px !important;
  text-align: center !important;
}
#postlist .area .pl.hm a { color: #34e0ff !important; font-weight: 800 !important; }

/* ==================================================================
   ★ 预览稿 v9 · 商品详情页完整结构
   ① 买家头像墙  ② 下载链接区  ③ 买家评价  ④ 一键回复
   ================================================================== */

/* ── ① 买家头像墙 ── */
.jm-buyer-wall {
  display: flex !important; align-items: center !important; gap: 14px !important;
  flex-wrap: wrap !important;
  padding: 13px 16px !important; margin-top: 16px !important;
  border: 1px solid #24314f !important; border-radius: 10px !important;
  background: rgba(255,255,255,.03) !important;
}
.jm-buyer-wall .bw-lb { color: #b9c4dc !important; font-size: 12.5px !important; }
.jm-buyer-wall .bw-lb b { color: #34e0ff !important; font-weight: 900 !important; font-size: 14px !important; }
.jm-buyer-wall .bw-avs { display: flex !important; align-items: center !important; }
.jm-buyer-wall .bw-avs i,
.jm-buyer-wall .bw-avs img {
  width: 30px !important; height: 30px !important; border-radius: 50% !important;
  border: 2px solid #101a31 !important; margin-left: -8px !important;
  object-fit: cover !important; display: block !important;
  background: linear-gradient(135deg,#2a3a5c,#3a2a4c) !important;
}
.jm-buyer-wall .bw-avs i:first-child,
.jm-buyer-wall .bw-avs img:first-child { margin-left: 0 !important; }
.jm-buyer-wall .bw-avs em {
  margin-left: 4px !important; font-style: normal !important;
  padding: 3px 9px !important; border-radius: 999px !important;
  background: rgba(63,140,255,.18) !important; border: 1px solid rgba(63,140,255,.35) !important;
  color: #8fc4ff !important; font-size: 11px !important; font-weight: 800 !important;
}
.jm-buyer-wall .bw-note { margin-left: auto !important; color: #8b98b8 !important; font-size: 12px !important; }
.jm-buyer-wall .bw-note b { color: #4ade80 !important; font-weight: 800 !important; }

/* ── ② 下载链接区 ── */
.jm-dl {
  margin-top: 14px !important; padding: 15px 18px !important;
  border: 1px solid #ffc857 !important; border-radius: 10px !important;
  background: linear-gradient(135deg, rgba(255,200,87,.13), rgba(255,200,87,.05)) !important;
}
.jm-dl .row { display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important; }
.jm-dl .pr { font-size: 19px !important; font-weight: 900 !important; color: #ffc857 !important; }
.jm-dl .info { color: #b9c4dc !important; font-size: 12.5px !important; }
.jm-dl .btn { margin-left: auto !important; }

/* 已解锁的链接框 */
/* ═══════════════════════════════════════════════════
   ★ 首页促销专区条
   ═══════════════════════════════════════════════════ */
.jm-promo {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin: 16px 0 !important;
}
@media (max-width: 900px) {
  .jm-promo { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.jm-promo-c {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 15px 18px !important;
  border-radius: 14px !important;
  border: 1px solid #24314f !important;
  background: #101a31 !important;
  text-decoration: none !important;
  transition: .18s !important;
}
.jm-promo-c:hover {
  transform: translateY(-2px) !important;
  text-decoration: none !important;
}
.jm-promo-c .ic {
  font-size: 26px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}
.jm-promo-c .bd {
  flex: 1 !important;
  min-width: 0 !important;
}
.jm-promo-c .bd b {
  display: block !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  margin-bottom: 3px !important;
}
.jm-promo-c .bd i {
  display: block !important;
  font-style: normal !important;
  font-size: 11.5px !important;
  color: #6b7899 !important;
}
.jm-promo-c .go {
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* 首单免单 */
.jm-promo-c.first {
  border-color: rgba(255, 200, 87, .45) !important;
  background: linear-gradient(135deg, rgba(255, 200, 87, .1), #101a31) !important;
}
.jm-promo-c.first .bd b { color: #ffc857 !important; }
.jm-promo-c.first .go { color: #ffc857 !important; }
.jm-promo-c.first:hover { border-color: #ffc857 !important; }

/* 今日免费 */
.jm-promo-c.pool {
  border-color: rgba(74, 222, 128, .4) !important;
  background: linear-gradient(135deg, rgba(74, 222, 128, .09), #101a31) !important;
}
.jm-promo-c.pool .bd b { color: #4ade80 !important; }
.jm-promo-c.pool .go { color: #4ade80 !important; }
.jm-promo-c.pool:hover { border-color: #4ade80 !important; }

/* 抽奖 */
.jm-promo-c.lot {
  border-color: rgba(167, 139, 250, .4) !important;
  background: linear-gradient(135deg, rgba(167, 139, 250, .09), #101a31) !important;
}
.jm-promo-c.lot .bd b { color: #a78bfa !important; }
.jm-promo-c.lot .go { color: #a78bfa !important; }
.jm-promo-c.lot:hover { border-color: #a78bfa !important; }

/* ═══════════════════════════════════════════════════
   ★ 商品卡片促销徽章
   ═══════════════════════════════════════════════════ */
.gfirst, .gpool {
  position: absolute !important;
  left: 8px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: .3px !important;
  z-index: 4 !important;
  white-space: nowrap !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .45) !important;
}
.gfirst {
  top: 8px !important;
  background: linear-gradient(135deg, #ffc857, #ffb020) !important;
  color: #1a1200 !important;
}
.gpool {
  top: 34px !important;
  background: linear-gradient(135deg, #4ade80, #22c55e) !important;
  color: #052e16 !important;
}
/* 有 gfirst 时 gpool 下移；只有 gpool 时回到顶部 */
.gpool:first-of-type { top: 8px !important; }

/* ═══════════════════════════════════════════════════
   ★ 管理员工具栏：促销标记按钮
   ═══════════════════════════════════════════════════ */
.jm-adm-sep {
  display: inline-block !important;
  width: 1px !important;
  height: 18px !important;
  background: rgba(255, 255, 255, .14) !important;
  margin: 0 6px !important;
  vertical-align: middle !important;
}
.jm-adm-btn.jm-mark {
  border-color: rgba(52, 224, 255, .28) !important;
  color: #8fa4c8 !important;
  transition: .16s !important;
}
.jm-adm-btn.jm-mark:hover {
  border-color: rgba(52, 224, 255, .6) !important;
  color: #34e0ff !important;
}
/* 已开启状态 */
.jm-adm-btn.jm-mark.on {
  background: rgba(74, 222, 128, .14) !important;
  border-color: rgba(74, 222, 128, .55) !important;
  color: #4ade80 !important;
  font-weight: 800 !important;
}
.jm-adm-btn.jm-mark.on::after {
  content: " ✓";
  font-weight: 900;
}

/* ═══════════════════════════════════════════════════
   ★ 轻提示 toast
   ═══════════════════════════════════════════════════ */
.jm-toast {
  position: fixed !important;
  left: 50% !important;
  bottom: 110px !important;
  transform: translateX(-50%) translateY(20px) !important;
  z-index: 99999 !important;
  padding: 13px 26px !important;
  border-radius: 10px !important;
  background: rgba(74, 222, 128, .96) !important;
  color: #06210f !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, .55) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .22s, transform .22s !important;
  max-width: 90vw !important;
  text-align: center !important;
}
.jm-toast.show {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}
.jm-toast.err {
  background: rgba(255, 90, 90, .96) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════
   ★ 底部浮动购买条（滚动时始终可见）
   ═══════════════════════════════════════════════════ */
.jm-buybar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9998 !important;
  background: rgba(10, 17, 32, .94) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-top: 1px solid rgba(255, 200, 87, .28) !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, .6) !important;
  transform: translateY(110%) !important;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1) !important;
}
.jm-buybar.show { transform: translateY(0) !important; }
.jm-buybar-in {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}
.jm-buybar-in .ttl {
  flex: 1 !important;
  min-width: 0 !important;
  color: #c9d6f0 !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.jm-buybar-in .p {
  color: #ffc857 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.jm-buybar-in .p small {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  margin-left: 3px !important;
}
.jm-buybar-in .go {
  padding: 11px 32px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #ffc857, #ffb020) !important;
  color: #1a1200 !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(255, 184, 32, .35) !important;
}
.jm-buybar-in .go:hover { opacity: .92 !important; color: #1a1200 !important; }
@media (max-width: 720px) {
  .jm-buybar-in { padding: 10px 12px !important; gap: 10px !important; }
  .jm-buybar-in .ttl { display: none !important; }
  .jm-buybar-in .go { padding: 10px 22px !important; font-size: 13.5px !important; }
}
body { padding-bottom: 70px !important; }

/* 价格卡中间的支持文案 */
.jm-gd-price .info {
  flex: 1 !important;
  text-align: center !important;
  color: #6b7899 !important;
  font-size: 12px !important;
  padding: 0 12px !important;
}

/* ═══════════════════════════════════════════════════
   ★ 防传播：点击获取链接（排版优化版）
   ═══════════════════════════════════════════════════ */

/* 锁定态：按钮 + 提示，同一行对齐 */
.jm-link-gate {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  vertical-align: middle !important;
  margin: 3px 0 !important;
}
.jm-reveal-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 16px !important;
  background: rgba(52, 224, 255, .12) !important;
  border: 1px solid rgba(52, 224, 255, .42) !important;
  border-radius: 7px !important;
  color: #34e0ff !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  white-space: nowrap !important;
  transition: .16s !important;
  line-height: 1.4 !important;
}
.jm-reveal-btn:hover {
  background: rgba(52, 224, 255, .24) !important;
  border-color: #34e0ff !important;
  color: #fff !important;
}

/* 解锁态：显示真链接 */
.jm-link-open {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  vertical-align: middle !important;
}
.jm-real-link {
  color: #7cf0ff !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  word-break: break-all !important;
  font-family: Consolas, Monaco, "Courier New", monospace !important;
  user-select: all !important;
  line-height: 1.6 !important;
  border-bottom: 1px dashed rgba(124, 240, 255, .5) !important;
}
.jm-real-link:hover {
  color: #fff !important;
  border-bottom-color: #fff !important;
}
.jm-uid-mark {
  display: inline-block !important;
  padding: 1px 7px !important;
  border-radius: 4px !important;
  background: rgba(255, 200, 87, .15) !important;
  color: #ffc857 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  font-family: inherit !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  letter-spacing: .3px !important;
}

/* 解锁框内的行距和断行优化 */
.jm-unlocked .jm-ul-body {
  line-height: 2.1 !important;
}
.jm-unlocked .jm-ul-body br {
  display: block !important;
  content: "" !important;
  margin: 4px 0 !important;
}
.jm-unlocked .jm-ul-body font,
.jm-unlocked .jm-ul-body span {
  display: inline !important;
}
/* 每个网盘块之间留白 */
.jm-unlocked .jm-link-gate + br {
  line-height: 2.4 !important;
}

/* ═══════════════════════════════════════════════════
   ★ 已解锁的网盘链接框（字号统一放大）
   ═══════════════════════════════════════════════════ */
.jm-unlocked {
  margin-top: 14px !important; padding: 16px 20px !important;
  border: 1px solid rgba(74,222,128,.35) !important; border-radius: 12px !important;
  background: #0b1222 !important;
  color: #9ef0c0 !important;
  font-family: Consolas, Monaco, "Courier New", monospace !important;
  font-size: 15px !important;
  line-height: 2 !important;
  word-break: break-all !important;
}
/* 内部所有元素统一字号（防止 Discuz 的 size/normal 标签干扰）*/
.jm-unlocked *,
.jm-unlocked font,
.jm-unlocked span,
.jm-unlocked div,
.jm-unlocked b,
.jm-unlocked strong,
.jm-unlocked p {
  font-size: 15px !important;
  line-height: 2 !important;
  font-family: Consolas, Monaco, "Courier New", monospace !important;
  font-weight: 600 !important;
  color: #9ef0c0 !important;
}
/* 链接本身更亮更醒目 */
.jm-unlocked a,
.jm-unlocked a font,
.jm-unlocked a span {
  color: #7cf0ff !important;
  font-size: 15px !important;
  text-decoration: none !important;
}
.jm-unlocked a:hover { text-decoration: underline !important; }
/* 已解锁标签 */
.jm-unlocked .jm-ok-tag {
  display: inline-block !important;
  font-size: 12.5px !important;
  color: #4ade80 !important;
  margin-bottom: 8px !important;
  font-family: inherit !important;
}

/* ══════════════════════════════════════════════════════════════
   ★ 把 [hide] 解锁出来的内容（网盘链接）单独显示出来
   原生 #postlist 被隐藏了，但 .locked 块（回复后可见 / 已解锁链接）
   必须保留 —— 用 JS 把它搬到「下载链接区」里
   ══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════
   ★ 管理员专属编辑区（只有 adminid > 0 才渲染）
   ═══════════════════════════════════════════════════ */
.jm-adm-edit {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 14px !important;
  padding: 12px 16px !important;
  border: 1px dashed rgba(255, 200, 87, .45) !important;
  border-radius: 10px !important;
  background: rgba(255, 200, 87, .06) !important;
}
.jm-adm-edit .jm-adm-tag {
  color: #ffc857 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.jm-adm-edit .jm-adm-btn {
  padding: 6px 14px !important;
  border: 1px solid rgba(52, 224, 255, .35) !important;
  border-radius: 999px !important;
  color: #34e0ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: rgba(52, 224, 255, .08) !important;
  transition: .18s !important;
}
.jm-adm-edit .jm-adm-btn:hover {
  background: rgba(52, 224, 255, .2) !important;
  border-color: #34e0ff !important;
  text-decoration: none !important;
}

/* 作者标签（区别于管理员）*/
.jm-adm-edit .jm-adm-tag.jm-author-tag {
  color: #34e0ff !important;
  border-color: rgba(52, 224, 255, .3) !important;
}

/* 危险按钮：删除 */
.jm-adm-edit .jm-adm-btn.jm-danger {
  border-color: rgba(255, 92, 92, .45) !important;
  color: #ff7b7b !important;
  background: rgba(255, 92, 92, .08) !important;
}
.jm-adm-edit .jm-adm-btn.jm-danger:hover {
  background: rgba(255, 92, 92, .2) !important;
  border-color: #ff5c5c !important;
  color: #ff5c5c !important;
}

/* 已解锁时用 CSS 兜底隐藏「回复解锁」按钮（不依赖 JS 判断）*/
#jmDlBox[data-jmstate="unlocked"] #jmDlBtn { display: none !important; }
#jmDlBox[data-jmstate="unlocked"] #jmDlPr { color: #4ade80 !important; }

/* 已解锁的链接框样式（绿色等宽，同预览稿）*/
.jm-unlocked {
  margin-top: 12px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(74,222,128,.45) !important;
  border-radius: 10px !important;
  background: rgba(74,222,128,.07) !important;
  color: #9ef0c0 !important;
  font-family: Consolas, Monaco, monospace !important;
  font-size: 12.5px !important;
  line-height: 2 !important;
  word-break: break-all !important;
}
.jm-unlocked a { color: #7cf0ff !important; font-weight: 700 !important; }
.jm-unlocked strong, .jm-unlocked b { color: #9ef0c0 !important; }
.jm-unlocked .jm-ok-tag {
  display: block !important; margin-bottom: 8px !important;
  color: #4ade80 !important; font-family: inherit !important; font-size: 13px !important; font-weight: 900 !important;
}

/* 未解锁提示（回复后可见）*/
.jm-locked-hint {
  margin-top: 12px !important; padding: 14px 16px !important;
  border: 1px dashed rgba(255,200,87,.5) !important;
  border-radius: 10px !important;
  background: rgba(255,200,87,.07) !important;
  color: #ffc857 !important; font-size: 13px !important; line-height: 1.9 !important;
}
.jm-locked-hint a { color: #34e0ff !important; font-weight: 800 !important; }

/* ── 隐藏原生帖子列表（已有独立买家评价区，避免内容重复）── */
#postlist { display: none !important; }
#pgt { display: none !important; }
#postlistreply { display: none !important; }
#postlist .plhin { display: none !important; }

/* 保留回复框（快捷回复是解锁下载的必要入口）*/
#f_pst { display: block !important; }

/* ═══════════════════════════════════════════════════
   ★ 首页轮播切换箭头：悬停显示（同商品详情）
   ═══════════════════════════════════════════════════ */
.jm-slider { position: relative !important; }

.jm-slider .jm-sl-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important; height: 64px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(6, 10, 20, .72) !important;
  color: #e6f0ff !important;
  font-size: 30px !important; font-weight: 300 !important; line-height: 1 !important;
  cursor: pointer !important;
  border: 0 !important;
  border-radius: 6px !important;
  z-index: 30 !important;
  padding: 0 !important;
  font-family: Arial, sans-serif !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .22s ease, transform .22s ease, visibility .22s !important;
  backdrop-filter: blur(2px) !important;
}
.jm-slider .jm-sl-prev { left: 0 !important; border-radius: 0 6px 6px 0 !important; }
.jm-slider .jm-sl-next { right: 0 !important; border-radius: 6px 0 0 6px !important; }

.jm-slider:hover .jm-sl-arrow {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.jm-slider .jm-sl-arrow:hover {
  background: rgba(52, 224, 255, .35) !important;
  color: #fff !important;
}

@media (hover: none) {
  .jm-slider .jm-sl-arrow {
    opacity: .8 !important; visibility: visible !important; pointer-events: auto !important;
    width: 32px !important; height: 52px !important; font-size: 24px !important;
  }
}

/* ═══════════════════════════════════════════════════
   ★ 图片切换箭头：默认隐形，鼠标移入图片才显示
   ═══════════════════════════════════════════════════ */
/* ★ 左栏固定：滚动时图片跟随（同时保留 relative 供箭头绝对定位）
   用 sticky 覆盖 relative —— sticky 本身也是定位上下文，箭头依然能 absolute 定位 */
@media (min-width: 1080px) {
  .jm-gd-top > .jm-gd-cover {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 12px !important;
    align-self: start !important;
  }
}

.jm-gd-cover .jm-gal-prev,
.jm-gd-cover .jm-gal-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) translateX(-6px) !important;
  width: 40px !important; height: 64px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(6, 10, 20, .72) !important;
  color: #e6f0ff !important;
  font-size: 30px !important; font-weight: 300 !important; line-height: 1 !important;
  cursor: pointer !important;
  border: 0 !important;
  border-radius: 6px !important;
  z-index: 20 !important;
  padding: 0 !important;
  font-family: Arial, sans-serif !important;
  /* 默认：透明不可见 */
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .22s ease, transform .22s ease, visibility .22s !important;
  backdrop-filter: blur(2px) !important;
}
.jm-gd-cover .jm-gal-prev { left: 0 !important; border-radius: 0 6px 6px 0 !important; }
.jm-gd-cover .jm-gal-next { right: 0 !important; transform: translateY(-50%) translateX(6px) !important; border-radius: 6px 0 0 6px !important; }

/* 鼠标移入图片区域 → 箭头淡入 */
.jm-gd-cover:hover .jm-gal-prev,
.jm-gd-cover:hover .jm-gal-next {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(-50%) translateX(0) !important;
}
.jm-gd-cover .jm-gal-prev:hover,
.jm-gd-cover .jm-gal-next:hover {
  background: rgba(52, 224, 255, .35) !important;
  color: #fff !important;
}

/* 移动端（无 hover）：小一点但常驻 */
@media (hover: none) {
  .jm-gd-cover .jm-gal-prev,
  .jm-gd-cover .jm-gal-next {
    opacity: .85 !important; visibility: visible !important; pointer-events: auto !important;
    width: 32px !important; height: 52px !important; font-size: 24px !important;
  }
}

/* ═══════════════════════════════════════════════════
   ★ Q4：作者头像（图片 + 字母兜底）
   ═══════════════════════════════════════════════════ */
.jm-gd-shop .av {
  position: relative !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 46px !important; height: 46px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #2b3a5c, #1b2540) !important;
  color: #8fa4c8 !important;
  font-size: 18px !important; font-weight: 900 !important;
  flex-shrink: 0 !important;
}
.jm-gd-shop .av img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  position: relative !important; z-index: 2 !important;
  background: #1b2540 !important;
}
.jm-gd-shop .av::after {
  content: attr(data-n) !important;
  position: absolute !important;
  z-index: 1 !important;
  color: #8fa4c8 !important;
  font-size: 18px !important; font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════════════
   ★ Q6：字幕链接 / 精华片段 按钮
   ═══════════════════════════════════════════════════ */
.jm-extra-links {
  display: flex !important; gap: 10px !important; flex-wrap: wrap !important;
  margin: 14px 0 0 !important;
}
.jm-extra-btn {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  font-size: 13px !important; font-weight: 800 !important;
  text-decoration: none !important;
  transition: .18s !important;
  border: 1px solid !important;
}
.jm-extra-btn .ic { font-size: 14px !important; }
.jm-extra-btn.jm-extra-sub {
  color: #4ade80 !important;
  border-color: rgba(74, 222, 128, .42) !important;
  background: rgba(74, 222, 128, .1) !important;
}
.jm-extra-btn.jm-extra-sub:hover {
  background: rgba(74, 222, 128, .22) !important;
  border-color: #4ade80 !important;
}
.jm-extra-btn.jm-extra-hl {
  color: #ffc857 !important;
  border-color: rgba(255, 200, 87, .42) !important;
  background: rgba(255, 200, 87, .1) !important;
}
.jm-extra-btn.jm-extra-hl:hover {
  background: rgba(255, 200, 87, .22) !important;
  border-color: #ffc857 !important;
}

/* ═══════════════════════════════════════════════════
   ★ 设为封面面板
   ═══════════════════════════════════════════════════ */
.jm-cover-panel {
  margin-top: 12px !important;
  padding: 14px 16px !important;
  border: 1px solid #24314f !important;
  border-radius: 10px !important;
  background: #0e1830 !important;
}
.jm-cover-panel .jm-cover-hd {
  color: #edf3ff !important; font-size: 13px !important; font-weight: 800 !important;
  margin-bottom: 11px !important;
}
.jm-cover-panel .jm-cover-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)) !important;
  gap: 9px !important;
}
.jm-cover-panel .jm-cover-item {
  display: block !important; aspect-ratio: 3/4 !important;
  border: 2px solid #24314f !important; border-radius: 8px !important;
  overflow: hidden !important; background: #101a31 !important;
  transition: .18s !important;
}
.jm-cover-panel .jm-cover-item:hover {
  border-color: #34e0ff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(52,224,255,.25) !important;
}
.jm-cover-panel .jm-cover-item img {
  width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
}
.jm-cover-panel .jm-cover-tip {
  margin-top: 11px !important; color: #6b7899 !important; font-size: 11.5px !important;
}

/* ═══════════════════════════════════════════════════
   ★ 评论区入口按钮（替代 发新帖/回复/返回列表）
   ═══════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════
   ★ 评论区入口（v2：只有一个「写评论」小按钮）
   ═══════════════════════════════════════════════════ */
.jm-comment-bar { margin: 18px 0 10px !important; text-align: center !important; }
.jm-comment-btn.v2,
.jm-comment-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 108px !important;
  padding: 10px 26px !important;
  background: rgba(52, 224, 255, .1) !important;
  border: 1px solid rgba(52, 224, 255, .42) !important;
  border-radius: 999px !important;
  color: #34e0ff !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: .18s !important;
  font-family: inherit !important;
  letter-spacing: .5px !important;
}
.jm-comment-btn:hover {
  background: rgba(52, 224, 255, .24) !important;
  border-color: #34e0ff !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* 原生回复框：默认隐藏；.jm-shown 时显示 */
#f_pst { display: none !important; }
#f_pst.jm-shown { display: block !important; }

/* 原生 pgt 已删除，兜底隐藏 */
#pgt { display: none !important; }

/* 原生回复框：默认隐藏（由 #pgt 替换后会显示，需要压掉）*/
#f_pst { display: none !important; }
#f_pst.jm-shown { display: block !important; }

/* 原生 pgt 已删除，兜底隐藏 */
#pgt { display: none !important; }

/* ═══════════════════════════════════════════════════
   ★ 回复区：默认只有一个按钮，点击才展开
   ═══════════════════════════════════════════════════ */
.jm-reply-wrap { margin: 16px 0 8px !important; }
.jm-reply-btn {
  display: flex !important; align-items: center !important; gap: 9px !important;
  width: 100% !important; padding: 15px 20px !important;
  background: #101a31 !important;
  border: 1px solid #24314f !important;
  border-radius: 12px !important;
  color: #b9c4dc !important; font-size: 13.5px !important; font-weight: 700 !important;
  cursor: pointer !important; text-align: left !important;
  transition: .2s !important;
  font-family: inherit !important;
}
.jm-reply-btn:hover {
  border-color: #34e0ff !important; color: #34e0ff !important;
  background: rgba(63,140,255,.08) !important;
}
.jm-reply-btn .ic { font-size: 16px !important; }
.jm-reply-btn .tx { flex: 1 !important; }
.jm-reply-btn .ar { color: #6b7899 !important; font-size: 12px !important; font-weight: 400 !important; }
.jm-reply-host:empty { display: none !important; }
.jm-reply-host { margin-top: 12px !important; }

/* 回复框默认隐藏，点按钮才显示（JS 会加 jm-open）*/
#f_pst.jm-hidden { display: none !important; }
#f_pst.jm-shown { display: block !important; }

/* 展开后的回复框：紧凑 */
.jm-reply-host #f_pst {
  margin: 0 !important; border: 1px solid #24314f !important; border-radius: 12px !important;
  background: #101a31 !important; overflow: hidden !important;
}
.jm-reply-host #f_pst .pls { display: none !important; }
.jm-reply-host #f_pst .plc { width: 100% !important; padding: 0 !important; }
.jm-reply-host #fastpostform { padding: 14px 16px !important; }
.jm-reply-host #fastpostform .pbt.cl,
.jm-reply-host #fastpostform #fastsmiliesdiv,
.jm-reply-host #fastpostform .hasfsl .bar,
.jm-reply-host #fastpostform .ftid,
.jm-reply-host #fastpostform #attach_tblheader,
.jm-reply-host #fastpostform #attachlist,
.jm-reply-host #fastpostform label.lb,
.jm-reply-host #fastpostform label[for="fastpostrefresh"],
.jm-reply-host #fastpostform .pipe.z,
.jm-reply-host #fastpostform .area .bar { display: none !important; }
.jm-reply-host #fastpostmessage {
  width: 100% !important; min-height: 60px !important; height: 60px !important;
  padding: 10px 14px !important; border-radius: 10px !important;
  line-height: 1.6 !important; resize: vertical !important; box-sizing: border-box !important;
  background: #0e1830 !important; color: #edf3ff !important;
}
.jm-reply-host #seccheck_fastpost { margin: 8px 0 0 !important; }
.jm-reply-host #fastpostsubmit {
  margin-top: 8px !important; padding: 8px 26px !important; border-radius: 999px !important;
  font-size: 13px !important; font-weight: 800 !important;
  background: linear-gradient(135deg,#3f8cff,#34e0ff) !important; color: #06121f !important; border: 0 !important;
}


/* ── ③ 买家评价区块 ── */
.jm-reviews .sec-hd {
  display: flex !important; align-items: center !important; gap: 10px !important;
  margin: 24px 0 14px !important; flex-wrap: wrap !important;
}
.jm-reviews .sec-hd h2 {
  font-size: 17px !important; font-weight: 900 !important; color: #edf3ff !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 0 !important; padding: 0 !important; line-height: 1.4 !important;
}
.jm-reviews .sec-hd h2::before {
  content: "" !important; width: 3px !important; height: 17px !important; border-radius: 2px !important;
  background: linear-gradient(180deg,#3f8cff,#34e0ff) !important; display: block !important;
}
.jm-reviews .sec-hd .sub {
  color: #6b7899 !important; font-size: 12.5px !important;
  margin: 0 !important; display: inline !important;
}

.jm-reviews { margin-top: 22px !important; }
.jm-reviews .rv-list {
  border: 1px solid #24314f !important; border-radius: 14px !important;
  background: #101a31 !important; padding: 6px 18px !important;
}
.jm-reviews .rv-item {
  display: flex !important; gap: 12px !important;
  padding: 16px 0 !important;
  border-bottom: 1px dashed rgba(36,49,79,.7) !important;
}
.jm-reviews .rv-item:last-child { border-bottom: 0 !important; }
.jm-reviews .rv-av {
  width: 40px !important; height: 40px !important; flex: 0 0 40px !important;
  border-radius: 50% !important; overflow: hidden !important;
  border: 1px solid #24314f !important;
  background: linear-gradient(135deg,#2a3a5c,#3a2a4c) !important;
}
.jm-reviews .rv-av img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.jm-reviews .rv-bd { min-width: 0 !important; flex: 1 !important; }
.jm-reviews .rv-nm { font-size: 13px !important; font-weight: 800 !important; color: #34e0ff !important; }
.jm-reviews .rv-tm { color: #6b7899 !important; font-weight: 400 !important; font-size: 11.5px !important; margin-left: 4px !important; }
.jm-reviews .rv-tx { margin-top: 5px !important; color: #b9c4dc !important; font-size: 13px !important; line-height: 1.8 !important; word-break: break-word !important; }
.jm-reviews .rv-empty { padding: 30px 0 !important; text-align: center !important; color: #6b7899 !important; font-size: 13px !important; }

/* ── ④ 一键回复按钮（替代大输入框）── */
#f_pst.jm-collapsed {
  margin-top: 14px !important;
  border: 1px solid #24314f !important;
  border-radius: 12px !important;
  background: #101a31 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#f_pst.jm-collapsed #fastpostform { display: none !important; }
#f_pst.jm-collapsed .jm-reply-toggle { display: flex !important; }
#f_pst .jm-reply-toggle {
  display: none !important;
  align-items: center !important; justify-content: center !important; gap: 8px !important;
  width: 100% !important; padding: 14px 18px !important;
  background: transparent !important; border: 0 !important;
  color: #b9c4dc !important; font-size: 13.5px !important; font-weight: 700 !important;
  cursor: pointer !important; text-align: left !important;
}
#f_pst .jm-reply-toggle:hover { background: rgba(63,140,255,.1) !important; color: #34e0ff !important; }
#f_pst .jm-reply-toggle .ic { font-size: 15px !important; }
#f_pst .jm-reply-toggle .ar { margin-left: auto !important; color: #6b7899 !important; font-size: 12px !important; }

/* 展开后的回复区保持精简 */
#f_pst.jm-open { padding: 0 !important; }
#f_pst.jm-open .jm-reply-toggle { display: flex !important; border-bottom: 1px solid #24314f !important; }

/* ==================================================================
   ★ 评论区精简（用户视角：能说一句话就够）
   改前 ~500px：130px 大头像 + 编辑工具栏 + 12 个表情 + 4 行文本框
   改后 ~120px：28px 小头像 + 单行输入 + 发表按钮
   ================================================================== */

/* ① 回复框整体：去掉大头像那一列，压扁 */
#f_pst { margin-top: 14px !important; }
#f_pst .pls { display: none !important; }          /* 左侧大头像列 */
#f_pst .plc { width: 100% !important; padding: 0 !important; }
#fastpostform { padding: 12px 14px !important; }

/* ② 隐藏编辑工具栏、表情、选填项 */
#fastpostform .pbt.cl,
#fastpostform #fastsmiliesdiv,
#fastpostform .smilies,
#fastpostform .hasfsl .bar,
#fastpostform .ftid,
#fastpostform #attach_tblheader,
#fastpostform #attachlist,
#fastpostform .ptm.pnpost label.lb,
#fastpostform label[for="fastpostrefresh"],
#fastpostform .pipe.z,
#fastpostform .area .bar { display: none !important; }

/* ③ 输入框：单行起，自动撑高 */
#fastpostmessage {
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  max-height: 160px !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  line-height: 1.6 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}

/* ④ 验证码行：紧凑 */
#seccheck_fastpost { margin: 8px 0 0 !important; padding: 0 !important; }
#seccheck_fastpost .px { height: 30px !important; padding: 0 8px !important; }

/* ⑤ 发表按钮：跟输入框同一行的感觉 */
#fastpostsubmit {
  margin-top: 8px !important;
  padding: 8px 26px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg,#3f8cff,#34e0ff) !important;
  color: #06121f !important;
  border: 0 !important;
}
#fastpostsubmit:hover { filter: brightness(1.08) !important; }

/* ⑥ 评论区的楼层：小头像 + 紧凑 */
#postlist .plhin { padding: 14px 18px !important; }
#postlist .jm-cmt-hd { margin-bottom: 10px !important; }
#postlist .pcb, #postlist .t_f { font-size: 14px !important; line-height: 1.85 !important; }
#postlist .t_f { border-left: 0 !important; padding-left: 0 !important; }
#postlist .t_f font[size="5"], #postlist .t_f font[size="4"] { font-size: 14px !important; }
#postlist .t_f strong, #postlist .t_f b { font-weight: 700 !important; }

/* ⑦ 「购买后可见」提示块，做成醒目的行动号召 */
#postlist .locked {
  background: linear-gradient(135deg, rgba(255,200,87,.12), rgba(255,200,87,.05)) !important;
  border: 1px solid rgba(255,200,87,.45) !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  color: #ffc857 !important;
  font-size: 13.5px !important;
  line-height: 1.9 !important;
}

/* ==================================================================
   ★ 原生帖子区暗色适配（保留 Discuz 全部功能，只换皮）
   ================================================================== */

/* 原生楼层头（#postlist 上方那条 查看/回复/发新帖）*/
#postlist { border: 0 !important; background: transparent !important; }
#postlist > table { border: 0 !important; background: transparent !important; }
#postlist .vwthd, #postlist .a_t, #postlist .bm_h, #postlist .bm_c {
  background: #101a31 !important; color: #b9c4dc !important; border-color: #24314f !important;
}
#postlist .vwthd { border: 1px solid #24314f !important; border-radius: 10px !important; background: #101a31 !important; }
#postlist .vwthd .ts a, #postlist .vwthd a { color: #b9c4dc !important; }
#postlist .vwthd h1, #postlist .vwthd .s {
  color: #edf3ff !important; font-size: 18px !important; font-weight: 900 !important; line-height: 1.6 !important;
}
#postlist .vwthd .y { color: #6b7899 !important; }
#postlist .vwthd .y a { color: #8b98b8 !important; }

/* 帖子内的工具栏 / 选项 */
#postlist .pct .pattl, #postlist .pct .showhide, #postlist .pct .attach_nopermission {
  background: rgba(255,255,255,.03) !important; border-color: #24314f !important; color: #8b98b8 !important;
}
#postlist .pct .attach_nopermission { color: #ffc857 !important; }
#postlist .pct .attach_nopermission a { color: #34e0ff !important; }
#postlist .attach_nopermission { background: rgba(255,200,87,.1) !important; border: 1px solid rgba(255,200,87,.4) !important; border-radius: 8px !important; }

/* 评分 / 点评 / 收藏条 */
#postlist .psta, #postlist .pstl, #postlist .psti, #postlist .rate {
  background: transparent !important; color: #8b98b8 !important; border-color: #24314f !important;
}
#postlist .psta a, #postlist .pstl a { color: #8b98b8 !important; }

/* 楼层底部操作栏（回复 引用 编辑 …）*/
#postlist .po { background: rgba(255,255,255,.02) !important; border-color: #24314f !important; }
#postlist .po a, #postlist .po span { color: #8b98b8 !important; }
#postlist .po a:hover { color: #34e0ff !important; }
#postlist .cm, #postlist .comment { background: #0e1830 !important; border-color: #24314f !important; color: #b9c4dc !important; }
#postlist .cm .cm_h, #postlist .comment .cm_h { color: #8b98b8 !important; border-color: #24314f !important; }

/* 左侧作者栏 */
#postlist .pls .authi { border: 0 !important; }
#postlist .pls .pi { color: #6b7899 !important; }
#postlist .pls .pi strong, #postlist .pls .pi a { color: #34e0ff !important; }
#postlist .pls .grouptitle, #postlist .pls .onlinestate, #postlist .pls .xg1 { color: #6b7899 !important; }
#postlist .pls .imicn a { color: #8b98b8 !important; }

/* 分页条 */
#pgt.pgs { background: transparent !important; border: 0 !important; padding: 8px 0 !important; }
#pgt .pgt a, #pgt .pgb a, #pgt .pg a { color: #b9c4dc !important; border-color: #24314f !important; }
#pgt .pg strong, #pgt .pgb strong { background: linear-gradient(135deg,#3f8cff,#34e0ff) !important; color: #06121f !important; border-color: transparent !important; }
#pgt #newspecial, #pgt #post_reply {
  background: #101a31 !important; border: 1px solid #24314f !important; color: #b9c4dc !important;
  border-radius: 999px !important; font-size: 12.5px !important;
}
#pgt #newspecial:hover, #pgt #post_reply:hover { border-color: #34e0ff !important; color: #34e0ff !important; }

/* 快捷回复框 */
#fastpostform { background: #101a31 !important; border: 1px solid #24314f !important; border-radius: 12px !important; }
#fastpostform .bm_h, #fastpostform .bm_c { background: transparent !important; border-color: #24314f !important; color: #b9c4dc !important; }
#fastpostform textarea, .fpd textarea, #postlist textarea {
  background: #0e1830 !important; color: #edf3ff !important; border: 1px solid #24314f !important; border-radius: 8px !important;
}
#fastpostform .pbt, #fastpostform button { border-radius: 999px !important; }


#pt { display: none !important; }

#postlist.pl,
#postlist .plhin { background: transparent !important; border: 0 !important; }

#postlist .pls { background: #0e1830 !important; border-right: 1px solid #24314f !important; }
#postlist .pls .avatar img { border-radius: 50% !important; }
#postlist .pi { border-bottom: 1px dashed rgba(36,49,79,.8) !important; color: #6b7899 !important; }
#postlist .authi { color: #8b98b8 !important; font-size: 12px !important; }
#postlist .authi a { color: #34e0ff !important; }

#postlist .pct { background: #101a31 !important; border: 1px solid #24314f !important; border-radius: 10px !important; }
#postlist .t_f { background: rgba(255,255,255,.02) !important; border-bottom: 1px solid #24314f !important; color: #edf3ff !important; font-weight: 800 !important; }
#postlist .pcb { background: transparent !important; color: #b9c4dc !important; font-size: 14px !important; line-height: 1.9 !important; }
#postlist .pcb a { color: #34e0ff !important; }
#postlist .pattl { border-color: #24314f !important; }
#postlist .pattl dt, #postlist .pattl dd { color: #8b98b8 !important; }
#postlist .locked {
  background: rgba(255,200,87,.1) !important; border: 1px solid rgba(255,200,87,.4) !important;
  border-radius: 8px !important; color: #ffc857 !important; padding: 12px 14px !important;
  margin: 10px 0 !important; font-size: 13px !important;
}
#postlist .locked a { color: #34e0ff !important; }
#postlist .locked strong { color: #ffc857 !important; font-weight: 900 !important; }
#postlist .quote { background: rgba(255,255,255,.04) !important; border-color: #24314f !important; color: #8b98b8 !important; }
#postlist .blockcode { background: #0b1222 !important; border-color: #24314f !important; color: #9ef0c0 !important; }

/* 回复框 / 分页 */
#postlist + div, #postlistreply { background: transparent !important; }
#pgt .pgt, #pgt .pgb { color: #8b98b8 !important; }
#pgt a { color: #b9c4dc !important; }
#postlist .pg a, #postlist .pg strong { border-color: #24314f !important; color: #b9c4dc !important; }
#postlist .pg strong { background: linear-gradient(135deg,#3f8cff,#34e0ff) !important; color: #06121f !important; }

/* 快捷回复 */
#fastpostform, .fpd { background: #101a31 !important; border-color: #24314f !important; }
#fastpostform textarea, .fpd textarea { background: #0e1830 !important; color: #edf3ff !important; border-color: #24314f !important; }

/* ==================================================================
   ★ 商品列表页（forumdisplay）—— 面包屑 / 分类 / 筛选 / 分页 / 空态
   ================================================================== */
.jm-fd { padding: 18px 0 8px !important; }

/* 面包屑 */
.jm-fd .jm-crumb {
  color: #6b7899 !important; font-size: 12.5px !important;
  margin-bottom: 14px !important; display: flex !important;
  align-items: center !important; gap: 6px !important; flex-wrap: wrap !important;
}
.jm-fd .jm-crumb a { color: #8b98b8 !important; text-decoration: none !important; }
.jm-fd .jm-crumb a:hover { color: #34e0ff !important; text-decoration: none !important; }
.jm-fd .jm-crumb .sp { color: #3d4a68 !important; }
.jm-fd .jm-crumb b { color: #edf3ff !important; font-weight: 700 !important; }

/* 分类胶囊 */
.jm-fd .jm-cats { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; margin-bottom: 16px !important; }
.jm-fd .jm-cats a {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 10px 18px !important; border: 1px solid #24314f !important; border-radius: 999px !important;
  background: #101a31 !important; color: #b9c4dc !important; font-size: 13px !important;
  text-decoration: none !important; transition: .2s !important; white-space: nowrap !important;
}
.jm-fd .jm-cats a:hover {
  border-color: #34e0ff !important; color: #34e0ff !important;
  background: rgba(63,140,255,.1) !important; text-decoration: none !important;
}
.jm-fd .jm-cats a.on {
  background: linear-gradient(135deg, rgba(63,140,255,.3), rgba(52,224,255,.2)) !important;
  border-color: #34e0ff !important; color: #34e0ff !important; font-weight: 800 !important;
}
.jm-fd .jm-cats a em {
  font-style: normal !important; font-size: 11px !important; font-weight: 800 !important;
  padding: 1px 7px !important; border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important; color: #8b98b8 !important;
}
.jm-fd .jm-cats a.on em { background: rgba(52,224,255,.25) !important; color: #34e0ff !important; }

/* 筛选栏 */
.jm-fd .jm-filter {
  display: flex !important; align-items: center !important; gap: 9px !important;
  flex-wrap: wrap !important; padding: 12px 16px !important;
  border: 1px solid #24314f !important; border-radius: 14px !important;
  background: #101a31 !important; margin-bottom: 18px !important;
}
.jm-fd .jm-filter .lb { color: #6b7899 !important; font-size: 12px !important; white-space: nowrap !important; }
.jm-fd .jm-filter .cnt {
  color: #34e0ff !important; font-size: 13px !important; font-weight: 900 !important;
  font-family: Consolas, Monaco, monospace !important;
}
.jm-fd .jm-filter a {
  padding: 5px 14px !important; border: 1px solid #24314f !important; border-radius: 999px !important;
  color: #b9c4dc !important; font-size: 12.5px !important; text-decoration: none !important;
  transition: .18s !important; white-space: nowrap !important;
}
.jm-fd .jm-filter a:hover { border-color: #34e0ff !important; color: #34e0ff !important; text-decoration: none !important; }
.jm-fd .jm-filter a.on {
  background: linear-gradient(135deg, rgba(63,140,255,.3), rgba(52,224,255,.2)) !important;
  border-color: #34e0ff !important; color: #34e0ff !important; font-weight: 800 !important;
}
.jm-fd .jm-fd-acts { margin-left: auto !important; }
.jm-fd .jm-fd-acts a.hi {
  background: linear-gradient(135deg,#ffc857,#ffa53c) !important;
  border-color: transparent !important; color: #2b1a00 !important; font-weight: 800 !important;
}

/* 售价变体 */
.jm-goods .gprice.pink { background: rgba(255,128,200,.94) !important; color: #2b0a1e !important; }
.jm-goods .gprice.free { background: rgba(74,222,128,.92) !important; color: #052e16 !important; }

/* 分页（兼容 Discuz 原生 $multipage 输出） */
.jm-fd .jm-pager {
  display: flex !important; gap: 6px !important; margin: 22px 0 6px !important;
  justify-content: center !important; flex-wrap: wrap !important; align-items: center !important;
}
.jm-fd .jm-pager a,
.jm-fd .jm-pager strong,
.jm-fd .jm-pager label {
  display: inline-block !important; min-width: 34px !important; height: 34px !important;
  line-height: 32px !important; text-align: center !important; padding: 0 10px !important;
  border: 1px solid #24314f !important; border-radius: 8px !important;
  color: #b9c4dc !important; font-size: 12.5px !important; font-weight: 400 !important;
  text-decoration: none !important; background: transparent !important;
}
.jm-fd .jm-pager a:hover { border-color: #34e0ff !important; color: #34e0ff !important; text-decoration: none !important; }
.jm-fd .jm-pager strong {
  background: linear-gradient(135deg,#3f8cff,#34e0ff) !important;
  border-color: transparent !important; color: #06121f !important; font-weight: 800 !important;
}
.jm-fd .jm-pager label { border: 0 !important; color: #6b7899 !important; background: transparent !important; }
.jm-fd .jm-pager label input {
  width: 40px !important; height: 30px !important; padding: 0 6px !important;
  border: 1px solid #24314f !important; border-radius: 6px !important;
  background: #0e1830 !important; color: #edf3ff !important; font-size: 12px !important;
  text-align: center !important;
}

/* 空态 */
.jm-fd .jm-empty {
  text-align: center !important; padding: 60px 20px !important;
  border: 1px dashed #24314f !important; border-radius: 16px !important;
  background: rgba(255,255,255,.02) !important; margin-bottom: 10px !important;
}
.jm-fd .jm-empty .ic { font-size: 44px !important; display: block !important; margin-bottom: 14px !important; }
.jm-fd .jm-empty b { display: block !important; font-size: 16px !important; color: #edf3ff !important; margin-bottom: 7px !important; }
.jm-fd .jm-empty i { display: block !important; font-style: normal !important; color: #6b7899 !important; font-size: 13px !important; margin-bottom: 18px !important; }
.jm-fd .jm-empty a {
  display: inline-block !important; padding: 9px 22px !important; border-radius: 999px !important;
  border: 1px solid rgba(52,224,255,.5) !important; color: #34e0ff !important;
  font-size: 13px !important; text-decoration: none !important;
}
.jm-fd .jm-empty a:hover { background: rgba(52,224,255,.14) !important; text-decoration: none !important; }

/* ==================================================================
   ★ 筛选栏两行布局（排序 / 系列）
   ================================================================== */
.jm-fd .jm-filter {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  padding: 13px 16px !important;
}
.jm-fd .jm-filter-row {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
}
/* 系列行：与排序行用虚线分隔 */
.jm-fd .jm-filter-row.jm-frow-types {
  padding-top: 11px !important;
  border-top: 1px dashed rgba(36,49,79,.9) !important;
}
.jm-fd .jm-filter-row .lb {
  color: #6b7899 !important; font-size: 12px !important; white-space: nowrap !important;
  flex: 0 0 auto !important;
}
/* 系列胶囊里的计数 */
.jm-fd .jm-filter-row a em {
  font-style: normal !important; font-size: 10.5px !important; font-weight: 800 !important;
  padding: 0 6px !important; margin-left: 3px !important; border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important; color: #8b98b8 !important;
  display: inline-block !important; line-height: 16px !important;
}
.jm-fd .jm-filter-row a.on em {
  background: rgba(52,224,255,.25) !important; color: #34e0ff !important;
}
/* 系列太多时限制高度，可滚动 */
.jm-fd .jm-frow-types {
  max-height: 108px !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}
.jm-fd .jm-frow-types::-webkit-scrollbar { width: 6px !important; }
.jm-fd .jm-frow-types::-webkit-scrollbar-thumb {
  background: rgba(52,224,255,.3) !important; border-radius: 3px !important;
}
.jm-fd .jm-frow-types::-webkit-scrollbar-track { background: transparent !important; }

/* ==================================================================
   ★ 限时特价卡片：封面图
   ================================================================== */
.jm-flash .fitem .fimg {
  position: relative !important; width: 96px !important; height: 62px !important;
  flex: 0 0 96px !important; border-radius: 9px !important; overflow: hidden !important;
  background: linear-gradient(135deg, rgba(255,90,90,.16), rgba(63,140,255,.16)) !important;
  display: block !important;
}
.jm-flash .fitem .fimg > img {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
}
.jm-flash .fitem .fimg .foff {
  position: absolute !important; left: 5px !important; top: 5px !important; z-index: 3 !important;
  padding: 2px 7px !important; border-radius: 6px !important; font-size: 11px !important; font-weight: 900 !important;
  background: linear-gradient(135deg,#ff5a5a,#ff8c42) !important; color: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.45) !important;
}

/* ==================================================================
   ★ 管理员快捷入口条（仅管理员可见）
   ================================================================== */
.jm-adminbar {
  display: flex !important; align-items: center !important; gap: 9px !important;
  padding: 9px 15px !important; margin: 14px 0 0 !important;
  background: linear-gradient(90deg, rgba(255,200,87,.12), rgba(255,200,87,.03)) !important;
  border: 1px solid rgba(255,200,87,.34) !important; border-radius: 12px !important;
  flex-wrap: wrap !important;
}
.jm-adminbar .ab-t {
  font-size: 11.5px !important; font-weight: 900 !important; letter-spacing: .6px !important;
  color: #2b1a00 !important; background: linear-gradient(135deg,#ffc857,#ffa53c) !important;
  padding: 3px 11px !important; border-radius: 999px !important;
}
.jm-adminbar a {
  font-size: 12.5px !important; color: #ffdb9b !important; text-decoration: none !important;
  padding: 4px 11px !important; border: 1px solid rgba(255,200,87,.3) !important;
  border-radius: 999px !important; transition: .18s !important; white-space: nowrap !important;
}
.jm-adminbar a:hover {
  background: rgba(255,200,87,.2) !important; color: #fff !important; text-decoration: none !important;
  border-color: rgba(255,200,87,.7) !important;
}

/* ==================================================================
   ★★ 所有网格统一用 minmax(0,1fr)：1fr 的最小宽度是 auto，
      内容过长时会把格子撑宽导致溢出（限时特价 / 商品卡 / 数据条都中过招）
   ================================================================== */
.jm-flash .flash-items { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.jm-flash .fitem { min-width: 0 !important; overflow: hidden !important; }
.jm-flash .fitem .fbd { min-width: 0 !important; overflow: hidden !important; flex: 1 1 auto !important; }
.jm-flash .fitem .fprice { display: flex !important; align-items: baseline !important; gap: 4px !important; flex-wrap: nowrap !important; overflow: hidden !important; }
.jm-flash .fitem .fprice b { flex: 0 0 auto !important; white-space: nowrap !important; }
.jm-flash .fitem .fprice s { flex: 0 0 auto !important; white-space: nowrap !important; }
.jm-flash .fitem .fstock { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }

.jm-goods { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  @media (max-width: 1200px) { .jm-goods { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
  @media (max-width: 900px)  { .jm-goods { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.jm-goods .gcard { min-width: 0 !important; overflow: hidden !important; }

.jm-statsbar .sb { min-width: 0 !important; overflow: hidden !important; }
.jm-statsbar .sb span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }

@media (max-width: 1400px) {
  .jm-goods { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* ==================================================================
   ★ 热销列表：禁止长标题溢出列外（关键修复）
   ================================================================== */
.jm-hotrow .jm-hotrow-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.jm-hotrow.photo .jm-hotrow-list {
  grid-template-columns: minmax(0, 1fr) !important;
}
/* 全宽写真热销：5 列一行（与预览稿一致） */
.jm-hotrow.photo.full .jm-hotrow-list {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.jm-hotrow.photo.full { margin-top: 16px !important; }
.jm-hotrow .jm-hi {
  min-width: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}
.jm-hotrow .jm-hi .bd { min-width: 0 !important; overflow: hidden !important; flex: 1 1 auto !important; }
.jm-hotrow .jm-hi .bd b,
.jm-hotrow .jm-hi .bd i {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.jm-hotrow .jm-hi .n { flex: 0 0 auto !important; }
.jm-hotrow, .jm-hotrow-list, .jm-hero-l, .jm-hero-r { min-width: 0 !important; }

/* 轮播标题最多两行 */
.jm-slide-txt h3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* 商品卡标题最多两行 */
.gcard .gtitle {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
/* 限时特价标题最多一行 */
.fitem .ftitle {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
/* 影视专区网格：两行三列 */
.jm-minicats .mc-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.jm-minicats .mc-grid a { min-width: 0 !important; overflow: hidden !important; }
.jm-minicats .mc-grid a b { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }


/* ═══════════════════════════════════════════════════
   ★ 版块选择弹窗（上传资源）
   ═══════════════════════════════════════════════════ */
.jm-picker {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 99999 !important;
  background: rgba(5, 9, 18, .86) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}
.jm-picker.show { display: flex !important; }

.jm-picker-bx {
  width: 100% !important;
  max-width: 880px !important;
  max-height: 86vh !important;
  background: #101a31 !important;
  border: 1px solid #24314f !important;
  border-radius: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .8) !important;
}

.jm-picker-hd {
  padding: 20px 24px !important;
  border-bottom: 1px solid #24314f !important;
  background: linear-gradient(135deg, rgba(63, 140, 255, .12), transparent) !important;
  position: relative !important;
}
.jm-picker-hd b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #edf3ff !important;
  margin-bottom: 3px !important;
}
.jm-picker-hd span {
  color: #6b7899 !important;
  font-size: 12.5px !important;
}
.jm-picker-x {
  position: absolute !important;
  right: 20px !important;
  top: 20px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .06) !important;
  color: #8fa4c8 !important;
  font-size: 15px !important;
  line-height: 32px !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: .16s !important;
}
.jm-picker-x:hover {
  background: rgba(255, 90, 90, .2) !important;
  color: #ff6b6b !important;
}

.jm-picker-bd {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 20px 24px !important;
}

.jm-pk-group { margin-bottom: 22px !important; }
.jm-pk-group:last-child { margin-bottom: 0 !important; }

.jm-pk-gname {
  color: #34e0ff !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  margin-bottom: 11px !important;
  padding-left: 10px !important;
  position: relative !important;
}
.jm-pk-gname::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 3px !important;
  height: 13px !important;
  border-radius: 2px !important;
  background: linear-gradient(180deg, #3f8cff, #34e0ff) !important;
}

.jm-pk-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)) !important;
  gap: 9px !important;
}
.jm-pk-item {
  display: block !important;
  padding: 12px 15px !important;
  background: #0b1222 !important;
  border: 1px solid #24314f !important;
  border-radius: 10px !important;
  color: #c9d6f0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: .16s !important;
}
.jm-pk-item:hover {
  background: rgba(52, 224, 255, .12) !important;
  border-color: rgba(52, 224, 255, .55) !important;
  color: #34e0ff !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

.jm-picker-ft {
  padding: 15px 24px !important;
  border-top: 1px solid #24314f !important;
  text-align: center !important;
  font-size: 12.5px !important;
  color: #5d6b8c !important;
}
.jm-picker-ft a {
  color: #34e0ff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  margin-left: 4px !important;
}
.jm-picker-ft a:hover { text-decoration: underline !important; }

@media (max-width: 700px) {
  .jm-pk-list { grid-template-columns: 1fr 1fr !important; }
  .jm-picker-bd { padding: 16px !important; }
  .jm-picker-bx { max-height: 90vh !important; }
}


/* ═══════════════════════════════════════════════════
   ★ Discuz 原生发帖/编辑页深色主题修复
   ═══════════════════════════════════════════════════ */

/* 编辑器区域 */
#postform,
#editorbox,
.bw0,
.bm {
  background: #101a31 !important;
  border-color: #24314f !important;
}

/* 编辑器工具栏 */
.e_button,
#e_body,
.editor_toolbar,
#{$editorid}_toolbar {
  background: #0b1222 !important;
  border-color: #24314f !important;
}

/* 富文本编辑器内部 iframe / textarea */
.sceditor-container,
.sceditor-container iframe,
.sceditor-container textarea {
  background: #0b1222 !important;
  color: #edf3ff !important;
}
.sceditor-container iframe body,
body#scebody {
  background: #0b1222 !important;
  color: #edf3ff !important;
}

/* 纯文本模式 textarea */
textarea#e_textarea,
textarea.pt {
  background: #0b1222 !important;
  color: #edf3ff !important;
  border-color: #24314f !important;
}

/* 标题输入框 */
#subject,
input#subject {
  background: #0b1222 !important;
  color: #edf3ff !important;
  border-color: #24314f !important;
}

/* 附加选项区 */
#advanceoption,
.tb.cl,
.tr3,
.ptm,
.xg1 {
  background: #101a31 !important;
  color: #b9c4dc !important;
}

/* 表单行 */
.ptm input,
.ptm select,
.ptm textarea {
  background: #0b1222 !important;
  color: #edf3ff !important;
  border: 1px solid #24314f !important;
}

/* 标签页（附加选项/阅读权限等） */
#advanceoption dt,
#advanceoption .tab {
  background: #0b1222 !important;
  color: #8fa4c8 !important;
  border-color: #24314f !important;
}

/* 提交按钮 */
#postsubmit,
.pnpost .pn {
  background: linear-gradient(135deg, #3f8cff, #34e0ff) !important;
  color: #06121f !important;
  border: 0 !important;
  font-weight: 900 !important;
}

/* 主题售价输入框 */
#price,
.ptm input[name=price] {
  background: #0b1222 !important;
  color: #ffc857 !important;
  border-color: rgba(255, 200, 87, .4) !important;
  font-weight: 800 !important;
}

/* 说明文字 */
.ptm .xg1,
.ptm .xs0 {
  color: #6b7899 !important;
}

/* 跳转到发帖页时的整体背景 */
body {
  background: #0a1120 !important;
}

/* 白色底的块 */
.mbn,
.mbm,
.cl.g_tb,
.tb.cl {
  background: #101a31 !important;
}

/* 编辑器 placeholder */
.sceditor-container iframe body::before {
  color: #4a5878 !important;
}


/* ═══════════════════════════════════════════════════
   ★ 余额不足弹窗（精致版）
   ═══════════════════════════════════════════════════ */
.jm-bm-mask {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: rgba(4, 8, 16, .82) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  backdrop-filter: blur(6px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  animation: jmBmFade .22s ease;
}
@keyframes jmBmFade { from { opacity: 0; } to { opacity: 1; } }

.jm-bm-box {
  position: relative;
  width: 100% !important;
  max-width: 380px !important;
  background: linear-gradient(175deg, #1a2744 0%, #131d33 45%, #0f1829 100%) !important;
  border: 1px solid rgba(255, 200, 87, .32) !important;
  border-radius: 24px !important;
  padding: 34px 26px 24px !important;
  text-align: center !important;
  box-shadow:
    0 32px 80px rgba(0, 0, 0, .75),
    0 0 0 1px rgba(255, 255, 255, .04) inset !important;
  animation: jmBmPop .34s cubic-bezier(.34, 1.4, .64, 1);
  overflow: hidden;
}
.jm-bm-box::before {
  content: "";
  position: absolute;
  top: -60%; left: 50%;
  width: 240px; height: 240px;
  margin-left: -120px;
  background: radial-gradient(circle, rgba(255, 184, 76, .22), transparent 68%);
  pointer-events: none;
}
@keyframes jmBmPop {
  from { transform: scale(.86) translateY(12px); opacity: 0; }
  to   { transform: scale(1) translateY(0); opacity: 1; }
}

/* 关闭按钮 */
.jm-bm-box .jm-bm-x {
  position: absolute; right: 14px; top: 14px;
  width: 28px; height: 28px;
  border-radius: 9px;
  background: rgba(255,255,255,.06);
  color: #6b7899 !important;
  font-size: 13px;
  line-height: 28px;
  text-align: center;
  text-decoration: none !important;
  transition: .15s;
  z-index: 3;
}
.jm-bm-box .jm-bm-x:hover {
  background: rgba(255, 90, 90, .22);
  color: #ff6b6b !important;
}

/* 图标 */
.jm-bm-box .jm-bm-ic {
  position: relative;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 14px;
  filter: drop-shadow(0 8px 20px rgba(255, 190, 90, .5));
  animation: jmBmFloat 2.6s ease-in-out infinite;
}
@keyframes jmBmFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* 标题 */
.jm-bm-box h3 {
  position: relative;
  color: #edf3ff !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  margin: 0 0 8px !important;
  letter-spacing: .5px;
}
.jm-bm-box .jm-bm-sub {
  position: relative;
  color: #8fa4c8 !important;
  font-size: 13px !important;
  margin: 0 0 20px !important;
}
.jm-bm-box .jm-bm-sub b {
  color: #ff5c5c !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  margin: 0 3px;
}

/* 明细 */
.jm-bm-box .jm-bm-detail {
  position: relative;
  background: rgba(0, 0, 0, .26) !important;
  border: 1px solid rgba(36, 49, 79, .85) !important;
  border-radius: 14px !important;
  padding: 4px 16px !important;
  margin-bottom: 16px !important;
  text-align: left !important;
}
.jm-bm-box .jm-bm-detail .r {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(36, 49, 79, .6);
}
.jm-bm-box .jm-bm-detail .r:last-child { border-bottom: 0; }
.jm-bm-box .jm-bm-detail .r span {
  color: #7d89a8 !important;
  font-size: 12px !important;
  flex-shrink: 0;
}
.jm-bm-box .jm-bm-detail .r b {
  color: #edf3ff !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  text-align: right;
}
.jm-bm-box .jm-bm-detail .r b.have { color: #34e0ff !important; }

/* 首充卡片 */
.jm-bm-box .jm-bm-first {
  position: relative;
  background: linear-gradient(135deg, rgba(255, 92, 92, .17), rgba(255, 140, 60, .09)) !important;
  border: 1px solid rgba(255, 140, 60, .48) !important;
  border-radius: 14px !important;
  padding: 15px 16px !important;
  margin-bottom: 18px !important;
  text-align: left !important;
  cursor: pointer;
  transition: .18s;
}
.jm-bm-box .jm-bm-first:hover {
  background: linear-gradient(135deg, rgba(255, 92, 92, .26), rgba(255, 140, 60, .15)) !important;
  border-color: #ff8c3c !important;
  transform: translateY(-2px);
}
.jm-bm-box .jm-bm-first .ftag {
  display: inline-block;
  padding: 3px 11px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff5c5c, #ff8c3c);
  color: #fff !important;
  font-size: 10px;
  font-weight: 900;
  margin-bottom: 9px;
  letter-spacing: .4px;
  animation: jmBmBlink 1.6s ease-in-out infinite;
}
@keyframes jmBmBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: .6; }
}
.jm-bm-box .jm-bm-first .fl {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 5px;
}
.jm-bm-box .jm-bm-first .fp {
  color: #ffc857 !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.jm-bm-box .jm-bm-first .fa {
  color: #6b7899 !important;
  font-size: 14px !important;
}
.jm-bm-box .jm-bm-first .fg {
  color: #4ade80 !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.jm-bm-box .jm-bm-first .fu {
  color: #8fa4c8 !important;
  font-size: 11.5px !important;
}
.jm-bm-box .jm-bm-first .fn {
  color: #ffb36b !important;
  font-size: 11.5px !important;
  line-height: 1.5;
}
.jm-bm-box .jm-bm-first .fn b {
  color: #ffc857 !important;
  font-weight: 900 !important;
}

/* 按钮 */
.jm-bm-box .jm-bm-acts {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}
.jm-bm-box .jm-bm-acts a {
  display: block !important;
  padding: 14px !important;
  border-radius: 12px !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: .16s !important;
}
.jm-bm-box .jm-bm-acts a.go {
  background: linear-gradient(135deg, #ffc857, #ff8c3c) !important;
  color: #1a1200 !important;
  box-shadow: 0 8px 24px rgba(255, 160, 60, .4) !important;
}
.jm-bm-box .jm-bm-acts a.go:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(255, 160, 60, .6) !important;
}
.jm-bm-box .jm-bm-acts a.cancel {
  background: transparent !important;
  color: #6b7899 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  padding: 8px !important;
}
.jm-bm-box .jm-bm-acts a.cancel:hover { color: #8fa4c8 !important; }

/* 手机适配 */
@media (max-width: 420px) {
  .jm-bm-box {
    max-width: 100% !important;
    padding: 30px 20px 20px !important;
    border-radius: 20px !important;
  }
  .jm-bm-box .jm-bm-ic { font-size: 40px; }
  .jm-bm-box h3 { font-size: 19px !important; }
}


/* ═══════════════════════════════════════════════════
   ★ 商品评分区块
   ═══════════════════════════════════════════════════ */
.jm-rate-box {
  margin-top: 16px;
  background: #101a31;
  border: 1px solid #24314f;
  border-radius: 14px;
  padding: 16px 20px;
}
.jm-rate-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(36,49,79,.6);
}
.jm-rate-hd b {
  color: #edf3ff;
  font-size: 14px;
  font-weight: 900;
}
.jm-rate-sum { display: flex; align-items: center; gap: 8px; }
.jm-rate-sum b {
  color: #ffc857;
  font-size: 17px !important;
  font-weight: 900;
}
.jm-rate-sum em {
  color: #6b7899;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 600;
}

.jm-rate-stars { display: inline-flex; gap: 2px; }
.jm-rate-stars i {
  color: #2a3a58;
  font-style: normal;
  font-size: 13px;
  line-height: 1;
}
.jm-rate-stars i.on { color: #ffc857; }

.jm-rate-body { }
.jm-rate-loading, .jm-rate-none {
  padding: 18px;
  text-align: center;
  color: #5d6b8c;
  font-size: 12.5px;
}

/* 分布 */
.jm-rate-dist {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.jm-rate-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.jm-rate-row .lb {
  color: #8fa4c8;
  font-size: 11.5px;
  width: 34px;
  flex-shrink: 0;
}
.jm-rate-row .bar {
  flex: 1;
  height: 7px;
  background: #0b1222;
  border-radius: 999px;
  overflow: hidden;
}
.jm-rate-row .bar i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #ffc857, #ffb020);
  border-radius: 999px;
  transition: width .4s ease;
}
.jm-rate-row .num {
  color: #6b7899;
  font-size: 11px;
  width: 30px;
  text-align: right;
  flex-shrink: 0;
}

/* 我的评分 */
.jm-rate-mine {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: rgba(255,200,87,.05);
  border: 1px dashed rgba(255,200,87,.3);
  border-radius: 10px;
}
.jm-rate-mine .lb {
  color: #8fa4c8;
  font-size: 12.5px;
  flex-shrink: 0;
}

.jm-rate-pick { display: inline-flex; gap: 4px; }
.jm-rate-pick i {
  color: #2a3a58;
  font-style: normal;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: .14s;
  user-select: none;
}
.jm-rate-pick i:hover { transform: scale(1.18); }
.jm-rate-pick i.on { color: #ffc857; text-shadow: 0 0 10px rgba(255,200,87,.5); }

.jm-rate-btn {
  margin-left: auto;
  padding: 9px 22px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, #ffc857, #ffb020);
  color: #1a1200;
  font-size: 12.5px;
  font-weight: 900;
  cursor: pointer;
  font-family: inherit;
  transition: .15s;
}
.jm-rate-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(255,184,32,.4); }
.jm-rate-btn:disabled { opacity: .6; cursor: default; }

.jm-rate-tip {
  padding: 12px 14px;
  background: rgba(255,255,255,.02);
  border: 1px dashed #24314f;
  border-radius: 10px;
  color: #5d6b8c;
  font-size: 12px;
  text-align: center;
}


/* ═══════════════════════════════════════════════════
   ★ 收藏按钮
   ═══════════════════════════════════════════════════ */
.jm-fav-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 20px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid #24314f !important;
  color: #8fa4c8 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition: .16s !important;
  white-space: nowrap;
  margin-left: 10px;
  flex-shrink: 0;
}
.jm-fav-btn .ic {
  font-size: 15px;
  line-height: 1;
  transition: .18s;
}
.jm-fav-btn:hover {
  border-color: rgba(255,200,87,.55) !important;
  color: #ffc857 !important;
  background: rgba(255,200,87,.08) !important;
}
.jm-fav-btn.on {
  background: rgba(255,200,87,.14) !important;
  border-color: #ffc857 !important;
  color: #ffc857 !important;
}
.jm-fav-btn.on .ic { transform: scale(1.15); }
.jm-fav-btn.busy { opacity: .6; pointer-events: none; }

/* 收藏提示 */
.jm-fav-toast {
  position: fixed;
  left: 50%;
  bottom: 90px;
  transform: translateX(-50%) translateY(20px);
  padding: 12px 26px;
  border-radius: 12px;
  background: rgba(20,30,52,.96);
  border: 1px solid rgba(255,200,87,.4);
  color: #ffc857;
  font-size: 13px;
  font-weight: 800;
  z-index: 99998;
  opacity: 0;
  transition: .24s;
  box-shadow: 0 10px 32px rgba(0,0,0,.55);
  pointer-events: none;
}
.jm-fav-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* 移动端 */
@media (max-width: 640px) {
  .jm-fav-btn {
    padding: 0 16px !important;
    margin-left: 0 !important;
    margin-top: 8px;
  }
}

/* ══════ 商品卡片副标题 ══════ */
.gcard .gsub {
	display: block;
	color: #6b7899;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	margin-top: -2px;
	margin-bottom: 6px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


/* ══════════════════════════════════════════════════════════════
   ★ 移动端全局适配（v1）
   痛点：容器宽度溢出、横向滚动、文字截断
   ══════════════════════════════════════════════════════════════ */

/* 1. 全局防溢出 */
@media (max-width: 900px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }
  * {
    box-sizing: border-box;
    max-width: 100%;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }

  /* 2. 主容器 */
  .wp {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin: 0 auto !important;
  }

  /* 3. 顶栏：logo + 搜索 + 按钮 竖排 */
  .jm-top {
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 10px 12px !important;
  }
  .jm-top-s {
    order: 3;
    width: 100% !important;
    flex: 1 0 100% !important;
  }
  .jm-search-input {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  .jm-top-r {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .jm-top-a {
    font-size: 11.5px !important;
    padding: 6px 10px !important;
  }

  /* 4. 分类导航：横向滚动 */
  .jm-nav {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px !important;
  }
  .jm-nav::-webkit-scrollbar { display: none; }
  .jm-nav .sp,
  .jm-nav a {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  /* 5. 公告 / 实时播报 */
  .jm-notice {
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 10px 12px !important;
  }
  .jm-notice .nb-left,
  .jm-notice .nb-right {
    width: 100% !important;
    flex-wrap: wrap !important;
  }
  .jm-live {
    overflow: hidden !important;
  }
  .live-track {
    overflow: hidden !important;
  }

  /* 6. 团购条 */
  .jm-guide {
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 12px !important;
  }
  .jm-guide-steps {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .jm-guide-steps .jmg-a {
    display: none !important;
  }

  /* 7. 首屏双轮播 → 单列 */
  .jm-hero {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .jm-hero-l,
  .jm-hero-r {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  .jm-slider {
    min-height: 200px !important;
  }

  /* 8. 商品网格 */
  .jm-goods {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 9px !important;
  }
  .gcard .gtitle {
    font-size: 12px !important;
  }
  .gcard .gsub {
    font-size: 10.5px !important;
  }

  /* 9. 区块标题 */
  .jm-sechd h2 {
    font-size: 15px !important;
  }
  .jm-sechd .sub {
    font-size: 11px !important;
  }

  /* 10. 统计条 */
  .jm-statsbar {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .jm-statsbar .sb {
    flex: 1 1 45% !important;
    min-width: 0 !important;
  }

  /* 11. 详情页 */
  .jm-vd-main {
    flex-direction: column !important;
  }
  .jm-vd-side {
    width: 100% !important;
    position: static !important;
  }

  /* 12. 表格防溢出 */
  table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  /* 13. 隐藏装饰 */
  .jm-guest,
  .jm-top-bar-extra {
    display: none !important;
  }
}

/* 手机端（<=640） */
@media (max-width: 640px) {
  .jm-goods {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  /* 卡片文字缩 */
  .gcard .gtitle {
    font-size: 11.5px !important;
    -webkit-line-clamp: 2 !important;
  }
  .gcard .gsub {
    font-size: 10px !important;
  }
  .gcard .gfoot {
    font-size: 9.5px !important;
  }

  /* 轮播 */
  .jm-slider {
    min-height: 180px !important;
  }
  .jm-slide-txt h3 {
    font-size: 14px !important;
  }

  /* 按钮 */
  .jm-search-btn,
  .jm-rc-btn,
  .jm-av-btn,
  .jm-rn-btn {
    font-size: 13px !important;
  }

  /* 隐藏浮动客服（移动端已占屏） */
  .jm-service-float {
    display: none !important;
  }
}

/* 超小屏（<=380） */
@media (max-width: 380px) {
  .jm-goods {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .jm-top-a {
    font-size: 11px !important;
    padding: 5px 8px !important;
  }
}


/* ══════ 移动端溢出终极修复 v2 ══════ */
@media (max-width: 900px) {

  /* 强制所有可能的撑宽元素不超宽 */
  body, html {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  /* 强制所有直接子元素不超宽 */
  body > *,
  .wp > *,
  .jm-top > *,
  .jm-nav > *,
  .jm-notice > *,
  .jm-hero > *,
  .jm-goods > * {
    max-width: 100%;
    min-width: 0;
  }

  /* 顶栏：彻底禁止撑宽 */
  .jm-top {
    width: 100% !important;
    max-width: 100% !important;
  }
  .jm-top-r {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
  }
  .jm-top-r .jm-top-a {
    flex-shrink: 0 !important;
  }

  /* 导航：不撑宽 */
  .jm-nav {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }

  /* 公告：文字截断 */
  .jm-notice {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .jm-notice .nb-left,
  .jm-notice .nb-right {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .jm-notice .nb-right {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .jm-notice a,
  .jm-notice span {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* 实时播报：截断 */
  .jm-live {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .live-inner {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* 团购条 */
  .jm-guide {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .jm-guide-steps {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    flex-wrap: wrap !important;
  }
  .jm-guide .gd-go {
    width: 100% !important;
    margin-top: 8px !important;
  }

  /* 轮播 */
  .jm-hero,
  .jm-hero-l,
  .jm-hero-r,
  .jm-slider {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .jm-slide {
    width: 100% !important;
    max-width: 100% !important;
  }
  .jm-slide-chips {
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  .jm-slide-chips .jm-tagx {
    font-size: 9.5px !important;
    padding: 2px 6px !important;
  }

  /* 商品卡 */
  .jm-goods {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .gcard {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .gcard .gimg img,
  .gcard .gbd {
    max-width: 100% !important;
  }
  .gcard .gtitle,
  .gcard .gsub {
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
  }

  /* 统计条 */
  .jm-statsbar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* 隐藏装饰元素 */
  .jm-top-s::after,
  .jm-top-r::after {
    display: none !important;
  }
}

/* 超窄屏 */
@media (max-width: 420px) {
  .jm-top-r .jm-top-a {
    font-size: 11px !important;
    padding: 5px 8px !important;
  }
  .jm-notice .nb-right .nb-link:nth-child(n+3) {
    display: none !important;
  }
}


/* ══════ 移动端 min-width 清零 v3 ══════ */
@media (max-width: 900px) {

  /* 把所有 min-width 归零 */
  .jm-top-s,
  .jm-notice .nb-left,
  .jm-notice .nb-right,
  .jm-guide .gd-bd,
  .jm-req .req-sub,
  .jm-top-r,
  .jm-nav,
  .jm-search-input,
  .jm-search-btn,
  .jm-slide-txt,
  .jm-slide-chips,
  .gcard,
  .jm-goods,
  .jm-hero-l,
  .jm-hero-r {
    min-width: 0 !important;
  }

  /* 搜索区改成自适应 */
  .jm-top-s {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 0 100% !important;
  }

  /* 公告区自适应 */
  .jm-notice .nb-left {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 0 100% !important;
  }
  .jm-notice .nb-right {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 团购文字区 */
  .jm-guide .gd-bd {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  /* 求片区 */
  .jm-req .req-sub {
    min-width: 0 !important;
  }

  /* 搜索输入框 */
  .jm-search-input {
    min-width: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  /* 搜索按钮不收缩 */
  .jm-search-btn {
    flex: 0 0 auto !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
}

/* 手机（<=480）进一步压缩 */
@media (max-width: 480px) {
  .jm-top {
    padding: 9px 10px !important;
    gap: 8px !important;
  }
  .jm-top-s {
    gap: 6px !important;
  }
  .jm-search-input {
    padding: 9px 12px !important;
    font-size: 12.5px !important;
  }
  .jm-search-btn {
    padding: 0 11px !important;
    font-size: 11.5px !important;
  }
  .jm-notice {
    padding: 9px 10px !important;
  }
  .jm-notice .nb-link {
    font-size: 11px !important;
  }
  .jm-guide {
    padding: 10px !important;
  }
  .jm-guide .gd-title {
    font-size: 13px !important;
  }
  .jm-guide .gd-sub {
    font-size: 11px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ .wp 基础定义（覆盖 Discuz 默认 1200px 固定宽）
   ══════════════════════════════════════════════════════════════ */
.wp {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

/* 移动端进一步收窄 */
@media (max-width: 900px) {
  .wp {
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 移动端商品卡强制两列 v4
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  /* 商品网格：强制两列 */
  .jm-goods,
  .jm-goods.v2,
  div.jm-goods {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 卡片自身 */
  .jm-goods > .gcard,
  .gcard {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* 封面固定比例，不要撑满屏幕 */
  .gcard .gimg {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .gcard .gimg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* 文字区 */
  .gcard .gbd {
    padding: 8px 10px 10px !important;
  }
  .gcard .gtitle {
    font-size: 12px !important;
    line-height: 1.4 !important;
    margin-bottom: 4px !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .gcard .gsub {
    font-size: 10.5px !important;
    margin-bottom: 5px !important;
  }
  .gcard .gtags .gtag {
    font-size: 9.5px !important;
    padding: 1px 6px !important;
  }
  .gcard .gfoot {
    font-size: 10px !important;
    margin-top: 5px !important;
  }
  .gcard .gprice {
    font-size: 10px !important;
    padding: 2px 7px !important;
  }
  .gcard .gcorner {
    font-size: 9px !important;
    padding: 2px 7px !important;
  }
}

/* 超小屏也保持两列（卡片缩一点） */
@media (max-width: 380px) {
  .jm-goods {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .gcard .gtitle {
    font-size: 11px !important;
  }
}

/* 详情页也要适配 */
@media (max-width: 900px) {
  .jm-vd,
  .jm-vd-wrap,
  .jm-vd-main {
    display: block !important;
    width: 100% !important;
  }
  .jm-vd-side,
  .jm-vd-left,
  .jm-vd-right {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    margin-bottom: 12px !important;
  }
  /* 详情大图 */
  .jm-vd-cover img,
  .jm-vd-pic img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  /* 购买栏 */
  .jm-buybar-in {
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 10px 12px !important;
  }
  .jm-buybar-in .jm-buy-btn,
  .jm-buybar-in .jm-fav-btn {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 商品网格最终兜底（最高优先级，确保移动端两列）
   ══════════════════════════════════════════════════════════════ */
@media screen and (max-width: 900px) {
  html body .jm-goods,
  html body div.jm-goods {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body .jm-goods > .gcard {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media screen and (min-width: 901px) and (max-width: 1320px) {
  html body .jm-goods {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media screen and (min-width: 1321px) {
  html body .jm-goods {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 轮播幻灯片强制显示修复 v5
   .jm-slide 默认 opacity:0 + visibility:hidden，只有 .on 显示
   但有些规则把它压掉了，这里用最高优先级强制
   ══════════════════════════════════════════════════════════════ */
.jm-slider .jm-slide {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .6s ease !important;
  pointer-events: none !important;
}

.jm-slider .jm-slide.on {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}

/* 背景图强制全屏铺满 */
.jm-slider .jm-slide-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  z-index: 0 !important;
}

/* 文字层压在图片上 */
.jm-slider .jm-slide-txt {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 3 !important;
  background: linear-gradient(180deg, transparent 0%, rgba(8,14,28,.55) 45%, rgba(8,14,28,.92) 100%) !important;
}

/* 图片没加载时的兜底背景 */
.jm-slider .jm-slide {
  background: linear-gradient(135deg, #1b2a4a, #101a30) !important;
}

/* 写真轮播：确保轨道有高度 */
.jm-sl-photo .jm-slider-track {
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* 影视轮播：同样确保有高度 */
.jm-sl-movie .jm-slider-track {
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* 写真轮播最小高度 */
.jm-sl-photo {
  min-height: 560px !important;
  height: 100% !important;
}

@media (max-width: 1080px) {
  .jm-sl-photo { min-height: 480px !important; }
}
@media (max-width: 900px) {
  .jm-sl-photo { min-height: 400px !important; }
}
@media (max-width: 640px) {
  .jm-sl-photo { min-height: 340px !important; }
}


/* ══════════════════════════════════════════════════════════════
   ★ 公告栏「更多」按钮修复 + 分隔符
   ══════════════════════════════════════════════════════════════ */
.jm-notice .nb-more {
  margin-left: 6px;
  padding: 1px 9px;
  border-radius: 6px;
  background: rgba(63,140,255,.14);
  color: #34e0ff !important;
  font-size: 11.5px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  transition: .16s;
}
.jm-notice .nb-more:hover {
  background: rgba(63,140,255,.28);
  color: #fff !important;
}

.jm-notice .nb-sep {
  color: #3d4a68;
  font-size: 11px;
  user-select: none;
}

/* 公告区禁止蓝色默认链接色 */
.jm-notice a {
  text-decoration: none;
}
.jm-notice a:not(.nb-more):not(.nb-link) {
  color: #8b98b8;
}

/* 左区文字不要溢出 */
.jm-notice .nb-left {
  overflow: hidden;
}
.jm-notice .nb-left .nb-link {
  white-space: nowrap;
}


/* ══════════════════════════════════════════════════════════════
   ★ 详情页信息表优化 v6
   - 主演列表不截断，可折叠展开
   - 长内容自动换行
   ══════════════════════════════════════════════════════════════ */

/* 信息表容器 */
.jm-vd-info,
.jm-vd-specs {
  max-height: none !important;
  overflow: visible !important;
}

/* 每一行 */
.jm-vd-info .row,
.jm-vd-specs .row,
.jm-info-row {
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  padding: 11px 0 !important;
}

/* 值区域 */
.jm-vd-info .val,
.jm-vd-specs .val,
.jm-info-row .val {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
  line-height: 1.75 !important;
}

/* 演员列表：可换行，最多显示 6 行，超出折叠 */
.jm-vd-info .val:has(br),
.jm-vd-specs .val:has(br) {
  max-height: 210px;
  overflow-y: auto;
  padding-right: 6px;
}

/* 滚动条美化 */
.jm-vd-info .val::-webkit-scrollbar,
.jm-vd-specs .val::-webkit-scrollbar {
  width: 5px;
}
.jm-vd-info .val::-webkit-scrollbar-thumb,
.jm-vd-specs .val::-webkit-scrollbar-thumb {
  background: rgba(52,224,255,.35);
  border-radius: 3px;
}
.jm-vd-info .val::-webkit-scrollbar-track,
.jm-vd-specs .val::-webkit-scrollbar-track {
  background: transparent;
}

/* 字段标签固定宽度，不挤压 */
.jm-vd-info .key,
.jm-vd-specs .key,
.jm-info-row .key {
  flex: 0 0 70px !important;
  min-width: 70px !important;
  white-space: nowrap !important;
  align-self: flex-start !important;
  padding-top: 2px !important;
}

/* 演员名每个单独一行，间距舒适 */
.jm-vd-info .val br,
.jm-vd-specs .val br {
  line-height: 2 !important;
}


/* ══════════════════════════════════════════════════════════════
   ★ 页脚样式（footer_jm.htm）
   之前所有类都没有定义，导致显示浏览器默认样式
   ══════════════════════════════════════════════════════════════ */

.jm-foot {
  margin-top: 40px;
  padding: 32px 0 24px;
  background: linear-gradient(180deg, transparent, rgba(8,14,28,.6));
  border-top: 1px solid #1e2a44;
}

.jm-foot-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.6fr;
  gap: 40px;
  align-items: start;
}

/* 列 */
.jm-foot .jm-fcol h4 {
  color: #edf3ff;
  font-size: 13.5px;
  font-weight: 900;
  margin: 0 0 12px;
  letter-spacing: .2px;
}

.jm-foot .jm-fcol p {
  color: #6b7899;
  font-size: 12px;
  line-height: 1.9;
  margin: 0;
}

/* 快速链接 */
.jm-foot .jm-flinks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.jm-foot .jm-flinks a {
  color: #8fa4c8 !important;
  font-size: 12px;
  text-decoration: none !important;
  transition: color .15s;
  white-space: nowrap;
}
.jm-foot .jm-flinks a:hover {
  color: #34e0ff !important;
}

/* 联系方式 */
.jm-foot .jm-fcontact {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.jm-foot .jm-fcontact span,
.jm-foot .jm-fcontact a {
  color: #6b7899 !important;
  font-size: 11.5px;
  line-height: 1.7;
  text-decoration: none !important;
  word-break: break-all;
}

.jm-foot .jm-fcontact a:hover {
  color: #34e0ff !important;
}

.jm-foot .jm-fcontact .heart {
  color: #ff80c8 !important;
  margin-top: 4px;
  font-size: 11.5px;
}

/* 版权行 */
.jm-foot .jm-fcopy {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(36,49,79,.6);
  color: #4a5878;
  font-size: 11.5px;
  text-align: center;
  line-height: 1.8;
}

.jm-foot .jm-fcopy a {
  color: #5d6b8c !important;
  text-decoration: none !important;
}
.jm-foot .jm-fcopy a:hover {
  color: #34e0ff !important;
}

/* 移动端 */
@media (max-width: 900px) {
  .jm-foot {
    margin-top: 28px;
    padding: 24px 0 18px;
  }
  .jm-foot-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .jm-foot .jm-fcol h4 {
    font-size: 13px;
    margin-bottom: 10px;
  }
  .jm-foot .jm-flinks {
    gap: 7px 14px;
  }
  .jm-foot .jm-fcopy {
    margin-top: 20px;
    padding-top: 14px;
    font-size: 11px;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 顶部用户下拉菜单
   ══════════════════════════════════════════════════════════════ */

.jm-usermenu {
  position: relative;
  display: inline-block;
}

.jm-user-toggle {
  display: flex !important;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  padding: 5px 12px 5px 5px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid #24314f !important;
  transition: .16s;
}
.jm-user-toggle:hover {
  border-color: rgba(52,224,255,.5) !important;
  background: rgba(52,224,255,.08) !important;
}

.jm-user-toggle .ava {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3f8cff, #a78bfa);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.jm-user-toggle .nm {
  color: #c9d6f0 !important;
  font-size: 12px;
  font-weight: 700;
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jm-user-toggle .arr {
  color: #6b7899;
  font-size: 9px;
  transition: transform .18s;
}
.jm-usermenu.open .jm-user-toggle .arr {
  transform: rotate(180deg);
}

/* 下拉面板 */
.jm-user-drop {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 190px;
  padding: 7px;
  background: #101a31;
  border: 1px solid #2c3d5f;
  border-radius: 13px;
  box-shadow: 0 16px 44px rgba(0,0,0,.62);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: .16s;
}

.jm-usermenu.open .jm-user-drop {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.jm-user-drop a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 8px;
  color: #8fa4c8 !important;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none !important;
  transition: .13s;
  white-space: nowrap;
}
.jm-user-drop a:hover {
  background: rgba(52,224,255,.09);
  color: #34e0ff !important;
}

.jm-user-drop a span {
  font-size: 13px;
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}

.jm-user-drop .divider {
  height: 1px;
  margin: 6px 8px;
  background: rgba(36,49,79,.7);
}

.jm-user-drop a.logout {
  color: #ff7b7b !important;
}
.jm-user-drop a.logout:hover {
  background: rgba(255,90,90,.12);
  color: #ff5c5c !important;
}

/* 移动端 */
@media (max-width: 900px) {
  .jm-user-toggle .nm { max-width: 70px; }
  .jm-user-drop {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    min-width: 0;
    border-radius: 18px 18px 0 0;
    padding: 14px 14px 24px;
    transform: translateY(100%);
    max-height: 70vh;
    overflow-y: auto;
  }
  .jm-usermenu.open .jm-user-drop {
    transform: translateY(0);
  }
  .jm-user-drop a {
    padding: 13px 14px;
    font-size: 14px;
  }
  .jm-usermenu.open::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 9998;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 工具入口栏（导航第二行，左对齐 chip）
   ══════════════════════════════════════════════════════════════ */

.jm-tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  padding: 10px 14px;
  background: rgba(16,26,49,.6);
  border: 1px solid #24314f;
  border-radius: 12px;
}

.jm-tools .jt {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  border: 1px solid #24314f;
  color: #8fa4c8 !important;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
  transition: .15s;
  line-height: 1;
}
.jm-tools .jt:hover {
  background: rgba(52,224,255,.1);
  border-color: rgba(52,224,255,.45);
  color: #34e0ff !important;
}

/* 重点入口：签到领免费 */
.jm-tools .jt.hot {
  background: linear-gradient(135deg, rgba(255,128,200,.18), rgba(167,139,250,.08));
  border-color: rgba(255,128,200,.45);
  color: #ff80c8 !important;
  font-weight: 900;
}
.jm-tools .jt.hot:hover {
  background: linear-gradient(135deg, rgba(255,128,200,.3), rgba(167,139,250,.15));
  border-color: #ff80c8;
}

/* 会员免费 */
.jm-tools .jt.vip {
  background: rgba(255,200,87,.1);
  border-color: rgba(255,200,87,.4);
  color: #ffc857 !important;
  font-weight: 900;
}
.jm-tools .jt.vip:hover {
  background: rgba(255,200,87,.2);
  border-color: #ffc857;
}

/* 分隔线 */
.jm-tools .jt-div {
  width: 1px;
  height: 18px;
  background: rgba(36,49,79,.9);
  margin: 0 4px;
  flex-shrink: 0;
}

/* 导航本身：确保也左对齐 */
.jm-nav {
  justify-content: flex-start !important;
}

/* 移动端 */
@media (max-width: 900px) {
  .jm-tools {
    gap: 6px;
    padding: 9px 10px;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .jm-tools::-webkit-scrollbar { display: none; }
  .jm-tools .jt {
    flex-shrink: 0;
    padding: 6px 12px;
    font-size: 12px;
  }
  .jm-tools .jt-div {
    display: none;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 修复：用户名下拉按钮的下划线
   ══════════════════════════════════════════════════════════════ */
.jm-user-toggle,
.jm-user-toggle:hover,
.jm-user-toggle:focus,
.jm-usermenu .jm-user-toggle {
  text-decoration: none !important;
  border-bottom: 0 !important;
}
.jm-user-toggle .nm {
  text-decoration: none !important;
  border-bottom: 0 !important;
}


/* ══════════════════════════════════════════════════════════════
   ★ 工具条：重要入口（金色）
   ══════════════════════════════════════════════════════════════ */
.jm-tools .jt.gold {
  background: linear-gradient(135deg, rgba(255,200,87,.16), rgba(255,140,60,.06));
  border-color: rgba(255,200,87,.45);
  color: #ffc857 !important;
  font-weight: 900;
}
.jm-tools .jt.gold:hover {
  background: linear-gradient(135deg, rgba(255,200,87,.28), rgba(255,140,60,.12));
  border-color: #ffc857;
}

/* 失效反馈 - 柔和红 */
.jm-tools .jt[href*="fid=4"] {
  color: #ff9c8c !important;
}
.jm-tools .jt[href*="fid=4"]:hover {
  background: rgba(255,120,100,.12);
  border-color: rgba(255,120,100,.5);
}

/* 意见建议 - 柔和蓝 */
.jm-tools .jt[href*="fid=7"] {
  color: #8fb8ff !important;
}
.jm-tools .jt[href*="fid=7"]:hover {
  background: rgba(100,150,255,.12);
  border-color: rgba(100,150,255,.5);
}


/* ══════════════════════════════════════════════════════════════
   ★ 链接失效反馈条
   ══════════════════════════════════════════════════════════════ */
.jm-report-fail {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  margin-top: 12px;
  background: rgba(255,140,100,.06);
  border: 1px dashed rgba(255,140,100,.28);
  border-radius: 10px;
  font-size: 12px;
  color: #b9a08a;
  flex-wrap: wrap;
}
.jm-report-fail .ic { font-size: 15px; }
.jm-report-fail .tx { flex: 1; min-width: 120px; }
.jm-report-fail .btn {
  padding: 6px 14px;
  border-radius: 7px;
  background: rgba(255,140,100,.16);
  border: 1px solid rgba(255,140,100,.42);
  color: #ffa87c !important;
  font-size: 11.5px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  transition: .15s;
}
.jm-report-fail .btn:hover {
  background: rgba(255,140,100,.28);
  border-color: #ffa87c;
}
.jm-report-fail .lnk {
  color: #6b7899 !important;
  font-size: 11px;
  text-decoration: none !important;
  white-space: nowrap;
}
.jm-report-fail .lnk:hover { color: #8fa4c8 !important; }


/* ══════════════════════════════════════════════════════════════
   ★ 全站广播条（顶部通知）
   ══════════════════════════════════════════════════════════════ */
.jm-bc-bar {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 16px;
  margin: 0 0 10px;
  background: linear-gradient(90deg, rgba(255,140,60,.14), rgba(255,200,87,.06) 60%, transparent);
  border: 1px solid rgba(255,140,60,.35);
  border-radius: 11px;
  font-size: 12.5px;
  color: #e8d0b8;
  position: relative;
}
.jm-bc-bar .ic {
  font-size: 16px;
  flex-shrink: 0;
}
.jm-bc-bar .msg {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}
.jm-bc-bar .msg a {
  color: #ffc857 !important;
  text-decoration: none !important;
  font-weight: 900;
}
.jm-bc-bar .msg a:hover { text-decoration: underline !important; }
.jm-bc-bar .more {
  flex-shrink: 0;
  padding: 4px 12px;
  border-radius: 7px;
  background: rgba(255,140,60,.2);
  border: 1px solid rgba(255,140,60,.45);
  color: #ffa87c !important;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
}
.jm-bc-bar .more:hover { background: rgba(255,140,60,.32); }
.jm-bc-bar .close {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: transparent;
  border: 0;
  color: #8b7a68;
  font-size: 14px;
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
  padding: 0;
}
.jm-bc-bar .close:hover { background: rgba(255,255,255,.08); color: #c9b8a8; }

.jm-bc-bar.warn {
  background: linear-gradient(90deg, rgba(255,90,90,.14), rgba(255,140,140,.05) 60%, transparent);
  border-color: rgba(255,90,90,.4);
  color: #f0c0c0;
}
.jm-bc-bar.warn .more { background: rgba(255,90,90,.2); border-color: rgba(255,90,90,.4); color: #ff9c9c !important; }

.jm-bc-bar.good {
  background: linear-gradient(90deg, rgba(74,222,128,.14), rgba(100,255,150,.05) 60%, transparent);
  border-color: rgba(74,222,128,.4);
  color: #c0e8d0;
}
.jm-bc-bar.good .more { background: rgba(74,222,128,.2); border-color: rgba(74,222,128,.4); color: #7ddc9c !important; }

@media (max-width: 700px) {
  .jm-bc-bar {
    font-size: 11.5px;
    padding: 9px 12px;
    gap: 8px;
  }
  .jm-bc-bar .msg { white-space: normal; line-height: 1.5; }
  .jm-bc-bar .more { display: none; }
}


/* ══════════════════════════════════════════════════════════════
   ★ 广播条强制样式（最高优先级，防止被其他规则覆盖）
   ══════════════════════════════════════════════════════════════ */
.wp > .jm-bc-bar,
.jm-bc-bar#jmBcBar,
div.jm-bc-bar {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 10px 16px !important;
  margin: 0 0 10px !important;
  background: linear-gradient(90deg, rgba(255,140,60,.16), rgba(255,200,87,.07) 60%, rgba(16,26,49,.6)) !important;
  border: 1px solid rgba(255,140,60,.4) !important;
  border-radius: 11px !important;
  font-size: 12.5px !important;
  color: #e8d0b8 !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.jm-bc-bar .ic {
  font-size: 16px !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.jm-bc-bar .msg {
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
  color: #e8d0b8 !important;
  text-decoration: none !important;
}

.jm-bc-bar .msg a {
  color: #ffc857 !important;
  text-decoration: none !important;
  font-weight: 900 !important;
}
.jm-bc-bar .msg a:hover {
  text-decoration: underline !important;
}

.jm-bc-bar .more {
  flex-shrink: 0 !important;
  padding: 4px 12px !important;
  border-radius: 7px !important;
  background: rgba(255,140,60,.22) !important;
  border: 1px solid rgba(255,140,60,.48) !important;
  color: #ffa87c !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.jm-bc-bar .more:hover {
  background: rgba(255,140,60,.35) !important;
  text-decoration: none !important;
}

.jm-bc-bar .close {
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,140,60,.3) !important;
  color: #b09070 !important;
  font-size: 12px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  line-height: 1 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.jm-bc-bar .close:hover {
  background: rgba(255,140,60,.25) !important;
  color: #ffc857 !important;
}

/* 移动端 */
@media (max-width: 900px) {
  .jm-bc-bar {
    font-size: 11.5px !important;
    padding: 9px 12px !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  .jm-bc-bar .msg {
    white-space: nowrap !important;
    overflow: hidden !important;
  }
  .jm-bc-bar .more {
    display: none !important;
  }
  .jm-bc-bar .close {
    width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 移动端综合修复 v2
   1. 广播条在手机上不显示 → 强制显示
   2. 搜索按钮被切 → 修正宽度
   3. 导航右侧溢出 → 加渐变提示
   4. 首单免单卡片 → 全宽
   5. 团购步骤 → 2 列网格
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

  /* ── 1. 广播条强制显示 ── */
  .jm-bc-bar,
  div.jm-bc-bar,
  .wp > .jm-bc-bar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .jm-bc-bar .msg {
    display: block !important;
  }

  /* ── 2. 搜索框 + 按钮 ── */
  .jm-top-s {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }
  .jm-top-s input[type="text"],
  .jm-top-s .jm-top-s-inp,
  .jm-top-s form {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
  .jm-top-s .jm-top-s-btn,
  .jm-top-s button[type="submit"] {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 78px !important;
    padding: 0 16px !important;
    white-space: nowrap !important;
  }

  /* ── 3. 导航横滑 + 右边缘渐变 ── */
  .jm-nav {
    position: relative !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding-right: 28px !important;
  }
  .jm-nav::-webkit-scrollbar { display: none !important; }

  .jm-tools {
    position: relative !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding-right: 28px !important;
  }
  .jm-tools::-webkit-scrollbar { display: none !important; }

  /* 右边缘渐变（用外层伪元素实现）*/
  .jm-shophead {
    position: relative !important;
  }

  /* ── 4. 首单免单全宽 ── */
  .jm-first,
  .jm-firstorder,
  [class*="first-order"],
  [class*="firstorder"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  /* ── 5. 团购步骤 2 列 ── */
  .jm-guide .gd-steps,
  .jm-guide .steps,
  .jm-group .steps {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .jm-guide .gd-steps > *,
  .jm-guide .steps > *,
  .jm-group .steps > * {
    width: 100% !important;
  }
  .jm-guide .gd-steps .ar,
  .jm-guide .steps .ar,
  .jm-group .steps .ar {
    display: none !important;
  }

  /* ── 6. 所有容器禁止横向溢出 ── */
  .wp,
  .jm-shophead,
  .jm-hero,
  .jm-hero-l,
  .jm-hero-r {
    max-width: 100% !important;
    overflow-x: clip !important;
    box-sizing: border-box !important;
  }

  /* ── 7. 团购 × 关闭按钮移到右上角 ── */
  .jm-group .close,
  .jm-guide .close,
  [class*="group"] .close {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 26px !important;
    height: 26px !important;
  }
  .jm-group,
  .jm-guide {
    position: relative !important;
  }
  .jm-group .join-btn,
  .jm-guide .join-btn,
  [class*="group"] .btn-join {
    margin-bottom: 0 !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 团购区块修复（P1 下方空白 + P2 关闭失效）
   ══════════════════════════════════════════════════════════════ */

/* 包裹容器：清除负边距导致的塌陷 */
.jm-guide-wrap {
  display: block;
  position: relative;
  margin: 14px 0 0;
  padding: 0;
  overflow: visible;
  height: auto;
  min-height: 0;
}

/* 横幅本体：不要额外 margin-top（由 wrap 控制）*/
.jm-guide-wrap > .jm-guide {
  margin-top: 0 !important;
}

/* 步骤条：负边距改为正常，避免高度计算错误 */
.jm-guide-wrap > .jm-guide-steps {
  margin-top: -1px !important;
  padding-top: 14px !important;
  position: relative;
  z-index: 1;
}

/* 关闭后 wrap 彻底不占位 */
.jm-guide-wrap[style*="display: none"],
.jm-guide-wrap[style*="display:none"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 关闭按钮：加大点击区域 */
.jm-guide .gd-close {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  transition: .15s;
  text-decoration: none !important;
  flex-shrink: 0;
}
.jm-guide .gd-close:hover {
  background: rgba(255,255,255,.1);
  color: #fff !important;
}

/* 首屏轮播区：确保不被上方元素遮挡 */
.jm-hero {
  position: relative;
  z-index: 1;
  margin-top: 14px !important;
  clear: both;
}

/* 移动端 */
@media (max-width: 900px) {
  .jm-guide-wrap {
    margin: 12px 0 0;
  }
  .jm-guide-wrap > .jm-guide-steps {
    margin-top: -1px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 全局链接下划线修复（P5）
   商品标题、导航、按钮等一律不要下划线
   ══════════════════════════════════════════════════════════════ */

/* 商品卡标题 */
.jm-goods a,
.jm-goods .ttl,
.jm-gcard a,
.jm-card a,
.jm-g-title,
.jm-g-sub,
a.jm-gt,
.jm-list-item a,
.jm-goods-title,
.jm-goods-sub {
  text-decoration: none !important;
}

/* 轮播标题 */
.jm-slide h3,
.jm-slide .jm-slide-title,
.jm-slide-meta,
.jm-slider a {
  text-decoration: none !important;
}

/* 榜单、排行、推荐 */
.jm-rank a,
.jm-hot a,
.jm-rec a,
.jm-related a,
.jm-rel a {
  text-decoration: none !important;
}

/* 导航与工具条 */
.jm-nav a,
.jm-tools a,
.jm-top a,
.jm-top-s a,
.jm-usermenu a,
.jm-user-drop a,
.jm-foot a,
.jm-flinks a,
.jm-fcontact a,
.jm-fcopy a {
  text-decoration: none !important;
}

/* 公告、实时播报 */
.jm-notice a,
.jm-live a,
.jm-bc-bar a,
.nb-link,
.nb-more,
.live-inner a {
  text-decoration: none !important;
}

/* 详情页 */
.jm-vd a,
.jm-vd-title,
.jm-vd-sub,
.jm-tag,
.jm-tags a,
.jm-dl a,
.jm-report-fail a {
  text-decoration: none !important;
}

/* 分类、版块卡片 */
.jm-forum-card a,
.jm-cat a,
.jm-fc a,
.jm-sub-forum a {
  text-decoration: none !important;
}

/* 全局兜底：所有内容区链接 */
.wp a {
  text-decoration: none;
}
.wp a:hover {
  text-decoration: none;
}

/* 只有正文里的链接保留下划线 */
.jm-post-content a,
.t_f a,
.pcb a {
  text-decoration: underline;
}

/* 面包屑 */
.jm-crumb a,
.bm a,
#pt a,
.nvhm a,
.nv a {
  text-decoration: none !important;
}


/* ══════════════════════════════════════════════════════════════
   ★ 顶栏按钮下划线彻底修复（P4）
   .jm-top-a / .jm-lang / .jm-logo 等全部清除
   ══════════════════════════════════════════════════════════════ */
.jm-top-a,
.jm-top-a:link,
.jm-top-a:visited,
.jm-top-a:hover,
.jm-top-a:active,
.jm-top-a:focus,
.jm-lang,
.jm-lang:link,
.jm-lang:visited,
.jm-lang:hover,
.jm-lang:active,
.jm-lang:focus,
.jm-logo,
.jm-logo:hover,
.jm-logo-txt,
.jm-logo-txt b,
.jm-logo-txt i,
.jm-user-toggle,
.jm-user-toggle:hover,
.jm-user-toggle .nm,
.jm-search-btn,
.jm-search-btn:hover {
  text-decoration: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
}

/* 顶栏所有 a 标签 */
.jm-top a,
.jm-top a:hover,
.jm-top a:focus,
.jm-top-s a,
.jm-top-r a,
.jm-top-r a:hover {
  text-decoration: none !important;
  border-bottom: 0 !important;
}

/* 全局兜底：所有 a 标签默认无下划线 */
a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

/* 只有正文内容区保留下划线 */
.t_f a,
.pcb a,
.jm-post-content a,
.message a {
  text-decoration: underline;
}

/* ══════════════════════════════════════════════════════════════
   ★ 广播条关闭按钮（P1）—— 加大点击区，改用 data 属性
   ══════════════════════════════════════════════════════════════ */
.jm-bc-bar .close,
.jm-bc-bar .jm-bc-close {
  flex-shrink: 0 !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,140,60,.4) !important;
  color: #c9a882 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  line-height: 1 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: .15s !important;
  position: relative !important;
  z-index: 10 !important;
}
.jm-bc-bar .close:hover,
.jm-bc-bar .jm-bc-close:hover {
  background: rgba(255,140,60,.3) !important;
  border-color: #ffc857 !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════════════════════
   ★ 公告详情页样式（P2）
   ══════════════════════════════════════════════════════════════ */
.jm-ntd {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 16px 80px;
}

.jm-ntd-crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6b7899;
  font-size: 12.5px;
  margin-bottom: 20px;
}
.jm-ntd-crumb a { color: #8b98b8 !important; text-decoration: none !important; }
.jm-ntd-crumb a:hover { color: #34e0ff !important; }
.jm-ntd-crumb b { color: #edf3ff; font-weight: 700; }
.jm-ntd-crumb .sep { color: #3d4a68; }

.jm-ntd-head {
  padding: 28px 32px;
  background: linear-gradient(135deg, rgba(63,140,255,.12), rgba(52,224,255,.04) 60%, transparent), #101a31;
  border: 1px solid rgba(63,140,255,.28);
  border-radius: 18px 18px 0 0;
  border-bottom: 0;
}

.jm-ntd-head h1 {
  color: #edf3ff;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.45;
  margin: 0 0 14px;
}

.jm-ntd-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  color: #6b7899;
  font-size: 12px;
}
.jm-ntd-meta .who {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #8fa4c8;
  font-weight: 700;
}
.jm-ntd-meta .who .av {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3f8cff, #a78bfa);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.jm-ntd-meta .sep { color: #3d4a68; }
.jm-ntd-meta .badge-pin {
  padding: 2px 9px;
  border-radius: 5px;
  background: rgba(255,200,87,.18);
  color: #ffc857;
  font-size: 10px;
  font-weight: 900;
}

.jm-ntd-body {
  padding: 32px;
  background: #101a31;
  border: 1px solid rgba(63,140,255,.28);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  color: #c9d6f0;
  font-size: 14.5px;
  line-height: 2;
  word-break: break-word;
}

.jm-ntd-body p { margin: 0 0 16px; }
.jm-ntd-body p:last-child { margin-bottom: 0; }
.jm-ntd-body img { max-width: 100%; height: auto; border-radius: 10px; margin: 12px 0; display: block; }
.jm-ntd-body a { color: #34e0ff !important; text-decoration: underline !important; }
.jm-ntd-body a:hover { color: #fff !important; }
.jm-ntd-body h2, .jm-ntd-body h3, .jm-ntd-body h4 {
  color: #edf3ff;
  font-weight: 900;
  margin: 24px 0 12px;
  line-height: 1.5;
}
.jm-ntd-body h2 { font-size: 18px; }
.jm-ntd-body h3 { font-size: 16px; }
.jm-ntd-body h4 { font-size: 14.5px; }
.jm-ntd-body ul, .jm-ntd-body ol { margin: 0 0 16px; padding-left: 24px; }
.jm-ntd-body li { margin-bottom: 6px; }
.jm-ntd-body blockquote {
  margin: 16px 0;
  padding: 12px 18px;
  background: rgba(52,224,255,.05);
  border-left: 3px solid #34e0ff;
  border-radius: 0 9px 9px 0;
  color: #a8bcd4;
}
.jm-ntd-body code {
  padding: 2px 7px;
  background: rgba(255,255,255,.08);
  border-radius: 5px;
  color: #ffc857;
  font-family: Consolas, Monaco, monospace;
  font-size: 13px;
}
.jm-ntd-body pre {
  padding: 14px 18px;
  background: #0b1222;
  border: 1px solid #24314f;
  border-radius: 10px;
  overflow-x: auto;
  margin: 16px 0;
}
.jm-ntd-body pre code {
  background: none;
  padding: 0;
  color: #c9d6f0;
}

/* 底部操作 */
.jm-ntd-foot {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.jm-ntd-foot .back {
  padding: 10px 22px;
  border-radius: 10px;
  background: rgba(255,255,255,.05);
  border: 1px solid #24314f;
  color: #8fa4c8 !important;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none !important;
  transition: .15s;
}
.jm-ntd-foot .back:hover {
  border-color: rgba(52,224,255,.5);
  color: #34e0ff !important;
}
.jm-ntd-foot .edit {
  padding: 10px 22px;
  border-radius: 10px;
  background: linear-gradient(135deg, #3f8cff, #34e0ff);
  color: #06121f !important;
  font-size: 12.5px;
  font-weight: 900;
  text-decoration: none !important;
}

/* 上一篇/下一篇 */
.jm-ntd-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}
.jm-ntd-nav a {
  display: block;
  padding: 14px 18px;
  background: #101a31;
  border: 1px solid #24314f;
  border-radius: 12px;
  text-decoration: none !important;
  transition: .15s;
}
.jm-ntd-nav a:hover { border-color: rgba(52,224,255,.45); }
.jm-ntd-nav .lb { display: block; color: #5d6b8c; font-size: 10.5px; margin-bottom: 5px; }
.jm-ntd-nav .tt { display: block; color: #c9d6f0; font-size: 12.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 700px) {
  .jm-ntd { padding: 16px 12px 60px; }
  .jm-ntd-head { padding: 20px; border-radius: 14px 14px 0 0; }
  .jm-ntd-head h1 { font-size: 19px; }
  .jm-ntd-body { padding: 20px; font-size: 13.5px; line-height: 1.9; }
  .jm-ntd-nav { grid-template-columns: 1fr; }
}


/* ══════════════════════════════════════════════════════════════
   ★ 登录弹窗（桌面端）—— 移动端隐藏，走整页
   ══════════════════════════════════════════════════════════════ */

.jm-lgn-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(4, 8, 16, .82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.jm-lgn-modal.show {
  display: flex;
}

.jm-lgn-modal .box {
  position: relative;
  display: grid;
  grid-template-columns: 320px 1fr;
  width: 100%;
  max-width: 820px;
  max-height: 90vh;
  background: linear-gradient(165deg, #16233f, #0d1526);
  border: 1px solid #2c3d5f;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .75);
  animation: jmLgnIn .22s ease;
}

@keyframes jmLgnIn {
  from { opacity: 0; transform: translateY(16px) scale(.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* 关闭按钮 */
.jm-lgn-modal .x {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: #8fa4c8;
  font-size: 14px;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: .15s;
}
.jm-lgn-modal .x:hover {
  background: rgba(255,90,90,.2);
  border-color: rgba(255,90,90,.5);
  color: #ff7b7b;
}

/* 左侧品牌 */
.jm-lgn-modal .side {
  padding: 40px 32px;
  background: linear-gradient(160deg, rgba(63,140,255,.2), rgba(167,139,250,.08) 60%, transparent);
  border-right: 1px solid rgba(36,49,79,.7);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.jm-lgn-modal .side .ic { font-size: 36px; display: block; margin-bottom: 14px; }
.jm-lgn-modal .side h2 {
  color: #edf3ff;
  font-size: 24px;
  font-weight: 900;
  margin: 0 0 4px;
  letter-spacing: .5px;
}
.jm-lgn-modal .side p {
  color: #34e0ff;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 3px;
  margin: 0 0 26px;
  opacity: .85;
}
.jm-lgn-modal .side ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.jm-lgn-modal .side li {
  color: #8fa4c8;
  font-size: 12px;
  line-height: 2.3;
}

/* 右侧表单 */
.jm-lgn-modal .main {
  padding: 40px 38px;
  overflow-y: auto;
}
.jm-lgn-modal .main h3 {
  color: #edf3ff;
  font-size: 20px;
  font-weight: 900;
  margin: 0 0 6px;
}
.jm-lgn-modal .main .sub {
  color: #6b7899;
  font-size: 12px;
  margin: 0 0 22px;
}

.jm-lgn-modal .msg {
  padding: 10px 14px;
  border-radius: 9px;
  background: rgba(255,90,90,.13);
  border: 1px solid rgba(255,90,90,.4);
  color: #ff7b7b;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 16px;
}

.jm-lgn-modal .field { margin-bottom: 14px; }
.jm-lgn-modal .field label {
  display: block;
  color: #8fa4c8;
  font-size: 11.5px;
  font-weight: 700;
  margin-bottom: 6px;
}
.jm-lgn-modal .inp {
  width: 100%;
  padding: 11px 15px;
  background: #0b1222;
  border: 2px solid #24314f;
  border-radius: 9px;
  color: #edf3ff;
  font-size: 13px;
  font-family: inherit;
  box-sizing: border-box;
  transition: .15s;
}
.jm-lgn-modal .inp:focus {
  outline: none;
  border-color: #34e0ff;
  box-shadow: 0 0 0 3px rgba(52,224,255,.12);
}
.jm-lgn-modal .inp::placeholder { color: #4a5878; }

/* 验证码 */
.jm-lgn-modal .captcha-row { display: flex; gap: 9px; align-items: stretch; }
.jm-lgn-modal .captcha-inp { flex: 1; min-width: 0; }
.jm-lgn-modal .captcha-img {
  flex-shrink: 0;
  height: 44px;
  width: 112px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #24314f;
  cursor: pointer;
  background: #fff;
}

/* 自动登录 */
.jm-lgn-modal .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 6px 0 18px;
  flex-wrap: wrap;
  gap: 8px;
}
.jm-lgn-modal .cb {
  display: flex !important;
  align-items: center;
  gap: 7px;
  color: #8fa4c8;
  font-size: 11.5px;
  font-weight: 500;
  margin: 0 !important;
  cursor: pointer;
}
.jm-lgn-modal .cb input {
  width: 14px;
  height: 14px;
  accent-color: #34e0ff;
  cursor: pointer;
}

/* 按钮 */
.jm-lgn-modal .btn {
  width: 100%;
  padding: 13px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #3f8cff, #34e0ff);
  color: #06121f;
  font-size: 14.5px;
  font-weight: 900;
  letter-spacing: 2px;
  cursor: pointer;
  font-family: inherit;
  transition: .15s;
  box-shadow: 0 5px 18px rgba(63,140,255,.32);
}
.jm-lgn-modal .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(63,140,255,.45);
}

/* 底部链接 */
.jm-lgn-modal .links {
  margin-top: 18px;
  text-align: center;
  color: #6b7899;
  font-size: 11.5px;
}
.jm-lgn-modal .links a {
  color: #34e0ff !important;
  text-decoration: none !important;
  font-weight: 800;
}
.jm-lgn-modal .links a:hover { text-decoration: underline !important; }
.jm-lgn-modal .links .sep { margin: 0 7px; color: #3d4a68; }

/* 移动端：隐藏弹窗，走整页 */
@media (max-width: 820px) {
  .jm-lgn-modal {
    display: none !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 广播条/团购条 隐藏状态（用 class 而非内联 style）
   解决 !important 覆盖 JS 内联样式的问题
   ══════════════════════════════════════════════════════════════ */
.jm-bc-bar.jm-hidden,
.jm-guide-wrap.jm-hidden {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/* 关闭按钮：确保整个按钮可点（含子元素）*/
.jm-bc-bar .jm-bc-close {
  cursor: pointer !important;
  pointer-events: auto !important;
}
.jm-bc-bar .jm-bc-close * {
  pointer-events: none;
}


/* ══════════════════════════════════════════════════════════════
   ★ 登录/注册页：左侧品牌区可见性修复（P1）
   ══════════════════════════════════════════════════════════════ */
.jm-lgn .jm-lgn-side,
.jm-lgn .jm-lgn-side .logo,
.jm-lgn .jm-lgn-side .logo .ic,
.jm-lgn .jm-lgn-side .logo h1,
.jm-lgn .jm-lgn-side .logo p,
.jm-lgn .jm-lgn-side .feats,
.jm-lgn .jm-lgn-side .feats li {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.jm-lgn .jm-lgn-side .ic {
  display: block !important;
  font-size: 40px !important;
  margin-bottom: 14px !important;
  line-height: 1 !important;
}
.jm-lgn .jm-lgn-side .logo h1 {
  color: #edf3ff !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  margin: 0 0 4px !important;
  letter-spacing: 1px !important;
  line-height: 1.3 !important;
}
.jm-lgn .jm-lgn-side .logo p {
  color: #34e0ff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  margin: 0 !important;
  opacity: .85 !important;
}
.jm-lgn .jm-lgn-side .feats li {
  color: #8fa4c8 !important;
  font-size: 12.5px !important;
  line-height: 2.4 !important;
  list-style: none !important;
}

/* 确保 grid 布局生效 */
.jm-lgn .jm-lgn-box {
  display: grid !important;
  grid-template-columns: 380px 1fr !important;
}

/* ══════════════════════════════════════════════════════════════
   ★ 顶栏按钮裁切修复（P3）
   ══════════════════════════════════════════════════════════════ */
.jm-top {
  overflow: visible !important;
}
.jm-top-r {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  align-items: center !important;
}
.jm-top-a,
.jm-lang {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  line-height: 1.5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 16px !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

/* 繁体中文按钮 */
.jm-lang {
  font-family: inherit !important;
  cursor: pointer !important;
}

/* ══════════════════════════════════════════════════════════════
   ★ 搜索按钮修复（P3）
   ══════════════════════════════════════════════════════════════ */
.jm-top-s {
  overflow: visible !important;
  min-width: 0 !important;
}
.jm-top-s form {
  display: flex !important;
  gap: 9px !important;
  margin: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
  overflow: visible !important;
}
.jm-search-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 42px !important;
  box-sizing: border-box !important;
  padding: 0 18px !important;
  line-height: 40px !important;
}
.jm-search-btn {
  flex: 0 0 auto !important;
  height: 42px !important;
  min-width: 96px !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  overflow: visible !important;
  text-indent: 0 !important;
  letter-spacing: normal !important;
}

/* 移动端 */
@media (max-width: 900px) {
  .jm-search-btn {
    min-width: 80px !important;
    padding: 0 16px !important;
    font-size: 12.5px !important;
  }
  .jm-search-input {
    height: 40px !important;
    line-height: 38px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 会员支付二维码（P9）
   ══════════════════════════════════════════════════════════════ */
.jm-vp-paybox {
  margin: 18px 0;
  background: linear-gradient(135deg, rgba(63,140,255,.12), rgba(52,224,255,.04) 60%, transparent), #101a31;
  border: 1px solid rgba(63,140,255,.35);
  border-radius: 16px;
  overflow: hidden;
}

.jm-vp-paybox .hd {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(36,49,79,.7);
}
.jm-vp-paybox .hd .ic { font-size: 18px; }
.jm-vp-paybox .hd b { color: #edf3ff; font-size: 14px; font-weight: 900; flex: 1; }
.jm-vp-paybox .hd .x {
  width: 26px; height: 26px; border-radius: 7px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  color: #8fa4c8 !important;
  font-size: 13px;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none !important;
  transition: .15s;
}
.jm-vp-paybox .hd .x:hover { background: rgba(255,90,90,.2); color: #ff7b7b !important; }

.jm-vp-paybox .bd {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 26px;
  padding: 24px;
  align-items: start;
}

.jm-vp-paybox .qr {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.jm-vp-paybox .qr img {
  width: 196px;
  height: 196px;
  display: block;
}

.jm-vp-paybox .info { display: flex; flex-direction: column; gap: 12px; }

.jm-vp-paybox .row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12.5px;
}
.jm-vp-paybox .row .lb { color: #6b7899; min-width: 68px; flex-shrink: 0; }
.jm-vp-paybox .row .vl { color: #edf3ff; font-weight: 800; }
.jm-vp-paybox .row .amt {
  color: #ffc857;
  font-size: 22px;
  font-weight: 900;
}
.jm-vp-paybox .row .no {
  color: #5d6b8c;
  font-family: Consolas, Monaco, monospace;
  font-size: 11px;
  word-break: break-all;
}

.jm-vp-paybox .tip {
  padding: 12px 15px;
  background: rgba(52,224,255,.05);
  border: 1px dashed rgba(52,224,255,.24);
  border-radius: 9px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11.5px;
  color: #8fa4c8;
  line-height: 1.7;
}

.jm-vp-paybox .done-btn {
  display: block;
  padding: 13px;
  border-radius: 10px;
  background: linear-gradient(135deg, #4ade80, #34e0ff);
  color: #052e16 !important;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  text-decoration: none !important;
  transition: .15s;
  box-shadow: 0 5px 18px rgba(74,222,128,.3);
}
.jm-vp-paybox .done-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(74,222,128,.45);
}

/* 支付完成提示 */
.jm-vp-paydone {
  margin: 18px 0;
  padding: 18px 24px;
  background: rgba(74,222,128,.13);
  border: 1px solid rgba(74,222,128,.4);
  border-radius: 13px;
  color: #4ade80;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

@media (max-width: 760px) {
  .jm-vp-paybox .bd {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
    justify-items: center;
  }
  .jm-vp-paybox .info { width: 100%; }
  .jm-vp-paybox .qr img { width: 180px; height: 180px; }
}


/* ══════════════════════════════════════════════════════════════
   ★ 管理台入口样式
   ══════════════════════════════════════════════════════════════ */
.jm-tools .jt.adm {
  background: linear-gradient(135deg, rgba(167,139,250,.2), rgba(63,140,255,.08));
  border-color: rgba(167,139,250,.5);
  color: #c4b5fd !important;
  font-weight: 900;
}
.jm-tools .jt.adm:hover {
  background: linear-gradient(135deg, rgba(167,139,250,.32), rgba(63,140,255,.15));
  border-color: #a78bfa;
  color: #e0d5ff !important;
}

/* 页面顶部管理提示条 */
.jm-adm-tip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 18px;
  margin-bottom: 16px;
  background: linear-gradient(90deg, rgba(167,139,250,.14), rgba(63,140,255,.05) 60%, transparent);
  border: 1px solid rgba(167,139,250,.4);
  border-radius: 11px;
  flex-wrap: wrap;
}
.jm-adm-tip span {
  color: #c4b5fd;
  font-size: 12.5px;
  font-weight: 800;
}
.jm-adm-tip a {
  padding: 7px 16px;
  border-radius: 8px;
  background: rgba(167,139,250,.22);
  border: 1px solid rgba(167,139,250,.5);
  color: #c4b5fd !important;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  transition: .15s;
}
.jm-adm-tip a:hover {
  background: rgba(167,139,250,.35);
  color: #fff !important;
}


/* ══════════════════════════════════════════════════════════════
   ★ 广播条/团购条 隐藏（最高权重，ID 选择器）
   解决 jm-hidden 类被 .wp > .jm-bc-bar 等高权重规则覆盖
   ══════════════════════════════════════════════════════════════ */
#jmBcBar.jm-hidden,
#jmBcBar[data-jm-closed="1"],
div#jmBcBar.jm-hidden,
.wp > #jmBcBar.jm-hidden,
#jmGuideWrap.jm-hidden,
#jmGuideWrap[data-jm-closed="1"],
div#jmGuideWrap.jm-hidden,
.wp > #jmGuideWrap.jm-hidden {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* 团购步骤条也要一起隐藏 */
#jmGuideWrap.jm-hidden #jmGuideSteps,
#jmGuideWrap[data-jm-closed="1"] #jmGuideSteps {
  display: none !important;
}

/* 关闭按钮：确保可点 */
#jmBcBar .jm-bc-close,
#jmGuideWrap .gd-close {
  cursor: pointer !important;
  pointer-events: auto !important;
}
#jmBcBar .jm-bc-close *,
#jmGuideWrap .gd-close * {
  pointer-events: none !important;
}


/* ══════════════════════════════════════════════════════════════
   ★ 反馈页 Tab（管理员/用户切换）
   ══════════════════════════════════════════════════════════════ */
.jm-fb-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: #101a31;
  border: 1px solid #24314f;
  border-radius: 12px;
  margin-bottom: 16px;
}
.jm-fb-tabs .tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 20px;
  border-radius: 9px;
  color: #8fa4c8 !important;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none !important;
  transition: .15s;
  white-space: nowrap;
}
.jm-fb-tabs .tab:hover {
  background: rgba(255,255,255,.05);
  color: #34e0ff !important;
}
.jm-fb-tabs .tab.on {
  background: linear-gradient(135deg, rgba(52,224,255,.22), rgba(63,140,255,.08));
  color: #34e0ff !important;
  font-weight: 900;
}
.jm-fb-tabs .tab em {
  font-style: normal;
  padding: 1px 8px;
  border-radius: 999px;
  background: rgba(255,90,90,.24);
  color: #ff7b7b;
  font-size: 10px;
  font-weight: 900;
}

/* 管理台卡片（复用 jm-fa-* 类）*/
.jm-fa-panel { margin-bottom: 16px; }
.jm-fa-list { display: flex; flex-direction: column; gap: 12px; }

.jm-fa-card {
  padding: 18px 22px;
  background: #101a31;
  border: 1px solid #24314f;
  border-radius: 14px;
}
.jm-fa-card.done {
  border-color: rgba(74,222,128,.3);
  background: rgba(74,222,128,.02);
}
.jm-fa-card .hd {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 12px; flex-wrap: wrap;
}
.jm-fa-card .avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: linear-gradient(135deg, #3f8cff, #a78bfa);
  color: #fff; font-size: 12px; font-weight: 900;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.jm-fa-card .who { display: flex; flex-direction: column; gap: 2px; }
.jm-fa-card .who b { color: #c9d6f0; font-size: 12.5px; font-weight: 800; }
.jm-fa-card .who .tm { color: #5d6b8c; font-size: 10.5px; }

.jm-fa-card .cat {
  padding: 3px 11px; border-radius: 6px;
  background: rgba(52,224,255,.1);
  border: 1px solid rgba(52,224,255,.28);
  color: #34e0ff; font-size: 10.5px; font-weight: 800;
}
.jm-fa-card .badge {
  margin-left: auto; padding: 3px 11px; border-radius: 6px;
  font-size: 10.5px; font-weight: 900;
}
.jm-fa-card .badge.amber { background: rgba(255,200,87,.14); color: #ffc857; }
.jm-fa-card .badge.green { background: rgba(74,222,128,.14); color: #4ade80; }
.jm-fa-card .likes { color: #8fa4c8; font-size: 11px; }

.jm-fa-card .bd { margin-bottom: 12px; }
.jm-fa-card .ttl {
  display: block; color: #edf3ff !important;
  font-size: 14.5px; font-weight: 900; margin-bottom: 8px;
  text-decoration: none !important;
}
.jm-fa-card .ttl:hover { color: #34e0ff !important; }
.jm-fa-card .desc {
  color: #8fa4c8; font-size: 12.5px; line-height: 1.8;
  margin: 0 0 8px; white-space: pre-wrap; word-break: break-word;
}
.jm-fa-card .reply {
  padding: 10px 14px;
  background: rgba(52,224,255,.05);
  border-left: 3px solid #34e0ff;
  border-radius: 0 8px 8px 0;
  color: #a8bcd4; font-size: 12px; line-height: 1.7; margin: 0;
}
.jm-fa-card .reply b { color: #34e0ff; }

.jm-fa-card .acts {
  display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
  padding-top: 12px; border-top: 1px solid rgba(36,49,79,.6);
}
.frm-inline { display: inline-flex; align-items: center; gap: 7px; margin: 0; }
.reply-inp {
  padding: 8px 13px; background: #0b1222;
  border: 1px solid #24314f; border-radius: 8px;
  color: #edf3ff; font-size: 12px; font-family: inherit;
  width: 220px;
}
.reply-inp:focus { outline: none; border-color: #34e0ff; }

.btn {
  padding: 8px 16px; border-radius: 8px;
  background: rgba(255,255,255,.06); border: 1px solid #24314f;
  color: #8fa4c8 !important; font-size: 12px; font-weight: 800;
  cursor: pointer; font-family: inherit; text-decoration: none !important;
  transition: .15s; white-space: nowrap;
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
}
.btn:hover { border-color: rgba(52,224,255,.5); color: #34e0ff !important; }
.btn.ok {
  background: rgba(74,222,128,.16); border-color: rgba(74,222,128,.45); color: #4ade80 !important;
}
.btn.ok:hover { background: rgba(74,222,128,.28); }
.btn.danger {
  background: rgba(255,90,90,.12); border-color: rgba(255,90,90,.4); color: #ff7b7b !important;
}
.btn.danger:hover { background: rgba(255,90,90,.24); }

.jm-fa-empty {
  padding: 44px 20px; text-align: center;
  background: #101a31; border: 1px dashed #24314f; border-radius: 14px;
}
.jm-fa-empty .ic { display: block; font-size: 38px; margin-bottom: 12px; opacity: .4; }
.jm-fa-empty b { display: block; color: #c9d6f0; font-size: 13.5px; }

/* ══════════════════════════════════════════════════════════════
   ★ 团购条凸显（P8）—— 缺人所以要更显眼
   ══════════════════════════════════════════════════════════════ */
.jm-guide-wrap > .jm-guide {
  border: 2px solid rgba(255,128,200,.65) !important;
  background: linear-gradient(115deg, rgba(255,128,200,.22) 0%, rgba(167,139,250,.1) 55%, rgba(16,26,49,.5) 100%) !important;
  box-shadow: 0 0 0 1px rgba(255,128,200,.2), 0 8px 32px rgba(255,128,200,.28) !important;
  animation: jmGuidePulse 2.6s ease-in-out infinite;
}

@keyframes jmGuidePulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,128,200,.2), 0 8px 32px rgba(255,128,200,.28); }
  50%      { box-shadow: 0 0 0 3px rgba(255,128,200,.35), 0 12px 44px rgba(255,128,200,.5); }
}

.jm-guide-wrap > .jm-guide .gd-go {
  background: linear-gradient(135deg, #ff80c8, #a78bfa) !important;
  color: #2b0a1e !important;
  font-weight: 900 !important;
  box-shadow: 0 6px 24px rgba(255,128,200,.5) !important;
  animation: jmBtnPulse 1.8s ease-in-out infinite;
}

@keyframes jmBtnPulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.04); }
}

.jm-guide-wrap > .jm-guide .gd-go:hover {
  animation: none;
  transform: scale(1.06);
  box-shadow: 0 10px 32px rgba(255,128,200,.7) !important;
}

/* 缺人提示标签 */
.jm-guide-wrap > .jm-guide .gd-bd b::after {
  content: " · 缺人中";
  display: inline-block;
  margin-left: 6px;
  padding: 1px 8px;
  border-radius: 5px;
  background: rgba(255,90,90,.28);
  color: #ff9c9c;
  font-size: 10px;
  font-weight: 900;
  vertical-align: middle;
  animation: jmBlink 1.6s ease-in-out infinite;
}

@keyframes jmBlink {
  0%, 100% { opacity: 1; }
  50%      { opacity: .45; }
}

@media (max-width: 900px) {
  .jm-guide-wrap > .jm-guide {
    border-width: 2px !important;
  }
  .jm-guide-wrap > .jm-guide .gd-go {
    width: 100% !important;
    padding: 13px !important;
    font-size: 14px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 公告发布/编辑页
   ══════════════════════════════════════════════════════════════ */
.jm-np {
  background: #101a31;
  border: 1px solid #24314f;
  border-radius: 16px;
  overflow: hidden;
}

.jm-np-hd {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 28px;
  background: linear-gradient(135deg, rgba(63,140,255,.12), rgba(52,224,255,.04) 60%, transparent);
  border-bottom: 1px solid rgba(36,49,79,.7);
}
.jm-np-hd .ic { font-size: 34px; line-height: 1; }
.jm-np-hd h1 { color: #edf3ff; font-size: 20px; font-weight: 900; margin: 0 0 5px; }
.jm-np-hd p { color: #8fa4c8; font-size: 12.5px; margin: 0; }

.jm-np-msg {
  margin: 20px 28px 0;
  padding: 12px 18px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
}
.jm-np-msg.ok { background: rgba(74,222,128,.14); border: 1px solid rgba(74,222,128,.4); color: #4ade80; }
.jm-np-msg.err { background: rgba(255,90,90,.13); border: 1px solid rgba(255,90,90,.4); color: #ff7b7b; }

.jm-np-form { padding: 24px 28px 28px; }

.jm-np-form .field { margin-bottom: 20px; }
.jm-np-form label {
  display: block;
  color: #8fa4c8;
  font-size: 12.5px;
  font-weight: 800;
  margin-bottom: 9px;
}
.jm-np-form label em { color: #ff7b7b; font-style: normal; }

.jm-np-form .inp {
  width: 100%;
  padding: 12px 16px;
  background: #0b1222;
  border: 2px solid #24314f;
  border-radius: 10px;
  color: #edf3ff;
  font-size: 13.5px;
  font-family: inherit;
  box-sizing: border-box;
  transition: .16s;
}
.jm-np-form .inp:focus {
  outline: none;
  border-color: #34e0ff;
  box-shadow: 0 0 0 4px rgba(52,224,255,.12);
}
.jm-np-form .inp::placeholder { color: #4a5878; }

.jm-np-form .ta {
  resize: vertical;
  min-height: 260px;
  line-height: 1.85;
  font-family: Consolas, Monaco, 'Microsoft YaHei', monospace;
  font-size: 13px;
}

.jm-np-form .hint {
  display: block;
  margin-top: 7px;
  color: #5d6b8c;
  font-size: 11px;
}

.jm-np-form .cb {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  color: #c9d6f0;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 0 !important;
}
.jm-np-form .cb input {
  width: 16px;
  height: 16px;
  accent-color: #34e0ff;
  cursor: pointer;
}

.jm-np-form .acts {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 8px;
}

.jm-np-form .btn {
  padding: 12px 28px;
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  border: 1px solid #24314f;
  color: #8fa4c8 !important;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none !important;
  transition: .15s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.jm-np-form .btn:hover { border-color: rgba(52,224,255,.5); color: #34e0ff !important; }
.jm-np-form .btn.primary {
  background: linear-gradient(135deg, #3f8cff, #34e0ff);
  border: 0;
  color: #06121f !important;
  box-shadow: 0 5px 18px rgba(63,140,255,.32);
}
.jm-np-form .btn.primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(63,140,255,.45);
}

@media (max-width: 760px) {
  .jm-np-hd { padding: 18px; gap: 12px; }
  .jm-np-hd .ic { font-size: 26px; }
  .jm-np-hd h1 { font-size: 17px; }
  .jm-np-form { padding: 18px; }
  .jm-np-msg { margin: 16px 18px 0; }
  .jm-np-form .acts { flex-direction: column; }
  .jm-np-form .btn { width: 100%; }
}


/* ══════════════════════════════════════════════════════════════
   ★ 工具条：允许换行，按钮不压缩（P6 真因）
   ══════════════════════════════════════════════════════════════ */
.jm-tools {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 10px 14px !important;
}

.jm-tools .jt {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 32px !important;
  max-height: none !important;
  padding: 7px 14px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

/* 移除分隔线的固定高度影响 */
.jm-tools .jt-div {
  flex: 0 0 1px !important;
  height: 18px !important;
  align-self: center !important;
}

/* ══════════════════════════════════════════════════════════════
   ★ 顶栏按钮：确保完整显示（P6）
   ══════════════════════════════════════════════════════════════ */
.jm-top {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 14px 20px !important;
}

.jm-top-r {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  align-items: center !important;
}

.jm-top-a,
.jm-lang,
.jm-user-toggle {
  height: auto !important;
  min-height: 36px !important;
  max-height: none !important;
  padding: 8px 16px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

/* 搜索按钮：确保文本不截断 */
.jm-search-btn {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 22px !important;
  line-height: 42px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  font-size: 13.5px !important;
  text-overflow: clip !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-indent: 0 !important;
}

.jm-search-input {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  line-height: 40px !important;
  box-sizing: border-box !important;
}

/* ══════════════════════════════════════════════════════════════
   ★ 团购条：边框强制生效（P8）
   ══════════════════════════════════════════════════════════════ */
.jm-guide-wrap .jm-guide,
.jm-guide-wrap > .jm-guide,
div.jm-guide-wrap > div.jm-guide {
  border-width: 2px !important;
  border-style: solid !important;
  border-color: rgba(255,128,200,.68) !important;
  border-radius: 14px !important;
  background: linear-gradient(115deg, rgba(255,128,200,.24) 0%, rgba(167,139,250,.11) 55%, rgba(16,26,49,.55) 100%) !important;
  box-shadow: 0 0 0 1px rgba(255,128,200,.22), 0 8px 32px rgba(255,128,200,.3) !important;
  animation: jmGuidePulse 2.6s ease-in-out infinite !important;
  position: relative !important;
  z-index: 2 !important;
}

/* 「缺人中」标签：用伪元素确保显示 */
.jm-guide-wrap .jm-guide .gd-bd b::after {
  content: " · 缺人中" !important;
  display: inline-block !important;
  margin-left: 8px !important;
  padding: 2px 9px !important;
  border-radius: 5px !important;
  background: rgba(255,90,90,.32) !important;
  color: #ffb0b0 !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  vertical-align: middle !important;
  animation: jmBlink 1.6s ease-in-out infinite !important;
  letter-spacing: .5px !important;
}

/* 加入按钮：呼吸放大 */
.jm-guide-wrap .jm-guide .gd-go {
  background: linear-gradient(135deg, #ff80c8, #a78bfa) !important;
  color: #2b0a1e !important;
  font-weight: 900 !important;
  border: 0 !important;
  box-shadow: 0 6px 26px rgba(255,128,200,.55) !important;
  animation: jmBtnPulse 1.8s ease-in-out infinite !important;
  padding: 11px 26px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

.jm-guide-wrap .jm-guide .gd-go:hover {
  animation: none !important;
  transform: scale(1.06) !important;
  box-shadow: 0 10px 34px rgba(255,128,200,.75) !important;
}

@keyframes jmGuidePulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,128,200,.22), 0 8px 32px rgba(255,128,200,.3); }
  50%      { box-shadow: 0 0 0 4px rgba(255,128,200,.4), 0 12px 46px rgba(255,128,200,.55); }
}

@keyframes jmBtnPulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.05); }
}

@keyframes jmBlink {
  0%, 100% { opacity: 1; }
  50%      { opacity: .4; }
}

/* 移动端 */
@media (max-width: 900px) {
  .jm-tools {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding: 9px 10px !important;
  }
  .jm-tools .jt {
    flex: 0 0 auto !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
  }
  .jm-guide-wrap .jm-guide .gd-go {
    width: 100% !important;
    padding: 13px !important;
    font-size: 14px !important;
    animation: none !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 团购条凸显 v2 —— 用 box-shadow 模拟边框（border 被全局覆盖）
   ══════════════════════════════════════════════════════════════ */
#jmGuide,
#jmGuideWrap #jmGuide,
div#jmGuide {
  position: relative !important;
  z-index: 2 !important;
  border-radius: 14px !important;
  background-image: linear-gradient(115deg, rgba(255,128,200,.26) 0%, rgba(167,139,250,.12) 55%, rgba(16,26,49,.6) 100%) !important;
  background-color: transparent !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,128,200,.7),
    0 0 0 2px rgba(255,128,200,.25),
    0 10px 36px rgba(255,128,200,.35) !important;
  animation: jmGuideGlow 2.8s ease-in-out infinite !important;
}

@keyframes jmGuideGlow {
  0%, 100% {
    box-shadow:
      inset 0 0 0 2px rgba(255,128,200,.7),
      0 0 0 2px rgba(255,128,200,.25),
      0 10px 36px rgba(255,128,200,.35);
  }
  50% {
    box-shadow:
      inset 0 0 0 3px rgba(255,150,210,.9),
      0 0 0 5px rgba(255,128,200,.35),
      0 14px 48px rgba(255,128,200,.6);
  }
}

/* 顶部渐变条：更醒目 */
#jmGuide::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(90deg, #ff80c8, #a78bfa, #34e0ff);
  z-index: 3;
}

/* 图标放大 + 呼吸 */
#jmGuide .gd-ic {
  font-size: 26px !important;
  filter: drop-shadow(0 0 12px rgba(255,128,200,.7)) !important;
  animation: jmIconPulse 2s ease-in-out infinite !important;
}

@keyframes jmIconPulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.15); }
}

/* 标题加粗放大 */
#jmGuide .gd-bd b {
  font-size: 15px !important;
  color: #ffe0f4 !important;
  text-shadow: 0 0 14px rgba(255,128,200,.6) !important;
}

/* 「缺人中」标签 */
#jmGuide .gd-bd b::after {
  content: " · 缺人中" !important;
  display: inline-block !important;
  margin-left: 8px !important;
  padding: 2px 9px !important;
  border-radius: 5px !important;
  background: rgba(255,90,90,.42) !important;
  color: #ffc0c0 !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  vertical-align: middle !important;
  animation: jmBlink 1.5s ease-in-out infinite !important;
  letter-spacing: .5px !important;
  box-shadow: 0 0 10px rgba(255,90,90,.5) !important;
}

@keyframes jmBlink {
  0%, 100% { opacity: 1; }
  50%      { opacity: .4; }
}

/* 加入按钮：渐变 + 呼吸 + 阴影 */
#jmGuide .gd-go,
#jmGuide a.gd-go {
  background-image: linear-gradient(135deg, #ff80c8, #a78bfa) !important;
  background-color: transparent !important;
  color: #2b0a1e !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  padding: 12px 28px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  box-shadow: 0 6px 26px rgba(255,128,200,.6), 0 0 0 2px rgba(255,128,200,.3) !important;
  animation: jmBtnPulse 1.7s ease-in-out infinite !important;
  position: relative !important;
  z-index: 3 !important;
}

@keyframes jmBtnPulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}

#jmGuide .gd-go:hover {
  animation: none !important;
  transform: scale(1.1) !important;
  box-shadow: 0 12px 38px rgba(255,128,200,.8), 0 0 0 3px rgba(255,128,200,.5) !important;
}

/* 步骤条也高亮 */
#jmGuideSteps {
  background-image: linear-gradient(90deg, rgba(255,128,200,.1), rgba(167,139,250,.05)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,128,200,.35) !important;
}

#jmGuideSteps .jmg-s {
  color: #e0c8dc !important;
}

#jmGuideSteps .jmg-n {
  background: rgba(255,128,200,.28) !important;
  color: #ffb0e0 !important;
  box-shadow: 0 0 8px rgba(255,128,200,.4) !important;
}

/* 移动端 */
@media (max-width: 900px) {
  #jmGuide .gd-go {
    width: 100% !important;
    padding: 14px !important;
    font-size: 15px !important;
    animation: none !important;
  }
  #jmGuide .gd-bd b {
    font-size: 14px !important;
  }
  #jmGuide .gd-bd b::after {
    font-size: 10px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 搜索按钮：强制恢复渐变背景（P1 修复）
   之前「全局下划线修复」误加了 background-image:none !important
   ══════════════════════════════════════════════════════════════ */
.jm-search-btn,
.jm-search-btn:link,
.jm-search-btn:visited,
.jm-search-btn:focus,
.jm-search-btn:active,
button.jm-search-btn,
form .jm-search-btn,
.jm-top-s .jm-search-btn {
  background: linear-gradient(135deg, #3f8cff, #34e0ff) !important;
  background-color: #3f8cff !important;
  background-image: linear-gradient(135deg, #3f8cff, #34e0ff) !important;
  color: #06121f !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: 0 3px 14px rgba(63,140,255,.35) !important;
  transition: .18s !important;
}

.jm-search-btn:hover,
button.jm-search-btn:hover,
.jm-top-s .jm-search-btn:hover {
  background: linear-gradient(135deg, #5aa0ff, #4ce8ff) !important;
  background-color: #5aa0ff !important;
  background-image: linear-gradient(135deg, #5aa0ff, #4ce8ff) !important;
  color: #06121f !important;
  box-shadow: 0 5px 22px rgba(63,140,255,.55) !important;
  filter: none !important;
  transform: translateY(-1px) !important;
}

.jm-search-btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 10px rgba(63,140,255,.4) !important;
}

/* 充值中心按钮：确保金色渐变也正常 */
.jm-top-a.hi,
a.jm-top-a.hi,
.jm-top-r .jm-top-a.hi {
  background: linear-gradient(135deg, rgba(255,200,87,.22), rgba(255,160,60,.1)) !important;
  background-color: rgba(255,200,87,.18) !important;
  border: 1px solid rgba(255,200,87,.55) !important;
  color: #ffc857 !important;
  font-weight: 900 !important;
  box-shadow: 0 0 12px rgba(255,200,87,.18) !important;
}

.jm-top-a.hi:hover {
  background: linear-gradient(135deg, rgba(255,200,87,.35), rgba(255,160,60,.2)) !important;
  border-color: #ffc857 !important;
  box-shadow: 0 0 20px rgba(255,200,87,.4) !important;
}


/* ══════════════════════════════════════════════════════════════
   ★ 团购群强化 v3（急缺团友 + 人数进度 + 双 CTA）
   ══════════════════════════════════════════════════════════════ */

/* 紧迫感行 */
#jmGuide .gd-urgency {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 8px !important;
  flex-wrap: wrap !important;
  font-size: 11.5px !important;
}

#jmGuide .gd-urgency .gd-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #ff5c5c !important;
  box-shadow: 0 0 0 0 rgba(255,92,92,.7) !important;
  animation: jmDotPing 1.6s ease-out infinite !important;
  flex-shrink: 0 !important;
}

@keyframes jmDotPing {
  0%   { box-shadow: 0 0 0 0 rgba(255,92,92,.7); }
  70%  { box-shadow: 0 0 0 8px rgba(255,92,92,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,92,92,0); }
}

#jmGuide .gd-urgency > em {
  font-style: normal !important;
  color: #ff9c9c !important;
  font-weight: 900 !important;
  font-size: 11.5px !important;
  letter-spacing: .5px !important;
  animation: jmBlink 1.5s ease-in-out infinite !important;
}

#jmGuide .gd-urgency .gd-bar {
  position: relative !important;
  width: 100px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

#jmGuide .gd-urgency .gd-bar-fill {
  display: block !important;
  height: 100% !important;
  width: 40% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #ff5c5c, #ff80c8, #a78bfa) !important;
  box-shadow: 0 0 10px rgba(255,128,200,.8) !important;
  animation: jmBarGrow 2.4s ease-in-out infinite !important;
}

@keyframes jmBarGrow {
  0%, 100% { width: 38%; }
  50%      { width: 46%; }
}

#jmGuide .gd-urgency .gd-need {
  color: #ffc857 !important;
  font-weight: 900 !important;
  font-size: 11.5px !important;
  white-space: nowrap !important;
}

#jmGuide .gd-urgency .gd-need em {
  font-style: normal !important;
  color: #ff5c5c !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-shadow: 0 0 10px rgba(255,92,92,.7) !important;
}

/* 双 CTA 容器 */
#jmGuide .gd-acts {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  flex-shrink: 0 !important;
}

#jmGuide .gd-go-ic {
  font-size: 15px !important;
  line-height: 1 !important;
}

#jmGuide .gd-go-tx {
  font-size: 13.5px !important;
  font-weight: 900 !important;
  letter-spacing: .3px !important;
}

#jmGuide .gd-go-tip {
  color: #c9a8d8 !important;
  font-size: 10px !important;
  white-space: nowrap !important;
  opacity: .8 !important;
}

/* 步骤条里的第二个 CTA */
#jmGuideSteps .jmg-go2 {
  margin-left: auto !important;
  padding: 6px 16px !important;
  border-radius: 8px !important;
  background-image: linear-gradient(135deg, rgba(255,128,200,.3), rgba(167,139,250,.18)) !important;
  background-color: transparent !important;
  box-shadow: inset 0 0 0 1px rgba(255,128,200,.5) !important;
  color: #ffb0e0 !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: .15s !important;
}

#jmGuideSteps .jmg-go2:hover {
  background-image: linear-gradient(135deg, rgba(255,128,200,.5), rgba(167,139,250,.3)) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px #ff80c8, 0 0 14px rgba(255,128,200,.5) !important;
}

/* 移动端 */
@media (max-width: 900px) {
  #jmGuide .gd-acts {
    width: 100% !important;
    margin-top: 10px !important;
  }
  #jmGuide .gd-go {
    width: 100% !important;
    padding: 13px !important;
  }
  #jmGuide .gd-urgency {
    width: 100% !important;
  }
  #jmGuideSteps .jmg-go2 {
    margin-left: 0 !important;
    margin-top: 8px !important;
    width: 100% !important;
    text-align: center !important;
    padding: 10px !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   ★ 公告删除按钮
   ══════════════════════════════════════════════════════════════ */
.jm-ntd-delfrm {
  display: inline-block;
  margin: 0;
}

.jm-ntd-del {
  padding: 10px 22px;
  border-radius: 10px;
  background: rgba(255,90,90,.14);
  border: 1px solid rgba(255,90,90,.45);
  color: #ff7b7b;
  font-size: 12.5px;
  font-weight: 800;
  cursor: pointer;
  font-family: inherit;
  transition: .15s;
  white-space: nowrap;
}
.jm-ntd-del:hover {
  background: rgba(255,90,90,.28);
  border-color: #ff5c5c;
  color: #fff;
  box-shadow: 0 4px 16px rgba(255,90,90,.35);
}

/* 删除成功提示 */
.jm-ntd-deleted {
  margin-bottom: 16px;
  padding: 13px 20px;
  border-radius: 11px;
  background: rgba(74,222,128,.14);
  border: 1px solid rgba(74,222,128,.4);
  color: #4ade80;
  font-size: 13px;
  font-weight: 800;
}


/* ══════════════════════════════════════════════════════════════
   ★ 官方推特图标（悬浮客服菜单）
   ══════════════════════════════════════════════════════════════ */
.jm-float .fs-menu .fs-item.fs-tw .fs-ic {
  font-family: -apple-system, "Segoe UI", Arial, sans-serif;
  font-weight: 900;
  font-size: 17px;
  color: #e7e9ea;
  letter-spacing: 0;
}
.jm-float .fs-menu .fs-item.fs-tw:hover .fs-ic {
  color: #1d9bf0;
}
.jm-float .fs-menu .fs-item.fs-tw {
  border-color: rgba(29, 155, 240, .3);
}
.jm-float .fs-menu .fs-item.fs-tw:hover {
  border-color: rgba(29, 155, 240, .65);
  background: rgba(29, 155, 240, .1);
}

/* 页脚联系区的推特行 */
.jm-footer .fs-tw .fs-tw-ic {
  display: inline-block;
  margin-right: 5px;
  font-weight: 900;
  color: #1d9bf0;
}


/* ══════════════════════════════════════════════════════════════
   ★ 顶栏用户头像
   ══════════════════════════════════════════════════════════════ */
.jm-top .jm-top-r .jm-usermenu .jm-user-toggle .ava {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, #a78bfa, #3f8cff);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}
.jm-top .jm-top-r .jm-usermenu .jm-user-toggle .ava img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

/* 下拉菜单里的头像 */
.jm-user-drop .ava-sm {
  width: 34px; height: 34px; border-radius: 50%;
  overflow: hidden; flex-shrink: 0;
  background: linear-gradient(135deg, #a78bfa, #3f8cff);
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 14px; font-weight: 900;
}
.jm-user-drop .ava-sm img { width: 100%; height: 100%; object-fit: cover; display: block; }


/* ══════════════════════════════════════════════════════════════
   ★ 顶栏消息按钮
   ══════════════════════════════════════════════════════════════ */
.jm-top .jm-top-r .jm-msg-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 15px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid #24314f;
  color: #8fa4c8 !important;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none !important;
  transition: .15s;
  white-space: nowrap;
  line-height: 1.2;
}
.jm-top .jm-top-r .jm-msg-btn:hover {
  border-color: rgba(52, 224, 255, .5);
  color: #34e0ff !important;
  background: rgba(52, 224, 255, .06);
}
.jm-top .jm-top-r .jm-msg-btn .badge {
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #ff5c5c;
  color: #fff;
  font-size: 9.5px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}


/* ══════ 促销专区：邀请赚币卡片 ══════ */
.jm-promo-c.inv {
	background: linear-gradient(135deg, rgba(167,139,250,.14), rgba(63,140,255,.06)) !important;
	border-color: rgba(167,139,250,.32) !important;
}
.jm-promo-c.inv .ic { filter: drop-shadow(0 0 8px rgba(167,139,250,.5)); }
.jm-promo-c.inv .bd b { color: #c4b5fd !important; }
.jm-promo-c.inv .go {
	background: rgba(167,139,250,.18) !important;
	border-color: rgba(167,139,250,.4) !important;
	color: #c4b5fd !important;
}
.jm-promo-c.inv:hover {
	background: linear-gradient(135deg, rgba(167,139,250,.22), rgba(63,140,255,.1)) !important;
	border-color: rgba(167,139,250,.55) !important;
}


/* ══════ 登录弹窗：验证码行 ══════ */
.jm-lgn-modal .jm-lgn-cap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}
.jm-lgn-modal .jm-lgn-cap .inp {
	flex: 1 !important;
	min-width: 0 !important;
}
.jm-lgn-modal .jm-lgn-capimg {
	flex: 0 0 110px !important;
	width: 110px !important;
	height: 42px !important;
	border-radius: 8px !important;
	border: 1px solid #24314f !important;
	cursor: pointer !important;
	object-fit: cover !important;
	display: block !important;
	background: #0e1830 !important;
}
.jm-lgn-modal .jm-lgn-capimg:hover {
	border-color: #34e0ff !important;
}


/* ══════════════════════════════════════════════════════════════
   修复：系列筛选条限高导致分类显示不全
   原因：.jm-frow-types 有 max-height:108px + overflow-y:auto
        25 个分类只露出 3 行，剩 8 个藏在内部滚动区，用户看不到
   解法：取消限高，全部自然展开
   ══════════════════════════════════════════════════════════════ */
.jm-filter-row.jm-frow-types,
.jm-frow-types {
	max-height: none !important;
	overflow: visible !important;
	padding-right: 0 !important;
	row-gap: 9px !important;
}


/* ══════════════════════════════════════════════════════════════
   操作提示页（showmessage 深色版）
   ══════════════════════════════════════════════════════════════ */
.jm-msg-wrap { max-width: 640px !important; margin: 34px auto 70px !important; padding: 0 16px !important; }
.jm-msg-card {
	background: linear-gradient(160deg, #101a31, #0d1526) !important;
	border: 1px solid #24314f !important;
	border-radius: 18px !important;
	padding: 38px 30px 30px !important;
	text-align: center !important;
	box-shadow: 0 12px 40px rgba(0,0,0,.35) !important;
}
.jm-msg-card.ok   { border-color: rgba(52,224,255,.34) !important; }
.jm-msg-card.err  { border-color: rgba(255,90,90,.40) !important; }
.jm-msg-card.info { border-color: rgba(255,200,87,.34) !important; }

.jm-msg-ic { font-size: 46px !important; line-height: 1 !important; margin-bottom: 18px !important; }

.jm-msg-body {
	color: #dbe4f5 !important;
	font-size: 15px !important;
	line-height: 2 !important;
	word-break: break-word !important;
}
.jm-msg-body b { color: #ffc857 !important; }
.jm-msg-body a { color: #34e0ff !important; text-decoration: none !important; }
.jm-msg-body a:hover { text-decoration: underline !important; }

/* 消息里自带的 .btn 按钮 */
.jm-msg-body .btn {
	display: inline-block !important;
	margin: 14px 6px 0 !important;
	padding: 11px 28px !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #3f8cff, #34e0ff) !important;
	color: #06121f !important;
	font-size: 13.5px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(52,224,255,.25) !important;
	transition: .18s !important;
}
.jm-msg-body .btn:hover { transform: translateY(-1px) !important; box-shadow: 0 6px 20px rgba(52,224,255,.38) !important; }

.jm-msg-tip {
	margin-top: 20px !important;
	color: #6b7899 !important;
	font-size: 12.5px !important;
	line-height: 1.9 !important;
}
.jm-msg-tip a { color: #34e0ff !important; text-decoration: none !important; }
.jm-msg-tip a:hover { text-decoration: underline !important; }

.jm-msg-foot {
	margin-top: 24px !important;
	padding-top: 20px !important;
	border-top: 1px dashed rgba(36,49,79,.95) !important;
	display: flex !important;
	gap: 10px !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
}
.jm-msg-btn {
	padding: 9px 24px !important;
	border: 1px solid #24314f !important;
	border-radius: 999px !important;
	color: #b9c4dc !important;
	font-size: 12.5px !important;
	text-decoration: none !important;
	transition: .18s !important;
}
.jm-msg-btn:hover { border-color: #34e0ff !important; color: #34e0ff !important; text-decoration: none !important; }

.jm-msg-extra { margin-top: 18px !important; text-align: left !important; }

@media (max-width: 640px) {
	.jm-msg-wrap { margin: 20px auto 50px !important; }
	.jm-msg-card { padding: 28px 20px 24px !important; border-radius: 14px !important; }
	.jm-msg-ic { font-size: 38px !important; }
	.jm-msg-body { font-size: 14px !important; }
}


/* ══════════════════════════════════════════════════════════════
   可点击标签（点击跳搜索页）
   ══════════════════════════════════════════════════════════════ */
a.chip-link {
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all .18s ease !important;
	display: inline-flex !important;
	align-items: center !important;
}
a.chip-link:hover {
	background: rgba(52,224,255,.22) !important;
	border-color: #34e0ff !important;
	color: #34e0ff !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 10px rgba(52,224,255,.28) !important;
}
a.chip-link:active {
	transform: translateY(0) scale(.97) !important;
}
a.chip.tag:hover {
	background: rgba(52,224,255,.18) !important;
	color: #34e0ff !important;
}


/* ══════════════════════════════════════════════════════════════
   桌面端功能侧边抽屉（js-* 前缀）
   顶栏 ☰ 打开，右侧滑出，18 个工具收在里面
   ══════════════════════════════════════════════════════════════ */

/* 顶栏 ☰ 按钮 */
.jm-top .jm-sidebtn{
	display:inline-flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	gap:3.5px !important;
	width:34px !important;
	height:34px !important;
	flex:0 0 34px !important;
	border-radius:8px !important;
	background:rgba(255,255,255,.05) !important;
	border:1px solid #24314f !important;
	text-decoration:none !important;
	box-sizing:border-box !important;
	transition:background .15s, border-color .15s !important;
	margin-left:6px !important;
}
.jm-top .jm-sidebtn:hover{
	background:rgba(52,224,255,.12) !important;
	border-color:rgba(52,224,255,.35) !important;
}
.jm-top .jm-sidebtn .sb-i{
	display:block !important;
	width:15px !important;
	height:1.8px !important;
	border-radius:2px !important;
	background:#b9c4dc !important;
	transition:background .15s !important;
}
.jm-top .jm-sidebtn:hover .sb-i{
	background:#34e0ff !important;
}

/* 遮罩 */
.jm-side-mask{
	position:fixed !important;
	inset:0 !important;
	z-index:2100 !important;
	background:rgba(0,0,0,.55) !important;
	opacity:0 !important;
	visibility:hidden !important;
	transition:opacity .24s ease, visibility .24s ease !important;
	backdrop-filter:blur(2px) !important;
	-webkit-backdrop-filter:blur(2px) !important;
}
.jm-side-mask.on{ opacity:1 !important; visibility:visible !important; }

/* 抽屉本体：右侧滑出，宽 340px */
.jm-side{
	position:fixed !important;
	top:0 !important;
	right:0 !important;
	bottom:0 !important;
	width:340px !important;
	max-width:88vw !important;
	z-index:2101 !important;
	background:#0f1728 !important;
	border-left:1px solid #24314f !important;
	box-shadow:-8px 0 36px rgba(0,0,0,.55) !important;
	transform:translateX(102%) !important;
	transition:transform .28s cubic-bezier(.32,.72,.32,1) !important;
	display:flex !important;
	flex-direction:column !important;
	overflow:hidden !important;
	box-sizing:border-box !important;
	will-change:transform !important;
}
.jm-side.on{ transform:translateX(0) !important; }

/* 抽屉头 */
.jm-side .js-hd{
	display:flex !important;
	flex-direction:row !important;
	align-items:center !important;
	justify-content:space-between !important;
	padding:16px 18px 12px !important;
	border-bottom:1px solid rgba(36,49,79,.8) !important;
	flex:0 0 auto !important;
	box-sizing:border-box !important;
	width:100% !important;
}
.jm-side .js-hd b{
	font-size:15px !important;
	font-weight:900 !important;
	color:#edf3ff !important;
	line-height:1.3 !important;
}
.jm-side .js-close{
	width:28px !important;
	height:28px !important;
	flex:0 0 28px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	border-radius:7px !important;
	color:#8fa4c8 !important;
	font-size:15px !important;
	text-decoration:none !important;
	line-height:1 !important;
	transition:background .14s !important;
}
.jm-side .js-close:hover{ background:rgba(255,255,255,.07) !important; }

/* 抽屉内容：工具区改成网格 */
.jm-side .js-bd{
	flex:1 1 auto !important;
	overflow-y:auto !important;
	-webkit-overflow-scrolling:touch !important;
	padding:14px 16px 24px !important;
	box-sizing:border-box !important;
}
.jm-side .js-bd::-webkit-scrollbar{ width:4px !important; }
.jm-side .js-bd::-webkit-scrollbar-thumb{ background:#24314f !important; border-radius:4px !important; }

/* 工具区在抽屉里：3 列网格 */
.jm-side .jm-tools{
	display:grid !important;
	grid-template-columns:repeat(3,1fr) !important;
	gap:8px !important;
	width:100% !important;
	box-sizing:border-box !important;
	background:transparent !important;
	border:0 !important;
	padding:0 !important;
	margin:0 !important;
	box-shadow:none !important;
}
.jm-side .jm-tools .jt-div{
	display:none !important;
}
.jm-side .jm-tools .jt{
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	gap:5px !important;
	padding:14px 4px !important;
	border-radius:11px !important;
	background:#141f36 !important;
	border:1px solid #24314f !important;
	color:#dbe4f5 !important;
	font-size:10.5px !important;
	font-weight:700 !important;
	line-height:1.3 !important;
	text-align:center !important;
	text-decoration:none !important;
	box-sizing:border-box !important;
	min-width:0 !important;
	width:auto !important;
	white-space:normal !important;
	word-break:break-all !important;
	transition:background .14s, border-color .14s, transform .14s !important;
}
.jm-side .jm-tools .jt:hover{
	background:#1a2740 !important;
	border-color:rgba(52,224,255,.4) !important;
	transform:translateY(-1px) !important;
}
.jm-side .jm-tools .jt.gold{
	background:rgba(255,200,87,.08) !important;
	border-color:rgba(255,200,87,.3) !important;
	color:#ffd27a !important;
}
.jm-side .jm-tools .jt.hot{
	background:rgba(255,107,107,.08) !important;
	border-color:rgba(255,107,107,.3) !important;
	color:#ff9b9b !important;
}
.jm-side .jm-tools .jt.vip{
	background:rgba(52,224,255,.08) !important;
	border-color:rgba(52,224,255,.3) !important;
	color:#7fd4e8 !important;
}
.jm-side .jm-tools .jt.adm{
	background:rgba(167,139,250,.08) !important;
	border-color:rgba(167,139,250,.3) !important;
	color:#c4b5fd !important;
}

/* 小屏兜底 */
@media (max-width:768px){
	.jm-side{ width:300px !important; }
	.jm-side .jm-tools{ grid-template-columns:repeat(2,1fr) !important; }
}


/* ══════════════════════════════════════════════════════════════
   常用功能快捷栏（qb-*）：6 个常用 + 更多
   一行 45px 高，替代原来两行 85px 的 18 个工具
   ══════════════════════════════════════════════════════════════ */
.jm-quickbar{
	display:flex !important;
	flex-direction:row !important;
	align-items:stretch !important;
	gap:10px !important;
	margin:14px 0 0 !important;
	padding:0 !important;
	width:100% !important;
	box-sizing:border-box !important;
}
.jm-quickbar .qb{
	flex:1 1 0% !important;
	min-width:0 !important;
	display:flex !important;
	flex-direction:row !important;
	align-items:center !important;
	justify-content:center !important;
	gap:7px !important;
	padding:11px 6px !important;
	border-radius:11px !important;
	background:#141f36 !important;
	border:1px solid #24314f !important;
	color:#dbe4f5 !important;
	text-decoration:none !important;
	box-sizing:border-box !important;
	transition:background .14s, border-color .14s, transform .14s !important;
}
.jm-quickbar .qb:hover{
	background:#1a2740 !important;
	border-color:rgba(52,224,255,.4) !important;
	transform:translateY(-1px) !important;
}
.jm-quickbar .qb-ic{
	font-size:16px !important;
	line-height:1 !important;
	flex:0 0 auto !important;
}
.jm-quickbar .qb-tx{
	font-size:12.5px !important;
	font-weight:800 !important;
	line-height:1.3 !important;
	white-space:nowrap !important;
	flex:0 0 auto !important;
}
/* 会员：金色 */
.jm-quickbar .qb.gold{
	background:rgba(255,200,87,.08) !important;
	border-color:rgba(255,200,87,.32) !important;
	color:#ffd27a !important;
}
.jm-quickbar .qb.gold:hover{
	background:rgba(255,200,87,.14) !important;
	border-color:rgba(255,200,87,.55) !important;
}
/* 更多：青色虚线 */
.jm-quickbar .qb.more{
	background:rgba(52,224,255,.07) !important;
	border:1px dashed rgba(52,224,255,.42) !important;
	color:#7fd4e8 !important;
}
.jm-quickbar .qb.more:hover{
	background:rgba(52,224,255,.14) !important;
	border-style:solid !important;
}
.jm-quickbar .qb.more .qb-ic{
	font-size:18px !important;
	letter-spacing:1px !important;
}

/* ══════ ☰ 按钮加文字 ══════ */
.jm-top .jm-sidebtn{
	width:auto !important;
	min-width:34px !important;
	padding:0 11px 0 9px !important;
	flex:0 0 auto !important;
	flex-direction:row !important;
	gap:7px !important;
}
.jm-top .jm-sidebtn .sb-tx{
	font-size:12px !important;
	font-weight:800 !important;
	color:#b9c4dc !important;
	line-height:1 !important;
	white-space:nowrap !important;
	transition:color .15s !important;
}
.jm-top .jm-sidebtn:hover .sb-tx{
	color:#34e0ff !important;
}
/* 三条线在带文字时改成竖排小图标 */
.jm-top .jm-sidebtn .sb-i{
	display:none !important;
}
.jm-top .jm-sidebtn::before{
	content:"☰";
	font-size:15px !important;
	line-height:1 !important;
	color:#b9c4dc !important;
	transition:color .15s !important;
}
.jm-top .jm-sidebtn:hover::before{
	color:#34e0ff !important;
}

/* 小屏：快捷栏 3 列换行 */
@media (max-width:900px){
	.jm-quickbar{ flex-wrap:wrap !important; }
	.jm-quickbar .qb{ flex:1 1 calc(33.333% - 7px) !important; }
}


/* ══════ 团购细条横幅（40px）══════ */
.jm-guide-slim{
	display:flex !important;
	flex-direction:row !important;
	align-items:center !important;
	gap:11px !important;
	padding:9px 16px !important;
	margin:0 0 14px !important;
	border-radius:10px !important;
	background:linear-gradient(90deg, rgba(255,107,157,.10), rgba(167,139,250,.08)) !important;
	border:1px solid rgba(255,107,157,.32) !important;
	text-decoration:none !important;
	box-sizing:border-box !important;
	width:100% !important;
	transition:background .16s, border-color .16s !important;
}
.jm-guide-slim:hover{
	background:linear-gradient(90deg, rgba(255,107,157,.16), rgba(167,139,250,.13)) !important;
	border-color:rgba(255,107,157,.55) !important;
}
.jm-guide-slim .gs-ic{
	font-size:17px !important;
	line-height:1 !important;
	flex:0 0 auto !important;
}
.jm-guide-slim .gs-tx{
	flex:1 1 auto !important;
	min-width:0 !important;
	display:flex !important;
	flex-direction:row !important;
	align-items:baseline !important;
	gap:10px !important;
}
.jm-guide-slim .gs-tx b{
	font-size:13px !important;
	font-weight:900 !important;
	color:#ffc4dc !important;
	line-height:1.3 !important;
	white-space:nowrap !important;
	flex:0 0 auto !important;
}
.jm-guide-slim .gs-tx i{
	font-size:11px !important;
	font-style:normal !important;
	color:#8fa4c8 !important;
	line-height:1.3 !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	min-width:0 !important;
}
.jm-guide-slim .gs-tag{
	flex:0 0 auto !important;
	padding:2px 9px !important;
	border-radius:999px !important;
	background:rgba(255,107,107,.16) !important;
	color:#ff9b9b !important;
	font-size:10px !important;
	font-weight:800 !important;
	line-height:1.5 !important;
	white-space:nowrap !important;
}
.jm-guide-slim .gs-go{
	flex:0 0 auto !important;
	font-size:12px !important;
	font-weight:800 !important;
	color:#ffc4dc !important;
	white-space:nowrap !important;
}
@media (max-width:1100px){
	.jm-guide-slim .gs-tx i{ display:none !important; }
}

/* ══════════════════════════════════════════════════════════════
   ★ 2026-11-03 商品详情页「简介」区块（服务端直出）
   背景：#postlist 被 display:none 隐藏，原来靠 JS 注入 .t_f 的简介看不见，
        改为独立区块后需要自己的样式。
   ══════════════════════════════════════════════════════════════ */
.jm-intro-box{
	margin:14px 0 0 !important;
	padding:15px 17px 16px !important;
	border-radius:13px !important;
	background:linear-gradient(160deg,rgba(30,45,74,.55) 0%,rgba(18,28,48,.55) 100%) !important;
	border:1px solid #24314f !important;
	box-sizing:border-box !important;
}
.jm-intro-box .ji-hd{
	display:flex !important;
	align-items:center !important;
	gap:8px !important;
	margin:0 0 10px !important;
	padding:0 0 9px !important;
	border-bottom:1px solid rgba(120,150,200,.14) !important;
}
.jm-intro-box .ji-ic{
	font-size:15px !important;
	line-height:1 !important;
	flex:0 0 auto !important;
}
.jm-intro-box .ji-tx{
	font-size:13px !important;
	font-weight:900 !important;
	color:#e6f0ff !important;
	letter-spacing:.3px !important;
}
.jm-intro-box .ji-bd{
	font-size:13.5px !important;
	line-height:1.92 !important;
	color:#b9c4dc !important;
}
.jm-intro-box .ji-bd p{
	margin:0 0 9px !important;
	text-indent:2em !important;
	word-break:break-word !important;
}
.jm-intro-box .ji-bd p:last-child{
	margin-bottom:0 !important;
}
/* 手机端 */
@media (max-width:767px){
	.jm-intro-box{ margin:11px 0 0 !important; padding:13px 14px !important; border-radius:12px !important; }
	.jm-intro-box .ji-tx{ font-size:12.5px !important; }
	.jm-intro-box .ji-bd{ font-size:13px !important; line-height:1.85 !important; }
	.jm-intro-box .ji-bd p{ margin:0 0 8px !important; }
}
