/* ========== r14: tour hero CTAs on photo, no fondito ========== */
body.tour .tx-hero::before{
  background:linear-gradient(180deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,.04) 45%,rgba(0,0,0,.08) 78%,rgba(0,0,0,.16) 100%)!important;
}
body.tour .tx-hero .wrap,
body.tour .tx-hero .vh-btns,
body.tour .tx-hero .vh-btns::before,
body.tour .tx-hero .vh-btns::after{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:0!important;
}
body.tour .tx-hero .vh-btns{
  position:relative;z-index:2;margin:0;padding:0;gap:10px;justify-content:flex-start;
}
body.tour .tx-hero h1{
  text-shadow:0 2px 24px rgba(0,0,0,.7),0 1px 4px rgba(0,0,0,.55);
}
body.tour .tx-hero .tx-meta{
  text-shadow:0 1px 14px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.45);
  margin-bottom:18px!important;
}
body.tour .tx-hero .vh-btns .btn-line{
  background:transparent!important;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.45));
}
body.tour .tx-hero .vh-btns .btn-o{
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));
}
body.tour .tx-hero{padding-bottom:72px!important}
@media (max-width:700px){
  body.tour .tx-hero{padding-bottom:40px!important}
  body.tour .tx-hero .vh-btns{gap:8px}
  body.tour .tx-hero::before{
    background:linear-gradient(180deg,rgba(0,0,0,.36) 0%,rgba(0,0,0,.05) 42%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.2) 100%)!important;
  }
}

/* ========== r15/r18: gallery strip under hero — content column; gap halved r18 ========== */
body.tour .tx-hero + .tcar-wrap.tstrip,
body.tour .tx-hero + .tstrip,
body.tour .tcar-wrap.tstrip,
body.tour .tstrip{
  width:100%!important;
  max-width:1280px!important;
  margin:8px auto 0!important; /* r28b: match photo-to-photo gap */
  padding:0 32px!important;
  box-sizing:border-box!important;
}
body.tour .tstrip .tcar{padding:0!important}
body.tour .tstrip .tcar>*{border-radius:4px!important}
body.tour .tstrip .tprev{left:40px!important}
body.tour .tstrip .tnext{right:40px!important}
body.tour .tx-hero + .tstrip + .crumbs,
body.tour .tstrip + .crumbs{
  padding-top:10px!important;
  padding-bottom:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
@media (max-width:767px){
  body.tour .tx-hero + .tcar-wrap.tstrip,
  body.tour .tx-hero + .tstrip,
  body.tour .tcar-wrap.tstrip,
  body.tour .tstrip{
    margin-top:8px!important; /* r28b: same as .tcar gap */
    padding:0 18px!important;
  }
  body.tour .tstrip .tprev{left:26px!important}
  body.tour .tstrip .tnext{right:26px!important}
}

/* ========== r14: tighter itinerary + section rhythm ========== */
body.tour .tl-days summary{padding:11px 0!important;gap:14px}
body.tour .tl-days .tl-b{padding:0 0 14px 56px!important}
body.tour .tl-days .tl-b p{margin:0 0 8px}
body.tour .tl-days .tl-b .list > li{margin:0 0 6px!important}
body.tour .tx-sec{
  padding-bottom:28px!important;
  margin-bottom:28px!important;
}
body.tour .tx-sec > h2{margin:0 0 16px!important}
body.tour .tx-sec > .tx-sub,
body.tour .tx-sub{margin:20px 0 10px!important}
body.tour .tx-sec > .tx-sub:first-of-type{margin-top:0!important}
body.tour #itinerario.tx-sec{
  padding-bottom:20px!important;
  margin-bottom:20px!important;
}
body.tour #precio .ptable{margin-top:0;padding:20px!important}
body.tour #video .media,
body.tour #video .frame{margin-top:0}
body.tour .tx-body{padding-top:20px!important;padding-bottom:48px!important}
body.tour .tx-related{padding-top:8px;padding-bottom:56px!important}
body.tour .tx-related .shead{margin-bottom:24px!important}
@media (max-width:700px){
  body.tour .tl-days summary{padding:10px 0!important}
  body.tour .tl-days .tl-b{padding:0 0 12px 0!important}
  body.tour .tx-sec{padding-bottom:22px!important;margin-bottom:22px!important}
  body.tour #itinerario.tx-sec{padding-bottom:16px!important;margin-bottom:16px!important}
  body.tour .tx-sec > h2{margin:0 0 12px!important}
  body.tour .tx-body{padding-top:12px!important;padding-bottom:36px!important}
  body.tour #precio .ptable{padding:16px!important}
}

/* ========== r14: compact hero buttons (home + tour/package) ========== */
.vhero .vh-btns,
body.tour .tx-hero .vh-btns{gap:10px!important}
.vhero .vh-btns .btn,
body.tour .tx-hero .vh-btns .btn{
  padding:9px 18px!important;
  font-size:11px!important;
  letter-spacing:.1em!important;
  font-weight:600!important;
  line-height:1.2!important;
  min-height:0!important;
  border-radius:4px!important;
}
.vhero .vh-btns .btn svg,
body.tour .tx-hero .vh-btns .btn svg,
.vhero .vh-btns .btn-wa svg,
body.tour .tx-hero .vh-btns .btn-wa svg{
  width:14px!important;height:14px!important;
}
.vhero .vh-btns{margin-bottom:0!important}
@media (max-width:700px){
  .vhero .vh-btns .btn,
  body.tour .tx-hero .vh-btns .btn{
    padding:10px 16px!important;
    font-size:11px!important;
  }
}

/* ========== r41: even clearer home video — tenue black tint only ========== */
.vh-ov{
  background:
    linear-gradient(180deg,rgba(8,7,6,.16) 0%,rgba(8,7,6,.08) 35%,rgba(8,7,6,.12) 65%,rgba(8,7,6,.22) 100%),
    radial-gradient(ellipse at center,rgba(0,0,0,.06),transparent 75%)!important;
}

/* Soft parallel text-shadow so title/sub stay readable on clearer video */
.vhero h1{
  text-shadow:
    1px 2px 0 rgba(0,0,0,.28),
    0 2px 18px rgba(0,0,0,.45),
    0 1px 4px rgba(0,0,0,.35)!important;
}
.vhero .sub,
.vhero .vh-eye{
  text-shadow:
    1px 1px 0 rgba(0,0,0,.30),
    0 2px 14px rgba(0,0,0,.42),
    0 1px 3px rgba(0,0,0,.35)!important;
}

/* ========== r14: home hero title lines + thinner one-line subtitle ========== */
.vhero h1{
  line-height:1.08!important;
  margin:0 0 18px!important;
}
.vhero h1 em{
  display:block;
  font-style:italic;
  margin-top:.06em;
}
.vhero .sub{
  font-weight:300!important;
  font-size:clamp(15px,1.35vw,18px)!important;
  letter-spacing:.02em!important;
  opacity:.95!important;
  max-width:none!important;
  margin:0 auto 26px!important;
  white-space:nowrap!important;
}
@media (max-width:900px){
  .vhero .sub{
    white-space:normal!important;
    max-width:34em!important;
    font-size:15px!important;
    font-weight:300!important;
  }
}

/* ========== r16: bestseller/listing photo cards — wider + price/disc corners ========== */
.hcard .dimg,
.lx-tours .hcard .dimg{
  aspect-ratio:4/3!important;
}
.hcard .dimg::after{
  inset:auto 0 0 0!important;
  height:28%!important;
  background:linear-gradient(transparent,rgba(0,0,0,.28))!important;
}
.hcard .price,
.dimg > .price{
  top:14px!important;
  left:14px!important;
  right:auto!important;
  bottom:auto!important;
}
.disc,
.hcard .disc,
.dimg > .disc{
  top:14px!important;
  right:14px!important;
  left:auto!important;
  bottom:auto!important;
}
.dcard .dimg,
.scard .dimg{
  aspect-ratio:4/3!important;
}
@media (max-width:767px){
  .hcard .dimg,
  .lx-tours .hcard .dimg,
  .dcard .dimg,
  .scard .dimg{
    aspect-ratio:4/3!important;
  }
  .hcard .price,.dimg > .price{top:10px!important;left:10px!important}
  .disc,.hcard .disc,.dimg > .disc{top:10px!important;right:10px!important}
}

/* ========== r17: home filter bar below black strip ========== */
/* r19: no black strip under hero — filter sits on cream */
.hsearch{
  background:var(--cream, #FBF7F0)!important;
  padding:0!important;
  position:relative;
}
.hsearch::before{display:none!important;content:none!important;height:0!important}
.hsearch > .wrap{
  max-width:1280px;
  margin:0 auto;
  padding:28px 32px 0!important;
  box-sizing:border-box;
}
.hsearch .search{
  max-width:100%!important;
  margin:0!important;
  border-radius:4px!important;
  box-shadow:0 8px 28px rgba(20,20,20,.08)!important;
  background:#fff!important;
}
body.home .lx-intro{
  padding-top:48px!important;
}
@media (max-width:767px){
  .hsearch > .wrap{padding:20px 18px 0!important}
  body.home .lx-intro{padding-top:32px!important}
}

/* r21: icon (transparent PNG) + brand text beside — no circle/plate/shadow */
.top .nav{height:72px!important}
.brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.brand img{
  height:56px!important;
  width:auto!important;
  max-width:88px!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
.brand span{display:inline!important}
.brand b{
  display:inline!important;
  font-size:17px!important;
  font-weight:800!important;
  color:#fff!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  text-shadow:none!important;
  filter:none!important;
}
.brand img,
.brand{
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
}
.foot .brand img{
  height:48px!important;
  max-width:72px!important;
}
.foot .brand b{color:inherit!important}
@media (max-width:767px){
  .top .nav{height:64px!important}
  .brand{gap:8px!important}
  .brand img{
    height:44px!important;
    max-width:68px!important;
  }
  .brand b{font-size:14px!important}
  .foot .brand img{height:40px!important;max-width:60px!important}
}


/* ========== r23/r24: overview 2-col; crumbs inside left column above title ========== */
body.tour .tx-overview{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,440px)!important;
  gap:20px 22px!important;
  align-items:start!important;
  padding-top:14px!important;
  padding-bottom:40px!important;
}
body.tour .tx-ov-txt{
  max-width:none!important;
  margin:0!important;
  order:0!important;
  min-width:0!important;
}
/* crumbs: own line above title, same left edge as title (inside left col) */
body.tour .tx-ov-txt > .crumbs{
  margin:0 0 10px!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
}
body.tour .tx-ov-txt > .crumbs ol{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  font-size:13px!important;
  align-items:center!important;
}
body.tour .tx-ov-title,
body.tour .tx-ov-txt .tx-ov-title{
  margin:0 0 14px!important;
  font-size:clamp(26px,3vw,38px)!important;
  line-height:1.15!important;
  text-align:left!important;
}
body.tour .tx-ov-txt p{
  font-size:16px!important;
  line-height:1.7!important;
  margin:0 0 12px!important;
  max-width:68ch!important;
}
body.tour .tx-ov-txt p:last-child{margin-bottom:0!important}
body.tour .tx-facts{
  width:auto!important;
  max-width:none!important;
  padding:18px 20px!important;
  box-sizing:border-box!important;
  display:block!important;
  background:#F3ECE1!important;
  border-radius:var(--r,4px)!important;
  align-self:start!important;
}
body.tour .tx-facts dl{
  display:block!important;
  margin:0!important;
  flex:none!important;
}
body.tour .tx-facts dl > div:not(.tx-svc-row){
  display:grid!important;
  grid-template-columns:118px 1fr!important;
  gap:6px 12px!important;
  padding:9px 0!important;
  border:none!important;
  border-bottom:1px solid rgba(20,20,20,.12)!important;
  flex:none!important;
  max-width:none!important;
  min-width:0!important;
}
body.tour .tx-facts dl > div:not(.tx-svc-row):first-child{padding-top:0!important}
body.tour .tx-facts dl > div:not(.tx-svc-row):last-child{border-bottom:none!important;padding-bottom:0!important}
body.tour .tx-facts dt{
  font-size:12px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#5a5047!important;
  font-weight:500!important;
  margin:0!important;
}
body.tour .tx-facts dd{
  margin:0!important;
  font-size:15px!important;
  line-height:1.45!important;
  color:#141414!important;
}
body.tour .tx-facts .tx-from{
  font-family:var(--serif)!important;
  font-size:26px!important;
  line-height:1!important;
}
body.tour .tx-facts .tx-from small{font-size:13px!important;font-family:var(--sans)!important}
body.tour .tx-facts dd small{display:inline;font-size:12px!important;color:#5a5047!important}
body.tour .tx-facts dd small.tx-pg{display:block!important;margin-top:3px!important;font-size:12px!important;line-height:1.35!important;color:#5a5047!important;font-weight:400!important}
body.tour .tx-facts dd{font-size:14px!important;line-height:1.4!important}
body.tour .tx-fact-btns{display:none!important}
/* no stray full-bleed crumbs above overview */
body.tour .tstrip + .crumbs.wrap,
body.tour .tx-hero + .tstrip + .crumbs.wrap,
body.tour .crumbs.wrap{
  margin-left:auto!important;
  margin-right:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:10px!important;
  padding-bottom:0!important;
  max-width:1280px!important;
  box-sizing:border-box!important;
}
body.tour .tx-sec{
  padding-bottom:20px!important;
  margin-bottom:20px!important;
}
body.tour .tx-sec > h2{margin:0 0 12px!important}
body.tour .tx-body{padding-top:12px!important;gap:28px!important}
body.tour #itinerario.tx-sec{
  padding-bottom:14px!important;
  margin-bottom:14px!important;
}
@media (max-width:980px){
  /* stacking owned by r25; keep light padding tweak */
  body.tour .tx-facts{padding:14px 16px!important}
}
@media (max-width:767px){
  body.tour .tx-overview{padding-top:12px!important;padding-bottom:28px!important;gap:16px!important}
  body.tour .tx-ov-title{font-size:26px!important}
  body.tour .tx-ov-txt > .crumbs ol{font-size:12px!important}
  body.tour .tx-facts dl > div{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
}

/* ========== r22: itinerary accordion orange icon (replaces black chevron) ========== */
body.tour .tl-days summary .tl-c,
.tl-days summary .tl-c,
body.tour .ie-acc > summary .tl-c,
.ie-acc > summary .tl-c{
  width:14px!important;
  height:16px!important;
  border:0!important;
  border-right:0!important;
  border-bottom:0!important;
  background:url("../img/itin-chevron.png") center / contain no-repeat!important;
  background-color:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:rotate(0deg)!important;
  margin:0 2px 0 8px!important;
  flex:none!important;
  transition:transform .22s ease!important;
  display:inline-block!important;
}
body.tour .tl-days details[open] > summary .tl-c,
.tl-days details[open] > summary .tl-c,
body.tour .ie-acc[open] > summary .tl-c,
.ie-acc[open] > summary .tl-c{
  transform:rotate(180deg)!important;
  margin-top:0!important;
}

/* ========== r24b: slow carousels (tour strip + home marquee fallback) ========== */
.gs-track{animation-duration:112s!important}
@media (max-width:700px){.gs-track{animation-duration:96s!important}}
@media (prefers-reduced-motion:reduce){.gs-track{animation-duration:160s!important}}

/* ========== r24c: home Novedades slow carousel polish ========== */
body.home .stories .hscroll{
  scroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch;
}
body.home .stories .hscroll.s3{
  grid-auto-columns:calc((100% - 40px)/3)!important;
}
@media (max-width:900px){
  body.home .stories .hscroll.s3{grid-auto-columns:calc((100% - 14px)/2)!important}
}
@media (max-width:767px){
  body.home .stories .hscroll.s3{grid-auto-columns:78%!important}
}

/* ========== r24d: price tier typography (layout → r25) ========== */
body.tour .tx-facts dt{font-size:10.5px!important;letter-spacing:.04em!important}
body.tour .tx-facts dd{font-size:13.5px!important;line-height:1.35!important}
body.tour .tx-facts dd .tx-pg{display:block!important;margin-top:2px!important;font-size:11px!important;color:#5a5047!important}

/* ========== r25: adaptive overview balance (huecos) ========== */
/* Desktop: 2-col when wide enough; stack when not */
body.tour .tx-overview{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,min(46%,520px))!important;
  gap:18px 16px!important;
  align-items:start!important;
}
body.tour .tx-ov-txt{
  min-width:0!important;
}
body.tour .tx-ov-txt p{
  max-width:none!important; /* fill left col — reduces side hueco */
}
body.tour .tx-facts{
  width:100%!important;
  max-width:none!important;
  padding:14px 16px!important;
  align-self:start!important;
  container-type:inline-size!important;
  container-name:txfacts!important;
}
/* Default facts list: single column of rows */
body.tour .tx-facts dl{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:0!important;
}
body.tour .tx-facts dl > div:not(.tx-svc-row){
  display:grid!important;
  grid-template-columns:minmax(88px,38%) 1fr!important;
  gap:4px 10px!important;
  padding:8px 0!important;
  border-bottom:1px solid rgba(20,20,20,.12)!important;
  min-width:0!important;
}
body.tour .tx-facts dl > div:not(.tx-svc-row):last-child{border-bottom:none!important;padding-bottom:0!important}
body.tour .tx-facts dl > div:not(.tx-svc-row):first-child{padding-top:0!important}

/* Wide screens + many fact rows (≥6): internal 2-col of facts → shorter card */
@media (min-width:1100px){
  body.tour .tx-overview{
    grid-template-columns:minmax(0,1.25fr) minmax(400px,min(48%,540px))!important;
    gap:16px 18px!important;
  }
  body.tour .tx-facts:has(dl > div:nth-child(6)){
    padding:12px 14px!important;
  }
  body.tour .tx-facts:has(dl > div:nth-child(6)) dl{
    grid-template-columns:1fr 1fr!important;
    column-gap:18px!important;
    row-gap:0!important;
  }
  body.tour .tx-facts:has(dl > div:nth-child(5)) dl > div:not(.tx-svc-row){
    grid-template-columns:minmax(70px,34%) 1fr!important;
    gap:2px 8px!important;
    padding:6px 0!important;
  }
  body.tour .tx-facts:has(dl > div:nth-child(5)) dl > div:not(.tx-svc-row):nth-child(odd){
    padding-right:2px!important;
  }
  body.tour .tx-facts:has(dl > div:nth-child(5)) dl > div:not(.tx-svc-row):nth-child(even){
    padding-left:2px!important;
  }
}

/* Container fallback: if facts card itself is wide enough, 2-col rows */
@container txfacts (min-width:460px){
  body.tour .tx-facts:has(dl > div:nth-child(6)) dl{
    grid-template-columns:1fr 1fr!important;
    column-gap:20px!important;
  }
}

/* Not enough width for balanced 2-col overview → one column */
@media (max-width:980px){
  body.tour .tx-overview{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body.tour .tx-facts{
    max-width:640px!important; /* don't stretch awkwardly full bleed on tablet */
  }
  body.tour .tx-facts dl{
    grid-template-columns:1fr!important;
  }
}

/* Mobile: stacked, readable */
@media (max-width:767px){
  body.tour .tx-overview{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding-top:12px!important;
    padding-bottom:28px!important;
  }
  body.tour .tx-facts{
    max-width:none!important;
    padding:14px 14px!important;
  }
  body.tour .tx-facts dl{
    grid-template-columns:1fr!important;
  }
  body.tour .tx-facts dl > div{
    grid-template-columns:1fr!important;
    gap:3px!important;
    padding:8px 0!important;
  }
  body.tour .tx-facts dt{font-size:11px!important}
  body.tour .tx-facts dd{font-size:14px!important}
}

/* ========== r25b: polish split + denser internal facts ========== */
@media (max-width:700px){
  body.tour .tx-facts dl{grid-template-columns:1fr!important}
}

/* ========== r26: shared|private paired on one row ========== */
body.tour .tx-facts dl > .tx-svc-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-column:1 / -1!important;
  column-gap:16px!important;
  row-gap:0!important;
  padding:10px 0 0!important;
  border:none!important;
  border-bottom:none!important;
  margin-top:4px!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body.tour .tx-facts dl > .tx-svc-row > div{
  display:grid!important;
  grid-template-columns:1fr!important; /* label above value inside each cell — clearer pair */
  gap:3px!important;
  padding:6px 0 0!important;
  border-bottom:none!important;
  min-width:0!important;
}
body.tour .tx-facts dl > .tx-svc-row > div:first-child{
  padding-right:8px!important;
  border-right:1px solid rgba(20,20,20,.12)!important;
}
body.tour .tx-facts dl > .tx-svc-row > div:last-child{
  padding-left:8px!important;
}
body.tour .tx-facts dl > .tx-svc-row dt{
  font-size:10.5px!important;
  letter-spacing:.04em!important;
}
body.tour .tx-facts dl > .tx-svc-row dd{
  font-size:14px!important;
  line-height:1.35!important;
}
/* When facts dl itself is 2-col, other rows stay; svc-row still spans */
@media (max-width:767px){
  body.tour .tx-facts dl > .tx-svc-row{
    grid-template-columns:1fr!important;
    column-gap:0!important;
    padding-top:6px!important;
  }
  body.tour .tx-facts dl > .tx-svc-row > div:first-child{
    border-right:none!important;
    padding-right:0!important;
    padding-bottom:8px!important;
    border-bottom:1px solid rgba(20,20,20,.12)!important;
  }
  body.tour .tx-facts dl > .tx-svc-row > div:last-child{
    padding-left:0!important;
    padding-top:8px!important;
  }
}

/* ========== r26b/c: equal shared|private; stack on mobile ========== */
@media (min-width:768px){
  body.tour .tx-facts dl > .tx-svc-row{
    grid-template-columns:1fr 1fr!important;
  }
}
body.tour .tx-facts dl > .tx-svc-row > div{
  width:auto!important;
  max-width:none!important;
}
@media (max-width:767px){
  body.tour .tx-facts dl > .tx-svc-row{
    grid-template-columns:1fr!important;
  }
  body.tour .tx-facts dl > .tx-svc-row > div:first-child{
    border-right:none!important;
    padding-right:0!important;
    border-bottom:1px solid rgba(20,20,20,.12)!important;
    padding-bottom:8px!important;
  }
  body.tour .tx-facts dl > .tx-svc-row > div:last-child{
    padding-left:0!important;
    padding-top:8px!important;
  }
}

/* ========== r27: listing pages — tighter tabs + cards ========== */
body.listing .crumbs{padding-top:14px!important}
body.listing .ltabs{margin-top:4px!important}
body.listing .ltabs-in{gap:14px!important}
body.listing .ltabs-in a{padding:10px 0!important;font-size:14px!important}
body.listing .lsec{padding-top:36px!important}
body.listing .lgrid{gap:36px 24px!important}
body.listing .lc-body{padding-top:10px!important}
body.listing .lc-body h3{margin-bottom:6px!important}
@media (max-width:1000px){
  body.listing .lgrid{gap:32px 20px!important}
  body.listing .ltabs-in{gap:12px!important}
}
@media (max-width:767px){
  body.listing .lsec{padding-top:28px!important}
  body.listing .lgrid{gap:28px!important}
  body.listing .lc-body{padding-top:8px!important}
}

/* ========== r28: category as facts card title ========== */
body.tour .tx-facts-cat{
  margin:0 0 12px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid rgba(20,20,20,.14)!important;
  font-family:var(--serif)!important;
  font-size:clamp(20px,2.1vw,26px)!important;
  font-weight:500!important;
  line-height:1.2!important;
  color:#141414!important;
}
body.tour .tx-facts-cat-lbl{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#5a5047!important;
  vertical-align:middle!important;
}
body.tour .tx-facts-cat-sep{
  font-family:var(--sans)!important;
  font-size:12px!important;
  color:#8a7f74!important;
  vertical-align:middle!important;
}
body.tour .tx-facts-cat a{
  color:#141414!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(243,154,43,.55)!important;
}
body.tour .tx-facts-cat a:hover{
  color:#F39A2B!important;
  border-bottom-color:#F39A2B!important;
}

/* ========== r29: short-tour steps as accordion + Incluye/No incluye accordion ========== */
body.tour .ie-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0 28px!important;
  align-items:start!important;
}
body.tour .ie-acc{
  border-bottom:1px solid rgba(20,20,20,.12)!important;
}
body.tour .ie-acc > summary{
  list-style:none!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 0!important;
  user-select:none!important;
}
body.tour .ie-acc > summary::-webkit-details-marker{display:none!important}
body.tour .ie-acc .ie-t{
  font-family:var(--serif)!important;
  font-size:clamp(20px,2vw,24px)!important;
  font-weight:500!important;
  color:#141414!important;
  margin:0!important;
}
body.tour .ie-acc > summary .tl-c{
  flex:0 0 auto!important;
}
body.tour .ie-acc[open] > summary .tl-c{
  transform:rotate(180deg)!important;
}
body.tour .ie-acc .ck,
body.tour .ie-acc > ul{
  margin:0 0 14px!important;
  padding:0 0 4px!important;
}
body.tour .ie h3{display:none!important} /* replaced by summary .ie-t */
@media (max-width:767px){
  body.tour .ie-grid{grid-template-columns:1fr!important;gap:0!important}
}

/* ========== r29c: vertical divider between facts 2-col + svc-row ========== */
/* When dl is 2-col (many meta rows), draw a center rule via odd-cell border */
@media (min-width:1100px){
  body.tour .tx-facts:has(dl > div:nth-child(6)) dl > div:not(.tx-svc-row):nth-child(odd){
    border-right:1px solid rgba(20,20,20,.12)!important;
    padding-right:10px!important;
  }
  body.tour .tx-facts:has(dl > div:nth-child(6)) dl > div:not(.tx-svc-row):nth-child(even){
    padding-left:10px!important;
  }
}
@container txfacts (min-width:460px){
  body.tour .tx-facts:has(dl > div:nth-child(6)) dl > div:not(.tx-svc-row):nth-child(odd){
    border-right:1px solid rgba(20,20,20,.12)!important;
    padding-right:10px!important;
  }
  body.tour .tx-facts:has(dl > div:nth-child(6)) dl > div:not(.tx-svc-row):nth-child(even){
    padding-left:10px!important;
  }
}
/* Hide center rule when stacked */
@media (max-width:980px){
  body.tour .tx-facts dl > div:not(.tx-svc-row):nth-child(odd){
    border-right:none!important;
    padding-right:0!important;
  }
  body.tour .tx-facts dl > div:not(.tx-svc-row):nth-child(even){
    padding-left:0!important;
  }
}
/* svc-row divider already present; reinforce color match */
body.tour .tx-facts dl > .tx-svc-row > div:first-child{
  border-right-color:rgba(20,20,20,.12)!important;
}

/* ========== r30: difficulty beside category title ========== */
body.tour .tx-facts-cat{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:8px 10px!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  box-sizing:border-box!important;
}
body.tour .tx-facts-cat-main{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:0!important;
  flex:0 1 auto!important;
  min-width:0!important;
}
body.tour .tx-facts-diff{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:0!important;
  flex:0 0 auto!important;
  margin-left:0!important;
  font-family:var(--serif)!important;
  font-size:clamp(18px,1.9vw,22px)!important;
  font-weight:500!important;
  line-height:1.2!important;
  color:#141414!important;
  white-space:nowrap!important;
}
body.tour .tx-facts-diff-lbl{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#5a5047!important;
  vertical-align:middle!important;
}
body.tour .tx-facts-diff-sep{
  font-family:var(--sans)!important;
  font-size:12px!important;
  color:#8a7f74!important;
  vertical-align:middle!important;
}
body.tour .tx-facts-diff-val{
  font-family:var(--serif)!important;
  font-weight:500!important;
  color:#141414!important;
  border-bottom:1px solid rgba(243,154,43,.55)!important;
}
@media (max-width:520px){
  body.tour .tx-facts-cat{gap:8px 12px!important}
  body.tour .tx-facts-diff{font-size:17px!important;margin-left:0!important}
}

/* r31: hcard — half gap description → Reserva/Book (flex gap 8 + mt 16 = 24 → 12) */
.hbody .btn{margin-top:4px!important}
/* r31: listing lcard — remove divider under duration; pack price/Ver tour under days */
.lc-dur{margin-bottom:4px!important}
.lc-foot{margin-top:0!important;padding-top:4px!important;border-top:none!important}

/* r32: sun+moon icon before tour/package section titles */
body.tour .tx-sec#itinerario > h2,
body.tour .tx-sec#incluye-no-incluye > h2,
body.tour .tx-sec#que-llevar > h2,
body.tour .tx-sec#precio > h2,
body.tour .tx-sec#video > h2{
  display:flex!important;
  align-items:center!important;
  gap:.4em!important;
}
body.tour .tx-sec#itinerario > h2::before,
body.tour .tx-sec#incluye-no-incluye > h2::before,
body.tour .tx-sec#que-llevar > h2::before,
body.tour .tx-sec#precio > h2::before,
body.tour .tx-sec#video > h2::before{
  content:""!important;
  display:inline-block!important;
  width:.62em!important;
  height:.62em!important;
  flex:0 0 .62em!important;
  background:url("../img/icon-sun-moon.png?v=40") center/contain no-repeat!important;
  vertical-align:middle;
}

/* r33: 1-day tours — single itinerary accordion (stops inside) */
body.tour .tl-oneday .tl-n{display:none}
body.tour .tl-oneday summary{gap:.55em}
body.tour .tl-oneday .tl-stop{margin:0 0 1.05em}
body.tour .tl-oneday .tl-stop:last-child{margin-bottom:0}
body.tour .tl-oneday .tl-stop-t{
  font-family:Cormorant,Georgia,serif;
  font-size:1.12em;font-weight:600;line-height:1.25;
  margin:0 0 .35em;color:var(--ink,#1a1a1a);
}
body.tour .tl-oneday .tl-stop-b{font-size:.95em;line-height:1.55;color:var(--ink-2,#333)}
body.tour .tl-oneday .tl-stop-b .list{margin:.4em 0 0;padding-left:1.1em}


/* r34: Qué llevar / Precio section accordions (collapsed by default) */
body.tour .tx-sec-acc{
  border-bottom:1px solid rgba(20,20,20,.12)!important;
}
body.tour .tx-sec-acc > summary{
  list-style:none!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 0 12px!important;
  user-select:none!important;
}
body.tour .tx-sec-acc > summary::-webkit-details-marker{display:none!important}
body.tour .tx-sec-acc > summary > h2{
  margin:0!important;
  flex:1 1 auto!important;
}
body.tour .tx-sec-acc > summary .tl-c{
  /* match itinerary day chevrons: orange flechita only (kill lux.v6 black L borders) */
  flex:0 0 auto!important;
  width:14px!important;
  height:16px!important;
  border:0!important;
  border-right:0!important;
  border-bottom:0!important;
  background:url("../img/itin-chevron.png") center / contain no-repeat!important;
  background-color:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:inline-block!important;
  transition:transform .22s ease!important;
  transform:rotate(0deg)!important;
  margin:0 2px 0 8px!important;
}
body.tour .tx-sec-acc[open] > summary .tl-c{
  transform:rotate(180deg)!important;
  margin-top:0!important;
}
body.tour .tx-sec-acc > summary::marker{content:none!important;display:none!important}
body.tour .tx-sec-acc .dl2,
body.tour .tx-sec-acc .ptable{
  margin-top:4px!important;
}
/* section title icon when h2 is inside accordion summary */
body.tour .tx-sec#que-llevar .tx-sec-acc > summary > h2,
body.tour .tx-sec#precio .tx-sec-acc > summary > h2{
  display:flex!important;
  align-items:center!important;
  gap:.4em!important;
}
body.tour .tx-sec#que-llevar .tx-sec-acc > summary > h2::before,
body.tour .tx-sec#precio .tx-sec-acc > summary > h2::before{
  content:""!important;
  display:inline-block!important;
  width:.62em!important;
  height:.62em!important;
  flex:0 0 .62em!important;
  background:url("../img/icon-sun-moon.png?v=40") center/contain no-repeat!important;
  vertical-align:middle;
}

/* r34: list icons in Incluye/No incluye + Qué llevar — 20% smaller */
body.tour .ck > li::before{
  width:14px!important;
  height:1.55em!important;
  background-size:14px 14px!important;
}
body.tour .ie-in .ck > li,
body.tour .ie-out .ck > li{
  padding-left:24px!important;
}
body.tour .dl2 > li::before,
body.tour #que-llevar .dl2 > li::before{
  width:5px!important;
  height:5px!important;
}

/* r36: difficulty starts at card midpoint (align with compartido|privado divider) */
body.tour .tx-facts-cat{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  align-items:baseline!important;
  column-gap:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
body.tour .tx-facts-cat-main{
  min-width:0!important;
  justify-self:start!important;
}
body.tour .tx-facts-diff{
  margin-left:0!important;
  margin-right:0!important;
  justify-self:start!important;
  text-align:left!important;
  white-space:nowrap!important;
  flex:unset!important;
}
@media (max-width:520px){
  body.tour .tx-facts-cat{
    grid-template-columns:1fr!important;
    row-gap:8px!important;
  }
  body.tour .tx-facts-diff{
    width:100%!important;
    margin-left:0!important;
    text-align:left!important;
    white-space:normal!important;
  }
}

/* r35: sun-moon icon before section titles — dark #141414 (match h2), transparent bg */

/* r35b: Incluye/No incluye — no white card; blend with cream page */
body.tour .ie,
body.tour .ie-in,
body.tour .ie-out{
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* r35c: Precio .ptable — no white card; blend with cream (keep table + Reservar) */
body.tour .ptable,
body.tour #precio .ptable{
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* r35d: Qué llevar/Precio .tl-c — no black L borders from lux.v6; orange chevron only */

/* r37: Itinerario section h2 bold (negrita) */
body.tour .tx-sec#itinerario > h2{
  font-weight:700!important;
}

/* r38: Incluye/No incluye — one section accordion (title only); columns static inside */
body.tour .tx-sec#incluye-no-incluye .tx-sec-acc > summary > h2{
  display:flex!important;
  align-items:center!important;
  gap:.4em!important;
}
body.tour .tx-sec#incluye-no-incluye .tx-sec-acc > summary > h2::before{
  content:""!important;
  display:inline-block!important;
  width:.62em!important;
  height:.62em!important;
  flex:0 0 .62em!important;
  background:url("../img/icon-sun-moon.png?v=40") center/contain no-repeat!important;
  vertical-align:middle;
}
body.tour .tx-sec#incluye-no-incluye .ie-grid{
  margin-top:4px!important;
  background:transparent!important;
}
body.tour .tx-sec#incluye-no-incluye .ie .ie-t{
  font-family:var(--serif)!important;
  font-size:clamp(20px,2vw,24px)!important;
  font-weight:500!important;
  color:#141414!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
}
body.tour .tx-sec#incluye-no-incluye .ie .ck,
body.tour .tx-sec#incluye-no-incluye .ie .list{
  margin:0 0 14px!important;
  padding:0 0 4px!important;
}
body.tour .tx-sec#incluye-no-incluye .ie > p{
  margin:0 0 8px!important;
  font-weight:600!important;
}

/* ========== r42: Itinerario corto / largo labels — negrita ========== */
body.tour .tl-oneday .tl-t{
  font-weight:700!important;
}
body.tour h3.tx-sub{
  font-weight:700!important;
}
