/* ==========================================================================
   文章详情页（详情页技术方案 3.x）
   结构与数值按 mockup-02（UI 确认以 HTML 为准；出入见 PRD-9544-设计出入记录.md）
   ========================================================================== */

/* 吸顶偏移：header 62（61 + 吸顶时的 1px 下边框）+ 23 = 85，和 mockup 一样留 23px（mockup header 共 61 高，--sticky:84）；登录时再加管理栏高度 */
body.single-post {
  --btse-post-sticky: calc(85px + var(--wp-admin--admin-bar--height, 0px));
}

/* ---------- Header 吸顶（3.1，H3）：只在详情页，首页不吸顶 ---------- */
/* 外层 #et-boc / #page-container 没有 overflow 限制（PoC 已验证），sticky 直接生效 */
body.single-post .et-l--header {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 100;
  border-bottom: 1px solid #E4E7EC;
}

/* ---------- 主体 section：B 导入的布局里 module_class = btse-post-section ---------- */
.et_pb_section.btse-post-section {
  padding: 0;
  font-family: Inter, inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ---------- 面包屑（3.2，D5a）：BTSE / Blog / 分类 / 文章标题 ---------- */
.et_pb_row.btse-post-crumbs-row {
  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  padding: 0 24px;
}

.btse-crumbs {
  padding: 18px 0 14px;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 15px;
  color: #8A94A6;
}

.btse-crumbs a,
.btse-crumbs span {
  font-family: inherit;
  color: inherit;
}

.btse-crumbs a:hover {
  color: #015FE5;
}

.btse-crumbs i {
  padding: 0 7px;
  font-style: normal;
  color: #C9CFD8;
}

/* ---------- 两栏（2 节）：左 = 文章，右 = 320 侧栏，间距 48 ----------
   交付的 btse-blog.css 给所有 row 加了 display:flex !important，这里要用 !important 改回 grid
   不用 align-items:start：右栏要拉到和左栏一样高，sticky 才能一直跟到文章底部（mockup 注释同理） */
.et_pb_row.btse-post-cols {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px;
  column-gap: 48px;
  align-items: stretch;
  width: 100%;
  max-width: 1200px;
  padding: 28px 24px 0;
}

.et_pb_row.btse-post-cols::after {
  display: none; /* Divi 的清除浮动伪元素，在 grid 里会多占一格 */
}

.et_pb_row.btse-post-cols > .et_pb_column {
  width: auto;
  min-width: 0;
  margin: 0 !important;
}

/* ---------- 右栏吸顶（3.12）：栏比屏幕高时栏内滚动 ---------- */
.btse-post-side {
  position: sticky;
  top: var(--btse-post-sticky);
  max-height: calc(100vh - var(--btse-post-sticky) - 20px);
  margin: 0 !important;
  padding: 0 4px 0 0 !important;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #E4E7EC transparent;
}

/* 验收文档详情页 #7：post.js 接管后（is-follow）不再栏内滚动，栏跟着页面上下走，top 由 JS 按滚动方向调整；
   JS 没跑时保持上面的栏内滚动 */
.btse-post-side.is-follow {
  max-height: none;
  overflow-y: visible;
}

.btse-post-side::-webkit-scrollbar {
  width: 6px;
}

.btse-post-side::-webkit-scrollbar-thumb {
  background: #E4E7EC;
  border-radius: 3px;
}

/* ---------- 右栏 4 块（3.12）：[btse_post_sidebar] 输出，结构同 mockup（.w 外层，间距 20） ---------- */
/* 字重 / 颜色 / 行高先收回到 mockup 的默认值（Divi 继承下来是 500 / #666 / 1.6） */
.btse-post-side {
  font-family: inherit;
  font-weight: 400;
  line-height: normal;
  color: #1F2328;
  -webkit-font-smoothing: antialiased;
}

.btse-post-side a,
.btse-post-side p,
.btse-post-side span,
.btse-post-side h2,
.btse-post-side h3 {
  font-family: inherit;
}

.btse-post-side .w {
  margin-bottom: 20px;
}

.btse-post-side .w:last-child {
  margin-bottom: 0;
}

/* 小标题（Popular this month、目录标题）；#main-content 前缀压过 btse-blog.css 的 h2 行高 */
.btse-post-side .w-t,
#main-content .btse-post-side .w-t {
  margin: 0 0 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid #E4E7EC;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #5A6472;
}

.btse-post-side .eyebrow {
  margin-bottom: 6px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #015FE5;
}

.btse-post-side .btn {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 11px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.btse-post-side .btn-p {
  background: #015FE5;
  color: #FFFFFF;
}

.btse-post-side .btn-p:hover {
  background: #0149B8;
  color: #FFFFFF;
}

.btse-post-side a:focus-visible {
  outline: 2px solid #015FE5;
  outline-offset: 2px;
}

/* 注册卡（D7 + D8）：上半是 3:2 渐变图块（文字，不是图片），下半是 HTML 文案 + 按钮 */
.btse-post-side .sc {
  overflow: hidden;
  background: #EEF4FF;
  border: 1px solid #D3E2FF;
  border-radius: 10px;
}

.btse-post-side .sc .img {
  display: grid;
  place-items: center;
  aspect-ratio: 3 / 2;
  background: linear-gradient(125deg, #013A8F, #015FE5 55%, #2EA3F2);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #FFFFFF;
}

.btse-post-side .sc .b {
  padding: 16px;
}

.btse-post-side .sc h3,
#main-content .btse-post-side .sc h3 {
  margin: 0 0 7px;
  padding: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #0B0D0E;
}

.btse-post-side .sc p {
  margin: 0 0 13px;
  padding: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #5A6472;
}

.btse-post-side .sc .fine {
  margin: 10px 0 0;
  font-size: 10.5px;
  line-height: 1.45;
  color: #8A94A6;
}

/* 目录（D6）：交付的 [btse_toc] + btse-toc.js（加 .is-active），这里按 mockup 微调 */
.btse-post-side .btse-toc {
  padding: 14px 16px;
  background: #F7F9FC;
  border: 1px solid #E4E7EC;
  border-radius: 10px;
}

.btse-post-side .btse-toc__title,
#main-content .btse-post-side .btse-toc__title {
  margin: 0 0 8px;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #5A6472;
}

.btse-post-side .btse-toc__nav {
  position: relative; /* btse-toc.js 用 offsetTop 把高亮项滚到中间，offsetParent 要是这个滚动框，否则一打开就滚偏 */
  max-height: 42vh;
}

/* Divi 的 .et-l--body ol { list-style: decimal inside } 优先级高于交付 CSS，编号会单独占一行 */
.btse-post-side .btse-toc__list,
.btse-post-side ol.pop {
  margin: 0;
  padding: 0;
  list-style: none;
}

.btse-post-side .btse-toc__link {
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.45;
  color: #5A6472;
}

.btse-post-side .btse-toc__item--h3 .btse-toc__link {
  font-size: 12.5px;
}

.btse-post-side .btse-toc__link:hover {
  color: #015FE5;
}

.btse-post-side .btse-toc__link.is-active {
  font-family: inherit;
  font-weight: 600;
  color: #015FE5;
  border-left-color: #015FE5;
}

/* 交易 CTA（D16）：深色卡；价格 / 涨跌幅等行情接口（风险 3），先不显示，标题下直接接按钮 */
.btse-post-side .trade {
  padding: 16px;
  background: #222222;
  border-radius: 10px;
}

.btse-post-side .trade .eyebrow {
  color: #7FB4FF;
}

.btse-post-side .trade h3,
#main-content .btse-post-side .trade h3 {
  margin: 0 0 13px;
  padding: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: #FFFFFF;
}

/* 热门文章（D8） */
.btse-post-side ol.pop {
  margin: 0;
  padding: 0;
  list-style: none;
}

.btse-post-side ol.pop li {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #E4E7EC;
}

.btse-post-side ol.pop li:last-child {
  padding-bottom: 0;
  border: 0;
}

.btse-post-side ol.pop .n {
  min-width: 14px;
  font-size: 14px;
  font-weight: 700;
  line-height: 19.5px;
  color: #015FE5;
}

.btse-post-side ol.pop a {
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.45;
  color: #1F2328;
  text-decoration: none;
}

.btse-post-side ol.pop a:hover {
  color: #015FE5;
}

/* ---------- 标题区（3.3）：分类 pill → H1 → 导语 → 作者行 ---------- */
/* Divi / Use Any Font 会给 a、span、p 单独设字体和字距，这里统一收回 */
.btse-post-header a,
.btse-post-header span,
.btse-post-header p,
.btse-post-header time {
  font-family: inherit;
  letter-spacing: inherit;
}

.btse-post-header .pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.btse-post-header .pill {
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 13px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.btse-post-header .pill-cat {
  background: #EEF4FF;
  color: #0149B8;
}

.btse-post-header .pill-cat:hover {
  background: #DCE8FF;
}

/* #main-content 前缀：交付的 btse-blog.css 有 #main-content h1 规则；Divi 标题有 padding-bottom:10px */
.btse-post-header h1,
#main-content .btse-post-header h1 {
  margin: 0 0 14px;
  padding: 0;
  font-family: inherit;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.025em;
  color: #0B0D0E;
}

.btse-post-header .dek,
#main-content .btse-post-header .dek {
  max-width: 62ch;
  margin: 0 0 22px;
  padding: 0;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.6;
  color: #5A6472;
}

.btse-post-header .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 13px;
  margin-bottom: 28px;
  padding: 16px 0;
  border-top: 1px solid #E4E7EC;
  border-bottom: 1px solid #E4E7EC;
}

.btse-post-header .av {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #015FE5, #2EA3F2);
  font-size: 15px;
  font-weight: 700;
  color: #FFFFFF;
}

.btse-post-header .meta-txt {
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.5;
  color: #5A6472;
}

.btse-post-header .meta-txt strong {
  font-weight: 600;
  color: #1F2328;
}

.btse-post-header .meta-txt a {
  font-weight: 600;
  color: #015FE5;
}

.btse-post-header .meta-sep {
  padding: 0 4px;
  color: #C9CFD8;
}

/* 赞数：和作者行同一行、靠右 */
.btse-post-header .meta-likes {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
  padding: 7px 13px;
  background: #FFFFFF;
  border: 1px solid #E4E7EC;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
  color: #1F2328;
  white-space: nowrap;
}

.btse-post-header .meta-likes:hover {
  border-color: #015FE5;
  color: #015FE5;
}

.btse-post-header .meta-likes .ic {
  font-size: 14px;
  line-height: 1;
}

.btse-post-header .meta-likes .n {
  font-weight: 500;
  color: #8A94A6;
}

.btse-post-header .meta-likes .n:empty {
  display: none; /* 数字没取到之前只显示图标，不显示空位 */
}

.btse-post-header .meta-likes:hover .n {
  color: #015FE5;
}

.btse-post-header a:focus-visible {
  outline: 2px solid #015FE5;
  outline-offset: 2px;
}

/* ---------- 主图（3.5） ---------- */
.btse-post-main figure.hero {
  margin: 0 0 8px;
}

.btse-post-main figure.hero img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 10px;
}

.btse-post-main figure.hero figcaption {
  padding: 9px 2px 0;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  color: #8A94A6;
}

/* 左栏各模块之间的间距由各区块自己的 margin 决定，去掉 Divi 给模块加的 margin-bottom（2/3 栏约 4.2%） */
.et_pb_row.btse-post-cols .btse-post-main > .et_pb_module {
  margin-bottom: 0;
}

/* ---------- 正文（3.6，D2b）：按 mockup .body；交付 btse-blog.css PART 1 已有大部分数值，这里补齐和改掉不一致的 ----------
   内联的字体 / 字号 / 颜色由 inc/post/content.php 在输出时清掉，这里不用 !important */
/* 整块最宽 685（mockup .body 68ch，按 16px 算）；写 px，不随字体换算（测试环境 Inter 没加载时 ch 会变） */
.et_pb_post_content.btse-post-body {
  max-width: 685px;
  font-family: inherit;
  font-weight: 400;
  color: #1F2328;
}

/* PART 1 给 p / ul 单独限 68ch（按 17px 算 729），整块已经限宽，这里取消 */
.et_pb_post_content.btse-post-body p,
.et_pb_post_content.btse-post-body ul,
.et_pb_post_content.btse-post-body ol {
  max-width: none;
}

/* 主图下面紧接正文：第一个元素不要上边距（正文以 h2 开头时会空出 70） */
.et_pb_post_content.btse-post-body > :first-child {
  margin-top: 0;
}

.et_pb_post_content.btse-post-body p,
.et_pb_post_content.btse-post-body li {
  font-weight: 400;
}

/* Divi 标题默认 letter-spacing:-1px；PART 1 用 BTSE_Medium 字体，全站字体是 Inter（D21） */
.et_pb_post_content.btse-post-body h2,
.et_pb_post_content.btse-post-body h3,
.et_pb_post_content.btse-post-body h4 {
  font-family: inherit;
  scroll-margin-top: calc(var(--btse-post-sticky) + 12px);
}

.et_pb_post_content.btse-post-body h2 {
  letter-spacing: -0.015em;
}

.et_pb_post_content.btse-post-body h3 {
  letter-spacing: 0;
}

/* h4（17 篇）mockup 没有，按 h3 的层级再小一级 */
.et_pb_post_content.btse-post-body h4 {
  margin: 1.5em 0 0.5em;
  padding: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  color: #0B0D0E;
}

.et_pb_post_content.btse-post-body h4 + p,
.et_pb_post_content.btse-post-body h4 + ul,
.et_pb_post_content.btse-post-body h4 + ol {
  margin-top: 0;
}

/* 列表：缩进 1.5em（Divi 默认 40px）；列表符号颜色跟正文（Divi 是 #666） */
.et_pb_post_content.btse-post-body ul,
.et_pb_post_content.btse-post-body ol {
  padding-left: 1.5em;
  line-height: 1.75;
  color: #1F2328;
}

.et_pb_post_content.btse-post-body ul {
  list-style-type: disc;
}

.et_pb_post_content.btse-post-body ol {
  list-style-type: decimal;
}

.et_pb_post_content.btse-post-body li ul,
.et_pb_post_content.btse-post-body li ol {
  margin: 0.5em 0 0;
}

.et_pb_post_content.btse-post-body strong,
.et_pb_post_content.btse-post-body b {
  font-weight: 700;
  color: inherit;
}

/* 链接：PART 1 只管 p / li 里的，列表外、表格里的也统一 */
.et_pb_post_content.btse-post-body a {
  color: #015FE5;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.et_pb_post_content.btse-post-body a:hover {
  color: #0149B8;
}

/* 分割线（1142 篇都有，多在文末），mockup 没有：1px 浅线，上下 34（= 正文 2em；hr 自身字号 14，不能写 em） */
.et_pb_post_content.btse-post-body hr {
  height: 0;
  margin: 34px 0;
  border: 0;
  border-top: 1px solid #E4E7EC;
  background: none;
}

/* 表格：按 mockup table.data；编辑器带的 border="1"、cellpadding 由这里统一 */
.et_pb_post_content.btse-post-body table {
  width: 100%;
  margin: 2em 0;
  border: 0;
  border-collapse: collapse;
  font-size: 15px;
}

.et_pb_post_content.btse-post-body th,
.et_pb_post_content.btse-post-body td {
  padding: 11px 13px;
  border: 1px solid #E4E7EC;
  font-size: 15px;
  line-height: 1.55;
  text-align: left;
  color: #1F2328;
  vertical-align: top;
}

.et_pb_post_content.btse-post-body th,
.et_pb_post_content.btse-post-body thead td {
  background: #F7F9FC;
  font-size: 13.5px;
  font-weight: 650;
}

.et_pb_post_content.btse-post-body td p,
.et_pb_post_content.btse-post-body th p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

/* 图片、视频不超出正文宽度 */
.et_pb_post_content.btse-post-body img,
.et_pb_post_content.btse-post-body iframe {
  max-width: 100%;
}

.et_pb_post_content.btse-post-body img {
  height: auto;
}

.et_pb_post_content.btse-post-body blockquote {
  color: #1F2328;
}

.et_pb_post_content.btse-post-body blockquote p:last-child {
  margin-bottom: 0;
}

/* ---------- Key Takeaways（3.4，D17）：作者行与主图之间 ---------- */
.btse-post-main .kt {
  margin: 0 0 30px;
  padding: 20px 22px;
  background: #EEF4FF;
  border: 1px solid #D3E2FF;
  border-left: 4px solid #015FE5;
  border-radius: 10px;
}

.btse-post-main .kt h2,
#main-content .btse-post-main .kt h2 {
  margin: 0 0 12px;
  padding: 0;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0149B8;
}

.btse-post-main .kt ul {
  margin: 0;
  padding: 0 0 0 20px;
  list-style: disc;
}

.btse-post-main .kt li {
  margin: 0 0 9px;
  padding: 0;
  font-family: inherit;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.65;
  color: #1F2328;
}

.btse-post-main .kt li:last-child {
  margin: 0;
}

.btse-post-main .kt li strong,
.btse-post-main .kt li b {
  font-weight: 650;
}

/* ---------- 点赞 → 礼包 → 奖励（3.9，D18）：正文后面、FAQ 前面；按 mockup .react ---------- */
.btse-post-main .react {
  margin: 41.6px 0 0; /* mockup 2.6em（按 16px） */
  overflow: hidden;
  background: #F7F9FC;
  border: 1px solid #E4E7EC;
  border-radius: 10px;
  font-family: inherit;
  font-size: 16px; /* 字号 / 字重 / 行高 / 颜色收回到 mockup 默认值（Divi 继承下来是 14px / 500 / 1.6 / #666） */
  font-weight: 400;
  line-height: normal;
  color: #1F2328;
  scroll-margin-top: calc(var(--btse-post-sticky) + 16px);
}

.btse-post-main .react .pane {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 24px;
}

.btse-post-main .react .pane[hidden],
.btse-post-main .react .pane.rw[hidden] {
  display: none; /* .pane 的 display:flex / block 会盖过 hidden 属性 */
}

.btse-post-main .react .rbody {
  min-width: 0;
}

.btse-post-main .react h3,
#main-content .btse-post-main .react h3 {
  margin: 0 0 4px;
  padding: 0;
  font-family: inherit;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: #0B0D0E;
}

.btse-post-main .react h3:focus {
  outline: none; /* 解锁后焦点移到标题，只为读屏，不显示框 */
}

.btse-post-main .react p {
  max-width: 62ch;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: #5A6472;
}

/* 礼包：锁着时每 2.6 秒晃一下；解锁后弹出 */
.btse-post-main .react .gift {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 58px;
  height: 58px;
  background: #FFFFFF;
  border: 2px dashed #C3D5F2;
  border-radius: 14px;
  font-size: 27px;
  line-height: 1;
}

.btse-post-main .react .gift.locked {
  animation: btse-gift-nudge 2.6s ease-in-out infinite;
}

.btse-post-main .react .gift .lock {
  position: absolute;
  right: -5px;
  bottom: -5px;
  width: 22px;
  height: 22px;
  background: #8A94A6;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  color: #FFFFFF;
}

@keyframes btse-gift-nudge {
  0%, 88%, 100% { transform: rotate(0); }
  91% { transform: rotate(-7deg); }
  94% { transform: rotate(7deg); }
  97% { transform: rotate(-3deg); }
}

@keyframes btse-gift-pop {
  0% { transform: scale(0.6); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

/* 投票 */
.btse-post-main .react .rrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.btse-post-main .react .vote {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 16px;
  background: #FFFFFF;
  border: 1px solid #E4E7EC;
  border-radius: 999px;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  line-height: normal;
  color: #1F2328;
  cursor: pointer;
  transition: 0.15s;
}

.btse-post-main .react .vote:hover {
  border-color: #015FE5;
  color: #015FE5;
}

.btse-post-main .react .vote:focus-visible {
  outline: 2px solid #015FE5;
  outline-offset: 2px;
}

.btse-post-main .react .vote .ic {
  font-size: 15px;
  line-height: 1;
}

.btse-post-main .react .vote .ct {
  font-weight: 500;
  color: #8A94A6;
}

.btse-post-main .react .vote .ct:empty {
  display: none; /* 票数没取到之前不显示空位 */
}

.btse-post-main .react .vote:hover .ct {
  color: #015FE5;
}

.btse-post-main .react .vote.picked {
  background: #EEF4FF;
  border-color: #B9D3FF;
  color: #0149B8;
}

.btse-post-main .react .rhint {
  font-size: 12.5px;
  font-weight: 400;
  color: #8A94A6;
}

.btse-post-main .react .gnote {
  display: inline-block;
  margin-top: 10px;
  padding: 4px 10px;
  background: #EEF4FF;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 500;
  color: #0149B8;
}

/* 解锁后：深色奖励面板；mockup 这里是 block（.pane.rw.on 优先级高于 .pane 的 flex），礼包在上、文字在下 */
.btse-post-main .react .pane.rw {
  display: block;
  background: #222222;
}

.btse-post-main .react .pane.rw .gift {
  background: rgba(127, 180, 255, 0.14);
  border: 2px solid rgba(127, 180, 255, 0.45);
  animation: btse-gift-pop 0.42s cubic-bezier(0.2, 1.5, 0.4, 1) both;
}

.btse-post-main .react .pane.rw h3,
#main-content .btse-post-main .react .pane.rw h3 {
  color: #FFFFFF;
}

.btse-post-main .react .pane.rw p {
  color: #B9C2D0;
}

.btse-post-main .react .rwpill {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 10px;
  background: rgba(127, 180, 255, 0.16);
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7FB4FF;
}

.btse-post-main .react .rwrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 16px;
}

.btse-post-main .react .rwcta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  min-width: 230px;
}

.btse-post-main .react .btn {
  display: inline-block;
  padding: 12px 24px;
  background: #015FE5;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14.5px;
  font-weight: 600;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  color: #FFFFFF;
}

.btse-post-main .react .btn:hover {
  background: #0149B8;
  color: #FFFFFF;
}

.btse-post-main .react .btn:focus-visible,
.btse-post-main .react .rwsec a:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

.btse-post-main .react .rwfine {
  max-width: 34ch;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #8A94A6;
}

/* 二维码：只在桌面显示（手机扫不了自己的屏幕） */
.btse-post-main .react .rwqr {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-left: 24px;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.btse-post-main .react .qrimg {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 78px;
  height: 78px;
  padding: 6px;
  background: #FFFFFF;
  border-radius: 6px;
}

.btse-post-main .react .rwqrtx strong {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: #FFFFFF;
}

.btse-post-main .react .rwqrtx span {
  display: block;
  max-width: 20ch;
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.45;
  color: #8A94A6;
}

.btse-post-main .react .rwsec {
  display: block;
  margin-top: 12px;
  font-size: 12.5px;
  font-weight: 400;
  color: #8A94A6;
}

.btse-post-main .react .rwsec a {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: #7FB4FF;
}

@media (max-width: 640px) {
  .btse-post-main .react .rwqr {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btse-post-main .react .gift.locked,
  .btse-post-main .react .pane.rw .gift {
    animation: none;
  }
}

/* 投了赞：作者行的 👍 一起变色（mockup） */
.btse-post-header .meta-likes.is-voted {
  background: #EEF4FF;
  border-color: #B9D3FF;
}

/* 「weekly research brief」跳到 Newsletter：同样避开吸顶 header */
.btse-newsletter {
  scroll-margin-top: calc(var(--btse-post-sticky) + 16px);
}

/* ---------- FAQ（3.10，D17）：正文后面 ---------- */
.btse-post-main .faq {
  margin: 48px 0 0; /* mockup 3em（按 16px） */
  padding-top: 28px;
  border-top: 1px solid #E4E7EC;
  font-family: inherit;
}

.btse-post-main .faq > h2,
#main-content .btse-post-main .faq > h2 {
  margin: 0 0 16px;
  padding: 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #1F2328; /* mockup .faq>h2 没设颜色，继承正文色 */
}

.btse-post-main .faq details {
  margin-bottom: 9px;
  background: #FFFFFF;
  border: 1px solid #E4E7EC;
  border-radius: 8px;
}

.btse-post-main .faq details[open] {
  background: #F7F9FC;
}

.btse-post-main .faq summary {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 18px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
  color: #0B0D0E;
  list-style: none;
  cursor: pointer;
}

.btse-post-main .faq summary::-webkit-details-marker {
  display: none;
}

.btse-post-main .faq summary::after {
  flex: 0 0 auto;
  content: '+';
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  color: #015FE5;
}

.btse-post-main .faq details[open] summary::after {
  content: '\2212';
}

.btse-post-main .faq summary:focus-visible {
  outline: 2px solid #015FE5;
  outline-offset: 2px;
  border-radius: 8px;
}

.btse-post-main .faq details p {
  margin: 0;
  padding: 0 18px 17px;
  font-family: inherit;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.7;
  color: #5A6472;
}

/* ---------- 正文 CTA（3.7，D16）：插在正文约 40% 处，深色卡 ----------
   在正文容器里，选择器要比正文的 p / a 规则更具体（.et_pb_post_content.btse-post-body p） */
.et_pb_post_content.btse-post-body .inset {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin: 35px 0; /* mockup 2.2em（按 16px） */
  padding: 22px 24px;
  background: #222222;
  border-radius: 10px;
}

.et_pb_post_content.btse-post-body .inset-t {
  flex: 1;
  min-width: 210px;
}

.et_pb_post_content.btse-post-body .inset p {
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  color: #B9C2D0;
}

.et_pb_post_content.btse-post-body .inset p.inset-title {
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #FFFFFF;
}

.et_pb_post_content.btse-post-body .inset .btn {
  display: inline-block;
  padding: 11px 20px;
  background: #015FE5;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  color: #FFFFFF;
}

.et_pb_post_content.btse-post-body .inset .btn:hover {
  background: #0149B8;
  color: #FFFFFF;
}

.et_pb_post_content.btse-post-body .inset .btn:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

/* ---------- 热门市场（3.8，D16） ---------- */
.btse-post-main .sec {
  margin: 52px 0 0;
  font-family: inherit;
  font-weight: 400;
}

/* 验收文档详情页 #5：删掉标题下的副标题（.sub），标题到下面卡片的间距改为 18（原 .sub 的下边距） */
.btse-post-main .sec > h2,
#main-content .btse-post-main .sec > h2 {
  margin: 0 0 18px;
  padding: 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #1F2328;
}

.btse-post-main .assets {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.btse-post-main .asset {
  display: flex;
  line-height: normal; /* Divi 继承下来是 22.4px，卡片会高 5 */
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 13px 14px;
  border: 1px solid #E4E7EC;
  border-radius: 8px;
  text-decoration: none;
}

.btse-post-main .asset b {
  font-family: inherit;
  font-size: 14px;
  font-weight: 650;
  line-height: normal;
  color: #0B0D0E;
}

.btse-post-main .asset .go {
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: #8A94A6;
}

.btse-post-main .asset:hover {
  border-color: #015FE5;
}

.btse-post-main .asset:hover b,
.btse-post-main .asset:hover .go {
  color: #015FE5;
}

.btse-post-main .asset:focus-visible {
  outline: 2px solid #015FE5;
  outline-offset: 2px;
}

/* ---------- 免责声明（3.11，D14b）：FAQ 后面、相关文章前面；文案在布局的 Code 模块里，B 可在 Theme Builder 里改 ---------- */
.btse-post-main .disc,
.btse-post-main .disc:last-of-type {
  margin: 22px 0 0;
  padding: 15px 17px; /* :last-of-type：Divi 给最后一个 p 去掉了下内边距 */
  border-left: 3px solid #E4E7EC;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.65;
  color: #8A94A6;
}

.btse-post-main .disc strong {
  font-weight: 700;
  color: inherit;
}

/* ---------- 相关文章（3.11，D15）：3 列卡片；外层 .sec 同热门市场 ---------- */
.btse-post-main .rel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.btse-post-main .rel .card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid #E4E7EC;
  border-radius: 10px;
}

.btse-post-main .rel .thumb {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(130deg, #E8EEFB, #CFE0FA); /* 没有特色图片时的底色（mockup） */
}

.btse-post-main .rel .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.btse-post-main .rel .cb {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 7px;
  padding: 14px 15px 16px;
  line-height: normal;
}

.btse-post-main .rel .ct {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #0149B8;
}

.btse-post-main .rel h3,
#main-content .btse-post-main .rel h3 {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: normal;
  color: #0B0D0E;
}

.btse-post-main .rel h3 a {
  text-decoration: none;
  color: inherit;
}

.btse-post-main .rel h3 a:hover {
  color: #015FE5;
}

.btse-post-main .rel h3 a:focus-visible {
  outline: 2px solid #015FE5;
  outline-offset: 2px;
}

.btse-post-main .rel .cm {
  margin-top: auto;
  font-size: 12px;
  font-weight: 400;
  color: #8A94A6;
}

/* ---------- 分享（3.11，D14a）：页面左栏最后一块 ---------- */
/* 验收文档详情页 #2：去掉 mockup 上方的分隔线（原 padding-top 22 + border-top 1px #E4E7EC），只留和热门市场之间的 34 */
.btse-post-main .share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 34px 0 0;
  font-family: inherit;
}

.btse-post-main .share a,
.btse-post-main .share button {
  margin: 0;
  padding: 8px 14px;
  background: transparent;
  border: 1px solid #E4E7EC;
  border-radius: 4px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  color: #1F2328;
  cursor: pointer;
}

.btse-post-main .share a:hover,
.btse-post-main .share button:hover {
  border-color: #015FE5;
  color: #015FE5;
}

.btse-post-main .share a:focus-visible,
.btse-post-main .share button:focus-visible {
  outline: 2px solid #015FE5;
  outline-offset: 2px;
}

.btse-post-main .share .share-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap; /* 只给读屏用 */
}
