/* CONTUHIJO FINAL · production hardening.
   Presentation only. Marga remains the source of truth. */

/* SEARCH ----------------------------------------------------- */
.cth-experience-pack .vmon-marga--search .select2-selection--multiple{
  position:relative!important;
  padding-right:34px!important;
  cursor:pointer!important;
}
.cth-experience-pack .vmon-marga--search .select2-container:not(.select2-container--open) .select2-search--inline{
  display:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.cth-experience-pack .vmon-marga--search .select2-container:not(.select2-container--open) .select2-selection--multiple[data-cth-placeholder]:not(:has(.select2-selection__choice))::before{
  content:attr(data-cth-placeholder);
  position:absolute;
  left:13px;
  right:34px;
  top:50%;
  transform:translateY(-50%);
  overflow:hidden;
  color:#6c7688;
  font-size:.86rem;
  font-weight:650;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
  pointer-events:none;
}
.cth-experience-pack .vmon-marga--search .select2-selection--multiple::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:7px;
  height:7px;
  margin-top:-5px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transform-origin:center;
  opacity:.58;
  pointer-events:none;
}
.cth-experience-pack .vmon-marga--search .select2-container--open .select2-selection--multiple::after{
  margin-top:-1px;
  transform:rotate(225deg);
}
body.cth-experience-pack .select2-results{overflow:visible!important;max-height:none!important}
body.cth-experience-pack .select2-results__options{
  max-height:min(300px,55vh)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
body.cth-experience-pack .select2-results__option.cth-select2-empty-option,
body.cth-experience-pack .select2-results__option:empty{display:none!important}
body.vmon-search-route .select2-container--open .select2-dropdown{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}
body.vmon-search-route .select2-results{overflow:visible!important;max-height:none!important}
body.vmon-search-route .select2-results__options{max-height:min(300px,55vh)!important;overflow-y:auto!important}

/* Cards: hide only technical fallback presentation; source data is untouched. */
.cth-experience-pack .cth-data-omitted{display:none!important}
.cth-experience-pack img.cth-trip-image-fallback{object-fit:cover!important;object-position:center!important}

/* HOME CONTACT / PRIVACY ------------------------------------- */
.cth-experience-pack .vmon-home-privacy-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:8px 0 12px;
  padding:12px 14px;
  border:1px solid rgba(var(--brand-rgb),.18);
  border-radius:12px;
  background:rgba(var(--brand-rgb),.035);
  color:var(--ink,#173042);
  font:inherit;
  font-size:.84rem;
  font-weight:750;
  line-height:1.25;
  text-align:left;
  cursor:pointer;
}
.cth-experience-pack .vmon-home-privacy-toggle b{font-size:1.15rem;line-height:1;font-weight:500}
.cth-experience-pack .vmon-home-privacy-toggle.is-open b{transform:rotate(45deg)}
.cth-experience-pack .vmon-home-privacy-detail{
  max-width:100%!important;
  overflow-wrap:anywhere;
  word-break:normal;
  font-size:.78rem!important;
  line-height:1.45!important;
}
.cth-experience-pack .vmon-home-privacy-detail[hidden]{display:none!important}

/* TRIP DETAIL ------------------------------------------------ */
body.cth-route--marga.vmon-marga-page .md-template .viaje-title{
  max-width:16ch!important;
  font-size:clamp(2.45rem,4.4vw,4.8rem)!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
}
body.cth-route--marga.vmon-marga-page .md-template .h-tabs-item-content :where(p,li){
  text-align:left!important;
  text-justify:auto!important;
}
body.cth-route--marga.vmon-marga-page .md-template .h-tabs-item-content p:not(:has(img)):not(:has(table)){
  max-width:72ch;
}
body.cth-route--marga.vmon-marga-page .md-template .h-row:has(.viaje-title) a.md-btn[href*="/reserva"]{
  background:var(--brand-grad)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 12px 28px rgba(var(--brand-rgb),.22)!important;
}
body.cth-route--marga.vmon-marga-page .md-template .h-row:has(.viaje-title) a.md-btn[href*="/contacto"],
body.cth-route--marga.vmon-marga-page .md-template .h-row:has(.viaje-title) a.md-btn[href*="/informacion"]{
  background:#fff!important;
  color:var(--brand)!important;
  border:1px solid rgba(var(--brand-rgb),.28)!important;
  box-shadow:none!important;
}
body.cth-route--marga.vmon-marga-page .md-template .h-row:has(.viaje-title) a.md-btn[href="#precioIncluye"]{
  background:transparent!important;
  color:var(--brand)!important;
  border:0!important;
  box-shadow:none!important;
  text-decoration:underline!important;
  text-decoration-thickness:.08em!important;
  text-underline-offset:.18em!important;
}
body.cth-route--marga.vmon-marga-page .md-template .h-row:has(.viaje-title) a.md-btn[href="#precioIncluye"]:hover{
  transform:none!important;
  background:rgba(var(--brand-rgb),.06)!important;
}

.cth-experience-pack .cth-final-trip-geo details:not([open]) .vmon-trip-geo__answer{display:none}

@media(max-width:767px){
  body.vmon-search-route .select2-container--open .select2-dropdown{max-width:calc(100vw - 24px)!important}
  body.cth-route--marga.vmon-marga-page .md-template .viaje-title{max-width:none!important;font-size:clamp(2.15rem,11vw,3.4rem)!important}
  .cth-experience-pack .vmon-home-privacy-toggle{font-size:.8rem;padding:11px 12px}
}
