/* v3 官网通用：品牌 token；首页专用见 css/v3/home.css */
:root {
  /* Logo 蓝系（#0064cf 为品牌锚点） */
  --v3-brand: #0064cf;
  --v3-brand-deep: #004a9a;
  --v3-brand-bright: #1a7fff;
  --v3-brand-soft: #e8f2fc;
  --v3-ink: #0b1f3a;
  --v3-ink-muted: #4a5d78;
  --v3-surface: #f5f8fc;
  --v3-surface-elevated: #ffffff;
  --v3-line: rgba(11, 31, 58, 0.08);
  --v3-radius-sm: 8px;
  --v3-radius-md: 8px;
  --v3-radius-lg: 12px;
  --v3-shadow-soft: 0 10px 28px rgba(11, 31, 58, 0.06);
  /* 与 v3r-design 一致（display=标题衬线，body=UI  sans） */
  --v3-font-display: "Noto Serif TC", "Songti TC", "Source Han Serif TC", "PMingLiU", serif;
  --v3-font-body: "Inter", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* 兼容旧变量名 */
  --v3-dark: var(--v3-ink);
  --v3-blue: var(--v3-brand);
}

.v3-page {
  margin: 0;
  color: var(--v3-ink-muted);
  font-family: var(--v3-font-body);
  line-height: 1.75;
  background: var(--v3-surface);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.v3-page h1,
.v3-page h2,
.v3-page h3,
.v3-page h4,
.v3-page .navbar-brand,
.v3-page .ad-title-text {
  font-family: var(--v3-font-display);
  font-weight: 700;
  letter-spacing: 0.005em;
}

/* 固定顶栏：旧 Bootstrap navbar；v3r 设计稿为 sticky site-header，无需 body 上留白 */
body.v3-page:not(:has(> .home-page)):not(:has(.site-header.ipf-v3r)) {
  padding-top: 4.5rem;
}

body.v3-page:not(:has(.home-page)):not(.promotion-plan-page) .animate-section {
  opacity: 1 !important;
  transform: none !important;
}

.text-theme-black {
  color: var(--v3-ink);
}

.v3-page .bg-box,
.v3-page .de-box,
.v3-page .lo-box,
.v3-page .question-box {
  padding: 2rem 0;
}

.v3-page .bg-box {
  margin-top: 0;
}

.v3-page .bg-inner,
.v3-page .de-info {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

.v3-page .de-item-inner {
  padding: 1rem;
  border: 1px solid var(--v3-line);
  border-radius: var(--v3-radius-sm);
  height: 100%;
  background: var(--v3-surface-elevated);
}

.v3-page img {
  max-width: 100%;
  height: auto;
}

.v3-page .lo-items {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.v3-page .lo-item-inner {
  min-width: 140px;
  text-align: center;
  padding: 1rem;
  border: 1px solid var(--v3-line);
  border-radius: var(--v3-radius-sm);
  background: var(--v3-surface-elevated);
}

.policy-doc {
  max-width: 1200px;
  margin: 0 auto;
  padding: calc(2rem + 1.25rem) 1rem 4rem;
}

.policy-doc h1,
.policy-doc h2,
.policy-doc h3 {
  color: var(--v3-ink);
}

.v3-page .fe-box .fe-cards {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 0.75rem;
}

@media (min-width: 992px) {
  .v3-page .fe-box .fe-cards .fe-card {
    flex: 0 0 calc((100% - 1.5rem) / 3) !important;
    width: calc((100% - 1.5rem) / 3) !important;
    max-width: calc((100% - 1.5rem) / 3) !important;
  }
}

@media (max-width: 991.98px) {
  .v3-page .fe-box .fe-cards .fe-card {
    flex: 0 0 calc((100% - 0.75rem) / 2) !important;
    width: calc((100% - 0.75rem) / 2) !important;
    max-width: calc((100% - 0.75rem) / 2) !important;
  }
}

@media (max-width: 575.98px) {
  .v3-page .fe-box .fe-cards .fe-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
