/* V294 tour-detail master.
   PEK4 is the single visual reference for every tour page. */
@media (min-width: 901px) {
  html body section.tour-hero.v149-has-tabs:not(.sales-hero) {
    height: 426px !important;
    min-height: 426px !important;
    max-height: 426px !important;
    padding: 0 !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  html body section.tour-hero.v149-has-tabs:not(.sales-hero) > .container {
    width: min(1180px, 92%) !important;
    max-width: 1180px !important;
    height: 426px !important;
    margin: 0 auto !important;
    padding: 48px 0 6px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    grid-template-rows: 34px 162px 73px 61px !important;
    grid-template-areas:
      "kicker ."
      "title commerce"
      "subtitle commerce"
      "badges commerce" !important;
    column-gap: 64px !important;
    align-content: start !important;
    align-items: start !important;
  }

  html body .tour-hero > .container > .hero-kicker {
    grid-area: kicker !important;
    justify-self: start !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body .tour-hero > .container > h1 {
    grid-area: title !important;
    width: 100% !important;
    max-width: none !important;
    height: 152px !important;
    min-height: 152px !important;
    max-height: 152px !important;
    margin: 5px 0 !important;
    overflow: hidden !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    font-size: 70.38px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    transform-origin: left center !important;
  }

  html body:not(.lang-en) .tour-hero > .container > h1 {
    letter-spacing: 0.025em !important;
    font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif !important;
  }

  html body .tour-hero > .container > .hero-sub {
    grid-area: subtitle !important;
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 0 9px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 22px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
  }

  html body .tour-hero > .container > .hero-badges {
    grid-area: badges !important;
    width: max-content !important;
    max-width: none !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 21px 0 0 !important;
    gap: 9px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow: visible !important;
    transform-origin: left center !important;
  }

  html body .tour-hero > .container > .hero-badges > span {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 15px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
  }

  html body .tour-hero .v283-hero-commerce {
    grid-area: commerce !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    width: 360px !important;
    max-width: 360px !important;
    height: 296px !important;
    padding: 15px 0 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
  }

  html body .tour-hero .v283-hero-commerce .hero-price-main {
    width: 100% !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: 50px 18px !important;
    column-gap: 12px !important;
    row-gap: 9px !important;
    align-items: baseline !important;
  }

  html body .tour-hero .hero-price-main > span {
    align-self: end !important;
    padding-bottom: 7px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body .tour-hero .hero-price-main > strong {
    align-self: start !important;
    font-size: 49.3px !important;
    line-height: 50px !important;
    white-space: nowrap !important;
  }

  html body .tour-hero .hero-price-main > small {
    grid-column: 1 / -1 !important;
    font-size: 13px !important;
    line-height: 18px !important;
    white-space: nowrap !important;
  }

  html body .tour-hero .v283-hero-commerce .hero-actions {
    width: 100% !important;
    height: 46px !important;
    margin: 25px 0 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  html body .tour-hero .hero-actions .btn {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 21px !important;
    font-size: 11.9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body .tour-hero .hero-actions .hero-main-cta,
  html body .tour-hero .hero-actions .btn-primary:first-child {
    width: 187px !important;
    min-width: 187px !important;
  }

  html body .tour-hero .hero-actions .btn-light {
    width: 163px !important;
    min-width: 163px !important;
  }
}

/* Content-section main headings reduced by exactly 10% across every tour page. */
html body .t6-section h2 {
  font-size: clamp(2.07rem, 3.78vw, 3.78rem) !important;
}

html body .section h2 {
  font-size: clamp(1.98rem, 3.6vw, 3.6rem) !important;
}

@media (max-width: 900px) {
  html body .t6-section h2,
  html body .section h2 {
    font-size: clamp(1.8rem, 7.2vw, 2.7rem) !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  html body section.tour-hero.v149-has-tabs:not(.sales-hero) > .container {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    column-gap: 32px !important;
  }

  html body .tour-hero .v283-hero-commerce {
    width: 320px !important;
    max-width: 320px !important;
  }

  html body .tour-hero .hero-actions .hero-main-cta,
  html body .tour-hero .hero-actions .btn-primary:first-child {
    width: 166px !important;
    min-width: 166px !important;
  }

  html body .tour-hero .hero-actions .btn-light {
    width: 144px !important;
    min-width: 144px !important;
  }
}

/* V295: compact only the vertical rhythm inside the Included / Not Included cards. */
html body #inclusions .t6-two {
  margin-top: 28px !important;
  gap: 22px !important;
}

html body #inclusions .t6-panel {
  padding: 26px 28px !important;
}

html body #inclusions .package-head {
  margin-bottom: 12px !important;
}

html body #inclusions .package-list {
  margin: 10px 0 0 !important;
  padding-left: 20px !important;
}

html body #inclusions .package-list li {
  margin: 4px 0 !important;
  padding: 12px 0 12px 28px !important;
  line-height: 1.45 !important;
}

html body #inclusions .package-list li::before {
  top: 12px !important;
}

html body #inclusions .truth-note {
  margin-top: 12px !important;
  padding: 10px 13px !important;
}

@media (max-width: 900px) {
  html body #inclusions .t6-two {
    margin-top: 22px !important;
    gap: 16px !important;
  }

  html body #inclusions .t6-panel {
    padding: 22px 20px !important;
  }

  html body #inclusions .package-list li {
    margin: 2px 0 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  html body #inclusions .package-list li::before {
    top: 10px !important;
  }
}

/* V298: lighten all tour HERO overlays so background photos show more clearly while preserving text readability. */
html body section.tour-hero.v149-has-tabs:not(.sales-hero)::before,
html body .tour-hero::before {
  background: linear-gradient(90deg, rgba(5,28,48,.66) 0%, rgba(5,28,48,.44) 48%, rgba(5,28,48,.12) 100%) !important;
}
html body .t6-hero::before {
  background: linear-gradient(90deg, rgba(4,25,44,.70) 0%, rgba(4,25,44,.48) 52%, rgba(4,25,44,.14) 100%) !important;
}
