/* FFC 单篇文章详情页 V0.1 - only for WordPress post detail pages. */
body.single-post {
  background: #f3f6fa;
  color: #334155;
}

body.single-post .wp-site-blocks {
  background: #f3f6fa;
}

.ffc-single-v01 {
  margin: 0;
  padding: clamp(96px, 10vw, 138px) 0 clamp(72px, 8vw, 110px);
  background:
    linear-gradient(180deg, #eef3f8 0%, #f8fafc 18%, #f3f6fa 100%);
  color: #334155;
  overflow-x: hidden;
}

.ffc-single-v01 *,
.ffc-single-v01 *::before,
.ffc-single-v01 *::after {
  box-sizing: border-box;
}

.ffc-single-article {
  width: min(100% - 48px, 900px);
  margin: 0 auto;
}

.ffc-single-header {
  margin: 0 auto clamp(26px, 4vw, 40px);
  text-align: center;
}

.ffc-single-category,
.ffc-single-category a {
  color: #1f5fbf;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
}

.ffc-single-category {
  margin: 0 0 14px;
}

.ffc-single-title {
  margin: 0;
  color: #0f1724;
  font-size: clamp(34px, 5.2vw, 56px);
  line-height: 1.12;
  letter-spacing: -0.045em;
  font-weight: 760;
  text-align: center;
}

.ffc-single-meta {
  margin-top: 18px;
  gap: 10px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
}

.ffc-single-meta time,
.ffc-single-meta a {
  color: #64748b;
  text-decoration: none;
}

.ffc-single-featured {
  width: min(100%, 900px);
  margin: 0 auto clamp(34px, 4.8vw, 52px);
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 36, 0.08);
  box-shadow: 0 24px 64px rgba(15, 23, 36, 0.12);
  background: #e2e8f0;
}

.ffc-single-featured img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  max-height: 600px;
  object-fit: cover;
  object-position: center;
}

.ffc-single-content {
  width: min(100%, 900px);
  margin: 0 auto;
  color: #334155;
  font-size: clamp(17px, 1.7vw, 18px);
  line-height: 1.88;
  letter-spacing: 0.01em;
}

.ffc-single-content :where(p, ul, ol, blockquote, figure, table) {
  margin-top: 0;
  margin-bottom: 1.35em;
}

.ffc-single-content :where(h2, h3, h4, h5, h6) {
  margin: 2em 0 0.8em;
  color: #0f1724;
  line-height: 1.28;
  letter-spacing: -0.025em;
  font-weight: 730;
}

.ffc-single-content h2 {
  font-size: clamp(26px, 3vw, 34px);
}

.ffc-single-content h3 {
  font-size: clamp(22px, 2.5vw, 28px);
}

.ffc-single-content :where(p, li) {
  color: #334155;
}

.ffc-single-content a {
  color: #1f5fbf;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.ffc-single-content :where(ul, ol) {
  padding-left: 1.35em;
}

.ffc-single-content blockquote {
  padding: 18px 22px;
  border-left: 4px solid #1f5fbf;
  border-radius: 14px;
  background: #ffffff;
  color: #334155;
  box-shadow: 0 12px 32px rgba(15, 23, 36, 0.06);
}

.ffc-single-content :where(img) {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
}

.ffc-single-content .wp-block-image {
  margin: 32px auto;
}

.ffc-single-content .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(15, 23, 36, 0.08);
  box-shadow: 0 18px 48px rgba(15, 23, 36, 0.1);
}

.ffc-single-content .wp-block-table {
  overflow-x: auto;
}

.ffc-single-content table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(15, 23, 36, 0.06);
}

.ffc-single-content th,
.ffc-single-content td {
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  color: #334155;
  text-align: left;
}

.ffc-single-content th {
  color: #0f1724;
  background: #edf3f9;
  font-weight: 700;
}

@media (max-width: 768px) {
  body.single-post,
  body.single-post .wp-site-blocks {
    background: #f3f6fa;
  }

  .ffc-single-v01 {
    padding: 84px 0 72px;
  }

  .ffc-single-article {
    width: min(100% - 30px, 900px);
  }

  .ffc-single-title {
    font-size: clamp(30px, 9vw, 42px);
  }

  .ffc-single-featured {
    border-radius: 18px;
    margin-bottom: 30px;
  }

  .ffc-single-content {
    font-size: 17px;
    line-height: 1.86;
  }
}
