/* ==========================================================================
   新知选书平台 · 视觉改版皮肤 v3   2026-10-13
   --------------------------------------------------------------
   独立覆盖层，加载在 styles.css 之后；不改原文件，随时可回退（删掉 index.html 里
   那一行 <link rel="stylesheet" href="theme.css"> 即可）。

   v3 相对 v2 的变化（针对「字体发虚 / 分辨率不高」）：
   A) font-synthesis:none —— 干掉"合成粗体"。Windows 的微软雅黑只有 400/700
      两档，站点里 47 处 font-weight:800/900 以前是浏览器描出来的假粗体，边缘糊；
      关掉后浏览器直接取真·Bold 字形，笔画立刻干净。
   B) 全站字号取整 —— 原 14.5 / 13.5 / 12.5 / 16.5 / 15.5px 在 Windows 下会落到
      亚像素位置，中文笔画糊；统一改为整数 px。
   C) 字体栈重排 —— Latin/数字走 Segoe UI（Windows 自带、字口锐），中文回落到
      微软雅黑 UI，Mac 上走 SF / 苹方。
   D) text-rendering:optimizeLegibility + 字形平滑，进一步锐化。
   ========================================================================== */

:root{
  --bg:#F2F5F8;
  --card:#FFFFFF;
  --ink:#1B2632;
  --ink-2:#465565;
  --muted:#7E8C9B;
  --line:#E4EAF0;
  --line-2:#EEF2F6;
  --brand:#C0392B;
  --brand-dark:#A62C20;
  --brand-tint:#FCF1EF;
  --radius:16px;
  --shadow-s:0 1px 2px rgba(16,24,40,.05);
  --shadow-m:0 8px 24px rgba(16,24,40,.09);
  --shadow-l:0 18px 44px rgba(16,24,40,.16);
}

/* ---------- 基础：字体渲染锐化 ---------- */
body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Hiragino Sans GB","Source Han Sans SC","Noto Sans SC",Roboto,Arial,sans-serif;
  font-size:15px;                 /* 整数 */
  line-height:1.6;
  font-synthesis:none;            /* 关键：禁合成粗体，800/900 回落到真 Bold */
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* 保险：即便浏览器不支持 font-synthesis，也把超高字重压回 700 */
body b,body strong,body h1,body h2,body h3,body h4{font-weight:700}

/* ---------- 顶栏 ---------- */
.topbar{
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 3px rgba(16,24,40,.06);
  padding:10px 22px;
  gap:16px;
}
.brand-text h1{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:.2px}
.brand-text p{font-size:11px;color:var(--muted)}
.logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#D24A38,#A62C20);box-shadow:0 4px 12px rgba(192,57,43,.3)}

.search-box input{
  border:1px solid var(--line);
  background:#F4F7FA;
  border-radius:12px;
  padding:10px 16px;
  font-size:14px;
  color:var(--ink);
  transition:border-color .16s,background .16s,box-shadow .16s;
}
.search-box input::placeholder{color:#9AA7B4}
.search-box input:hover{background:#EFF3F7}
.search-box input:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(192,57,43,.12)}

.tb-count{font-size:13px;font-weight:700;color:var(--muted);background:#F4F7FA;border-radius:999px;padding:5px 12px}
.tb-count b{color:var(--ink);font-weight:700}
.tb-sel{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink-2);font-weight:700;font-size:13px;padding:8px 10px}
.tb-sel:hover{border-color:#CBD6E0}

.cart-btn{
  border-radius:14px;
  background:linear-gradient(135deg,#D24A38,#A62C20);
  box-shadow:0 6px 16px rgba(192,57,43,.28);
  padding:9px 14px 9px 18px;
}
.cart-btn:hover{box-shadow:0 10px 22px rgba(192,57,43,.36);transform:translateY(-1px)}
.cb-view{border-radius:11px}

/* ---------- 布局 ---------- */
.layout{padding:22px 24px;gap:22px;max-width:1520px}

/* ---------- 侧栏 ---------- */
.sidebar{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-s);padding:12px 0 16px;
}
.facet h3{font-size:13px;letter-spacing:1.2px;color:var(--muted);font-weight:700;padding-left:16px}

/* 馆别项：图标嵌浅色块 + 名称 + 浅灰数字，整体更干净 */
.cat-tree{padding:0 8px;gap:3px}
.cat-hall{
  border:none;border-left:none;background:transparent;border-radius:12px;
  padding:10px 12px;margin:0;gap:11px;font-size:16px;font-weight:700;
  transition:background .15s,color .15s;
}
.cat-hall .ic{
  width:32px;height:32px;border-radius:10px;flex:0 0 auto;
  display:grid;place-items:center;font-size:17px;
  background:color-mix(in srgb,var(--hc) 14%,#fff);
  transition:background .15s;
}
.cat-hall .t{font-size:16px;font-weight:700}
.cat-hall .cnt{
  background:transparent;color:var(--muted);border-radius:0;font-size:13px;
  font-weight:700;padding:0;margin-right:20px;min-width:0;
}
.cat-hall::after{right:14px;font-size:12px;color:#C2CCD6}
.cat-hall:hover{background:color-mix(in srgb,var(--hc) 8%,#fff);border:none}
.cat-hall:hover .ic{background:color-mix(in srgb,var(--hc) 22%,#fff)}
.cat-hall.active{background:color-mix(in srgb,var(--hc) 13%,#fff);color:var(--hc);border:none}
.cat-hall.active .ic{background:var(--hc);color:#fff}
.cat-hall.active .cnt{color:var(--hc);background:transparent}
.cat-hall.active::after{color:var(--hc)}
.cat-building{font-size:12px;color:var(--muted);padding:4px 16px 10px}

/* 二级 / 三级：去掉彩色竖条，改用更柔的底 */
.cat-major{border-left:none;padding-left:34px;border-radius:10px;font-weight:700;color:var(--ink-2)}
.cat-major:hover{background:color-mix(in srgb,var(--c) 9%,#fff)}
.cat-major.active{background:var(--c);color:#fff}
.cat-major.open{padding-left:34px}
.cat-major.open::before{left:14px}
.cat-subs{margin-left:16px;padding-left:10px;border-left:2px solid var(--line-2)}
.cat-sub{border-radius:9px;font-weight:700;font-size:15px;color:var(--ink-2)}
.cat-thirds{margin-left:18px;padding-left:10px;border-left:2px dashed var(--line)}
.cat-third{border-radius:9px;font-weight:700;font-size:14px;color:var(--ink-2)}
.cat-major .cnt,.cat-sub .cnt,.cat-third .cnt{background:var(--line-2);color:var(--ink-2);border-radius:999px;font-size:12px}
.cat-major.active .cnt,.cat-sub.active .cnt,.cat-third.active .cnt{background:rgba(255,255,255,.25);color:#fff}

/* 悬浮面板 */
.cat-flyout{border-radius:16px;border:1px solid var(--line);border-left:5px solid var(--c,#C0392B);box-shadow:var(--shadow-l)}
.cat-flyout .ff-head{border-radius:12px}

/* ---------- 筛选条 ---------- */
.result-bar{margin-bottom:12px}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;box-shadow:var(--shadow-s)}
.filter-bar{border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-s);margin-bottom:12px}

/* ---------- 书单 ---------- */
.book-list{gap:14px}

/* 宽屏双列：把横向空间用起来 */
@media (min-width:1280px){
  .book-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .book-list.topic-index{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
}
@media (min-width:1720px){
  .book-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.book-row{
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--c,#C0392B);
  border-radius:var(--radius);
  padding:16px;
  gap:16px;
  box-shadow:var(--shadow-s);
  transition:box-shadow .2s,border-color .2s,transform .2s;
}
.book-row:hover{
  box-shadow:0 14px 32px rgba(16,24,40,.13);
  border-color:#D5DEE7;
  border-left-color:var(--c,#C0392B);
  transform:translateY(-2px);
}

/* 封面：主角 */
.br-cover{
  width:142px;flex:0 0 auto;align-self:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:13px;
  overflow:hidden;box-shadow:0 3px 12px rgba(16,24,40,.10);
}
.br-cover img.br-img{width:100%;height:auto;display:block;transition:transform .3s}
.book-row:hover .br-cover img.br-img{transform:scale(1.04)}
.br-cover div.br-img{
  width:100%;aspect-ratio:3/4;display:grid;place-items:center;
  color:#fff;font-weight:700;font-size:13px;line-height:1.35;text-align:center;padding:10px;
}

.br-tags{gap:6px;margin-top:1px}
.br-title{font-size:17px;font-weight:700;color:var(--ink);line-height:1.4;letter-spacing:.1px}
.br-fields{gap:3px 18px;font-size:13px;color:var(--ink-2)}
.bf{color:var(--ink-2)}
.bf i{color:var(--muted);font-weight:500;margin-right:5px}
.br-intro{font-size:13px;color:#6B7A89;line-height:1.7}
.br-buy{padding-top:8px}
.br-buy .price{font-size:20px;font-weight:700;color:var(--brand);letter-spacing:.2px}

/* 标签 / 徽章 */
.tag{border-radius:8px;font-weight:700;padding:3px 9px;font-size:12px}
.tag.cat{background:var(--brand-tint);color:var(--brand)}
.tag.sub{background:#EEF4FA;color:#3A6EA5}
.tag.third{background:color-mix(in srgb,var(--c,#C0392B) 12%,#fff);color:var(--c,#C0392B);border:1px solid color-mix(in srgb,var(--c,#C0392B) 26%,#fff)}
.badge{border-radius:8px;padding:3px 9px;font-size:12px}
.b-theme{background:#F2F5F8;border-color:#E1E8EF;color:var(--bc,#C0392B)}

/* 按钮 */
.add-btn{border-radius:11px;padding:10px 18px;font-size:14px;font-weight:700;box-shadow:0 3px 10px rgba(192,57,43,.22)}
.load-more{border-radius:999px;border-color:#D9E1E8;color:var(--ink-2);background:#fff;font-size:14px}
.load-more:hover{background:var(--brand);border-color:var(--brand);color:#fff}

/* ---------- 购物车抽屉 ---------- */
.cart{box-shadow:-10px 0 40px rgba(16,24,40,.18)}
.cart-head{border-bottom:1px solid var(--line);padding:18px 20px}
.cart-head h2{font-size:17px;font-weight:700}
.cart-item{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-s)}
.cart-foot{border-top:1px solid var(--line)}
.cs-item{border-radius:12px}
.primary{border-radius:10px;font-weight:700}
.ghost{border-radius:10px}

/* ---------- 页脚 / 回顶 ---------- */
.site-foot{background:#fff;border-top:1px solid var(--line)}
#back-top{border-radius:999px;box-shadow:var(--shadow-m)}

/* ==========================================================================
   移动端
   ========================================================================== */
@media (max-width:900px){
  .topbar{flex-wrap:wrap;padding:10px 14px;gap:10px}
  .brand{flex:1 1 auto;min-width:0;order:1}
  .brand-text h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cart-area{order:2;flex:0 0 auto}
  .search-box{order:3;flex:1 1 100%;max-width:none}
  .search-box input{font-size:16px}           /* 防 iOS 聚焦放大 */
  .cart-btn{padding:9px 12px 9px 14px;gap:8px;border-radius:12px}
  .tb-tools{order:4;width:100%;justify-content:flex-start;overflow-x:auto}

  .layout{padding:12px 12px 22px;gap:12px}
  .facet h3{padding-left:12px}
  .cat-tree{padding:0 6px}
  .book-row{padding:12px;gap:12px;border-radius:14px}
  .br-cover{width:106px;border-radius:10px}
  .br-title{font-size:16px}
  .br-intro{font-size:12px;-webkit-line-clamp:2}
  .br-buy .price{font-size:18px}
  .add-btn{padding:9px 14px;font-size:13px}
}
@media (max-width:430px){
  .br-cover{width:94px}
  .br-fields{font-size:12px;gap:2px 12px}
  .br-title{font-size:15px}
}

/* ===================== 2026-10-19 横向平铺（当当/博库式网格） =====================
   用户明确要求：书目不要一行一条的大横条，改成横向平铺、一行多本往右排。
   卡片要能放下 作者 / 出版社 / 出版时间，所以用 210px 起步（约 5 列）。 */
/* ===== 2026-10-28 v2 布局：照文轩，一行一条横向列表 =====
   用户明确：不要网格卡片（一行 2/3/4 个都不行），要「左封面 + 右侧两列信息 + 最右价格按钮」*/
.book-list{
  display:block !important;
  gap:0 !important;
}
.book-row{
  display:flex !important;
  align-items:flex-start;
  gap:20px;
  padding:20px 12px;
  border:none !important;
  border-bottom:1px solid #EDF1EF !important;
  border-radius:0 !important;
  background:transparent;
  transform:none !important;
  transition:background .15s;
}
.book-row:first-child{border-top:1px solid #EDF1EF !important}
.book-row:hover{background:#FAFCFB;box-shadow:none !important}
.br-cover{
  width:104px !important;
  flex:0 0 104px !important;
  align-self:flex-start;
  border:none;
  border-radius:6px;
  background:#F7F5F1;
  aspect-ratio:3/4;
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:none;
  cursor:zoom-in;
}
.br-cover img.br-img{width:100%;height:100%;object-fit:contain;display:block;transition:none}
.book-row:hover .br-cover img.br-img{transform:none}
.br-cover div.br-img{width:100%;height:100%;aspect-ratio:auto;font-size:12.5px;padding:6px}
.br-info{padding:12px 3px 4px;gap:5px;justify-content:flex-start}
/* 2026-10-19 用户要求：分类、主题徽章、内容简介都不能藏，全部显示 */
.br-tags{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 2px}
.br-tags .tag{font-size:10.5px;padding:1.5px 6px;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.br-badges{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 2px;max-height:44px;overflow:hidden}
.br-badges .badge{font-size:10.5px;padding:1.5px 6px;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.br-title{
  font-size:14px;font-weight:700;line-height:1.42;min-height:40px;letter-spacing:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.br-fields{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.55;color:#55606C}
.br-fields .bf{max-width:100%;font-weight:400}
/* 2026-10-19 用户要求：作者 / 出版时间 / 出版信息都要显示，不能藏起来。
   中图分类也要显示（用户明确点名）；只收起「书号」，详情里能看全。 */
.bf[data-k="书号"]{display:none}
.bf[data-k="作者"]{font-weight:600;color:#3A4A59}
.bf i{font-size:10.5px;margin-right:4px;color:#9AA7B4}
/* 内容简介：卡片上两行截断；当当链接收起（看详情即可） */
.br-intro{font-size:11.5px;color:#7A8794;line-height:1.55;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.br-link{display:none}
.br-buy{margin-top:auto;padding-top:7px;gap:6px;flex-wrap:nowrap}
.br-buy .price{font-size:15.5px;letter-spacing:.2px}
.br-buy .add-btn,.br-buy button{padding:7px 9px;font-size:12.5px;border-radius:8px}
.br-buy .row-stepper{font-size:12.5px}
body.edit-mode .br-cat,body.edit-mode .br-meta,body.edit-mode .br-del{
  margin-left:0;margin-top:4px;padding:3px 7px;font-size:10.5px;border-radius:11px}
.br-trash{width:26px;height:26px;font-size:13px;top:4px;right:4px}
/* 专题索引页用宽一点的卡片 */
.book-list.topic-index{grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important}

/* ★ 2026-10-19 修「特色书单点进去乱七八糟」：
   .book-list 改成 grid 后，专题详情页的横幅(.topic-banner)和届次条(.topic-chips)
   也变成了网格里的一格，被压成 210px 宽、年份竖着排一列，书籍区只剩两列。
   这里让它们整行铺满。 */
.book-list > .topic-banner{
  grid-column:1/-1 !important;
  margin:0 0 2px !important;
}
.book-list > .topic-chips{
  grid-column:1/-1 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center;
  gap:8px !important;
  margin:0 0 4px !important;
  width:auto !important;
}
.book-list > .topic-chips .ftab{flex:0 0 auto !important}
@media(max-width:900px){
  .book-list > .topic-banner{padding:14px 16px !important}
  .book-list > .topic-banner .tb-name{font-size:18px !important}
  .book-list > .topic-banner .tb-desc{font-size:12.5px !important}
}
@media(max-width:900px){
  .book-list{grid-template-columns:repeat(auto-fill,minmax(152px,1fr)) !important;gap:10px !important}
  .br-title{font-size:12.5px;min-height:35px}
  .br-info{padding:6px 7px 8px;min-height:138px}
}
@media(max-width:640px){
  .book-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .book-row{padding:0 !important;gap:0 !important;flex-wrap:nowrap}
  .br-cover{width:100% !important}
}

/* ★ 2026-10-19 修「漏了出版时间的排序」：
   ① 下拉文本加「排序：」前缀，用户一眼知道这一格是排序（原来只写「成套 / 系列优先」，容易被当成怪选项）；
   ② 140px 会把「出版时间 新 → 旧」截断，放到 170px；
   ③ styles.css 在 ≤900px 直接把 .tb-tools 整块 display:none，窄屏连排序/年份筛选都没了 —— 这里恢复显示。 */
.tb-sel{max-width:170px !important;min-width:118px;text-overflow:ellipsis}
#year.tb-sel{max-width:150px !important}
/* 「排序」两个字的固定标签，放在下拉左边，一眼看出这一格是排序 */
.tb-lab{font-size:12.5px;font-weight:800;color:var(--muted);letter-spacing:.5px;white-space:nowrap}
@media (max-width:900px){
  .tb-tools{display:flex !important}
  .tb-lab{display:inline-block !important}
  .tb-sel{max-width:150px !important;font-size:12.5px !important}
}
@media (max-width:560px){
  .tb-tools{flex-wrap:wrap;gap:6px}
  .tb-sel{max-width:calc(50% - 4px) !important;flex:1 1 auto}
}

/* 成人馆分类面板：19 个一级分类，两列平铺（不再纵向拉成长条） */
.cat-flyout.no-subs:not(.pic-hall) .ff-majors{
  width:472px;display:grid;grid-template-columns:repeat(2,minmax(206px,1fr));
  gap:3px 8px;align-content:start;border-right:none;
}
.cat-flyout.no-subs:not(.pic-hall) .ff-majors .ff-col-hd{grid-column:1/-1;margin-bottom:2px}
.cat-flyout.no-subs:not(.pic-hall) .ff-majors .ff-major{padding:8px 12px;font-size:14px}
.cat-flyout.no-subs:not(.pic-hall) .ff-majors .ff-major .cnt{font-size:12.5px;padding:1px 8px;min-width:26px}

/* ===================== 2026-10-19 特色书单子列表（直接展开在左侧栏） =====================
   用户要求：14 个专题不要藏在悬浮面板里，点「特色书单」直接在下面列出来。 */
.cat-sub.topic-sub{margin-left:14px;padding-left:30px;font-size:14px;border-left:3px solid #BFD9DD;animation:tzFade .18s ease}
.cat-sub.topic-sub.active{background:#0F7B8A;color:#fff}
@keyframes tzFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ===================== 2026-10-19 左侧栏：博库式横向流式分类（小字、不加粗、往右铺） ===================== */
.sidebar{flex:0 0 256px !important}
.cat-inline{display:flex;flex-wrap:wrap;gap:1px 0;padding:0 12px 10px 20px}
.cat-inline .ci-item{
  display:inline-flex;align-items:baseline;
  font-size:12.5px;font-weight:400;color:#5A6774;
  padding:3px 9px;border-radius:8px;line-height:1.5;cursor:pointer;
  transition:color .12s,background .12s;white-space:nowrap;
}
.cat-inline .ci-item:hover{background:#F2F0EC;color:#1F2A36}
.cat-inline .ci-item.active{background:color-mix(in srgb,var(--c,#0F7B8A) 12%,#fff);color:var(--c,#0F7B8A);font-weight:600}
.topic-inline{margin:0 10px 10px 20px;padding:0 2px;border-left:none}
/* ---- 全局减加粗（用户：不要什么字都加粗） ---- */
.cat-hall{font-weight:600 !important}
.cat-hall .t{font-weight:600 !important}
.tab{font-weight:600 !important}
.tab.active{font-weight:700 !important}
.bf[data-k="作者"]{font-weight:400 !important;color:#55606C !important}
.br-title{font-weight:600 !important}
/* 2026-10-19 用户要求：顶部馆别条不要粘顶挡内容 → 取消 sticky，随页面滚动 */
.tabs{position:static !important;top:auto !important}

/* ===================== 2026-10-19 绘本馆分组面板：阅读主题 / 荣誉·推荐 / 出版社 三列 ===================== */
.cat-flyout .ff-cols.pic-grouped{
  display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;
  gap:0 !important;align-items:stretch !important;padding:6px 0 !important
}
.cat-flyout .ff-cols.pic-grouped .ff-col{
  flex:1 1 0 !important;min-width:210px !important;max-width:280px !important;
  display:flex !important;flex-direction:column !important;
  border-right:1px solid #EEF2F5 !important;padding:0 10px !important
}
.cat-flyout .ff-cols.pic-grouped .ff-col:last-child{border-right:none !important}
.cat-flyout .ff-cols.pic-grouped .ff-col-hd{
  flex:0 0 auto !important;width:100% !important;
  font-size:13px !important;font-weight:700 !important;color:#4A5568 !important;
  padding:6px 4px 8px !important;margin-bottom:4px !important;
  border-bottom:1px solid #EEF2F5 !important;
  background:transparent !important;letter-spacing:0 !important
}
.cat-flyout .ff-cols.pic-grouped .ff-col-hd small{font-size:11px !important;font-weight:500 !important;color:#8FA0AC !important;margin-left:4px !important}
.cat-flyout .ff-cols.pic-grouped .ff-major{
  display:flex !important;justify-content:space-between !important;align-items:center !important;
  width:100% !important;margin:1px 0 !important;gap:8px !important;
  padding:6px 8px !important;border-radius:8px !important;
  font-size:13px !important;font-weight:400 !important;
  background:transparent !important;border-left:none !important;
  color:#3D4A55 !important
}
.cat-flyout .ff-cols.pic-grouped .ff-major:hover{background:#F7F5F1 !important}
.cat-flyout .ff-cols.pic-grouped .ff-major.active{background:var(--c,#D4567F) !important;color:#fff !important}
.cat-flyout .ff-cols.pic-grouped .ff-major .cnt{
  color:#8FA0AC !important;font-size:11.5px !important;font-weight:400 !important;
  background:transparent !important;padding:0 !important;min-width:0 !important
}
.cat-flyout .ff-cols.pic-grouped .ff-major.active .cnt{color:rgba(255,255,255,.75) !important}
.cat-flyout .ff-cols.pic-grouped .ff-major>span:first-child{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0
}

/* ===================== 2026-10-19 博库式宽面板：悬停左侧馆别 → 右侧弹出，分类横向流式平铺 ===================== */
.cat-flyout{max-width:840px;background:#fff !important}
.cat-flyout .ff-cols{display:block !important}
.cat-flyout .ff-majors{width:auto !important;flex:1 1 auto !important;border-right:none !important;display:flex !important;flex-wrap:wrap !important;gap:6px !important;align-content:flex-start;padding:4px 6px 8px !important}
.cat-flyout .ff-majors .ff-col-hd{flex:0 0 100% !important;width:100% !important}
.cat-flyout .ff-majors .ff-major{
  display:inline-flex !important;align-items:baseline;gap:7px;
  border-left:none !important;background:#F7F5F1;
  padding:7px 13px;border-radius:10px;font-size:13.5px;font-weight:500 !important;
}
.cat-flyout .ff-majors .ff-major:hover{background:color-mix(in srgb,var(--c,#C0392B) 14%,#fff)}
.cat-flyout .ff-majors .ff-major.active{background:var(--c,#C0392B);color:#fff}
.cat-flyout .ff-majors .ff-major .cnt{font-weight:500 !important;background:transparent !important;color:#A5B1BD !important;padding:0 !important;min-width:0 !important}
.cat-flyout .ff-majors .ff-major.active .cnt{color:rgba(255,255,255,.85) !important}
/* 特色书单面板：专题横向流式 */
/* 特色书单面板：专题横向流式（★ 必须 !important：styles.css:329/330 有同权重 flex-direction:column 规则） */
.cat-flyout .ff-list{display:flex !important;flex-wrap:wrap !important;flex-direction:row !important;gap:6px;padding:4px 6px 8px}
.cat-flyout .ff-list .ff-topic{display:inline-flex !important;flex-direction:row !important;align-items:baseline;gap:7px;background:#F0F5F6;border-radius:10px;padding:7px 13px;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s;width:auto !important;flex:0 0 auto !important}
.cat-flyout .ff-list .ff-topic .fc{font-size:11.5px;color:#8FA0AC;font-weight:400}
.cat-flyout .ff-list .ff-topic:hover{background:#D9EBEE}

/* ===== 客服入口·头部左上角（2026-10-23 23:32 简化：一行大号码 + 微信同号备注） ===== */
.cs-chip{position:relative !important;display:inline-flex !important;flex-direction:column !important;align-items:flex-start !important;flex:none}
.cs-chip .cs-fab{display:inline-flex !important;align-items:center !important;height:34px;padding:0 16px;border-radius:999px !important;border:none;background:var(--brand) !important;color:#FFFFFF !important;font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(192,57,43,.30) !important;transition:transform .15s ease,background .15s ease;font-family:inherit;white-space:nowrap}
.cs-chip .cs-fab:hover{background:var(--brand-dark) !important;transform:translateY(-1px)}
.cs-chip .cs-card{position:absolute !important;top:calc(100% + 10px);left:0;width:186px;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:14px !important;box-shadow:0 14px 36px rgba(16,24,40,.18) !important;padding:14px 16px 15px;display:none;z-index:60}
.cs-chip .cs-card.open{display:block !important;animation:csIn .18s ease}
@keyframes csIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cs-chip .cs-tel{display:block !important;text-decoration:none !important}
.cs-chip .cs-tel b{display:block;font-size:19px;font-weight:700;color:var(--brand) !important;letter-spacing:.6px;line-height:1.2;font-variant-numeric:tabular-nums}
.cs-chip .cs-tel span{display:block;margin-top:5px;font-size:11.5px;color:var(--muted)}
.cs-chip .cs-tel:hover b{color:var(--brand-dark) !important}
@media (max-width:640px){.cs-chip .cs-card{width:178px}}

/* ===== 首页 + 侧栏置顶专题（2026-10-24 用户要求） ===== */
.pin-topics{padding:2px 12px 10px 34px !important}
.pin-topics .ci-item{font-size:12.5px !important;color:#0F7B8A !important;font-weight:600 !important}
.pin-topics .ci-item em{font-style:normal;margin-left:4px;font-size:11px;color:#8A96A3;font-weight:400}
.cat-hall.home-hall .ic{font-size:14px}

#grid .home-wrap{grid-column:1/-1 !important;width:100%}
/* ===== 首页门户版式（2026-10-24 晚：参考当当/博库，横幅+入口+榜单+楼层） ===== */
.hero-grid{display:grid !important;grid-template-columns:2fr 1fr !important;gap:16px;height:352px}
.hero-grid .hb-card{height:100%;display:flex;align-items:center;justify-content:center}
.hero-grid .hb-card img{width:100%;height:100%;object-fit:cover}
.hero-grid .hb-card.hero-mini img{object-fit:contain;padding:14px;background:#FFFFFF}
.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-height:0}
.hb-badge{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.95);color:#C0392B;font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:999px;box-shadow:0 2px 10px rgba(16,24,40,.15)}
.hb-card.ph{background:linear-gradient(135deg,#0F7B8A,#0A5560);border:1px dashed rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center}
.hb-ph{text-align:center;color:#FFFFFF}
.hb-ph b{display:block;font-size:22px;font-weight:700;letter-spacing:3px}
.hb-ph em{display:block;margin-top:6px;font-size:12px;font-style:normal;opacity:.75}
.hero-new{position:relative !important;overflow:hidden;background:#0A1A30 !important;color:#FFFFFF;padding:0 !important;cursor:pointer;display:block !important}
.hn-mosaic{position:absolute;inset:0;display:grid !important;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px}
.hn-cell{overflow:hidden;background:#12243D}
.hn-img{width:100%;height:100%;object-fit:cover;display:block;font-size:9px;color:#fff;text-align:center;overflow:hidden}
.hn-veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(9,22,40,.94) 0%,rgba(9,22,40,.72) 55%,rgba(9,22,40,.42) 100%)}
.hn-txt{position:relative;z-index:2;height:100%;padding:18px 20px;display:flex !important;flex-direction:column;justify-content:center}
.hero-new .hn-top{font-size:14px;font-weight:600;opacity:.95;letter-spacing:2px}
.hero-new .hn-num{font-size:38px;font-weight:700;line-height:1.1;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.hero-new .hn-sub{font-size:12px;opacity:.85}

.quick-halls{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:14px;margin-top:18px}
.qh-card{background:#FFFFFF;border:1px solid #E4EAF0;border-radius:14px;padding:16px 18px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.qh-card:hover{border-color:#C0392B;box-shadow:0 6px 18px rgba(16,24,40,.08)}
.qh-card b{display:block;font-size:15px;color:#1B2632}
.qh-card span{display:block;margin-top:4px;font-size:12.5px;color:#7E8C9B}

.rank-wrap{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px;margin-top:26px}
.rank-col{background:#FFFFFF;border:1px solid #E4EAF0;border-radius:16px;padding:16px 18px 10px}
.rk-head{display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid #EEF2F6}
.rk-head b{font-size:16px;font-weight:700;color:#1B2632}
.rk-head i{font-size:12px;color:#7E8C9B;font-style:normal}
.rk-head a{margin-left:auto;font-size:12.5px;font-weight:600;color:#C0392B;cursor:pointer}
.rk-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed #F0F4F8;cursor:pointer}
.rk-row:last-child{border-bottom:none}
.rk-row:hover .rk-info b{color:#C0392B}
.rk-n{flex:none;width:18px;text-align:center;font-size:12px;font-weight:700;color:#9AA7B4}
.rk-n.top{color:#C0392B}
.rk-cov{flex:none;width:38px;height:52px;border-radius:5px;overflow:hidden;background:#F2F5F8}
.rk-img{width:100%;height:100%;object-fit:cover;display:block;font-size:10px;color:#fff;text-align:center;overflow:hidden}
div.rk-img{display:grid;place-items:center;padding:2px}
.rk-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rk-info b{font-size:13px;font-weight:500;color:#1B2632;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-info i{font-size:11.5px;color:#8A96A3;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-price{flex:none;font-size:12.5px;color:#C0392B;font-weight:600}

.floor{margin-top:26px}
.fl-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding-left:10px;border-left:4px solid #0F7B8A}
.fl-head b{font-size:17px;font-weight:700;color:#1B2632}
.fl-head i{font-size:12px;color:#7E8C9B;font-style:normal}
.fl-head a{margin-left:auto;font-size:13px;font-weight:600;color:#C0392B;cursor:pointer}
.fl-head a:hover{text-decoration:underline}
.fl-grid{display:grid !important;grid-template-columns:repeat(8,1fr) !important;gap:14px}
.fl-book{cursor:pointer;min-width:0}
.fl-cov{display:block !important;width:100%;aspect-ratio:3/4;border-radius:9px;overflow:hidden;background:#FFFFFF !important;border:1px solid #EEF2F6 !important;transition:box-shadow .15s ease}
.fl-book:hover .fl-cov{box-shadow:0 6px 18px rgba(16,24,40,.18)}
.fl-img{width:100%;height:100%;object-fit:cover;display:block;font-size:11px;color:#fff;text-align:center;overflow:hidden}
div.fl-img{display:grid;place-items:center;padding:6px;font-weight:600}
.fl-t{display:block;margin-top:6px;font-size:12px;color:#465565;line-height:1.45;height:35px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fl-p{display:block;font-size:12.5px;color:#C0392B;font-weight:600;margin-top:2px}
@media (max-width:1100px){
  .hero-grid{height:auto;grid-template-columns:1fr !important}
  .hero-grid .hb-card{min-height:180px}
  .hero-side{grid-template-rows:auto auto}
  .quick-halls{grid-template-columns:repeat(2,1fr) !important}
  .rank-wrap{grid-template-columns:1fr !important}
  .fl-grid{grid-template-columns:repeat(4,1fr) !important}
}
@media (max-width:980px){
  .home-topics{grid-template-columns:1fr}
  .ht-cover{width:132px}
  .home-halls{grid-template-columns:1fr}
  .home-hero{padding:26px 20px 22px}
  .hh-title{font-size:23px}
}

/* 新书速递序号角标（2026-10-24） */
.sh-cov{position:relative}
.sh-rank{position:absolute;left:6px;top:6px;z-index:2;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:rgba(27,38,50,.72);color:#FFFFFF;font-size:11.5px;font-weight:700;line-height:20px;text-align:center}
.sh-rank.top{background:#C0392B}

/* 新书抢先看页头（2026-10-24） */
/* 2026-10-28 用户：新书页顶部红棕色横幅跟滚动页风格不搭、难看
   → 改成与轮播「新书抢鲜看」同色系的浅青渐变，深墨绿大字，去掉大色块压迫感 */
.new-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(720px 260px at 12% 20%, rgba(126,186,176,.30) 0%, rgba(126,186,176,0) 68%),
    linear-gradient(118deg,#F4FAF8 0%,#E7F3F1 52%,#DCEFEC 100%);
  color:#12403C;border:1px solid #D3E7E3;border-radius:18px;padding:34px 38px;margin-bottom:22px;
}
.new-hero::after{
  content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(18,64,60,.07) 0%,rgba(18,64,60,0) 68%);
}
.new-hero .nh-k{font-size:30px;letter-spacing:14px;color:#7EBAB0;font-weight:800;opacity:.9}
.new-hero .nh-t{font-size:44px;font-weight:900;margin:2px 0 10px;letter-spacing:6px;color:#0F3B38}
.new-hero .nh-s{font-size:14px;color:#5A8B85;font-weight:600;letter-spacing:2px}
@media (max-width:900px){
  .new-hero{padding:24px 22px}
  .new-hero .nh-k{font-size:20px;letter-spacing:8px}
  .new-hero .nh-t{font-size:30px;letter-spacing:3px}
  .new-hero .nh-s{font-size:12.5px}
}

/* 畅销榜：10 列网格 + 名次角标（2026-10-24） */
.fl-grid.rk10{grid-template-columns:repeat(10,1fr) !important}
.fl-cov{position:relative}
.fl-rank{position:absolute;left:6px;top:6px;z-index:2;min-width:22px;height:22px;padding:0 6px;border-radius:7px;background:rgba(27,38,50,.75);color:#FFFFFF;font-size:12px;font-weight:700;line-height:22px;text-align:center}
.fl-rank.top{background:#C0392B}
@media (max-width:1100px){.fl-grid.rk10{grid-template-columns:repeat(5,1fr) !important}}

/* 榜单空态（2026-10-24） */
.floor-empty{border:1px dashed #D8E0E8;border-radius:14px;background:#FAFCFE;color:#8A96A3;font-size:13.5px;text-align:center;padding:38px 16px}

/* ===== 图书畅销榜·深蓝金高级面板（2026-10-24，参考图一图二配色 + 图三封面拼贴） ===== */
.floor.bs-floor{position:relative !important;background:linear-gradient(155deg,#0A1A30 0%,#132F57 48%,#0A1A30 100%) !important;border:1px solid rgba(201,162,75,.28) !important;border-radius:18px;padding:22px 24px 18px !important;overflow:hidden}
.floor.bs-floor::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% -10%,rgba(201,162,75,.16),transparent 62%);pointer-events:none}
.bs-head{display:flex !important;align-items:center;gap:16px;margin-bottom:18px;position:relative;z-index:1}
.bs-head b{flex:none;font-size:21px;font-weight:700;color:#E8C877 !important;letter-spacing:5px;text-shadow:0 2px 12px rgba(201,162,75,.35)}
.bs-head .bs-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,75,.55),transparent)}
.bs-mosaic{display:grid !important;grid-template-columns:repeat(12,1fr) !important;gap:9px;position:relative;z-index:1}
.bs-tile{position:relative;border-radius:7px;overflow:hidden;aspect-ratio:3/4;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:transform .16s ease,box-shadow .16s ease}
.bs-tile:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,0,0,.5)}
.bs-img{width:100%;height:100%;object-fit:cover;display:block;font-size:10px;color:#fff;text-align:center;overflow:hidden}
div.bs-img{display:grid;place-items:center;padding:4px}
.bs-rank{position:absolute;left:4px;top:4px;min-width:18px;height:18px;padding:0 5px;border-radius:5px;background:linear-gradient(160deg,#F3D98F,#C9A24B);color:#0A1A30;font-size:11px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.bs-rank.top{background:linear-gradient(160deg,#FFF0BF,#D9A93F);font-size:11.5px}
.bs-empty{border:1px dashed rgba(201,162,75,.35);border-radius:12px;color:rgba(255,255,255,.55);font-size:13.5px;text-align:center;padding:36px 16px;position:relative;z-index:1}
.bs-foot{text-align:center;margin-top:14px;position:relative;z-index:1}
.bs-foot span{font-size:13px;font-weight:600;color:#E8C877;cursor:pointer;letter-spacing:1px}
.bs-foot span:hover{text-decoration:underline}
@media (max-width:1100px){.bs-mosaic{grid-template-columns:repeat(6,1fr) !important}}

/* ===== 滚动页节奏（2026-10-24 晚）：区块拉开、交替底色、进入动效 ===== */
.home-wrap{padding-bottom:36px}
.hero-grid{margin-bottom:34px}
.quick-halls{margin:0 0 42px !important}
.floor{margin:0 0 46px !important;padding:26px 24px 30px;border-radius:18px;background:#FFFFFF;border:1px solid #EEF2F6}
.floor:nth-of-type(even){background:#F7F9FC}
.fl-head{margin-bottom:18px !important}
.fl-grid{gap:18px !important}
.fl-grid.rk10{gap:16px !important}
.floor.bs-floor{margin:0 0 46px !important;padding:34px 30px 28px !important}
.bs-mosaic{grid-template-columns:repeat(8,1fr) !important;gap:14px !important}
.bs-head b{font-size:23px !important}
/* 进入动效 */
.rv{opacity:0;transform:translateY(26px);transition:opacity .62s cubic-bezier(.22,.61,.36,1),transform .62s cubic-bezier(.22,.61,.36,1)}
.rv.rv-in{opacity:1;transform:none}
@media (max-width:1100px){.bs-mosaic{grid-template-columns:repeat(4,1fr) !important}.floor{margin-bottom:30px !important;padding:18px 16px 22px}}

/* 滚动页间距与卡片微调（2026-10-24 晚 2） */
.hero-grid{height:400px !important;margin-bottom:40px !important}
.hn-txt{padding:16px 18px !important}
.hn-top{font-size:15px !important;font-weight:700;letter-spacing:2px}
.hn-sub{font-size:12px !important;opacity:.9;margin-top:4px}
.floor{margin-bottom:52px !important;padding:30px 26px 34px !important}
.fl-head b{font-size:19px !important}
.floor.bs-floor.slim{padding:20px 26px 18px !important;margin-bottom:40px !important}
.bs-empty{padding:20px 16px !important}

/* 头部 1 大 + 3 小（2026-10-24，参考文轩） */
.hero-main-wrap{height:330px;margin-bottom:16px}
.hero-main-wrap .hb-card{height:100%;margin:0}
.hero-main-wrap .hb-card img{width:100%;height:100%;object-fit:cover}
.hero-row{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:16px;height:172px;margin-bottom:40px}
.hero-row .hb-card{height:100%;margin:0;position:relative;overflow:hidden;border-radius:16px;cursor:pointer;background:#0A1A30;box-shadow:0 1px 3px rgba(16,24,40,.07);transition:transform .16s ease,box-shadow .16s ease}
.hero-row .hb-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,24,40,.16)}
.hero-row .hb-card img{width:100%;height:100%;object-fit:cover;display:block}
.hero-row .hb-card.hero-mini img{object-fit:contain;padding:10px;background:#FFFFFF}
.hero-collage .hn-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.hero-collage .hn-veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(9,22,40,.92),rgba(9,22,40,.55))}
.hero-collage .hn-txt{position:relative;z-index:2;height:100%;padding:14px 16px;display:flex !important;flex-direction:column;justify-content:flex-end;color:#fff}
/* 楼层改为每行 5 本，封面更大 */
.fl-grid{grid-template-columns:repeat(5,1fr) !important;gap:20px !important}
.fl-grid.rk10{grid-template-columns:repeat(5,1fr) !important;gap:20px !important}
.fl-t{font-size:13px !important;height:38px !important}
.fl-p{font-size:13.5px !important}
@media (max-width:1100px){.hero-row{grid-template-columns:1fr !important;height:auto}.hero-row .hb-card{min-height:120px}.fl-grid,.fl-grid.rk10{grid-template-columns:repeat(2,1fr) !important}}

/* 修：大横幅角标定位跑出卡片（2026-10-24） */
.hero-main-wrap{position:relative !important;overflow:hidden;border-radius:18px}
.hero-main-wrap .hb-card{position:relative !important;overflow:hidden !important;border-radius:18px;height:100% !important;width:100%}
.hero-main-wrap .hb-card img{width:100% !important;height:100% !important;object-fit:cover;object-position:center}
.hero-main-wrap .hb-badge{position:absolute !important;right:16px !important;bottom:16px !important;z-index:3}

/* ===== 书卡改成当当式：白卡+细框+完整封面+红价（2026-10-25 00:58） ===== */
.fl-book{background:#FFFFFF !important;border:1px solid #E8EDF2 !important;border-radius:10px !important;padding:10px 10px 12px !important;display:flex !important;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.fl-book:hover{border-color:#C0392B !important;box-shadow:0 8px 22px rgba(16,24,40,.10);transform:translateY(-2px)}
.fl-cov{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;aspect-ratio:1/1 !important;border:none !important;background:#FCFDFE !important;border-radius:6px;overflow:hidden;padding:2px}
.fl-img{width:100% !important;height:100% !important;object-fit:contain !important;display:block}
.fl-t{margin-top:8px !important;font-size:12.5px !important;line-height:1.5 !important;height:38px !important;color:#2C3A48 !important;font-weight:400 !important}
.fl-p{margin-top:5px !important;font-size:15px !important;font-weight:700 !important;color:#E03A2F !important}
.fl-grid{gap:16px !important}
/* 头部：小卡用图（新书抢先看横幅） */
.hero-row .hero-img img{width:100% !important;height:100% !important;object-fit:cover !important}

/* 新书抢先看横幅：完整显示，不留裁切 */
.hero-row .hero-img{background:#E7F7F5 !important}
.hero-row .hero-img img{object-fit:contain !important;object-position:center !important;background:#E7F7F5 !important}

/* 全部书目入口卡：白底干净版（2026-10-25 01:03） */
.hero-row .hero-plain{background:#FFFFFF !important;border:1px solid #E8EDF2 !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 1px 3px rgba(16,24,40,.05) !important}
.hero-row .hero-plain:hover{border-color:#C0392B !important;box-shadow:0 8px 22px rgba(16,24,40,.10) !important}
.hp-in{text-align:center}
.hp-t{font-size:17px;font-weight:700;color:#1B2632;letter-spacing:1px}
.hp-s{margin-top:8px;font-size:12.5px;color:#C0392B;font-weight:600}

/* 编辑精选角标（2026-10-25） */
.fl-feat{position:absolute;left:6px;top:6px;z-index:3;background:#C0392B;color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:1px}

/* 文津奖大横幅：不裁切，按图片原比例显示（2026-10-25 01:14） */
.hero-main-wrap{height:auto !important}
.hero-main-wrap .hb-card{height:auto !important}
.hero-main-wrap .hb-card img{width:100% !important;height:auto !important;object-fit:fill !important;display:block}

/* 头部：两张图并排 + 四馆细横条（2026-10-25 01:18） */
.hero-row{grid-template-columns:repeat(2,1fr) !important;height:210px !important;margin-bottom:22px !important}
.hall-strip{display:flex !important;align-items:center;justify-content:center;background:#FFFFFF;border:1px solid #EEF2F6;border-radius:12px;padding:14px 8px;margin:0 0 44px !important}
.hs-item{display:inline-flex;align-items:baseline;gap:8px;padding:0 26px;cursor:pointer}
.hs-item b{font-size:15px;font-weight:600;color:#1B2632}
.hs-item i{font-style:normal;font-size:12.5px;color:#8A96A3}
.hs-item:hover b{color:#C0392B}
.hs-div{width:1px;height:16px;background:#E8EDF2}
@media (max-width:1100px){.hero-row{grid-template-columns:1fr !important;height:auto !important}.hall-strip{flex-wrap:wrap;gap:12px;padding:12px}.hs-item{padding:0 10px}.hs-div{display:none}}

/* ===== 畅销榜：白底平铺 + 双排自动滚动（2026-10-25 01:26） ===== */
.floor.mq-floor{background:transparent !important;border:none !important;padding:0 !important;margin:0 0 46px !important}
.mq-row{overflow:hidden;position:relative;margin-bottom:14px;mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent)}
.mq-track{display:flex;gap:14px;width:max-content;animation:mqscroll 46s linear infinite;will-change:transform}
.mq-row.rev .mq-track{animation-direction:reverse;animation-duration:52s}
.mq-row:hover .mq-track{animation-play-state:paused}
@keyframes mqscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq-item{flex:none;width:118px;cursor:pointer}
.mq-img{width:118px;height:157px;object-fit:cover;display:block;border-radius:8px;background:#F2F5F8;transition:transform .16s ease,box-shadow .16s ease}
.mq-item:hover .mq-img{transform:translateY(-3px);box-shadow:0 8px 20px rgba(16,24,40,.22)}
@media (prefers-reduced-motion:reduce){.mq-track{animation-duration:180s}}

/* 左侧导航去加粗（2026-10-25 01:30 用户：不要加粗，高级简洁） */
.cat-hall,.cat-hall .t,.cat-hall .cnt{font-weight:400 !important}
.cat-hall.active .t{font-weight:500 !important}
.pin-topics .ci-item{font-weight:400 !important}
.pin-topics .ci-item.active{font-weight:500 !important}
.cat-inline .ci-item{font-weight:400 !important}
.cat-inline .ci-item.active{font-weight:500 !important}

/* 左侧导航不显示数字（2026-10-25 01:37 用户要求） */
.cat-hall .cnt{display:none !important}
.pin-topics .ci-item em{display:none !important}

/* ===== 修正（2026-10-25 01:40）：封面一律不裁切 + 畅销榜改为可左右滑动（取消自动跑马灯） ===== */
.mq-row{overflow-x:auto !important;overflow-y:hidden !important;scroll-snap-type:x proximity;padding-bottom:8px;mask-image:none !important;-webkit-mask-image:none !important}
.mq-track{animation:none !important;transform:none !important;gap:14px !important}
.mq-item{scroll-snap-align:start}
.mq-img{object-fit:contain !important;background:#FFFFFF !important;border:1px solid #EEF2F6}
.mq-row::-webkit-scrollbar{height:6px}
.mq-row::-webkit-scrollbar-thumb{background:#D8E0E8;border-radius:3px}
/* 其它封面位也统一不裁切 */
.bs-img,.rk-img,.hn-img{object-fit:contain !important}

/* ===== 顶部轮播（2026-10-25 01:35）：文津奖/新书抢鲜看/四季童读 自动轮换 ===== */
.hero-carousel{position:relative !important;width:100%;border-radius:18px;overflow:hidden;cursor:pointer;margin-bottom:40px;box-shadow:0 1px 3px rgba(16,24,40,.07)}
.hc-slide{position:absolute !important;inset:0;display:flex !important;align-items:center !important;justify-content:center !important;opacity:0;transition:opacity .4s ease}
.hc-slide:first-child{position:relative !important}
.hc-slide.on{opacity:1;z-index:1}
.hc-slide img{width:100% !important;height:100% !important;object-fit:contain !important;display:block}
/* 指示点：2026-10-27 用户要求参考当当 —— 圆形数字按钮，当前张红色，其余深灰 */
.hc-dots{position:absolute !important;left:50% !important;bottom:18px !important;transform:translateX(-50%);display:flex !important;gap:13px;z-index:6}
.hc-dots span{
  width:38px !important;height:38px !important;border-radius:50% !important;
  background:#55595F !important;color:#FFFFFF !important;
  font-size:17px !important;font-weight:700 !important;line-height:1 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  cursor:pointer !important;font-family:inherit;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.hc-dots span:hover{background:#6C7178 !important}
.hc-dots span.on{background:#F5333F !important;transform:scale(1.06);box-shadow:0 4px 14px rgba(245,51,63,.42)}
@media (max-width:900px){
  .hc-dots{gap:9px !important;bottom:12px !important}
  .hc-dots span{width:29px !important;height:29px !important;font-size:14px !important}
}
/* 轮播里的纯文字横幅（图书畅销榜暂无封面图，用深蓝金文字占位） */
.hc-txt{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:10px !important;width:100% !important;height:100% !important;padding:0 40px;text-align:center}
.hc-txt b{font-size:30px;font-weight:800;color:#F6E7C8;letter-spacing:2px}
.hc-txt i{font-size:14px;font-weight:600;color:#C9B88F;letter-spacing:1px;font-style:normal}
/* 左右翻页按钮（2026-10-25 02:15 用户要求：轮播页要能鼠标点击翻页） */
.hc-nav{
  position:absolute !important;top:50% !important;transform:translateY(-50%) !important;
  width:44px !important;height:44px !important;border-radius:50% !important;border:none !important;
  background:rgba(16,24,40,.5) !important;color:#FFFFFF !important;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.62), 0 4px 14px rgba(0,0,0,.32) !important;
  font-size:26px !important;line-height:1 !important;font-weight:400 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  cursor:pointer !important;z-index:5 !important;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  transition:background .18s ease,transform .18s ease;
  font-family:inherit;
}
.hc-nav:hover{background:rgba(16,24,40,.78) !important;box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 6px 18px rgba(0,0,0,.4) !important}
.hc-nav:active{transform:translateY(-50%) scale(.92) !important}
.hc-prev{left:16px !important}
.hc-next{right:16px !important}
/* 悬停时露出按钮 */
.hero-carousel:hover .hc-nav{opacity:1}
@media (max-width:700px){
  .hc-nav{width:34px !important;height:34px !important;font-size:20px !important}
  .hc-prev{left:8px !important}
  .hc-next{right:8px !important}
}

/* ===== 左侧导航常驻（2026-10-25 02:05 用户要求） =====
   「这里就贴合上面不要跟随鼠标滚动，不管鼠标怎么滑动，都能看到左边的导航栏」
   ① 桌面端：.sidebar 原来写死 top:62px，但顶栏实测 69px 高 → 侧栏顶部 7px 被顶栏压住，
      视觉上不「贴合」。改用 JS 实测顶栏高度写入 --tb-h，top:var(--tb-h) 精确贴住顶栏底边。
   ② theme.css 里 .sidebar{flex:0 0 256px !important} 会盖掉 styles.css 的同属性，
      这里用同优先级 !important 重新声明，保证 top/max-height 生效。
   ③ 窄屏（≤900px）保持 position:static 不动：手机顶栏实测 203px 高（搜索框换行到第二行），
      侧栏再粘顶会占满整屏，反而更糟，桌面端才是问题所在。 */
.sidebar{
  position:sticky !important;
  top:var(--tb-h,62px) !important;
  max-height:calc(100vh - var(--tb-h,62px) - 14px) !important;
  overflow:auto !important;
  z-index:30;
}
@media (max-width:900px){
  /* 手机端维持原样：顶栏太高，侧栏不粘顶 */
  .sidebar{
    position:static !important;
    top:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}

/* 四季童读那张是白底 logo 标识图，contain 到宽扁容器后白边很突兀。
   用 multiply 混合让白底透出下层浅色渐变，logo 本身颜色不受影响。 */
.hc-slide.blend img{mix-blend-mode:multiply}

/* ===== 2026-10-28 卡片文字层级（选书视角：书名最重 → 作者 → 出版社 → 书号）===== */
.br-info{padding:12px 3px 4px !important;gap:0 !important}
.br-tags{gap:5px !important;margin-bottom:7px}
.br-tags .tag{font-size:11px !important;padding:2px 7px !important;border-radius:5px}
.br-badges{margin-bottom:6px !important;gap:5px !important}
.br-badges .badge{font-size:10.5px !important;padding:1px 6px !important}
.br-title{
  font-size:16.5px !important;line-height:1.42 !important;font-weight:700 !important;
  color:#17211F !important;letter-spacing:.2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:47px;margin-bottom:6px;
  transition:color .15s;
}
.book-row:hover .br-title{color:#C0392B !important}
.br-byline{
  font-size:13px;color:#5E726D;line-height:1.4;margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.br-meta2{
  font-size:12px;color:#95A6A1;line-height:1.4;margin-bottom:9px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.br-small{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:2px}
.br-small .bf{font-size:10.5px !important;color:#B3C0BC !important;line-height:1.5}
.br-small .bf i{font-size:10.5px !important;color:#C2CDCA !important;margin-right:3px}
.br-intro{
  font-size:11.5px !important;color:#A7B4B0 !important;line-height:1.55 !important;
  display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;
  overflow:hidden !important;margin-top:6px;
}
/* 价格 + 按钮那一行：往上提，跟书名区贴紧 */
.br-buy{margin-top:10px !important;padding-top:9px !important;border-top:1px solid #EEF2F0 !important}
@media (max-width:900px){
  .book-list{grid-template-columns:repeat(auto-fill,minmax(158px,1fr)) !important;gap:18px 12px !important}
  .br-title{font-size:13.5px !important;min-height:38px}
  .br-byline,.br-meta2{font-size:11px}
  .br-small{display:none}
}

/* ===== 2026-10-28 v2 文轩式横向列表：正文区两列 + 右侧价格栏 ===== */
.book-row > .br-info{
  flex:1 1 auto;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 152px;
  column-gap:22px;
  align-items:start;
  padding:0 !important;
}
.book-row > .br-info > *:not(.br-buy){grid-column:1}
.book-row > .br-info > .br-buy{
  grid-column:2; grid-row:1 / span 20;
  align-self:start;
  margin:0 !important; padding:0 !important; border:none !important;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}
.br-title{
  font-size:16px !important; line-height:1.4 !important; font-weight:700 !important;
  color:#1A2E2A !important; letter-spacing:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:0 !important; margin:0 0 8px !important;
}
.book-row:hover .br-title{color:#0F7B8A !important}
.br-tags{gap:6px !important;margin-bottom:8px !important}
.br-tags .tag{font-size:11px !important;padding:2px 8px !important;border-radius:4px}
.br-badges{margin-bottom:8px !important;gap:6px !important}
.br-badges .badge{font-size:10.5px !important;padding:1px 7px !important}
.br-fields{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 30px;
  margin-top:2px;
}
.br-fields .bf{
  display:flex; align-items:baseline; gap:8px;
  font-size:12.5px !important; line-height:1.65; color:#44605A !important;
  min-width:0;
}
.br-fields .bf i{
  font-style:normal; color:#93A6A0 !important; font-size:12.5px !important;
  flex:0 0 60px; margin:0 !important;
}
.br-fields .bf{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.br-fields .bf i{display:inline-block}
.br-intro{
  font-size:12px !important;color:#93A6A0 !important;line-height:1.6 !important;
  display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;
  overflow:hidden !important;margin-top:10px;max-width:100%;
}
.br-link{font-size:12px;margin-top:6px}
.price{
  font-size:19px !important;font-weight:800 !important;color:#C0392B !important;
  letter-spacing:-.2px;white-space:nowrap;
}
.br-buy .add-btn{
  width:132px;justify-content:center;padding:9px 0 !important;font-size:13.5px !important;border-radius:7px;
}
.br-buy .row-stepper{gap:4px}
/* 移动端：封面缩小、字段单列 */
@media (max-width:900px){
  .book-row{gap:12px;padding:14px 6px}
  .book-row > .br-info{grid-template-columns:minmax(0,1fr)}
  .book-row > .br-info > .br-buy{grid-column:1;grid-row:auto;flex-direction:row;align-items:center;justify-content:space-between;margin-top:10px !important}
  .br-cover{width:76px !important;flex:0 0 76px !important}
  .br-title{font-size:14.5px !important}
  .br-fields{grid-template-columns:minmax(0,1fr);gap:3px}
  .br-fields .bf i{flex:0 0 56px}
}

/* 空值字段：保留占位、内容留白 */
.br-fields .bf.bf-empty{visibility:hidden}

/* ===== 2026-10-28 v3 照抄当当商品列表（用户指定） =====
   封面 170px → 标题（蓝）→ 红价+ISBN → 作者/时间/出版社（斜杠）→ 分类 → 简介 → 按钮 */
.book-row{
  gap:22px !important;
  padding:24px 10px !important;
  align-items:stretch !important;
}
.book-row > .br-cover{
  width:170px !important;
  flex:0 0 170px !important;
  border-radius:8px !important;
  background:#F7F5F1;
}
.book-row > .br-info{
  display:block !important;
  flex:1 1 auto;
  min-width:0;
  padding:0 !important;
  grid-template-columns:none !important;
}
.br-title{
  font-size:17px !important;
  line-height:1.5 !important;
  font-weight:600 !important;
  color:#1A4F8A !important;              /* 当当的标题是蓝色 */
  letter-spacing:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin:0 0 10px !important;
  min-height:0 !important;
}
.book-row:hover .br-title{color:#C0392B !important;text-decoration:underline}
.br-price-line{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  margin-bottom:9px;
}
.br-price-line .p-now{
  font-size:22px; font-weight:800; color:#E4393C; letter-spacing:-.3px;
}
.br-price-line .p-note{
  font-size:12.5px; color:#8C9E99;
}
.br-meta-line{
  font-size:12.5px; color:#5E726D; line-height:1.7; margin-bottom:6px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.br-tagline{
  font-size:12.5px; color:#8C9E99; margin-bottom:10px;
}
.br-tags, .br-badges{display:none !important}     /* 当当列表没有一堆彩色标签 */
.br-intro{
  font-size:13px !important; color:#6E807B !important; line-height:1.65 !important;
  display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important;
  overflow:hidden !important; margin:0 0 12px !important;
}
/* 按钮放信息区左下（跟当当一样），不再独占右栏 */
.book-row > .br-info > .br-buy{
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:14px !important; margin:0 !important; padding:0 !important; border:none !important;
  grid-column:auto !important; grid-row:auto !important;
}
.br-buy .add-btn{
  width:auto !important; min-width:126px;
  padding:10px 22px !important; font-size:14px !important; border-radius:6px !important;
}
.br-buy .price{display:none !important}          /* 价格已在上面大字显示，按钮区不再重复 */
@media (max-width:900px){
  .book-row{gap:12px !important;padding:16px 6px !important}
  .book-row > .br-cover{width:96px !important;flex:0 0 96px !important}
  .br-title{font-size:14.5px !important}
  .br-price-line .p-now{font-size:18px}
  .br-meta-line,.br-tagline{font-size:11.5px;white-space:normal}
}

/* 2026-10-28 收紧行高：封面 150px（3:4 约 200 高），padding 18px */
.book-row{padding:18px 8px !important; gap:20px !important}
.book-row > .br-cover{width:150px !important; flex:0 0 150px !important}
.book-row > .br-info{max-width:760px}
.br-title{font-size:16.5px !important; margin-bottom:8px !important}
.br-price-line{margin-bottom:7px !important}
.br-price-line .p-now{font-size:21px !important}
.br-meta-line{margin-bottom:4px !important}
.br-tagline{margin-bottom:9px !important}
.br-buy .add-btn{padding:9px 20px !important; font-size:13.5px !important}
@media (max-width:900px){
  .book-row > .br-cover{width:92px !important; flex:0 0 92px !important}
}

/* ===== 2026-10-28 v4 严格照抄当当（用户给截图比对） =====
   标题=黑色常规、价格=红色加粗、元信息=浅灰、标签=白底彩色框 */
.book-row > .br-info .br-title{
  color:#333333 !important;          /* 当当标题是黑色，不是蓝色 */
  font-size:16px !important;
  font-weight:400 !important;        /* 当当标题不加粗 */
  line-height:1.55 !important;
}
.book-row:hover > .br-info .br-title{
  color:#C0392B !important;          /* 悬停才变红 */
  text-decoration:underline;
}
.br-price-line{
  gap:10px !important;
}
.br-price-line .p-now{
  font-size:19px !important;
  font-weight:700 !important;
  color:#E4393C !important;
}
.br-price-line .p-note{
  font-size:12px !important;
  color:#999999 !important;
  font-weight:400 !important;
}
.br-meta-line{
  font-size:12px !important;
  color:#999999 !important;
}
.br-tagline{
  font-size:12px !important;
  color:#999999 !important;
  margin-bottom:10px !important;
}
/* 标签：白底 + 彩色描边 + 彩色文字（当当「自营」那样），不再是浅底浅字看不清 */
.br-tags{gap:8px !important}
.br-tags .tag{
  background:#FFFFFF !important;
  font-size:11.5px !important;
  padding:1px 7px !important;
  border-radius:3px !important;
  border:1px solid currentColor !important;
  line-height:1.6 !important;
}
.br-tags .tag.cat{color:#C0392B !important}
.br-tags .tag.sub{color:#1A6FA8 !important}
.br-tags .tag.third{color:#B35C00 !important}
.br-badges{gap:6px !important}
.br-badges .badge{
  background:#FFFFFF !important;
  border:1px solid currentColor !important;
  border-radius:3px !important;
  padding:1px 7px !important;
  font-size:11px !important;
  line-height:1.6 !important;
  color:#7A8B87 !important;
}
.br-intro{
  font-size:13px !important;
  color:#666666 !important;
  line-height:1.75 !important;
}
/* 按钮：当当是红底实心 + 白底红边次按钮 */
.br-buy .add-btn{
  background:#E4393C !important;
  border-color:#E4393C !important;
  border-radius:3px !important;
  font-weight:400 !important;
}
.br-buy .add-btn:hover{background:#C9302C !important;border-color:#C9302C !important}

/* ===== 2026-10-28 v5：严格照当当商品列表（用户给了截图逐项对）=====
   书名#333不加粗16px → 现价红20px + 当当价 → 作者/时间/出版社#999 → 评论数+自营 →
   标签 → 卖点推荐（红标签+2行灰字）→ 红底「加入选书单」+ 白底红边「收藏」 */
.book-list{display:block !important}
.book-row{
  display:flex !important;
  padding:18px 10px !important;
  gap:20px !important;
  align-items:flex-start !important;
  border:none !important;
  border-bottom:1px solid #F0F0F0 !important;
  border-radius:0 !important;
  background:#fff !important;
}
.book-row:hover{background:#FCFCFC !important}
.book-row > .br-cover{
  width:130px !important; flex:0 0 130px !important;
  border-radius:4px !important; background:#fff !important;
  align-self:flex-start !important;
  border:1px solid #F2F2F2 !important;
  overflow:hidden;
}
.book-row > .br-cover .br-img{
  width:100% !important; height:auto !important;
  aspect-ratio:1/1 !important; object-fit:contain !important;
  border-radius:0 !important; display:block;
}
.book-row > .br-info{
  display:block !important; flex:1 1 auto !important;
  min-width:0; padding:0 !important; max-width:none !important;
}
.br-title{
  font-size:16px !important; font-weight:400 !important; color:#333333 !important;
  line-height:1.55 !important; letter-spacing:0 !important;
  margin:0 0 8px !important; min-height:0 !important;
  display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical; overflow:hidden;
}
.book-row:hover .br-title{color:#E4393C !important; text-decoration:underline}
.br-price-line{display:flex !important; align-items:baseline; gap:12px; margin:0 0 7px !important; flex-wrap:wrap}
.br-price-line .p-now{font-size:20px !important; font-weight:400 !important; color:#E4393C !important; letter-spacing:-.3px}
.br-price-line .p-cur{font-size:12.5px !important; color:#FF6A00 !important}
.br-price-line .p-note{font-size:11.5px !important; color:#9AA3AD !important; font-weight:400}
.br-meta-line{font-size:12.5px !important; color:#5F6B77 !important; line-height:1.7 !important; margin:0 0 3px !important; white-space:normal !important}
.br-tagline{font-size:12px !important; color:#B0B0B0 !important; margin:0 0 7px !important}
.br-shop{display:flex !important; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 8px !important; min-height:0}
.br-shop .shop-comm{font-size:12px; color:#999}
.br-shop .shop-tag{font-size:11px; color:#E4393C; border:1px solid #E4393C; border-radius:2px; padding:0 4px; line-height:1.6}
.br-shop .shop-link{font-size:12px; color:#1A6FA8; text-decoration:none}
.br-shop .shop-link:hover{text-decoration:underline}
/* 标签：白底彩边（当当「自营/包邮/券」那样），恢复显示 */
.br-tags{display:flex !important; flex-wrap:wrap; gap:6px !important; margin:0 0 6px !important}
.br-tags .tag{background:#fff !important; border:1px solid currentColor !important; border-radius:2px !important;
  padding:0 5px !important; font-size:11.5px !important; line-height:1.65 !important}
.br-badges{display:flex !important; flex-wrap:wrap; gap:6px !important; margin:0 0 6px !important}
/* 卖点推荐 */
.br-sell{display:flex; gap:6px; margin:8px 0 2px; font-size:13px; line-height:1.7; color:#666666}
.br-sell i{font-style:normal; color:#E4393C; font-weight:700; flex:0 0 auto}
.br-sell span{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.br-intro{display:none !important}
/* 按钮组 */
.br-buy{display:flex !important; align-items:center; gap:10px; margin:12px 0 0 !important; padding:0 !important; border:none !important; flex-wrap:wrap}
.br-buy .price{display:none !important}
.br-buy .add-btn{
  background:#E4393C !important; border:1px solid #E4393C !important; color:#fff !important;
  border-radius:3px !important; padding:5px 14px !important; font-size:13px !important;
  line-height:1.35 !important; width:auto !important; min-width:0 !important; font-weight:400 !important;
}
.br-buy .add-btn:hover{background:#C9302C !important; border-color:#C9302C !important}
.br-fav{
  background:#fff !important; border:1px solid #E4393C !important; color:#E4393C !important;
  border-radius:3px !important; padding:5px 12px !important; font-size:13px !important;
  cursor:pointer; line-height:1.35;
}
.br-fav:hover{background:#FFF5F5 !important}
.br-fav.on{background:#FFF0F0 !important; border-color:#E4393C !important}
.row-stepper .qbtn{min-width:26px}
/* 顶部「收藏」筛选按钮 */
.tb-fav{padding:6px 10px;border:1px solid #E4393C;background:#fff;color:#E4393C;border-radius:16px;font-size:12.5px;cursor:pointer;white-space:nowrap}
.tb-fav.on{background:#E4393C;color:#fff}
/* 管理按钮弱化，贴右下不抢视线 */
.br-info .br-cat,.br-info .br-meta,.br-info .br-del{
  opacity:.35; font-size:11.5px !important; padding:2px 6px !important; margin-left:4px;
}
.br-info:hover .br-cat,.br-info:hover .br-meta,.br-info:hover .br-del{opacity:1}
@media (max-width:900px){
  .book-row{padding:14px 6px !important; gap:12px !important}
  .book-row > .br-cover{width:92px !important; flex:0 0 92px !important}
  .br-title{font-size:14.5px !important}
  .br-price-line .p-now{font-size:17px !important}
  .br-meta-line,.br-tagline,.br-sell{font-size:11.5px !important}
  .br-buy .add-btn,.br-fav{padding:7px 14px !important; font-size:13px !important}
}

/* 2026-10-28 v5.1：收紧行高（用户说滚动太长），去掉冗余的分类行 */
.book-row{padding:14px 10px !important}
.br-title{margin:0 0 6px !important; line-height:1.45 !important}
.br-price-line{margin:0 0 4px !important}
.br-meta-line{margin:0 0 2px !important; line-height:1.55 !important}
.br-shop{margin:0 0 5px !important}
.br-tags{margin:0 0 2px !important; gap:5px !important}
.br-tags .tag.clc{color:#9A9A9A !important}
.br-badges{margin:4px 0 0 !important}
.br-sell{margin:6px 0 0 !important; line-height:1.55 !important}
.br-buy{margin:9px 0 0 !important}
.br-info .br-cat,.br-info .br-meta,.br-info .br-del{margin-top:6px !important}

/* ===== 2026-10-28 v6：首页轮播（滚动页）收矮，一屏能看到下面内容 =====
   原来高度由首张图撑开（约 500px），占掉半个屏幕；现在固定 300px，四张统一。 */
.hero-carousel{height:300px !important;margin-bottom:26px !important;border-radius:14px !important}
.hc-slide{position:absolute !important;inset:0 !important}
.hc-slide:first-child{position:absolute !important}
.hc-slide img{width:100% !important;height:100% !important;object-fit:contain !important}
.hc-dots{bottom:12px !important;gap:10px !important}
.hc-dots span{width:30px !important;height:30px !important;font-size:14px !important}
.hc-nav{width:38px !important;height:38px !important;font-size:22px !important;opacity:.72}
.hc-prev{left:12px !important}
.hc-next{right:12px !important}
@media (max-width:900px){
  .hero-carousel{height:190px !important}
  .hc-dots span{width:24px !important;height:24px !important;font-size:12px !important}
}

/* 页点移到底部右侧，避开横幅中央文字 */
.hc-dots{left:auto !important;right:26px !important;transform:none !important}
@media (max-width:900px){ .hc-dots{left:50% !important;right:auto !important;transform:translateX(-50%) !important} }

/* ===== 2026-10-28 v7：按用户要求精简（只留一个标签 / 去当当痕迹）===== */
/* 每张卡只有 1 个标签，字号略大一点、不再五颜六色 */
.br-tags .tag.cat{color:#8A5A2B !important;border-color:#D9C3A6 !important;font-size:12px !important;padding:1px 8px !important}
/* 介绍文字：去掉「卖点」二字，直接一段浅灰说明（像当当那样） */
.br-sell{display:block !important;margin:7px 0 0 !important;font-size:13px !important;line-height:1.65 !important;color:#6B6B6B !important}
.br-sell i{display:none !important}
.br-sell span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 当当详情/自营/评论 相关样式一并停用 */
.br-shop{display:none !important}
/* 页码移到左下，避开右侧书架 */
.hc-dots{left:104px !important;right:auto !important;transform:none !important;bottom:14px !important}
.hc-dots span{width:26px !important;height:26px !important;font-size:13px !important;background:rgba(255,255,255,.16) !important;box-shadow:none !important}
.hc-dots span.on{background:#F2C078 !important;color:#5A1608 !important}
@media(max-width:900px){.hc-dots{left:50% !important;right:auto !important;transform:translateX(-50%) !important}}

/* ===== 2026-10-29 用户要求：一行两个卡片（覆盖 10-28 的单列当当列表） ===== */
.book-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.book-row{
  display:flex !important;
  padding:12px !important;
  gap:14px !important;
  align-items:flex-start !important;
  border:1px solid #EDE8E1 !important;
  border-left:3px solid var(--c,#C0392B) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 1px 3px rgba(51,65,85,.05) !important;
}
.book-row:hover{
  background:#fff !important;
  border-color:#E4393C !important;
  box-shadow:0 6px 18px rgba(51,65,85,.10) !important;
}
.book-row > .br-cover{width:132px !important}
@media(max-width:1280px){
  .book-list{grid-template-columns:minmax(0,1fr) !important}
}

/* 两列卡片内按钮贴底对齐（有简介/无简介的卡片高度不同，按钮要对齐） */
.book-row > .br-info{display:flex !important;flex-direction:column !important;height:100% !important}
.book-row .br-buy{margin:auto 0 0 !important;padding-top:8px !important}

/* 修正：卡片纵向拉伸，封面自身顶对齐，信息区吃满高度，按钮才能真正贴底 */
.book-row{align-items:stretch !important}
.book-row > .br-cover{align-self:flex-start !important}

/* 简介区固定占位（无简介的书留空），保证两列卡片内按钮横向对齐 */
.book-row .br-sell{min-height:44px !important;margin:6px 0 0 !important;align-items:flex-start !important}
.book-row .br-sell.empty{min-height:44px !important}

/* 按钮绝对贴底（内容行数不同也能对齐）：信息区留出按钮高度 */
.book-row .br-info{position:relative !important;padding-bottom:44px !important}
.book-row .br-buy{position:absolute !important;bottom:0 !important;left:0 !important;right:0 !important;
  margin:0 !important;padding:0 !important;background:#fff !important}

/* 修正：简介区不再强制 44px 占位（按钮已绝对贴底，双重占位会撑出大片空白） */
.book-row .br-sell,.book-row .br-sell.empty{min-height:0 !important;margin:4px 0 0 !important}
.book-row .br-sell.empty{display:none !important}

/* ===== 2026-10-29 首页楼层小卡片（新书抢先看/四季童读/文津奖）：补「加入选书单」+「收藏」 ===== */
.fl-book .fl-buy{display:flex;align-items:center;gap:6px;margin-top:8px}
.fl-book .fl-add{flex:1 1 auto;min-width:0;height:28px;padding:0 6px;border:1px solid #E4393C;
  background:#E4393C;color:#fff;border-radius:4px;font-size:12px;line-height:26px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:inherit}
.fl-book .fl-add:hover{background:#C9302C;border-color:#C9302C}
.fl-book .fl-fav{flex:0 0 auto;width:28px;height:28px;padding:0;border:1px solid #E4393C;background:#fff;
  color:#E4393C;border-radius:4px;font-size:13px;line-height:1;cursor:pointer}
.fl-book .fl-fav.on{background:#FFF1F0}
.fl-book .fl-qty{flex:1 1 auto;display:flex;align-items:center;height:28px;border:1px solid #E4393C;
  border-radius:4px;overflow:hidden;background:#fff}
.fl-book .fl-qty button{width:26px;height:26px;border:0;background:#FFF1F0;color:#E4393C;
  font-size:15px;line-height:1;padding:0;cursor:pointer;font-family:inherit}
.fl-book .fl-qty button:hover{background:#FFE0DE}
.fl-book .fl-qty i{font-style:normal;font-size:12.5px;color:#E4393C;flex:1;text-align:center;font-weight:600}
/* 大图弹窗里的加购按钮 */
.lb-btn.lb-primary{background:#E4393C !important;border-color:#E4393C !important;color:#fff !important}
.lb-btn.lb-primary.on{background:#fff !important;color:#E4393C !important}

/* 灯箱三个按钮分主次：加购=实心红，收藏=白底红边，换封面=浅灰描边 */
#lb-add.lb-primary{background:#E4393C !important;border:1px solid #E4393C !important;color:#fff !important;box-shadow:0 6px 18px rgba(228,57,60,.35) !important}
#lb-add.lb-primary.on{background:#fff !important;color:#E4393C !important;box-shadow:none !important}
#lb-fav{background:#fff !important;border:1px solid #E4393C !important;color:#E4393C !important;box-shadow:none !important}
#lb-fav.on{background:#FFF1F0 !important}
#lb-replace{background:rgba(255,255,255,.14) !important;border:1px solid rgba(255,255,255,.35) !important;color:#fff !important;box-shadow:none !important}
#lb-replace:hover{background:rgba(255,255,255,.24) !important}

/* 2026-10-29 用户要求：「查看全部 →」放左边，紧跟楼层标题/副标题，不要飘到最右边 */
.fl-head a{margin-left:0 !important}
.fl-head a::before{content:'';display:inline-block}

/* ===== 2026-10-30 用户要求：每张卡片常显「✕ 删除」，不用再开编辑模式 ===== */
.book-row .br-buy .br-del{
  display:inline-flex !important; opacity:1 !important; visibility:visible !important;
  align-items:center; justify-content:center;
  margin:0 0 0 8px; padding:0 10px; height:30px; line-height:1;
  border:1px solid #D9CFC6 !important; background:#fff !important; color:#8A6A5F !important;
  border-radius:4px !important; font-size:12.5px !important; font-weight:400 !important;
  cursor:pointer; white-space:nowrap; font-family:inherit; position:static !important;
}
.book-row .br-buy .br-del:hover{background:#C0392B !important;border-color:#C0392B !important;color:#fff !important}

/* ===== 2026-10-30 首屏改版：主横幅 + 右侧专题导航（对标当当首屏「大banner+分类栏」） =====
   原问题：5 张横幅画幅比例 2.30~3.98 不一致，object-fit:contain 导致两侧露出大块纯色底；
   页码圆点压在书脊上难辨认；缺少「这张点进去是什么」的提示。
   现在：横幅区 1fr + 导航 276px；5 张图统一 1812x600（与画面完全同比）用 cover 铺满。 */
.hero-stage{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 276px;
  gap:12px;
  margin-bottom:26px;
  align-items:stretch;
}
.hero-stage .hero-carousel{
  height:300px !important;
  margin-bottom:0 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 6px 20px rgba(60,32,24,.10) !important;
}
.hero-stage .hc-slide img{
  object-fit:cover !important;      /* 图已按同比例补边，cover 不会再裁掉内容，也绝不出现色块 */
  width:100% !important; height:100% !important;
  display:block !important;
}

/* 右侧专题导航：5 行等分，当前行左侧红杠 + 淡红底 */
.hero-rail{
  display:flex !important; flex-direction:column !important;
  background:#fff !important;
  border:1px solid #EEE8E1 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 1px 3px rgba(16,24,40,.05) !important;
}
.hero-rail .hr-item{
  flex:1 1 0 !important;
  display:flex !important; align-items:center !important; gap:10px !important;
  padding:0 12px 0 12px !important;
  position:relative !important;
  cursor:pointer !important;
  border-bottom:1px solid #F5F1EC !important;
  background:#fff !important;
  transition:background .16s ease !important;
  min-width:0 !important;
}
.hero-rail .hr-item:last-child{border-bottom:0 !important}
.hero-rail .hr-n{
  flex:0 0 auto !important; width:19px !important;
  font:600 11px/1 "SF Mono",Menlo,Consolas,monospace !important;
  color:#CBBFB3 !important; letter-spacing:.4px;
}
.hero-rail .hr-txt{flex:1 1 auto !important; min-width:0 !important; display:flex !important; flex-direction:column !important; gap:3px !important}
.hero-rail .hr-txt b{
  font-size:13.5px !important; font-weight:600 !important; color:#3A322B !important;
  white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
  line-height:1.25 !important;
}
.hero-rail .hr-txt i{
  font-size:11.5px !important; font-weight:400 !important; color:#A79A8D !important; font-style:normal !important;
  white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
  line-height:1.2 !important;
}
.hero-rail .hr-ar{
  flex:0 0 auto !important; font-size:15px !important; line-height:1 !important;
  color:#DCD2C7 !important; transition:transform .16s ease,color .16s ease !important;
}
.hero-rail .hr-item:hover{background:#FBF7F3 !important}
.hero-rail .hr-item:hover .hr-ar{transform:translateX(2px) !important; color:#C0392B !important}
.hero-rail .hr-item.on{background:#FDF3F1 !important}
.hero-rail .hr-item.on::before{
  content:'' !important; position:absolute !important; left:0 !important; top:16% !important; bottom:16% !important;
  width:3px !important; border-radius:0 3px 3px 0 !important; background:#C0392B !important;
}
.hero-rail .hr-item.on .hr-n{color:#C0392B !important}
.hero-rail .hr-item.on .hr-txt b{color:#A32B22 !important}
.hero-rail .hr-item.on .hr-ar{color:#C0392B !important}

/* 页码：左下角半透明胶囊，白底圆点，当前张红底——不再直接压在书脊上 */
.hero-stage .hc-dots{
  left:14px !important; right:auto !important; bottom:12px !important; transform:none !important;
  gap:2px !important; padding:4px 6px !important;
  background:rgba(18,16,14,.34) !important;
  border-radius:999px !important;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  box-shadow:0 2px 10px rgba(0,0,0,.16) !important;
}
.hero-stage .hc-dots span{
  width:22px !important; height:22px !important;
  font-size:11.5px !important; font-weight:600 !important;
  background:transparent !important; color:rgba(255,255,255,.74) !important;
  box-shadow:none !important; transform:none !important;
}
.hero-stage .hc-dots span:hover{background:rgba(255,255,255,.18) !important; transform:none !important}
.hero-stage .hc-dots span.on{
  background:#fff !important; color:#C0392B !important;
  box-shadow:0 2px 6px rgba(0,0,0,.20) !important; transform:none !important;
}

/* 左右箭头：常显但压低存在感，悬停加深 */
.hero-stage .hc-nav{
  width:34px !important; height:34px !important; font-size:20px !important;
  background:rgba(20,18,16,.34) !important; opacity:.9 !important;
  box-shadow:0 1px 6px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.hero-stage .hc-nav:hover{background:rgba(20,18,16,.62) !important; opacity:1 !important}
.hero-stage .hc-prev{left:12px !important}
.hero-stage .hc-next{right:12px !important}

/* 窄屏：右侧导航收到底部横向排，横幅恢复通栏 */
@media (max-width:1120px){
  .hero-stage{grid-template-columns:minmax(0,1fr) !important; gap:10px !important}
  .hero-rail{
    flex-direction:row !important;
    overflow-x:auto !important;
    border-radius:12px !important;
  }
  .hero-rail .hr-item{
    flex:1 1 0 !important; min-width:158px !important;
    padding:9px 10px !important;
    border-bottom:0 !important;
    border-right:1px solid #F5F1EC !important;
  }
  .hero-rail .hr-item:last-child{border-right:0 !important}
  .hero-rail .hr-item.on::before{left:0;top:auto;bottom:0;right:0;width:auto;height:2px;border-radius:0}
  .hero-rail .hr-ar{display:none !important}
}
@media (max-width:900px){
  .hero-stage .hero-carousel{height:190px !important}
  .hero-stage .hc-dots{bottom:8px !important; left:8px !important}
  .hero-stage .hc-dots span{width:18px !important; height:18px !important; font-size:10px !important}
}

/* 右侧导航标题栏 */
.hero-rail .hr-hd{
  flex:0 0 32px !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  padding:0 12px !important;
  background:#FBF8F4 !important;
  border-bottom:1px solid #F0EAE3 !important;
}
.hero-rail .hr-hd b, .hero-rail .hr-hd{
  font-size:12px !important; font-weight:600 !important; color:#8A7A6B !important; letter-spacing:.6px;
}
.hero-rail .hr-hd i{
  font-size:10.5px !important; font-weight:400 !important; font-style:normal !important; color:#BCAFA2 !important; letter-spacing:0;
}
@media (max-width:1120px){ .hero-rail .hr-hd{display:none !important} }

/* 2026-10-30 修正：首屏按「内容宽度」自适配，不再固定 300px 高（1200px 屏时横幅被压到 586x300 会裁掉两边）
   横幅用 aspect-ratio 保持 906:300 的设计比例；右侧导航随高度等比收缩 */
.hero-stage{grid-template-columns:minmax(0,1fr) clamp(212px,23%,276px) !important}
.hero-stage .hero-carousel{
  height:auto !important;
  aspect-ratio:906 / 300;
  max-height:300px;
  min-height:200px;
}
.hero-stage .hero-rail .hr-item{padding:2px 12px !important}
@media (max-width:900px){
  .hero-stage .hero-carousel{height:auto !important; aspect-ratio:906 / 300; min-height:0}
}

/* 2026-10-30 最终响应式：≤1120px 收成「横幅在上、专题横条在下」，横幅始终按 906:300 比例 */
@media (max-width:1120px){
  .hero-stage{grid-template-columns:minmax(0,1fr) !important; gap:10px !important; margin-bottom:20px !important}
  .hero-stage .hero-carousel{aspect-ratio:906 / 300 !important; max-height:none !important; min-height:0 !important}
  .hero-stage .hero-rail{
    flex-direction:row !important; overflow-x:auto !important; overflow-y:hidden !important;
    border-radius:12px !important;
  }
  .hero-stage .hero-rail .hr-item{
    flex:1 1 0 !important; min-width:158px !important; padding:9px 10px !important;
    border-bottom:0 !important; border-right:1px solid #F5F1EC !important;
  }
  .hero-stage .hero-rail .hr-item:last-child{border-right:0 !important}
  .hero-stage .hero-rail .hr-item.on::before{
    left:0 !important; top:auto !important; bottom:0 !important; right:0 !important;
    width:auto !important; height:2px !important; border-radius:0 !important;
  }
  .hero-stage .hero-rail .hr-ar{display:none !important}
  .hero-stage .hero-rail .hr-hd{display:none !important}
}

/* 窄屏专题横条：5 项要能一屏放下，不要被截半个 */
@media (max-width:1120px){
  .hero-stage .hero-rail{overflow-x:auto !important}
  .hero-stage .hero-rail .hr-item{min-width:120px !important; flex:1 1 0 !important}
  .hero-stage .hero-rail .hr-txt b{font-size:12.5px !important}
  .hero-stage .hero-rail .hr-txt i{font-size:11px !important}
}
