/* Base */
* {
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  background: #fff;
  color: #111827;
}

/* ===== Fixed Header (two rows) ===== */
:root {
  --header-h: 140px;
}

/* space reserved for fixed header (adjust if needed) */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  z-index: 1000;
  border-bottom: 1px solid #e9eef3;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
}

.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px 14px;
}

/* Row 1: brand */
.row-top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-logo {
  width: 56px;
  height: 56px;
  object-fit: contain;
}

.brand-text h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: .3px;
}

.brand-text p {
  margin: 4px 0 0;
  font-size: 13px;
  color: #6b7280;
}

/* Row 2: book left, contact right */
.row-bottom {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Book Now Button */
.book-btn {
  background: #2a6ebd;
  color: #fff;
  padding: 10px 22px;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}

/* Contact us Section */
.header-right {
  display: flex;
  align-items: center;
  gap: 14px;
}

.contact-title {
  font-size: 22px;
  color: #111827;
  white-space: nowrap;
}

.contact-box {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 16px;
  background: #eef3f7;
  border-radius: 10px;
}

.contact-box a {
  display: inline-flex;
  line-height: 0;
  text-decoration: none;
  color: #374151;
  font-size: 20px;
}

.contact-box a:hover {
  opacity: .9;
}

/* Leave space for the fixed header */
body {
  padding-top: var(--header-h);
}

/* Tabs */
.tabs {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 16px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e7eb;
}

.tabs a {
  padding: 10px 4px;
  text-decoration: none;
  color: #374151;
}

.tabs a.active {
  border-bottom: 2px solid #2a6ebd;
  color: #111827;
  font-weight: 600;
}

/* Container */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.section-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  justify-content: center;
  color: #7a2d22;
}

.tour-section {
  margin-bottom: 40px;
}

.tour-section h2 {
  font-size: 26px;
}

/* .tour-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  justify-content: flex-start;
  color: #7a2d22;
} */

.tour-head {
  position: relative;
  font-size: 28px;
  font-weight: 800;
  color: #1d133a;
  /* color: #2a6ebd; */
  display: inline-block;
  /* display: flex; */
  /* padding-bottom: 8px; */
  gap: 10px;
}

.view-link {
  font-size: 14px;
  color: #2a6ebd;
  text-decoration: none;
}

.tour-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 20px;
}

.tour-card {
  display: block;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: transform 0.2s;
  text-decoration: none;
  color: inherit;
}

.tour-card:hover {
  transform: translateY(-4px);
}

.tour-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.tour-info {
  padding: 15px;
}

.tour-info h3 {
  margin: 0;
  font-size: 18px;
}

.tour-info p {
  font-size: 14px;
  color: #6b7280;
  margin: 8px 0;
}

.price {
  font-weight: 700;
  color: #2a6ebd;
  display: block;
  margin-bottom: 10px;
}

.icons i {
  margin-right: 6px;
  color: #4b5563;
}

/* Responsive */
@media (max-width: 900px) {
  :root {
    --header-h: 168px;
  }

  /* slightly larger to avoid overlap on small screens */
  .header-inner {
    padding: 10px 16px 12px;
  }

  .brand-logo {
    width: 48px;
    height: 48px;
  }

  .brand-text h1 {
    font-size: 24px;
  }

  .row-bottom {
    margin-top: 8px;
  }

  .contact-title {
    font-size: 18px;
  }

  .contact-box {
    gap: 14px;
    padding: 8px 12px;
  }

  .tour-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Why Travel With Us ===== */
.why-us {
  max-width: 1200px;
  margin: 48px auto 24px;
  padding: 0 20px;
}

.why-us__title {
  text-align: center;
  font-size: 28px;
  color: #7a2d22;
  /* 温暖一点的标题色，可改 */
  margin: 0 0 24px;
  font-weight: 700;
}

.why-us__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.why-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 22px 20px 24px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .03);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.why-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .06);
  border-color: #d8dee6;
}

.why-card__icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 14px;
  border-radius: 999px;
  background: #eceff4;
  /* 浅底圆 */
  display: grid;
  place-items: center;
}

.why-card__icon i {
  font-size: 22px;
  color: #2a6ebd;
  /* 品牌蓝，与站点统一 */
}

.why-card__heading {
  font-size: 18px;
  margin: 6px 0 10px;
  font-weight: 700;
  color: #1f2937;
}

.why-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0;
}

/* 响应式 */
@media (max-width: 1024px) {
  .why-us__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .why-us__grid {
    grid-template-columns: 1fr;
  }

  .why-us__title {
    font-size: 24px;
  }
}

/* ===== Latest Reviews ===== */
.reviews {
  background: #ffffff3a;
  /* 轻米色，可调 */
  padding: 36px 0 48px;
}

.reviews__title {
  text-align: center;
  font-size: 28px;
  color: #7a2d22;
  /* 温暖一点的标题色，可改 */
  margin: 0 0 24px;
  font-weight: 700;
}

.reviews__wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 22px;
}

/* left panel */
.reviews__left {
  background: transparent;
  padding: 8px 6px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
}

.score-badge {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  color: #7a2d22;
  font-weight: 700;
}

.stars span {
  color: #1fb141;
  font-size: 18px;
  margin-right: 2px;
}

.score-text {
  color: #333;
  font-weight: 600;
}

.trust {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #118955;
  font-weight: 700;
}

.trust-star {
  color: #118955;
}

/* right slider area */
.reviews__right {
  position: relative;
}

.review-slider {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 10px 18px rgba(0, 0, 0, .08);
  background: #fff;
}

/* slides */
.review-slide {
  width: 100%;
  display: none;
  position: relative;
  min-height: 150px;
}

.review-slide.is-active {
  display: block;
}

.review-slide img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

/* meta overlay card */
.review-meta {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
  background: #fff;
  margin: 20px 16px 16px;
  padding: 14px 16px;
  border-radius: 12px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, .08);
}

.avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #6b5cff;
  color: #fff;
  font-weight: 700;
}

.meta-text .name {
  font-weight: 700;
  color: #1f2937;
}

.meta-text .date {
  font-size: 12px;
  color: #6b7280;
  margin: 2px 0 4px;
}

.meta-text .line-stars {
  color: #1fb141;
  letter-spacing: 1px;
}

.meta-text .title {
  margin-top: 6px;
  font-weight: 700;
  color: #1f2937;
}

/* controls */
.review-controls {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.ctrl {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: none;
  background: #0f1f2e;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}

.ctrl:hover {
  opacity: .85;
}

.dots {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.dots button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: #cfd6de;
  cursor: pointer;
}

.dots button.is-active {
  background: #2a6ebd;
}

/* responsive */
@media (max-width: 900px) {
  .reviews__wrap {
    grid-template-columns: 1fr;
  }

  .reviews__left {
    align-items: center;
    text-align: center;
  }
}

/* ===== Footer ===== */
.site-footer {
  background: #0f1f2e;
  /* 深色背景 */
  color: #fff;
  padding: 40px 20px 30px;
  margin-top: 50px;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* 第一行标题 */
.footer-title {
  text-align: center;
  font-size: 24px;
  color: #ffffff;
  margin-bottom: 32px;
  font-weight: 700;
}

/* 内容区域：两列布局 */
.footer-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.footer-left h3,
.footer-right h3 {
  font-size: 18px;
  margin-bottom: 14px;
  color: #f0f4f8;
}

/* 左侧联系信息 */
.contact-info {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-info li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 15px;
}

.contact-info i {
  color: #2a6ebd;
  font-size: 18px;
  width: 20px;
  text-align: center;
}

.contact-info a {
  color: #e5e7eb;
  text-decoration: none;
}

.contact-info a:hover {
  color: #ffffff;
}

/* 右侧社交链接 */
.social-links {
  display: flex;
  gap: 16px;
}

.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #2a6ebd;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.3s ease;
}

.social-links a:hover {
  background: #1b4a80;
  transform: translateY(-3px);
}

/* 响应式布局 */
@media (max-width: 768px) {
  .footer-content {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .contact-info li {
    justify-content: center;
  }

  .social-links {
    justify-content: center;
  }
}


/* ===== Footer ===== */
.site-footer {
  background: #304b64;
  color: #fff;
  padding: 40px 20px 30px;
  margin-top: 50px;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* 标题 */
.footer-title {
  text-align: center;
  font-size: 24px;
  color: #ffffff;
  margin-bottom: 32px;
  font-weight: 700;
}

/* 左右布局 */
.footer-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

/* 左列：Contact Us */
.footer-left h3 {
  font-size: 18px;
  margin-bottom: 14px;
  color: #f0f4f8;
}

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

.contact-info li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 15px;
}

.contact-info i {
  color: #f7f7f7;
  font-size: 18px;
  width: 20px;
  text-align: center;
}

.contact-info a {
  color: #e5e7eb;
  text-decoration: none;
}

.contact-info a:hover {
  color: #ffffff;
}

/* 右列：Follow Us */
.footer-right h3 {
  font-size: 18px;
  margin-bottom: 10px;
  color: #f0f4f8;
}

.footer-desc {
  font-size: 14px;
  color: #d1d5db;
  margin-bottom: 14px;
  line-height: 1.4;
}

/* 团队成员 TikTok 列表 */
.team-socials {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}

.team-socials li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #e5e7eb;
  font-size: 15px;
  margin-bottom: 10px;
}

.team-socials i {
  color: #ffffff;
  font-size: 18px;
}

/* 品牌社交账号 */
.brand-social {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #e5e7eb;
  font-size: 15px;
  margin-top: 10px;
}

.brand-social i {
  font-size: 18px;
  color: #d1d5db;
}

/* 响应式布局 */
@media (max-width: 768px) {
  .footer-content {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .contact-info li,
  .team-socials li,
  .brand-social {
    justify-content: center;
  }
}

.tour-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.tour-link:hover .tour-card {
  transform: translateY(-4px);
}

/* ===== Tour Detail ===== */
.detail-breadcrumb {
  max-width: 1200px;
  margin: 16px auto 8px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #6b7280;
}

.back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  text-decoration: none;
  color: #111827;
  background: #fff
}

.back-btn:hover {
  background: #f5f7fa
}

.detail-breadcrumb .crumb {
  font-size: 14px
}

.tour-hero {
  max-width: 1200px;
  margin: 10px auto 0;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 20px;
  padding: 0 20px
}

.tour-hero img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: 12px
}

.tour-hero__text {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.tour-hero__text h2 {
  margin: 0
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #374151
}

.hero-price {
  margin-left: auto;
  font-weight: 700;
  color: #2a6ebd
}

.hero-cta {
  display: inline-block;
  background: #2a6ebd;
  color: #fff;
  text-decoration: none;
  padding: 10px 16px;
  border-radius: 8px;
  width: fit-content
}

.tour-gallery {
  max-width: 1200px;
  margin: 18px auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px
}

.tour-gallery .g-item img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 10px;
  cursor: pointer
}

.tour-section {
  max-width: 1200px;
  margin: 22px auto;
  padding: 0 20px
}

.tour-section h3 {
  margin-bottom: 10px
}

.bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px
}

.bullets li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: #374151
}

.bullets i {
  color: #2a6ebd;
  margin-top: 2px
}

.itinerary {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px
}

.itinerary li span {
  display: inline-block;
  width: 62px;
  color: #2a6ebd;
  font-weight: 700
}

.note {
  color: #6b7280;
  margin-top: 8px
}

@media (max-width: 900px) {
  .tour-hero {
    grid-template-columns: 1fr
  }

  .hero-price {
    margin-left: 0
  }

  .tour-gallery {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 560px) {
  .tour-gallery {
    grid-template-columns: 1fr
  }
}

/* 父容器：两列网格 */
.tour-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  /* 两列 */
  gap: 20px;
}

/* 让 <a> 作为网格项填满单元格 */
.tour-link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* 卡片撑满链接单元格 */
.tour-card {
  height: 100%;
}

/* 小屏幕降为一列（可按需调整断点） */
@media (max-width: 900px) {
  .tour-grid {
    grid-template-columns: 1fr;
  }
}

/* 通用内容容器 */
.content-wrap {
  max-width: 1000px;
  margin: 20px auto 40px;
  padding: 0 20px;
}

.content-wrap h2 {
  text-align: center;
  margin: 6px 0 10px;
}

.lead {
  color: #4b5563;
  line-height: 1.7;
  margin-bottom: 14px;
}

/* 步骤列表（How to book） */
.step-list {
  list-style: none;
  padding: 0;
  margin: 18px 0;
  display: grid;
  gap: 12px;
}

.step {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.step-icon {
  font-size: 18px;
  color: #2a6ebd;
  line-height: 40px;
  text-align: center;
}

/* 信息面板（两个页面复用） */
.info-panels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 14px;
}

.panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 16px;
}

.panel h3 {
  margin: 0 0 6px;
  font-size: 16px;
}

.panel i {
  color: #2a6ebd;
  margin-right: 6px;
}

/* 关于我们：成员卡片 */
.about-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 16px 0;
}

.about-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 16px;
}

.avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #6b5cff;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  margin-bottom: 6px;
}

@media (max-width: 900px) {
  .info-panels {
    grid-template-columns: 1fr;
  }

  .about-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Guides (shared) ===== */
.guides {
  /* 默认可用于独立版块（比如首页 1200px 版心） */
  max-width: 1200px;
  margin: 26px auto;
  padding: 0 20px;
}

.guides__title {
  text-align: center;
  font-size: 24px;
  margin: 0 0 16px;
}

.guides__title .sub {
  font-size: 14px;
  color: #6b7280;
}

.guides__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

/* 卡片：左右两列；偶数项反向，形成交错布局 */
.guide-card {
  display: grid;
  grid-template-columns: 260px 1fr;
  align-items: start;
  gap: 12px;
}

.guide-card__media {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 18px rgba(0, 0, 0, .08);
}

.guide-card__media img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
}

.play-badge {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #0f1f2e;
  color: #fff;
  display: grid;
  place-items: center;
  opacity: .9;
  transition: transform .2s, opacity .2s;
}

.guide-card__media:hover .play-badge {
  transform: scale(1.08);
  opacity: 1;
}

.guide-card__body h3 {
  margin: 6px 0 8px;
  font-size: 18px;
}

.guide-card__body p {
  color: #374151;
  line-height: 1.7;
  margin: 0;
}

/* === 关键：在 content-wrap 内对齐 === */
.guides--inline {
  max-width: none;
  margin: 26px 0;
  padding: 0;
}

.guides--inline .guides__title {
  text-align: left;
}

/* 响应式 */
@media (max-width: 1100px) {
  .guide-card {
    grid-template-columns: 280px 1fr;
  }

  .guide-card:nth-child(even) {
    grid-template-columns: 1fr 280px;
  }

  .guide-card__media img {
    height: 300px;
  }
}

@media (max-width: 800px) {
  .guides__grid {
    grid-template-columns: 1fr;
  }

  .guide-card,
  .guide-card:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .guide-card__media img {
    height: 320px;
  }
}

.hl {
  font-weight: 700;
  /* 加粗 */
  /*background: #fff3cd;         /* 高亮底色（浅黄） */
  color: #c90909ce;
  /* 文字颜色 */
  /*padding: 2px 6px;            /* 内边距，让底色不贴字 */
  border-radius: 6px;
  /* 圆角 */
}

.hl-block {
  /* 整行高亮：占满一行 */
  display: block;
  padding: 8px 12px;
  background: #fff3cd;
  border-left: 4px solid #f59e0b;
  /* 视觉强调，可删 */
  font-weight: 700;
}

/* ===== How to Book 新版 ===== */
/* 两个方式的卡片 */
.book-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 8px;
}

.option-card {
  border: 2px solid #2a6ebd;
  /* 与站点蓝一致 */
  background: #fff;
  border-radius: 8px;
  padding: 18px 18px 20px;
}

.option-caption {
  text-align: center;
  color: #374151;
  margin-bottom: 6px;
}

.option-card h3 {
  text-align: center;
  margin: 0 0 8px;
}

.option-card p {
  color: #374151;
  line-height: 1.6;
  margin: 0 0 14px;
}

/* 按钮 */
.btn {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
}

.btn-primary {
  background: #2a6ebd;
  color: #fff;
  border: 1px solid #2a6ebd;
}

.option-card .btn-primary {
  display: block;
  width: 70%;
  margin: 10px auto 0;
  text-align: center;
}

/* 联系信息 */
.contact-info-block {
  margin-top: 24px;
}

.center {
  text-align: center;
}

.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

.ci-item {
  text-align: center;
}

.ci-label {
  font-weight: 600;
  margin-bottom: 10px;
  color: #111827;
}

.ci-label i {
  margin-right: 6px;
  color: #2a6ebd;
}

.ci-value a,
.ci-value span {
  color: #1f2937;
  text-decoration: none;
  font-size: 17px;
}

.ci-value a:hover {
  text-decoration: underline;
}

/* 预订与支付说明 */
.reservation-block {
  margin-top: 28px;
}

.steps-list {
  max-width: 800px;
  margin: 12px auto 0;
  padding-left: 1.25rem;
  line-height: 1.8;
  color: #374151;
}

.steps-list li {
  margin-bottom: 12px;
}

/* 响应式 */
@media (max-width: 900px) {
  .book-options {
    grid-template-columns: 1fr;
  }

  .option-card .btn-primary {
    width: 100%;
  }

  .contact-info-grid {
    grid-template-columns: 1fr;
  }
}

/* 让 Reservation 区块与上面卡片同宽对齐 */
.reservation-block {
  margin-top: 28px;
  /* 保持与上方间距 */
}

/* 关键：去掉居中与800px限制，宽度跟随 content-wrap */
.reservation-block .steps-list {
  max-width: none;
  /* 取消宽度上限 */
  margin: 12px 0 0;
  /* 取消 auto 导致的水平居中 */
  padding-left: 1.25rem;
  /* 保留序号缩进 */
}

/* 让下方内容（steps-list）有边框卡片效果，并与上方卡片对齐 */
.reservation-block {
  margin-top: 28px;
}

.reservation-block .steps-list {
  /* 宽度跟随 content-wrap，不再收窄或水平居中 */
  max-width: none;
  margin: 12px 0 0;

  /* 边框与外观 */
  background: #fff;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #2a6ebd;
  /* 品牌色强调，可去掉 */
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .03);

  /* 内边距：给序号留空间 */
  padding: 14px 16px 14px 2rem;

  /* 列表排版 */
  line-height: 1.8;
  color: #374151;
}

/* 每条之间留点空隙 */
.reservation-block .steps-list li {
  margin-bottom: 12px;
}

/* 去掉 Latest reviews 内容区的加粗 */
.reviews .review-meta .title {
  font-weight: 400;
  /* normal */
}

/* Tour detail additions */
.tour-cover {
  width: 100%;
  height: auto;
  border-radius: 12px
}

.muted {
  color: var(--muted)
}

.kv {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 8px
}

.kv__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  /* 去掉内边距 */
  border: none;
  /* 去掉边框 */
  border-radius: 0;
  /* 去掉圆角 */
  background: none;
  /* 去掉背景 */
}

/* .kv__item {
  display: flex;
  gap: 8px;
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 12px
} */

.kv__key {
  font-weight: 600;
  color: #374151
}

.kv__val {
  font-weight: 500
}

/* Lists with icons */
/* 通用列表容器 */
.list {
  margin: 8px 0 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  /* 每行间距 */
}

/* 每一行使用 Flex，让内容垂直居中 */
.list li {
  display: flex;
  align-items: center;
  /* 关键代码，垂直居中 */
  gap: 8px;
  line-height: 1.8;
  /* 图标和文字之间的水平间距 */
}

/* 勾图标 */
.list-check li::before {
  content: "\f058";
  /* fa-circle-check */
  font: normal normal normal 20px/1 "Font Awesome 6 Free";
  font-weight: 900;
  color: #16a34a;
  flex-shrink: 0;
  /* 图标固定大小，不被压缩 */
}

/* 叉图标 */
.list-cross li::before {
  content: "\f057";
  /* fa-circle-xmark */
  font: normal normal normal 20px/1 "Font Awesome 6 Free";
  font-weight: 900;
  color: #dc2626;
  flex-shrink: 0;
}

/* Tables */
/* .table-wrap{overflow:auto}
.price-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.price-table th,.price-table td{padding:12px 14px;border-bottom:1px solid #e5e7eb;text-align:left}
.price-table thead th{background:#f3f4f6}
.price-table tbody tr:last-child td{border-bottom:0}
.price-table tbody tr:nth-child(even){background:#fafafa}
.t-left{text-align:left} */

/* 表格整体 */
.price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}

/* 表头和单元格 */
.price-table th,
.price-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
  /* 添加竖线 */
  text-align: left;
}

/* 最后一列不显示右边线 */
.price-table th:last-child,
.price-table td:last-child {
  border-right: none;
}

/* 表头背景 */
.price-table thead th {
  background: #f3f4f6;
}

/* 隔行背景 */
.price-table tbody tr:nth-child(even) {
  background: #fafafa;
}


/* 封面图容器 */
.tour-cover-wrap {
  aspect-ratio: 2 / 1;
  /* 宽:高 = 3:1，可以改成4/1, 16/9等 */
  overflow: hidden;
  border-radius: 12px;
  /* 圆角边框 */
  width: 100%;
  background: #f8fafc;
  /* 背景色防止加载前出现空白 */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 图片自适应填充 */
.tour-cover-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 保证比例不变且填满容器 */
  display: block;
}

/* ===== Itinerary · 最稳两列（row 包 details）===== */
.gx-itn {
  --col: 56px;
  --line: #e5e7eb;
  --dot: 14px;
  --dotStroke: #cbd5e1;
  --dotOK: #16a34a
}

.gx-itn__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 12px
}

.gx-itn__title {
  margin: 0;
  font-size: 28px;
  font-weight: 700
}

/* 纵向主干线：贯穿整个列表 */
.gx-itn__list {
  position: relative
}

.gx-itn__list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--col)/2);
  width: 2px;
  background: var(--line);
  transform: translateX(-50%);
  z-index: 0;
}

/* 每一行（Row=真正的Grid） */
.gx-itn__row {
  display: grid;
  grid-template-columns: var(--col) 1fr;
  /* 左=时间线列；右=内容列 */
  align-items: start;
  gap: 0;
  margin: 18px 0;
  position: relative;
}

/* 左列：点容器，跟随 summary 高度垂直居中 */
.gx-itn__rail {
  grid-column: 1;
  grid-row: 1;
  /* 和 summary 同一行 */
  position: relative;
  height: 44px;
  /* 与 summary 最小高度一致，保证垂直居中 */
  justify-self: center;
  /* 水平在列中心 */
}

.gx-itn__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--dot);
  height: var(--dot);
  border: 2px solid var(--dotStroke);
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.gx-itn__row:first-child .gx-itn__dot {
  background: #dcfce7;
  border-color: var(--dotOK)
}

/* 右列：details 只负责折叠，不做 grid */
.gx-itn__content {
  grid-column: 2;
  width: 100%
}

/* summary 行（去默认 marker；最小高度要与 rail 对齐） */
.gx-itn__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  cursor: pointer;
  margin: 0;
}

.gx-itn__summary::-webkit-details-marker {
  display: none
}

.gx-itn__summary::marker {
  content: ""
}

.gx-itn__day {
  margin: 0;
  font-size: 16px;
  font-weight: 600
}

.gx-itn__chev {
  transition: transform .18s ease
}

details[open] .gx-itn__chev {
  transform: rotate(180deg)
}

/* 折叠内容体：天然与标题同起点 */
.gx-itn__body {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  margin-top: 10px;
  color: #0f172a
}

/* 可选：meta 胶囊/图片网格（与你现有一致） */
.gx-itn__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 10px
}

.gx-itn__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 600;
  color: #374151
}

.gx-itn__photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 10px 0
}

.gx-itn__photo {
  aspect-ratio: 3/2;
  border-radius: 12px;
  overflow: hidden
}

.gx-itn__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

/* Expand all 开关样式 */
.gx-itn__toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #6b7280;
  user-select: none;
  white-space: nowrap;
}

.gx-itn__switch {
  position: relative;
  width: 44px;
  height: 24px;
  background: #e5e7eb;
  border-radius: 999px;
  cursor: pointer;
  display: inline-block;
  flex: 0 0 auto;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
}

.gx-itn__switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
  transition: left .18s ease;
}

.gx-itn__switch--on {
  background: #16a34a;
}

.gx-itn__switch--on::after {
  left: 23px;
}

/* 小屏：缩窄左列 */
@media (max-width:720px) {
  .gx-itn {
    --col: 46px
  }

  .gx-itn__photos {
    grid-template-columns: 1fr
  }
}

/* 自适应但不放大小图：大图缩小到容器内，保持比例 */
.itn__img-fit img {
  --ar-w: 3;
  --ar-h: 2;
  --radius: 12px;
  display: block;
  max-width: 100%;
  height: auto;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  background: #f3f4f6;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  aspect-ratio: var(--ar-w) / var(--ar-h);
}

.backbar {
  margin: 8px 0 12px
}

.backlink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  text-decoration: none;
  color: var(--fg);
  border: 1px solid var(--stroke);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
  transition: background .15s ease, border-color .15s ease
}

.backlink:hover {
  background: #f8fafc;
  border-color: #d1d5db
}

.backlink:focus-visible {
  outline: 2px solid #111827;
  outline-offset: 2px
}

.backlink i {
  font-size: 14px
}


/* 画廊容器：多列自适应 */
.itn__gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /* 桌面端两列，可按需改 3 列 */
  gap: 12px;
  margin: 10px 0;
}

@media (max-width: 720px) {
  .itn__gallery {
    grid-template-columns: 1fr;
  }
}

/* 单个图片卡片：统一外观 + 圆角 + 统一比例 */
.itn-photo {
  /* 可改统一比例：3/2、4/3、16/9、1/1 等 */
  --itn-photo-ratio: 3/2;
  aspect-ratio: var(--itn-photo-ratio);
  border-radius: 12px;
  overflow: hidden;
  background: #f8fafc;
  /* 图片加载前的底色 */
  border: 1px solid var(--stroke, #e5e7eb);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
  position: relative;
}

/* 默认：cover 模式（统一卡片尺寸，稍微裁切） */
.itn-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 填满卡片，可能裁切 */
  display: block;
}

.segment p {
  line-height: 1.8;
  /* 导游介绍文字更宽松 */
}