/* ============================================================
   财税知识库主题（faq）— 品牌蓝与官网一致（#1585c9 系）
   ============================================================ */
:root {
  --faq-primary: #1585c9;
  --faq-primary-dark: #0f6aa3;
  --faq-accent: #55acee;
  --faq-bg: #f5f8fb;
  --faq-border: #e3ecf3;
  --faq-text: #333;
  --faq-muted: #666;
}

body {
  color: var(--faq-text);
  background: #fff;
  font-size: 15px;
  overflow-x: hidden;
}

a { color: var(--faq-primary); }
a:hover { color: var(--faq-primary-dark); }

/* ---- 顶栏 ---- */
.topbar {
  background: #eef5fa;
  font-size: 13px;
  color: var(--faq-muted);
}
.topbar strong { color: var(--faq-primary-dark); }

/* ---- 导航 ---- */
.navbar-faq {
  background: var(--faq-primary);
  box-shadow: 0 2px 8px rgba(21, 133, 201, .18);
}
.navbar-faq .navbar-brand {
  color: #fff;
  font-weight: 700;
  font-size: 19px;
  display: flex;
  align-items: center;
}
.navbar-faq .navbar-brand img { height: 34px; margin-right: 8px; }
.navbar-faq .navbar-nav { flex-wrap: nowrap; white-space: nowrap; }
.navbar-faq .nav-item { white-space: nowrap; }
.navbar-faq .nav-link {
  color: rgba(255, 255, 255, .92) !important;
  padding-left: .65rem;
  padding-right: .65rem;
  font-size: 14.5px;
  white-space: nowrap;
}
.navbar-faq .nav-link:hover,
.navbar-faq .nav-item.active .nav-link { color: #fff !important; }
.navbar-faq .navbar-toggler { border-color: rgba(255,255,255,.5); }
.navbar-faq .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.badge-faq-brand {
  background: rgba(255, 255, 255, .22);
  color: #fff;
  font-weight: 400;
  font-size: 11px;
  padding: 3px 7px;
  border-radius: 4px;
}

/* ---- Hero ---- */
.hero {
  background: linear-gradient(135deg, #0f6aa3 0%, #1585c9 55%, #3aa0dc 100%);
  color: #fff;
  margin-top: -1.5rem;
}
.hero-title { font-weight: 800; font-size: 2rem; letter-spacing: 1px; }
.hero-sub { color: rgba(255, 255, 255, .88); }
.hero-search { max-width: 640px; }
.hero-search .form-control { border: none; height: 54px; font-size: 16px; }
.hero-search .btn { height: 54px; }
.hero-tags .badge-faq-tag {
  background: rgba(255, 255, 255, .18);
  color: #fff;
  margin: 0 6px 6px 0;
  padding: 6px 12px;
  border-radius: 20px;
}
.hero-tags .badge-faq-tag:hover { background: rgba(255, 255, 255, .32); color: #fff; text-decoration: none; }
.hero-count { color: rgba(255, 255, 255, .85); }
.hero-count strong { color: #fff; font-size: 1.15em; }

/* ---- 通用 ---- */
.btn-faq-primary {
  background: var(--faq-primary);
  border-color: var(--faq-primary);
  color: #fff;
}
.btn-faq-primary:hover {
  background: var(--faq-primary-dark);
  border-color: var(--faq-primary-dark);
  color: #fff;
}
.btn-faq-outline {
  border: 1px solid var(--faq-primary);
  color: var(--faq-primary);
}
.btn-faq-outline:hover { background: var(--faq-primary); color: #fff; }

.section-title {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: .35rem;
}
.section-title i { color: var(--faq-primary); margin-right: 6px; }
.section-sub { color: var(--faq-muted); margin-bottom: 1.25rem; }

.page-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: .25rem;
}
.page-desc { margin-bottom: 1.25rem; }

.faq-breadcrumb {
  background: var(--faq-bg);
  border-radius: 6px;
  padding: .55rem .9rem;
  font-size: 13px;
}

/* ---- 分类卡片 ---- */
.cat-card {
  border: 1px solid var(--faq-border);
  border-radius: 10px;
  transition: box-shadow .18s ease, transform .18s ease;
  position: relative;
}
.cat-card:hover {
  box-shadow: 0 8px 22px rgba(21, 133, 201, .14);
  transform: translateY(-2px);
}
.cat-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(21, 133, 201, .1);
  color: var(--faq-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  margin-right: 10px;
}
.cat-title { font-size: 1.08rem; font-weight: 700; }
.badge-faq-count {
  background: rgba(21, 133, 201, .1);
  color: var(--faq-primary-dark);
  font-weight: 500;
}
.cat-desc { min-height: 40px; }
.cat-latest li { margin-bottom: 5px; font-size: 13.5px; }
.cat-latest a { color: var(--faq-muted); }
.cat-latest a:hover { color: var(--faq-primary); }
.cat-more { font-size: 13.5px; position: relative; z-index: 2; }
.cat-card .stretched-link { z-index: 1; }
.cat-card .card-body { position: relative; z-index: 2; }

/* ---- FAQ 列表卡片 ---- */
.faq-card {
  border: 1px solid var(--faq-border);
  border-radius: 10px;
}
.faq-card .card-header {
  background: #fff;
  border-bottom: 1px solid var(--faq-border);
  padding: 0;
}
.faq-card .btn-link { color: var(--faq-text); font-weight: 600; text-decoration: none; padding: .9rem 1.15rem; }
.faq-card .btn-link:hover { color: var(--faq-primary); }
.faq-q-title { font-size: 1.05rem; font-weight: 700; }
.faq-q-title a { color: var(--faq-text); text-decoration: none; }
.faq-q-title a:hover { color: var(--faq-primary); }
.faq-meta .read-more { text-decoration: none; }
.faq-popular-wrap {
  background: var(--faq-bg);
}

/* ---- 文章详情 ---- */
.faq-detail-card {
  border: 1px solid var(--faq-border);
  border-radius: 10px;
}
.article-title {
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.4;
}
.direct-answer {
  background: rgba(21, 133, 201, .06);
  border-left: 4px solid var(--faq-primary);
  border-radius: 0 8px 8px 0;
  padding: .9rem 1.1rem;
}
.da-label {
  color: var(--faq-primary-dark);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: .35rem;
}
.article-content { line-height: 1.9; color: #3c3c3c; }
.article-content h2, .article-content h3 {
  font-size: 1.12rem;
  font-weight: 700;
  margin: 1.4rem 0 .6rem;
  padding-left: 9px;
  border-left: 4px solid var(--faq-primary);
}
.article-content ul, .article-content ol { padding-left: 1.4rem; }
.article-content li { margin-bottom: .35rem; }
.article-content table { background: #fff; }
.article-keywords .badge-faq-tag {
  background: var(--faq-bg);
  border: 1px solid var(--faq-border);
  color: var(--faq-muted);
  font-weight: 400;
  margin-right: 6px;
  padding: 5px 10px;
  border-radius: 20px;
}
.article-keywords .badge-faq-tag:hover { color: var(--faq-primary); border-color: var(--faq-primary); text-decoration: none; }
.related-list li { margin-bottom: 8px; }
.related-list a { color: var(--faq-text); }
.related-list a:hover { color: var(--faq-primary); }

/* ---- 侧栏 ---- */
.side-card {
  border: 1px solid var(--faq-border);
  border-radius: 10px;
}
.side-title {
  font-size: 1rem;
  font-weight: 700;
}
.side-title i { color: var(--faq-primary); margin-right: 6px; }
.side-cats li a {
  display: block;
  padding: 7px 4px;
  color: var(--faq-text);
  border-bottom: 1px dashed var(--faq-border);
  text-decoration: none;
}
.side-cats li:last-child a { border-bottom: none; }
.side-cats li a:hover { color: var(--faq-primary); }
.side-hot li { margin-bottom: 9px; font-size: 13.5px; }
.side-hot a { color: var(--faq-muted); }
.side-hot a:hover { color: var(--faq-primary); }

/* ---- 官网联动横幅 ---- */
.official-banner {
  background: linear-gradient(135deg, #eaf4fb, #f6fbff);
  border: 1px solid var(--faq-border);
  border-radius: 12px;
  padding: 1.3rem 1.5rem;
}
.official-banner h3 { font-size: 1.15rem; font-weight: 700; }
.official-banner h3 i { color: var(--faq-primary); margin-right: 6px; }

/* ---- 页脚 ---- */
.footer {
  background: #123c5c;
  color: rgba(255, 255, 255, .82);
  padding: 2.2rem 0 1.4rem;
  font-size: 13.5px;
}
.footer h5 { color: #fff; font-size: 15px; margin-bottom: .9rem; }
.footer a { color: rgba(255, 255, 255, .82); }
.footer a:hover { color: #fff; }
.footer-links { list-style: none; padding-left: 0; columns: 2; }
.footer-links li { margin-bottom: 6px; }
.footer-hr { border-top: 1px solid rgba(255, 255, 255, .14); }
