
/* EcoSapa Tour Pages v0.24.1
 * Server-rendered single-trip layout isolation for EcoSapa Bus Child.
 * Critical layout properties deliberately use stronger selectors / !important
 * so the live theme cannot float, absolutely position, or stretch our gallery,
 * facts, tabs or booking card.
 */

body.single-trip .es-server-trip,
body.single-trip .es-server-trip *{
  box-sizing:border-box;
}

body.single-trip .es-server-trip{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  clear:both!important;
  float:none!important;
  background:#fff;
  color:#24343c;
  font-family:var(--es-font-sans,"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif);
}

body.single-trip .es-server-trip__shell{
  display:block!important;
  position:relative!important;
  width:min(1280px,calc(100% - 48px))!important;
  max-width:1280px!important;
  min-width:0!important;
  margin:30px auto 72px!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}

/* Header */
body.single-trip .es-server-trip__header{
  display:flex!important;
  position:relative!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:28px!important;
  width:100%!important;
  margin:0 0 22px!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}
body.single-trip .es-server-trip__header h1{
  margin:0!important;
  max-width:980px;
  color:#102b38!important;
  font-size:clamp(28px,2.2vw,36px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
}
body.single-trip .es-server-trip__review{
  margin:10px 0 0!important;
  color:#687983!important;
  font-size:15px!important;
}
body.single-trip .es-server-trip__from{
  position:static!important;
  margin:0!important;
  white-space:nowrap;
  color:#6f7f87!important;
}
body.single-trip .es-server-trip__from strong{
  margin:0 5px!important;
  color:#8b1f2c!important;
  font-size:30px!important;
}

/* Gallery: fully isolated from theme image / figure rules. */
body.single-trip .es-server-gallery{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;
  grid-template-rows:500px!important;
  gap:10px!important;
  position:relative!important;
  width:100%!important;
  height:500px!important;
  min-height:500px!important;
  max-height:500px!important;
  margin:0 0 22px!important;
  padding:0!important;
  overflow:hidden!important;
  float:none!important;
  clear:both!important;
  z-index:1!important;
}
body.single-trip .es-server-gallery__hero,
body.single-trip .es-server-gallery__side,
body.single-trip .es-server-gallery figure{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  clear:none!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.single-trip .es-server-gallery__hero{
  display:block!important;
  width:100%!important;
  height:500px!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#eef2f3!important;
}
body.single-trip .es-server-gallery__side{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  height:500px!important;
  overflow:hidden!important;
}
body.single-trip .es-server-gallery__side>figure{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#eef2f3!important;
}
body.single-trip .es-server-gallery img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}

/* Sticky tabs/price bar: sits below the EcoSapa header and keeps the price visible.
 * Only this bar becomes sticky; the rest of the approved layout stays unchanged. */
body.single-trip .es-server-tabs{
  --es-server-sticky-top:0px;
  display:flex!important;
  position:sticky!important;
  top:var(--es-server-sticky-top)!important;
  inset:auto!important;
  z-index:40!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  min-height:60px!important;
  margin:0 0 34px!important;
  padding:0 4px!important;
  overflow:visible!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  background:#fff!important;
  border-top:1px solid #e2e8eb!important;
  border-bottom:1px solid #dfe6e9!important;
  box-shadow:0 4px 14px rgba(19,41,52,.05)!important;
}
body.single-trip .es-server-tabs__links{
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  flex:1 1 auto!important;
}
body.single-trip .es-server-tabs a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:59px!important;
  padding:0 16px!important;
  margin:0!important;
  color:#5f7079!important;
  text-decoration:none!important;
  font-size:15px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
body.single-trip .es-server-tabs a:hover{
  color:#ed1c24!important;
}
body.single-trip .es-server-tabs__cta{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  padding-left:18px!important;
  border-left:1px solid #e3e8eb!important;
  white-space:nowrap!important;
}
body.single-trip .es-server-tabs__price{
  display:flex!important;
  align-items:baseline!important;
  gap:5px!important;
  color:#6f7c83!important;
}
body.single-trip .es-server-tabs__price small{
  color:#7a8790!important;
  font-size:13px!important;
  text-transform:lowercase!important;
}
body.single-trip .es-server-tabs__price strong{
  color:#8b1f2c!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:800!important;
}
body.single-trip .es-server-tabs__price span{
  color:#7a8790!important;
  font-size:13px!important;
}
body.single-trip .es-server-tabs button,
body.single-trip .es-server-tabs .es-server-tabs__book{
  position:static!important;
  width:auto!important;
  min-width:118px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 22px!important;
  transform:none!important;
  background:#ed1c24!important;
  color:#fff!important;
  border:0!important;
  border-radius:7px!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

/* Summary: forced into its own row below the tabs. */
body.single-trip .es-server-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 330px!important;
  align-items:start!important;
  gap:36px!important;
  position:relative!important;
  inset:auto!important;
  z-index:4!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 38px!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  background:#fff!important;
}
body.single-trip .es-server-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 34px!important;
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:2px 0!important;
  float:none!important;
  clear:none!important;
  background:#fff!important;
}
body.single-trip .es-server-facts>div{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  min-width:0!important;
  margin:0!important;
  padding:15px 0!important;
  border-bottom:1px solid #edf0f1!important;
  font-size:15.5px!important;
  line-height:1.5!important;
}
body.single-trip .es-server-facts b{
  color:#142f3c!important;
  font-weight:800!important;
}
body.single-trip .es-server-facts span{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  color:#445861!important;
}
body.single-trip .es-server-booking{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  z-index:3!important;
  width:330px!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:22px!important;
  float:none!important;
  clear:none!important;
  transform:none!important;
  overflow:hidden!important;
  background:#fff!important;
  background-image:none!important;
  border:1px solid #dfe6e9!important;
  border-radius:12px!important;
  box-shadow:0 10px 28px rgba(27,48,59,.08)!important;
}
body.single-trip .es-server-booking__badge{
  display:block!important;
  margin:0 0 7px!important;
  color:#8b1f2c!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
body.single-trip .es-server-booking h2{
  margin:0 0 8px!important;
  color:#15303d!important;
  font-size:21px!important;
  line-height:1.25!important;
}
body.single-trip .es-server-booking p{
  margin:0 0 15px!important;
  color:#697a82!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.single-trip .es-server-booking__price{
  display:flex!important;
  align-items:baseline!important;
  gap:5px!important;
  margin:14px 0!important;
}
body.single-trip .es-server-booking__price strong{
  color:#8b1f2c!important;
  font-size:28px!important;
}
body.single-trip .es-server-booking button,
body.single-trip .es-server-booking .es-server-booking__wa{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:50px!important;
  margin:0!important;
  padding:0 18px!important;
  transform:none!important;
  background:#ed1c24!important;
  color:#fff!important;
  border:0!important;
  border-radius:6px!important;
  font-size:16px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

/* Highlights stay inside the same content shell to avoid viewport-width bleed. */
body.single-trip .es-server-highlights{
  display:grid!important;
  grid-template-columns:310px minmax(0,1fr)!important;
  gap:34px!important;
  position:relative!important;
  width:100%!important;
  margin:0 0 54px!important;
  padding:30px 34px!important;
  float:none!important;
  clear:both!important;
  background:#fff0e6!important;
  border-radius:10px!important;
}
body.single-trip .es-server-highlights h2{
  margin:0!important;
  color:#ef7628!important;
  font-size:23px!important;
  line-height:1.25!important;
}
body.single-trip .es-server-highlights ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.single-trip .es-server-highlights li{
  position:relative!important;
  margin:0 0 11px!important;
  padding:0 0 0 27px!important;
  color:#233942!important;
  font-weight:700!important;
  line-height:1.5!important;
}
body.single-trip .es-server-highlights li:last-child{margin-bottom:0!important}
body.single-trip .es-server-highlights li:before{
  content:'✓'!important;
  position:absolute!important;
  left:0!important;
  top:-1px!important;
  color:#71828a!important;
  font-size:20px!important;
}

/* Long-form sections */
body.single-trip .es-server-section{
  display:block!important;
  position:relative!important;
  width:min(940px,100%)!important;
  max-width:940px!important;
  min-width:0!important;
  margin:0 0 58px!important;
  padding:0 0 48px!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  background:#fff!important;
  border-bottom:1px solid #e5eaec!important;
  scroll-margin-top:28px;
}
body.single-trip .es-server-section h2{
  margin:0 0 20px!important;
  color:#102c3a!important;
  font-size:30px!important;
  line-height:1.2!important;
}
body.single-trip .es-server-lead{
  margin:0 0 24px!important;
  color:#344951!important;
  font-size:17px!important;
  line-height:1.8!important;
}
body.single-trip .es-server-article-image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:24px 0 0!important;
  overflow:hidden!important;
}
body.single-trip .es-server-article-image img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  margin:0!important;
  object-fit:cover!important;
  border-radius:9px!important;
}

/* Itinerary */
body.single-trip .es-server-itinerary{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.single-trip .es-server-itinerary:before{
  content:''!important;
  position:absolute!important;
  left:20px!important;
  top:26px!important;
  bottom:20px!important;
  border-left:1px dashed #cbd7dc!important;
}
body.single-trip .es-server-itinerary details{
  display:block!important;
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 0 64px!important;
  border:0!important;
  border-bottom:1px solid #e5eaec!important;
  background:#fff!important;
}
body.single-trip .es-server-itinerary summary{
  display:block!important;
  position:relative!important;
  list-style:none!important;
  width:100%!important;
  margin:0!important;
  padding:22px 44px 22px 0!important;
  color:#132e3a!important;
  font-size:18px!important;
  line-height:1.45!important;
  font-weight:700!important;
  cursor:pointer!important;
}
body.single-trip .es-server-itinerary summary::-webkit-details-marker{display:none!important}
body.single-trip .es-server-itinerary summary:after{
  content:'⌄'!important;
  position:absolute!important;
  right:4px!important;
  top:18px!important;
  color:#60737c!important;
  font-size:22px!important;
}
body.single-trip .es-server-itinerary details[open] summary:after{content:'⌃'!important}
body.single-trip .es-server-day-dot{
  position:absolute!important;
  left:-64px!important;
  top:12px!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  border-radius:50%!important;
  background:#e98239!important;
  color:#fff!important;
  font-weight:800!important;
  z-index:2!important;
}
body.single-trip .es-server-day-content{
  display:block!important;
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 28px!important;
  color:#334850!important;
  font-size:16.5px!important;
  line-height:1.75!important;
}
body.single-trip .es-server-day-content p{margin:0 0 14px!important}
body.single-trip .es-server-day-content figure{
  display:block!important;
  position:relative!important;
  width:100%!important;
  margin:24px 0!important;
  overflow:hidden!important;
}
body.single-trip .es-server-day-content img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  margin:0!important;
  object-fit:cover!important;
  border-radius:8px!important;
}

/* Inclusions */
body.single-trip .es-server-inclusion-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
}
body.single-trip .es-server-inclusion-grid>div{
  margin:0!important;
  padding:25px!important;
  border:1px solid #dce5e8!important;
  border-radius:10px!important;
  background:#fff!important;
}
body.single-trip .es-server-inclusion-grid h3{
  margin:0 0 16px!important;
  color:#16313e!important;
  font-size:21px!important;
}
body.single-trip .es-server-inclusion-grid ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.single-trip .es-server-inclusion-grid li{
  position:relative!important;
  margin:11px 0!important;
  padding:0 0 0 27px!important;
  line-height:1.5!important;
}
body.single-trip .es-server-inclusion-grid .is-in li:before{
  content:'✓'!important;
  position:absolute!important;
  left:0!important;
  color:#0baa63!important;
  font-weight:800!important;
}
body.single-trip .es-server-inclusion-grid .is-out li:before{
  content:'×'!important;
  position:absolute!important;
  left:2px!important;
  color:#e14242!important;
  font-weight:800!important;
}

/* Reviews */
body.single-trip .es-server-review-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}
body.single-trip .es-server-review-grid article{
  position:relative!important;
  margin:0!important;
  padding:26px!important;
  float:none!important;
  background:#fff!important;
  border:1px solid #dfe6e9!important;
  border-radius:12px!important;
}
body.single-trip .es-server-review-grid .stars{color:#f4a11a!important;letter-spacing:2px!important}
body.single-trip .es-server-review-grid h3{margin:12px 0!important;font-size:20px!important}
body.single-trip .es-server-review-grid p{margin:0 0 22px!important;font-size:16px!important;line-height:1.7!important}
body.single-trip .es-server-review-grid small{color:#6d7c84!important}

/* FAQ */
body.single-trip .es-server-subhead{margin:-8px 0 24px!important;font-weight:700!important}
body.single-trip .es-server-faq{
  width:100%!important;
  margin:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dfe6e9!important;
  border-radius:10px!important;
}
body.single-trip .es-server-faq details{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:0!important;
}
body.single-trip .es-server-faq details+details{border-top:1px solid #dfe6e9!important}
body.single-trip .es-server-faq summary{
  display:block!important;
  position:relative!important;
  list-style:none!important;
  width:100%!important;
  margin:0!important;
  padding:20px 52px 20px 20px!important;
  color:#203740!important;
  font-size:17px!important;
  line-height:1.45!important;
  font-weight:700!important;
  cursor:pointer!important;
}
body.single-trip .es-server-faq summary::-webkit-details-marker{display:none!important}
body.single-trip .es-server-faq summary:after{
  content:'+'!important;
  position:absolute!important;
  right:20px!important;
  top:13px!important;
  color:#697b84!important;
  font-size:28px!important;
  font-weight:400!important;
}
body.single-trip .es-server-faq details[open] summary:after{content:'−'!important}
body.single-trip .es-server-faq details p{
  margin:0!important;
  padding:0 56px 22px 20px!important;
  color:#41555e!important;
  line-height:1.7!important;
}

/* Related */
body.single-trip .es-server-related{
  width:100%!important;
  max-width:none!important;
  border-bottom:0!important;
}
body.single-trip .es-server-related-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
}
body.single-trip .es-server-related-grid article{
  position:relative!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  float:none!important;
  background:#fff!important;
  border:1px solid #e0e6e8!important;
  border-radius:12px!important;
}
body.single-trip .es-server-related-grid img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:210px!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
}
body.single-trip .es-server-related-grid h3{
  margin:16px!important;
  font-size:18px!important;
  line-height:1.4!important;
}
body.single-trip .es-server-related-grid a{
  color:#18323f!important;
  text-decoration:none!important;
}

/* Keep native <details> predictable. */
body.single-trip .es-server-trip details>summary{cursor:pointer!important}
body.single-trip .es-server-trip details:not([open])>:not(summary){display:none!important}
body.single-trip .es-server-trip details[open]>:not(summary){display:block!important}

@media(max-width:900px){
  body.single-trip .es-server-trip__shell{width:min(100% - 28px,1280px)!important}
  body.single-trip .es-server-gallery{
    grid-template-columns:1fr!important;
    grid-template-rows:340px 280px!important;
    height:630px!important;
    min-height:630px!important;
    max-height:630px!important;
  }
  body.single-trip .es-server-gallery__hero{height:340px!important}
  body.single-trip .es-server-gallery__side{height:280px!important}
  body.single-trip .es-server-summary{grid-template-columns:1fr!important;gap:26px!important}
  body.single-trip .es-server-booking{width:100%!important}
  body.single-trip .es-server-highlights{grid-template-columns:1fr!important;gap:18px!important}
  body.single-trip .es-server-facts{grid-template-columns:1fr!important}
  body.single-trip .es-server-inclusion-grid,
  body.single-trip .es-server-review-grid,
  body.single-trip .es-server-related-grid{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  body.single-trip .es-server-trip__shell{width:calc(100% - 20px)!important;margin-top:20px!important}
  body.single-trip .es-server-trip__header{align-items:flex-start!important;flex-direction:column!important}
  body.single-trip .es-server-trip__header h1{font-size:28px!important}
  body.single-trip .es-server-gallery{
    grid-template-rows:260px 210px!important;
    height:480px!important;
    min-height:480px!important;
    max-height:480px!important;
  }
  body.single-trip .es-server-gallery__hero{height:260px!important}
  body.single-trip .es-server-gallery__side{height:210px!important}
  body.single-trip .es-server-tabs{margin-bottom:28px!important}
  body.single-trip .es-server-tabs a{padding:0 12px!important;font-size:14px!important}
  body.single-trip .es-server-facts>div{grid-template-columns:100px minmax(0,1fr)!important}
  body.single-trip .es-server-highlights{padding:24px 20px!important}
  body.single-trip .es-server-section h2{font-size:27px!important}
  body.single-trip .es-server-itinerary details{padding-left:55px!important}
  body.single-trip .es-server-day-dot{left:-55px!important;width:38px!important;height:38px!important}
}


/* =========================================================
   v0.24.2 — requested finishing touches only:
   richer right booking/price card, local expert CTA,
   and archive-style Related Trips cards.
   Everything else from v0.24.1 is intentionally unchanged.
   ========================================================= */

/* Right booking / price card */
body.single-trip .es-server-booking{
  padding:22px!important;
}
body.single-trip .es-server-booking__top{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
  margin:0 0 17px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #e7ecee!important;
}
body.single-trip .es-server-duration-badge{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:78px!important;
  min-height:88px!important;
  overflow:hidden!important;
  border:1px solid #ffb9bc!important;
  border-radius:11px!important;
  background:#fff!important;
}
body.single-trip .es-server-duration-badge>span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:22px!important;
  margin:0 0 4px!important;
  padding:3px 5px!important;
  background:#ed1c24!important;
  color:#fff!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
body.single-trip .es-server-duration-badge strong{
  margin:0!important;
  color:#112e3b!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:800!important;
}
body.single-trip .es-server-duration-badge strong.is-text{
  padding:8px!important;
  font-size:12px!important;
  line-height:1.25!important;
  text-align:center!important;
}
body.single-trip .es-server-duration-badge small{
  margin:4px 0 8px!important;
  color:#41555e!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
}
body.single-trip .es-server-booking__meta{
  display:grid!important;
  gap:11px!important;
  min-width:0!important;
  padding:2px 0 0!important;
}
body.single-trip .es-server-booking__meta>div{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#445861!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.single-trip .es-server-booking__meta b{
  margin-right:4px!important;
  color:#17323f!important;
  font-weight:800!important;
}
body.single-trip .es-server-booking__meta span{
  color:#435862!important;
}
body.single-trip .es-server-booking__pricebox{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
}
body.single-trip .es-server-booking__pricebox>span{
  color:#6f7e86!important;
  font-size:13px!important;
}
body.single-trip .es-server-booking__pricebox strong{
  color:#8b1f2c!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:800!important;
}
body.single-trip .es-server-booking__pricebox small{
  color:#77868d!important;
  font-size:13px!important;
}
body.single-trip .es-server-booking__promise{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 17px!important;
  color:#64757d!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.single-trip .es-server-booking__promise>span{
  color:#008fbc!important;
  font-size:24px!important;
  line-height:1!important;
}
body.single-trip .es-server-booking>.es-server-booking__badge,
body.single-trip .es-server-booking>h2,
body.single-trip .es-server-booking>p,
body.single-trip .es-server-booking>.es-server-booking__price{
  display:none!important;
}

/* Local expert block after itinerary */
body.single-trip .es-server-expert{
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr) 260px!important;
  align-items:center!important;
  gap:26px!important;
  width:min(1024px,100%)!important;
  margin:-24px 0 58px!important;
  padding:28px 30px!important;
  background:#fff0e6!important;
  border:0!important;
  border-radius:10px!important;
  clear:both!important;
}
body.single-trip .es-server-expert__portrait{
  width:104px!important;
  height:104px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:#fff!important;
}
body.single-trip .es-server-expert__portrait img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
}
body.single-trip .es-server-expert__copy{
  min-width:0!important;
}
body.single-trip .es-server-expert__copy>strong{
  display:block!important;
  margin:0 0 7px!important;
  color:#18323f!important;
  font-size:18px!important;
  line-height:1.25!important;
}
body.single-trip .es-server-expert__copy>p{
  margin:0 0 10px!important;
  color:#344b55!important;
  font-size:16px!important;
  line-height:1.5!important;
}
body.single-trip .es-server-expert__phone{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 10px!important;
  color:#102e3b!important;
  text-decoration:none!important;
  font-size:16px!important;
  font-weight:800!important;
}
body.single-trip .es-server-expert__phone>span{
  color:#f27827!important;
}
body.single-trip .es-server-expert__channels{
  display:flex!important;
  gap:10px!important;
}
body.single-trip .es-server-expert__channels>span{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
}
body.single-trip .es-server-expert__channels .is-wa{background:#20c96b!important}
body.single-trip .es-server-expert__channels .is-chat{background:#7d5ce1!important}
body.single-trip .es-server-expert>.es-bp-hard-expert__cta{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 22px!important;
  background:#ed1c24!important;
  color:#fff!important;
  border:0!important;
  border-radius:7px!important;
  box-shadow:none!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-decoration:none!important;
  cursor:pointer!important;
}

/* Related Trips — richer cards like the archive/listing language */
body.single-trip .es-server-related{
  width:100%!important;
  max-width:none!important;
  margin-bottom:38px!important;
  padding-bottom:0!important;
  border-bottom:0!important;
}
body.single-trip .es-server-related>h2{
  margin-bottom:24px!important;
}
body.single-trip .es-server-related-grid{
  align-items:stretch!important;
}
body.single-trip .es-server-related-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e0e5e8!important;
  border-radius:13px!important;
  box-shadow:0 10px 25px rgba(24,49,61,.05)!important;
}
body.single-trip .es-server-related-card__media{
  position:relative!important;
  display:block!important;
  width:calc(100% - 28px)!important;
  height:252px!important;
  margin:14px 14px 0!important;
  overflow:hidden!important;
  border-radius:10px!important;
  background:#edf2f3!important;
}
body.single-trip .es-server-related-card__media:after{
  content:''!important;
  position:absolute!important;
  inset:55% 0 0!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,rgba(4,22,30,0),rgba(4,22,30,.74))!important;
}
body.single-trip .es-server-related-card__media img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
  transform:none!important;
}
body.single-trip .es-server-related-card__heart{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:3!important;
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  border-radius:50%!important;
  background:rgba(78,103,113,.72)!important;
  color:#fff!important;
  font-size:28px!important;
  line-height:1!important;
}
body.single-trip .es-server-related-card__price{
  position:absolute!important;
  right:15px!important;
  bottom:12px!important;
  z-index:3!important;
  color:#fff!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  text-shadow:0 3px 14px rgba(0,0,0,.38)!important;
}
body.single-trip .es-server-related-card__body{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:17px 16px 20px!important;
}
body.single-trip .es-server-related-card__terms{
  min-height:22px!important;
  margin:0 0 9px!important;
  color:#76848b!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.single-trip .es-server-related-card h3{
  margin:0 0 18px!important;
  color:#15303d!important;
  font-size:20px!important;
  line-height:1.45!important;
}
body.single-trip .es-server-related-card h3 a{
  color:inherit!important;
  text-decoration:none!important;
}
body.single-trip .es-server-related-card__facts{
  display:flex!important;
  align-items:flex-start!important;
  gap:28px!important;
  margin-top:auto!important;
}
body.single-trip .es-server-related-card__facts>div{
  display:grid!important;
  grid-template-columns:24px auto!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  min-width:0!important;
}
body.single-trip .es-server-related-card__facts .icon{
  grid-row:1/3!important;
  color:#8b999f!important;
  font-size:20px!important;
}
body.single-trip .es-server-related-card__facts small{
  color:#7f8c92!important;
  font-size:12px!important;
  line-height:1.3!important;
}
body.single-trip .es-server-related-card__facts strong{
  color:#18323f!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:700!important;
}

@media(max-width:900px){
  body.single-trip .es-server-booking__top{grid-template-columns:82px minmax(0,1fr)!important}
  body.single-trip .es-server-expert{
    grid-template-columns:90px minmax(0,1fr)!important;
    gap:20px!important;
  }
  body.single-trip .es-server-expert__portrait{
    width:88px!important;
    height:88px!important;
  }
  body.single-trip .es-server-expert>.es-bp-hard-expert__cta{
    grid-column:1/-1!important;
  }
}
@media(max-width:600px){
  body.single-trip .es-server-booking__top{grid-template-columns:72px minmax(0,1fr)!important}
  body.single-trip .es-server-duration-badge{width:68px!important;min-height:82px!important}
  body.single-trip .es-server-expert{
    grid-template-columns:72px minmax(0,1fr)!important;
    padding:22px 18px!important;
  }
  body.single-trip .es-server-expert__portrait{width:70px!important;height:70px!important}
  body.single-trip .es-server-expert__copy>strong{font-size:16px!important}
  body.single-trip .es-server-expert__copy>p{font-size:14px!important}
  body.single-trip .es-server-related-card__media{height:220px!important}
}


/* v0.24.4 — internal links only; preserve the approved layout. */
body.single-trip .es-server-facts a,
body.single-trip .es-server-booking__meta a{
  color:#008b83!important;
  text-decoration:none!important;
  font-weight:650!important;
}
body.single-trip .es-server-facts a:hover,
body.single-trip .es-server-booking__meta a:hover{
  text-decoration:underline!important;
}
body.single-trip .es-server-related-card__terms a{
  color:inherit!important;
  text-decoration:none!important;
}
body.single-trip .es-server-related-card__terms a:hover{
  color:#008b83!important;
  text-decoration:underline!important;
}

@media(max-width:900px){
  body.single-trip .es-server-tabs{gap:12px!important}
  body.single-trip .es-server-tabs__cta{gap:12px!important;padding-left:12px!important}
  body.single-trip .es-server-tabs__price strong{font-size:20px!important}
}
@media(max-width:700px){
  body.single-trip .es-server-tabs{align-items:stretch!important;min-height:0!important;padding:6px 4px!important}
  body.single-trip .es-server-tabs__cta{gap:10px!important}
  body.single-trip .es-server-tabs__price strong{font-size:18px!important}
  body.single-trip .es-server-tabs button{min-width:104px!important;padding:0 16px!important}
}


/* v0.24.6 — fixed fallback for the approved sticky tour menu.
   This only affects the existing menu bar when it reaches the viewport top. */
body.single-trip .es-server-tabs.es-server-tabs--fixed{
  position:fixed!important;
  top:var(--es-server-fixed-top,0px)!important;
  left:var(--es-server-fixed-left,0px)!important;
  width:var(--es-server-fixed-width,100%)!important;
  margin:0!important;
  z-index:999!important;
}
body.single-trip .es-server-tabs-placeholder{
  display:none!important;
  width:100%!important;
  margin:0 0 34px!important;
  padding:0!important;
  border:0!important;
}
body.single-trip .es-server-tabs-placeholder.is-active{
  display:block!important;
}


/* v0.24.7 — on single Trip pages only, the normal EcoSapa site header
   scrolls away. The tour tabs + price + Book Now are the only sticky bar. */
body.single-trip .es-single-header-nonsticky{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  z-index:auto!important;
}


/* v0.24.8 — force the normal site header back into document flow.
   Applied only by JS to header-like fixed/sticky elements outside the tour UI. */
body.single-trip .es-main-site-header-release{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  inset:auto!important;
  transform:none!important;
  translate:none!important;
  margin-top:0!important;
  z-index:20!important;
}


/* v0.25.0 — dynamic internal breadcrumb above the H1 only. */
body.single-trip .es-server-breadcrumb{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 10px!important;
  padding:0!important;
  color:#a0abb1!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:500!important;
}
body.single-trip .es-server-breadcrumb a{
  color:#9aa6ad!important;
  text-decoration:none!important;
  transition:color .15s ease!important;
}
body.single-trip .es-server-breadcrumb a:hover{
  color:#008b83!important;
  text-decoration:underline!important;
}
body.single-trip .es-server-breadcrumb__sep{
  color:#c2c9cd!important;
  user-select:none!important;
}


/* v0.26.4 — Tour options / price table + direct WhatsApp booking. */
body.single-trip .es-server-price-section{width:100%!important;max-width:100%!important}
body.single-trip .es-server-rate-table-wrap{width:100%!important;overflow-x:auto!important;border:1px solid #e1e7ea!important;border-radius:10px!important;background:#fff!important}
body.single-trip .es-server-rate-table{width:100%!important;min-width:760px!important;margin:0!important;border:0!important;border-collapse:collapse!important;background:#fff!important;font-size:15.5px!important}
body.single-trip .es-server-rate-table th{padding:14px 16px!important;text-align:left!important;background:#f4f5f5!important;color:#243942!important;border:0!important;border-bottom:1px solid #e4e9eb!important;font-weight:800!important;white-space:nowrap!important}
body.single-trip .es-server-rate-table th span{color:#7a858b!important;font-weight:500!important}
body.single-trip .es-server-rate-table td{padding:16px!important;vertical-align:middle!important;border:0!important;border-bottom:1px solid #e7ecee!important;color:#253b45!important;background:#fff!important}
body.single-trip .es-server-rate-table tbody tr:last-child td{border-bottom:0!important}
body.single-trip .es-server-rate-table__option strong{display:block!important;color:#122d3a!important;font-size:16px!important}
body.single-trip .es-server-rate-table__option small{display:block!important;margin-top:4px!important;color:#738087!important}
body.single-trip .es-server-rate-table__price span,
body.single-trip .es-server-rate-table__total span{color:#7b858b!important;margin-right:2px!important}
body.single-trip .es-server-rate-table__price strong{color:#1f3440!important;font-size:21px!important}
body.single-trip .es-server-rate-table__price small{color:#7b858b!important;font-size:14px!important}
body.single-trip .es-server-rate-table__total strong{color:#122d3a!important;font-size:21px!important}
body.single-trip .es-server-rate-table__action{text-align:right!important;width:150px!important}
body.single-trip .es-server-rate-book{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:126px!important;height:44px!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:6px!important;background:#ed1c24!important;color:#fff!important;font-size:14px!important;font-weight:800!important;cursor:pointer!important;box-shadow:none!important}
body.single-trip .es-server-rate-book:hover{background:#d9151d!important}
body.single-trip .es-server-rate-note{margin:12px 0 0!important;color:#748189!important;font-size:13px!important;line-height:1.55!important}
body.single-trip .es-server-tabs__book{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important}
body.single-trip .es-server-booking__wa{display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important}
@media(max-width:760px){
  body.single-trip .es-server-price-section{overflow:hidden!important}
  body.single-trip .es-server-rate-table-wrap{border-radius:8px!important}
  body.single-trip .es-server-rate-table{min-width:680px!important}
}
