.visa-information-page {
  min-width: 0;
  padding: 50px 24px 53px;
  background: #f7f9fc;
}

.visa-information-layout {
  display: grid;
  grid-template-columns: minmax(0, 1092px) 350px;
  gap: 18px;
  width: min(calc(100% - 36px), 1462px);
  margin: 0 auto;
  align-items: start;
}

.visa-information-card {
  width: 100%;
  overflow: hidden;
  border: 1px solid #e3e9f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(16, 47, 82, .06);
}

.visa-information-ad-placeholder {
  min-height: 608px;
  border: 1px solid #e1e7ef;
  border-radius: 12px;
  background: #edf1f5;
}

.visa-information-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 40px;
  padding: 27px 0 20px;
  border-bottom: 1px solid #edf1f5;
}

.visa-information-eyebrow {
  margin: 0;
  color: #0756ad;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.visa-information-heading h1 {
  margin: 8px 0 0;
  color: #172033;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.25;
}

.visa-information-summary {
  margin: 9px 0 0;
  color: #6d7788;
  font-size: 14px;
  line-height: 1.7;
}

.visa-information-form-action {
  flex: 0 0 auto;
  text-align: right;
}

.visa-information-form-action p {
  margin: 0 0 7px;
  color: #98a1b0;
  font-size: 12px;
}

.visa-information-form-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 20px;
  border-radius: 8px;
  background: #f2b900;
  box-shadow: 0 5px 12px rgba(242, 185, 0, .2);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .15s ease, transform .15s ease;
}

.visa-information-form-link:hover,
.visa-information-form-link:focus-visible { background: #d9a600; color: #fff; }
.visa-information-form-link:active { transform: scale(.98); }

.visa-information-table-wrap { overflow-x: auto; margin: 20px 40px 30px; border: 1px solid #e3e9f1; border-radius: 12px; }
.visa-information-table { width: 100%; min-width: 720px; border-collapse: collapse; table-layout: fixed; }
.visa-information-table thead { background: #f8fafc; color: #556174; }
.visa-information-table th { padding: 15px 24px; font-size: 14px; font-weight: 600; letter-spacing: .04em; text-align: left; }
.visa-information-table th:first-child { width: 280px; }
.visa-information-table th:nth-child(2) { width: 110px; text-align: center; }
.visa-information-table tbody tr { cursor: pointer; transition: background-color .15s ease; }
.visa-information-table tbody tr:hover { background: #f4f8fe; }
.visa-information-table tbody tr:hover td:first-child a { color: #0756ad; }
.visa-information-table tbody tr:hover .visa-information-type a { border-color: #9fc4ee; background: #e4f0ff; transform: translateY(-1px); }
.visa-information-table td { padding: 14px 24px; border-top: 1px solid #edf1f5; color: #6d7788; font-size: 14px; line-height: 1.65; vertical-align: middle; }
.visa-information-table td a { color: inherit; text-decoration: none; transition: color .15s ease; }
.visa-information-table td:first-child a { color: #273245; font-weight: 600; }
.visa-information-table td a:hover,
.visa-information-table td a:focus-visible { color: #0756ad; outline: none; }
.visa-information-type { text-align: center; }
.visa-information-type a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 24px; padding: 0 7px; border: 1px solid #cfe0f7; border-radius: 6px; background: #eff6ff; color: #0756ad !important; font-size: 12px; font-weight: 700; transition: border-color .15s ease, background-color .15s ease, transform .15s ease; }
.visa-information-empty { margin: 30px 40px; padding: 24px; border-radius: 8px; background: #f8fafc; color: #788496; font-size: 14px; text-align: center; }
.visa-information-mobile-list { display: none; }

@media (max-width: 1700px) {
  .visa-information-layout { grid-template-columns: minmax(0, 1fr) 350px; }
}

@media (max-width: 900px) {
  .visa-information-page { padding-top: 28px; }
  .visa-information-layout { display: block; width: 100%; }
  .visa-information-ad-placeholder { display: none; }
}

@media (max-width: 767px) {
  .visa-information-page { padding: 16px; }
  .visa-information-card { border-radius: 10px; }
  .visa-information-heading { display: block; margin: 0 20px; padding: 22px 0 17px; }
  .visa-information-heading h1 { font-size: 24px; }
  .visa-information-form-action { margin-top: 17px; text-align: left; }
  .visa-information-form-link { min-height: 38px; }
  .visa-information-table-wrap { display: none; }
  .visa-information-mobile-list { display: block; margin: 18px 20px 24px; overflow: hidden; border: 1px solid #e3e9f1; border-radius: 10px; }
  .visa-information-mobile-item { display: block; padding: 15px; border-bottom: 1px solid #edf1f5; color: #6d7788; text-decoration: none; }
  .visa-information-mobile-item:last-child { border-bottom: 0; }
  .visa-information-mobile-item:hover,
  .visa-information-mobile-item:focus-visible { background: #f0f7ff; }
  .visa-information-mobile-item:active { background: #e4f0ff; }
  .visa-information-mobile-item strong { display: block; color: #273245; font-size: 14px; line-height: 1.5; }
  .visa-information-mobile-item span { display: block; margin-top: 5px; font-size: 13px; line-height: 1.6; }
  .visa-information-empty { margin: 24px 20px; }
}

/* 右侧广告位沿用原占位布局，仅补充 Swiper 容器与轮播状态。 */
.visa-information-body .main-height { overflow-x: clip; }
.visa-information-ad.visa-information-ad-placeholder { position: sticky; top: 20px; align-self: start; width: 350px; height: 608px; overflow: hidden; background: #fff; box-shadow: 0 4px 15px rgba(24, 42, 72, .08); }
.visa-information-ad__slide { display: block; height: 100%; }
.visa-information-ad__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.visa-information-ad__badge { position: absolute; z-index: 2; top: 16px; right: 14px; display: grid; min-width: 49px; height: 27px; place-items: center; border-radius: 14px; background: rgba(15, 23, 42, .45); color: #fff; font-size: 12px; }
.visa-information-ad .swiper-pagination { bottom: 24px; }
.visa-information-ad .swiper-pagination-bullet { width: 6px; height: 6px; background: #fff; opacity: .5; }
.visa-information-ad .swiper-pagination-bullet-active { width: 28px; border-radius: 4px; opacity: 1; }
