/*
 * nhy-blog.css — News / Blog Styles
 * 文章列表页 + 文章详情页 + 侧边栏小工具 + 目录 + CTA
 * 兼容 Blocksy 2.1.37 + Greenshift + WooCommerce Blocks
 * --------------------------------------------------
 * DOM 选择器（已验证 2026-04-06）:
 *   body.blog                          ← 列表页
 *   body.single-post                   ← 详情页
 *   article.entry-card.card-content    ← 文章卡片
 *   .ct-media-container.boundless-image ← 卡片图片
 *   .entries[data-layout="grid"]       ← 卡片容器
 *   h1.page-title                      ← 详情页标题
 *   .entry-content.is-layout-constrained ← 详情页正文
 *   .ct-sidebar                        ← 侧边栏（仅列表页有）
 *   .ct-widget.widget_block            ← 侧边栏组件
 *   h2.widget-title                    ← 组件标题
 *   .ct-newsletter-subscribe-block     ← 订阅表单
 *   button.wp-element-button           ← 订阅按钮
 *   .hero-section[data-type]           ← 详情页 hero
 *   .ct-container-narrow               ← 详情页窄容器（无侧边栏）
 */

/* =============================================
   0. TYPOGRAPHY — Article Body
   ============================================= */
.single-post .entry-content.is-layout-constrained,
.single-post .entry-content {
  font-family: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: var(--nhy-gray-dark, #2A2A2A);
  letter-spacing: 0.01em;
  word-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.single-post .entry-content p {
  margin-bottom: 1.6em;
  orphans: 3; widows: 3;
}
.single-post .entry-content > *:last-child { margin-bottom: 0; }

/* =============================================
   1. HEADING HIERARCHY H1–H6
   ============================================= */
.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content h5,
.single-post .entry-content h6 {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif;
  color: var(--nhy-black, #0A0A0A);
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin-top: 2em;
  margin-bottom: 0.75em;
  scroll-margin-top: 100px;
}
.single-post .entry-content h1 {
  font-size: 2em; font-weight: 800; letter-spacing: -0.02em;
  padding-bottom: 0.4em;
  border-bottom: 2px solid var(--nhy-gold, #C9A84C);
  margin-top: 0;
}
.single-post .entry-content h2 {
  font-size: 1.625em; font-weight: 700;
  padding-bottom: 0.35em;
  border-bottom: 1px solid var(--nhy-gray-border, #E0E0E0);
  position: relative;
}
.single-post .entry-content h2::before {
  content: ''; position: absolute; left: 0; bottom: -1px;
  width: 48px; height: 2px; background: var(--nhy-gold, #C9A84C);
}
.single-post .entry-content h3 {
  font-size: 1.375em; font-weight: 700;
  padding-left: 14px; border-left: 3px solid var(--nhy-gold, #C9A84C);
}
.single-post .entry-content h4 {
  font-size: 1.125em; font-weight: 600; color: var(--nhy-black-soft, #1A1A1A);
}
.single-post .entry-content h5 {
  font-size: 1em; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--nhy-gray, #666);
}
.single-post .entry-content h6 {
  font-size: 0.875em; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--nhy-gray-light, #999);
}
.single-post .entry-content h2 + h3,
.single-post .entry-content h3 + h4,
.single-post .entry-content h4 + h5,
.single-post .entry-content h5 + h6 { margin-top: 0.8em; }

/* =============================================
   1b. Rich Content Elements
   ============================================= */
.single-post .entry-content a {
  color: var(--nhy-gold, #C9A84C); text-decoration: underline;
  text-underline-offset: 3px; transition: color 0.2s;
}
.single-post .entry-content a:hover { color: var(--nhy-black, #0A0A0A); }

.single-post .entry-content blockquote {
  margin: 2em 0; padding: 1.2em 1.6em;
  border-left: 3px solid var(--nhy-gold, #C9A84C);
  background: var(--nhy-gray-bg, #F5F5F3); font-style: italic;
}
.single-post .entry-content blockquote p:last-child { margin-bottom: 0; }

.single-post .entry-content ul,
.single-post .entry-content ol { margin: 1.2em 0; padding-left: 1.8em; }
.single-post .entry-content li { margin-bottom: 0.5em; line-height: 1.75; }
.single-post .entry-content ul li::marker { color: var(--nhy-gold, #C9A84C); }

.single-post .entry-content pre,
.single-post .entry-content code { font-family: 'Space Mono', monospace; }
.single-post .entry-content pre {
  background: var(--nhy-black, #0A0A0A); color: #E0E0E0;
  padding: 1.4em 1.6em; border-radius: 4px; overflow-x: auto;
  font-size: 0.875em; line-height: 1.7; margin: 1.8em 0;
}
.single-post .entry-content code {
  background: var(--nhy-gray-bg, #F5F5F3); padding: 0.15em 0.4em;
  border-radius: 3px; font-size: 0.9em;
}
.single-post .entry-content pre code { background: none; padding: 0; }

.single-post .entry-content img { max-width: 100%; height: auto; border-radius: 4px; margin: 1.5em 0; }

.single-post .entry-content table { width: 100%; border-collapse: collapse; margin: 1.8em 0; font-size: 0.9375em; }
.single-post .entry-content th {
  background: var(--nhy-black, #0A0A0A); color: var(--nhy-white, #FFFFFF);
  font-weight: 600; padding: 0.8em 1em; text-align: left;
  font-size: 0.85em; letter-spacing: 0.04em; text-transform: uppercase;
}
.single-post .entry-content td { padding: 0.7em 1em; border-bottom: 1px solid var(--nhy-gray-border, #E0E0E0); }
.single-post .entry-content tr:hover td { background: var(--nhy-gray-bg, #F5F5F3); }
.single-post .entry-content hr { border: none; height: 1px; background: var(--nhy-gray-border, #E0E0E0); margin: 2.5em 0; }

/* =============================================
   2. TABLE OF CONTENTS (TOC) — JS generated
   ============================================= */
.nhy-toc {
  background: var(--nhy-white, #FFFFFF); border: 1px solid var(--nhy-gray-border, #E0E0E0);
  padding: 0; margin-bottom: 28px; overflow: hidden;
}
.nhy-toc-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; border-bottom: 1px solid var(--nhy-gray-border, #E0E0E0);
  cursor: pointer; user-select: none; transition: background 0.2s;
}
.nhy-toc-header:hover { background: var(--nhy-gray-bg, #F5F5F3); }
.nhy-toc-label {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif; font-size: 12px;
  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  color: var(--nhy-black, #0A0A0A); display: flex; align-items: center; gap: 8px;
}
.nhy-toc-label svg { width: 16px; height: 16px; stroke: var(--nhy-gold, #C9A84C); fill: none; stroke-width: 1.5; }
.nhy-toc-toggle { width: 20px; height: 20px; stroke: var(--nhy-gray-light, #999); fill: none; stroke-width: 2; transition: transform 0.3s; }
.nhy-toc.is-collapsed .nhy-toc-toggle { transform: rotate(-90deg); }
.nhy-toc-body { padding: 12px 20px 16px; max-height: 600px; overflow-y: auto; transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease; }
.nhy-toc.is-collapsed .nhy-toc-body { max-height: 0; opacity: 0; padding-top: 0; padding-bottom: 0; overflow: hidden; }
.nhy-toc-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.nhy-toc-list li { margin: 0 !important; padding: 0 !important; border: none !important; }
.nhy-toc-list a {
  display: block; padding: 6px 0 6px 12px;
  font-family: 'Inter', 'Noto Sans SC', sans-serif; font-size: 13.5px;
  color: var(--nhy-gray-dark, #2A2A2A); text-decoration: none; line-height: 1.5;
  border-left: 2px solid transparent; transition: all 0.2s;
}
.nhy-toc-list a:hover,
.nhy-toc-list a.nhy-toc-active {
  color: var(--nhy-gold, #C9A84C); border-left-color: var(--nhy-gold, #C9A84C);
  background: rgba(201,168,76,0.08);
}
.nhy-toc-list .nhy-toc-h3 a { padding-left: 28px; font-size: 13px; }
.nhy-toc-list .nhy-toc-h4 a { padding-left: 44px; font-size: 12.5px; color: var(--nhy-gray, #666); }
.nhy-toc-list .nhy-toc-h5 a { padding-left: 56px; font-size: 12px; color: var(--nhy-gray-light, #999); }
.nhy-toc-list .nhy-toc-h6 a { padding-left: 64px; font-size: 12px; color: var(--nhy-gray-light, #999); }

/* =============================================
   3. BLOG LISTING — Post Cards
   Blocksy: article.entry-card.card-content
   Image: a.ct-media-container.boundless-image
   ============================================= */
body.blog .entries[data-layout],
body.archive .entries[data-layout],
body.category .entries[data-layout] { gap: 32px !important; }

body.blog article.entry-card,
body.archive article.entry-card,
body.category article.entry-card {
  background: var(--nhy-white, #FFFFFF); border: 1px solid var(--nhy-gray-border, #E0E0E0);
  overflow: hidden; transition: border-color 0.3s, box-shadow 0.3s;
}
body.blog article.entry-card:hover,
body.archive article.entry-card:hover,
body.category article.entry-card:hover {
  border-color: var(--nhy-gold, #C9A84C); box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

body.blog article.entry-card .ct-media-container,
body.archive article.entry-card .ct-media-container,
body.category article.entry-card .ct-media-container { overflow: hidden; }
body.blog article.entry-card .ct-media-container img,
body.archive article.entry-card .ct-media-container img,
body.category article.entry-card .ct-media-container img { transition: transform 0.5s cubic-bezier(0.22,1,0.36,1) !important; }
body.blog article.entry-card:hover .ct-media-container img,
body.archive article.entry-card:hover .ct-media-container img,
body.category article.entry-card:hover .ct-media-container img { transform: scale(1.04); }

body.blog article.entry-card .meta-categories a,
body.archive article.entry-card .meta-categories a,
body.category article.entry-card .meta-categories a {
  font-family: 'Inter', sans-serif !important; font-size: 10px !important;
  font-weight: 600 !important; letter-spacing: 2px !important;
  text-transform: uppercase !important; color: var(--nhy-gold, #C9A84C) !important;
  text-decoration: none !important;
}

body.blog article.entry-card .entry-title,
body.archive article.entry-card .entry-title,
body.category article.entry-card .entry-title,
body.blog article.entry-card .entry-title a,
body.archive article.entry-card .entry-title a,
body.category article.entry-card .entry-title a {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif !important;
  font-size: 20px !important; font-weight: 700 !important;
  color: var(--nhy-black, #0A0A0A) !important; line-height: 1.35 !important;
  text-decoration: none !important; letter-spacing: -0.01em; transition: color 0.2s;
}
body.blog article.entry-card:hover .entry-title a,
body.archive article.entry-card:hover .entry-title a,
body.category article.entry-card:hover .entry-title a { color: var(--nhy-gold, #C9A84C) !important; }

body.blog article.entry-card .entry-excerpt,
body.archive article.entry-card .entry-excerpt,
body.category article.entry-card .entry-excerpt,
body.blog article.entry-card .entry-excerpt p,
body.archive article.entry-card .entry-excerpt p,
body.category article.entry-card .entry-excerpt p {
  font-family: 'Inter', 'Noto Sans SC', sans-serif !important;
  font-size: 14px !important; line-height: 1.7 !important; color: var(--nhy-gray, #666) !important;
}

body.blog article.entry-card .entry-meta[data-id="meta_2"],
body.archive article.entry-card .entry-meta[data-id="meta_2"],
body.category article.entry-card .entry-meta[data-id="meta_2"] {
  font-family: 'Inter', sans-serif !important; font-size: 12px !important;
  color: var(--nhy-gray-light, #999) !important;
  margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--nhy-gray-border, #E0E0E0);
}

/* =============================================
   4. SINGLE POST PAGE
   Title: h1.page-title in .entry-header
   Content: .entry-content.is-layout-constrained
   No sidebar — uses ct-container-narrow
   ============================================= */
.single-post .hero-section { background: var(--nhy-black, #0A0A0A) !important; }
.single-post .entry-header .page-title,
.single-post .hero-section .page-title {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif !important;
  font-size: 32px !important; font-weight: 800 !important;
  line-height: 1.25 !important; letter-spacing: -0.02em !important;
}
.single-post .ct-dynamic-cover h1.ct-dynamic-data {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif !important;
  font-weight: 800 !important; letter-spacing: -0.02em !important;
}
.single-post .entry-header .entry-meta { font-family: 'Inter', sans-serif !important; font-size: 13px !important; }
.single-post .entry-header .entry-meta a { text-decoration: none !important; }
.single-post .entry-header .meta-categories a { color: var(--nhy-gold, #C9A84C) !important; }
.single-post .ct-share-box { border: none !important; padding: 0 !important; }

/* Comments */
.single-post .ct-comments-container,
.single-post #comments { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--nhy-gray-border, #E0E0E0); }
.single-post .comment-reply-title,
.single-post #reply-title {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif !important;
  font-size: 20px !important; font-weight: 700 !important; color: var(--nhy-black, #0A0A0A) !important;
}
.single-post .comment-form input[type="text"],
.single-post .comment-form input[type="email"],
.single-post .comment-form input[type="url"],
.single-post .comment-form textarea {
  font-family: 'Inter', 'Noto Sans SC', sans-serif; font-size: 14px;
  border: 1px solid var(--nhy-gray-border, #E0E0E0); padding: 10px 14px;
  transition: border-color 0.2s; background: var(--nhy-white, #FFFFFF);
}
.single-post .comment-form input:focus,
.single-post .comment-form textarea:focus {
  border-color: var(--nhy-gold, #C9A84C); outline: none;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.15);
}
.single-post .form-submit input[type="submit"] {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: 1.5px; text-transform: uppercase;
  background: var(--nhy-black, #0A0A0A); color: var(--nhy-white, #FFFFFF);
  border: none; padding: 12px 32px; cursor: pointer; transition: background 0.3s;
}
.single-post .form-submit input[type="submit"]:hover { background: var(--nhy-gold, #C9A84C); color: var(--nhy-black, #0A0A0A); }

/* Newsletter in single post (Blocksy Pro) */
.single-post .ct-newsletter-subscribe-container {
  border: 1px solid var(--nhy-gray-border, #E0E0E0) !important;
  background: var(--nhy-white, #FFFFFF) !important; padding: 28px !important; margin-top: 40px !important;
}
.single-post .ct-newsletter-subscribe-form button.wp-element-button {
  background: var(--nhy-black, #0A0A0A) !important; color: var(--nhy-white, #FFFFFF) !important;
  font-family: 'Inter', sans-serif !important; font-size: 11px !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  text-transform: uppercase !important; border-radius: 0 !important; transition: background 0.3s !important;
}
.single-post .ct-newsletter-subscribe-form button.wp-element-button:hover {
  background: var(--nhy-gold, #C9A84C) !important; color: var(--nhy-black, #0A0A0A) !important;
}

/* =============================================
   5. SIDEBAR — Blog List Pages Only
   Blocksy: aside > .ct-sidebar > .ct-widget.widget_block
   ============================================= */
body.blog .ct-sidebar .ct-widget,
body.archive .ct-sidebar .ct-widget,
body.category .ct-sidebar .ct-widget {
  background: var(--nhy-white, #FFFFFF) !important;
  border: 1px solid var(--nhy-gray-border, #E0E0E0) !important;
  padding: 0 !important; margin-bottom: 24px !important; overflow: hidden; border-radius: 0 !important;
}
body.blog .ct-sidebar .widget-title,
body.archive .ct-sidebar .widget-title,
body.category .ct-sidebar .widget-title {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 2px !important; text-transform: uppercase !important;
  color: var(--nhy-black, #0A0A0A) !important;
  padding: 16px 20px !important; margin: 0 !important;
  border-bottom: 1px solid var(--nhy-gray-border, #E0E0E0) !important;
  background: var(--nhy-gray-bg, #F5F5F3) !important;
}

/* WooCommerce Product Categories list */
body.blog .ct-sidebar .wc-block-product-categories-list,
body.archive .ct-sidebar .wc-block-product-categories-list,
body.category .ct-sidebar .wc-block-product-categories-list {
  padding: 8px 20px 12px !important; margin: 0 !important; list-style: none !important;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item,
body.archive .ct-sidebar .wc-block-product-categories-list-item,
body.category .ct-sidebar .wc-block-product-categories-list-item {
  font-family: 'Inter', 'Noto Sans SC', sans-serif !important; font-size: 13px !important;
  padding: 7px 0 !important; border-bottom: 1px solid rgba(224,224,224,0.5) !important;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item:last-child,
body.archive .ct-sidebar .wc-block-product-categories-list-item:last-child,
body.category .ct-sidebar .wc-block-product-categories-list-item:last-child { border-bottom: none !important; }
body.blog .ct-sidebar .wc-block-product-categories-list-item a,
body.archive .ct-sidebar .wc-block-product-categories-list-item a,
body.category .ct-sidebar .wc-block-product-categories-list-item a {
  color: var(--nhy-gray-dark, #2A2A2A) !important; text-decoration: none !important; transition: color 0.2s;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item a:hover,
body.archive .ct-sidebar .wc-block-product-categories-list-item a:hover,
body.category .ct-sidebar .wc-block-product-categories-list-item a:hover { color: var(--nhy-gold, #C9A84C) !important; }
body.blog .ct-sidebar .wc-block-product-categories-list-item-count,
body.archive .ct-sidebar .wc-block-product-categories-list-item-count,
body.category .ct-sidebar .wc-block-product-categories-list-item-count { font-size: 11px !important; color: var(--nhy-gray-light, #999) !important; }

/* Best Sellers block */
body.blog .ct-sidebar .wp-block-woocommerce-product-collection,
body.archive .ct-sidebar .wp-block-woocommerce-product-collection,
body.category .ct-sidebar .wp-block-woocommerce-product-collection { padding: 12px 20px 16px !important; }

/* Hide default popup image in sidebar newsletter widget */
body.blog .ct-sidebar .ct-widget .wp-block-image,
body.archive .ct-sidebar .ct-widget .wp-block-image,
body.category .ct-sidebar .ct-widget .wp-block-image { display: none !important; }

/* Newsletter widget outer wp-block-group — override inline border-radius + background */
body.blog .ct-sidebar .ct-widget .wp-block-group.has-background,
body.archive .ct-sidebar .ct-widget .wp-block-group.has-background,
body.category .ct-sidebar .ct-widget .wp-block-group.has-background {
  border-radius: 0 !important;
  background-color: var(--nhy-white, #FFFFFF) !important;
}
/* Newsletter widget inner content group — override inline padding */
body.blog .ct-sidebar .ct-widget .wp-block-group .wp-block-group.is-layout-constrained,
body.archive .ct-sidebar .ct-widget .wp-block-group .wp-block-group.is-layout-constrained,
body.category .ct-sidebar .ct-widget .wp-block-group .wp-block-group.is-layout-constrained {
  padding: 0 !important;
}

/* Newsletter form in sidebar */
body.blog .ct-sidebar .ct-newsletter-subscribe-block,
body.archive .ct-sidebar .ct-newsletter-subscribe-block,
body.category .ct-sidebar .ct-newsletter-subscribe-block { padding: 0 20px 16px !important; }
body.blog .ct-sidebar .ct-widget .ct-block-wrapper p,
body.archive .ct-sidebar .ct-widget .ct-block-wrapper p,
body.category .ct-sidebar .ct-widget .ct-block-wrapper p {
  font-family: 'Inter', 'Noto Sans SC', sans-serif !important;
  font-size: 13px !important; line-height: 1.6 !important; color: var(--nhy-gray, #666) !important;
  padding-left: 0 !important; padding-right: 0 !important;
  margin-bottom: 16px !important;
}
body.blog .ct-sidebar .ct-newsletter-subscribe-form button.wp-element-button,
body.archive .ct-sidebar .ct-newsletter-subscribe-form button.wp-element-button,
body.category .ct-sidebar .ct-newsletter-subscribe-form button.wp-element-button {
  background: var(--nhy-black, #0A0A0A) !important; color: var(--nhy-white, #FFFFFF) !important;
  font-family: 'Inter', sans-serif !important; font-size: 11px !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  text-transform: uppercase !important; border-radius: 0 !important; transition: background 0.3s !important;
}
body.blog .ct-sidebar .ct-newsletter-subscribe-form button.wp-element-button:hover,
body.archive .ct-sidebar .ct-newsletter-subscribe-form button.wp-element-button:hover,
body.category .ct-sidebar .ct-newsletter-subscribe-form button.wp-element-button:hover {
  background: var(--nhy-gold, #C9A84C) !important; color: var(--nhy-black, #0A0A0A) !important;
}
body.blog .ct-sidebar .ct-newsletter-subscribe-form input[type="email"],
body.archive .ct-sidebar .ct-newsletter-subscribe-form input[type="email"],
body.category .ct-sidebar .ct-newsletter-subscribe-form input[type="email"] {
  font-family: 'Inter', sans-serif !important; font-size: 13px !important;
  border: 1px solid var(--nhy-gray-border, #E0E0E0) !important; border-radius: 0 !important;
  padding: 10px 14px !important;
}
body.blog .ct-sidebar .ct-newsletter-subscribe-form input[type="email"]:focus,
body.archive .ct-sidebar .ct-newsletter-subscribe-form input[type="email"]:focus,
body.category .ct-sidebar .ct-newsletter-subscribe-form input[type="email"]:focus {
  border-color: var(--nhy-gold, #C9A84C) !important; outline: none !important;
}

/* =============================================
   6. SIDEBAR CTA — Selection Support (JS injected)
   ============================================= */
.nhy-blog-cta {
  background: var(--nhy-black, #0A0A0A); border: 1px solid rgba(201,168,76,0.2) !important;
  padding: 28px 24px !important; margin-bottom: 24px !important; position: relative; overflow: hidden;
}
.nhy-blog-cta::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--nhy-gold, #C9A84C), transparent);
}
.nhy-blog-cta-icon { width: 48px; height: 48px; margin-bottom: 16px; }
.nhy-blog-cta-icon svg { width: 48px; height: 48px; }
.nhy-blog-cta-icon .beacon-glow { animation: nhyBeaconPulse 2s ease-in-out infinite; }
@keyframes nhyBeaconPulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.8; } }
.nhy-blog-cta-tag {
  font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 600;
  letter-spacing: 2.5px; text-transform: uppercase; color: var(--nhy-gold, #C9A84C); margin-bottom: 12px;
}
.nhy-blog-cta h4 {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif; font-size: 17px; font-weight: 700;
  color: var(--nhy-white, #FFFFFF); line-height: 1.35; margin: 0 0 10px;
}
.nhy-blog-cta p {
  font-family: 'Inter', 'Noto Sans SC', sans-serif !important; font-size: 13px !important;
  line-height: 1.65 !important; color: rgba(255,255,255,0.55) !important;
  margin: 0 0 20px !important; padding: 0 !important;
}
.nhy-blog-cta-btn {
  display: block; width: 100%; text-align: center; padding: 12px 20px;
  background: var(--nhy-gold, #C9A84C); color: var(--nhy-black, #0A0A0A);
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none; transition: all 0.3s;
}
.nhy-blog-cta-btn:hover { background: var(--nhy-white, #FFFFFF); color: var(--nhy-black, #0A0A0A); }


/* =============================================
   6b. SINGLE POST — Share/Meta bar
   Content Block (hook:994) 内的 author + share 行
   移到文章正文下方 via CSS order
   ============================================= */

/* Share/Meta bar — 保留显示 */


/* =============================================
   6c. ALL BLOG PAGES SIDEBAR — 美化
   博客列表页 + 单篇文章页共用侧边栏样式
   ============================================= */

/* Widget base */
body.blog .ct-sidebar .ct-widget,
body.archive .ct-sidebar .ct-widget,
body.category .ct-sidebar .ct-widget,
.single-post .ct-sidebar .ct-widget {
  background: var(--nhy-white, #FFFFFF) !important;
  border: 1px solid var(--nhy-gray-border, #E0E0E0) !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
  overflow: hidden;
  border-radius: 0 !important;
}

/* Widget titles */
body.blog .ct-sidebar .widget-title,
body.archive .ct-sidebar .widget-title,
body.category .ct-sidebar .widget-title,
.single-post .ct-sidebar .widget-title {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--nhy-black, #0A0A0A) !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--nhy-gray-border, #E0E0E0) !important;
  background: var(--nhy-gray-bg, #F5F5F3) !important;
}

/* Categories list (wp-block-categories) */
body.blog .ct-sidebar .wp-block-categories,
body.archive .ct-sidebar .wp-block-categories,
body.category .ct-sidebar .wp-block-categories,
.single-post .ct-sidebar .wp-block-categories {
  padding: 8px 20px 12px !important;
  margin: 0 !important;
  list-style: none !important;
}
body.blog .ct-sidebar .wp-block-categories li,
body.archive .ct-sidebar .wp-block-categories li,
body.category .ct-sidebar .wp-block-categories li,
.single-post .ct-sidebar .wp-block-categories li {
  font-family: 'Inter', 'Noto Sans SC', sans-serif !important;
  font-size: 13px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(224,224,224,0.5) !important;
  list-style: none !important;
}
body.blog .ct-sidebar .wp-block-categories li:last-child,
body.archive .ct-sidebar .wp-block-categories li:last-child,
body.category .ct-sidebar .wp-block-categories li:last-child,
.single-post .ct-sidebar .wp-block-categories li:last-child {
  border-bottom: none !important;
}
body.blog .ct-sidebar .wp-block-categories li a,
body.archive .ct-sidebar .wp-block-categories li a,
body.category .ct-sidebar .wp-block-categories li a,
.single-post .ct-sidebar .wp-block-categories li a {
  color: var(--nhy-gray-dark, #2A2A2A) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
body.blog .ct-sidebar .wp-block-categories li a:hover,
body.archive .ct-sidebar .wp-block-categories li a:hover,
body.category .ct-sidebar .wp-block-categories li a:hover,
.single-post .ct-sidebar .wp-block-categories li a:hover {
  color: var(--nhy-gold, #C9A84C) !important;
}

/* Recent posts list (wp-block-latest-posts) */
body.blog .ct-sidebar .wp-block-latest-posts,
body.archive .ct-sidebar .wp-block-latest-posts,
body.category .ct-sidebar .wp-block-latest-posts,
.single-post .ct-sidebar .wp-block-latest-posts {
  padding: 8px 20px 12px !important;
  margin: 0 !important;
  list-style: none !important;
}
body.blog .ct-sidebar .wp-block-latest-posts li,
body.archive .ct-sidebar .wp-block-latest-posts li,
body.category .ct-sidebar .wp-block-latest-posts li,
.single-post .ct-sidebar .wp-block-latest-posts li {
  font-family: 'Inter', 'Noto Sans SC', sans-serif !important;
  font-size: 13px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(224,224,224,0.5) !important;
  list-style: none !important;
}
body.blog .ct-sidebar .wp-block-latest-posts li:last-child,
body.archive .ct-sidebar .wp-block-latest-posts li:last-child,
body.category .ct-sidebar .wp-block-latest-posts li:last-child,
.single-post .ct-sidebar .wp-block-latest-posts li:last-child {
  border-bottom: none !important;
}
body.blog .ct-sidebar .wp-block-latest-posts li a,
body.archive .ct-sidebar .wp-block-latest-posts li a,
body.category .ct-sidebar .wp-block-latest-posts li a,
.single-post .ct-sidebar .wp-block-latest-posts li a {
  color: var(--nhy-gray-dark, #2A2A2A) !important;
  text-decoration: none !important;
  font-weight: 500;
  line-height: 1.5;
  transition: color 0.2s;
}
body.blog .ct-sidebar .wp-block-latest-posts li a:hover,
body.archive .ct-sidebar .wp-block-latest-posts li a:hover,
body.category .ct-sidebar .wp-block-latest-posts li a:hover,
.single-post .ct-sidebar .wp-block-latest-posts li a:hover {
  color: var(--nhy-gold, #C9A84C) !important;
}

/* WooCommerce product categories */
body.blog .ct-sidebar .wc-block-product-categories-list,
body.archive .ct-sidebar .wc-block-product-categories-list,
body.category .ct-sidebar .wc-block-product-categories-list,
.single-post .ct-sidebar .wc-block-product-categories-list {
  padding: 8px 20px 12px !important;
  margin: 0 !important;
  list-style: none !important;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item,
body.archive .ct-sidebar .wc-block-product-categories-list-item,
body.category .ct-sidebar .wc-block-product-categories-list-item,
.single-post .ct-sidebar .wc-block-product-categories-list-item {
  font-family: 'Inter', 'Noto Sans SC', sans-serif !important;
  font-size: 13px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(224,224,224,0.5) !important;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item:last-child,
body.archive .ct-sidebar .wc-block-product-categories-list-item:last-child,
body.category .ct-sidebar .wc-block-product-categories-list-item:last-child,
.single-post .ct-sidebar .wc-block-product-categories-list-item:last-child {
  border-bottom: none !important;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item a,
body.archive .ct-sidebar .wc-block-product-categories-list-item a,
body.category .ct-sidebar .wc-block-product-categories-list-item a,
.single-post .ct-sidebar .wc-block-product-categories-list-item a {
  color: var(--nhy-gray-dark, #2A2A2A) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item a:hover,
body.archive .ct-sidebar .wc-block-product-categories-list-item a:hover,
body.category .ct-sidebar .wc-block-product-categories-list-item a:hover,
.single-post .ct-sidebar .wc-block-product-categories-list-item a:hover {
  color: var(--nhy-gold, #C9A84C) !important;
}
body.blog .ct-sidebar .wc-block-product-categories-list-item-count,
body.archive .ct-sidebar .wc-block-product-categories-list-item-count,
body.category .ct-sidebar .wc-block-product-categories-list-item-count,
.single-post .ct-sidebar .wc-block-product-categories-list-item-count {
  font-size: 11px !important;
  color: var(--nhy-gray-light, #999) !important;
}

/* Best Selling Products */
body.blog .ct-sidebar .wp-block-woocommerce-product-collection,
body.archive .ct-sidebar .wp-block-woocommerce-product-collection,
body.category .ct-sidebar .wp-block-woocommerce-product-collection,
.single-post .ct-sidebar .wp-block-woocommerce-product-collection {
  padding: 12px 20px 16px !important;
}

/* Related posts section */
.single-post .ct-related-posts-container {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid var(--nhy-gray-border, #E0E0E0);
}
.single-post .ct-related-posts-container .ct-module-title {
  font-family: 'Montserrat', 'Noto Sans SC', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--nhy-black, #0A0A0A) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}


/* =============================================
   7. RESPONSIVE
   ============================================= */
@media (max-width: 999px) {
  .single-post .entry-content h1 { font-size: 1.75em; }
  .single-post .entry-content h2 { font-size: 1.4em; }
  .single-post .entry-content h3 { font-size: 1.2em; }
  .single-post .entry-header .page-title,
  .single-post .hero-section .page-title { font-size: 26px !important; }
  .nhy-toc-body { max-height: 400px; }
}
@media (max-width: 689px) {
  .single-post .entry-content { font-size: 15px; line-height: 1.8; }
  .single-post .entry-content h1 { font-size: 1.5em; }
  .single-post .entry-content h2 { font-size: 1.3em; }
  .single-post .entry-content h3 { font-size: 1.15em; }
  .single-post .entry-header .page-title,
  .single-post .hero-section .page-title { font-size: 22px !important; }
  .nhy-blog-cta { padding: 24px 20px !important; }
  .nhy-blog-cta h4 { font-size: 16px; }
}
@media (min-width: 1800px) {
  .single-post .entry-content { font-size: 17px; }
  .single-post .entry-header .page-title,
  .single-post .hero-section .page-title { font-size: 38px !important; }
}



 8. ARTICLE CUSTOM COMPONENTS
   文章自定义组件 
   包含：引言框 / 章节标签 / 概览网格 /
         badge 标签 / 提示框 / 参考来源
   ============================================= */

/* ── 引言框 ── */
.nhy-art-intro {
  border-left: 3px solid var(--nhy-gold, #C9A84C);
  background: var(--nhy-gray-bg, #F5F5F3);
  padding: 18px 22px;
  margin: 0 0 2.5em 0;
  font-size: 15px;
  line-height: 1.8;
  color: #444;
}
.nhy-art-intro strong {
  color: var(--nhy-black, #0A0A0A);
}

/* ── 章节小标签 ── */
.nhy-art-tag {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--nhy-gold, #C9A84C);
  background: rgba(201, 168, 76, 0.10);
  border: 1px solid rgba(201, 168, 76, 0.25);
  padding: 3px 10px;
  margin-bottom: 10px;
  border-radius: 2px;
}

/* ── 概览网格 ── */
.nhy-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--nhy-gray-border, #E0E0E0);
  border: 1px solid var(--nhy-gray-border, #E0E0E0);
  margin-bottom: 2.5em;
  overflow: hidden;
}
.nhy-overview-item {
  background: var(--nhy-white, #FFFFFF);
  padding: 18px 16px;
  text-align: center;
}
.nhy-overview-item-num {
  font-family: 'Space Mono', monospace;
  font-size: 11px;
  color: var(--nhy-gold, #C9A84C);
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.nhy-overview-item-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--nhy-black, #0A0A0A);
  line-height: 1.3;
}
.nhy-overview-item-sub {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: var(--nhy-gray-light, #999);
  margin-top: 4px;
}

/* ── Badge 标签行 ── */
.nhy-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0.5em 0 1.8em 0;
}

/* 默认灰色 */
.nhy-badge {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 11px;
  border-radius: 2px;
  background: var(--nhy-gray-bg, #F5F5F3);
  color: var(--nhy-gray-dark, #2A2A2A);
  border: 1px solid var(--nhy-gray-border, #E0E0E0);
  line-height: 1.4;
}

/* 金色变体 */
.nhy-badge-gold {
  background: rgba(201, 168, 76, 0.10);
  color: #7a5f1e;
  border-color: rgba(201, 168, 76, 0.30);
}

/* 深色变体 */
.nhy-badge-dark {
  background: var(--nhy-black-soft, #1A1A1A);
  color: var(--nhy-gray-border, #E0E0E0);
  border-color: #333;
}

/* ── 提示框 ── */
.nhy-art-note {
  border-left: 3px solid var(--nhy-gold, #C9A84C);
  background: var(--nhy-gray-bg, #F5F5F3);
  padding: 16px 20px;
  margin: 2em 0;
  font-size: 14px;
  line-height: 1.75;
  color: #555;
}
.nhy-art-note strong {
  color: var(--nhy-black, #0A0A0A);
  font-weight: 600;
}

/* ── 参考来源 ── */
.nhy-art-ref {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--nhy-gray-light, #999);
  border-top: 1px solid var(--nhy-gray-border, #E0E0E0);
  padding-top: 16px;
  margin-top: 2.5em;
  line-height: 1.7;
}

/* ── 响应式 ── */
@media (max-width: 600px) {
  .nhy-overview-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .nhy-art-intro {
    padding: 14px 16px;
    font-size: 14px;
  }
}

/* ── 概览网格图标 ── */
.nhy-overview-icon {
  width: 36px;
  height: 36px;
  margin: 0 auto 8px auto;
}
.nhy-overview-icon svg {
  width: 36px;
  height: 36px;
}
