/* =====================================================
   Travlla Tour Detail Page Styles
   Extracted from Travlla template style.css
   ===================================================== */

/* Scoped palette override — Patagonia teal system.
   Re-binds --primary-color1 for tour-detail / activity-detail / transport-results
   pages so accents (icons, links, fills) render in the teal palette instead of
   the site-wide green (#63AB45). Other pages are unaffected. */
.trv-tour-detail-page,
.transport-results-page {
  --primary-color1: #00A0C6;
}

/* ---- Detail hero ---- */
.trv-tour-detail-page .breadcrumb-section {
  height: 100vh !important;
  min-height: 100vh !important;
  padding: 0 !important;
  background-position: center bottom !important;
  align-items: center !important;
}
.trv-tour-detail-page .breadcrumb-section .breadcrumb-list {
  display: none !important;
}

.trv-tour-detail-page .breadcrumb-section .container {
  width: 100%;
}

.trv-tour-detail-page .breadcrumb-section .banner-content {
  transform: translateY(0);
}

.trv-tour-detail-page .breadcrumb-section .banner-content h1 {
  font-size: clamp(40px, 4vw, 58px) !important;
  line-height: 1.12 !important;
}

@media (max-height: 760px) and (min-width: 992px) {
  .trv-tour-detail-page .breadcrumb-section {
    height: 100vh !important;
    min-height: 100vh !important;
  }

  .trv-tour-detail-page .breadcrumb-section .banner-content {
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .trv-tour-detail-page .breadcrumb-section {
    height: 100vh !important;
    min-height: 100vh !important;
  }

  .trv-tour-detail-page .breadcrumb-section .banner-content {
    transform: none;
  }
}

/* ---- Booking price alignment ---- */
.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item {
  gap: 12px;
}

.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable {
  flex: 1 1 auto;
  min-width: 0 !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  line-height: 1.25 !important;
}

.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable>span,
.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable span,
.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable del {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable>span:has(.rprice) {
  flex-basis: 100%;
  margin-left: 50px;
}

.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable .rprice {
  font-size: 16px;
}

.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .quantity-counter {
  flex: 0 0 125px;
}

.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable .sprice,
.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable .rprice,
.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable .cprice,
.trv-tour-detail-page .booking-form-wrap .sidebar-booking-form .number-input-item .number-input-lable .mainPriceText {
  white-space: nowrap !important;
  word-break: keep-all !important;
}

.trv-tour-detail-page .booking-form-wrap .single-total {
  gap: 12px;
}

.trv-tour-detail-page .booking-form-wrap .single-total ul {
  flex: 1 1 auto;
  gap: 12px !important;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.trv-tour-detail-page .booking-form-wrap .single-total ul li {
  white-space: nowrap !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.trv-tour-detail-page .booking-form-wrap .single-total ul li strong,
.trv-tour-detail-page .booking-form-wrap .single-total .total,
.trv-tour-detail-page .booking-form-wrap .single-total .total span,
.trv-tour-detail-page .booking-form-wrap .total_amount_show {
  display: inline-block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

.trv-tour-detail-page .booking-form-wrap .single-total .total {
  flex: 0 0 auto;
  min-width: 110px;
  text-align: right;
}

.trv-tour-detail-page .booking-form-wrap .single-total ul li svg,
.trv-tour-detail-page .booking-form-wrap .single-total svg {
  margin: 0 12px;
}

/* ---- Detail wrapper ---- */
.trv-detail-main-wrap {
  width: 100%;
}

/* Add spacing between hero banner and content */
.trv-tour-detail-page .section-full {
  margin-top: 60px;
}

@media (max-width: 991px) {
  .trv-tour-detail-page .section-full {
    margin-top: 40px;
  }
}

@media (max-width: 767px) {
  .trv-tour-detail-page .section-full {
    margin-top: 30px;
  }
}

.trv-detail-bx-wrap {
  border-radius: 30px;
  padding: 30px;
  background-color: #fff;
  margin-bottom: 30px;
}

@media (max-width: 575px) {
  .trv-detail-bx-wrap {
    padding: 20px;
  }
}

/* ---- Slider ---- */
.trv-detail-slider {
  margin-bottom: 25px;
}

.trv-detail-slider .trv_d-slider .trv_d-slider-media {
  border-radius: 20px;
  overflow: hidden;
}

.trv-detail-slider .trv_d-slider img {
  border-radius: 20px;
  width: 100%;
  height: 400px;
  object-fit: cover;
}

@media (max-width: 767px) {
  .trv-detail-slider .trv_d-slider img {
    height: 250px;
  }
}

.trv-detail-slider .swiper-pagination {
  bottom: 14px;
}

.trv-detail-slider .swiper-pagination-bullet {
  background: #fff;
  opacity: 0.7;
}

.trv-detail-slider .swiper-pagination-bullet-active {
  background: var(--primary-color2);
  opacity: 1;
}

/* ---- Rating ---- */
.trv-sep-rating {
  margin-bottom: 16px;
}

.trv-sep-rating span {
  font-size: 15px;
  font-weight: 400;
  color: var(--primary-color1);
  margin-right: 8px;
}

.trv-sep-rating i {
  color: var(--primary-color2);
  font-size: 15px;
}

/* ---- Titles ---- */
.trv-inner-title-lg {
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  color: var(--primary-color1);
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  .trv-inner-title-lg {
    font-size: 24px;
  }
}

.trv-inner-title-sm {
  font-weight: 600;
  font-size: 24px;
  line-height: 1.2;
  color: var(--primary-color1);
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .trv-inner-title-sm {
    font-size: 20px;
  }
}

/* ---- Shoulder / Package estimate text ---- */
.trv-packege-esti-time {
  display: block;
  margin-bottom: 24px;
  font-weight: 600;
  color: #00809E;
  font-size: 15px;
}

/* ---- Sticky navigation bar ----
   Two-state offset, matching the two-state header:
     • Page-top state (no `.sticky` on header): full stacked height of
       topbar + header — nav pins at 120px (desktop) / 128px (mobile).
     • Scrolled state (`.header-area.sticky`): topbar is collapsed to 0,
       header alone is visible — nav tucks up to 65px (desktop) / 75px
       (mobile). These values are tuned so the nav sits flush against
       the bottom of the scrolled header with no visible cream gap.
   `top` is NOT in the transition list so the nav re-pins instantly the
   moment custom.js toggles `.sticky`; bg / color / shadow still animate. */
.navbar-one {
  position: sticky;
  top: 140px;
  background-color: var(--primary-color1);
  display: flex;
  justify-content: center;
  gap: 16px;
  padding: 14px;
  z-index: 9;
  margin-bottom: 40px;
  border-radius: 10px;
  transition: background-color 0.5s ease, color 0.5s ease, box-shadow 0.5s ease;
  flex-wrap: wrap;
}
/* Scrolled state: topbar collapsed, just the header is visible.
   65px sits the nav right against the scrolled header's bottom edge. */
body:has(.header-area.sticky) .navbar-one {
  top: 85px;
}

@media (max-width: 991px) {
  .navbar-one {
    top: 128px;
  }
  body:has(.header-area.sticky) .navbar-one {
    top: 75px;
  }
}

@media (max-width: 767px) {
  .navbar-one {
    gap: 6px;
    padding: 10px;
  }
}

.navbar-one a {
  color: var(--primary-color1);
  text-decoration: none;
  font-weight: 600;
  background-color: #fff;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  transition: 0.5s all ease;
}

@media (max-width: 767px) {
  .navbar-one a {
    font-size: 12px;
    padding: 5px 8px;
    border-radius: 5px;
  }
}

.navbar-one a:hover {
  background-color: var(--primary-color2);
  color: #fff;
}

/* ---- Overview checklist (highlights) ---- */
.trv-checklist-st1 {
  padding: 0;
  list-style: none;
  margin-bottom: 30px;
}

.trv-checklist-st1 li {
  font-size: 16px;
  font-weight: 400;
  color: var(--primary-color1);
  position: relative;
  padding-left: 38px;
  margin-bottom: 14px;
}

.trv-checklist-st1 li i {
  position: absolute;
  font-size: 22px;
  color: #85D200;
  left: 0;
  top: -2px;
}

/* ---- Itinerary list ---- */
.trv-clist-st-3-wrap {
  background-color: #E8F0F1;
  border-radius: 20px;
  padding: 30px;
  margin-bottom: 30px;
}

@media (max-width: 575px) {
  .trv-clist-st-3-wrap {
    padding: 20px;
  }
}

.trv-clist-st-3-wrap .trv-list-st-3 {
  padding: 0;
  list-style: none;
  margin-bottom: 0;
}

.trv-clist-st-3-wrap .trv-list-st-3 li {
  margin-bottom: 28px;
}

.trv-clist-st-3-wrap .trv-list-st-3 li:last-child {
  margin-bottom: 0;
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content {
  display: flex;
}

@media (max-width: 480px) {
  .trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content {
    display: block;
  }
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .duration {
  text-align: center;
  min-width: 46px;
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .duration .media {
  width: 46px;
  height: 46px;
  background-color: var(--primary-color2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .duration .media .green-bg {
  width: 38px;
  height: 38px;
  background-color: var(--primary-color1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .duration .day {
  font-size: 11px;
  font-weight: 700;
  color: var(--primary-color1);
  letter-spacing: 0.5px;
  display: inline-block;
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info {
  width: calc(100% - 46px);
  padding-left: 20px;
}

@media (max-width: 480px) {
  .trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info {
    width: 100%;
    padding: 12px 0 0 0;
  }
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info .trv-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--primary-color1);
  line-height: 1.3;
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info .trv-title {
    font-size: 17px;
  }
}

.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info p {
  font-size: 15px;
  font-weight: 400;
  color: #00809E;
  line-height: 1.5;
  margin-bottom: 0;
}

/* ---- Itinerary checklist mini ---- */
.trv-checklist-mini {
  padding: 0;
  list-style: none;
  margin: 12px 0;
}

.trv-checklist-mini li {
  font-size: 14px;
  font-weight: 400;
  color: #00809E;
  position: relative;
  padding-left: 26px;
  margin-bottom: 8px;
}

.trv-checklist-mini li i {
  position: absolute;
  font-size: 13px;
  color: var(--primary-color2);
  left: 0;
  top: 3px;
}

/* ---- Inclusions / Exclusions mini ---- */
.trv-checklist-st2-mini-wrap {
  background-color: #E8F0F1;
  border-radius: 20px;
  padding: 30px;
  margin-bottom: 30px;
}

@media (max-width: 575px) {
  .trv-checklist-st2-mini-wrap {
    padding: 20px;
  }
}

.trv-checklist-st2-mini {
  padding: 20px;
  list-style: none;
  margin-bottom: 0;
  border: 1px solid #80CFE3;
  border-radius: 8px;
  background: #fff;
  max-height: 350px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--primary-color1) #fff;
}

.trv-checklist-st2-mini::-webkit-scrollbar {
  width: 5px;
}

.trv-checklist-st2-mini::-webkit-scrollbar-track {
  background: #fff;
}

.trv-checklist-st2-mini::-webkit-scrollbar-thumb {
  background-color: var(--primary-color1);
  border-radius: 10px;
}

.trv-checklist-st2-mini li {
  font-size: 15px;
  font-weight: 400;
  color: var(--primary-color1);
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
}

.trv-checklist-st2-mini li i {
  position: absolute;
  font-size: 17px;
  color: var(--primary-color1);
  left: 0;
  top: -1px;
}

.trv-checklist-st2-mini li:last-child {
  margin-bottom: 0;
}

.trv-checklist-st2-mini.trv-list-disable li i {
  color: #ff4545;
}

@media (max-width: 991px) {
  .trv-checklist-st2-mini-r {
    margin-top: 24px;
  }
}

/* ---- FAQs / Term & Condition list ---- */
.trv-de-list-st1 {
  background-color: #E8F0F1;
  border-radius: 20px;
  padding: 30px;
  margin-bottom: 30px;
}

@media (max-width: 575px) {
  .trv-de-list-st1 {
    padding: 20px;
  }
}

.trv-de-list-st1 .trv-list-st-1 {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.trv-de-list-st1 .trv-list-st-1 li {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0, 128, 158, 0.15);
}

.trv-de-list-st1 .trv-list-st-1 li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.trv-de-list-st1 .trv-list-st-1 li .title {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-color1);
  line-height: 1.3;
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .trv-de-list-st1 .trv-list-st-1 li .title {
    font-size: 16px;
  }
}

.trv-de-list-st1 .trv-list-st-1 li .text {
  font-size: 15px;
  font-weight: 400;
  color: #00809E;
  line-height: 1.5;
  margin-bottom: 0;
}

/* ---- Sidebar: Price box ---- */
.trv-tour-single-r-detail {
  background-color: #fff;
  border: 1px solid rgba(0, 128, 158, 0.2);
  border-radius: 20px;
  padding: 28px;
  margin-bottom: 20px;
}

@media (max-width: 1199px) {
  .trv-tour-single-r-detail {
    padding: 20px;
  }
}

.trv-tour-single-r-detail .trv-star-from {
  display: block;
  color: #00809E;
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 4px;
}

.trv-tour-single-r-detail .trv-star-amount {
  display: block;
  font-size: 40px;
  color: var(--primary-color1);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 4px;
}

.trv-tour-single-r-detail .trv-star-amount s {
  font-size: 28px;
  color: var(--primary-color2);
  font-weight: 500;
  margin-right: 6px;
}

.trv-tour-single-r-detail .trv-star-from-person {
  display: block;
  font-size: 13px;
  color: #00809E;
  margin-bottom: 14px;
}

.trv-tour-single-r-detail .site-button {
  display: block;
  width: 100%;
  text-align: center;
  background-color: var(--primary-color2);
  color: #fff !important;
  border-radius: 50px !important;
}

/* ---- Sidebar: Info box ---- */
.trv-tour-single-r-info {
  background-color: #fff;
  border: 1px solid rgba(0, 128, 158, 0.2);
  border-radius: 20px;
  padding: 28px;
  margin-bottom: 20px;
}

@media (max-width: 1199px) {
  .trv-tour-single-r-info {
    padding: 20px;
  }
}

.trv-main-rg-hol {
  width: 100%;
}

.trv-man-sec-hol ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.trv-man-sec-hol ul li {
  padding: 0 0 10px 0;
  color: var(--primary-color1);
  font-size: 14px;
  font-weight: 500;
}

.trv-man-sec-hol ul li .trv-tmi-hlo {
  font-weight: 700;
  margin-right: 8px;
}

.trv-man-sec-hol ul li .trv-tmi-hlo i {
  margin-right: 8px;
}

.trv-man-sec-hol ul li .trv-tmi-hlo-info {
  line-height: 1.5;
  font-size: 13px;
  color: #00809E;
  font-weight: 400;
}

/* ---- Package includes separator ---- */
.trv-oack-sepa {
  position: relative;
  margin: 24px 0;
  text-align: center;
  z-index: 1;
  width: 100%;
}

.trv-oack-sepa .lay {
  display: inline-block;
  padding: 5px 16px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background-color: var(--primary-color1);
  position: relative;
  z-index: 1;
}

.trv-oack-sepa:before {
  content: "";
  display: block;
  border-bottom: 1px solid #bcbcbc;
  position: absolute;
  width: 100%;
  top: 50%;
  z-index: 0;
}

/* ---- Package includes icons ---- */
.trv-icon-man-holids ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.trv-icon-man-holids ul li {
  margin: 4px;
  padding: 0;
  display: inline-block;
  list-style: none;
  font-size: 13px;
  text-align: center;
  color: var(--primary-color1);
}

.trv-icon-man-holids ul li .trv-holids-icon {
  margin-bottom: 6px;
  font-size: 28px;
  color: var(--primary-color1);
}

.trv-icon-man-holids ul li .trv-holids-icon img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.trv-icon-man-holids ul li .trv-holids-name {
  font-size: 12px;
  font-weight: 500;
  color: var(--primary-color1);
}

/* ---- Slider nav buttons ---- */
.trv-detail-slider .swiper-button-next,
.trv-detail-slider .swiper-button-prev {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: var(--primary-color1);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}

.trv-detail-slider .swiper-button-next:hover,
.trv-detail-slider .swiper-button-prev:hover {
  background: var(--primary-color2);
  color: #fff;
}

.trv-detail-slider .swiper-button-next::after,
.trv-detail-slider .swiper-button-prev::after {
  font-size: 14px;
  font-weight: 700;
}

/* ---- Sticky right sidebar ---- */
.side-bar {
  position: sticky;
  top: 100px;
}

@media (max-width: 991px) {
  .side-bar {
    position: static;
  }
}


/* ---- Alert style kept from original ---- */
.tour-static-alert {
  margin-bottom: 16px;
}

#overview,
#itinerary,
#inclusions,
#TermCondition {
  scroll-margin-top: 140px;
}

/* ---- Attributes section ---- */
.trv-attributes-wrap {
  margin-bottom: 24px;
}

.trv-attributes-wrap h5 {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-color1);
  margin-bottom: 12px;
}

.trv-attributes-wrap .extra-service {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.trv-attributes-wrap .extra-service li {
  background: #E8F0F1;
  border: 1px solid rgba(0, 128, 158, 0.15);
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 14px;
  color: var(--primary-color1);
}

/* ---- Map section ---- */
.trv-map-wrap {
  margin-bottom: 24px;
}

.trv-map-wrap h5 {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-color1);
  margin-bottom: 14px;
}

.trv-map-wrap iframe {
  width: 100%;
  height: 260px;
  border-radius: 12px;
  border: none;
}

/* Rounded booking form buttons */
.trv-tour-detail-page .booking-form-wrap .nav-pills .nav-link {
  border-radius: 50px !important;
}

.trv-tour-detail-page .booking-form-wrap .primary-btn1,
.trv-tour-detail-page .booking-form-wrap button[type="submit"] {
  border-radius: 50px !important;
}

/* Banner 2 Card (Support Inquiry) overrides */
.trv-tour-detail-page .banner2-card {
  border-radius: 16px;
  overflow: hidden;
}

/* Ensure the sidebar doesn't stick to the footer */
.trv-tour-detail-page .side-bar {
  padding-bottom: 60px;
}

/* =====================================================
   Scrolled header — applies on every detail page that uses the
   `.trv-tour-detail-page` wrapper (tour details, program/activity
   details, and any future detail page that adopts the same wrapper).
   Direct port of travelik-assets.blade.php's header block (the file
   the main tours page loads) — body selector swapped from
   `body:has([class*="travelik-"]...)` to `body:has(.trv-tour-detail-page, .transport-results-page)`.
   custom.js already toggles `.sticky` on .header-area at scrollY > 0,
   so these rules hook off the existing scroll state.
   ===================================================== */

/* Topbar — smooth collapse on scroll */
body:has(.trv-tour-detail-page, .transport-results-page) .top-bar {
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease;
  overflow: hidden;
  max-height: 200px;
}
body:has(.trv-tour-detail-page, .transport-results-page) .header-container:has(.header-area.sticky) .top-bar,
body:has(.trv-tour-detail-page, .transport-results-page) .header-container:has(header.sticky) .top-bar {
  max-height: 0;
  opacity: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  pointer-events: none;
}

/* Topbar dropdowns (currency / language) must overflow above the
   sticky header below them — otherwise they get clipped. */
body:has(.trv-tour-detail-page, .transport-results-page) .header-container { overflow: visible !important; }
body:has(.trv-tour-detail-page, .transport-results-page) .top-bar,
body:has(.trv-tour-detail-page, .transport-results-page) .topbar2,
body:has(.trv-tour-detail-page, .transport-results-page) .topbar2 * {
  overflow: visible !important;
}
body:has(.trv-tour-detail-page, .transport-results-page) .top-bar {
  position: relative;
  z-index: 1100;
}
body:has(.trv-tour-detail-page, .transport-results-page) .top-bar .dropdown-menu,
body:has(.trv-tour-detail-page, .transport-results-page) .top-bar .nice-select .list,
body:has(.trv-tour-detail-page, .transport-results-page) .top-bar .currency-list,
body:has(.trv-tour-detail-page, .transport-results-page) .top-bar .lang-list {
  z-index: 1101 !important;
}

/* Scrolled header — translucent dark teal with blur */
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky {
  background-color: rgba(0, 32, 48, 0.92) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.28);
}

/* Top-level nav links — white on dark */
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .menu-list > li > a,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .menu-list > li > a {
  color: #fff !important;
  font-weight: 500;
  letter-spacing: 0.3px;
}
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .menu-list > li > a:hover,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .menu-list > li > a:hover {
  color: #00A0C6 !important;
}

/* === PAGINAS+ / PAGINAS- TOGGLE ===
   Match main page: hide the native chevron-down indicator that
   style.css renders via `li.menu-item-has-children::after` (a
   bootstrap-icons \f4fe glyph in dark color) AND the separate
   `<i class="bi bi-plus dropdown-icon">` host element, then append
   a " +" text indicator directly after the link text via a new
   `::after`. Toggles to " −" on hover / when JS opens the menu. */
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1 .main-menu ul > li.menu-item-has-children::after {
  display: none !important;
  content: none !important;
}
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1 .main-menu ul > li > .dropdown-icon,
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1 .menu-item-has-children > .dropdown-icon {
  display: none !important;
}
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1 .main-menu ul > li.menu-item-has-children > a::after {
  content: " +";
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0.4px;
  color: inherit;
  margin-left: 2px;
  display: inline;
  transition: color 0.2s ease;
  pointer-events: none;
}
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1 .main-menu ul > li.menu-item-has-children:hover > a::after,
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1 .main-menu ul > li.menu-item-has-children.open > a::after,
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1 .main-menu ul > li.menu-item-has-children.active > a::after {
  content: " −";
  color: #00A0C6 !important;
}
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .menu-item-has-children:hover > a::after,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .menu-item-has-children:hover > a::after,
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .menu-item-has-children.open > a::after,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .menu-item-has-children.open > a::after {
  color: #00A0C6 !important;
}

/* Sub-menus — keep light bg + dark text so they stay readable
   when the parent header is dark teal */
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .sub-menu,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .sub-menu {
  background-color: #fff !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  border-radius: 6px;
}
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .sub-menu a,
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .sub-menu li,
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .sub-menu li > a,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .sub-menu a,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .sub-menu li,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .sub-menu li > a {
  color: #100C08 !important;
}
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .sub-menu li > a:hover,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .sub-menu li > a:hover {
  color: #00A0C6 !important;
  background-color: rgba(0, 160, 198, 0.06);
}

/* CTAs (Account / Book Now / etc.) keep white text on primary bg */
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky .eg-btn,
body:has(.trv-tour-detail-page, .transport-results-page) header.style-1.sticky [class*="primary-btn"],
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky .eg-btn,
body:has(.trv-tour-detail-page, .transport-results-page) .header-area.sticky [class*="primary-btn"] {
  color: #fff !important;
}