/* ============================================================
   wanjuan 主题样式 · 仿万卷电子书网（115lu）· 第 21 套 · 第 89 期
   token：品牌绿 #00A947 · tab 蓝 #337ab7 · 分页蓝 #3d87cf
          footer #2a2730 · 边 #ebebeb/#ddd · 浅底 #f9f9f9/#f6f6f6
          badge #777 · 红价 #e62828 · radius 4 · 断点 960/767/359
   注意：pay-* 弹窗类名是 JS 契约不可改；弹窗内按钮自带 width 居中，
        不依赖父级 text-align（jianyu 期实锤）
   ============================================================ */

/* ---------- 1. Reset & base ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    font: 14px/1.6 "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
    color: #333;
    background: #fff;
}
ul, ol { list-style: none; }
img { border: 0; vertical-align: middle; }
a { color: #337ab7; text-decoration: none; }
a:hover, a:focus { color: #23527c; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: 13px; outline: none; }

/* ---------- 2. 布局骨架（940 容器 · 568+350 双栏） ---------- */
.wj-container { max-width: 940px; margin: 0 auto; padding: 0 12px; }
.wj-shell { display: flex; align-items: flex-start; padding-top: 14px; padding-bottom: 24px; }
.wj-main { flex: 1 1 auto; min-width: 0; }
.wj-side { flex: 0 0 350px; width: 350px; margin-left: 22px; }

/* ---------- 3. 通用卡 / 空态 / 分隔 ---------- */
.wj-card { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 14px 16px; margin-bottom: 14px; }
.wj-empty { text-align: center; color: #999; padding: 42px 10px; font-size: 13px; }
.wj-sep { font-style: normal; color: #ddd; margin: 0 6px; }
.wj-page-body { margin-bottom: 12px; }

/* ---------- 4. 按钮 ---------- */
.wj-btn {
    display: inline-block; padding: 7px 16px; font-size: 13px; line-height: 1.5;
    border: 1px solid #ddd; border-radius: 4px; background: #fff; color: #555;
    text-align: center; vertical-align: middle; transition: all .15s;
}
.wj-btn:hover { color: #00A947; border-color: #00A947; }
.wj-btn-primary { background: #00A947; border-color: #00A947; color: #fff; }
.wj-btn-primary:hover { background: #00923d; border-color: #00923d; color: #fff; }
.wj-btn-suc { background: #00A947; border-color: #00A947; color: #fff; }
.wj-btn-suc:hover { background: #00923d; border-color: #00923d; color: #fff; }
.wj-btn-vip { background: linear-gradient(90deg, #00A947, #00c954); border-color: #00A947; color: #fff; }
.wj-btn-vip:hover { background: #00923d; border-color: #00923d; color: #fff; }
.wj-btn-orange { background: #f0ad4e; border-color: #f0ad4e; color: #fff; }
.wj-btn-orange:hover { background: #ec971f; border-color: #ec971f; color: #fff; }
.wj-btn-ghost { background: transparent; border-color: #ddd; color: #777; }
.wj-btn-ghost:hover { color: #00A947; border-color: #00A947; }
.wj-btn-block { display: block; width: 100%; }
.wj-btn-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.wj-btn-row .wj-btn { flex: 1 1 auto; text-align: center; }

/* ---------- 5. badge / alert / 状态 ---------- */
.wj-badge {
    float: right; flex: 0 0 auto; margin-left: 8px;
    background: #777; color: #fff; font-size: 11px; line-height: 1;
    padding: 3px 8px; border-radius: 10px; white-space: nowrap;
}
.wj-alert { padding: 10px 14px; border-radius: 4px; margin-bottom: 12px; font-size: 13px; }
.wj-alert-error { background: #f8d7da; border: 1px solid #ebccd1; color: #a94442; }
.wj-alert-success { background: #dff0d8; border: 1px solid #d6e9c6; color: #3c763d; }
.wj-status-ok { color: #00A947; }
.wj-status-no { color: #e62828; }

/* ---------- 6. 表单系 ---------- */
.wj-form-card { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; max-width: 400px; margin: 0 auto 14px; padding: 22px 24px; }
.wj-form-card-wide { max-width: 640px; }
.wj-form-group { margin-bottom: 14px; }
.wj-form-group label { display: block; font-size: 13px; color: #555; margin-bottom: 6px; }
.wj-form-group input[type="text"],
.wj-form-group input[type="password"],
.wj-form-group input[type="email"],
.wj-form-group select,
.wj-form-group textarea {
    width: 100%; padding: 9px 10px; border: 1px solid #ddd; border-radius: 3px; background: #fff; color: #333;
}
.wj-form-group input:focus, .wj-form-group select:focus, .wj-form-group textarea:focus { border-color: #00A947; }
.wj-form-hint { font-size: 12px; color: #999; margin-top: 5px; }
.wj-page-head { text-align: center; margin: 6px 0 18px; }
.wj-page-title { font-size: 22px; font-weight: 700; color: #333; }
.wj-page-sub { font-size: 13px; color: #999; margin-top: 6px; }

/* ---------- 7. 表格 ---------- */
.wj-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.wj-table th, .wj-table td { border: 1px solid #ebebeb; padding: 8px 10px; text-align: left; }
.wj-table th { background: #f9f9f9; color: #555; font-weight: 700; }
.wj-table tr:hover td { background: #fafcfa; }

/* ---------- 8. 顶部导航：白底 44px（Bootstrap navbar-default 形制） ---------- */
.wj-header { background: #fff; border-bottom: 1px solid #e7e7e7; }
.wj-navfluid { max-width: 940px; margin: 0 auto; padding: 0 12px; display: flex; align-items: center; min-height: 44px; flex-wrap: wrap; }
.wj-navbar-header { display: flex; align-items: center; }
.wj-nav-toggle { display: none; background: none; border: 0; padding: 6px 8px; }
.wj-burger { display: block; width: 18px; }
.wj-burger span { display: block; height: 2px; background: #888; border-radius: 1px; margin: 3px 0; }
.wj-brand { display: flex; align-items: center; margin-right: 18px; }
.wj-logo-mark {
    width: 24px; height: 24px; background: #00A947; color: #fff; border-radius: 4px;
    font-size: 14px; font-weight: 700; line-height: 24px; text-align: center; margin-right: 7px;
}
.wj-logo-txt { color: #00A947; font-size: 16px; font-weight: 700; }
.wj-nav { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; flex-wrap: wrap; }
.wj-nav > a { color: #777; font-size: 14px; padding: 12px 13px; display: inline-block; }
.wj-nav > a:hover, .wj-nav > a.on { color: #00A947; }
.wj-nav-right { margin-left: auto; display: flex; align-items: center; }
.wj-nav-right a { color: #777; font-size: 13px; padding: 6px 8px; display: inline-block; }
.wj-nav-right a:hover { color: #00A947; }
.wj-nav-red { color: #e62828 !important; font-weight: 700; }
.wj-nav-red:hover { color: #c81f1f !important; }
.wj-nav-out { background: none; border: 0; color: #999; font-size: 13px; padding: 6px 8px; }
.wj-nav-out:hover { color: #e62828; }

/* ---------- 9. 全站大搜索区（万卷识别度核心：灰提示行 + tab 蓝选中下三角 + 40px 框右贴绿钮） ---------- */
.wj-search { background: #fff; border-bottom: 1px solid #ebebeb; padding: 16px 0 20px; }
.wj-choose-hand { max-width: 620px; margin: 0 auto 8px; color: #999; font-size: 13px; }
.wj-ico-grid {
    display: inline-block; width: 14px; height: 14px; background: #00A947;
    border-radius: 3px; margin-right: 7px; vertical-align: -2px; opacity: .85;
}
.wj-choose { max-width: 620px; margin: 0 auto 10px; }
.wj-choose li { display: inline-block; margin-right: 4px; margin-bottom: 4px; }
.wj-choose a {
    display: inline-block; padding: 5px 14px; font-size: 13px; color: #666;
    border-radius: 3px 3px 0 0; position: relative; cursor: pointer;
}
.wj-choose a:hover { color: #337ab7; }
.wj-choose a.hover { background: #337ab7; color: #fff; }
.wj-choose a.hover::after {
    content: ""; position: absolute; left: 50%; bottom: -9px; margin-left: -5px;
    border: 5px solid transparent; border-bottom: 0; border-top-color: #337ab7;
}
.wj-search-form { max-width: 620px; margin: 0 auto; position: relative; }
.wj-search-form input {
    width: 100%; height: 40px; border: 1px solid #ddd; border-right: 0; border-radius: 4px 0 0 4px;
    padding: 0 74px 0 12px; font-size: 14px; color: #333;
}
.wj-search-form input:focus { border-color: #337ab7; }
.wj-search-btn {
    position: absolute; right: 0; top: 0; width: 68px; height: 40px;
    background: #00A947; color: #fff; font-size: 15px; border: 0; border-radius: 0 4px 4px 0;
}
.wj-search-btn:hover { background: #00923d; }

/* ---------- 10. mininav 统计条 / 面包屑 ---------- */
.wj-mininav {
    background: #f9f9f9; border: 1px solid #ebebeb; border-radius: 4px;
    padding: 8px 12px; font-size: 13px; color: #666; margin-bottom: 12px;
    display: flex; align-items: center; flex-wrap: wrap;
}
.wj-mininav a { color: #00A947; }
.wj-mininav a:hover { text-decoration: underline; }
.wj-mininav-sub { flex: 1 1 auto; min-width: 0; }
.wj-bc-sep { color: #bbb; padding: 0 7px; font-style: normal; }
.wj-date { color: #999; }
.wj-mininav-right { float: right; color: #999; font-size: 12px; }

/* ---------- 11. 灰条标题（cat-title）+ 描述 + 分类云 ---------- */
.wj-cat-title {
    background: #ebebeb; border-radius: 3px; padding: 8px 12px; margin-bottom: 10px;
    font-size: 15px; font-weight: 700; color: #333;
}
.wj-cat-title a { color: #333; }
.wj-cat-title a:hover { color: #00A947; }
.wj-ico-list { display: inline-block; width: 4px; height: 14px; background: #00A947; margin-right: 8px; vertical-align: -2px; border-radius: 1px; }
.wj-cat-desc { background: #f9f9f9; border: 1px solid #ebebeb; border-radius: 4px; padding: 10px 12px; font-size: 13px; color: #666; line-height: 1.7; margin-bottom: 12px; }
.wj-bkclass { margin-bottom: 12px; }
.wj-bkclass-sub { margin-bottom: 14px; }
.wj-cat-li {
    display: inline-block; background: #f6f6f6; border: 1px solid #ebebeb; border-radius: 3px;
    padding: 4px 10px; margin: 0 8px 8px 0; font-size: 13px; color: #555;
}
.wj-cat-li a { color: #555; }
.wj-cat-li a:hover { color: #00A947; }

/* ---------- 12. 列表流（list-group：标题省略 + badge 右浮，万卷识别度核心） ---------- */
.wj-listcard { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 4px 16px; margin-bottom: 14px; }
.wj-lgi { display: flex; align-items: center; padding: 9px 0; border-bottom: 1px solid #f0f0f0; font-size: 14px; }
.wj-lgi:last-child { border-bottom: 0; }
.wj-btl { flex: 1 1 auto; min-width: 0; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wj-btl:hover { color: #00A947; }
.wj-lg-tight .wj-lgi { padding: 7px 0; font-size: 13px; }

/* ---------- 13. 分页（引擎 .pagination > a / span.current 契约） ---------- */
.pagination { margin: 16px 0 6px; text-align: center; font-size: 13px; }
.pagination a, .pagination span.current {
    display: inline-block; min-width: 34px; height: 34px; line-height: 32px;
    padding: 0 10px; margin: 0 3px 4px; border: 1px solid #ddd; border-radius: 3px;
    background: #fff; color: #337ab7; white-space: nowrap;
}
.pagination a:hover { border-color: #00A947; color: #00A947; }
.pagination span.current { background: #3d87cf; border-color: #3d87cf; color: #fff; }

/* ---------- 14. 首页 SEO 简介 / 友链版块 ---------- */
.wj-home-seo-body, .wj-home-links-body { font-size: 13px; color: #666; line-height: 1.8; }
.wj-home-seo-body a, .wj-home-links-body a { color: #337ab7; }
.wj-home-links-body a { display: inline-block; margin: 0 12px 6px 0; }

/* ---------- 15. 详情页：intro 卡 ---------- */
.wj-intro { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 16px 18px; margin-bottom: 14px; }
.wj-intro-hd { font-size: 20px; font-weight: 700; color: #00A947; line-height: 1.4; margin-bottom: 12px; }
.wj-intro-pic { margin-bottom: 12px; }
.wj-intro-pic img { max-width: 100%; height: auto; border-radius: 4px; }
.wj-intro-desc { font-size: 13px; color: #666; line-height: 1.7; margin-bottom: 12px; white-space: pre-wrap; }
.wj-bookinfo { overflow: hidden; border-top: 1px dashed #ebebeb; padding-top: 10px; }
.wj-bookinfo li { float: left; width: 50%; font-size: 13px; color: #666; padding: 3px 0; }
.wj-bookinfo li b, .wj-bookinfo li label { color: #999; font-weight: 400; margin-right: 6px; }
.wj-bookinfo-ext { overflow: hidden; border-top: 1px dashed #ebebeb; margin-top: 8px; padding-top: 8px; }
.wj-bookinfo-ext li { float: left; width: 100%; font-size: 13px; color: #666; padding: 3px 0; }

/* ---------- 16. 详情页：付费盒 / 下载方式行 ---------- */
.wj-paybox { background: #f8fbf8; border: 1px solid #d9eedf; border-radius: 4px; padding: 12px 14px; margin-top: 12px; }
.wj-files li { display: flex; align-items: center; padding: 8px 0; border-bottom: 1px solid #eee; font-size: 13px; color: #555; }
.wj-files li.t { background: #f9f9f9; margin: 0 -14px; padding: 7px 14px; font-weight: 700; color: #555; font-size: 13px; }
.wj-files li:last-child { border-bottom: 0; }
.wj-files-tag {
    display: inline-block; background: #fff; border: 1px solid #337ab7; color: #337ab7;
    font-size: 11px; line-height: 1; padding: 3px 7px; border-radius: 2px; margin-right: 8px; white-space: nowrap;
}
.wj-files-free { color: #00A947; font-weight: 700; }
.wj-res-services { font-size: 12px; color: #999; margin-top: 10px; }
.wj-notice { background: #f9f9f9; border-radius: 4px; padding: 10px 14px; font-size: 12px; color: #999; line-height: 1.7; margin-top: 12px; }

/* ---------- 17. 详情页：正文卡 ---------- */
.wj-content-card { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 18px 20px; margin-bottom: 14px; }
.wj-detail-content { font-size: 14px; line-height: 1.9; color: #333; word-wrap: break-word; }
.wj-detail-content img { max-width: 100%; height: auto; }
.wj-detail-content a { color: #3169b0; }
.wj-detail-content a:hover { text-decoration: underline; }
.wj-detail-content h2, .wj-detail-content h3 { font-size: 17px; margin: 16px 0 8px; color: #333; }
.wj-detail-content p { margin-bottom: 10px; }
.wj-detail-content ul, .wj-detail-content ol { padding-left: 22px; margin-bottom: 10px; }
.wj-detail-content ul { list-style: disc; }
.wj-detail-content ol { list-style: decimal; }
.wj-detail-content blockquote { border-left: 4px solid #00A947; background: #f8fbf8; padding: 8px 12px; color: #666; margin-bottom: 10px; }
.wj-detail-content code { background: #f6f6f6; border: 1px solid #ebebeb; border-radius: 3px; padding: 1px 5px; font-size: 12px; }
.wj-detail-content pre { background: #f6f6f6; border: 1px solid #ebebeb; border-radius: 3px; padding: 10px 12px; overflow: auto; margin-bottom: 10px; }
.wj-detail-content pre code { border: 0; background: none; padding: 0; }
.wj-detail-content table { width: 100%; border-collapse: collapse; margin-bottom: 10px; font-size: 13px; }
.wj-detail-content table td, .wj-detail-content table th { border: 1px solid #ebebeb; padding: 6px 9px; }
.wj-detail-content table th { background: #f9f9f9; }

/* ---------- 18. 详情页：paid 契约 ---------- */
.wj-paid-hint {
    background: #fdf8ee; border: 1px dashed #e6c78a; border-radius: 4px;
    padding: 16px 14px; text-align: center; font-size: 13px; color: #8a6d3b;
    margin-bottom: 14px; cursor: pointer;
}
.wj-paid-hint-link { color: #00A947; text-decoration: underline; }
.wj-paid-box { background: #f8fbf8; border: 1px solid #d9eedf; border-radius: 4px; padding: 14px 16px; margin-bottom: 14px; }
.wj-paid-head { font-size: 15px; font-weight: 700; color: #00A947; margin-bottom: 8px; }
.wj-paid-body { font-size: 15px; color: #333; line-height: 1.8; margin-bottom: 8px; }
.wj-paid-files { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 4px 14px; }
.wj-paid-copy { display: inline-block; border: 1px solid #00A947; color: #00A947; border-radius: 3px; padding: 4px 12px; font-size: 12px; cursor: pointer; margin-top: 6px; }
.wj-paid-copy:hover { background: #00A947; color: #fff; }

/* ---------- 19. 详情页：上下篇 / 相关推荐 ---------- */
.wj-pn { display: flex; gap: 12px; margin-bottom: 14px; }
.wj-pn-cell { flex: 1 1 0; min-width: 0; background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 10px 14px; font-size: 13px; }
.wj-pn-label { display: block; color: #999; font-size: 12px; margin-bottom: 4px; }
.wj-pn-cell a { color: #333; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wj-pn-cell a:hover { color: #00A947; }
.wj-pn-next { text-align: right; }
.wj-likebook { }

/* ---------- 20. 支付弹窗（引擎契约：pay-mask 由 JS 设 display:flex 弹出） ---------- */
.pay-mask { position: fixed; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0,0,0,.5); z-index: 1000; display: none; align-items: center; justify-content: center; padding: 16px; }
.pay-modal { background: #fff; border-radius: 6px; width: 320px; max-width: 100%; padding: 18px 20px; }
.pay-head { display: flex; align-items: center; justify-content: space-between; font-size: 15px; font-weight: 700; color: #333; margin-bottom: 14px; }
.pay-amount { color: #e62828; }
.pay-close { font-size: 20px; color: #999; cursor: pointer; line-height: 1; }
.pay-close:hover { color: #e62828; }
.pay-qr-wrap { text-align: center; min-height: 180px; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.pay-qr-wrap img { max-width: 180px; }
.pay-caption { text-align: center; font-size: 13px; color: #666; margin-bottom: 10px; }
.pay-btn-phone { display: block; width: 100%; padding: 8px 0; margin-bottom: 10px; background: #00A947; border: 0; border-radius: 4px; color: #fff; font-size: 13px; }
.pay-btn-phone:hover { background: #00923d; }
.pay-status { text-align: center; font-size: 13px; color: #999; margin-bottom: 10px; }
.pay-status-ok { color: #00A947; }
.pay-spinner {
    display: inline-block; width: 12px; height: 12px; border: 2px solid #ddd; border-top-color: #00A947;
    border-radius: 50%; vertical-align: -2px; margin-right: 6px; animation: wj-spin .8s linear infinite;
}
@keyframes wj-spin { to { transform: rotate(360deg); } }
.pay-btn-refresh { display: block; width: 100%; padding: 8px 0; background: #fff; border: 1px solid #ddd; border-radius: 4px; color: #555; font-size: 13px; }
.pay-btn-refresh:hover { border-color: #00A947; color: #00A947; }

/* ---------- 21. topics 专题广场 ---------- */
.wj-topic-grid { display: flex; flex-wrap: wrap; gap: 14px; }
.wj-topic-card { width: calc(50% - 7px); background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 14px 16px; transition: box-shadow .15s; }
.wj-topic-card:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.wj-topic-name { font-size: 15px; font-weight: 700; color: #333; margin-bottom: 6px; }
.wj-topic-name a { color: #333; }
.wj-topic-name a:hover { color: #00A947; }
.wj-topic-meta { font-size: 12px; color: #999; margin-bottom: 6px; }
.wj-topic-summary { font-size: 13px; color: #777; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- 22. sitemap 页 widget / 热榜 / chips ---------- */
.wj-widget { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; margin-bottom: 14px; }
.wj-widget-head { background: #f9f9f9; border-bottom: 1px solid #ebebeb; border-radius: 4px 4px 0 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: #333; }
.wj-widget-body { padding: 12px 14px; }
.wj-hotlist li { display: flex; align-items: center; padding: 7px 0; border-bottom: 1px dashed #f0f0f0; font-size: 13px; }
.wj-hotlist li:last-child { border-bottom: 0; }
.wj-hot-idx { flex: 0 0 20px; height: 20px; line-height: 20px; text-align: center; background: #f0f0f0; color: #999; border-radius: 50%; font-size: 12px; margin-right: 10px; }
.wj-hot-title { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wj-hot-title a { color: #333; }
.wj-hot-title a:hover { color: #00A947; }
.wj-hot-views { flex: 0 0 auto; color: #999; font-size: 12px; margin-left: 10px; }
.wj-chips { margin-bottom: 12px; }
.wj-chip { display: inline-block; border: 1px solid #ebebeb; background: #f9f9f9; border-radius: 20px; padding: 3px 12px; font-size: 12px; color: #666; margin: 0 8px 8px 0; }
.wj-chip a { color: #666; }
.wj-chip a:hover { color: #00A947; }

/* ---------- 23. links 友链页 ---------- */
.wj-links-intro { font-size: 13px; color: #777; margin-bottom: 12px; }
.wj-link-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.wj-link-card { width: calc(33.33% - 8px); background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 12px 14px; display: flex; align-items: center; }
.wj-link-card:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.wj-link-logo { width: 40px; height: 40px; border-radius: 4px; margin-right: 10px; flex: 0 0 40px; object-fit: cover; }
.wj-link-text { min-width: 0; }
.wj-link-name { font-size: 14px; font-weight: 700; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wj-link-name a { color: #333; }
.wj-link-name a:hover { color: #00A947; }
.wj-link-desc { font-size: 12px; color: #999; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- 24. 404 页 ---------- */
.wj-404 { text-align: center; padding: 60px 0 40px; }
.wj-404-num { font-size: 64px; font-weight: 700; color: #00A947; line-height: 1.2; }

/* ---------- 25. 订单/购买页 ---------- */
.wj-article-meta { font-size: 12px; color: #999; margin: 4px 0 10px; }
.wj-buy-card { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; padding: 16px 18px; margin-bottom: 14px; }
.wj-res-hero { display: flex; align-items: flex-start; }
.wj-res-hero-thumb { flex: 0 0 120px; width: 120px; height: 90px; border-radius: 4px; object-fit: cover; background: #f6f6f6; margin-right: 14px; }
.wj-res-hero-thumb-bar { display: flex; gap: 8px; margin-top: 10px; }
.wj-res-hero-thumb-bar img { width: 64px; height: 48px; border-radius: 3px; object-fit: cover; border: 1px solid #ebebeb; }
.wj-res-hero-info { flex: 1 1 auto; min-width: 0; }
.wj-res-hero-free-tag { display: inline-block; border: 1px solid #00A947; color: #00A947; font-size: 11px; border-radius: 2px; padding: 1px 6px; margin-left: 8px; vertical-align: 2px; }
.wj-res-hero-price-row { display: flex; align-items: baseline; margin-top: 8px; }
.wj-res-hero-price { color: #e62828; font-size: 22px; font-weight: 700; }
.wj-res-hero-price-label { color: #999; font-size: 12px; margin-left: 8px; }
.wj-res-hero-notice { font-size: 12px; color: #999; margin-top: 8px; }

/* ---------- 26. VIP 页 ---------- */
.wj-vip-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.wj-vip-grid > * { position: relative; }
.wj-vip-name { font-size: 15px; font-weight: 700; color: #333; margin-bottom: 6px; }
.wj-vip-price { color: #e62828; font-size: 20px; font-weight: 700; margin-bottom: 2px; }
.wj-vip-days { font-size: 12px; color: #999; margin-bottom: 8px; }
.wj-vip-flag { position: absolute; top: 8px; right: 10px; border: 1px solid #00A947; color: #00A947; font-size: 11px; border-radius: 2px; padding: 1px 6px; }
.wj-pay-pill { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.wj-pay-type { border: 1px solid #ddd; border-radius: 4px; padding: 9px 16px; cursor: pointer; font-size: 13px; color: #555; background: #fff; }
.wj-pay-type:hover { border-color: #00A947; color: #00A947; }
.wj-pay-type-label { font-size: 12px; color: #999; }
.wj-cta { background: #f8fbf8; border: 1px solid #d9eedf; border-radius: 4px; text-align: center; padding: 20px 16px; margin-bottom: 14px; }
.wj-cta-body { font-size: 13px; color: #666; }
.wj-cta-title { font-size: 18px; font-weight: 700; color: #00A947; margin-bottom: 6px; }
.wj-cta-sub { font-size: 13px; color: #666; margin-bottom: 12px; }
.wj-cta-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.wj-cta-actions .wj-btn { min-width: 140px; }
.wj-cta-note { font-size: 12px; color: #999; margin-top: 10px; }

/* ---------- 27. 侧栏用户卡 / 会员绿卡 ---------- */
.wj-user-card { }
.wj-user-main { display: flex; align-items: center; margin-bottom: 12px; }
.wj-user-avatar {
    flex: 0 0 46px; width: 46px; height: 46px; line-height: 46px; text-align: center;
    background: #00A947; color: #fff; font-size: 18px; font-weight: 700; border-radius: 50%; margin-right: 12px;
}
.wj-user-avatar.is-vip { background: linear-gradient(135deg, #f0ad4e, #e62828); }
.wj-user-meta { min-width: 0; display: flex; flex-direction: column; }
.wj-user-name { font-size: 15px; font-weight: 700; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wj-user-level { font-size: 12px; color: #999; }
.wj-user-level.is-vip { color: #f0ad4e; }
.wj-user-nologin strong { display: block; font-size: 14px; color: #333; margin-bottom: 4px; }
.wj-user-nologin span { font-size: 12px; color: #999; }
.wj-user-actions { display: flex; gap: 8px; }
.wj-user-actions .wj-btn { flex: 1 1 auto; }

.wj-vip-card { background: linear-gradient(135deg, #00A947, #008f3b); border-color: #008f3b; }
.wj-vip-head { color: #fff; font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.wj-vip-body p { color: rgba(255,255,255,.92); font-size: 13px; margin-bottom: 10px; }
.wj-vip-card .wj-btn-suc { background: #fff; color: #00A947; border-color: #fff; }
.wj-vip-card .wj-btn-suc:hover { background: #f0fff6; color: #00923d; border-color: #f0fff6; }
.wj-vip-note { display: block; color: rgba(255,255,255,.8); font-size: 12px; margin-top: 8px; }

/* ---------- 28. 搜索页再搜条 ---------- */
.wj-research { position: relative; margin-bottom: 14px; }
.wj-research input {
    width: 100%; height: 40px; border: 1px solid #ddd; border-right: 0; border-radius: 4px 0 0 4px;
    padding: 0 74px 0 12px; font-size: 14px; color: #333;
}
.wj-research input:focus { border-color: #337ab7; }
.wj-research button {
    position: absolute; right: 0; top: 0; width: 68px; height: 40px;
    background: #00A947; color: #fff; font-size: 14px; border: 0; border-radius: 0 4px 4px 0;
}
.wj-research button:hover { background: #00923d; }

/* ---------- 29. 页脚（深黑紫 #2a2730） ---------- */
.wj-footer { background: #2a2730; color: #99979c; font-size: 13px; padding: 26px 0 34px; margin-top: 10px; }
.wj-footer a { color: #fff; }
.wj-footer a:hover { color: #00A947; }
.wj-footer-links { text-align: center; margin-bottom: 12px; }
.wj-footer-links li { display: inline-block; margin: 0 4px; }
.wj-footer-links li + li::before { content: "|"; color: #454250; margin-right: 8px; font-size: 12px; }
.wj-footer-friend li { color: #99979c; }
.wj-footer-note { text-align: center; font-size: 12px; color: #77747d; line-height: 1.7; margin-bottom: 10px; padding: 0 10px; }
.wj-footer-copy { text-align: center; font-size: 12px; color: #77747d; }

/* ---------- 30. 返回顶部 ---------- */
.wj-backtop {
    position: fixed; right: 18px; bottom: 46px; width: 40px; height: 40px; line-height: 38px;
    text-align: center; background: #fff; border: 1px solid #ebebeb; border-radius: 4px;
    color: #999; font-size: 16px; z-index: 90; box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.wj-backtop:hover { background: #00A947; border-color: #00A947; color: #fff; }

/* ============================================================
   响应式（万卷断点：960 双栏切换 · 767 · 359）
   ============================================================ */
@media (max-width: 959px) {
    .wj-shell { display: block; }
    .wj-side { width: auto; margin-left: 0; margin-top: 14px; }
    /* 汉堡：窄屏显示，菜单默认收起、点击加 .open 展开（桌面端 .open 不参与布局） */
    .wj-nav-toggle { display: inline-block; }
    .wj-nav { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; border-top: 1px solid #e7e7e7; }
    .wj-nav.open { display: flex; }
    .wj-nav > a { padding: 10px 4px; border-bottom: 1px solid #f0f0f0; }
    .wj-nav-right { margin-left: 0; padding: 8px 0; flex-wrap: wrap; }
    .wj-topic-card { width: 100%; }
    .wj-link-card { width: calc(50% - 6px); }
}

@media (max-width: 767px) {
    body { font-size: 13px; }
    .wj-logo-txt { font-size: 15px; }
    .wj-search-form, .wj-choose, .wj-choose-hand { max-width: 100%; }
    .wj-mininav-right { float: none; display: block; width: 100%; margin-top: 2px; }
    .wj-bookinfo li { width: 100%; }
    .wj-page-title { font-size: 19px; }
    .wj-intro-hd { font-size: 17px; }
    .wj-form-card { padding: 18px 16px; }
    .wj-footer-links li { margin: 0 2px 4px; }
    .wj-res-hero-thumb { flex: 0 0 96px; width: 96px; height: 72px; }
}

@media (max-width: 359px) {
    .wj-container { padding: 0 8px; }
    .wj-badge { display: none; }
    .wj-cat-li { padding: 3px 8px; }
    .wj-search-btn, .wj-research button { width: 56px; }
    .wj-link-card { width: 100%; }
}

/* 付费引导卡（七十七期：同步主站 m-paid-cta 形态 —— 大号橙价 + 绿色按钮 + 找回订单） */
.wj-paid-cta{background:linear-gradient(180deg,#f1f2f4,#e9eaec);border-radius:10px;padding:22px 16px;text-align:center;margin:18px 0}
.wj-paid-cta-price{font-size:14px;color:#555;margin-bottom:14px}
.wj-paid-cta-price strong{font-size:30px;color:#ff6600;font-weight:700;margin:0 4px;line-height:1.1}
.wj-paid-cta-btn{display:inline-block;border:0;cursor:pointer;padding:13px 64px;border-radius:8px;color:#fff;font-size:16px;font-weight:600;background:linear-gradient(180deg,#2fce5f,#17b34a);box-shadow:0 4px 12px rgba(23,179,74,.28);transition:transform .18s,box-shadow .18s}
.wj-paid-cta-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(23,179,74,.36)}
.wj-paid-cta-tip{font-size:13px;color:#888;margin-top:12px}
.wj-paid-cta-tip a{color:#ff8c00;text-decoration:none}
.wj-paid-cta-tip a:hover{text-decoration:underline}
@media (max-width:640px){.wj-paid-cta-btn{width:100%;padding:13px 0}}
/* thumb-full-override 2026-10-09 */
[class*="-post-thumb"] img,[class*="-hero-thumb"] img,[class*="-cathero-media"] img,[class*="s-thumb"] img{object-fit:contain}
