/* 国家子站 · 签证指南（列表 + 内容） */

body.visa-country-guide {
  background: #eef1f5 !important;
  color: #1f2430;
}

.cg-page {
  width: 1200px;
  max-width: 96%;
  margin: 16px auto 40px;
}

.cg-layout {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.cg-main {
  flex: 1;
  min-width: 0;
}

/* ---- 左侧菜单 ---- */
.cg-sidebar {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid #e3e9f2;
  border-radius: 4px;
  overflow: hidden;
}

.cg-side-hd {
  background: linear-gradient(180deg, #205fca 0%, #1a4fa8 100%);
  color: #fff;
  padding: 18px 16px;
  text-align: center;
}

.cg-side-hd h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}

.cg-side-hd em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 11px;
  letter-spacing: .08em;
  opacity: .92;
  text-transform: uppercase;
}

.cg-side-body {
  padding: 0;
}

.cg-side-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cg-side-menu li {
  border-bottom: 1px solid #eef2f7;
}

.cg-side-menu li:last-child {
  border-bottom: 0;
}

.cg-side-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  color: #333 !important;
  font-size: 14px;
  text-decoration: none !important;
  transition: background .15s, color .15s;
}

.cg-side-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

.cg-side-label b {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

.cg-side-label em {
  font-style: normal;
  font-size: 10px;
  letter-spacing: .06em;
  color: #8a94a6;
  text-transform: uppercase;
  line-height: 1.2;
}

.cg-side-menu a:hover {
  background: #f3f8ff;
  color: #205fca !important;
}

.cg-side-menu a:hover .cg-side-label em {
  color: #205fca;
}

.cg-side-menu li.is-active a {
  background: linear-gradient(90deg, #dba522 0%, #c8941a 100%);
  color: #fff !important;
}

.cg-side-menu li.is-active .cg-side-label b,
.cg-side-menu li.is-active .cg-side-label em {
  color: #fff !important;
}

.cg-side-arrow {
  width: 7px;
  height: 7px;
  border-top: 2px solid #c5cedb;
  border-right: 2px solid #c5cedb;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.cg-side-menu li.is-active .cg-side-arrow {
  border-color: #fff;
}

.cg-side-foot {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid #eef2f7;
  background: #fafbfd;
}

.cg-side-act {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 10px 12px;
  border: 1px solid #dce5f2;
  border-radius: 4px;
  background: #fff;
  color: #333 !important;
  text-decoration: none !important;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}

.cg-side-act:hover {
  border-color: #205fca;
  box-shadow: 0 2px 8px rgba(32, 95, 202, .08);
}

.cg-side-act-ico {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cg-side-act-ico img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.cg-side-act-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.cg-side-act-text b {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #333;
}

.cg-side-act-text em {
  font-style: normal;
  font-size: 10px;
  letter-spacing: .06em;
  color: #8a94a6;
  text-transform: uppercase;
  line-height: 1.2;
}

.cg-side-act-go {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cg-side-act-go img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

/* ---- 文章区 ---- */
.cg-article,
.cg-list-box {
  background: #fff;
  border: 1px solid #e3e9f2;
  border-radius: 4px;
  padding: 24px 28px 20px;
  margin-bottom: 16px;
}

.cg-title {
  margin: 0 0 12px;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.35;
}

.cg-title-qa {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  text-align: left;
}

.cg-title-ico {
  flex-shrink: 0;
  width: 40px !important;
  height: 40px !important;
  max-width: none !important;
  max-height: none !important;
  margin-top: 2px;
  object-fit: contain;
  display: block;
  background: transparent !important;
  border: 0 !important;
}

.cg-title-text {
  flex: 1;
  min-width: 0;
}

.cg-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  padding-bottom: 16px;
  margin-bottom: 18px;
  border-bottom: 1px solid #eef2f7;
  font-size: 13px;
  color: #888;
}

.cg-meta .cg-fav {
  margin-left: auto;
  color: #205fca !important;
  text-decoration: none !important;
}

/* ---- 文章详情页（政策/材料/FAQ） ---- */
.ca-article-page .cg-article {
  padding-top: 0;
}

.cg-article-nav {
  margin: 0 -28px 20px;
  padding: 10px 28px;
  background: #f3f5f8;
  border-bottom: 1px solid #e8edf3;
}

.cg-article-nav .ca-crumb,
.cg-article-nav p {
  margin: 0;
  font-size: 13px;
  color: #888;
  line-height: 1.5;
}

.cg-article-nav a {
  color: #666 !important;
  text-decoration: none !important;
}

.cg-article-nav a:hover {
  color: #205fca !important;
}

.ca-article-page .cg-promo {
  background: linear-gradient(90deg, #205fca 0%, #1a4fa8 55%, #2f7fd8 100%);
}

.ca-article-page .cg-promo-btn {
  background: #ffc107;
  color: #333 !important;
}

.ca-article-page .cg-lead-form button {
  background: #205fca;
  border-color: #205fca;
}

.ca-article-page .cg-lead-form button:hover {
  background: #1a4fa8;
}

.cg-promo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 0 24px;
  margin-bottom: 22px;
  border-radius: 4px;
  background: linear-gradient(90deg, #1a5fb4 0%, #2f7fd8 55%, #4a9ae8 100%);
  color: #fff !important;
  text-decoration: none !important;
  box-sizing: border-box;
}

.cg-promo-text {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .5px;
}

.cg-promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  height: 40px;
  padding: 0 18px;
  border-radius: 4px;
  background: #ffc107;
  color: #333 !important;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
}

.cg-content {
  font-size: 15px;
  line-height: 1.9;
  color: #333;
  word-wrap: break-word;
  min-height: 80px;
}

/* 「专业解答」题头：图标与文字同一行 */
.va-content .va-ans-hd,
.cg-content .cg-ans-hd,
.va-ans-hd,
.cg-ans-hd {
  display: table !important;
  width: auto !important;
  max-width: 100%;
  border: 0 !important;
  border-collapse: collapse !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  clear: both;
  float: none !important;
}
.va-content .va-ans-hd td,
.cg-content .cg-ans-hd td,
.va-ans-hd td,
.cg-ans-hd td {
  border: 0 !important;
  vertical-align: middle !important;
  padding: 0 !important;
  background: transparent !important;
}
.va-ans-hd .va-ans-ico-td,
.cg-ans-hd .va-ans-ico-td {
  width: 40px !important;
  padding-right: 10px !important;
  line-height: 0 !important;
}
.va-content .va-ans-hd img,
.cg-content .cg-ans-hd img,
.va-ans-hd img.va-ans-ico,
.cg-ans-hd img.cg-ans-ico,
.va-ans-ico,
.cg-ans-ico {
  display: inline-block !important;
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  margin: 0 !important;
  float: none !important;
  vertical-align: middle !important;
  object-fit: contain !important;
}
.va-content .va-ans-hd strong,
.cg-content .cg-ans-hd strong,
.va-ans-hd strong,
.cg-ans-hd strong {
  display: inline-block !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.va-content:has(.va-ans-hd) > img.va-content-ico,
.cg-content:has(.cg-ans-hd) > img.cg-content-ico,
.va-content:has(.cg-ans-hd) > img.cg-content-ico,
.cg-content:has(.va-ans-hd) > img.va-content-ico {
  display: none !important;
}

.cg-content-ico {
  float: left;
  width: 40px;
  height: 40px;
  margin: 2px 12px 8px 0;
  object-fit: contain;
}

.cg-list:empty,
.cg-embassy-grid:empty {
  min-height: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cg-content p {
  margin: 0 0 14px;
}

.cg-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 12px auto;
}

.cg-content > img.cg-content-ico {
  float: left;
  width: 40px;
  height: 40px;
  max-width: 40px;
  margin: 2px 12px 8px 0;
  object-fit: contain;
}

.cg-content h2,
.cg-content h3,
.cg-content h4 {
  margin: 22px 0 10px;
  font-weight: 700;
  color: #222;
}

.cg-content h2 { font-size: 20px; }
.cg-content h3 { font-size: 17px; }

.cg-content ul,
.cg-content ol {
  margin: 0 0 14px;
  padding-left: 1.4em;
}

.cg-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
}

.cg-content table td,
.cg-content table th {
  border: 1px solid #e6ebf2;
  padding: 8px 10px;
  vertical-align: top;
}

/* FPFJ-116：正文/表格内链（国家子站详情） */
.cg-content a,
.va-content a {
  color: #1a6fd4 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
}
.cg-content a:hover,
.va-content a:hover {
  color: #0f5bb8 !important;
  text-decoration: underline !important;
}
.cg-content table a,
.va-content table a {
  display: inline !important;
}

/* 内容页标签区已下线 */
.cg-tags,
.cg-tags-label,
.cg-tag {
  display: none !important;
}

/* 上下篇：与相关阅读同宽左右铺满，独立边框 */
table.cg-pager-tbl {
  display: table !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 28px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  box-sizing: border-box;
}
table.cg-pager-tbl td.cg-pager-cell {
  display: table-cell !important;
  width: 50% !important;
  text-align: left !important;
  background: #fff !important;
  border: 1px solid #dde3ec !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  float: none !important;
  flex: none !important;
}
table.cg-pager-tbl td.cg-pager-gap {
  width: 16px !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* 旧静态页仍是 section>div 时的左右兜底 */
section.cg-related {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  margin: 16px 0 !important;
}
section.cg-related > .cg-related-col {
  float: left !important;
  width: 49% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
section.cg-related > .cg-related-articles {
  margin-right: 2% !important;
}
section.cg-related > .cg-related-qa {
  float: right !important;
  margin-right: 0 !important;
}
table.cg-related,
.cg-related {
  width: 100% !important;
  max-width: 100% !important;
  margin: 16px 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  box-sizing: border-box !important;
  display: table !important;
  float: none !important;
  clear: both !important;
}

.cg-related tr {
  display: table-row !important;
}

td.cg-related-col,
.cg-related-col {
  width: 50% !important;
  background: #fff !important;
  border: 1px solid #e3e9f2 !important;
  border-radius: 4px;
  padding: 14px 16px 10px !important;
  box-sizing: border-box !important;
  vertical-align: top !important;
  display: table-cell !important;
  float: none !important;
}

td.cg-related-gap,
.cg-related-gap {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: table-cell !important;
}

.cg-related-hd {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eef2f7;
}

.cg-related-hd h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
}

.cg-related-list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
}

ul.cg-related-list li.cg-rel-item,
.cg-related-list li.cg-rel-item {
  display: block !important;
  height: 56px !important;
  line-height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px dashed #d8dee8 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  background: #fff !important;
  box-sizing: border-box;
}

ul.cg-related-list li.cg-rel-item:last-child,
.cg-related-list li.cg-rel-item:last-child {
  border-bottom: 1px dashed #d8dee8 !important;
}

/* 新结构：图标用 img，禁用旧 ::before，避免挡住标题首字 */
.cg-related-list a::before,
.cg-related-list.is-qa a::before,
.cg-related-list a.cg-rel-link::before {
  content: none !important;
  display: none !important;
}

td.cg-rel-ico img {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

td.cg-rel-t a.cg-rel-link,
.cg-related-list a.cg-rel-link {
  display: block !important;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #222 !important;
  text-decoration: none !important;
  line-height: 56px !important;
  height: 56px !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  position: static !important;
  background: none !important;
  border: 0 !important;
  font-size: 17px;
  box-sizing: border-box;
}

.cg-related-list a.cg-rel-link:hover {
  color: #1a5fb4 !important;
}

td.cg-rel-d,
.cg-related-list .ch-date {
  flex-shrink: 0;
  width: 96px;
  text-align: right;
  color: #999;
  font-size: 13px;
  line-height: 44px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* ---- 列表页 ---- */
.cg-list-hd h1 {
  margin: 0 0 8px;
  font-size: 24px;
  color: #1a1a1a;
}

.cg-list-hd p {
  margin: 0 0 16px;
  font-size: 13px;
  color: #999;
}

/* 大使馆列表：当前位置在上，标题居中带国名，无蓝色推广条 */
.cg-list-hd-embassy {
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef1f5;
}

.cg-list-hd-embassy .cg-crumb {
  margin: 0 0 14px;
  font-size: 13px;
  color: #999;
  text-align: left;
}

.cg-list-hd-embassy h1 {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  line-height: 1.4;
}

.cg-embassy-list-box .cg-embassy-intro {
  margin-top: 0;
}

.cg-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cg-list .vz-item {
  padding: 16px 0;
  border-bottom: 1px dashed #e8edf4;
}

.cg-list .cg-empty {
  padding: 40px 0;
  text-align: center;
  color: #999;
}

.cg-pages {
  margin-top: 16px;
  text-align: center;
}

/* 列表底栏：共 N 条 + 页码同一行（与 visa-country-list.css 一致） */
.cl-list-pagebar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  padding: 8px 0 4px;
  text-align: center;
}
.cl-list-total {
  margin: 0;
  font-size: 14px;
  color: #666;
  white-space: nowrap;
  line-height: 32px;
}
.cl-list-total strong {
  color: #205fca;
  font-weight: 700;
}
.cl-list-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.cl-pg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #d8e3f2;
  border-radius: 3px;
  background: #fff;
  color: #205fca !important;
  font-size: 13px;
  text-decoration: none !important;
  box-sizing: border-box;
}
a.cl-pg:hover {
  border-color: #205fca;
  background: #f7faff;
}
.cl-pg.is-curr {
  background: #205fca;
  border-color: #205fca;
  color: #fff !important;
  font-weight: 700;
}
.cl-pg.is-disabled {
  color: #aaa !important;
  border-color: #e8edf5;
  background: #f7f8fa;
  cursor: default;
}
.cl-list-more,
.cl-list-prev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  padding: 10px 24px;
  margin: 0 6px 8px;
  border: 1px solid #d8e3f2;
  border-radius: 3px;
  background: #fff;
  color: #205fca !important;
  font-size: 14px;
  text-decoration: none !important;
  transition: border-color .2s, color .2s, background .2s;
}
.cl-list-more:hover,
.cl-list-prev:hover {
  border-color: #205fca;
  background: #f7faff;
  color: #174da8 !important;
}
.cl-list-more span::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 6px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid currentColor;
  vertical-align: middle;
}

/* ---- 大使馆列表 ---- */
.cg-embassy-intro {
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #f7faff;
  border: 1px solid #e3ecf8;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.8;
  color: #555;
}

.cg-embassy-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: start;
  grid-auto-rows: min-content;
}

.cg-embassy-list-box {
  min-height: 0;
  height: auto;
}

.cg-embassy-list-box .cg-embassy-grid {
  margin-bottom: 0;
}

.cg-embassy-list-box .cg-pages:empty {
  display: none;
  margin: 0;
  padding: 0;
}

.cg-embassy-card {
  display: block;
  padding: 18px 16px;
  border: 1px solid #e8edf4;
  border-radius: 6px;
  background: #fafbfd;
  min-width: 0;
  width: 100%;
  height: auto;
  min-height: 0;
  box-sizing: border-box;
  align-self: start;
  text-decoration: none !important;
  color: inherit;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.cg-embassy-card:hover {
  border-color: #7ab648;
  box-shadow: 0 2px 10px rgba(122, 182, 72, .12);
}

.cg-embassy-card-hd {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.cg-embassy-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 18px;
  border: 1px solid #e8edf4;
  border-radius: 6px;
  background: #fafbfd;
}

.cg-embassy-pic {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(26, 95, 180, .12);
  display: block;
}

.cg-embassy-pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cg-embassy-body {
  flex: 1;
  min-width: 0;
}

.cg-embassy-name {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  color: #1a1a1a;
  flex: 1;
  min-width: 0;
}

.cg-embassy-name,
.cg-embassy-name a {
  color: #1a1a1a !important;
  text-decoration: none !important;
}

.cg-embassy-card:hover .cg-embassy-name,
.cg-embassy-name a:hover {
  color: #1a5fb4 !important;
}

.cg-embassy-zone,
.cg-embassy-addr {
  margin: 0 0 8px;
  padding: 0;
  font-size: 14px;
  line-height: 1.75;
  color: #555;
}

.cg-embassy-zone-txt {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cg-embassy-zone strong,
.cg-embassy-addr strong {
  color: #333;
  font-weight: 600;
}

.cg-embassy-addr {
  margin-bottom: 0;
}

/* 清理内容里多余换行（旧静态页可能带 br） */
.cg-embassy-zone-txt br {
  display: none;
}

/* 列表内容模板若把地址写在正文，只取首段纯文本 */
.cg-embassy-addr p {
  display: inline;
  margin: 0;
}

/* ---- 大使馆详情联系块 ---- */
.cg-embassy-detail {
  margin: 0 0 20px;
}

.cg-embassy-detail .cg-embassy-pic {
  width: 120px;
  height: 120px;
}

.cg-embassy-detail .cg-embassy-name {
  margin: 0 0 12px;
  font-size: 20px;
}

.cg-embassy-meta {
  margin: 0;
  padding: 0;
}

.cg-embassy-meta-row {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.75;
  color: #555;
}

.cg-embassy-meta-row dt {
  flex-shrink: 0;
  margin: 0;
  font-weight: 600;
  color: #333;
}

.cg-embassy-meta-row dd {
  margin: 0;
  flex: 1;
  min-width: 0;
}

@media (max-width: 640px) {
  .cg-embassy-detail {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .cg-embassy-meta-row {
    justify-content: center;
  }
}

@media (max-width: 992px) {
  .cg-embassy-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .cg-embassy-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- 获客表单 ---- */
.cg-lead {
  background: #fff;
  border: 1px solid #e3e9f2;
  border-radius: 4px;
  padding: 20px 24px;
  margin-bottom: 16px;
}

.cg-lead-hd h3 {
  margin: 0 0 6px;
  font-size: 18px;
  color: #1a5fb4;
}

.cg-lead-hd p {
  margin: 0 0 14px;
  font-size: 13px;
  color: #888;
}

.cg-lead-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cg-lead-form input[type="text"] {
  flex: 1;
  min-width: 160px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #dce5f2;
  border-radius: 4px;
  font-size: 14px;
}

.cg-lead-form button {
  min-width: 120px;
  height: 40px;
  border: 0;
  border-radius: 4px;
  background: #1a5fb4;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

/* ---- 热门产品 ---- */
.cg-hot-prod {
  background: #fff;
  border: 1px solid #e3e9f2;
  border-radius: 4px;
  padding: 18px 20px 12px;
  margin-bottom: 16px;
}

.cg-block-hd,
.cg-bottom-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.cg-block-hd h3,
.cg-bottom-hd h4 {
  margin: 0;
  font-size: 16px;
  color: #1a1a1a;
}

.cg-more {
  font-size: 13px;
  color: #888 !important;
  text-decoration: none !important;
}

.cg-prod-list .vp-item {
  margin-bottom: 12px;
}

/* ---- 底部六宫格 ---- */
.cg-bottom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.cg-bottom-box {
  background: #fff;
  border: 1px solid #e3e9f2;
  border-radius: 4px;
  padding: 14px 16px 10px;
  min-height: 180px;
}

.cg-bottom-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cg-bottom-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px dashed #f0f3f8;
  font-size: 13px;
}

.cg-bottom-list li:last-child {
  border-bottom: 0;
}

.cg-bottom-list a {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #444 !important;
  text-decoration: none !important;
}

.cg-bottom-list .ch-date {
  flex-shrink: 0;
  color: #aaa;
  font-size: 12px;
}

/* ---- 响应式 ---- */
@media (max-width: 960px) {
  .cg-layout {
    flex-direction: column;
  }

  .cg-sidebar {
    width: 100%;
  }

  .cg-related {
    /* 桌面保持 table 左右；小屏再叠放 */
  }

  .cg-bottom-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cg-promo {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 18px;
  }

  .cg-promo-text {
    font-size: 18px;
  }
}

@media (max-width: 640px) {
  .cg-pager {
    flex-direction: column;
  }

  table.cg-related,
  table.cg-related tr,
  td.cg-related-col,
  td.cg-related-gap {
    display: block !important;
    width: 100% !important;
  }
  td.cg-related-gap {
    height: 12px !important;
  }

  .cg-bottom-grid {
    grid-template-columns: 1fr;
  }

  .cg-article,
  .cg-list-box {
    padding: 18px 16px;
  }

  .cg-title {
    font-size: 22px;
  }

  .cg-lead-form {
    flex-direction: column;
  }

  .cg-lead-form button {
    width: 100%;
  }
}

/* 顶栏 Logo hover：本文件在指南/内容页最后加载，再压 style.css #c30 */
body.visa-country-guide .ch-header a.ch-logo,
body.visa-country-guide .ch-header a.ch-logo:link,
body.visa-country-guide .ch-header a.ch-logo:visited,
body.visa-country-guide .ch-header a.ch-logo:hover,
body.visa-country-guide .ch-header a.ch-logo:focus,
body.visa-country-guide .ch-header a.ch-logo:active,
body.infopage .ch-header a.ch-logo,
body.infopage .ch-header a.ch-logo:link,
body.infopage .ch-header a.ch-logo:visited,
body.infopage .ch-header a.ch-logo:hover,
body.infopage .ch-header a.ch-logo:focus,
body.infopage .ch-header a.ch-logo:active,
body.cg-article-page .ch-header a.ch-logo,
body.cg-article-page .ch-header a.ch-logo:hover,
body.ca-article-page .ch-header a.ch-logo,
body.ca-article-page .ch-header a.ch-logo:hover {
  color: #fff !important;
  text-decoration: none !important;
}
body.visa-country-guide .ch-header a.ch-logo .ch-logo-text strong,
body.visa-country-guide .ch-header a.ch-logo .ch-logo-text em,
body.visa-country-guide .ch-header a.ch-logo:hover .ch-logo-text strong,
body.visa-country-guide .ch-header a.ch-logo:hover .ch-logo-text em,
body.infopage .ch-header a.ch-logo .ch-logo-text strong,
body.infopage .ch-header a.ch-logo .ch-logo-text em,
body.infopage .ch-header a.ch-logo:hover .ch-logo-text strong,
body.infopage .ch-header a.ch-logo:hover .ch-logo-text em {
  color: #fff !important;
}
