﻿:root {
  --yellow: #ffc20e;
  --orange: #ff7900;
  --green: #29523f;
  --deep-green: #18382d;
  --dark: #1c1c1c;
  --gray: #777777;
  --light-gray: #d7d7d7;
  --soft: #f6f6f6;
  --white: #ffffff;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--dark);
  background: var(--white);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 15px;
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
.navbar-brand {
  color: var(--dark);
  font-family: "Montserrat", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

h1 {
  max-width: 760px;
  color: var(--white);
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.02;
  text-transform: uppercase;
}

h2 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}

h3 {
  margin-bottom: 12px;
  font-size: 24px;
}

.notice-bar {
  background: var(--yellow);
  color: var(--dark);
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  padding: 9px 16px;
  text-transform: uppercase;
}

.notice-bar a {
  color: var(--dark);
  margin-left: 14px;
  text-decoration: underline;
}

.site-header {
  background: var(--white);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .08);
}

.navbar-brand {
  color: var(--green);
  font-size: 22px;
  line-height: 1;
}

.navbar-brand span {
  display: block;
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.nav-link {
  color: var(--dark);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.nav-link:hover {
  color: var(--orange);
}

.btn-book {
  border: 0;
  border-radius: 0;
  background: var(--yellow);
  color: #000;
  font-size: 13px;
  font-weight: 800;
  padding: 13px 24px;
  text-transform: uppercase;
}

.btn-book:hover {
  background: #eab000;
  color: #000;
}

.hero {
  position: relative;
  min-height: 455px;
  overflow: hidden;
}

.hero-placeholder {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(21, 45, 34, .18), rgba(21, 45, 34, .28)),
    linear-gradient(160deg, #4c743f 0 24%, #6e8c39 24% 38%, #2f5d3d 38% 52%, #769545 52% 63%, #244f38 63% 78%, #17372d 78% 100%);
}

.hero-placeholder::after {
  content: "";
  position: absolute;
  inset: 58% -8% 0;
  background: linear-gradient(8deg, transparent 0 42%, rgba(230, 220, 168, .85) 43% 47%, transparent 48%);
}

.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .06));
}

.hero-content {
  position: relative;
  padding-top: 120px;
}

.eyebrow {
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.hero-copy {
  max-width: 500px;
  color: var(--white);
  font-size: 18px;
  line-height: 1.6;
  margin-top: 18px;
}

.booking-panel {
  position: relative;
  z-index: 4;
  margin-top: -1px;
  background: #e6e6e6;
}

.booking-shell {
  position: relative;
  width: 100%;
  background: var(--white);
  border-radius: 16px 16px 0 0;
  box-shadow: 0 5px 13px rgba(0, 0, 0, .14);
}

.booking-form {
  display: grid;
  grid-template-columns: 238px 1fr;
  min-height: 206px;
  background: var(--white);
  border-radius: 16px 16px 0 0;
}

.trip-column {
  display: grid;
  align-content: start;
  gap: 22px;
  padding-top: 44px;
}

.trip-option {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  color: var(--dark);
  font-size: 15.5px;
  font-weight: 400;
  white-space: nowrap;
}

.trip-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.radio-dot {
  width: 20px;
  height: 20px;
  border: 2px solid var(--orange);
  border-radius: 50%;
  margin-left: 18px;
  position: relative;
}

.checked .radio-dot::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: var(--orange);
}

.trip-option mark {
  display: inline-flex;
  align-items: center;
  min-height: 16px;
  margin-left: 2px;
  padding: 0 3px;
  background: #fff000;
  color: #000;
  font-size: 12px;
  font-weight: 800;
}

.search-btn {
  width: 238px;
  height: 49px;
  margin-top: 6px;
  border: 0;
  border-radius: 0 24px 24px 0;
  background: var(--yellow);
  color: #000;
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
}

.fields-column {
  padding: 27px clamp(18px, 6vw, 92px) 0 0;
}

.field-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) minmax(170px, .95fr) minmax(170px, .95fr);
  gap: 10px 9px;
}

.booking-pill {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 43px;
  border: 1px solid #cfcfcf;
  border-radius: 24px;
  background: #fbfbfb;
  color: #777777;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  padding: 0 14px;
  text-align: left;
  white-space: nowrap;
}

button.booking-pill,
input.booking-pill,
select.booking-pill {
  cursor: pointer;
}

.booking-pill:focus {
  outline: none;
  border-color: #bdbdbd;
  box-shadow: 0 0 0 2px rgba(255, 121, 0, .12);
}

.booking-pill.wide {
  padding-left: 37px;
}

.date-input,
.promo-input {
  cursor: text;
}

.date-input {
  background: #fbfbfb;
}

.booking-pill.is-disabled {
  color: #b1b1b1;
  background: #f3f3f3;
  cursor: not-allowed;
}

.promo-input::placeholder {
  color: #777777;
  opacity: 1;
}

.has-icon {
  position: relative;
}

.has-icon::before {
  position: absolute;
  left: 13px;
  width: 16px;
  height: 18px;
  color: #777777;
  font-size: 18px;
  line-height: 1;
}

.location::before {
  content: "";
  width: 15px;
  height: 20px;
  border-radius: 9px 9px 9px 0;
  background: #747474;
  transform: rotate(-45deg);
}

.location::after {
  content: "";
  position: absolute;
  left: 17px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ffffff;
}

.train::before {
  content: "";
  width: 14px;
  height: 18px;
  border: 2px solid #747474;
  border-radius: 2px;
}

.train::after {
  content: "";
  position: absolute;
  left: 16px;
  bottom: 12px;
  width: 8px;
  height: 2px;
  box-shadow: -2px 5px 0 #747474, 5px 5px 0 #747474;
  background: #747474;
}

.booking-pill i {
  margin-left: auto;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid #bbbbbb;
}


.booking-select-wrap {
  position: relative;
  width: 100%;
}

select.booking-pill {
  display: block;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  line-height: 41px;
  padding-right: 44px;
}


.booking-select .select-section-label {
  color: var(--blue);
  font-weight: 800;
  text-transform: uppercase;
}
select.booking-pill::-ms-expand {
  display: none;
}

.booking-select-wrap.has-icon::before,
.booking-select-wrap.location::after,
.booking-select-wrap i {
  pointer-events: none;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.booking-select-wrap.has-icon::before {
  left: 13px;
}

.booking-select-wrap.location::before {
  content: "";
  width: 19px;
  height: 21px;
  border: 0;
  border-radius: 0;
  background: url("booking_icono_location.png") center / contain no-repeat;
  transform: translateY(-50%);
}

.booking-select-wrap.location::after {
  content: none;
}

.booking-select-wrap.train::before {
  content: "";
  width: 19px;
  height: 21px;
  border: 0;
  border-radius: 0;
  background: url("booking_icono_tren.png") center / contain no-repeat;
  transform: translateY(-50%);
}

.booking-select-wrap.train::after {
  content: none;
}

.booking-select-wrap i {
  right: 15px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid #bbbbbb;
}

.booking-links {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) minmax(170px, .95fr) minmax(170px, .95fr);
  gap: 30px;
  margin-top: 10px;
  padding-left: 58px;
}

.booking-links a {
  color: #6f6f6f;
  font-size: 12.5px;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.passenger-popover {
  display: none;
  position: absolute;
  left: 0;
  top: 8px;
  z-index: 30;
  width: 393px;
  min-height: 156px;
  padding: 14px 98px 15px 34px;
  background: #ffffff;
  border: 1px solid #bcbcbc;
  box-shadow: none;
}

.passenger-popover.is-open {
  display: block;
}

.passenger-popover h2 {
  margin: 0 0 10px;
  color: #12304d;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
}

.passenger-close {
  position: absolute;
  top: 8px;
  right: 14px;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #000000;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
}

.passenger-row {
  display: grid;
  grid-template-columns: 104px 52px 103px;
  align-items: center;
  min-height: 47px;
}

.passenger-label {
  color: #001b38;
  font-size: 13.5px;
  font-weight: 400;
  text-align: right;
}

.passenger-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 47px;
  background: #f5f6f8;
  color: #2d425a;
  font-size: 15px;
  font-weight: 400;
}

.passenger-stepper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 103px;
  height: 37px;
  margin-left: 4px;
  border: 1px solid #bcbcbc;
  background: #ffffff;
}

.step-btn {
  border: 0;
  background: #ffffff;
  color: var(--orange);
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.step-btn:first-child {
  border-right: 1px solid #cfcfcf;
}

.step-btn:hover,
.step-btn:focus {
  outline: 1px dotted var(--orange);
  outline-offset: -2px;
}

.step-btn:disabled {
  color: #c4c4c4;
  cursor: not-allowed;
}

.payment-row {
  display: flex;
  align-items: center;
  gap: 18px;
  height: 49px;
  padding-left: 30px;
  border-top: 1px solid #e5e5e5;
  color: #929292;
  font-size: 10px;
  font-weight: 700;
}

.secure-label {
  position: relative;
  padding-left: 14px;
}

.secure-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 10px;
  height: 8px;
  border-radius: 1px;
  background: #999999;
}

.secure-label::after {
  content: "";
  position: absolute;
  left: 2px;
  top: -4px;
  width: 6px;
  height: 7px;
  border: 2px solid #999999;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
}

.pay-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  color: #1763ad;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.mastercard {
  position: relative;
  width: 34px;
}

.mastercard span {
  width: 17px;
  height: 17px;
  border-radius: 50%;
}

.mastercard span:first-child {
  background: #eb001b;
}

.mastercard span:last-child {
  margin-left: -7px;
  background: #f79e1b;
}

.amex {
  width: 21px;
  background: #2e77bc;
  color: #ffffff;
  font-size: 7px;
}

.diners {
  color: #1f7bb6;
  font-family: Georgia, serif;
  font-size: 9px;
}

.paypal {
  color: #1769aa;
  font-size: 12px;
  font-style: italic;
}

.safety {
  color: #297faf;
  font-weight: 600;
}

.union {
  width: 31px;
  background: linear-gradient(90deg, #df1d2d 0 50%, #009b68 50%);
  color: #ffffff;
  font-size: 7px;
  transform: rotate(-4deg);
}

.ui-datepicker {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 13px;
  z-index: 1000 !important;
}

.ui-widget-header {
  border: 0;
  background: var(--yellow);
  color: #000000;
}

.ui-datepicker .ui-state-default {
  text-align: center;
}

.ui-datepicker .ui-state-active,
.ui-datepicker .ui-state-hover {
  border-color: var(--orange);
  background: var(--orange);
  color: #ffffff;
}

.section-heading h2 {
  max-width: 620px;
}

.text-link {
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
}

.text-link:hover {
  color: #d86500;
}

.journey-card {
  background: #ffffff;
  border: 1px solid #eeeeee;
  height: 100%;
}

.journey-card p {
  line-height: 1.7;
}

.card-kicker {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.image-placeholder,
.large-placeholder {
  min-height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .95);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.image-placeholder span,
.large-placeholder span {
  background: rgba(0, 0, 0, .36);
  padding: 8px 10px;
}

.valley {
  background: linear-gradient(145deg, #83a044 0 38%, #2f633f 38% 56%, #d7c477 56% 62%, #1e4434 62%);
}

.summit {
  background: linear-gradient(145deg, #92a94f 0 34%, #315d3f 34% 54%, #b6bf6a 54% 66%, #163d2f 66%);
}

.dusk {
  background: linear-gradient(145deg, #5d7a3f 0 31%, #244f38 31% 61%, #bead65 61% 68%, #193c2d 68%);
}

.feature-band {
  background: var(--green);
  color: var(--white);
  padding: 86px 0;
}

.feature-band h2 {
  color: var(--white);
}

.lead-copy {
  max-width: 430px;
  margin: 22px 0 28px;
  font-size: 16px;
  line-height: 1.8;
}

.large-placeholder {
  min-height: 390px;
  background: linear-gradient(145deg, #86a448 0 28%, #315e40 28% 46%, #d2c171 46% 52%, #1f4736 52% 72%, #70923e 72%);
}

.intro-copy {
  font-size: 17px;
  line-height: 1.8;
}

.benefit {
  border-top: 3px solid var(--yellow);
  padding-top: 18px;
}

.benefit .number {
  color: var(--orange);
  font-size: 24px;
  font-weight: 800;
}

.benefit p {
  line-height: 1.7;
}

.stories {
  padding: 76px 0;
  background: linear-gradient(90deg, rgba(29, 70, 52, .95), rgba(29, 70, 52, .8)), linear-gradient(135deg, #84a844, #1c4636);
}

.stories h2 {
  color: var(--white);
}

footer {
  background: #1d1d1d;
  color: rgba(255, 255, 255, .72);
}

footer h4 {
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

footer a {
  color: rgba(255, 255, 255, .74);
  display: block;
  margin: 8px 0;
  font-size: 13px;
  text-decoration: none;
}

footer a:hover {
  color: var(--white);
}

.footer-copy {
  font-size: 13px;
  line-height: 1.7;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .16);
  margin-top: 30px;
  padding-top: 22px;
  font-size: 12px;
}

.input-group .form-control {
  background: var(--white);
  color: var(--dark);
  border: 0;
  border-radius: 0;
  padding: 12px;
}

@media (max-width: 991px) {
  .hero {
    min-height: 390px;
  }

  .hero-content {
    padding-top: 82px;
  }

  .booking-shell {
    width: 100%;
  }

  .booking-form {
    grid-template-columns: 1fr;
  }

  .trip-column {
    grid-template-columns: repeat(2, max-content);
    gap: 16px 24px;
    padding: 24px 16px 0;
  }

  .radio-dot {
    margin-left: 0;
  }

  .search-btn {
    grid-column: 1 / -1;
    width: min(238px, 100%);
    border-radius: 0 24px 24px 0;
  }

  .fields-column {
    padding: 18px 16px 20px;
  }

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

  
.booking-links {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-left: 0;
  }

  .passenger-popover {
    left: 8px;
    right: 8px;
    top: 180px;
    width: auto;
    padding-right: 34px;
  }

  .passenger-row {
    grid-template-columns: 90px 52px 103px;
  }

  .payment-row {
    height: auto;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 16px;
  }

  .navbar-nav {
    padding: 16px 0;
  }

  .nav-link {
    padding: 10px 0;
  }
}



/* PeruRail-style top navigation and Owl hero carousel */
:root {
  --rail-blue: #002b5c;
  --rail-blue-dark: #00264f;
  --rail-orange: #c77728;
}

.site-header {
  background: var(--rail-blue);
  box-shadow: none;
}

.rail-navbar {
  min-height: 72px;
  background: var(--rail-blue);
  padding: 0;
}

.rail-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rail-orange) !important;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0;
}

.rail-brand .brand-mark {
  display: inline-flex;
  width: 21px;
  height: 21px;
  border: 2px solid var(--rail-orange);
  border-radius: 50%;
  position: relative;
}

.rail-brand .brand-mark::before,
.rail-brand .brand-mark::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid var(--rail-orange);
  border-radius: 50%;
}

.rail-brand .brand-mark::after {
  inset: 8px;
  background: var(--rail-orange);
}

.rail-navbar .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 72px;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 800;
  padding: 0;
}

.has-chevron::after {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(45deg) translateY(-3px);
}

.book-bubble {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  background: var(--yellow);
  color: #061b32;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.05;
  text-align: center;
  text-decoration: none;
}

.book-bubble:hover {
  color: #061b32;
  background: #ffd029;
}

.language-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 56px;
  height: 31px;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 18px;
  background: transparent;
}

.flag-dot {
  width: 13px;
  height: 9px;
  background: linear-gradient(#b22234 0 14%, #ffffff 14% 28%, #b22234 28% 42%, #ffffff 42% 56%, #b22234 56% 70%, #ffffff 70% 84%, #b22234 84%);
  position: relative;
}

.flag-dot::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 5px;
  background: #3c3b6e;
}

.language-arrow {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #ffffff;
}

.hero-carousel-section {
  position: relative;
  overflow: hidden;
  background: #111111;
}

.hero-carousel,
.hero-carousel .owl-stage-outer,
.hero-carousel .owl-stage,
.hero-carousel .owl-item {
  height: 480px;
}

.hero-slide {
  position: relative;
  height: 480px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .5) 0 28%, rgba(0, 0, 0, .08) 60%);
}

.slide-interior {
  background-image:
    linear-gradient(90deg, rgba(28, 14, 5, .18), rgba(255, 255, 255, .05)),
    radial-gradient(circle at 50% 24%, rgba(255, 238, 174, .8) 0 2px, transparent 3px),
    radial-gradient(circle at 58% 36%, rgba(255, 238, 174, .8) 0 2px, transparent 3px),
    linear-gradient(102deg, #32190c 0 13%, #89502c 13% 20%, #24200f 20% 28%, #b17945 28% 35%, #d1b071 35% 38%, #6f4a25 38% 46%, #162f21 46% 55%, #c58649 55% 64%, #2c160b 64% 73%, #9f6a38 73% 81%, #3b1f10 81% 100%);
}

.slide-interior::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(78deg, transparent 0 20%, rgba(220, 190, 125, .72) 21% 22%, transparent 23% 100%),
    linear-gradient(102deg, transparent 0 44%, rgba(255, 255, 255, .55) 45% 46%, transparent 47% 100%),
    radial-gradient(ellipse at 70% 42%, rgba(224, 182, 135, .88) 0 8%, transparent 9%),
    radial-gradient(ellipse at 45% 45%, rgba(84, 47, 38, .82) 0 8%, transparent 9%);
}

.slide-valley {
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, .2), transparent),
    linear-gradient(145deg, #143d2e 0 18%, #6a9249 18% 34%, #d1c27b 34% 39%, #284e3a 39% 58%, #91ae59 58% 72%, #183d30 72%);
}

.slide-lounge {
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, .2), transparent),
    linear-gradient(128deg, #1f160e 0 18%, #8a542c 18% 31%, #d0a76b 31% 43%, #2c4f3c 43% 56%, #bc854b 56% 70%, #3a2012 70%);
}

.hero-overlay {
  position: absolute;
  left: 12.3%;
  top: 35%;
  z-index: 2;
  width: 330px;
  color: #ffffff;
}

.hero-badge {
  margin-bottom: 10px;
  font-family: Georgia, serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
  width: 118px;
}

.hero-badge span {
  font-size: 12px;
}

.hero-overlay h1 {
  margin: 0 0 4px;
  color: #ffffff;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .45);
}

.hero-overlay p {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.22;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .45);
}

.hero-outline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 124px;
  height: 24px;
  border: 1px solid var(--yellow);
  border-radius: 3px;
  color: var(--yellow);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.hero-outline-btn:hover {
  background: var(--yellow);
  color: #061b32;
}

.hero-carousel .owl-nav {
  margin: 0;
}

.hero-carousel .owl-nav button.owl-prev,
.hero-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  width: 46px;
  height: 74px;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, .92) !important;
  font-size: 72px !important;
  font-weight: 200 !important;
  line-height: 1 !important;
  background: transparent !important;
  border: 0 !important;
}

.hero-carousel .owl-nav button.owl-prev {
  left: 22px;
}

.hero-carousel .owl-nav button.owl-next {
  right: 22px;
}

.hero-carousel .owl-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 13px;
}

.hero-carousel .owl-dot span {
  width: 8px !important;
  height: 8px !important;
  background: rgba(255, 255, 255, .7) !important;
}

.hero-carousel .owl-dot.active span {
  background: var(--yellow) !important;
}

@media (max-width: 991px) {
  .rail-navbar {
    min-height: 64px;
    padding: 8px 0;
  }

  .rail-navbar .nav-link {
    min-height: 42px;
  }

  .book-bubble {
    margin: 8px 0;
  }

  .hero-carousel,
  .hero-carousel .owl-stage-outer,
  .hero-carousel .owl-stage,
  .hero-carousel .owl-item,
  .hero-slide {
    height: 390px;
  }

  .hero-overlay {
    left: 64px;
    top: 31%;
    width: min(310px, calc(100% - 120px));
  }

  .hero-carousel .owl-nav button.owl-prev {
    left: 8px;
  }

  .hero-carousel .owl-nav button.owl-next {
    right: 8px;
  }
}

/* Train services carousel */
.train-services-section {
  background: #eef0f2;
  padding: 52px 0 64px;
}

.train-services-wrap {
  width: min(100%, 1760px);
  margin: 0 auto;
  padding: 0 68px;
}

.train-services-section h2 {
  margin: 0 0 46px;
  color: var(--rail-blue);
  font-size: 47px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

.train-services-carousel {
  position: relative;
}

.train-services-carousel .owl-stage {
  display: flex;
}

.train-services-carousel .owl-item {
  display: flex;
}

.train-service-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 716px;
  overflow: hidden;
  background: #ffffff;
  border-radius: 6px;
}

.train-service-photo {
  height: 300px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.train-service-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 245, 226, .18);
}

.photo-vistadome {
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, .04), rgba(255, 255, 255, .12)),
    repeating-linear-gradient(90deg, transparent 0 66px, rgba(255, 255, 255, .72) 67px 84px, transparent 85px 142px),
    linear-gradient(155deg, #b28f55 0 23%, #e2d3aa 23% 37%, #6f7b47 37% 47%, #efdfb2 47% 55%, #7d4e2c 55% 64%, #2d5439 64% 100%);
}

.photo-observatory {
  background-image:
    radial-gradient(ellipse at 46% 53%, rgba(80, 38, 28, .85) 0 8%, transparent 9%),
    radial-gradient(ellipse at 70% 50%, rgba(225, 181, 140, .95) 0 9%, transparent 10%),
    linear-gradient(105deg, #3b1e0f 0 14%, #9e6335 14% 24%, #1f150d 24% 34%, #d1ad71 34% 42%, #2f5a3d 42% 55%, #ba7e45 55% 68%, #2a160c 68% 82%, #9b6333 82%);
}

.photo-titicaca {
  background-image:
    radial-gradient(ellipse at 75% 42%, rgba(92, 51, 35, .92) 0 9%, transparent 10%),
    radial-gradient(ellipse at 34% 45%, rgba(228, 188, 150, .95) 0 10%, transparent 11%),
    linear-gradient(110deg, #6d3e23 0 16%, #d6b47b 16% 30%, #f5e3b6 30% 42%, #7b4c2e 42% 54%, #c0b485 54% 65%, #2f573c 65% 100%);
}

.photo-expedition {
  background-image:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .5) 0 18px, transparent 19px 92px),
    linear-gradient(135deg, #d3b37a 0 28%, #735033 28% 44%, #335c3c 44% 62%, #e8d39c 62% 72%, #254b34 72%);
}

.photo-hiram {
  background-image:
    radial-gradient(ellipse at 64% 44%, rgba(234, 193, 151, .92) 0 10%, transparent 11%),
    linear-gradient(120deg, #24130a 0 18%, #8b572f 18% 34%, #e5c38d 34% 46%, #5b321b 46% 58%, #c49355 58% 70%, #213f2f 70%);
}

.train-service-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  padding: 24px 38px 30px;
  text-align: center;
}

.train-service-body h3 {
  min-height: 66px;
  margin: 0 0 11px;
  color: var(--rail-blue);
  font-size: 34px;
  font-weight: 800;
  line-height: 1.08;
}

.train-service-body p {
  max-width: 480px;
  min-height: 135px;
  margin: 0 auto 28px;
  color: #8c8c8c;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.48;
}

.service-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 462px);
  height: 88px;
  margin-top: auto;
  border-radius: 44px;
  background: var(--rail-blue);
  color: #ffffff;
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
}

.service-cta:hover {
  background: var(--rail-blue-dark);
  color: #ffffff;
}

.train-services-carousel .owl-nav {
  margin: 0;
}

.train-services-carousel .owl-nav button.owl-prev,
.train-services-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 263px;
  z-index: 5;
  width: 52px;
  height: 52px;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--rail-blue) !important;
  font-size: 48px !important;
  font-weight: 800 !important;
  line-height: 40px !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .18);
}

.train-services-carousel .owl-nav button.owl-prev {
  left: 28px;
}

.train-services-carousel .owl-nav button.owl-next {
  right: 28px;
}

.train-services-carousel .owl-dots {
  display: none;
}

@media (max-width: 1399px) {
  .train-service-card {
    min-height: 640px;
  }

  .train-service-photo {
    height: 260px;
  }

  .train-service-body h3 {
    font-size: 28px;
  }

  .train-service-body p {
    font-size: 22px;
  }

  .service-cta {
    height: 72px;
    font-size: 22px;
  }

  .train-services-carousel .owl-nav button.owl-prev,
  .train-services-carousel .owl-nav button.owl-next {
    top: 230px;
  }
}

@media (max-width: 991px) {
  .train-services-wrap {
    padding: 0 24px;
  }

  .train-services-section h2 {
    font-size: 40px;
  }

  .train-service-card {
    min-height: 600px;
  }

  .train-services-carousel .owl-nav button.owl-prev {
    left: 12px;
  }

  .train-services-carousel .owl-nav button.owl-next {
    right: 12px;
  }
}

@media (max-width: 575px) {
  .train-services-wrap {
    padding: 0 14px;
  }

  .train-service-body {
    padding: 22px 24px 28px;
  }

  .train-service-body h3 {
    font-size: 26px;
  }

  .train-service-body p {
    min-height: 0;
    font-size: 19px;
  }

  .service-cta {
    height: 62px;
    font-size: 18px;
  }
}


/* Promotions section */
.promotions-section {
  background: #ffffff;
  padding: 55px 0 20px;
}

.promotions-wrap {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 8px;
  text-align: center;
}

.promotions-section h2 {
  margin: 0 0 40px;
  color: var(--rail-blue);
  font-size: 34px;
  font-weight: 800;
  line-height: 1.1;
}

.promotions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 39px;
}

.promotion-card {
  position: relative;
  overflow: hidden;
  background: var(--rail-blue);
  border-radius: 4px;
  text-align: center;
}

.coupon-ribbon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  min-width: 181px;
  height: 39px;
  padding: 8px 10px 0;
  border-radius: 4px 4px 4px 0;
  background: var(--yellow);
  color: #001b38;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  text-align: left;
}

.promotion-photo {
  height: 187px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.promotion-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 246, 220, .08);
}

.promo-cyber {
  background-image:
    radial-gradient(ellipse at 69% 56%, rgba(212, 174, 96, .95) 0 8%, transparent 9%),
    linear-gradient(165deg, #6fa740 0 21%, #dce7ef 21% 33%, #244f78 33% 42%, #2e75a7 42% 53%, #163b69 53% 61%, #79a341 61% 100%);
}

.promo-scenic {
  background-image:
    linear-gradient(104deg, rgba(3, 32, 64, .7) 0 38%, transparent 39%),
    linear-gradient(145deg, #9fc2d4 0 20%, #d7e5e9 20% 32%, #326b55 32% 48%, #b9b174 48% 56%, #1f4d39 56% 73%, #50672e 73%);
}

.promo-pisco {
  background-image:
    radial-gradient(ellipse at 66% 56%, rgba(230, 184, 140, .96) 0 10%, transparent 11%),
    radial-gradient(ellipse at 48% 56%, rgba(244, 209, 168, .96) 0 9%, transparent 10%),
    linear-gradient(112deg, #2b160d 0 19%, #8c552e 19% 33%, #d0a46d 33% 45%, #1e130d 45% 56%, #ba7a3e 56% 72%, #2e180f 72%);
}

.promotion-body {
  min-height: 173px;
  padding: 21px 22px 24px;
  background: var(--rail-blue);
  color: #ffffff;
}

.promotion-body h3 {
  min-height: 58px;
  margin: 0 0 27px;
  color: #ffffff;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.08;
}

.promotion-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 164px;
  height: 45px;
  border-radius: 24px;
  background: var(--yellow);
  color: #001b38;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.promotion-btn:hover {
  background: #ffd029;
  color: #001b38;
}


.promotions-carousel {
  position: relative;
  margin-bottom: 39px;
}

.promotions-carousel .owl-stage {
  display: flex;
}

.promotions-carousel .owl-item {
  display: flex;
}

.promotions-carousel .promotion-card {
  width: 100%;
  height: 100%;
}

.promotions-carousel .owl-nav {
  margin: 0;
}

.promotions-carousel .owl-nav button.owl-prev,
.promotions-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 42%;
  z-index: 5;
  width: 50px;
  height: 50px;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--rail-blue) !important;
  font-size: 54px !important;
  line-height: 40px !important;
  box-shadow: 0 8px 20px rgba(0, 27, 56, .16);
}

.promotions-carousel .owl-nav button.owl-prev {
  left: 8px;
}

.promotions-carousel .owl-nav button.owl-next {
  right: 8px;
}

.promotions-carousel .owl-dots {
  display: none;
}

.more-promotions-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 241px;
  height: 39px;
  border-radius: 22px;
  background: var(--rail-blue);
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.more-promotions-btn:hover {
  background: var(--rail-blue-dark);
  color: #ffffff;
}

@media (max-width: 991px) {
  .promotions-wrap {
    padding: 0 18px;
  }

  .promotions-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 575px) {
  .promotions-section h2 {
    font-size: 29px;
  }

  .coupon-ribbon {
    font-size: 17px;
  }
}

/* Travel destinations section */
.travel-destinations-section {
  background: #eef0f2;
  padding: 26px 0 16px;
}

.travel-destinations-wrap {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 0 0;
  text-align: center;
}

.travel-destinations-section h2 {
  margin: 0 0 32px;
  color: var(--rail-blue);
  font-size: 34px;
  font-weight: 800;
  line-height: 1.1;
}

.travel-destinations-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 53px;
}

.destination-card {
  overflow: hidden;
  background: #ffffff;
  border-radius: 4px;
}

.destination-photo {
  height: 188px;
  background-size: cover;
  background-position: center;
}

.destination-machu {
  background-image:
    radial-gradient(circle at 15% 16%, rgba(255, 255, 255, .9) 0 3px, transparent 4px),
    linear-gradient(145deg, #d5d0b6 0 18%, #405b3d 18% 32%, #203d31 32% 48%, #8ca44c 48% 58%, #2b4d35 58% 70%, #152c24 70%);
}

.destination-cusco {
  background-image:
    linear-gradient(180deg, #56bde6 0 28%, #eef3f1 28% 35%, #b25c3c 35% 47%, #e8d3a6 47% 56%, #71a950 56% 72%, #d5b07b 72%);
}

.destination-puno {
  background-image:
    linear-gradient(180deg, #2b8ad2 0 37%, #d9eff9 37% 47%, #2e7cad 47% 66%, #b8a65b 66% 72%, #245e81 72%);
}

.destination-body {
  min-height: 209px;
  padding: 18px 18px 19px;
}

.destination-body h3 {
  margin: 0 0 14px;
  color: var(--rail-blue);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.1;
}

.destination-body h3 a {
  color: var(--rail-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.destination-body p {
  margin: 0;
  color: #6f727c;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.52;
}

.more-destinations-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 250px;
  height: 39px;
  border-radius: 22px;
  background: var(--rail-blue);
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.more-destinations-btn:hover {
  background: var(--rail-blue-dark);
  color: #ffffff;
}

@media (max-width: 991px) {
  .travel-destinations-wrap {
    padding: 0 18px;
  }

  .travel-destinations-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 575px) {
  .travel-destinations-section h2 {
    font-size: 29px;
  }
}


/* Sticky navigation */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1100;
}

/* Why buy section */
.why-buy-section {
  background: #ffffff;
  padding: 37px 0 29px;
}

.why-buy-wrap {
  width: min(100%, 1080px);
  margin: 0 auto;
  padding: 0 22px;
  text-align: center;
}

.why-buy-section h2 {
  margin: 0 0 18px;
  color: var(--rail-blue);
  font-size: 32px;
  font-weight: 800;
  line-height: 1.12;
}

.why-buy-subtitle {
  margin: 0 0 31px;
  color: #6f727c;
  font-size: 17px;
  line-height: 1.35;
}

.why-buy-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 33px;
  margin-bottom: 42px;
}

.why-buy-item {
  color: #6f727c;
  text-align: center;
}

.why-icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 12px;
  position: relative;
  color: var(--rail-blue);
}

.icon-price::before {
  content: "$";
  position: absolute;
  left: 21px;
  top: -2px;
  color: var(--rail-blue);
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
}

.icon-price::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 30px;
  width: 42px;
  height: 11px;
  border-radius: 1px;
  background: var(--rail-blue);
  transform: skewX(-18deg);
  box-shadow: 18px -11px 0 -5px var(--rail-blue);
}

.icon-benefits::before {
  content: "%";
  position: absolute;
  left: 4px;
  top: 3px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--rail-blue);
  color: #ffffff;
  font-size: 28px;
  font-weight: 800;
  line-height: 46px;
}

.icon-benefits::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 9px solid var(--rail-blue);
  transform: rotate(22deg);
  clip-path: polygon(50% 0, 62% 23%, 88% 12%, 78% 38%, 100% 50%, 78% 62%, 88% 88%, 62% 77%, 50% 100%, 38% 77%, 12% 88%, 22% 62%, 0 50%, 22% 38%, 12% 12%, 38% 23%);
}

.icon-leaf::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 9px;
  width: 43px;
  height: 31px;
  border-radius: 38px 0 38px 0;
  background: var(--rail-blue);
  transform: rotate(-19deg);
}

.icon-leaf::after {
  content: "";
  position: absolute;
  left: 11px;
  top: 30px;
  width: 35px;
  height: 3px;
  border-radius: 3px;
  background: #ffffff;
  transform: rotate(-18deg);
}

.icon-calendar::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 8px;
  width: 37px;
  height: 41px;
  border: 5px solid var(--rail-blue);
  border-radius: 3px;
}

.icon-calendar::after {
  content: "";
  position: absolute;
  left: 18px;
  top: 27px;
  width: 6px;
  height: 6px;
  background: var(--rail-blue);
  box-shadow: 10px 0 0 var(--rail-blue), 20px 0 0 var(--rail-blue), 0 10px 0 var(--rail-blue), 10px 10px 0 var(--rail-blue), 20px 10px 0 var(--rail-blue);
}

.why-buy-item h3 {
  margin: 0 0 10px;
  color: var(--rail-blue);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.02;
}

.why-buy-item h3 a {
  color: var(--rail-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.why-buy-item p {
  margin: 0;
  color: #6f727c;
  font-size: 17px;
  line-height: 1.5;
}

.why-buy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 259px;
  height: 39px;
  border-radius: 22px;
  background: var(--rail-blue);
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.why-buy-btn:hover {
  background: var(--rail-blue-dark);
  color: #ffffff;
}

@media (max-width: 991px) {
  .why-buy-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .why-buy-section h2 {
    font-size: 28px;
  }

  .why-buy-grid {
    grid-template-columns: 1fr;
  }
}

/* FAQ accordion section */
.faq-section {
  background: #ffffff;
  padding: 74px 0 0;
}

.faq-wrap {
  width: 100%;
  margin: 0 auto;
}

.faq-section h2 {
  margin: 0 0 37px;
  color: var(--rail-blue);
  font-size: 34px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
}

.faq-accordion {
  width: 100%;
  border-top: 1px solid var(--rail-blue);
}

.faq-item {
  border: 0;
  border-bottom: 1px solid var(--rail-blue);
  border-radius: 0 !important;
  background: #ffffff;
}

.faq-item .accordion-header {
  margin: 0;
}

.faq-button {
  min-height: 49px;
  padding: 10px 46px 10px 12px;
  background: #ffffff;
  color: var(--rail-blue);
  border: 0;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}

.faq-button:not(.collapsed) {
  background: var(--rail-blue);
  color: #ffffff;
}

.faq-button::after {
  width: 11px;
  height: 11px;
  margin-left: auto;
  background-image: none;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(-45deg);
}

.faq-button:not(.collapsed)::after {
  transform: rotate(45deg);
}

.faq-button:focus {
  border-color: transparent;
  box-shadow: none;
}

.faq-link-like.collapsed {
  color: #005de8;
}

.faq-body {
  padding: 18px 12px 38px;
  color: #111111;
  background: #ffffff;
  font-size: 16px;
  line-height: 1.72;
}

.faq-body a {
  color: #6a6f76;
  font-weight: 800;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .faq-section {
    padding-top: 48px;
  }

  .faq-section h2 {
    font-size: 29px;
    padding: 0 18px;
  }

  .faq-button {
    font-size: 16px;
  }
}

/* Awards and payment methods */
.awards-payments-section {
  background: #eef0f2;
}

.awards-block {
  padding: 42px 0 47px;
  border-top: 1px solid #e3e5e8;
}

.awards-block h2 {
  margin: 0 0 28px;
  color: var(--rail-blue);
  font-size: 33px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
}

.awards-carousel {
  width: 100%;
  padding: 0 72px;
}

.awards-carousel .owl-stage {
  display: flex;
  align-items: center;
}

.award-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 135px;
}

.award-medal {
  width: 132px;
  height: 132px;
  border: 4px solid #d8a826;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 36%, #fff5b6 0 16%, #d8a826 17% 34%, #fff0a2 35% 48%, #d9aa28 49% 100%);
  color: #9b6811;
  position: relative;
  text-align: center;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .55);
}

.award-medal::before,
.award-medal::after {
  content: "";
  position: absolute;
  bottom: -13px;
  width: 47px;
  height: 25px;
  background: #f3c542;
  border: 2px solid #d8a826;
}

.award-medal::before {
  left: -13px;
  transform: skewY(-22deg);
}

.award-medal::after {
  right: -13px;
  transform: skewY(22deg);
}

.award-medal span {
  position: absolute;
  left: 11px;
  right: 11px;
  top: 14px;
  font-family: Georgia, serif;
  font-size: 14px;
  line-height: 1.05;
}

.award-medal strong {
  position: absolute;
  left: 9px;
  right: 9px;
  bottom: 34px;
  padding: 1px 0;
  background: rgba(255, 239, 159, .82);
  border-top: 2px solid #c9971f;
  border-bottom: 2px solid #c9971f;
  color: #9b6811;
  font-family: Georgia, serif;
  font-size: 16px;
  letter-spacing: 1px;
}

.award-medal em {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 17px;
  color: #9b6811;
  font-family: Georgia, serif;
  font-size: 16px;
  font-style: normal;
}

.award-tripadvisor {
  flex-direction: column;
  color: #000000;
  font-weight: 800;
  line-height: 1;
}

.trip-year {
  font-size: 13px;
  font-weight: 500;
}

.trip-choice {
  margin-bottom: 5px;
  font-size: 19px;
}

.trip-owl {
  width: 58px;
  height: 44px;
  border: 6px solid #000000;
  border-radius: 50%;
  font-size: 0;
  position: relative;
}

.trip-owl::before,
.trip-owl::after {
  content: "";
  position: absolute;
  top: 12px;
  width: 11px;
  height: 11px;
  border: 4px solid #000000;
  border-radius: 50%;
}

.trip-owl::before {
  left: 10px;
}

.trip-owl::after {
  right: 10px;
}

.trip-laurel {
  margin-top: 5px;
  font-size: 16px;
}

.awards-carousel .owl-nav button.owl-prev,
.awards-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 54%;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-size: 41px !important;
  font-weight: 800 !important;
  line-height: 30px !important;
}

.awards-carousel .owl-nav button.owl-prev {
  left: 8px;
}

.awards-carousel .owl-nav button.owl-next {
  right: 8px;
}

.awards-carousel .owl-dots {
  display: none;
}

.payment-methods-block {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: center;
  gap: 20px;
  min-height: 116px;
  padding: 26px 20px 22px;
  background: #ffffff;
}

.payment-method {
  display: grid;
  justify-items: center;
  gap: 10px;
  color: #6c6f76;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.method-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  color: #0065b2;
  font-weight: 900;
}

.visa-logo {
  color: #0057a8;
  font-size: 29px;
  font-style: italic;
}

.mastercard-logo {
  position: relative;
  width: 54px;
}

.mastercard-logo i {
  display: inline-block;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}

.mastercard-logo i:first-child {
  background: #eb001b;
}

.mastercard-logo i:last-child {
  margin-left: -10px;
  background: #f79e1b;
}

.amex-logo {
  width: 48px;
  height: 28px;
  background: #2e77bc;
  color: #ffffff;
  font-size: 8px;
  line-height: 1;
}

.diners-logo {
  color: #111111;
  font-family: Georgia, serif;
  font-size: 17px;
}

.paypal-logo {
  color: #1c75bc;
  font-size: 42px;
  font-style: italic;
}

.safety-logo {
  color: #1e88d1;
  font-size: 20px;
  line-height: .8;
}

.safety-logo::after {
  content: "";
  width: 17px;
  height: 23px;
  margin-left: 3px;
  border: 5px solid #1e88d1;
  border-left-color: transparent;
  border-radius: 50%;
}

.union-logo {
  width: 50px;
  height: 31px;
  background: linear-gradient(90deg, #df1d2d 0 62%, #009b68 62%);
  color: #ffffff;
  font-size: 9px;
  transform: rotate(7deg);
}

@media (max-width: 991px) {
  .payment-methods-block {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 575px) {
  .awards-carousel {
    padding: 0 54px;
  }

  .payment-methods-block {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Los Mochis destination page */
.destination-page {
  background: #ffffff;
}

.los-wrap {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 20px;
}

.los-hero {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: #123a4f;
}

.los-hero-image {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(0, 31, 62, .68), rgba(0, 31, 62, .08)),
    radial-gradient(ellipse at 73% 66%, rgba(242, 197, 96, .95) 0 7%, transparent 8%),
    linear-gradient(155deg, #0f4b65 0 26%, #4fa4c1 26% 42%, #d4bc71 42% 48%, #3f864d 48% 62%, #173d2f 62% 76%, #0b2b48 76%);
  background-size: cover;
}

.los-hero-overlay {
  position: relative;
  z-index: 2;
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 150px 20px 0;
  color: #ffffff;
}

.los-hero-overlay p,
.los-kicker {
  margin: 0 0 12px;
  color: var(--yellow);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.los-hero-overlay h1 {
  max-width: 640px;
  margin: 0 0 22px;
  color: #ffffff;
  font-size: clamp(44px, 7vw, 74px);
  font-weight: 900;
  line-height: 1;
}

.los-intro-section,
.los-bay-section {
  padding: 64px 0;
  background: #ffffff;
}

.los-two-col {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 54px;
  align-items: center;
}

.los-two-col.reverse {
  grid-template-columns: .95fr 1.05fr;
}

.los-intro-section h2,
.los-bay-section h2,
.los-canyon-section h2,
.los-activities-section h2 {
  margin: 0 0 18px;
  color: var(--rail-blue);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.08;
}

.los-intro-section p,
.los-bay-section p,
.los-canyon-section p {
  color: #6f727c;
  font-size: 18px;
  line-height: 1.72;
}

.los-info-card {
  background: #eef0f2;
  border-radius: 6px;
  padding: 32px;
}

.los-info-card h3 {
  margin: 0 0 16px;
  color: var(--rail-blue);
  font-size: 28px;
  font-weight: 800;
}

.los-info-card ul {
  margin: 0;
  padding-left: 20px;
  color: #6f727c;
  font-size: 17px;
  line-height: 1.7;
}

.los-highlight-section,
.los-activities-section {
  background: #eef0f2;
  padding: 58px 0;
}

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

.los-highlight-card,
.activity-card {
  overflow: hidden;
  background: #ffffff;
  border-radius: 6px;
  text-align: center;
}

.los-highlight-image,
.activity-image {
  height: 190px;
  background-size: cover;
  background-position: center;
}

.highlight-city {
  background-image: linear-gradient(180deg, #58b8df 0 28%, #e8d4a9 28% 44%, #b2603f 44% 56%, #74a34f 56% 76%, #d9b176 76%);
}

.highlight-garden {
  background-image: linear-gradient(135deg, #174532 0 28%, #79a84e 28% 43%, #dae7b1 43% 50%, #2f6e43 50% 70%, #a3bf62 70%);
}

.highlight-food {
  background-image: radial-gradient(ellipse at 52% 58%, rgba(245, 212, 152, .95) 0 15%, transparent 16%), linear-gradient(120deg, #132f4a 0 22%, #d59b4c 22% 42%, #f1d7a1 42% 55%, #7f4b2c 55% 72%, #183b2e 72%);
}

.los-highlight-card h3,
.activity-body h3 {
  margin: 23px 18px 10px;
  color: var(--rail-blue);
  font-size: 25px;
  font-weight: 800;
}

.los-highlight-card p,
.activity-body p {
  margin: 0 22px 28px;
  color: #6f727c;
  font-size: 17px;
  line-height: 1.6;
}

.los-large-photo {
  min-height: 390px;
  border-radius: 6px;
  background-size: cover;
  background-position: center;
}

.bay-photo {
  background-image:
    linear-gradient(180deg, #62bde1 0 32%, #f2f8fb 32% 40%, #2d8ab8 40% 63%, #d1bd68 63% 70%, #225b78 70%);
}

.los-canyon-section {
  padding: 62px 0;
  background: #ffffff;
}

.los-canyon-section p {
  max-width: 860px;
  margin: 0 auto;
}

.los-activities-section h2 {
  margin-bottom: 34px;
  text-align: center;
}

.los-activities-grid {
  grid-template-columns: repeat(4, 1fr);
}

.activity-bay {
  background-image: linear-gradient(180deg, #5dc2e8 0 34%, #e9f6fb 34% 42%, #257fa5 42% 65%, #c7b35f 65% 72%, #1f5a72 72%);
}

.activity-maviri {
  background-image: linear-gradient(155deg, #54bdda 0 34%, #f2dfaa 34% 45%, #c7a74d 45% 58%, #1f7f8e 58% 76%, #0e415b 76%);
}

.activity-bats {
  background-image: radial-gradient(ellipse at 40% 36%, rgba(19, 20, 28, .85) 0 13%, transparent 14%), linear-gradient(135deg, #203243 0 26%, #8d7042 26% 45%, #223d39 45% 64%, #8aa34d 64%);
}

.activity-garden {
  background-image: linear-gradient(145deg, #1b4932 0 29%, #6ea24a 29% 50%, #d8e7a6 50% 58%, #315f3c 58% 76%, #91b45a 76%);
}

.activity-body {
  padding-bottom: 26px;
}

.activity-body a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  height: 40px;
  border-radius: 22px;
  background: var(--yellow);
  color: #001b38;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.activity-body a:hover {
  background: #ffd029;
  color: #001b38;
}

@media (max-width: 991px) {
  .los-two-col,
  .los-two-col.reverse,
  .los-highlight-grid,
  .los-activities-grid {
    grid-template-columns: 1fr;
  }

  .los-hero-overlay {
    padding-top: 110px;
  }
}

/* Chepe navbar logo */
.rail-brand img {
  display: block;
  width: 156px;
  max-height: 46px;
  object-fit: contain;
}

/* Los Mochis activity detail pages */
.activity-detail-page {
  background: #ffffff;
}

.activity-detail-hero {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  background: #0c2d47;
}

.activity-detail-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.activity-detail-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 31, 62, .72), rgba(0, 31, 62, .12));
}

.activity-detail-overlay {
  position: relative;
  z-index: 2;
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 145px 20px 0;
  color: #ffffff;
}

.activity-detail-overlay p {
  margin: 0 0 12px;
  color: var(--yellow);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.activity-detail-overlay h1 {
  max-width: 780px;
  margin: 0 0 22px;
  color: #ffffff;
  font-size: clamp(42px, 7vw, 72px);
  font-weight: 900;
  line-height: 1;
}

.detail-bay {
  background-image: linear-gradient(180deg, #5dc2e8 0 34%, #e9f6fb 34% 42%, #257fa5 42% 65%, #c7b35f 65% 72%, #1f5a72 72%);
}

.detail-maviri {
  background-image: linear-gradient(155deg, #54bdda 0 34%, #f2dfaa 34% 45%, #c7a74d 45% 58%, #1f7f8e 58% 76%, #0e415b 76%);
}

.detail-bats {
  background-image: radial-gradient(ellipse at 40% 36%, rgba(19, 20, 28, .85) 0 13%, transparent 14%), linear-gradient(135deg, #203243 0 26%, #8d7042 26% 45%, #223d39 45% 64%, #8aa34d 64%);
}

.detail-garden {
  background-image: linear-gradient(145deg, #1b4932 0 29%, #6ea24a 29% 50%, #d8e7a6 50% 58%, #315f3c 58% 76%, #91b45a 76%);
}

.activity-detail-content {
  padding: 66px 0;
  background: #ffffff;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 54px;
  align-items: start;
}

.activity-detail-content h2 {
  margin: 0 0 18px;
  color: var(--rail-blue);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
}

.activity-detail-content h3 {
  margin: 28px 0 14px;
  color: var(--rail-blue);
  font-size: 26px;
  font-weight: 800;
}

.activity-detail-content p,
.detail-list {
  color: #6f727c;
  font-size: 18px;
  line-height: 1.72;
}

.detail-list {
  padding-left: 22px;
}

.detail-side-card {
  padding: 30px;
  border-radius: 6px;
  background: #eef0f2;
  text-align: center;
}

.detail-side-card h3 {
  margin-top: 0;
}

.detail-cta {
  width: 100%;
  height: 58px;
  margin-top: 16px;
  font-size: 17px;
}

.related-activities {
  padding: 54px 0 64px;
  background: #eef0f2;
  text-align: center;
}

.related-activities h2 {
  margin: 0 0 28px;
  color: var(--rail-blue);
  font-size: 34px;
  font-weight: 800;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.related-grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 16px;
  border-radius: 6px;
  background: var(--rail-blue);
  color: #ffffff;
  font-size: 18px;
  font-weight: 800;
  text-decoration: none;
}

.related-grid a:hover {
  background: var(--rail-blue-dark);
  color: #ffffff;
}

@media (max-width: 991px) {
  .detail-grid,
  .related-grid {
    grid-template-columns: 1fr;
  }

  .activity-detail-overlay {
    padding-top: 105px;
  }
}

/* Additional Chepe destination/activity image themes */
.destination-activities-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.chepe-town,
.detail-town {
  background-image: linear-gradient(180deg, #56bde6 0 28%, #f2e1b8 28% 42%, #b95d3b 42% 55%, #e2b875 55% 68%, #2e5b44 68%);
}
.chepe-river,
.detail-river {
  background-image: linear-gradient(180deg, #70c2e5 0 34%, #f3f8fb 34% 41%, #2b85a8 41% 64%, #225d76 64%);
}
.chepe-culture,
.detail-culture {
  background-image: radial-gradient(ellipse at 44% 45%, rgba(230, 164, 96, .9) 0 12%, transparent 13%), linear-gradient(135deg, #3b1d14 0 24%, #c27637 24% 42%, #efd59b 42% 55%, #5f3421 55% 72%, #152f46 72%);
}
.chepe-stage,
.detail-stage {
  background-image: linear-gradient(120deg, #15162b 0 24%, #8c2731 24% 42%, #d59b4f 42% 56%, #2c1730 56% 75%, #071d39 75%);
}
.chepe-forest,
.detail-forest {
  background-image: linear-gradient(145deg, #173f2f 0 28%, #6fa24d 28% 48%, #d8e2a6 48% 56%, #2f5d3d 56% 76%, #8eaa58 76%);
}
.chepe-waterfall,
.detail-waterfall {
  background-image: linear-gradient(145deg, #214f3d 0 28%, #8fba61 28% 42%, #dceefa 42% 52%, #2c8ab4 52% 61%, #173d31 61%);
}
.chepe-canyon,
.detail-canyon {
  background-image: linear-gradient(145deg, #654027 0 24%, #bd8a4e 24% 42%, #e7c37a 42% 51%, #6d7f43 51% 63%, #173b30 63%);
}
.chepe-adventure,
.detail-adventure {
  background-image: linear-gradient(130deg, #092b4d 0 22%, #447a9a 22% 34%, #e8c56e 34% 43%, #8e5c31 43% 56%, #173f32 56%);
}
.chepe-rock,
.detail-rock {
  background-image: linear-gradient(145deg, #71604b 0 24%, #c9a46a 24% 42%, #574231 42% 56%, #8fa357 56% 70%, #203b30 70%);
}
.chepe-trail,
.detail-trail {
  background-image: linear-gradient(135deg, #1d4a34 0 26%, #8bae57 26% 42%, #c6ad67 42% 52%, #744d2c 52% 64%, #1a382d 64%);
}
.chepe-lake,
.detail-lake {
  background-image: linear-gradient(180deg, #5cbde3 0 31%, #edf7fb 31% 39%, #2b86b2 39% 62%, #295c47 62% 76%, #173c2f 76%);
}

/* Main Chepe destinations carousel */
.chepe-route-copy {
  max-width: 900px;
  margin: -12px auto 34px;
  color: #6f727c;
  font-size: 18px;
  line-height: 1.65;
  text-align: center;
}

.travel-destinations-carousel .owl-stage {
  display: flex;
}

.travel-destinations-carousel .owl-item {
  display: flex;
}

.travel-destinations-carousel .destination-card {
  width: 100%;
  height: 100%;
}

.destination-los-mochis,
.destination-el-fuerte,
.destination-bahuichivo,
.destination-divisadero,
.destination-creel {
  background-size: cover;
  background-position: center;
}

.destination-los-mochis {
  background-image: linear-gradient(180deg, #5dc2e8 0 34%, #e9f6fb 34% 42%, #257fa5 42% 65%, #c7b35f 65% 72%, #1f5a72 72%);
}

.destination-el-fuerte {
  background-image: linear-gradient(180deg, #56bde6 0 28%, #f2e1b8 28% 42%, #b95d3b 42% 55%, #e2b875 55% 68%, #2e5b44 68%);
}

.destination-bahuichivo {
  background-image: linear-gradient(145deg, #173f2f 0 28%, #6fa24d 28% 48%, #d8e2a6 48% 56%, #2f5d3d 56% 76%, #8eaa58 76%);
}

.destination-divisadero {
  background-image: linear-gradient(145deg, #654027 0 24%, #bd8a4e 24% 42%, #e7c37a 42% 51%, #6d7f43 51% 63%, #173b30 63%);
}

.destination-creel {
  background-image: linear-gradient(135deg, #1d4a34 0 26%, #8bae57 26% 42%, #c6ad67 42% 52%, #744d2c 52% 64%, #1a382d 64%);
}

.travel-destinations-carousel .owl-nav button.owl-prev,
.travel-destinations-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 42%;
  z-index: 5;
  width: 48px;
  height: 48px;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--rail-blue) !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .18);
}

.travel-destinations-carousel .owl-nav button.owl-prev {
  left: 8px;
}

.travel-destinations-carousel .owl-nav button.owl-next {
  right: 8px;
}

.travel-destinations-carousel .owl-dots {
  display: none;
}

@media (max-width: 767px) {
  .chepe-route-copy {
    font-size: 16px;
  }
}





/* Chepe itinerary detail pages */
.promo-nature {
  background-image:
    radial-gradient(ellipse at 70% 48%, rgba(217, 185, 93, .9) 0 8%, transparent 9%),
    linear-gradient(145deg, #2f6d49 0 24%, #78a64b 24% 38%, #dbe4b0 38% 48%, #2f84aa 48% 59%, #173f32 59% 78%, #7a552f 78%);
}

.itinerary-page {
  background: #ffffff;
}

.itinerary-hero {
  position: relative;
  min-height: 500px;
  overflow: hidden;
}

.itinerary-route {
  display: block;
  max-width: 780px;
  margin: -8px 0 24px;
  color: #ffffff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.45;
}

.itinerary-content {
  padding: 68px 0;
  background: #ffffff;
}

.itinerary-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 42px;
  align-items: start;
}

.itinerary-content h2,
.itinerary-content h3 {
  color: var(--rail-blue);
  font-weight: 800;
}

.itinerary-content h2 {
  margin: 0 0 18px;
  font-size: 36px;
}

.itinerary-content h3 {
  margin: 38px 0 20px;
  font-size: 28px;
}

.itinerary-content p {
  color: #6f727c;
  font-size: 18px;
  line-height: 1.8;
}

.itinerary-photo-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 32px 0 8px;
}

.itinerary-photo {
  min-height: 155px;
  border-radius: 6px;
  display: flex;
  align-items: end;
  overflow: hidden;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.itinerary-photo span {
  width: 100%;
  padding: 12px 14px;
  background: linear-gradient(180deg, transparent, rgba(0, 27, 56, .72));
}

.itinerary-photo-train {
  background-image: linear-gradient(145deg, #173250 0 24%, #b57438 24% 38%, #e8c06a 38% 47%, #2f6f49 47% 66%, #0d2745 66%);
}

.itinerary-photo-canyon {
  background-image: linear-gradient(145deg, #6b4328 0 24%, #c89454 24% 43%, #e5c479 43% 53%, #657f42 53% 65%, #163b30 65%);
}

.itinerary-photo-town {
  background-image: linear-gradient(145deg, #52b8df 0 28%, #f2e0b5 28% 42%, #a74d32 42% 56%, #e1b86f 56% 68%, #315f45 68%);
}

.itinerary-days {
  display: grid;
  gap: 18px;
}

.itinerary-day-card {
  overflow: hidden;
  border: 1px solid #e6eaf0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(0, 27, 56, .06);
}

.itinerary-day-top {
  display: grid;
  gap: 4px;
  padding: 18px 22px;
  background: var(--rail-blue);
  color: #ffffff;
}

.itinerary-day-top span {
  color: var(--yellow);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.itinerary-day-top strong {
  font-size: 21px;
  line-height: 1.25;
}


.itinerary-day-image {
  min-height: 215px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  color: #ffffff;
}

.itinerary-day-image span {
  width: 100%;
  padding: 16px 22px;
  background: linear-gradient(180deg, transparent, rgba(0, 27, 56, .82));
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.day-image-city {
  background-image: linear-gradient(145deg, #4f8fc0 0 26%, #f0d49c 26% 39%, #ba6242 39% 52%, #e8bc73 52% 64%, #263c52 64%);
}

.day-image-coast {
  background-image: linear-gradient(180deg, #58bde4 0 33%, #f4f7fb 33% 42%, #277fa3 42% 64%, #c9b25e 64% 73%, #1f5b72 73%);
}

.day-image-river {
  background-image: linear-gradient(145deg, #5ab7dc 0 28%, #e4c98e 28% 39%, #2c83a3 39% 58%, #7c562f 58% 70%, #193d31 70%);
}

.day-image-vineyard {
  background-image: linear-gradient(145deg, #28482e 0 25%, #6fa24e 25% 41%, #d1b46b 41% 50%, #7a4f2a 50% 65%, #183b30 65%);
}

.day-image-canyon {
  background-image: linear-gradient(145deg, #664026 0 24%, #bd8248 24% 40%, #e5c176 40% 51%, #6e8545 51% 64%, #163b30 64%);
}

.day-image-forest {
  background-image: linear-gradient(145deg, #173f2f 0 28%, #6fa24d 28% 48%, #d9e2a6 48% 56%, #2e5c3d 56% 74%, #8ca955 74%);
}

.day-image-train {
  background-image: linear-gradient(145deg, #173250 0 24%, #b57438 24% 38%, #e8c06a 38% 47%, #2f6f49 47% 66%, #0d2745 66%);
}

.itinerary-day-card ul {
  margin: 0;
  padding: 22px 28px 24px 42px;
  color: #6f727c;
  font-size: 16px;
  line-height: 1.75;
}

.itinerary-side {
  position: sticky;
  top: 96px;
}

.itinerary-side .detail-list {
  font-size: 16px;
}

.itinerary-related {
  background: #f3f4f6;
}

@media (min-width: 1200px) {
  .promotions-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
  .promotions-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .itinerary-layout,
  .itinerary-photo-strip {
    grid-template-columns: 1fr;
  }

  .itinerary-side {
    position: static;
  }

  .itinerary-content h2 {
    font-size: 31px;
  }

  .itinerary-route {
    font-size: 16px;
  }

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

/* Real img tags for itinerary day placeholders */
.itinerary-day-image {
  display: block;
  margin: 0;
  min-height: 0;
  background: #e8edf2;
  color: inherit;
}

.itinerary-day-image img {
  display: block;
  width: 100%;
  height: 235px;
  object-fit: cover;
}

.itinerary-day-image figcaption {
  padding: 10px 22px;
  background: #f6f7f9;
  color: #6f727c;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

/* Chepe train service detail pages */
.service-detail-page {
  background: #ffffff;
}

.service-detail-hero {
  position: relative;
  min-height: 520px;
  overflow: hidden;
}

.service-detail-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-detail-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 27, 56, .78), rgba(0, 27, 56, .22));
  z-index: 1;
}

.service-detail-hero .activity-detail-overlay {
  position: relative;
  z-index: 2;
}

.service-detail-content {
  padding: 68px 0;
  background: #ffffff;
}

.service-detail-grid {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 42px;
  align-items: start;
}

.service-detail-content h2,
.service-detail-content h3 {
  color: var(--rail-blue);
  font-weight: 800;
}

.service-detail-content h2 {
  margin: 0 0 18px;
  font-size: 36px;
}

.service-detail-content h3 {
  margin: 36px 0 18px;
  font-size: 28px;
}

.service-detail-content p {
  color: #6f727c;
  font-size: 18px;
  line-height: 1.8;
}

.service-image-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 32px 0 8px;
}

.service-image-grid figure {
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  background: #f6f7f9;
  box-shadow: 0 10px 26px rgba(0, 27, 56, .08);
}

.service-image-grid img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.service-image-grid figcaption {
  padding: 11px 16px;
  color: #6f727c;
  font-size: 13px;
  font-weight: 700;
}

.service-list {
  font-size: 17px;
}

.service-side {
  position: sticky;
  top: 96px;
}

@media (max-width: 991px) {
  .service-detail-grid,
  .service-image-grid {
    grid-template-columns: 1fr;
  }

  .service-side {
    position: static;
  }

  .service-detail-content h2 {
    font-size: 31px;
  }
}

/* Real landing page images */
.slide-valley {
  background-image: linear-gradient(90deg, rgba(0, 27, 56, .58), rgba(0, 27, 56, .08)), url("https://cdn.forbes.com.mx/2025/11/Portada-Chihuahua.jpg") !important;
  background-size: cover;
  background-position: center;
}

.slide-interior {
  background-image: linear-gradient(90deg, rgba(0, 27, 56, .64), rgba(0, 27, 56, .08)), url("https://asobolife.com/wp-content/uploads/2021/04/el-chepe-train-mexico-1.jpg") !important;
  background-size: cover;
  background-position: center;
}

.slide-lounge {
  background-image: linear-gradient(90deg, rgba(0, 27, 56, .62), rgba(0, 27, 56, .10)), url("https://cdn.forbes.com.mx/2025/11/image-17-1024x684.jpeg") !important;
  background-size: cover;
  background-position: center;
}

.photo-vistadome {
  background-image: url("https://cdn.forbes.com.mx/2025/11/image-17-1024x684.jpeg") !important;
}

.photo-observatory {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_divisadero_banner.jpg") !important;
}

.photo-expedition {
  background-image: url("https://amapatours.de/wp-content/uploads/2020/03/Chepe-Express_Temoris_klein.jpg") !important;
}

.photo-titicaca {
  background-image: url("https://amapatours.de/wp-content/uploads/2020/03/Chepe-Express-Restaurant_Copper-Canyon_klein.jpg") !important;
}

.promo-cyber {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .05), rgba(0, 27, 56, .18)), url("https://asobolife.com/wp-content/uploads/2021/04/el-chepe-train-mexico-1.jpg") !important;
}

.promo-scenic {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .05), rgba(0, 27, 56, .18)), url("https://amapatours.de/wp-content/uploads/2020/03/Chepe-Express_Temoris_klein.jpg") !important;
}

.promo-pisco {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .05), rgba(0, 27, 56, .18)), url("https://www.cultura281.com/wp-content/uploads/2024/11/el-fuerte-sinaloa-114443-1024x576.jpg") !important;
}

.promo-nature {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .05), rgba(0, 27, 56, .18)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_creel_banner.jpg") !important;
}

.destination-los-mochis {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_mochis_banner.jpg") !important;
}

.destination-el-fuerte {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_fuerte_banner.jpg") !important;
}

.destination-bahuichivo {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_bahuichivo_banner.jpg") !important;
}

.destination-divisadero {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_divisadero_banner.jpg") !important;
}

.destination-creel {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_creel_banner.jpg") !important;
}

/* Curated landing page images - fixed replacements */
.slide-valley {
  background-image: linear-gradient(90deg, rgba(0, 27, 56, .58), rgba(0, 27, 56, .08)), url("https://cdn.forbes.com.mx/2025/11/Portada-Chihuahua.jpg") !important;
  background-size: cover;
  background-position: center;
}

.slide-interior {
  background-image: linear-gradient(90deg, rgba(0, 27, 56, .62), rgba(0, 27, 56, .08)), url("https://asobolife.com/wp-content/uploads/2021/04/el-chepe-train-mexico-1.jpg") !important;
  background-size: cover;
  background-position: center;
}

.slide-lounge {
  background-image: linear-gradient(90deg, rgba(0, 27, 56, .64), rgba(0, 27, 56, .10)), url("https://cdn.forbes.com.mx/2025/11/image-17-1024x684.jpeg") !important;
  background-size: cover;
  background-position: center;
}

.photo-vistadome {
  background-image: url("https://cdn.forbes.com.mx/2025/11/image-17-1024x684.jpeg") !important;
  background-size: cover;
  background-position: center;
}

.photo-observatory {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_divisadero_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.photo-expedition {
  background-image: url("https://amapatours.de/wp-content/uploads/2020/03/Chepe-Express_Temoris_klein.jpg") !important;
  background-size: cover;
  background-position: center;
}

.photo-titicaca {
  background-image: url("https://amapatours.de/wp-content/uploads/2020/03/Chepe-Express-Restaurant_Copper-Canyon_klein.jpg") !important;
  background-size: cover;
  background-position: center;
}

.promo-cyber {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .06), rgba(0, 27, 56, .24)), url("https://asobolife.com/wp-content/uploads/2021/04/el-chepe-train-mexico-1.jpg") !important;
  background-size: cover;
  background-position: center;
}

.promo-scenic {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .06), rgba(0, 27, 56, .24)), url("https://amapatours.de/wp-content/uploads/2020/03/Chepe-Express_Temoris_klein.jpg") !important;
  background-size: cover;
  background-position: center;
}

.promo-pisco {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .06), rgba(0, 27, 56, .24)), url("https://www.cultura281.com/wp-content/uploads/2024/11/el-fuerte-sinaloa-114443-1024x576.jpg") !important;
  background-size: cover;
  background-position: center;
}

.promo-nature {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .06), rgba(0, 27, 56, .24)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_creel_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.destination-los-mochis {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_mochis_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.destination-el-fuerte {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_fuerte_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.destination-bahuichivo {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_bahuichivo_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.destination-divisadero {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_divisadero_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.destination-creel {
  background-image: url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_creel_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}
/* Curated destination and activity detail images */
.los-hero-image {
  background-image: linear-gradient(90deg, rgba(0, 27, 56, .55), rgba(0, 27, 56, .08)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_mochis_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.highlight-city,
.detail-town,
.chepe-town {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .04), rgba(0, 27, 56, .18)), url("https://www.cultura281.com/wp-content/uploads/2024/11/el-fuerte-sinaloa-114443-1024x576.jpg") !important;
  background-size: cover;
  background-position: center;
}

.highlight-garden,
.activity-garden,
.detail-garden {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .04), rgba(0, 27, 56, .18)), url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=1200&q=80") !important;
  background-size: cover;
  background-position: center;
}

.highlight-food {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .04), rgba(0, 27, 56, .20)), url("https://images.unsplash.com/photo-1559847844-5315695dadae?auto=format&fit=crop&w=1200&q=80") !important;
  background-size: cover;
  background-position: center;
}

.bay-photo,
.activity-bay,
.detail-bay {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .04), rgba(0, 27, 56, .20)), url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.activity-maviri,
.detail-maviri {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .04), rgba(0, 27, 56, .18)), url("https://images.unsplash.com/photo-1500375592092-40eb2168fd21?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.activity-bats,
.detail-bats {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .20), rgba(0, 27, 56, .38)), url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.detail-river,
.chepe-river {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .06), rgba(0, 27, 56, .22)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_fuerte_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.detail-culture,
.chepe-culture {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .12), rgba(0, 27, 56, .28)), url("https://images.unsplash.com/photo-1518709268805-4e9042af2176?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.detail-stage,
.chepe-stage {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .18), rgba(0, 27, 56, .36)), url("https://images.unsplash.com/photo-1503095396549-807759245b35?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.detail-forest,
.chepe-forest {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .06), rgba(0, 27, 56, .22)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_creel_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.detail-waterfall,
.chepe-waterfall {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .08), rgba(0, 27, 56, .24)), url("https://images.unsplash.com/photo-1432405972618-c60b0225b8f9?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.detail-canyon,
.chepe-canyon {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .08), rgba(0, 27, 56, .26)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_divisadero_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.detail-adventure,
.chepe-adventure,
.detail-rock,
.chepe-rock {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .10), rgba(0, 27, 56, .28)), url("https://images.unsplash.com/photo-1522163182402-834f871fd851?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.detail-trail,
.chepe-trail {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .08), rgba(0, 27, 56, .24)), url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.detail-lake,
.chepe-lake {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .06), rgba(0, 27, 56, .22)), url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1400&q=80") !important;
  background-size: cover;
  background-position: center;
}

.itinerary-photo-train {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .08), rgba(0, 27, 56, .26)), url("https://asobolife.com/wp-content/uploads/2021/04/el-chepe-train-mexico-1.jpg") !important;
  background-size: cover;
  background-position: center;
}

.itinerary-photo-canyon {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .08), rgba(0, 27, 56, .26)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_divisadero_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}

.itinerary-photo-town {
  background-image: linear-gradient(180deg, rgba(0, 27, 56, .08), rgba(0, 27, 56, .26)), url("https://chepe.mx/wp-content/uploads/2020/06/chepe_ruta_fuerte_banner.jpg") !important;
  background-size: cover;
  background-position: center;
}
/* Navbar dropdown links */
.rail-navbar .dropdown-toggle::after {
  display: none;
}

.rail-navbar .dropdown {
  position: relative;
}

.rail-navbar .rail-dropdown {
  min-width: 260px;
  margin-top: 0;
  padding: 10px 0;
  border: 0;
  border-top: 4px solid var(--yellow);
  border-radius: 0 0 10px 10px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 27, 56, .22);
}

.rail-navbar .rail-dropdown-scroll {
  max-height: min(70vh, 520px);
  overflow-y: auto;
}

.rail-navbar .dropdown-item {
  color: var(--rail-blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.25;
  padding: 10px 18px;
  text-transform: uppercase;
  white-space: normal;
}

.rail-navbar .dropdown-item:hover,
.rail-navbar .dropdown-item:focus {
  color: var(--rail-blue);
  background: var(--yellow);
}

.rail-navbar .dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
}

@media (min-width: 992px) {
  .rail-navbar .dropdown:hover > .dropdown-menu,
  .rail-navbar .dropdown:focus-within > .dropdown-menu {
    display: block;
  }
}

@media (max-width: 991.98px) {
  .rail-navbar .rail-dropdown {
    width: 100%;
    min-width: 0;
    margin: 0 0 10px;
    box-shadow: none;
  }

  .rail-navbar .dropdown-item {
    padding-left: 22px;
  }
}

