/* 心流 FocusFlow — 博客专属样式。复用 styles.css 已有设计 token（--accent / --text-primary 等），
   不新造颜色。承载：面包屑 + 文章头 + 正文排版 + CTA + 相关文章 + 列表页 hero/卡片。 */

/* ===================================================================
   面包屑
   =================================================================== */
.bp-crumb {
  max-width: 760px;
  margin: 0 auto;
  padding-top: 28px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
}
.bp-crumb a { color: var(--text-muted); transition: color .15s ease; }
.bp-crumb a:hover { color: var(--accent-deep); }
.bp-crumb span { margin: 0 4px; }
.bp-crumb .cur { color: var(--text-secondary); font-weight: 600; }

/* ===================================================================
   文章头
   =================================================================== */
.bp-header {
  max-width: 760px;
  margin: 0 auto;
  padding-top: 22px;
}
.bp-meta {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-muted);
}
.bp-h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 38px;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--text-primary);
  margin: 14px 0 0;
}
.bp-lede {
  font-size: 18px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin-top: 18px;
}

/* ===================================================================
   正文（字号/间距节奏参考 gatheon-site 同名模板，颜色换本站 token）
   =================================================================== */
.bp-article {
  max-width: 760px;
  margin: 0 auto;
  padding-top: 36px;
  font-size: 16.5px;
  line-height: 1.85;
  color: var(--text-primary);
}
.bp-article h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--text-primary);
  margin: 44px 0 16px;
}
.bp-article h2:first-child { margin-top: 0; }
.bp-article h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 19px;
  line-height: 1.4;
  color: var(--text-primary);
  margin: 30px 0 12px;
}
.bp-article p { margin: 0 0 18px; }
.bp-article ul, .bp-article ol { margin: 0 0 18px; padding-left: 22px; }
.bp-article li { margin-bottom: 8px; }
.bp-article li:last-child { margin-bottom: 0; }
.bp-article strong { color: var(--text-primary); font-weight: 700; }
.bp-article a { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 3px; }
.bp-article a:hover { color: var(--accent); }

/* ===================================================================
   CTA
   =================================================================== */
.bp-cta {
  max-width: 760px;
  margin: 48px auto 0;
  padding: 40px 36px;
  background: var(--accent-soft);
  border-radius: var(--r-card);
  text-align: center;
}
.bp-cta p {
  font-size: 17px;
  font-weight: 600;
  color: var(--accent-deep);
  margin: 0 0 20px;
}

/* ===================================================================
   相关文章
   =================================================================== */
.bp-related {
  max-width: 760px;
  margin: 36px auto 88px;
  padding-top: 32px;
  border-top: 1px solid var(--border-soft);
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.bp-related-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 3px;
}
.bp-related a {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  transition: color .15s ease;
}
.bp-related a:hover { color: var(--accent-deep); }

/* ===================================================================
   列表页：hero
   =================================================================== */
.bp-hero { padding: 64px 0 8px; }
.bp-hero-inner {
  max-width: 640px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
.bp-hero-h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 42px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  margin: 0;
}
.bp-hero-lead {
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin: 0;
  max-width: 520px;
}

/* ===================================================================
   列表页：文章卡片
   =================================================================== */
.bp-list-section { padding: 48px 0 100px; }
.bp-list {
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.bp-card { padding: 30px 32px; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.bp-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); border-color: var(--accent); }
.bp-card-meta { font-size: 13px; font-weight: 600; color: var(--text-muted); }
.bp-card-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 21px;
  line-height: 1.4;
  color: var(--text-primary);
  margin: 10px 0 10px;
}
.bp-card-title a { color: inherit; }
.bp-card-title a:hover { color: var(--accent-deep); }
.bp-card-desc { font-size: 15px; line-height: 1.65; color: var(--text-secondary); margin: 0 0 16px; }
.bp-card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 600; color: var(--accent-deep); }
.bp-card-link:hover { color: var(--accent); }

/* ===================================================================
   响应式
   =================================================================== */
@media (max-width: 640px) {
  .bp-h1 { font-size: 30px; }
  .bp-lede { font-size: 16px; }
  .bp-hero { padding: 48px 0 4px; }
  .bp-hero-h1 { font-size: 30px; }
  .bp-hero-lead { font-size: 16px; }
  .bp-article { font-size: 16px; }
  .bp-article h2 { font-size: 22px; margin: 36px 0 14px; }
  .bp-article h3 { font-size: 17px; }
  .bp-cta { padding: 30px 24px; }
  .bp-card { padding: 22px 20px; }
}
