/**
 * fileformat.app 字体与 UI 规范 — 3v.gg 全站统一
 * 正文：Red Hat Display 16px / 1.5
 * 标题：Encode Sans Semi Condensed（Bootstrap 响应字号）
 * 顶栏菜单：Arial 14px（与目标站 structure.css 一致）
 */
:root {
  --ff-body: "Red Hat Display", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --ff-heading: "Encode Sans Semi Condensed", "Red Hat Display", "PingFang SC", "Microsoft YaHei", sans-serif;
  --ff-nav: Arial, Verdana, Tahoma, sans-serif;
  --ff-body-size: 1rem;
  --ff-body-lh: 1.5;
  --ff-text: #212529;
  --ff-muted: #6c757d;
  --ff-nav-bg: #111111;
  --ff-nav-h: 60px;
  --ff-accent: #1cb9dc;
  --ff-cta: #ffc107;
  --bs-font-sans-serif: var(--ff-body);
  --bs-body-font-family: var(--ff-body);
  --bs-body-font-size: var(--ff-body-size);
  --bs-body-line-height: var(--ff-body-lh);
  --bs-body-color: var(--ff-text);
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--ff-body) !important;
  font-size: var(--ff-body-size) !important;
  line-height: var(--ff-body-lh) !important;
  color: var(--ff-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.innerbanner-bar h1, .innerbanner-bar h2,
.btn-all, .blockcards h3, .blockcards h4 {
  font-family: var(--ff-heading) !important;
  font-weight: 600;
}

/* 目标站顶栏 */
.topheader,
.topheader .headmenu,
.topheader .headmenu a,
.topheader .headmenu li,
.menuitems,
.menuitems a,
#DynabicMenuInnerDiv .topheader,
.headermain .headmenu a {
  font-family: var(--ff-nav) !important;
  font-size: 14px !important;
}

.topheader {
  min-height: var(--ff-nav-h) !important;
  height: var(--ff-nav-h) !important;
  background: var(--ff-nav-bg) !important;
}

#DynabicMenuInnerDiv {
  margin-bottom: var(--ff-nav-h) !important;
}

/* Hero 横幅字号（与 fileformat main.css 一致） */
.innerbanner-bar h1 {
  font-size: calc(1.625rem + 4.5vw) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

@media (min-width: 1200px) {
  .innerbanner-bar h1 {
    font-size: 5rem !important;
  }
}

.innerbanner-bar h2 {
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* 子页面正文 */
.subpage-content,
.subpage-content p,
.subpage-content li {
  font-size: 1rem;
  line-height: 1.5;
}

.subpage-content h1 {
  font-size: calc(1.375rem + 1.5vw);
}

.subpage-content h2 {
  font-size: calc(1.325rem + 0.9vw);
}

.subpage-content h3 {
  font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
  .subpage-content h1 { font-size: 2.5rem; }
  .subpage-content h2 { font-size: 2rem; }
  .subpage-content h3 { font-size: 1.75rem; }
}

/* 按钮与 CTA */
.btn-cta-yellow,
a.btn-cta-yellow {
  background-color: var(--ff-cta) !important;
  border-color: var(--ff-cta) !important;
  color: #212529 !important;
  font-family: var(--ff-heading) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  border-radius: 0.375rem;
}

.btn-link,
a.btn-link {
  color: var(--ff-accent) !important;
  font-size: 1rem;
}

/* 表单控件 */
.btn, .form-control, .form-select, input, select, textarea {
  font-family: var(--ff-body) !important;
  font-size: 1rem;
}

.form-label, label {
  font-size: 1rem;
  font-weight: 500;
}

.small, small, .text-muted {
  font-size: 0.875em !important;
}

/* 卡片标题 */
.blockcards h3, .blockcards h4 {
  font-size: 1.25rem;
}

.list-group-item h5 {
  font-size: 1.1rem;
  margin-bottom: 0.35rem;
}
