/* === 强制覆盖主题默认样式 (v1.9) === */
.ast-site-identity .site-title a {
  color: #2C2C2C !important;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.ast-site-identity .site-title a:hover {
  color: #C03312 !important;
}
a {
  color: #4A628A;
}
a:hover, a:focus {
  color: #C03312;
}
/* === 强制覆盖结束 === */

/* ========================================
   花间美学 · 全站中式美学样式 v1.8
   配色：朱砂红 #C03312 / 青瓷色 #7FBFB0 / 宣纸白 #F7F5F0
         墨色 #2C2C2C / 黛色 #4A628A / 赤金 #B8860B
   ======================================== */


/* === 宣纸纹理定义 (v1.9) === */
:root {
  --bg-xuan:
    radial-gradient(ellipse at 15% 25%, rgba(200,190,170,0.05) 0%, transparent 50%),
    radial-gradient(ellipse at 85% 75%, rgba(190,180,160,0.04) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 10%, rgba(210,200,180,0.03) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 50%, rgba(195,185,165,0.03) 0%, transparent 40%),
    #F7F5F0;
  --bg-silk:
    radial-gradient(ellipse at 25% 65%, rgba(205,195,175,0.04) 0%, transparent 50%),
    radial-gradient(ellipse at 75% 35%, rgba(200,190,170,0.03) 0%, transparent 45%),
    #FDFCF9;
}

/* === 全局基础 === */
body, .ast-separate-container {
  font-family: &#039;Noto Serif SC&#039;, &#039;Source Han Serif SC&#039;, &#039;思源宋体&#039;, &#039;STSong&#039;, serif;
  color: #2C2C2C;
  background: var(--bg-silk);
}
a { color: #4A628A; transition: color 0.3s; }
a:hover { color: #C03312; }

/* === 导航栏 === */
.ast-primary-header-bar,
.site-header {
  background: rgba(253,252,250,0.95) !important;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #e8e0d4 !important;
}
.main-navigation a,
.ast-header-breakpoint .main-navigation a {
  color: #2C2C2C !important;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  font-weight: 500;
}
.main-navigation a:hover,
.main-navigation .current-menu-item &gt; a {
  color: #C03312 !important;
}
.site-title a {
  color: #2C2C2C !important;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.site-description { color: #4A628A !important; }

/* === 容器 === */
.florint-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* === 全屏 Hero === */
.florint-hero-full {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #1a1a1a 0%, #2C2C2C 30%, #3a5070 60%, #2C2C2C 85%, #1a1a1a 100%);
  overflow: hidden;
}
.florint-hero-full::before {
  content: &#039;&#039;;
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(192,51,18,0.08) 0%, transparent 60%),
              radial-gradient(ellipse at 70% 30%, rgba(127,191,176,0.06) 0%, transparent 50%);
  pointer-events: none;
}
.florint-hero-overlay {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 3rem 2rem;
}
.florint-hero-content { max-width: 700px; margin: 0 auto; }
.florint-hero-content h1 {
  font-size: 3.2rem;
  color: #F7F5F0;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-bottom: 1rem;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
.florint-hero-content .florint-hero-poem {
  font-size: 1.15rem;
  color: rgba(247,245,240,0.75);
  line-height: 2;
  letter-spacing: 0.15em;
  margin-bottom: 2rem;
  font-style: italic;
}
.florint-hero-content .florint-hero-subtitle {
  font-size: 1rem;
  color: rgba(247,245,240,0.6);
  letter-spacing: 0.1em;
  margin-bottom: 2.5rem;
}
.florint-hero-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.florint-hero-btns a {
  padding: 0.7rem 2rem;
  border-radius: 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: all 0.3s;
}
.florint-hero-btns a:first-child {
  background: linear-gradient(135deg, #C03312, #C03312);
  color: #fff !important;
}
.florint-hero-btns a:first-child:hover {
  background: linear-gradient(135deg, #a02a0e, #C03312);
  box-shadow: 0 4px 16px rgba(192,51,18,0.4);
}
.florint-hero-btns a:last-child {
  border: 1px solid rgba(247,245,240,0.4);
  color: #F7F5F0 !important;
}
.florint-hero-btns a:last-child:hover {
  background: rgba(247,245,240,0.1);
  border-color: rgba(247,245,240,0.6);
}

/* === 理念区 === */
.florint-philosophy {
  padding: 4rem 1.5rem;
  background: var(--bg-xuan);
  text-align: center;
}
.florint-philosophy h2 {
  font-size: 1.8rem;
  color: #2C2C2C;
  margin-bottom: 0.5rem;
  letter-spacing: 0.1em;
}
.florint-philosophy &gt; p {
  color: #999;
  font-size: 0.95rem;
  margin-bottom: 2.5rem;
}
.florint-philosophy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
}
.florint-philosophy-card {
  background: var(--bg-xuan);
  border: 1px solid #e8e0d4;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  transition: all 0.3s;
}
.florint-philosophy-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  border-color: #B8860B;
}
.florint-philosophy-card h3 {
  color: #C03312;
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
}
.florint-philosophy-card p {
  color: #4A628A;
  font-size: 0.9rem;
  line-height: 1.7;
}

/* === 首页课程区 === */
.florint-courses-home {
  padding: 4rem 1.5rem;
  background: #ffffff;
  text-align: center;
}
.florint-courses-home h2 {
  font-size: 1.8rem;
  color: #2C2C2C;
  margin-bottom: 2.5rem;
  letter-spacing: 0.1em;
}

/* === 精选推荐区 === */
.florint-featured {
  padding: 4rem 1.5rem;
  background: var(--bg-xuan);
}
.florint-featured h2 {
  text-align: center;
  font-size: 1.8rem;
  color: #2C2C2C;
  margin-bottom: 2rem;
  letter-spacing: 0.1em;
}


/* === 精选推荐卡片网格 (v1.8 新增) === */
.featured-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.featured-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  min-height: 280px;
  background: #2C2C2C;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.featured-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.18);
}
.featured-item.featured-large {
  grid-row: span 2;
  min-height: 580px;
}

.featured-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.featured-bg.featured-colors {
  background: linear-gradient(135deg, #2C2C2C 0%, #4A628A 40%, #3a5070 70%, #1a1a1a 100%);
}
.featured-bg.featured-whispers {
  background: linear-gradient(135deg, #3a5070 0%, #4A628A 50%, #2C2C2C 100%);
}
.featured-bg.featured-books {
  background: linear-gradient(135deg, #1a1a1a 0%, #2C2C2C 50%, #3a5070 100%);
}

.featured-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 2.5rem;
  color: #F7F5F0;
}
.featured-item.featured-large .featured-content {
  padding: 3rem;
}

.featured-tag {
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #B8860B;
  margin-bottom: 0.8rem;
  font-weight: 600;
}

.featured-content h3 {
  font-size: 1.5rem;
  color: #F7F5F0;
  margin-bottom: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.featured-item.featured-large .featured-content h3 {
  font-size: 2rem;
}

.featured-content p {
  font-size: 0.9rem;
  color: rgba(247,245,240,0.75);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}

.featured-link {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  border: 1px solid rgba(247,245,240,0.4);
  border-radius: 2rem;
  color: #F7F5F0 !important;
  text-decoration: none;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  transition: all 0.3s;
  align-self: flex-start;
}
.featured-link:hover {
  background: rgba(247,245,240,0.12);
  border-color: #B8860B;
  color: #B8860B !important;
}

@media (max-width: 768px) {
  .featured-grid {
    grid-template-columns: 1fr;
  }
  .featured-item.featured-large {
    grid-row: span 1;
    min-height: 320px;
  }
  .featured-item {
    min-height: 220px;
  }
}
/* === 花间蜜语首页区 === */
.florint-whispers-home {
  padding: 4rem 1.5rem;
  background: #ffffff;
  text-align: center;
}
.florint-whispers-home h2 {
  font-size: 1.8rem;
  color: #2C2C2C;
  margin-bottom: 2rem;
  letter-spacing: 0.1em;
}

/* === CTA区 === */
.florint-cta {
  padding: 4rem 1.5rem;
  background: linear-gradient(135deg, #4A628A 0%, #2C2C2C 100%);
  text-align: center;
}
.florint-cta h2 {
  color: #F7F5F0;
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
  letter-spacing: 0.1em;
}
.florint-cta p {
  color: rgba(247,245,240,0.7);
  margin-bottom: 2rem;
  font-size: 0.95rem;
}
.florint-cta a {
  display: inline-block;
  padding: 0.7rem 2rem;
  border-radius: 2rem;
  background: linear-gradient(135deg, #C03312, #C03312);
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.1em;
  transition: all 0.3s;
}
.florint-cta a:hover {
  box-shadow: 0 4px 16px rgba(192,51,18,0.4);
  transform: scale(1.03);
}

/* === 自定义页脚 === */
.florint-footer-custom {
  background: linear-gradient(180deg, #2C2C2C 0%, #1a1a1a 100%);
  color: rgba(247,245,240,0.7);
  padding: 0;
  font-size: 0.9rem;
  position: relative;
}
.florint-footer-custom::before {
  content: &#039;&#039;;
  display: block;
  height: 3px;
  background: linear-gradient(90deg, #C03312, #B8860B, #7FBFB0, #4A628A, #C03312);
}
.florint-footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 3rem 1.5rem 1.5rem;
}
.florint-footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}
.florint-footer-col h4 {
  color: #F7F5F0;
  font-size: 1rem;
  margin-bottom: 1rem;
  letter-spacing: 0.08em;
}
.florint-footer-col a {
  color: rgba(247,245,240,0.6);
  text-decoration: none;
  display: block;
  padding: 0.25rem 0;
  font-size: 0.85rem;
  transition: color 0.3s;
}
.florint-footer-col a:hover { color: #C03312; }
.florint-footer-brand h3 {
  color: #C03312;
  font-size: 1.3rem;
  letter-spacing: 0.12em;
  margin-bottom: 0.5rem;
}
.florint-footer-tagline {
  color: #B8860B;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  margin-bottom: 0.8rem;
}
.florint-footer-desc {
  font-size: 0.82rem;
  line-height: 1.8;
  color: rgba(247,245,240,0.5);
}
.florint-footer-quote {
  text-align: center;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(247,245,240,0.1);
  border-bottom: 1px solid rgba(247,245,240,0.1);
  margin-bottom: 1.5rem;
}
.florint-footer-quote span {
  color: #B8860B;
  font-size: 1.5rem;
  vertical-align: middle;
}
.florint-footer-quote em {
  color: rgba(247,245,240,0.5);
  font-style: italic;
  font-size: 0.9rem;
  margin: 0 0.5rem;
  letter-spacing: 0.05em;
}
.florint-footer-bottom {
  text-align: center;
  font-size: 0.8rem;
  color: rgba(247,245,240,0.4);
}
.florint-footer-bottom p { margin-bottom: 0.3rem; }
.florint-footer-bottom a {
  color: rgba(247,245,240,0.5);
  text-decoration: none;
}
.florint-footer-bottom a:hover { color: #C03312; }

@media (max-width: 768px) {
  .florint-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media (max-width: 480px) {
  .florint-footer-grid { grid-template-columns: 1fr; }
}

/* === 页面标题 === */
.entry-title,
.page-title,
.ast-archive-page-title h1 {
  text-align: center;
  font-size: 2rem;
  color: #2C2C2C;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.page-id .entry-title {
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}
.page-id .entry-title::after {
  content: &#039;&#039;;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #C03312, #B8860B);
}

/* === Astra 覆盖 === */
.ast-hidden-widget { display: none !important; }
footer.ast-footer { display: none !important; }
.site-footer { display: none !important; }

/* ==========================================
   花间课程页面 v1.1（优化版）
   ========================================== */
.florint-course-hero {
  text-align: center;
  padding: 4rem 1.5rem 2.5rem;
  background: linear-gradient(180deg, rgba(192,51,18,0.04) 0%, rgba(184,134,11,0.02) 50%, transparent 100%);
  border-bottom: 1px solid #e8e0d4;
  margin-bottom: 2.5rem;
  position: relative;
}
.florint-course-hero::after {
  content: &#039;&#039;;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #C03312, transparent);
}
.florint-course-hero h2 {
  font-size: 2.2rem;
  color: #C03312;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-bottom: 0.6rem;
}
.florint-course-subtitle {
  font-size: 1.05rem;
  color: #B8860B;
  letter-spacing: 0.2em;
  margin-bottom: 1.2rem;
  font-weight: 500;
}
.florint-course-hero &gt; p:last-child {
  color: #4A628A;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.9;
  font-size: 0.95rem;
}

.florint-course-tier {
  margin-bottom: 3.5rem;
  padding: 0 1.5rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.florint-course-tier-header {
  text-align: center;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e8e0d4;
  position: relative;
}
.florint-course-tier-header::after {
  content: &#039;&#039;;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #C03312, #B8860B);
}
.florint-course-tier-num {
  display: inline-block;
  background: linear-gradient(135deg, #C03312, #C03312);
  color: #fff;
  padding: 0.3rem 1.2rem;
  border-radius: 2rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 0.8rem;
}
.florint-course-tier-header h3 {
  font-size: 1.6rem;
  color: #2C2C2C;
  margin: 0.6rem 0 0.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.florint-course-tier-header &gt; p {
  color: #999;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
}

.florint-course-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
}
.florint-course-card {
  background: var(--bg-xuan);
  border: 1px solid #e8e0d4;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}
.florint-course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border-color: #C03312;
}
.florint-course-card-highlight {
  border-color: #C03312;
  background: linear-gradient(180deg, #fff8f6 0%, #F7F5F0 100%), var(--bg-xuan);
  box-shadow: 0 2px 12px rgba(192,51,18,0.06);
}
.florint-course-card-master {
  border-color: #B8860B;
  background: linear-gradient(180deg, #fffdf5 0%, #F7F5F0 100%), var(--bg-xuan);
  max-width: 500px;
  margin: 0 auto;
  box-shadow: 0 2px 12px rgba(184,134,11,0.06);
}
.florint-course-badge {
  position: absolute;
  top: -12px;
  right: 20px;
  background: linear-gradient(135deg, #C03312, #C03312);
  color: #fff;
  padding: 0.25rem 0.8rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  box-shadow: 0 2px 8px rgba(192,51,18,0.3);
}
.florint-course-card-master .florint-course-badge {
  background: linear-gradient(135deg, #B8860B, #B8860B);
  box-shadow: 0 2px 8px rgba(184,134,11,0.3);
}
.florint-course-card h4 {
  font-size: 1.2rem;
  color: #2C2C2C;
  margin-bottom: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.florint-course-desc {
  color: #4A628A;
  font-size: 0.9rem;
  line-height: 1.8;
  margin-bottom: 0.8rem;
  flex-grow: 1;
}
.florint-course-meta {
  color: #999;
  font-size: 0.85rem;
  margin-bottom: 0.8rem;
}
.florint-course-highlights {
  text-align: left;
  list-style: none;
  padding: 0;
  margin: 0.8rem 0;
}
.florint-course-highlights li {
  padding: 0.35rem 0;
  font-size: 0.88rem;
  color: #4A628A;
  border-bottom: 1px dashed #e8e0d4;
  line-height: 1.6;
}
.florint-course-highlights li:last-child { border-bottom: none; }
.florint-course-highlights li::before {
  content: &#039;◆ &#039;;
  color: #C03312;
  font-size: 0.65rem;
  margin-right: 0.2rem;
}
.florint-course-card-master .florint-course-highlights li::before {
  color: #B8860B;
}
.florint-course-price {
  font-size: 2rem;
  font-weight: 800;
  color: #C03312;
  margin: 0.8rem 0 0.3rem;
  letter-spacing: 0.02em;
}
.florint-course-price span {
  font-size: 0.85rem;
  font-weight: 400;
  color: #999;
}
.florint-course-price-sale {
  color: #C03312;
}
.florint-course-price-sale del {
  color: #bbb;
  font-size: 1.1rem;
  font-weight: 400;
  margin-right: 0.3rem;
}
.florint-course-price-note {
  font-size: 0.8rem;
  color: #B8860B;
  margin-bottom: 0.5rem;
  font-weight: 500;
}
.florint-course-btn {
  display: inline-block;
  background: linear-gradient(135deg, #C03312, #C03312);
  color: #fff !important;
  padding: 0.65rem 2.2rem;
  border-radius: 2rem;
  text-decoration: none !important;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin-top: 0.8rem;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(192,51,18,0.15);
}
.florint-course-btn:hover {
  background: linear-gradient(135deg, #a02a0e, #C03312);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(192,51,18,0.3);
}
.florint-course-card-master .florint-course-btn {
  background: linear-gradient(135deg, #B8860B, #B8860B);
  box-shadow: 0 2px 8px rgba(184,134,11,0.15);
}
.florint-course-card-master .florint-course-btn:hover {
  background: linear-gradient(135deg, #9a7209, #B8860B);
  box-shadow: 0 6px 16px rgba(184,134,11,0.3);
}
.florint-course-note {
  text-align: center;
  color: #999;
  font-size: 0.85rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed #e8e0d4;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.7;
}
.florint-course-footer {
  max-width: 800px;
  margin: 2rem auto 3rem;
  padding: 2rem;
  background: var(--bg-xuan);
  border: 1px solid #e8e0d4;
  border-radius: 12px;
}
.florint-course-footer h3 {
  text-align: center;
  color: #2C2C2C;
  font-size: 1.3rem;
  margin-bottom: 1.2rem;
  position: relative;
  padding-bottom: 0.8rem;
  letter-spacing: 0.08em;
}
.florint-course-footer h3::after {
  content: &#039;&#039;;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, #C03312, #B8860B);
}
.florint-course-footer p {
  color: #4A628A;
  font-size: 0.9rem;
  line-height: 1.8;
  padding-left: 1rem;
  border-left: 3px solid #e8e0d4;
  margin-bottom: 0.8rem;
}
.florint-course-footer p:hover {
  border-left-color: #C03312;
}

@media (max-width: 768px) {
  .florint-course-hero h2 { font-size: 1.6rem; }
  .florint-course-hero { padding: 3rem 1rem 2rem; }
  .florint-course-cards { grid-template-columns: 1fr; gap: 1.2rem; }
  .florint-course-card-master { max-width: 100%; }
  .florint-course-price { font-size: 1.6rem; }
  .florint-course-tier-header h3 { font-size: 1.3rem; }
}

/* ==========================================
   书刊资材页面 v1.1（优化版）
   ========================================== */
.florint-book-hero {
  text-align: center;
  padding: 4rem 1.5rem 2.5rem;
  background: linear-gradient(180deg, rgba(74,98,138,0.04) 0%, rgba(127,191,176,0.02) 50%, transparent 100%);
  border-bottom: 1px solid #e8e0d4;
  margin-bottom: 2.5rem;
  position: relative;
}
  height: 2px;
  background: linear-gradient(90deg, transparent, #4A628A, transparent);
}
.florint-book-hero h2 {
  font-size: 2.2rem;
  color: #4A628A;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-bottom: 0.6rem;
}
.florint-book-subtitle {
  font-size: 1.05rem;
  color: #B8860B;
  letter-spacing: 0.2em;
  margin-bottom: 1.2rem;
  font-weight: 500;
}
.florint-book-hero &gt; p:last-child {
  color: #4A628A;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.9;
  font-size: 0.95rem;
}
.florint-book-section {
  max-width: 1100px;
  margin: 0 auto 3rem;
  padding: 0 1.5rem;
}
.florint-book-section-title {
  text-align: center;
  font-size: 1.5rem;
  color: #2C2C2C;
  margin-bottom: 2rem;
  position: relative;
  padding-bottom: 0.8rem;
  letter-spacing: 0.08em;
}
.florint-book-section-title::after {
  content: &#039;&#039;;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #4A628A, #7FBFB0);
}
.florint-book-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}
.florint-book-card {
  background: var(--bg-xuan);
  border: 1px solid #e8e0d4;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}
.florint-book-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border-color: #4A628A;
}
.florint-book-cover {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.florint-book-cover::after {
  content: &#039;&#039;;
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.05);
}
.florint-book-cover-text {
  color: rgba(255,255,255,0.9);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
  z-index: 1;
}
.florint-book-info {
  padding: 1.2rem 1.5rem 1.5rem;
  text-align: center;
}
.florint-book-info h4 {
  font-size: 1.1rem;
  color: #2C2C2C;
  margin-bottom: 0.3rem;
  letter-spacing: 0.05em;
}
.florint-book-author {
  color: #999;
  font-size: 0.85rem;
  margin-bottom: 0.6rem;
}
.florint-book-desc {
  color: #4A628A;
  font-size: 0.88rem;
  line-height: 1.7;
  margin-bottom: 0.8rem;
}
.florint-book-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: #C03312;
  margin-bottom: 0.5rem;
}
.florint-book-btn {
  display: inline-block;
  background: linear-gradient(135deg, #4A628A, #5d7ba6);
  color: #fff !important;
  padding: 0.5rem 1.5rem;
  border-radius: 2rem;
  text-decoration: none !important;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(74,98,138,0.15);
}
.florint-book-btn:hover {
  background: linear-gradient(135deg, #3a5070, #4A628A);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(74,98,138,0.3);
}
.florint-book-note {
  text-align: center;
  color: #4A628A;
  font-size: 0.9rem;
  line-height: 1.8;
  padding: 1.5rem;
  background: var(--bg-xuan);
  border: 1px dashed #e8e0d4;
  border-radius: 12px;
}
@media (max-width: 768px) {
  .florint-book-hero h2 { font-size: 1.6rem; }
  .florint-book-grid { grid-template-columns: repeat(2, 1fr); }
  .florint-book-cover { height: 140px; }
  .florint-book-cover-text { font-size: 1.1rem; }
}
@media (max-width: 480px) {
  .florint-book-grid { grid-template-columns: 1fr; }
}

/* ==================== 花间社区 (bbPress) 中式美学样式 ==================== */

/* 社区整体容器 */
#bbpress-forums {
  font-size: 1.15rem;
  line-height: 1.7;
}

/* 搜索框 */
#bbpress-forums .bbp-search-form {
  margin-bottom: 1.5rem;
}
#bbpress-forums .bbp-search-form input[type=&quot;text&quot;] {
  font-size: 1.05rem;
  padding: 0.6rem 1rem;
  border: 1px solid #d4c5a9;
  border-radius: 8px;
  background: var(--bg-silk);
  color: #2C2C2C;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
#bbpress-forums .bbp-search-form input[type=&quot;text&quot;]:focus {
  border-color: #7FBFB0;
  box-shadow: 0 0 0 3px rgba(127, 191, 176, 0.15);
  outline: none;
}
#bbpress-forums .bbp-search-form input[type=&quot;submit&quot;] {
  font-size: 1.05rem;
  padding: 0.6rem 1.5rem;
  background: #7FBFB0;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease;
}
#bbpress-forums .bbp-search-form input[type=&quot;submit&quot;]:hover {
  background: #5a9f8f;
}

/* 表头行 */
#bbpress-forums .bbp-header {
  background: linear-gradient(135deg, #4A628A 0%, #3a5070 100%);
  border-radius: 10px 10px 0 0;
  padding: 0.8rem 0;
  margin-bottom: 0;
}
#bbpress-forums .bbp-header .forum-titles {
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
#bbpress-forums .bbp-header li {
  color: #F7F5F0 !important;
  font-size: 1.15rem;
  padding: 0.6rem 1rem;
  border: none !important;
}

/* 论坛列表项 */
#bbpress-forums .bbp-body &gt; ul {
  background: var(--bg-silk);
  border: 1px solid #e8e0d4;
  border-radius: 10px;
  margin-bottom: 1rem;
  padding: 1rem 0;
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
#bbpress-forums .bbp-body &gt; ul:hover {
  box-shadow: 0 4px 16px rgba(74, 98, 138, 0.08);
  transform: translateY(-1px);
}

/* 论坛标题 */
#bbpress-forums .bbp-forum-title {
  font-size: 1.35rem !important;
  font-weight: 700;
  color: #4A628A !important;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
  display: inline-block;
  padding-bottom: 0.3rem;
  border-bottom: 2px solid transparent;
}
#bbpress-forums .bbp-forum-title:hover {
  color: #C03312 !important;
  border-bottom-color: #C03312;
}

/* 论坛描述 */
#bbpress-forums .bbp-forum-content {
  font-size: 1.05rem !important;
  color: #4A628A;
  line-height: 1.6;
  margin-top: 0.4rem;
}

/* 话题数 / 帖子数 */
#bbpress-forums .bbp-forum-topic-count,
#bbpress-forums .bbp-forum-reply-count {
  font-size: 1.1rem !important;
  color: #2C2C2C;
  text-align: center;
  font-weight: 500;
}

/* 最后发表信息 */
#bbpress-forums .bbp-forum-freshness {
  font-size: 1.0rem !important;
  color: #4A628A;
}
#bbpress-forums .bbp-forum-freshness a {
  font-size: 1.0rem;
  color: #4A628A;
  text-decoration: none;
  transition: color 0.3s ease;
}
#bbpress-forums .bbp-forum-freshness a:hover {
  color: #C03312;
}

/* 话题元信息（作者等） */
#bbpress-forums .bbp-topic-meta {
  font-size: 0.95rem;
  color: #999;
  margin-top: 0.3rem;
}
#bbpress-forums .bbp-author-name {
  font-size: 0.95rem;
  color: #4A628A;
}
#bbpress-forums .bbp-author-link {
  text-decoration: none;
  color: #4A628A;
}
#bbpress-forums .bbp-author-link:hover {
  color: #C03312;
}

/* 论坛列表网格对齐 */
#bbpress-forums .bbp-body .bbp-forum-info {
  padding: 0.8rem 1rem;
}
#bbpress-forums .bbp-body .bbp-forum-topic-count,
#bbpress-forums .bbp-body .bbp-forum-reply-count,
#bbpress-forums .bbp-body .bbp-forum-freshness {
  padding: 0.8rem 0.6rem;
  display: flex;
  align-items: center;
}

/* ===== 帖子列表页（进入某个板块后）===== */

/* 帖子标题 */
#bbpress-forums .bbp-topic-title {
  font-size: 1.25rem !important;
  font-weight: 600;
}
#bbpress-forums .bbp-topic-title a {
  font-size: 1.25rem !important;
  color: #4A628A;
  text-decoration: none;
  transition: color 0.3s ease;
}
#bbpress-forums .bbp-topic-title a:hover {
  color: #C03312;
}

/* 帖子内容/回复 */
#bbpress-forums .bbp-topic-content,
#bbpress-forums .bbp-reply-content {
  font-size: 1.1rem !important;
  line-height: 1.8;
  color: #2C2C2C;
}

/* 帖子/回复的元信息 */
#bbpress-forums .bbp-topic-meta,
#bbpress-forums .bbp-reply-meta {
  font-size: 1rem !important;
}

/* 分页 */
#bbpress-forums .bbp-pagination {
  font-size: 1rem;
}
#bbpress-forums .bbp-pagination a,
#bbpress-forums .bbp-pagination span {
  font-size: 1rem;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
}

/* 新建话题/回复按钮 */
#bbpress-forums a.bbp-new-topic,
#bbpress-forums a.bbp-new-reply,
#bbpress-forums .button.submit {
  background: linear-gradient(135deg, #C03312 0%, #C03312 100%);
  color: #fff !important;
  padding: 0.7rem 1.5rem;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  border: none;
  transition: all 0.3s ease;
}
#bbpress-forums a.bbp-new-topic:hover,
#bbpress-forums a.bbp-new-reply:hover,
#bbpress-forums .button.submit:hover {
  background: linear-gradient(135deg, #a02a0e 0%, #b8402a 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(192, 51, 18, 0.2);
}

/* 表单输入 */
#bbpress-forums input[type=&quot;text&quot;],
#bbpress-forums input[type=&quot;url&quot;],
#bbpress-forums input[type=&quot;email&quot;],
#bbpress-forums textarea {
  font-size: 1.05rem !important;
  padding: 0.7rem 1rem;
  border: 1px solid #d4c5a9;
  border-radius: 8px;
  background: var(--bg-silk);
  color: #2C2C2C;
}
#bbpress-forums textarea:focus,
#bbpress-forums input:focus {
  border-color: #7FBFB0;
  box-shadow: 0 0 0 3px rgba(127, 191, 176, 0.15);
  outline: none;
}

/* 面包屑导航 */
#bbpress-forums .bbp-breadcrumb {
  font-size: 1.05rem;
  margin-bottom: 1.2rem;
  color: #4A628A;
}
#bbpress-forums .bbp-breadcrumb a {
  color: #4A628A;
  text-decoration: none;
}
#bbpress-forums .bbp-breadcrumb a:hover {
  color: #C03312;
}

/* 社区响应式 */
@media (max-width: 768px) {
  #bbpress-forums {
    font-size: 1.05rem;
  }
  #bbpress-forums .bbp-forum-title {
    font-size: 1.2rem !important;
  }
  #bbpress-forums .bbp-forum-content {
    font-size: 0.95rem !important;
  }
  #bbpress-forums .bbp-header li {
    font-size: 1rem;
  }
}

/* ==================== 课程详情页样式 ==================== */

/* 详情页 Hero */
.florint-detail-hero {
  text-align: center;
  padding: 3rem 1.5rem 2rem;
  background: var(--bg-xuan);
  border-bottom: 1px solid #e8e0d4;
  margin-bottom: 2rem;
}
.florint-detail-hero h2 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #2C2C2C;
  margin-bottom: 0.5rem;
  letter-spacing: 2px;
}
.florint-detail-subtitle {
  font-size: 1.2rem;
  color: #4A628A;
  margin-bottom: 0.5rem;
  letter-spacing: 1px;
}
.florint-detail-tier {
  font-size: 0.95rem;
  color: #999;
  letter-spacing: 1px;
}

/* 详情页内容区块 */
.florint-detail-section {
  max-width: 860px;
  margin: 0 auto 2.5rem;
  padding: 0 1.5rem;
}
.florint-detail-section h3 {
  font-size: 1.5rem;
  color: #4A628A;
  border-left: 4px solid #C03312;
  padding-left: 0.8rem;
  margin-bottom: 1.2rem;
  margin-top: 0;
}
.florint-detail-section p {
  font-size: 1.08rem;
  line-height: 1.9;
  color: #2C2C2C;
  margin-bottom: 0.8rem;
}
.florint-detail-section ul {
  font-size: 1.05rem;
  line-height: 1.8;
  padding-left: 1.5rem;
}
.florint-detail-section li {
  margin-bottom: 0.5rem;
  color: #444;
}

/* 大师亲授提示 */
.florint-detail-master-note {
  background: linear-gradient(135deg, #FFF8F0 0%, #FFF0E6 100%);
  border: 1px solid #e8c9a0;
  border-left: 4px solid #B8860B;
  padding: 1rem 1.2rem;
  border-radius: 8px;
  font-weight: 600;
  color: #8B6914;
  font-size: 1.05rem;
}

/* 主题卡片 */
.florint-detail-topic {
  background: var(--bg-silk);
  border: 1px solid #e8e0d4;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.2rem;
  transition: box-shadow 0.3s ease;
}
.florint-detail-topic:hover {
  box-shadow: 0 4px 16px rgba(74, 98, 138, 0.06);
}
.florint-detail-topic h4 {
  font-size: 1.25rem;
  color: #4A628A;
  margin-bottom: 0.8rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed #e8e0d4;
}
.florint-detail-topic p {
  font-size: 1.02rem;
  line-height: 1.8;
  color: #444;
}

/* 课程大纲 */
.florint-detail-syllabus {
  margin-top: 1rem;
}
.florint-syllabus-block {
  margin-bottom: 2rem;
}
.florint-syllabus-block h4 {
  font-size: 1.15rem;
  color: #C03312;
  background: linear-gradient(90deg, #FFF5F3 0%, transparent 100%);
  padding: 0.6rem 1rem;
  border-radius: 8px;
  margin-bottom: 0.8rem;
}
.florint-syllabus-item {
  padding: 0.8rem 1rem 0.8rem 1.5rem;
  border-left: 2px solid #e8e0d4;
  margin-left: 0.8rem;
  margin-bottom: 0.5rem;
}
.florint-syllabus-item h5 {
  font-size: 1.08rem;
  color: #2C2C2C;
  margin-bottom: 0.3rem;
  font-weight: 600;
}
.florint-syllabus-item p {
  font-size: 0.98rem;
  color: #4A628A;
  line-height: 1.7;
  margin-bottom: 0;
}

/* 报名 CTA 区域 */
.florint-detail-cta {
  max-width: 900px;
  margin: 3rem auto;
  padding: 2rem 1.5rem;
  background: var(--bg-xuan);
  border: 1px solid #e8e0d4;
  border-radius: 16px;
  text-align: center;
}
.florint-detail-cta h3 {
  font-size: 1.6rem;
  color: #2C2C2C;
  margin-bottom: 1.5rem;
  border: none;
  padding: 0;
}
.florint-detail-cta-master {
  background: var(--bg-silk);
  border-color: #e8c9a0;
}

/* 商品卡片 */
.florint-detail-products {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
}
.florint-detail-product-card {
  background: #fff;
  border: 1px solid #e8e0d4;
  border-radius: 12px;
  padding: 1.8rem 1.5rem;
  width: 260px;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
}
.florint-detail-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(74, 98, 138, 0.1);
}
.florint-detail-product-card h4 {
  font-size: 1.2rem;
  color: #2C2C2C;
  margin-bottom: 0.5rem;
}
.florint-detail-product-card p {
  font-size: 0.95rem;
  color: #4A628A;
  margin-bottom: 0.5rem;
}
.florint-detail-product-highlight {
  border-color: #C03312;
  border-width: 2px;
  box-shadow: 0 4px 16px rgba(192, 51, 18, 0.08);
}
.florint-detail-product-master {
  border-color: #B8860B;
  border-width: 2px;
  width: 320px;
  background: linear-gradient(180deg, #FFFDF8 0%, #fff 100%);
}
.florint-detail-badge {
  display: inline-block;
  background: linear-gradient(135deg, #C03312 0%, #C03312 100%);
  color: #fff;
  font-size: 0.8rem;
  padding: 0.2rem 0.8rem;
  border-radius: 20px;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-weight: 600;
}

/* 价格 */
.florint-detail-price {
  font-size: 1.6rem !important;
  font-weight: 700;
  color: #C03312 !important;
  margin: 0.8rem 0;
}
.florint-detail-price span {
  font-size: 0.9rem;
  font-weight: 400;
  color: #999;
}
.florint-detail-price-sale del {
  font-size: 1rem;
  color: #bbb;
  font-weight: 400;
  margin-right: 0.5rem;
}
.florint-detail-meta {
  font-size: 0.88rem !important;
  color: #999 !important;
  margin-bottom: 1rem;
}
.florint-detail-note {
  font-size: 0.9rem !important;
  color: #999 !important;
  margin-top: 1rem;
}

/* 报名按钮 */
.florint-detail-btn {
  display: inline-block;
  background: linear-gradient(135deg, #C03312 0%, #C03312 100%);
  color: #fff !important;
  padding: 0.8rem 2rem;
  border-radius: 30px;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(192, 51, 18, 0.2);
}
.florint-detail-btn:hover {
  background: linear-gradient(135deg, #a02a0e 0%, #b8402a 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(192, 51, 18, 0.3);
}

/* 返回链接 */
.florint-detail-back {
  max-width: 860px;
  margin: 2rem auto;
  padding: 1.5rem;
  text-align: center;
}
.florint-detail-back a {
  font-size: 1rem;
  color: #4A628A;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.florint-detail-back a:hover {
  color: #C03312;
  background: rgba(192, 51, 18, 0.05);
}

/* 详情页响应式 */
@media (max-width: 768px) {
  .florint-detail-hero h2 { font-size: 1.6rem; }
  .florint-detail-subtitle { font-size: 1rem; }
  .florint-detail-section h3 { font-size: 1.3rem; }
  .florint-detail-products { flex-direction: column; align-items: center; }
  .florint-detail-product-card { width: 100%; max-width: 320px; }
  .florint-detail-product-master { width: 100%; max-width: 340px; }
}

/* 课程主页 - 查看详情按钮 */
.florint-course-detail-link {
  text-align: center;
  margin: 1.2rem 0 0.5rem;
}
.florint-course-detail-btn {
  display: inline-block;
  background: linear-gradient(135deg, #4A628A 0%, #3a5070 100%);
  color: #fff !important;
  padding: 0.7rem 2rem;
  border-radius: 30px;
  font-size: 1.05rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(74, 98, 138, 0.15);
}
.florint-course-detail-btn:hover {
  background: linear-gradient(135deg, #C03312 0%, #C03312 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(192, 51, 18, 0.2);
}
/* ==================== 课程详情页美化 v2.0 ==================== */

/* === Hero 区域装饰增强 === */
.florint-detail-hero {
  position: relative;
  padding: 4rem 1.5rem 3rem;
  background: 
    radial-gradient(ellipse at 20% 80%, rgba(192,51,18,0.03) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(127,191,176,0.04) 0%, transparent 50%),
    var(--bg-xuan);
  border-bottom: none;
  margin-bottom: 0;
}
.florint-detail-hero::before {
  content: &#039;◆&#039;;
  display: block;
  text-align: center;
  font-size: 0.7rem;
  color: #B8860B;
  letter-spacing: 1.2em;
  margin-bottom: 1.5rem;
  opacity: 0.6;
}
.florint-detail-hero::after {
  content: &#039;&#039;;
  display: block;
  max-width: 360px;
  margin: 2rem auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #e8e0d4 20%, #B8860B 50%, #e8e0d4 80%, transparent 100%);
}
.florint-detail-hero h2 {
  font-size: 2.4rem;
  position: relative;
  display: inline-block;
}
.florint-detail-hero h2::after {
  content: &#039;&#039;;
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #C03312, #B8860B);
  border-radius: 2px;
}
.florint-detail-subtitle {
  margin-top: 1rem;
}
.florint-detail-tier {
  display: inline-block;
  padding: 0.3rem 1.2rem;
  background: rgba(74,98,138,0.06);
  border-radius: 20px;
  border: 1px solid rgba(74,98,138,0.12);
  margin-top: 0.8rem;
}

/* === 内容区块分隔装饰 === */
.florint-detail-section {
  position: relative;
}
.florint-detail-section + .florint-detail-section::before {
  content: &#039;&#039;;
  display: block;
  max-width: 120px;
  margin: 0 auto 2.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e8e0d4, transparent);
}
.florint-detail-section + .florint-detail-section {
  padding-top: 0;
}

/* === h3 标题装饰增强 === */
.florint-detail-section &gt; h3 {
  position: relative;
  display: inline-block;
  padding-left: 1rem;
  padding-right: 0.5rem;
}
.florint-detail-section &gt; h3::before {
  content: &#039;&#039;;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 70%;
  background: linear-gradient(180deg, #C03312 0%, #B8860B 100%);
  border-radius: 2px;
}

/* === 适合人群列表美化 === */
.florint-detail-section ul {
  list-style: none;
  padding-left: 0;
}
.florint-detail-section ul li {
  position: relative;
  padding-left: 1.8rem;
  margin-bottom: 0.7rem;
}
.florint-detail-section ul li::before {
  content: &#039;❋&#039;;
  position: absolute;
  left: 0;
  top: 0;
  color: #7FBFB0;
  font-size: 0.85rem;
}

/* === 主题卡片增强（花间雅集） === */
.florint-detail-topic {
  position: relative;
  border-left: 3px solid #7FBFB0;
  padding-left: 1.5rem;
  transition: all 0.3s ease;
}
.florint-detail-topic:nth-child(2) { border-left-color: #C03312; }
.florint-detail-topic:nth-child(3) { border-left-color: #B8860B; }
.florint-detail-topic:nth-child(4) { border-left-color: #7FBFB0; }
.florint-detail-topic:hover {
  box-shadow: 0 6px 24px rgba(74, 98, 138, 0.08);
  transform: translateX(4px);
}
.florint-detail-topic h4 {
  border-bottom: 1px dashed #e8e0d4;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* === 大纲时间线美化 === */
.florint-syllabus-block {
  position: relative;
  margin-bottom: 2.5rem;
}
.florint-syllabus-block h4 {
  position: relative;
  padding-left: 1.2rem;
  font-size: 1.18rem;
  letter-spacing: 0.5px;
}
.florint-syllabus-block h4::before {
  content: &#039;&#039;;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: #C03312;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(192,51,18,0.15);
}
.florint-syllabus-item {
  position: relative;
  border-left: 2px solid #e8e0d4;
  padding: 1rem 1rem 1rem 1.8rem;
  margin-left: 0.8rem;
  margin-bottom: 0.3rem;
  transition: all 0.2s ease;
}
.florint-syllabus-item::before {
  content: &#039;&#039;;
  position: absolute;
  left: -6px;
  top: 1.3rem;
  width: 8px;
  height: 8px;
  background: var(--bg-xuan);
  border: 2px solid #7FBFB0;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.florint-syllabus-item:hover {
  background: rgba(127,191,176,0.04);
  border-radius: 0 8px 8px 0;
}
.florint-syllabus-item:hover::before {
  background: #7FBFB0;
  border-color: #7FBFB0;
}
.florint-syllabus-item h5 {
  font-size: 1.1rem;
  color: #2C2C2C;
  font-weight: 600;
  margin-bottom: 0.4rem;
}
.florint-syllabus-item h5::before {
  content: &#039;—&#039;;
  color: #7FBFB0;
  margin-right: 0.5rem;
  font-weight: 400;
}

/* === 大师亲授提示增强 === */
.florint-detail-master-note {
  position: relative;
  padding-left: 3.5rem;
}
.florint-detail-master-note::before {
  content: &#039;親&#039;;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  color: #B8860B;
  font-weight: 700;
  opacity: 0.4;
}

/* === CTA区域增强 === */
.florint-detail-cta {
  position: relative;
  overflow: hidden;
}
.florint-detail-cta::before {
  content: &#039;&#039;;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #C03312, #B8860B, #7FBFB0, #4A628A);
}
.florint-detail-cta h3 {
  position: relative;
  display: inline-block;
}
.florint-detail-cta h3::after {
  content: &#039;&#039;;
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #e8e0d4, transparent);
}

/* === 商品卡片增强 === */
.florint-detail-product-card {
  overflow: hidden;
}
.florint-detail-product-card::before {
  content: &#039;&#039;;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #e8e0d4, #e8e0d4);
  transition: background 0.3s;
}
.florint-detail-product-highlight::before {
  background: linear-gradient(90deg, #C03312, #C03312);
}
.florint-detail-product-master::before {
  background: linear-gradient(90deg, #B8860B, #d4a832);
}
.florint-detail-product-card:hover::before {
  background: linear-gradient(90deg, #7FBFB0, #5a9f8f);
}
.florint-detail-product-highlight:hover::before {
  background: linear-gradient(90deg, #a02a0e, #C03312);
}
.florint-detail-product-master:hover::before {
  background: linear-gradient(90deg, #8B6914, #B8860B);
}

/* 徽章增强 */
.florint-detail-badge {
  box-shadow: 0 2px 8px rgba(192,51,18,0.25);
  letter-spacing: 0.5px;
  padding: 0.3rem 1rem;
}

/* 价格增强 */
.florint-detail-price {
  position: relative;
  display: inline-block;
}

/* 报名按钮增强 */
.florint-detail-btn {
  position: relative;
  letter-spacing: 1px;
}
.florint-detail-btn::after {
  content: &#039; →&#039;;
  font-size: 0.9em;
  transition: transform 0.3s;
  display: inline-block;
}
.florint-detail-btn:hover::after {
  transform: translateX(3px);
}

/* === 返回链接增强 === */
.florint-detail-back {
  position: relative;
  padding-top: 2rem;
}
.florint-detail-back::before {
  content: &#039;&#039;;
  display: block;
  max-width: 200px;
  margin: 0 auto 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e8e0d4, transparent);
}
.florint-detail-back a {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.6rem 1.5rem;
  border: 1px solid #e8e0d4;
  border-radius: 30px;
  transition: all 0.3s ease;
}
.florint-detail-back a:hover {
  border-color: #C03312;
  box-shadow: 0 2px 12px rgba(192,51,18,0.08);
}

/* === 注记美化 === */
.florint-detail-note {
  text-align: center;
  font-style: italic;
}

/* === 认证/课时信息卡片化 === */
.florint-detail-section p strong {
  color: #4A628A;
}

/* === 详情页响应式增强 === */
@media (max-width: 768px) {
  .florint-detail-hero { padding: 3rem 1rem 2rem; }
  .florint-detail-hero h2 { font-size: 1.6rem; }
  .florint-detail-hero h2::after { width: 30px; }
  .florint-detail-tier { font-size: 0.85rem; }
  .florint-detail-topic { padding-left: 1rem; }
  .florint-syllabus-item { padding-left: 1.2rem; }
  .florint-detail-master-note { padding-left: 3rem; }
}


/* === 隐藏首页页面标题 (v1.6) === */
.home .entry-header,
.page-id-17 .entry-header {
  display: none !important;
}

/* === 底部板块居中修复 (v1.6) === */
.florint-footer-custom {
  text-align: center;
}
.florint-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.florint-footer-grid {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
}
.florint-footer-col {
  text-align: left;
  min-width: 200px;
}
.florint-cta .cta-content {
  max-width: 800px;
  margin: 0 auto;
}


/* ============================================================
   v2.0 全站模块化补全 + 烟雨江南配色区分
   ============================================================ */

/* === 烟雨江南 CSS 变量 === */
:root {
  --bg-xuan: #F7F5F0;
  --bg-silk: #FDFCF9;
  --yanhz-jiangnan-dai: #5A7D8A;    /* 烟雨黛 - 哲学区/链接 */
  --yanhz-jiangnan-lv:  #87A878;    /* 石绿   - 课程区 */
  --yanhz-jiangnan-sha: #ddd5c5;    /* 素砂   - 蜜语区 */
  --yanhz-jiangnan-jin: #A08545;    /* 沉金   - 精选区 */
  --yanhz-jiangnan-hui: #3D5960;    /* 烟灰   - CTA */
  --yanhz-jiangnan-mo:  #2A3F4A;    /* 墨青   - Hero */
  --yanhz-jiangnan-ye:  #1E2B35;    /* 夜墨   - Footer */
  --yanhz-zhusha: #C03312;          /* 朱砂红 - 全局强调 */
  --yanhz-chijin: #B8860B;          /* 赤金   - 全局点缀 */
}

/* ============================
   1. Hero 区 - 夜墨/墨青基调
   ============================ */
.hero-tag {
  font-size: 0.85rem;
  letter-spacing: 0.25em;
  color: rgba(247,245,240,0.6);
  margin-bottom: 0.8rem;
  font-weight: 400;
  text-transform: uppercase;
}
.hero-title {
  font-size: 3.2rem !important;
  color: #F7F5F0 !important;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-bottom: 0.8rem !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.4);
}
.hero-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}
.hero-divider span {
  display: block;
  width: 40px;
  height: 1px;
  background: rgba(247,245,240,0.3);
}
.hero-divider i {
  color: var(--yanhz-chijin);
  font-size: 1.2rem;
  font-style: normal;
}
.hero-poem {
  font-size: 1.15rem !important;
  color: rgba(247,245,240,0.8) !important;
  line-height: 2 !important;
  letter-spacing: 0.15em;
  margin-bottom: 2rem !important;
  font-style: italic;
  text-shadow: 0 1px 8px rgba(0,0,0,0.3);
}
.hero-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.hero-btn {
  padding: 0.75rem 2.2rem;
  border-radius: 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: all 0.3s;
  display: inline-block;
}
.hero-btn-primary {
  background: var(--yanhz-zhusha);
  color: #fff !important;
}
.hero-btn-primary:hover {
  background: #a02a0e;
  box-shadow: 0 4px 20px rgba(192,51,18,0.45);
  transform: translateY(-1px);
}
.hero-btn-outline {
  border: 1px solid rgba(247,245,240,0.5);
  color: #F7F5F0 !important;
}
.hero-btn-outline:hover {
  background: rgba(247,245,240,0.12);
  border-color: rgba(247,245,240,0.8);
}

/* ============================
   2. 通用 section header 样式
   ============================ */
.section-header-center {
  text-align: center;
  margin-bottom: 2.5rem;
}
.section-tag {
  font-size: 0.8rem;
  letter-spacing: 0.25em;
  color: var(--yanhz-jiangnan-dai);
  margin-bottom: 0.6rem;
  font-weight: 400;
}
.section-title {
  font-size: 1.8rem;
  color: #2C2C2C;
  margin-bottom: 0.8rem;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.section-desc {
  color: #777;
  font-size: 0.95rem;
  line-height: 1.8;
  max-width: 600px;
  margin: 0 auto;
}

/* ============================
   3. 哲学区 - 宣纸白底 + 烟雨黛卡片
   ============================ */
.florint-philosophy {
  padding: 5rem 1.5rem;
  background: var(--bg-xuan);
  text-align: center;
}
.philosophy-header {
  margin-bottom: 2.5rem;
}
.philosophy-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}
.philosophy-card {
  background: #fff;
  border: 1px solid rgba(90,125,138,0.15);
  border-radius: 12px;
  padding: 2rem 1.5rem;
  text-align: center;
  transition: all 0.35s ease;
  position: relative;
  overflow: hidden;
}
.philosophy-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--yanhz-jiangnan-dai), var(--yanhz-jiangnan-lv));
  opacity: 0;
  transition: opacity 0.3s;
}
.philosophy-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(90,125,138,0.12);
  border-color: var(--yanhz-jiangnan-dai);
}
.philosophy-card:hover::before {
  opacity: 1;
}
.card-icon {
  font-size: 2.2rem;
  margin-bottom: 1rem;
  display: block;
}
.philosophy-card h3 {
  color: var(--yanhz-jiangnan-dai);
  font-size: 1.15rem;
  margin-bottom: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.philosophy-card p {
  color: #555;
  font-size: 0.88rem;
  line-height: 1.8;
}

/* ============================
   4. 课程区 - 素绢白底 + 石绿卡片
   ============================ */
.florint-courses-home {
  padding: 5rem 1.5rem;
  background: var(--bg-silk);
  text-align: center;
}
.courses-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
  max-width: 1100px;
  margin: 0 auto;
}
.course-card {
  background: #fff;
  border: 1px solid rgba(135,168,120,0.2);
  border-radius: 12px;
  padding: 2rem 1.8rem;
  text-align: left;
  transition: all 0.35s ease;
  position: relative;
  overflow: hidden;
}
.course-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--yanhz-jiangnan-lv), var(--yanhz-jiangnan-dai));
  opacity: 0;
  transition: opacity 0.3s;
}
.course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(135,168,120,0.12);
  border-color: var(--yanhz-jiangnan-lv);
}
.course-card:hover::before {
  opacity: 1;
}
.course-badge {
  display: inline-block;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  padding: 0.25rem 0.8rem;
  border-radius: 2rem;
  background: rgba(135,168,120,0.12);
  color: var(--yanhz-jiangnan-lv);
  font-weight: 600;
  margin-bottom: 1rem;
}
.course-card-featured .course-badge {
  background: rgba(192,51,18,0.1);
  color: var(--yanhz-zhusha);
}
.course-card h3,
.course-card h4 {
  color: #2C2C2C;
  font-size: 1.25rem;
  margin-bottom: 0.6rem;
  font-weight: 700;
}
.course-desc {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.7;
  margin-bottom: 1rem;
}
.course-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.2rem 0;
}
.course-features li {
  font-size: 0.85rem;
  color: #555;
  padding: 0.3rem 0;
  padding-left: 1.2rem;
  position: relative;
}
.course-features li::before {
  content: '·';
  position: absolute;
  left: 0;
  color: var(--yanhz-jiangnan-lv);
  font-weight: 700;
  font-size: 1.2rem;
}
.course-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8rem 0;
  border-top: 1px solid #f0ede8;
  margin-bottom: 1rem;
}
.course-meta span {
  font-size: 0.85rem;
  color: #888;
}
.course-link {
  display: inline-block;
  font-size: 0.88rem;
  color: var(--yanhz-jiangnan-dai) !important;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: color 0.3s;
}
.course-link:hover {
  color: var(--yanhz-zhusha) !important;
}

/* ============================
   5. 花间蜜语 - 素砂底 + 烟雨黛/朱砂点缀
   ============================ */
.florint-whispers-home {
  padding: 5rem 1.5rem;
  background: var(--yanhz-jiangnan-sha);
  text-align: center;
}
.whispers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}
.whisper-card {
  background: #fff;
  border: 1px solid rgba(90,125,138,0.1);
  border-radius: 12px;
  padding: 1.8rem;
  text-align: left;
  transition: all 0.35s ease;
  position: relative;
}
.whisper-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--yanhz-zhusha), var(--yanhz-chijin));
  opacity: 0;
  transition: opacity 0.3s;
  border-radius: 12px 12px 0 0;
}
.whisper-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(90,125,138,0.1);
  border-color: rgba(90,125,138,0.25);
}
.whisper-card:hover::before {
  opacity: 1;
}
.whisper-meta-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.whisper-cat {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  padding: 0.2rem 0.7rem;
  border-radius: 2rem;
  background: rgba(90,125,138,0.1);
  color: var(--yanhz-jiangnan-dai);
  font-weight: 600;
}
.whisper-date {
  font-size: 0.78rem;
  color: #aaa;
}
.whisper-title {
  font-size: 1.05rem;
  margin-bottom: 0.6rem;
  line-height: 1.5;
}
.whisper-title a {
  color: #2C2C2C !important;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s;
}
.whisper-title a:hover {
  color: var(--yanhz-zhusha) !important;
}
.whisper-excerpt {
  font-size: 0.85rem;
  color: #777;
  line-height: 1.7;
  margin-bottom: 1rem;
}
.whisper-read {
  font-size: 0.82rem;
  color: var(--yanhz-jiangnan-dai) !important;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: color 0.3s;
}
.whisper-read:hover {
  color: var(--yanhz-zhusha) !important;
}
.whispers-more {
  text-align: center;
  margin-top: 2.5rem;
}

/* ============================
   6. CTA 区 - 烟灰/黛色渐变
   ============================ */
.florint-cta {
  padding: 5rem 1.5rem;
  background: linear-gradient(135deg, var(--yanhz-jiangnan-hui) 0%, var(--yanhz-jiangnan-mo) 60%, var(--yanhz-jiangnan-ye) 100%);
  text-align: center;
}
.cta-content {
  max-width: 600px;
  margin: 0 auto;
}
.florint-cta h2 {
  color: #F7F5F0 !important;
  font-size: 1.8rem;
  margin-bottom: 0.8rem;
  letter-spacing: 0.1em;
}
.florint-cta p {
  color: rgba(247,245,240,0.7) !important;
  margin-bottom: 2rem;
  font-size: 0.95rem;
  line-height: 1.8;
}
.cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.florint-cta a {
  display: inline-block;
  padding: 0.75rem 2.2rem;
  border-radius: 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: all 0.3s;
}
.florint-cta a:first-child {
  background: var(--yanhz-zhusha);
  color: #fff !important;
}
.florint-cta a:first-child:hover {
  box-shadow: 0 4px 20px rgba(192,51,18,0.45);
  transform: translateY(-1px);
}

/* ============================
   7. 精选区背景微调(已存在，增强)
   ============================ */
.florint-featured {
  padding: 5rem 1.5rem;
  background: var(--bg-xuan);
}
.featured-bg.featured-colors {
  background: linear-gradient(135deg, var(--yanhz-jiangnan-ye) 0%, var(--yanhz-jiangnan-mo) 40%, var(--yanhz-jiangnan-dai) 70%, var(--yanhz-jiangnan-ye) 100%);
}
.featured-bg.featured-whispers {
  background: linear-gradient(135deg, var(--yanhz-jiangnan-dai) 0%, var(--yanhz-jiangnan-hui) 50%, var(--yanhz-jiangnan-ye) 100%);
}
.featured-bg.featured-books {
  background: linear-gradient(135deg, var(--yanhz-jiangnan-ye) 0%, var(--yanhz-jiangnan-hui) 50%, var(--yanhz-jiangnan-dai) 100%);
}

/* ============================
   8. Footer - 夜墨基调
   ============================ */
.florint-footer-custom {
  background: linear-gradient(180deg, var(--yanhz-jiangnan-mo) 0%, var(--yanhz-jiangnan-ye) 100%);
  color: rgba(247,245,240,0.7);
}

/* ============================
   9. 全站响应式修正
   ============================ */
@media (max-width: 1024px) {
  .philosophy-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .courses-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .whispers-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .philosophy-grid {
    grid-template-columns: 1fr;
  }
  .courses-grid {
    grid-template-columns: 1fr;
  }
  .whispers-grid {
    grid-template-columns: 1fr;
  }
  .hero-title {
    font-size: 2.4rem !important;
  }
  .hero-poem {
    font-size: 1rem !important;
  }
  .section-title {
    font-size: 1.5rem;
  }
}

/* === v2.1 Hero 居中 + 标题放大 === */
.hero-tag {
  text-align: center !important;
}
.hero-title {
  font-size: 4.5rem !important;
  text-align: center !important;
}
.hero-poem {
  text-align: center !important;
}
.hero-content {
  text-align: center;
}

/* === v2.1 移动端适配 === */
@media (max-width: 768px) {
  .hero-title {
    font-size: 2.4rem !important;
    letter-spacing: 0.1em !important;
  }
  .hero-tag {
    font-size: 0.8rem !important;
    letter-spacing: 0.2em !important;
  }
  .hero-poem {
    font-size: 0.95rem !important;
    letter-spacing: 0.1em !important;
    line-height: 1.8 !important;
  }
  .hero-buttons {
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
  }
  .hero-btn {
    width: 80%;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .hero-title {
    font-size: 2rem !important;
  }
}

/* === v2.2 移动端站点标题适配 === */
@media (max-width: 768px) {
  .site-title, .site-title a {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }
  .ast-site-identity .site-title a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
    display: inline-block;
    vertical-align: middle;
  }
  .site-branding .site-title {
    flex: 0 1 auto;
  }
  .ast-mobile-header-wrap .ast-primary-header-bar .ast-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .ast-builder-menu-mobile .main-header-menu {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* === v2.3 移动端全站居中优化 === */

/* --- Header --- */
@media (max-width: 768px) {
  .site-title, .site-title a {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
  }
  .ast-site-identity .site-title a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
    display: inline-block;
    vertical-align: middle;
  }
  .ast-mobile-header-wrap .ast-primary-header-bar .ast-container,
  .ast-mobile-header-wrap .ast-mobile-primary-header-bar .ast-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .ast-builder-menu-mobile .main-header-menu {
    padding: 8px 0;
  }

  /* --- Section containers --- */
  .florint-container {
    padding: 0 1rem !important;
  }

  /* --- Philosophy section --- */
  .philosophy-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }
  .philosophy-card {
    padding: 1.5rem 1.2rem !important;
    text-align: center;
  }
  .card-icon {
    font-size: 2rem !important;
    margin-bottom: 0.8rem;
  }
  .philosophy-card h3 {
    font-size: 1.1rem !important;
  }
  .philosophy-card p {
    font-size: 0.9rem !important;
    text-align: center;
  }

  /* --- Courses section --- */
  .courses-grid {
    grid-template-columns: 1fr !important;
    gap: 1.2rem;
  }
  .course-card {
    padding: 1.5rem !important;
    text-align: center;
  }
  .course-card h3 {
    font-size: 1.2rem !important;
  }
  .course-desc {
    text-align: center !important;
    font-size: 0.9rem !important;
  }
  .course-features {
    text-align: center !important;
  }
  .course-features li {
    justify-content: center;
    font-size: 0.85rem;
  }
  .course-meta {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .course-link {
    display: block;
    text-align: center;
    margin-top: 1rem;
  }

  /* --- Featured section --- */
  .featured-grid {
    grid-template-columns: 1fr !important;
    gap: 1.2rem;
  }
  .featured-item.featured-large {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }
  .featured-item {
    min-height: 280px;
    text-align: center;
  }
  .featured-content {
    padding: 1.5rem !important;
    text-align: center;
  }
  .featured-tag, .featured-content h3, .featured-content p {
    text-align: center;
  }

  /* --- Whispers section --- */
  .whispers-grid {
    grid-template-columns: 1fr !important;
    gap: 1.2rem;
  }
  .whisper-card {
    padding: 1.5rem !important;
    text-align: center;
  }
  .whisper-meta-top {
    justify-content: center;
  }
  .whisper-title {
    text-align: center !important;
    font-size: 1.1rem !important;
  }
  .whisper-excerpt {
    text-align: center !important;
    font-size: 0.9rem !important;
  }
  .whisper-read {
    display: block;
    text-align: center;
  }
  .whispers-more {
    text-align: center !important;
  }

  /* --- CTA section --- */
  .florint-cta {
    padding: 3rem 1rem !important;
  }
  .cta-content {
    text-align: center !important;
    max-width: 100%;
  }
  .cta-content h2 {
    font-size: 1.4rem !important;
    text-align: center !important;
  }
  .cta-content p {
    text-align: center !important;
    font-size: 0.95rem !important;
  }
  .cta-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.5rem;
  }
  .cta-buttons .hero-btn {
    width: 85%;
    text-align: center;
  }

  /* --- Footer --- */
  .florint-footer {
    text-align: center;
  }
  .florint-footer h3, .florint-footer h4 {
    text-align: center;
  }
  .florint-footer p, .florint-footer li {
    text-align: center;
  }
  .florint-footer .florint-footer-tagline,
  .florint-footer .florint-footer-desc {
    text-align: center;
  }
  .florint-footer .florint-footer-social {
    justify-content: center;
  }
  .florint-footer-bottom {
    text-align: center !important;
  }

  /* --- Section headers --- */
  .section-header-center {
    margin-bottom: 1.8rem;
  }
  .section-title {
    font-size: 1.4rem !important;
  }
  .section-desc {
    font-size: 0.9rem !important;
  }
  .section-tag {
    font-size: 0.75rem !important;
  }

  /* --- Hero buttons --- */
  .hero-buttons {
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
  }
  .hero-btn {
    width: 80%;
    text-align: center;
  }
}

/* --- 480px further refinements --- */
@media (max-width: 480px) {
  .hero-title {
    font-size: 2rem !important;
  }
  .hero-poem {
    font-size: 0.9rem !important;
  }
  .course-card, .philosophy-card, .whisper-card, .featured-content {
    padding: 1.2rem !important;
  }
  .florint-cta {
    padding: 2rem 0.8rem !important;
  }
}

/* === v2.4 关于我们页面美化 === */

/* --- Page Hero --- */
.page-hero-mini {
  background: linear-gradient(135deg, #1E2B35 0%, #2A3F4A 50%, #3D5960 100%);
  padding: 4rem 1.5rem 3.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.page-hero-mini::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(90,125,138,0.25) 0%, transparent 70%),
              radial-gradient(ellipse at 70% 30%, rgba(135,168,120,0.15) 0%, transparent 60%);
  pointer-events: none;
}
.page-hero-sub {
  position: relative;
  font-size: 0.8rem;
  letter-spacing: 0.3em;
  color: rgba(247,245,240,0.5);
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}
.page-hero-title {
  position: relative;
  font-size: 2.8rem !important;
  color: #F7F5F0 !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em;
  margin-bottom: 1rem !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.4);
}
.page-hero-desc {
  position: relative;
  font-size: 1rem;
  color: rgba(247,245,240,0.7);
  letter-spacing: 0.15em;
}

/* --- Page Section Base --- */
.page-section {
  padding: 4rem 1.5rem;
  max-width: 960px;
  margin: 0 auto;
}
.about-inner {
  max-width: 800px;
  margin: 0 auto;
}
.about-heading {
  font-size: 1.8rem !important;
  color: var(--yanhz-jiangnan-mo, #2A3F4A) !important;
  font-weight: 700 !important;
  text-align: center;
  margin-bottom: 2rem !important;
  position: relative;
  padding-bottom: 1.2rem;
}
.about-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, var(--yanhz-jiangnan-dai, #5A7D8A), var(--yanhz-jiangnan-lv, #87A878));
  border-radius: 2px;
}

/* --- About Intro --- */
.about-intro {
  background: var(--bg-xuan, #F7F5F0);
}
.about-slogan {
  text-align: center;
  font-size: 1.4rem;
  color: var(--yanhz-jiangnan-mo, #2A3F4A);
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 0.5rem;
}
.about-divider {
  text-align: center;
  font-size: 1.2rem;
  color: var(--yanhz-chijin, #B8860B);
  margin-bottom: 2rem;
  letter-spacing: 0.3em;
}
.about-text {
  background: #fff;
  border-radius: 12px;
  padding: 2rem 2.5rem;
  box-shadow: 0 2px 12px rgba(42,63,74,0.06);
  border: 1px solid rgba(90,125,138,0.1);
}
.about-text p {
  font-size: 1rem;
  line-height: 2;
  color: #3D5960;
  text-indent: 2em;
  margin-bottom: 1.2rem;
}
.about-text p:last-child {
  margin-bottom: 0;
}

/* --- Vision Section --- */
.about-vision {
  background: var(--bg-silk, #FDFCF9);
}
.vision-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 1rem;
}
.vision-card {
  background: #fff;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  text-align: center;
  box-shadow: 0 2px 12px rgba(42,63,74,0.06);
  border: 1px solid rgba(90,125,138,0.08);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.vision-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--yanhz-jiangnan-dai, #5A7D8A), var(--yanhz-jiangnan-lv, #87A878));
}
.vision-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(42,63,74,0.12);
}
.vision-icon {
  display: inline-block;
  background: linear-gradient(135deg, var(--yanhz-jiangnan-dai, #5A7D8A), var(--yanhz-jiangnan-lv, #87A878));
  color: #fff;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 0.4rem 1rem;
  border-radius: 2rem;
  margin-bottom: 1rem;
  letter-spacing: 0.15em;
}
.vision-card h3 {
  font-size: 1.15rem !important;
  color: var(--yanhz-jiangnan-mo, #2A3F4A) !important;
  margin-bottom: 0.8rem !important;
  font-weight: 600 !important;
}
.vision-card p {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #5A7D8A;
  margin: 0;
}

/* --- Invite Section --- */
.about-invite {
  background: linear-gradient(135deg, #3D5960 0%, #2A3F4A 50%, #1E2B35 100%);
  color: #F7F5F0;
}
.about-invite .about-heading {
  color: #F7F5F0 !important;
}
.about-invite .about-heading::after {
  background: linear-gradient(90deg, var(--yanhz-chijin, #B8860B), var(--yanhz-jiangnan-jin, #A08545));
}
.invite-list {
  max-width: 600px;
  margin: 0 auto 2rem;
}
.invite-list p {
  font-size: 1.05rem;
  line-height: 2.2;
  color: rgba(247,245,240,0.85);
  text-align: center;
  margin: 0;
  letter-spacing: 0.05em;
}
.invite-cta {
  text-align: center;
  font-size: 1.15rem;
  color: var(--yanhz-chijin, #B8860B) !important;
  font-weight: 500;
  letter-spacing: 0.15em;
  margin-top: 1.5rem;
}

/* --- Contact Section --- */
.about-contact {
  background: var(--bg-xuan, #F7F5F0);
}
.contact-grid {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.contact-item {
  background: #fff;
  border-radius: 12px;
  padding: 1.8rem 2.5rem;
  text-align: center;
  box-shadow: 0 2px 12px rgba(42,63,74,0.06);
  border: 1px solid rgba(90,125,138,0.1);
  min-width: 280px;
  transition: all 0.3s ease;
}
.contact-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(42,63,74,0.1);
}
.contact-label {
  display: block;
  font-size: 0.8rem;
  color: var(--yanhz-jiangnan-dai, #5A7D8A);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
  font-weight: 600;
}
.contact-value {
  display: block;
  font-size: 1.05rem;
  color: var(--yanhz-jiangnan-mo, #2A3F4A);
  font-weight: 500;
  line-height: 1.6;
}

/* --- About Page Mobile --- */
@media (max-width: 768px) {
  .page-hero-mini {
    padding: 3rem 1rem 2.5rem;
  }
  .page-hero-title {
    font-size: 2rem !important;
  }
  .page-section {
    padding: 2.5rem 1rem;
  }
  .about-heading {
    font-size: 1.4rem !important;
  }
  .about-text {
    padding: 1.5rem 1.2rem;
  }
  .about-text p {
    font-size: 0.95rem;
    line-height: 1.9;
  }
  .vision-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }
  .vision-card {
    padding: 1.5rem 1.2rem;
  }
  .contact-grid {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  .contact-item {
    width: 100%;
    max-width: 320px;
  }
  .invite-list p {
    font-size: 0.95rem;
    line-height: 2;
  }
}
@media (max-width: 480px) {
  .page-hero-title {
    font-size: 1.6rem !important;
  }
  .about-slogan {
    font-size: 1.1rem;
  }
}

/* === v2.5 隐藏页面默认标题（自有 Hero 横幅替代） === */
.page-id-22 .entry-title,
.page-id-22 .entry-header {
  display: none !important;
}

/* ===================================================================
   v3.0 全站各模块美化 —— 统一风格 + 差异化配色
   =================================================================== */

/* ─── 全局：隐藏 Astra 默认页面标题 ─── */
.page-id-17 .entry-title,
.page-id-17 .entry-header,
.page-id-18 .entry-title,
.page-id-18 .entry-header,
.page-id-19 .entry-title,
.page-id-19 .entry-header,
.page-id-20 .entry-title,
.page-id-20 .entry-header,
.page-id-21 .entry-title,
.page-id-21 .entry-header,
.page-id-23 .entry-title,
.page-id-23 .entry-header,
.page-id-58 .entry-title,
.page-id-58 .entry-header {
  display: none !important;
}

/* ─── 全局：内页正文区域容器 ─── */
body.page-id-18 .entry-content,
body.page-id-19 .entry-content,
body.page-id-20 .entry-content,
body.page-id-21 .entry-content,
body.page-id-23 .entry-content,
body.page-id-58 .entry-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* ===================================================================
   花间课程 (ID 18) —— 墨青 + 沉金
   =================================================================== */
.florint-course-hero {
  background: linear-gradient(135deg, #2A3F4A 0%, #3D5960 60%, #5A7D8A 100%);
  color: #FDFCF9;
  padding: 60px 40px 50px;
  border-radius: 12px;
  text-align: center;
  margin: 30px 0;
  position: relative;
  overflow: hidden;
}
.florint-course-hero::before {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 0v60M0 30h60' stroke='%23A08545' stroke-width='.3' opacity='.15'/%3E%3C/svg%3E");
  pointer-events: none;
}
.florint-course-hero h2 {
  color: #F7F5F0 !important;
  font-size: 2rem !important;
  letter-spacing: 0.15em;
  margin-bottom: 0.5em;
  position: relative;
  z-index: 1;
}
.florint-course-hero p {
  color: #ddd5c5 !important;
  font-size: 1.05rem;
  position: relative;
  z-index: 1;
}
.florint-course-subtitle {
  color: #A08545 !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.2em;
  margin-bottom: 1em !important;
}

.florint-course-tier {
  background: #FDFCF9;
  border: 1px solid #ddd5c5;
  border-radius: 12px;
  padding: 35px;
  margin-bottom: 25px;
  box-shadow: 0 4px 20px rgba(42, 63, 74, 0.06);
}
.florint-course-tier-header {
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 25px;
  border-bottom: 2px solid #ddd5c5;
  position: relative;
}
.florint-course-tier-header::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, #A08545, #2A3F4A);
}
.florint-course-tier-num {
  display: inline-block;
  background: linear-gradient(135deg, #2A3F4A, #3D5960);
  color: #F7F5F0;
  padding: 4px 18px;
  border-radius: 20px;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.florint-course-tier-header h3 {
  color: #2A3F4A !important;
  font-size: 1.5rem !important;
  letter-spacing: 0.1em;
  margin: 8px 0 4px;
}
.florint-course-tier-header p {
  color: #87A878 !important;
  font-size: 0.95rem;
  margin: 0;
}

.florint-course-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 20px 0;
}
.florint-course-card {
  background: #F7F5F0;
  border: 1px solid #ddd5c5;
  border-radius: 10px;
  padding: 28px;
  position: relative;
  transition: transform 0.3s, box-shadow 0.3s;
}
.florint-course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(42, 63, 74, 0.12);
}
.florint-course-card-highlight {
  border-color: #A08545;
  background: linear-gradient(180deg, #FDFCF9 0%, #F7F5F0 100%);
}
.florint-course-card-master {
  border-color: #A08545;
  background: linear-gradient(180deg, #F7F5F0 0%, #ede7d9 100%);
}
.florint-course-badge {
  position: absolute;
  top: -10px;
  right: 16px;
  background: linear-gradient(135deg, #A08545, #B8860B);
  color: #fff;
  padding: 3px 12px;
  border-radius: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}
.florint-course-card h4 {
  color: #2A3F4A !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}
.florint-course-desc {
  color: #5A7D8A !important;
  font-size: 0.9rem !important;
  line-height: 1.6;
  margin-bottom: 12px;
}
.florint-course-meta {
  color: #87A878 !important;
  font-size: 0.85rem;
  margin-bottom: 8px;
}
.florint-course-price {
  color: #C03312 !important;
  font-size: 1.4rem !important;
  font-weight: 700;
  margin: 0;
}
.florint-course-price span {
  font-size: 0.85rem;
  font-weight: 400;
  color: #888;
}
.florint-course-price del {
  color: #aaa;
  font-size: 0.9rem;
  font-weight: 400;
  margin-right: 6px;
}
.florint-course-highlights {
  list-style: none;
  padding: 0;
  margin: 12px 0;
}
.florint-course-highlights li {
  padding: 4px 0 4px 18px;
  position: relative;
  color: #3D5960;
  font-size: 0.88rem;
}
.florint-course-highlights li::before {
  content: '◆';
  position: absolute;
  left: 0;
  color: #A08545;
  font-size: 0.6rem;
  top: 7px;
}
.florint-course-note {
  color: #888 !important;
  font-size: 0.85rem;
  text-align: center;
  padding: 15px;
  border-top: 1px dashed #ddd5c5;
  margin-top: 15px;
}
.florint-course-detail-link {
  text-align: center;
  margin-top: 20px;
}
.florint-course-detail-btn {
  display: inline-block;
  padding: 10px 28px;
  background: linear-gradient(135deg, #2A3F4A, #3D5960);
  color: #F7F5F0 !important;
  border-radius: 6px;
  text-decoration: none !important;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  transition: all 0.3s;
}
.florint-course-detail-btn:hover {
  background: linear-gradient(135deg, #A08545, #B8860B);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(160, 133, 69, 0.3);
}

/* ===================================================================
   花间色彩 (ID 19) —— 朱砂红 + 赤金
   =================================================================== */
#florint-color-analysis {
  background: #FDFCF9;
  border: 1px solid #ddd5c5;
  border-radius: 12px;
  padding: 40px;
  margin: 30px 0;
  box-shadow: 0 4px 20px rgba(192, 51, 18, 0.06);
  text-align: center;
}
#florint-color-analysis h2 {
  color: #C03312 !important;
  font-size: 1.6rem !important;
  letter-spacing: 0.15em;
  margin-bottom: 0.8em;
}
#florint-color-analysis p {
  color: #5A7D8A !important;
}
#florint-analysis-upload {
  border: 2px dashed #C03312;
  border-radius: 12px;
  padding: 40px;
  margin: 20px auto;
  max-width: 500px;
  background: linear-gradient(180deg, #FDFCF9 0%, #F7F5F0 100%);
  transition: border-color 0.3s;
}
#florint-analysis-upload:hover {
  border-color: #B8860B;
}
#florint-upload-hint p {
  color: #5A7D8A !important;
  font-size: 0.95rem;
}
#florint-analyze-btn {
  background: linear-gradient(135deg, #C03312, #B8860B) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  letter-spacing: 0.15em !important;
  padding: 14px 45px !important;
  cursor: pointer;
  transition: all 0.3s;
}
#florint-analyze-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(192, 51, 18, 0.3);
}

/* 传统色浏览区域 */
#florint-colors-app {
  margin: 30px 0;
}
.florint-toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
  flex-wrap: wrap;
}
.florint-toolbar input,
.florint-toolbar select {
  padding: 10px 16px;
  border: 1px solid #ddd5c5;
  border-radius: 8px;
  font-size: 0.9rem;
  background: #FDFCF9;
  color: #2A3F4A;
  transition: border-color 0.3s;
}
.florint-toolbar input:focus,
.florint-toolbar select:focus {
  border-color: #C03312;
  outline: none;
}
.florint-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 10px;
}
.florint-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 25px;
}

/* 五行配色方案 */
#florint-schemes-app {
  margin: 30px 0;
}
.florint-schemes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

/* section headings */
body.page-id-19 h2.wp-block-heading {
  color: #C03312 !important;
  font-size: 1.5rem !important;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 30px;
}
body.page-id-19 h2.wp-block-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #C03312, #B8860B);
}
body.page-id-19 hr {
  border: none;
  border-top: 1px solid #ddd5c5;
  margin: 50px 0;
}

/* ===================================================================
   花间蜜语 (ID 20) —— 石绿 + 素砂
   =================================================================== */
body.page-id-20 .entry-content {
  padding: 0 20px !important;
}
body.page-id-20 .entry-content > p.wp-block-paragraph:first-child {
  background: linear-gradient(135deg, #87A878 0%, #5A7D8A 100%);
  color: #F7F5F0;
  padding: 50px 40px;
  border-radius: 12px;
  text-align: center;
  font-size: 1.2rem !important;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 40px;
}

/* ===================================================================
   书刊资材 (ID 23) —— 烟灰 + 墨青
   =================================================================== */
.florint-book-hero {
  background: linear-gradient(135deg, #3D5960 0%, #2A3F4A 60%, #1E2B35 100%);
  color: #F7F5F0;
  padding: 50px 40px;
  border-radius: 12px;
  text-align: center;
  margin: 30px 0;
  position: relative;
}
.florint-book-hero h2 {
  color: #FFFFFF !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
  letter-spacing: 0.15em;
  margin-bottom: 0.3em;
}
.florint-book-subtitle {
  color: #ddd5c5 !important;
  font-size: 1.05rem !important;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
  letter-spacing: 0.2em;
  margin-bottom: 0.5em !important;
}
.florint-book-hero p {
  color: #D8D0C2 !important;
  font-size: 1.05rem;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
}

.florint-book-section {
  background: #FDFCF9;
  border: 1px solid #ddd5c5;
  border-radius: 12px;
  padding: 35px;
  margin-bottom: 25px;
  box-shadow: 0 4px 20px rgba(42, 63, 74, 0.06);
}
.florint-book-section-title {
  color: #2A3F4A !important;
  font-size: 1.4rem !important;
  text-align: center;
  letter-spacing: 0.12em;
  margin-bottom: 25px !important;
  position: relative;
  padding-bottom: 15px;
}
.florint-book-section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #3D5960, #2A3F4A);
}
.florint-book-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 25px;
}
.florint-book-card {
  background: #F7F5F0;
  border: 1px solid #ddd5c5;
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}
.florint-book-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(42, 63, 74, 0.12);
}
.florint-book-cover {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.florint-book-cover-text {
  color: #F7F5F0;
  font-size: 1.3rem;
  letter-spacing: 0.2em;
  font-weight: 600;
}
.florint-book-info {
  padding: 20px;
}
.florint-book-info h4 {
  color: #2A3F4A !important;
  font-size: 1.1rem !important;
  margin-bottom: 6px;
  letter-spacing: 0.05em;
}
.florint-book-author {
  color: #87A878 !important;
  font-size: 0.85rem;
  margin-bottom: 8px;
}
.florint-book-desc {
  color: #5A7D8A !important;
  font-size: 0.88rem !important;
  line-height: 1.6;
  margin-bottom: 12px;
}
.florint-book-price {
  color: #C03312 !important;
  font-size: 1.3rem !important;
  font-weight: 700;
  margin-bottom: 12px;
}
.florint-book-btn {
  display: inline-block;
  padding: 8px 22px;
  background: linear-gradient(135deg, #3D5960, #2A3F4A);
  color: #F7F5F0 !important;
  border-radius: 6px;
  text-decoration: none !important;
  font-size: 0.88rem;
  letter-spacing: 0.1em;
  transition: all 0.3s;
}
.florint-book-btn:hover {
  background: linear-gradient(135deg, #A08545, #B8860B);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(160, 133, 69, 0.3);
}
.florint-book-note {
  color: #888 !important;
  font-size: 0.9rem;
  text-align: center;
  line-height: 1.8;
  padding: 20px;
  background: #F7F5F0;
  border-radius: 8px;
}

/* ===================================================================
   花间社区 (ID 21) —— 烟雨黛 + 石绿
   =================================================================== */
body.page-id-21 .entry-content > p:first-child {
  background: linear-gradient(135deg, #5A7D8A 0%, #87A878 100%);
  color: #FFFFFF !important;
  padding: 45px 40px;
  border-radius: 12px;
  text-align: center;
  font-size: 1.3rem !important;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
  font-weight: 700 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 35px;
  box-shadow: 0 4px 20px rgba(90, 125, 138, 0.15);
}
body.page-id-21 .entry-content > p:first-child strong {
  color: #FFFFFF !important;
}

/* bbPress 样式增强 */
body.page-id-21 .bbpress-wrapper {
  background: #FDFCF9;
  border: 1px solid #ddd5c5;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(42, 63, 74, 0.06);
}
body.page-id-21 .bbp-search-form {
  margin-bottom: 25px;
}
body.page-id-21 .bbp-search-form input[type="text"] {
  border: 1px solid #ddd5c5;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 0.9rem;
  transition: border-color 0.3s;
}
body.page-id-21 .bbp-search-form input[type="text"]:focus {
  border-color: #5A7D8A;
  outline: none;
}

/* ===================================================================
   花间幽梦 (ID 58) —— 夜墨 + 烟雨黛
   =================================================================== */
.dreams-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 30px 20px;
}
.dreams-hero {
  background: linear-gradient(135deg, #1E2B35 0%, #2A3F4A 50%, #5A7D8A 100%);
  color: #F7F5F0;
  padding: 50px 40px;
  border-radius: 12px;
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  overflow: hidden;
}
.dreams-hero::before {
  content: '🌙';
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 4rem;
  opacity: 0.1;
}
.dreams-tag {
  display: inline-block;
  background: rgba(160, 133, 69, 0.2);
  color: #A08545 !important;
  padding: 4px 14px;
  border-radius: 15px;
  font-size: 0.8rem;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
  letter-spacing: 0.15em;
  margin-bottom: 12px;
}
.dreams-title {
  color: #D4AF37 !important;
  font-size: 2.8rem !important;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
  letter-spacing: 0.2em;
  margin: 10px 0;
}
.dreams-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 15px 0;
}
.dreams-divider span {
  width: 40px;
  height: 1px;
  background: #5A7D8A;
}
.dreams-divider i {
  color: #A08545;
  font-size: 0.8rem;
}
.dreams-desc {
  color: #ddd5c5 !important;
  font-size: 1rem;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.7;
}

.dreams-upload-area {
  background: #FDFCF9;
  border: 2px dashed #5A7D8A;
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  margin-bottom: 25px;
  transition: border-color 0.3s, background 0.3s;
}
.dreams-upload-area:hover {
  border-color: #A08545;
  background: #F7F5F0;
}
.dreams-upload-inner {
  cursor: pointer;
}
.dreams-upload-icon {
  font-size: 3rem;
  margin-bottom: 12px;
}
.dreams-upload-text {
  color: #2A3F4A !important;
  font-size: 1rem;
  margin-bottom: 6px;
}
.dreams-upload-hint {
  color: #888 !important;
  font-size: 0.85rem;
}

.dreams-analyze-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 35px;
  background: linear-gradient(135deg, #1E2B35, #5A7D8A);
  color: #F7F5F0 !important;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.3s;
}
.dreams-analyze-btn:hover {
  background: linear-gradient(135deg, #5A7D8A, #A08545);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(90, 125, 138, 0.3);
}

.dreams-result {
  background: #FDFCF9;
  border: 1px solid #ddd5c5;
  border-radius: 12px;
  padding: 35px;
  margin-top: 25px;
  box-shadow: 0 4px 20px rgba(30, 43, 53, 0.06);
}
.dreams-result-header h3 {
  color: #2A3F4A !important;
  font-size: 1.3rem !important;
  letter-spacing: 0.1em;
}
.dreams-result-line {
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #A08545, #5A7D8A);
  margin: 10px 0 20px;
}
.dreams-result-content {
  color: #3D5960 !important;
  font-size: 0.95rem;
  line-height: 1.8;
}
.dreams-retry-btn {
  padding: 10px 25px;
  background: transparent;
  border: 1px solid #5A7D8A;
  color: #5A7D8A;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s;
}
.dreams-retry-btn:hover {
  background: #5A7D8A;
  color: #F7F5F0;
}

.dreams-error {
  background: #fff5f5;
  border: 1px solid #C03312;
  border-radius: 8px;
  padding: 20px;
  color: #C03312;
  text-align: center;
  margin-top: 20px;
}

/* ===================================================================
   响应式适配 (≤768px)
   =================================================================== */
@media (max-width: 768px) {
  /* 花间课程 */
  .florint-course-hero {
    padding: 40px 20px;
    margin: 15px 10px;
  }
  .florint-course-hero h2 {
    font-size: 1.4rem !important;
  }
  .florint-course-hero p {
    font-size: 0.9rem !important;
  }
  .florint-course-subtitle {
    font-size: 0.95rem !important;
  }
  .florint-course-tier {
    padding: 20px 15px;
  }
  .florint-course-cards {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .florint-course-card {
    padding: 20px;
  }

  /* 花间色彩 */
  #florint-color-analysis {
    padding: 25px 15px;
    margin: 15px 10px;
  }
  #florint-color-analysis h2 {
    font-size: 1.3rem !important;
  }
  #florint-analysis-upload {
    padding: 25px 15px;
  }
  .florint-toolbar {
    flex-direction: column;
    gap: 8px;
  }
  .florint-toolbar input,
  .florint-toolbar select {
    width: 100%;
  }
  .florint-grid {
    grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
    gap: 6px;
  }
  .florint-schemes-grid {
    grid-template-columns: 1fr;
  }

  /* 花间蜜语 */
  body.page-id-20 .entry-content > p.wp-block-paragraph:first-child {
    padding: 35px 20px;
    font-size: 1rem !important;
    margin: 15px 10px 30px;
  }

  /* 书刊资材 */
  .florint-book-hero {
    padding: 35px 20px;
    margin: 15px 10px;
  }
  .florint-book-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  /* 花间社区 */
  body.page-id-21 .entry-content > p:first-child {
    padding: 30px 20px;
    font-size: 0.95rem !important;
    margin: 15px 10px 25px;
  }
  body.page-id-21 .bbpress-wrapper {
    padding: 15px;
    margin: 0 10px;
  }

  /* 花间幽梦 */
  .dreams-container {
    padding: 15px 10px;
  }
  .dreams-hero {
    padding: 35px 20px;
  }
  .dreams-hero::before {
    display: none;
  }
  .dreams-title {
    font-size: 1.8rem !important;
  }
  .dreams-upload-area {
    padding: 25px 15px;
  }
  .dreams-result {
    padding: 20px 15px;
  }
}

@media (max-width: 480px) {
  .florint-course-hero h2 {
    font-size: 1.2rem !important;
    letter-spacing: 0.08em;
  }
  .florint-book-hero h2 {
    font-size: 1.2rem !important;
  }
  .dreams-title {
    font-size: 1.3rem !important;
  }
  .florint-grid {
    grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
    gap: 4px;
  }
}

/* ── 花间幽梦居中修复 ── */
.page-id-58 .content-area {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
.page-id-58 .entry-content {
  text-align: left;
}
.page-id-58 .dreams-container {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== v3.3 - 花间幽梦：去掉月亮 + 描述文字居中 ===== */
.dreams-hero::before {
  display: none !important;
}
.dreams-desc {
  text-align: center !important;
}

/* ===== v3.3 - 论坛表头颜色加深 ===== */
#bbpress-forums li.bbp-header {
  background: linear-gradient(135deg, #2A3F4A 0%, #3D5960 100%) !important;
}
#bbpress-forums li.bbp-header ul.forum-titles li {
  color: #F7F5F0 !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
}
/* 帖子详情页表头（作者/帖子）文字颜色 */
#bbpress-forums li.bbp-header div {
  color: #F7F5F0 !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  padding: 0.6rem 1rem;
}

/* ===== v3.4 - 修复花间幽梦描述文字居中（覆盖插件CSS） ===== */
.dreams-desc {
  margin: 0 auto !important;
  text-align: center !important;
}

/* ===== v3.5 - 手机端页脚紧凑修复 ===== */
@media (max-width: 768px) {
  .florint-footer-inner {
    padding: 1.5rem 1rem 1rem !important;
  }
  .florint-footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.8rem !important;
    margin-bottom: 1rem !important;
  }
  .florint-footer-col {
    min-width: unset !important;
    text-align: center !important;
  }
  .florint-footer-col h4 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
  .florint-footer-col a {
    font-size: 0.8rem !important;
    padding: 0.15rem 0 !important;
  }
  .florint-footer-brand h3 {
    font-size: 1.1rem !important;
    margin-bottom: 0.3rem !important;
  }
  .florint-footer-tagline {
    font-size: 0.75rem !important;
    margin-bottom: 0.4rem !important;
  }
  .florint-footer-desc {
    font-size: 0.75rem !important;
    line-height: 1.5 !important;
  }
  .florint-footer-quote {
    padding: 0.8rem 0 !important;
    margin-bottom: 0.8rem !important;
  }
  .florint-footer-quote em {
    font-size: 0.8rem !important;
  }
  .florint-footer-bottom {
    font-size: 0.72rem !important;
  }
  .florint-footer-bottom p {
    margin-bottom: 0.2rem !important;
  }
}

/* ===== v3.6 - 手机端页脚网站地图双列布局 ===== */
@media (max-width: 768px) {
  .florint-footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.6rem 1rem !important;
  }
  .florint-footer-brand {
    grid-column: 1 / -1 !important;
    text-align: center !important;
    margin-bottom: 0.3rem;
  }
  .florint-footer-col:last-child {
    grid-column: 1 / -1 !important;
    text-align: center !important;
  }
}

/* ===== 全站标题统一使用思源宋体 (v1.9+) ===== */
h1, h2, h3, h4, h5, h6,
.entry-title, .entry-title a,
.site-title, .site-title a,
.widget-title,
.ast-archive-title,
h1, .entry-content :where(h1),
h2, .entry-content :where(h2),
h3, .entry-content :where(h3),
h4, .entry-content :where(h4),
h5, .entry-content :where(h5),
h6, .entry-content :where(h6),
.ast-post-title,
.archive-title,
.page-title,
.florint-footer-custom h3,
.florint-footer-custom h4,
.section-title,
.section-tag,
.whisper-title,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
}

/* ===== 从chpx.net迁入文章排版样式 v4.0 ===== */
.florint-article-custom { max-width: 780px; margin: 0 auto; }
.florint-article-lead { background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%); border-left: 4px solid #C4A265; padding: 1.5em 2em; margin: 2em 0; border-radius: 0 8px 8px 0; }
.florint-article-lead p { margin: 0.5em 0; color: #5C4A32; font-size: 1.05em; line-height: 1.8; }
.florint-article-custom h2 { font-family: Noto Serif SC, serif; color: #4A3728; border-bottom: 2px solid #E8DCC8; padding-bottom: 0.5em; margin: 2em 0 1em; }
.florint-article-custom blockquote { background: #FDFBF7; border-left: 3px solid #C4A265; margin: 1.5em 0; padding: 1.2em 1.5em; }
.florint-article-custom blockquote p { margin: 0.4em 0; color: #6B5744; }

/* 名师卡片 */
.florint-teacher-card { background: #FEFCF9; border: 1px solid #E8DCC8; border-radius: 12px; padding: 1.5em 2em; margin: 1.5em 0; transition: box-shadow 0.3s; }
.florint-teacher-card:hover { box-shadow: 0 4px 20px rgba(139,115,85,0.1); }
.florint-teacher-card h2 { border-bottom: none; margin: 0 0 0.8em; font-size: 1.3em; }
.florint-teacher-card p { margin: 0.4em 0; line-height: 1.7; }
.florint-teacher-card ul { padding-left: 1.5em; }
.florint-teacher-card li { margin: 0.3em 0; }

/* 课程模块卡片 */
.florint-module { background: #FDFBF7; border: 1px solid #E8DCC8; border-radius: 8px; padding: 1em 1.5em; margin: 0.8em 0; }
.florint-module h3 { font-size: 1.1em; color: #8B7355; margin: 0 0 0.3em; }
.florint-module p { margin: 0; color: #5C4A32; font-size: 0.95em; }

/* 高亮提示框 */
.florint-highlight-box { background: linear-gradient(135deg, #F8F0E3 0%, #EDE4D3 100%); border: 2px solid #C4A265; border-radius: 12px; padding: 1.5em 2em; margin: 2em 0; text-align: center; }
.florint-highlight-box p { margin: 0; font-size: 1.05em; color: #5C4A32; }

/* 信息表格 */
.florint-info-table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.florint-info-table td { padding: 0.8em 1em; border: 1px solid #E8DCC8; vertical-align: top; }
.florint-info-table tr:nth-child(odd) { background: #FDFBF7; }
.florint-info-table tr:nth-child(even) { background: #F8F4ED; }
.florint-info-table td:first-child { font-weight: 600; color: #8B7355; width: 30%; white-space: nowrap; }

/* AI客服菜单项 - 移除错误的高亮状态 */
#menu-item-248 > a {
    color: #2C2C2C !important;
}
#menu-item-248.current-menu-item > a,
#menu-item-248.current_page_item > a {
    color: #2C2C2C !important;
}
#menu-item-248.current-menu-item > a:hover,
#menu-item-248.current_page_item > a:hover {
    color: #C03312 !important;
}


/* ===== 商城页标题：思源宋体加大 ===== */
h1.woocommerce-products-header__title.page-title {
    font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif !important;
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    color: #2C2C2C !important;
}
@media (max-width: 768px) {
    h1.woocommerce-products-header__title.page-title {
        font-size: 1.6rem !important;
        letter-spacing: 0.12em !important;
    }
}





@media (max-width: 768px) {
    .gt_float_switcher {
        top: 60px !important;
        right: 10px !important;
    }
}
