/* Franja decorativa de rombos entre Tours y Camper 4x4 (100% CSS, sin imágenes) */
.ndmtp-tours__pattern{
  height: 46px;
  background-color: var(--bg-2, #f6f6f2);
  background-image:
    repeating-linear-gradient(45deg, transparent 0 20px, var(--header-orange, #d9722c) 20px 21.5px, transparent 21.5px 42px),
    repeating-linear-gradient(-45deg, transparent 0 20px, var(--header-orange, #d9722c) 20px 21.5px, transparent 21.5px 42px);
  background-position: center;
}
@media (max-width: 600px){
  .ndmtp-tours__pattern{ height: 30px; }
}

/* =========================================================
   SECCIÓN "TOURS GUIADOS" (inicio)
   ========================================================= */
#comienza, #camper{ background: var(--bg-2, #f6f6f2); }
.ndmtp-tours{
  max-width: 1320px;
  margin: 0 auto;
  padding: 4em 5%;
}
.ndmtp-tours__head{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 3em;
  flex-wrap: wrap;
  margin-bottom: 2.4em;
}
.ndmtp-tours__eyebrow{
  font-size: .78em;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--header-orange, #d9722c);
  margin-bottom: .5em;
}
.ndmtp-tours__title{
  font-family: "Playfair Display", "Poppins", serif;
  font-size: 2.4em;
  line-height: 1.1;
  font-weight: 800;
  color: #1c1c1c;
  margin: 0;
}
.ndmtp-tours__title span{ color: var(--header-maroon, #711c2e); }
.ndmtp-tours__intro{
  flex: 1 1 340px;
  max-width: 420px;
  opacity: .75;
  line-height: 1.7;
  margin: 0;
}

.ndmtp-tours__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 2em;
}
@media (max-width: 980px){ .ndmtp-tours__grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 620px){ .ndmtp-tours__grid{ grid-template-columns: 1fr; } }

/* Carrusel por páginas: muestra siempre "visible" tarjetas completas
   (3 escritorio / 2 tablet / 1 móvil, ver --ndmtp-visible más abajo),
   avanza sola cada 5s y se puede navegar a mano con flechas o puntos.
   Usa scroll nativo con snap: el navegador garantiza el alineado exacto,
   sin depender de cálculos manuales de ancho en JS. */
.ndmtp-tours__carousel{
  position: relative;
  overflow: hidden;
  padding: 0 3.2em;
}
.ndmtp-tours__track{
  --ndmtp-visible: 3;
  display: flex;
  gap: 2em;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.ndmtp-tours__track::-webkit-scrollbar{ display: none; }
.ndmtp-tours__track .ndmtp-tour-card{
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: calc((100% - (var(--ndmtp-visible) - 1) * 2em) / var(--ndmtp-visible));
}
@media (max-width: 980px){ .ndmtp-tours__track{ --ndmtp-visible: 2; } }
@media (max-width: 620px){ .ndmtp-tours__track{ --ndmtp-visible: 1; } }
@media (prefers-reduced-motion: reduce){
  .ndmtp-tours__track{ scroll-behavior: auto; }
}
.ndmtp-tours__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 2.6em;
  height: 2.6em;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.1);
  background: #fff;
  color: var(--header-maroon, #711c2e);
  box-shadow: 0 6px 18px rgba(0,0,0,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.ndmtp-tours__arrow:hover{
  background: var(--header-maroon, #711c2e);
  color: #fff;
}
.ndmtp-tours__arrow--prev{ left: 0; }
.ndmtp-tours__arrow--next{ right: 0; }
.ndmtp-tours__dots{
  display: flex;
  justify-content: center;
  gap: .5em;
  margin-top: 1.6em;
}
.ndmtp-tours__dot{
  width: .5em;
  height: .5em;
  border-radius: 50%;
  border: none;
  background: rgba(0,0,0,.15);
  cursor: pointer;
  padding: 0;
  transition: background .2s ease, transform .2s ease;
}
.ndmtp-tours__dot.is-active{
  background: var(--header-maroon, #711c2e);
  transform: scale(1.3);
}
@media (max-width: 620px){
  .ndmtp-tours__carousel{ padding: 0 2.6em; }
  .ndmtp-tours__arrow{ width: 2.2em; height: 2.2em; }
}

.ndmtp-tour-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
}
.ndmtp-tour-card__img{
  position: relative;
  height: 200px;
  background-size: cover;
  background-position: center;
}
.ndmtp-tour-card__overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.68) 0%, rgba(0,0,0,0) 55%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: .9em 1em;
}
.ndmtp-tour-card__title{
  color: #fff;
  font-weight: 700;
  font-size: 1.15em;
  display: block;
}
.ndmtp-tour-card__badge{
  position: absolute;
  top: .8em;
  right: .8em;
  background: var(--header-maroon, #711c2e);
  color: #fff;
  font-size: .72em;
  font-weight: 700;
  padding: .3em .7em;
  border-radius: 999px;
}
.ndmtp-tour-card__body{
  padding: 1.1em 1.2em 1.3em;
  display: flex;
  flex-direction: column;
  gap: .8em;
  flex: 1;
}
.ndmtp-tour-card__tags{
  display: flex;
  gap: .5em;
  flex-wrap: wrap;
}
.ndmtp-tour-card__tags span{
  background: rgba(113,28,46,.08);
  color: var(--header-maroon, #711c2e);
  font-size: .72em;
  font-weight: 700;
  letter-spacing: .03em;
  padding: .35em .7em;
  border-radius: 999px;
}
.ndmtp-tour-card__desc{
  font-size: .92em;
  opacity: .75;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
.ndmtp-tour-card__footer{
  display: flex;
  flex-direction: column;
  gap: .7em;
  border-top: 1px solid rgba(0,0,0,.06);
  padding-top: .9em;
}
.ndmtp-tour-card__price{ font-size: .85em; }
.ndmtp-tour-card__price span{ display: block; opacity: .55; text-transform: uppercase; font-size: .78em; letter-spacing: .05em; }
.ndmtp-tour-card__price strong{ color: var(--header-maroon, #711c2e); font-size: 1.15em; }
.ndmtp-tour-card__actions{ display: flex; gap: .5em; width: 100%; }
.ndmtp-tour-card__actions .btn_{
  flex: 1 1 0;
  min-width: 0 !important;
  padding: .55em .6em !important;
  font-size: .78em !important;
  border-radius: 999px !important;
  margin: 0 !important;
  white-space: nowrap;
}

.ndmtp-tours__cta{
  text-align: center;
  margin-top: 2.6em;
}
.ndmtp-tours__cta .btn_{ border-radius: 999px !important; }

/* El botón "ghost" del theme usa texto blanco (pensado para fondos oscuros
   como el hero). Estas cards son claras, así que se sobreescribe el color
   solo aquí para que "Ver itinerario" / "Ver todos los itinerarios" se vean
   sin necesidad de pasar el mouse por encima. */
.ndmtp-tour-card__actions .btn__ghost,
.ndmtp-tours__cta .btn__ghost{
  color: var(--header-maroon, #711c2e) !important;
  border-color: var(--header-maroon, #711c2e) !important;
}
.ndmtp-tour-card__actions .btn__ghost:hover,
.ndmtp-tours__cta .btn__ghost:hover{
  color: #fff !important;
}

/* =========================================================
   BUSCADOR DE DESTINO (hero de inicio)
   ========================================================= */
.ndmtp-hero-search{
  background: #f7f3ee;
  color: #2b2b2b;
  border-radius: 14px;
  padding: 1.4em 1.5em;
  max-width: 520px;
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
.ndmtp-hero-search__label{
  font-size: .78em;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a8a8a;
  margin-bottom: .8em;
}
.ndmtp-hero-search__tabs{
  display: flex;
  gap: .4em;
  margin-bottom: .8em;
}
.ndmtp-hero-search__tab{
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: #555;
  font-size: .85em;
  font-weight: 600;
  padding: .5em 1em;
  border-radius: 8px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ndmtp-hero-search__tab.is-active{
  background: var(--header-maroon, #711c2e);
  border-color: var(--header-maroon, #711c2e);
  color: #fff;
}
.ndmtp-hero-search__row{
  display: flex;
  gap: .7em;
  flex-wrap: wrap;
}
.ndmtp-hero-search__field{
  flex: 1 1 220px;
  display: flex;
  align-items: center;
  gap: .6em;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 8px;
  padding: .7em .9em;
}
.ndmtp-hero-search__field i{ color: var(--header-maroon, #711c2e); }
.ndmtp-hero-search__field select{
  border: 0;
  outline: 0;
  background: transparent;
  width: 100%;
  font: inherit;
  color: inherit;
}
.ndmtp-hero-search .btn_{
  flex: 0 0 auto;
  border-radius: 8px !important;
}
@media (max-width: 480px){
  .ndmtp-hero-search__row{ flex-direction: column; }
  .ndmtp-hero-search__field{ flex: 0 0 auto; width: 100%; box-sizing: border-box; }
  .ndmtp-hero-search .btn_{ width: 100%; }
}

.ndmtp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3em;}
@media (max-width:980px){.ndmtp-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.ndmtp-grid{grid-template-columns:1fr;}}
.ndmtp-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:5px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.06);display:flex;flex-direction:column;}
.ndmtp-thumb img{width:100%;height:200px;object-fit:cover;display:block;}
.ndmtp-body{padding:14px 14px 16px;height:100%;display:flex;flex-direction:column;}
.ndmtp-title{
  margin:0 0 10px;font-size:18px;line-height:1.2;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(18px * 1.2 * 2);
}
.ndmtp-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid rgba(0,0,0,.06);}
.ndmtp-label{font-weight:600;opacity:.75;}
.ndmtp-val{opacity:.9;text-align:right;}
.ndmtp-block{margin:10px 0;padding-top:10px;border-top:1px solid rgba(0,0,0,.06);}
.ndmtp-note{margin-top:10px;opacity:.85;font-size:14px;}
.ndmtp-price{font-weight:700;color: var(--header-maroon,#711c2e);margin:.4em 0 .6em;font-size:.95em;}
.ndmtp-price__usd{display:none;}
body.ndmtp-lang-foreign .ndmtp-price__clp{display:none;}
body.ndmtp-lang-foreign .ndmtp-price__usd{display:inline;}
.ndmtp-btn{width:100%;font-weight:700;margin-bottom:.5em;}
.ndmtp-btn:hover{filter:brightness(.98);}
.ndmtp-empty{padding:14px;border:1px dashed rgba(0,0,0,.25);border-radius:12px;opacity:.8;}
.ndmtp-subtitle{
  margin-top:-6px;margin-bottom:10px;opacity:.75;font-weight:600;font-size:14px;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(14px * 1.3);
}
.ndmtp-price{margin-top:auto;padding-top:10px;}
.ndmtp-chiprow{margin:6px 0 10px;}
.ndmtp-chip{display:inline-block;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);font-size:70%;line-height:1.2;}
.ndmtp-desc{margin:0 0 10px;opacity:.88;font-size:14px;line-height:1.45;}
.ndmtp-block__title{font-weight:800;margin-bottom:6px;}
.ndmtp-list{margin:0;padding-left:18px;}
.ndmtp-list li{margin:0.5em 0 0.8em;opacity:.92;font-size:14px;line-height:1.35;}
.ndmtp-details{padding:1em 2em;overflow:auto;}
.ndmtp-details__subtitle{font-weight:700;opacity:.8;margin-bottom:8px;}
.ndmtp-details__destination{display:inline-block;margin-bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);font-size:13px;}
.ndmtp-details__block{margin-top:14px}
.ndmtp-details__text{opacity:.9;line-height:1.45;}
.ndmtp-btn--details{margin-top:10px;}
.ndmcp-details__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6em;}
.ndmcp-details__gallery img{width:100%;height:100px;object-fit:cover;border-radius:8px;cursor:zoom-in;transition:opacity .15s ease;}
.ndmcp-details__gallery img:hover{opacity:.85;}

.ndmcp-lightbox{
  position:fixed;inset:0;z-index:100000;
  background:rgba(0,0,0,.92);
  display:flex;align-items:center;justify-content:center;padding:4vh 4vw;
  opacity:0;visibility:hidden;
  transition:opacity .18s ease,visibility 0s linear .18s;
}
.ndmcp-lightbox.is-open{opacity:1;visibility:visible;transition:opacity .18s ease;}
.ndmcp-lightbox img{max-width:100%;max-height:92vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.ndmcp-lightbox__close{
  position:absolute;top:1.2em;right:1.2em;
  width:2.6em;height:2.6em;border-radius:50%;
  border:none;background:rgba(255,255,255,.12);color:#fff;font-size:1.1em;cursor:pointer;
  z-index:2;
}
.ndmcp-lightbox__close:hover{background:rgba(255,255,255,.22);}
.ndmcp-lightbox__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:3em;height:3em;border-radius:50%;
  border:none;background:rgba(255,255,255,.12);color:#fff;font-size:1.2em;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:2;
}
.ndmcp-lightbox__nav:hover{background:rgba(255,255,255,.22);}
.ndmcp-lightbox__nav--prev{left:1.2em;}
.ndmcp-lightbox__nav--next{right:1.2em;}
.ndmcp-lightbox--single .ndmcp-lightbox__nav{display:none;}
@media (max-width:600px){
  .ndmcp-lightbox__nav{width:2.4em;height:2.4em;font-size:1em;}
  .ndmcp-lightbox__nav--prev{left:.4em;}
  .ndmcp-lightbox__nav--next{right:.4em;}
}
html.ndmtp-lock{overflow:hidden;}
.ndmtp-modal{position:fixed;inset:0;z-index:99999;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s;}
.ndmtp-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .18s ease;}
.ndmtp-modal__panel{position:relative;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);opacity:0;transform:translateY(14px);transition:transform .22s ease,opacity .22s ease;will-change:transform,opacity;}
.ndmtp-modal__head{display:flex;align-items:center;justify-content:space-between;padding:0.5em 1em 0.5em 1.5em;border-bottom:1px solid rgba(0,0,0,.08);}
.ndmtp-modal__close{font-size:22px;line-height:1;border:0;background:transparent;cursor:pointer;}
.ndmtp-modal__content{color: var(--paper);height: 90%;}
.ndmtp-modal__content iframe{width:100%;height:100%;border:0;}
.ndmtp-modal[aria-hidden="false"]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease;}
.ndmtp-modal[aria-hidden="false"] .ndmtp-modal__backdrop{opacity:1;}
.ndmtp-modal[aria-hidden="false"] .ndmtp-modal__panel{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.ndmtp-modal,.ndmtp-modal__backdrop,.ndmtp-modal__panel{transition:none!important;transform:none!important;}}
#ndmtpDetailsModal .ndmtp-details__subtitle{margin-bottom: 0;}
.ndmtp-body i,
#ndmtpDetailsModal i{margin-right: 0.4em;}
#ndmtpDetailsModal .ndmtp-chip{background:rgba(0,0,0,1.04)}
.programas .btn__link i{margin-left: 0.2em;}
.programas .btn__link{padding: 0 1em;justify-content: start;margin: 0 0 1.3em;font-size: 100%;color: var(--brand);transition: all 0.5s;}
.programas .btn__link:hover{color: var(--brand-dark);}
.destinos .btn__link{color: var(--brand);transition: all 0.5s;}
.destinos .btn__link:hover{color: var(--brand-dark);}
#ndmtpModal .ndmtp-modal__panel{height: 90vh;}
#ndmtpModal .ndmtp-modal__head{display: none;}
#ndmtpDetailsItinerary .ndmtp-list{list-style:none;padding:0;margin:0}
#ndmtpDetailsItinerary .ndmtp-list li{padding:1em 1.2em;border-bottom:1px solid #e5e5e5;line-height:1.5;text-indent:-3em;padding-left:3em}
.ndmtp-details-src{position:absolute;left:-99999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}
@media(max-width:600px){#ndmtpDetailsItinerary .ndmtp-list li{grid-template-columns:1fr;text-indent:0;padding-left:0}}
/* RESPONSIVE:  */
@media (max-width:959px){
  .ndmtp-modal__panel{width:min(90vw,calc(100% - 26px));height:min(92vh,760px);margin:2vh auto 0;}
  .ndmtp-details__block-container #ndmtpDetailsItineraryBlock,
  .ndmtp-details__block-container #ndmtpDetailsHighlightsBlock{width: 100%;padding: 1em;}
  .ndmtp-details__block-container #ndmtpDetailsHighlightsBlock{margin-bottom: 2em;}
  .ndmtp-modal__content{padding-bottom: 2em};
}

@media (min-width:960px){
  .ndmtp-modal__panel{width:min(80vw,calc(100% - 26px));height:min(90vh,760px);margin:5vh auto 0;}
  .ndmtp-details__block-container{display: flex;}
  .ndmtp-details__block-container #ndmtpDetailsItineraryBlock{width: 60%; padding: 1.5em 1em;}
  .ndmtp-details__block-container #ndmtpDetailsHighlightsBlock{width: 40%;padding: 2em}
}
.ndmtp-modal__panel--details{position:relative;}
.ndmtp-modal__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.02);transform:scale(1.02);z-index:0;}
.ndmtp-modal__bgOverlay{position:absolute;inset:0;background:rgba(0,0,0,.62);z-index:1;}
.ndmtp-modal__panel--details .ndmtp-modal__head,.ndmtp-modal__panel--details .ndmtp-modal__content{position:relative;z-index:2;}
.ndmtp-modal__panel--details .ndmtp-modal__title,.ndmtp-modal__panel--details .ndmtp-modal__close{color:#fff;}
.ndmtp-modal__panel--details .ndmtp-modal__close i{color:#fff;}
.ndmtp-table{width:100%;border-collapse:collapse;margin-top:10px;background-color: rgb(0, 0, 0, 60%);}
.ndmtp-table tr{border-bottom:1px solid rgba(255,255,255,.15);}.ndmtp-table__day{white-space:nowrap;font-weight:700;padding:8px 12px 8px 0;color:#fff;opacity:.85;}.ndmtp-table__desc{padding:8px 0;color:#fff;opacity:.95;}
.ndmtp-table__desc{text-indent:-3em;padding-left:3em;padding-right: 1em;}
.ndmtp-description__block{padding: 1em;background-color: rgb(255, 255, 255, 70%);color: var(--fuente);border-radius: 6px;}
#ndmtpModal .ndmtp-modal__content{height: 100%;}
@media (min-width:960px){
.itinerario__block{max-width: 65%;min-width: 65%;padding-right: 3em;}
.destacados__block{max-width: 35%;min-width: 35%;}
}

/* Cualquier página con [ndm_program_page]: el banner genérico del
   tema y la miniatura no aplican aquí porque el shortcode ya trae
   su propio hero. */
.ndmtp-has-program-page .entry-header,
.ndmtp-has-program-page .post-thumbnail,
.ndmtp-has-program-page .entry-footer,
.ndmtp-has-program-page .ndm-sidebar{
  display:none;
}
.ndmtp-has-program-page .site-header{margin:0;padding-bottom:0;}
.ndmtp-has-program-page #primary,
.ndmtp-has-program-page article,
.ndmtp-has-program-page .entry-content,
.ndmtp-has-program-page .ndmtp-page{margin:0;padding:0;}

/* =========================================================
   PÁGINA COMPLETA DE UN PROGRAMA (alternativa al PDF)
   ========================================================= */
.ndmtp-page__hero{
  position:relative;
  min-height:46vh;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}
.ndmtp-page__hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.15) 60%, rgba(0,0,0,0) 100%);
}
.ndmtp-page__hero-content{
  position:relative; z-index:1;
  color:#fff;
  padding: 2em 5%;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.ndmtp-page__hero-content h1{
  margin:0 0 .2em;
  font-size: 2.2em;
  color:#fff;
}
.ndmtp-page__subtitle{
  margin:0 0 .8em;
  opacity:.92;
  font-size:1.05em;
}
.ndmtp-page__chip{
  display:inline-block;
  padding:.4em .9em;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35);
  font-size:.85em;
}

.ndmtp-page__body{
  max-width: 1320px;
  margin: 0 auto;
  padding: 2.5em 4% 4em;
  width: 100%;
  box-sizing: border-box;
}
.ndmtp-page__section h2{
  font-size:1.3em;
  margin-bottom:.6em;
  color: var(--header-maroon, #711c2e);
}
.ndmtp-page__section p{
  line-height:1.7;
  opacity:.85;
}

.ndmtp-page__cols{
  display:flex;
  flex-wrap:wrap;
  gap:2.5em;
  margin-top:1em;
}
.ndmtp-page__itinerary{ flex: 1 1 55%; }
.ndmtp-page__highlights{ flex: 1 1 35%; }

.ndmtp-page__itinerary-list{
  list-style:none; margin:0; padding:0;
}
.ndmtp-page__itinerary-list li{
  display:flex;
  gap: .8em;
  padding: .8em 0;
  border-bottom:1px solid rgba(0,0,0,.08);
  line-height:1.5;
}
.ndmtp-page__day{
  flex: 0 0 auto;
  font-weight:700;
  color: var(--header-maroon, #711c2e);
  white-space:nowrap;
}
.ndmtp-page__day-desc{ opacity:.85; }

.ndmtp-page__highlights-list{
  list-style:none; margin:0; padding:0;
}
.ndmtp-page__highlights-list li{
  padding:.6em 0;
  border-bottom:1px solid rgba(0,0,0,.08);
  line-height:1.4;
}
.ndmtp-page__highlights-list i{
  color: var(--header-orange, #d9722c);
  margin-right:.5em;
}

.ndmtp-page__cta{
  margin-top: 2.5em;
  display:flex;
  gap:1em;
  flex-wrap:wrap;
}

/* Pestañas de la página de Camper 4x4 */
.ndmcp-tabs{ margin-top: 1.5em; scroll-margin-top: 100px; }
.ndmcp-tabs__nav{
  display:flex;
  gap:.3em;
  flex-wrap:wrap;
  border-bottom: 2px solid rgba(0,0,0,.08);
  margin-bottom: 1.8em;
}
.ndmcp-tabs__btn{
  border: none;
  background: transparent;
  color: #555;
  font-weight: 700;
  font-size: .9em;
  padding: .8em 1.1em;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: color .2s ease, border-color .2s ease;
}
.ndmcp-tabs__btn:hover{ color: var(--header-maroon, #711c2e); }
.ndmcp-tabs__btn.is-active{
  color: var(--header-maroon, #711c2e);
  border-bottom-color: var(--header-maroon, #711c2e);
}
.ndmcp-tabs__btn--cta{
  margin-left: auto;
  color: var(--header-orange, #d9722c);
}
.ndmcp-tabs__panel{ display: none; }
.ndmcp-tabs__panel.is-active{ display: block; }
.ndmcp-page__price{ display:flex; gap:1em; align-items:baseline; flex-wrap:wrap; }
.ndmcp-page__price-clp{ font-family:"Playfair Display","Poppins",serif; font-weight:800; font-size:1.8em; color: var(--header-maroon, #711c2e); }
.ndmcp-page__price-usd{ opacity:.65; font-size:1.1em; }
@media (max-width:600px){
  .ndmcp-tabs__nav{ gap:0; }
  .ndmcp-tabs__btn{ padding:.7em .6em; font-size:.82em; }
  .ndmcp-tabs__btn--cta{ margin-left:0; width:100%; text-align:center; order:99; }
}

@media (max-width:768px){
  .ndmtp-page__hero{min-height:34vh;}
  .ndmtp-page__hero-content h1{font-size:1.6em;}
  .ndmtp-page__body{padding:1.5em 6% 2.5em;}
  .ndmtp-page__cols{flex-direction:column;gap:1.8em;}
  .ndmtp-page__itinerary,
  .ndmtp-page__highlights{flex-basis:100%;}
  .ndmtp-page__full{margin-top:2em;padding-top:1.8em;}
  .ndmtp-page__day-card{padding:1em 1.1em;}
}

/* Programa completo (contenido del PDF traducido) */
.ndmtp-page__full{
  margin-top: 3em;
  padding-top: 2.5em;
  border-top: 1px solid rgba(0,0,0,.1);
}
.ndmtp-page__full-title{
  font-size: 1.5em;
  margin-bottom: .8em;
  color: var(--header-maroon, #711c2e);
}
.ndmtp-page__full .ndmtp-page__section h3{
  font-size: 1.15em;
  margin: 0 0 .8em;
  color: var(--header-maroon, #711c2e);
}
.ndmtp-page__full .ndmtp-page__section p{
  line-height: 1.7;
  opacity: .85;
  margin-bottom: 1em;
}

.ndmtp-page__day-details{
  display:flex;
  flex-direction:column;
  gap:1.2em;
}
.ndmtp-page__day-card{
  padding: 1.2em 1.4em;
  background: rgba(0,0,0,.02);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 8px;
}
.ndmtp-page__day-card h4{
  margin:0 0 .5em;
  color: var(--header-maroon, #711c2e);
  font-size: 1.05em;
}
.ndmtp-page__day-card p{
  line-height:1.6;
  opacity:.85;
  margin: 0 0 .5em;
}
.ndmtp-page__day-meta{
  font-size:.9em;
  opacity:.7 !important;
  margin: .2em 0 0 !important;
}
.ndmtp-page__day-meta i{
  color: var(--header-orange, #d9722c);
  margin-right:.4em;
  width:1.1em;
}

.ndmtp-page__includes h3,
.ndmtp-page__excludes h3{
  display:flex;
  align-items:center;
  gap:.4em;
}
.ndmtp-page__excludes .fa-circle-xmark{color:#b3261e;}
.ndmtp-page__includes .fa-circle-check{color:#2e7d32;}
.ndmtp-page__excludes .ndmtp-page__highlights-list .fa-xmark{color:#b3261e;}

/* =========================================================
   CALENDARIO DE RESERVAS
   ========================================================= */
.ndmtp-booking{display:inline-flex;}
.ndmtp-booking__open[disabled]{opacity:.5;cursor:not-allowed;}
.ndmtp-booking__open--flash{animation:ndmtp-flash 1.6s ease;}
@keyframes ndmtp-flash{
  0%,100%{box-shadow:none;}
  20%,60%{box-shadow:0 0 0 4px rgba(179,38,30,.25);}
}

.ndmtp-booking-modal__panel{width:min(92vw,520px);max-height:88vh;overflow:auto;}
.ndmtp-booking-modal .ndmtp-modal__content{color:inherit;height:auto;padding:1.2em 1.5em 1.6em;}

.ndmtp-booking__dates{display:flex;flex-direction:column;gap:.7em;}
.ndmtp-booking__date{
  display:flex;justify-content:space-between;align-items:center;gap:1em;
  padding:.9em 1.1em;border:1px solid rgba(0,0,0,.12);border-radius:8px;
  background:#fff;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease;
}
.ndmtp-booking__date:hover{border-color: var(--header-maroon,#711c2e);background:rgba(113,28,46,.04);}
.ndmtp-booking__date-day{font-weight:700;color: var(--header-maroon,#711c2e);text-transform:capitalize;}
.ndmtp-booking__date-cupos{font-size:.85em;opacity:.7;white-space:nowrap;}

.ndmtp-booking__form label{display:block;margin-bottom:.9em;font-size:.92em;font-weight:600;}
.ndmtp-booking__people-hint{display:block;margin-top:.35em;font-weight:400;font-size:.85em;opacity:.65;}
.ndmtp-booking__timer-notice{display:flex;align-items:center;gap:.5em;background:rgba(217,114,44,.1);color:#a15718;border:1px solid rgba(217,114,44,.3);border-radius:8px;padding:.7em .9em;font-size:.85em;margin:0 0 1em;}
.ndmtp-booking__form input{
  display:block;width:100%;margin-top:.35em;padding:.6em .7em;
  border:1px solid rgba(0,0,0,.15);border-radius:6px;box-sizing:border-box;font:inherit;
}
.ndmtp-booking__selected-date{font-weight:700;color: var(--header-maroon,#711c2e);margin:0 0 1em;}
.ndmtp-booking__form-actions{display:flex;gap:.8em;margin-top:.8em;}
.ndmtp-booking__error{color:#b3261e;font-size:.9em;margin-top:.8em;min-height:1.2em;}

.ndmtp-booking__success{text-align:center;padding:1em 0;}
.ndmtp-booking__success i{font-size:2.6em;color:#2e7d32;margin-bottom:.3em;}
.ndmtp-booking__success h3{margin:.2em 0 .4em;}
.ndmtp-booking__success .ndmtp-booking__pay{margin-top:1em;}

/* Red de seguridad: evita scroll horizontal en móviles sin
   importar qué elemento se pase de ancho. */
.ndmtp-has-program-page{overflow-x:hidden;}
.ndmtp-has-program-page .ndmtp-page__hero-content,
.ndmtp-has-program-page .ndmtp-page__subtitle,
.ndmtp-has-program-page .ndmtp-page__chip{
  overflow-wrap:break-word;
  word-break:break-word;
}

.ndmtp-pago-banner{margin:1em 0;padding:.9em 1.1em;border-radius:8px;font-weight:600;}
.ndmtp-pago-banner.ndmtp-pago-ok{background:rgba(46,125,50,.1);color:#2e7d32;border:1px solid rgba(46,125,50,.3);}
.ndmtp-pago-banner.ndmtp-pago-fallo{background:rgba(179,38,30,.1);color:#b3261e;border:1px solid rgba(179,38,30,.3);}
