/*
 * 尔意堂 V2 全站字体规范
 * 作用范围：主页、品牌介绍、联系我们、文章列表、文章详情、404。
 * 说明：本文件只统一字体与文字层级，不改变页面模块和布局结构。
 */

:root {
  --font-display: "Source Han Serif SC", "Noto Serif SC", "Songti SC", STSong, SimSun, serif;
  --font-body: "Source Han Sans SC", "Noto Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", "PingFang SC", sans-serif;

  /* 宋体作为全站主文字；黑体仅供标签、日期和辅助信息使用。 */
  --serif: var(--font-display);
  --sans: var(--font-body);

  --type-display-xl: clamp(48px, 5vw, 68px);
  --type-page-title: clamp(42px, 4.5vw, 56px);
  --type-section-title: clamp(36px, 3.4vw, 48px);
  --type-subsection-title: 28px;
  --type-card-title: 20px;
  --type-lead: 17px;
  --type-reading: 17px;
  --type-body: 16px;
  --type-card-copy: 14px;
  --type-nav: 14px;
  --type-action: 13px;
  --type-label: 12px;
  --type-eyebrow: 11px;
  --type-meta: 12px;
  --type-footer-link: 13px;
  --type-legal: 11px;
}

html {
  font-family: var(--font-display);
}

body {
  font-family: var(--font-display);
  font-size: var(--type-body);
  line-height: 1.8;
  text-rendering: optimizeLegibility;
}

/* 语义强调统一使用设计系统的最高字重，避免浏览器默认 700。 */
b,
strong {
  font-weight: 600;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
.brand-seal,
.brand-name {
  font-family: var(--font-display);
}

/* 装饰序号与重要数字继续使用主宋体，不再混用 Georgia。 */
.fact-no,
.doctor-index,
.therapy-item::before,
.therapy-no,
.condition .index,
.footer-phone,
.hero-index,
.value-no,
.pagination a {
  font-family: var(--font-display);
  font-variant-numeric: lining-nums tabular-nums;
}

/* 英文栏目词、日期序号和解释性小字使用辅助黑体，形成清晰层次。 */
.image-banner-watermark,
.heritage-cert small,
.heritage-point span,
.news-date,
.transport-card span,
.recommend-no {
  font-family: var(--font-body);
  font-variant-numeric: lining-nums tabular-nums;
}

.phone-link,
.footer-phone,
.news-date,
.article-date,
.date,
.footer-bottom {
  font-variant-numeric: lining-nums tabular-nums;
}

/* 顶部工具信息、导航与操作文字。 */
.utility-bar {
  font-family: var(--font-body);
  font-size: var(--type-label);
  line-height: 1.6;
}

.main-nav a {
  font-family: var(--font-body);
  font-size: var(--type-nav);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .06em;
}

.btn,
.text-link,
.category-bar a,
.pagination a,
.wp-block-button__link {
  font-family: var(--font-body);
  font-size: var(--type-action);
  font-weight: 500;
}

.phone-link {
  font-family: var(--font-body);
}

/* 页面标题层级。 */
.image-banner-copy h1,
.hero h2 {
  font-size: var(--type-display-xl);
  line-height: 1.28;
  letter-spacing: .06em;
}

.inner-hero h1,
.article-hero h1,
.display-title,
.error404 .eryitang-main h1 {
  font-size: var(--type-page-title);
  line-height: 1.4;
  letter-spacing: .05em;
}

.section-title,
.conditions-heading .section-title,
.section-heading h2,
.story-statement blockquote {
  font-size: var(--type-section-title);
  line-height: 1.45;
  letter-spacing: .06em;
}

.article-body h2,
.article-body .related-heading h2 {
  font-size: var(--type-subsection-title);
  line-height: 1.5;
  letter-spacing: .03em;
}

.article-body h3 {
  font-size: 22px;
  line-height: 1.55;
}

/* 品牌重点介绍与长文阅读正文。 */
.hero-lead,
.lead,
.heritage-copy .section-desc {
  font-family: var(--font-display);
  font-size: var(--type-lead);
  line-height: 2;
  letter-spacing: .025em;
}

.section-desc,
.section-heading p,
.inner-hero p,
.contact-intro,
.contact-cta p,
.error404 .eryitang-main > p {
  font-family: var(--font-display);
  font-size: var(--type-body);
  line-height: 1.9;
}

.article-body p {
  max-width: 42em;
  font-family: var(--font-display);
  font-size: var(--type-reading);
  line-height: 2;
  letter-spacing: 0;
}

.article-body .quote {
  font-family: var(--font-display);
  font-size: 21px;
  line-height: 1.9;
}

/* 卡片标题。 */
.doctor-info h3,
.therapy-item h3,
.value-card h3,
.future-card h3,
.article-content h2,
.sidebar-title,
.ad-placeholder b {
  font-family: var(--font-display);
  font-size: var(--type-card-title);
  line-height: 1.55;
  letter-spacing: .04em;
}

.condition h3,
.news-row h4,
.credential-card figcaption strong,
.map-note strong {
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: .04em;
}

.news-feature h3 {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.6;
  letter-spacing: .04em;
}

.recommend-item h3,
.related-link-list strong {
  font-family: var(--font-display);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: .02em;
}

.related-feature > strong {
  font-family: var(--font-display);
  font-size: 19px;
  line-height: 1.65;
}

/* 卡片描述统一为 14px，避免首页中出现 12/13/14px 混用。 */
.doctor-info p,
.therapy-item p,
.condition p,
.news-feature p,
.news-row p,
.value-card p,
.future-card p,
.transport-card p,
.article-content p {
  font-family: var(--font-display);
  font-size: var(--type-card-copy);
  line-height: 1.85;
  letter-spacing: 0;
}

/* 标签、分类、日期、图片说明及辅助词。 */
.eyebrow,
.section-kicker,
.news-meta,
.related-heading span {
  font-family: var(--font-body);
  font-size: var(--type-eyebrow);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.doctor-tags span,
.subcategory-label,
.subcategory-links a,
.subcategory-links span,
.article-meta,
.article-tags span,
.article-tags a,
.contact-label,
.breadcrumb,
.article-date,
.article-content .date,
.image-caption,
.article-body figcaption,
.related-heading p,
.recommend-item > div > span,
.map-note span,
.credential-card figcaption span {
  font-family: var(--font-body);
  font-size: var(--type-meta);
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0;
}

/* WordPress 动态输出的悬浮咨询入口，对齐静态 V2 的同角色文字。 */
.eryitang-consultation-float {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: .16em;
}

.eryitang-consultation-float span {
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: 0;
}

.doctor-tags span,
.subcategory-links a,
.subcategory-links span,
.article-tags span,
.article-tags a,
.category-bar a {
  letter-spacing: .04em;
}

.fact strong,
.heritage-point strong {
  font-family: var(--font-display);
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .04em;
}

.fact small {
  font-family: var(--font-body);
  font-size: var(--type-meta);
  line-height: 1.6;
  letter-spacing: .03em;
}

/* 原型阶段的占位说明不低于 11px；正式图片替换后可整体移除。 */
.placeholder span,
.heritage-main::after,
.doctor-photo::after,
.news-image::after,
.hero-block::after,
.related-cover,
.qr-placeholder,
.banner-image-note {
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 1.6;
}

/* 底部信息。 */
.footer-contact h2 {
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: .06em;
}

.footer-contact p {
  font-size: var(--type-footer-link);
  line-height: 1.7;
}

.footer-phone {
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1;
  letter-spacing: .06em;
}

.footer-brand p {
  font-family: var(--font-display);
  font-size: var(--type-footer-link);
  line-height: 1.9;
}

.footer-column {
  font-family: var(--font-display);
  font-size: var(--type-footer-link);
  line-height: 1.75;
}

.footer-column h3 {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .1em;
}

/* 页面主标题只允许使用展示宋体；页面专属旧规则不得改写字体角色。 */
.page-brand-v1 .brand-story-sidebar h2,
.page-brand-v1 .brand-story-lead h2,
.page-brand-v1 .brand-heritage-copy h2,
.page-brand-v1 .brand-section-heading h2 {
  font-family: var(--font-display);
}

.footer-column a,
.footer-column span {
  font-size: var(--type-footer-link);
}

.footer-bottom {
  font-family: var(--font-body);
  font-size: var(--type-legal);
  line-height: 1.7;
}

@media (max-width: 1160px) {
  .main-nav a {
    font-size: 13px;
  }
}

@media (max-width: 900px) {
  .main-nav a {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.5;
  }
}

@media (max-width: 620px) {
  :root {
    --type-display-xl: 42px;
    --type-page-title: 34px;
    --type-section-title: 32px;
    --type-subsection-title: 24px;
    --type-lead: 16px;
    --type-reading: 16px;
    --type-body: 15px;
  }

  body {
    font-size: var(--type-body);
  }

  .image-banner-copy h1,
  .hero h2 {
    font-size: var(--type-display-xl);
  }

  .inner-hero h1,
  .article-hero h1,
  .display-title,
  .error404 .eryitang-main h1 {
    font-size: var(--type-page-title);
  }

  .eryitang-consultation-float {
    font-size: 13px;
    letter-spacing: .12em;
  }

  .section-title,
  .conditions-heading .section-title,
  .section-heading h2,
  .story-statement blockquote {
    font-size: var(--type-section-title);
  }

  .hero-lead,
  .lead,
  .heritage-copy .section-desc {
    font-size: var(--type-lead);
  }

  .article-body p {
    font-size: var(--type-reading);
  }

  .article-body h2,
  .article-body .related-heading h2 {
    font-size: var(--type-subsection-title);
  }

  .footer-contact h2,
  .footer-phone {
    font-size: 27px;
  }
}
