/* CONTUHIJO CORE VCTF NUCLEAR SAFE RC1
 * Compiled from the proven VCTF 5.8 cascade in the exact effective order.
 * No selector/declaration has been semantically rewritten in RC1.
 */

/* ===== SOURCE: assets/css/brands/vctf-final.css ===== */
/* VCTF4.0 · final brand hardening on top of CONTUHIJO CORE 1.0.9. */
body.cth-brand--vctf{--vctf-blue:#0B74D1;--vctf-deep:#071B33}

/* Trip pages: one canvas. No inherited Colibri column may halve the tabs. */
body.cth-brand--vctf.vmon-marga-page .md-template :where(.cth-trip-tabs-shell,.cth-trip-tabs,.cth-trip-tab-panel){width:100%!important;max-width:none!important;min-width:0!important;float:none!important;box-sizing:border-box!important}
body.cth-brand--vctf.vmon-marga-page .md-template :where(.h-column,.h-column-container).cth-trip-tabs-shell{flex:0 0 100%!important;flex-basis:100%!important}
body.cth-brand--vctf.vmon-marga-page .md-template .h-row.cth-trip-tabs-shell{display:block!important;margin-left:0!important;margin-right:0!important}
@supports selector(.md-template:has(#imagenes)){
  body.cth-brand--vctf.vmon-marga-page .md-template :where(.h-row-container,.h-row,.h-column,.h-column-container,.h-column__inner,.h-column__content):has(:is(#itinerario,#imagenes,#alojamiento,#precioIncluye)){width:100%!important;max-width:none!important;min-width:0!important;float:none!important;box-sizing:border-box!important}
  body.cth-brand--vctf.vmon-marga-page .md-template :where(.h-column,.h-column-container):has(:is(#itinerario,#imagenes,#alojamiento,#precioIncluye)){flex:0 0 100%!important;flex-basis:100%!important}
  body.cth-brand--vctf.vmon-marga-page .md-template .h-row:has(:is(#itinerario,#imagenes,#alojamiento,#precioIncluye)){display:block!important;margin-left:0!important;margin-right:0!important}
}
body.cth-brand--vctf.vmon-marga-page .md-template :where(.h-tabs,.h-tabs-navigation,.h-tabs-content,.h-tabs-item-content,#itinerario,#imagenes,#alojamiento,#precioIncluye){width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important}
body.cth-brand--vctf.vmon-marga-page #imagenes :where(.h-row,.row,.h-column,.h-column-container,.w-100){width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important}
body.cth-brand--vctf.vmon-marga-page #imagenes :where(img,picture,figure,video){max-width:100%!important;height:auto}
body.cth-brand--vctf.vmon-marga-page #alojamiento :where(.h-row,.row,.h-column,.h-column-container,.w-100){max-width:100%!important;min-width:0!important;box-sizing:border-box!important}

/* Tabs remain usable on small screens without compressing labels into a tiny column. */
@media(max-width:767px){
  body.cth-brand--vctf.vmon-marga-page .h-tabs-navigation{display:flex!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-width:thin}
  body.cth-brand--vctf.vmon-marga-page .h-tabs-navigation-item{flex:0 0 auto!important;white-space:nowrap!important}
}

/* Editorial copy: readable measure, images never inherit old fixed dimensions. */
body.cth-brand--vctf .cth-native-editorial__content :where(img,video,iframe){max-width:100%;}
body.cth-brand--vctf .cth-native-editorial__content p{hyphens:auto;text-wrap:pretty}

/* Accessibility / interaction polish inherited from the latest Core. */
body.cth-brand--vctf :where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(11,116,209,.34)!important;outline-offset:3px}


/* ===== SOURCE: assets/css/brands/vctf43-production-repair.css ===== */
/* ==========================================================
   VCTF 4.3 · production repair
   Scope: Viajacontufamilia only. Presentation and progressive UI only.
   Marga remains the owner of values, options, filters, prices, validation,
   reservation calculations and submit behaviour.
   ========================================================== */

/* 1. Primary navigation: submenus are explicit, never proximity-hover traps. */
body.cth-brand--vctf .vmon-nav li.menu-item-has-children > ul,
body.cth-brand--vctf .vmon-nav li.has-sub > ul{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(8px)!important;
}
body.cth-brand--vctf .vmon-nav li.menu-item-has-children:hover > ul,
body.cth-brand--vctf .vmon-nav li.menu-item-has-children:focus-within > ul,
body.cth-brand--vctf .vmon-nav li.has-sub:hover > ul,
body.cth-brand--vctf .vmon-nav li.has-sub:focus-within > ul{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(8px)!important;
}
body.cth-brand--vctf .vmon-nav li.has-sub.is-open > ul{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
body.cth-brand--vctf .vmon-nav li.has-sub > ul{
  top:100%!important;
  margin-top:8px!important;
}

/* 2. Search: never expose a native multiple listbox while enhancement loads. */
body.cth-brand--vctf .vmon-marga--search select[multiple]:not(.select2-hidden-accessible):not(.cth-vctf43-multi-source){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  overflow:hidden!important;
  border:1px solid rgba(7,27,51,.16)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#071b33!important;
  padding:0 12px!important;
}
body.cth-brand--vctf .vmon-marga--search select.cth-vctf43-multi-source{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__button{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid rgba(7,27,51,.16)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#071b33!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:.94rem!important;
  font-weight:700!important;
  text-align:left!important;
  cursor:pointer!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__button:hover,
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__button:focus-visible{
  border-color:#0b74d1!important;
  box-shadow:0 0 0 3px rgba(11,116,209,.12)!important;
  outline:0!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__button span:first-child{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__chevron{
  flex:0 0 auto!important;
  color:#0b74d1!important;
  font-size:1.05rem!important;
  line-height:1!important;
  transition:transform .16s ease!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi.is-open .cth-vctf43-multi__chevron{transform:rotate(180deg)!important}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__panel{
  position:absolute!important;
  z-index:100500!important;
  left:0!important;
  top:calc(100% + 7px)!important;
  width:max(100%,280px)!important;
  max-width:min(440px,calc(100vw - 24px))!important;
  max-height:min(340px,55vh)!important;
  overflow:auto!important;
  padding:7px!important;
  border:1px solid rgba(7,27,51,.13)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 22px 55px rgba(7,27,51,.18)!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__panel[hidden]{display:none!important}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__option{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  width:100%!important;
  margin:0!important;
  padding:9px 10px!important;
  border-radius:9px!important;
  color:#071b33!important;
  font-size:.91rem!important;
  line-height:1.3!important;
  cursor:pointer!important;
}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__option:hover{background:#eef7ff!important}
body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__option input{
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  min-height:0!important;
  margin:2px 0 0!important;
  accent-color:#0b74d1!important;
}
body.cth-brand--vctf .vmon-marga--search form.md-template,
body.cth-brand--vctf .vmon-marga--search form.h-px-2,
body.cth-brand--vctf.vmon-search-route #buscador,
body.cth-brand--vctf.vmon-search-route #buscador > *{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.vmon-search-route .vmon381-search-results .vmon-shell,
body.cth-brand--vctf .vctf-hub-search .vmon-shell{
  width:min(calc(100% - 36px),1280px)!important;
  max-width:1280px!important;
}

/* 3. Light Home cards must be readable without hover. */
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid > a{
  background:#fff!important;
  color:#071b33!important;
  border:1px solid rgba(7,27,51,.08)!important;
  box-shadow:0 12px 34px rgba(7,27,51,.055)!important;
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid > a:hover{
  background:#eef7ff!important;
  color:#071b33!important;
  border-color:rgba(11,116,209,.24)!important;
  box-shadow:0 18px 42px rgba(7,27,51,.10)!important;
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid small{color:#0876ce!important}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid .vmon-age-card__label{
  color:#071b33!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid p{color:#5b6b80!important}
body.cth-brand--vctf .vmon-section--paper .vmon-age-cta{
  color:#071b33!important;
  background:#eef7ff!important;
  border-color:rgba(11,116,209,.28)!important;
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid > a:hover .vmon-age-cta{
  color:#fff!important;
  background:linear-gradient(135deg,#13a9e3,#145fbe)!important;
}

/* 4. How-it-works numbers are actual step markers, not microcopy. */
body.cth-brand--vctf .vmon-steps > a > i{
  display:block!important;
  margin:0 0 18px!important;
  color:#0b74d1!important;
  font-family:var(--display)!important;
  font-style:normal!important;
  font-size:clamp(1.9rem,2.3vw,2.55rem)!important;
  font-weight:950!important;
  line-height:.9!important;
  letter-spacing:-.05em!important;
}
body.cth-brand--vctf .vmon-steps > a > h3{margin-top:12px!important}

/* 5. Travel tabs: the panel uses the complete canvas. The old shared 72ch
   reading cap is correct for articles, not for a product tab users expect to
   occupy the available block. */
body.cth-brand--vctf.vmon-marga-page .md-template :where(.cth-trip-tabs-shell,.cth-trip-tabs,.cth-trip-tab-panel){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.vmon-marga-page .md-template :where(.h-column,.h-column-container).cth-trip-tabs-shell{
  width:100%!important;
  max-width:none!important;
  flex:0 0 100%!important;
  flex-basis:100%!important;
}
body.cth-brand--vctf.vmon-marga-page .md-template .h-tabs-item-content :where(p,ul,ol,blockquote,figure,table){
  width:100%!important;
  max-width:none!important;
}
body.cth-brand--vctf.vmon-marga-page #imagenes > :where(figure,picture,.wp-block-image),
body.cth-brand--vctf.vmon-marga-page #imagenes > :where(figure,picture,.wp-block-image) img,
body.cth-brand--vctf.vmon-marga-page #imagenes > img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.cth-brand--vctf.vmon-marga-page :where(#itinerario,#imagenes,#alojamiento,#precioIncluye) > :where(.w-100,.container,.container-fluid,.h-row,.h-row-container){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* 6. General + trip contact forms: release every inherited Colibri column. */
body.cth-brand--vctf :where(.vmon-marga--contact,#contacto-form),
body.cth-brand--vctf.cth-marga-trip-contact :where(.md-template,#contacto-form),
body.cth-brand--vctf.cth-marga-trip-contact :where(.h-section,.h-section-grid-container,.h-row-container,.h-row,.h-column,.h-column-container,.h-column__inner,.h-column__content,.h-y-container):has(#contacto-form){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.cth-marga-trip-contact .content.colibri-page-content .h-row:has(#contacto-form){display:block!important}
body.cth-brand--vctf.cth-marga-trip-contact #contacto-form{
  width:min(100%,1060px)!important;
  max-width:1060px!important;
  margin:28px auto 64px!important;
  padding:clamp(24px,3vw,40px)!important;
  border:1px solid rgba(7,27,51,.10)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(7,27,51,.08)!important;
}

/* 7. reCAPTCHA: native Google dimensions, no giant flex/grid cell and the
   submit/legal tail follows it naturally. */
body.cth-brand--vctf #contacto-form :where(.h-row,.row):has(.g-recaptcha),
body.cth-brand--vctf #contacto-form :where(.h-row,.row):has([data-sitekey]){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:16px 0 18px!important;
}
body.cth-brand--vctf #contacto-form :where(.h-column,[class*="h-col-"],[class*="col-"]):has(.g-recaptcha),
body.cth-brand--vctf #contacto-form :where(.h-column,[class*="h-col-"],[class*="col-"]):has([data-sitekey]){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  flex:0 0 100%!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.cth-brand--vctf #contacto-form .g-recaptcha,
body.cth-brand--vctf #contacto-form [data-sitekey]{
  display:block!important;
  width:304px!important;
  max-width:100%!important;
  min-height:78px!important;
  height:78px!important;
  margin:0!important;
  transform:none!important;
  transform-origin:left top!important;
}
body.cth-brand--vctf #contacto-form .g-recaptcha > div,
body.cth-brand--vctf #contacto-form .g-recaptcha iframe{
  max-width:100%!important;
}
body.cth-brand--vctf #contacto-form .form-actions,
body.cth-brand--vctf #contacto-form :where(.h-row,.row):has(#btn_enviar){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  margin:18px 0!important;
  padding:0!important;
  text-align:left!important;
}
body.cth-brand--vctf #contacto-form #btn_enviar{float:none!important;margin:0!important}

/* 8. Reservation canvas: center both the Marga template and its real form,
   even when a legacy h-col-* wrapper exists above it. */
body.cth-brand--vctf.cth-marga-reservation .content.colibri-page-content :where(.h-section,.h-section-grid-container,.h-row-container,.h-row,.h-column,.h-column-container,.h-column__inner,.h-column__content):has(.md-template),
body.cth-brand--vctf.cth-marga-reservation .cth-vctf43-form-shell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  flex:0 0 100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.cth-marga-reservation .content.colibri-page-content .h-row:has(.md-template),
body.cth-brand--vctf.cth-marga-reservation .h-row.cth-vctf43-form-shell{display:block!important}
body.cth-brand--vctf.cth-marga-reservation .md-template{
  display:block!important;
  width:min(calc(100% - 36px),1240px)!important;
  max-width:1240px!important;
  min-width:0!important;
  margin:28px auto 84px!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.cth-marga-reservation .md-template form,
body.cth-brand--vctf.cth-marga-reservation .cth-vctf43-reservation-surface{
  display:block!important;
  width:100%!important;
  max-width:1120px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.cth-marga-reservation .md-template form :where(.h-row,.row){
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:flex-start!important;
  gap:18px 20px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 22px!important;
}
body.cth-brand--vctf.cth-marga-reservation .md-template form :where(.h-row,.row) > :where(.h-col,.h-column,[class*="h-col-"],[class*="col-"]){
  float:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:1 1 230px!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.cth-brand--vctf.cth-marga-reservation .md-template form .h-row > .h-col-lg-2{flex-basis:150px!important;flex-grow:0!important}
body.cth-brand--vctf.cth-marga-reservation .md-template form .h-row > .h-col-lg-3{flex-basis:220px!important}
body.cth-brand--vctf.cth-marga-reservation .md-template form .h-row > .h-col-lg-4{flex-basis:280px!important}
body.cth-brand--vctf.cth-marga-reservation .md-template form .h-row > .h-col-lg-6{flex-basis:440px!important}
body.cth-brand--vctf.cth-marga-reservation .md-template form .h-row > :where(.h-col-lg-8,.h-col-lg-9,.h-col-lg-10,.h-col-lg-12){flex-basis:100%!important}

@media(max-width:767px){
  body.cth-brand--vctf .vmon-marga--search .cth-vctf43-multi__panel{
    width:min(360px,calc(100vw - 24px))!important;
  }
  body.cth-brand--vctf #contacto-form .g-recaptcha,
  body.cth-brand--vctf #contacto-form [data-sitekey]{
    transform:scale(.90)!important;
    margin-right:-31px!important;
    margin-bottom:-8px!important;
  }
  body.cth-brand--vctf.cth-marga-reservation .md-template{width:min(calc(100% - 20px),1240px)!important}
  body.cth-brand--vctf.cth-marga-reservation .md-template form :where(.h-row,.row){display:block!important}
  body.cth-brand--vctf.cth-marga-reservation .md-template form :where(.h-row,.row) > :where(.h-col,.h-column,[class*="h-col-"],[class*="col-"]){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
  }
}


/* ===== SOURCE: assets/css/brands/vctf44-production-repair.css ===== */
/* ==========================================================
   VCTF 4.4 · functional recovery
   Priority: Marga forms + one search component everywhere.
   Presentation only: Marga keeps values, Vue models, validation,
   calculations, availability and submit/payment behaviour.
   ========================================================== */

/* ---------- One VCTF search surface everywhere ----------
   The JS marks the real Marga search form even on /buscador/, where the
   virtual route may bypass the editorial wrapper. This avoids viewport-wide
   raw filters and gives Home/hubs/search exactly the same component. */
body.cth-brand--vctf form.cth-vctf44-search-form{
  position:relative!important;
  display:block!important;
  width:min(calc(100% - 36px),1240px)!important;
  max-width:1240px!important;
  min-width:0!important;
  margin:22px auto 30px!important;
  padding:clamp(22px,3vw,36px)!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:28px!important;
  background:#0b1b3d!important;
  color:#fff!important;
  box-shadow:0 22px 55px rgba(7,27,51,.16)!important;
  overflow:visible!important;
}
body.cth-brand--vctf .vmon-marga--search form.cth-vctf44-search-form{
  width:100%!important;max-width:none!important;margin:0!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form .md-label,
body.cth-brand--vctf form.cth-vctf44-search-form label.md-label{
  color:#fff!important;opacity:.88!important;font-weight:900!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form .md-search-field{
  background:#fff!important;color:#071b33!important;border:0!important;
  min-height:54px!important;height:54px!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form .md-search-submit,
body.cth-brand--vctf form.cth-vctf44-search-form .md-control:last-child .md-btn{
  background:linear-gradient(135deg,#13a9e3,#145fbe)!important;
  color:#fff!important;border:0!important;box-shadow:0 4px 0 rgba(255,255,255,.12)!important;
  font-weight:900!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form .md-search-submit svg,
body.cth-brand--vctf form.cth-vctf44-search-form .md-control:last-child .md-btn svg{fill:#fff!important}

/* Legacy Marga search DOM: query row + real filters. */
body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex:first-of-type{
  display:grid!important;grid-template-columns:minmax(0,1fr) 64px!important;
  gap:0!important;align-items:stretch!important;width:100%!important;
  margin:0 0 18px!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex:first-of-type>.md-search-field{
  width:100%!important;min-width:0!important;border-radius:13px 0 0 13px!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex:first-of-type>.md-search-submit{
  width:64px!important;min-width:64px!important;height:54px!important;
  border-radius:0 13px 13px 0!important;margin:0!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex:not(:first-of-type),
body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex.gutters-col-1{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(190px,.78fr)!important;
  gap:12px!important;align-items:end!important;width:100%!important;
  overflow:visible!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form .md-control{
  min-width:0!important;max-width:none!important;width:auto!important;
  margin:0!important;padding:0!important;overflow:visible!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form :where(.select2-container,.cth-vctf43-multi,.cth-vctf44-multi){
  width:100%!important;max-width:100%!important;min-width:0!important;
}
body.cth-brand--vctf form.cth-vctf44-search-form :where(.select2-selection--multiple,.cth-vctf43-multi__button,.cth-vctf44-multi__button){
  min-height:50px!important;height:50px!important;border-radius:12px!important;
  background:#fff!important;color:#071b33!important;border:1px solid rgba(7,27,51,.12)!important;
}

/* Our dependency-independent multiselect fallback for search routes where
   Select2 has not initialized yet. The original select remains the source of
   truth and receives the same input/change events. */
body.cth-brand--vctf select.cth-vctf44-multi-source{
  position:absolute!important;width:1px!important;height:1px!important;
  margin:-1px!important;opacity:0!important;pointer-events:none!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;
}
body.cth-brand--vctf .cth-vctf44-multi{position:relative!important;display:block!important;width:100%!important;min-width:0!important}
body.cth-brand--vctf .cth-vctf44-multi__button{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  width:100%!important;padding:0 14px!important;font:inherit!important;font-size:.94rem!important;
  font-weight:800!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important;
}
body.cth-brand--vctf .cth-vctf44-multi__button:focus-visible{outline:0!important;box-shadow:0 0 0 3px rgba(19,169,227,.25)!important}
body.cth-brand--vctf .cth-vctf44-multi__text{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important}
body.cth-brand--vctf .cth-vctf44-multi__chevron{flex:0 0 auto!important;color:#0b74d1!important;font-weight:900!important;transition:transform .16s ease!important}
body.cth-brand--vctf .cth-vctf44-multi.is-open .cth-vctf44-multi__chevron{transform:rotate(180deg)!important}
body.cth-brand--vctf .cth-vctf44-multi__panel{
  position:absolute!important;z-index:100700!important;left:0!important;top:calc(100% + 7px)!important;
  width:max(100%,280px)!important;max-width:min(440px,calc(100vw - 24px))!important;
  max-height:min(360px,58vh)!important;overflow:auto!important;padding:7px!important;
  border:1px solid rgba(7,27,51,.13)!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 22px 55px rgba(7,27,51,.2)!important;
}
body.cth-brand--vctf .cth-vctf44-multi__panel[hidden]{display:none!important}
body.cth-brand--vctf .cth-vctf44-multi__option{
  display:flex!important;align-items:flex-start!important;gap:9px!important;width:100%!important;
  margin:0!important;padding:9px 10px!important;border-radius:9px!important;color:#071b33!important;
  font-size:.91rem!important;line-height:1.3!important;cursor:pointer!important;
}
body.cth-brand--vctf .cth-vctf44-multi__option:hover{background:#eef7ff!important}
body.cth-brand--vctf .cth-vctf44-multi__option input{width:16px!important;height:16px!important;min-height:0!important;margin:2px 0 0!important;accent-color:#0b74d1!important}

/* ---------- Marga form recovery ---------- */
/* Never paint the warning at 1.8 s. VCTF4.4 gives the delayed dependencies a
   real recovery window; the guard only marks a genuine long failure. */
body.cth-brand--vctf #contacto-form.cth-marga-hydration-fallback:before,
body.cth-brand--vctf.cth-marga-reservation .cth-marga-hydration-fallback:before{
  content:"El formulario no ha podido terminar de cargar. Recarga la página y, si continúa, contacta con nuestro equipo."!important;
}
/* Once Vue hydrates, all fallback decoration disappears even if an old cache
   left the class behind. */
body.cth-brand--vctf #contacto-form.cth-vctf44-hydrated:before,
body.cth-brand--vctf .md-template.cth-vctf44-hydrated:before{display:none!important;content:none!important}

/* ---------- Proof-card badges ----------
   The visual token is a badge, not a fixed one-line button. Long labels such
   as MONITORES or DESDE 2008 must fit without clipping. */
body.cth-brand--vctf .vmon-proof__media{
  width:64px!important;height:64px!important;min-width:64px!important;
  padding:5px!important;box-sizing:border-box!important;
}
body.cth-brand--vctf .vmon-proof__media b{
  display:block!important;width:100%!important;max-width:100%!important;
  color:#fff!important;font-size:clamp(.68rem,.9vw,.9rem)!important;
  line-height:1.02!important;letter-spacing:-.025em!important;text-align:center!important;
  white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;
}

/* ---------- Buttons must accommodate their label ---------- */
body.cth-brand--vctf :where(.md-trip-card,.travel-card,.vmon-trip-card,.vmon-search-route) :where(.md-btn,a.button,button.button){
  min-height:46px!important;height:auto!important;padding:10px 16px!important;
  white-space:normal!important;line-height:1.15!important;text-align:center!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}

@media(max-width:900px){
  body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex:not(:first-of-type),
  body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex.gutters-col-1{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  body.cth-brand--vctf form.cth-vctf44-search-form{
    width:min(calc(100% - 20px),1240px)!important;margin:14px auto 24px!important;padding:16px!important;border-radius:20px!important;
  }
  body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex:not(:first-of-type),
  body.cth-brand--vctf form.cth-vctf44-search-form>.d-flex.gutters-col-1{grid-template-columns:1fr!important}
  body.cth-brand--vctf .cth-vctf44-multi__panel{width:min(360px,calc(100vw - 24px))!important}
  body.cth-brand--vctf .vmon-proof__media{width:58px!important;height:58px!important;min-width:58px!important}
}


/* ===== SOURCE: assets/css/brands/vctf45-production-repair.css ===== */
/* ==========================================================
   VCTF 4.5 · Marga first + unified search + GEO/Trustindex
   ========================================================== */

/* /buscador/ must own a normal full canvas. Colibri/Marga can leave a
   historical half-width column above the virtual route; release only the
   ancestry that contains the real search form/results. */
body.cth-brand--vctf.vmon-search-route :where(#main,.content.colibri-page-content,.content.colibri-page-content>.h-section,.content.colibri-page-content .h-section-grid-container,.content.colibri-page-content .h-row-container,.content.colibri-page-content .h-row,.content.colibri-page-content .h-column,.content.colibri-page-content .h-column-container):has(form.cth-vctf45-search-form){
  width:100%!important;max-width:none!important;min-width:0!important;float:none!important;flex:0 0 100%!important;flex-basis:100%!important;box-sizing:border-box!important;
}
body.cth-brand--vctf.vmon-search-route .vmon381-search-results,
body.cth-brand--vctf.vmon-search-route .vmon381-search-results>.vmon-shell,
body.cth-brand--vctf.vmon-search-route .cth-vctf45-search-results-canvas{
  width:min(calc(100% - 36px),1240px)!important;max-width:1240px!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}

/* The FORM can also contain the result cards. Never paint the whole form navy.
   Only the two real control rows become the VCTF search panel. */
body.cth-brand--vctf form.cth-vctf45-search-form{
  width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;
}
body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-query-row,
body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-filter-row{
  position:relative!important;width:min(calc(100% - 36px),1240px)!important;max-width:1240px!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;background:#0b1b3d!important;color:#fff!important;overflow:visible!important;
}
body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-query-row{
  display:grid!important;grid-template-columns:minmax(0,1fr) 64px!important;gap:0!important;align-items:stretch!important;margin-top:22px!important;margin-bottom:0!important;padding:28px 28px 10px!important;border-radius:28px 28px 0 0!important;
}
body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-filter-row{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(190px,.78fr)!important;gap:12px!important;align-items:end!important;margin-top:0!important;margin-bottom:30px!important;padding:10px 28px 28px!important;border-radius:0 0 28px 28px!important;
}
body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-duplicate-filter-row{display:none!important}
body.cth-brand--vctf form.cth-vctf45-search-form .md-label,
body.cth-brand--vctf form.cth-vctf45-search-form label.md-label{color:#fff!important;opacity:.9!important;font-weight:900!important}
body.cth-brand--vctf form.cth-vctf45-search-form .md-search-field{width:100%!important;min-width:0!important;height:54px!important;min-height:54px!important;border:0!important;border-radius:13px 0 0 13px!important;background:#fff!important;color:#071b33!important;box-shadow:none!important}
body.cth-brand--vctf form.cth-vctf45-search-form .cth-vctf45-query-row>.md-search-submit{width:64px!important;min-width:64px!important;height:54px!important;margin:0!important;border:0!important;border-radius:0 13px 13px 0!important;background:linear-gradient(135deg,#13a9e3,#145fbe)!important;color:#fff!important}
body.cth-brand--vctf form.cth-vctf45-search-form .cth-vctf45-filter-row .md-control{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important}
body.cth-brand--vctf form.cth-vctf45-search-form .cth-vctf45-filter-row :where(.select2-container,.cth-vctf45-multi){width:100%!important;max-width:100%!important;min-width:0!important}
body.cth-brand--vctf form.cth-vctf45-search-form .cth-vctf45-filter-row :where(.select2-selection--multiple,.select2-selection--single,.cth-vctf45-multi__button){min-height:50px!important;height:50px!important;border:1px solid rgba(7,27,51,.13)!important;border-radius:12px!important;background:#fff!important;color:#071b33!important;box-shadow:none!important}
body.cth-brand--vctf form.cth-vctf45-search-form .cth-vctf45-filter-row :where(.md-search-submit,.md-btn,button[type="submit"]){min-height:50px!important;height:auto!important;width:100%!important;margin:0!important;padding:10px 18px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#13a9e3,#145fbe)!important;color:#fff!important;font-weight:900!important;white-space:normal!important;line-height:1.15!important}

/* Single dependency-independent multiselect fallback. The native Marga select
   remains in the form and owns values/events. */
body.cth-brand--vctf select.cth-vctf45-multi-source{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
body.cth-brand--vctf .cth-vctf45-multi{position:relative!important;display:block!important;width:100%!important;min-width:0!important}
body.cth-brand--vctf .cth-vctf45-multi__button{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;padding:0 14px!important;font:inherit!important;font-size:.94rem!important;font-weight:800!important;text-align:left!important;cursor:pointer!important}
body.cth-brand--vctf .cth-vctf45-multi__text{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.cth-brand--vctf .cth-vctf45-multi__chevron{flex:0 0 auto!important;color:#0b74d1!important;font-weight:900!important;transition:transform .16s ease!important}
body.cth-brand--vctf .cth-vctf45-multi.is-open .cth-vctf45-multi__chevron{transform:rotate(180deg)!important}
body.cth-brand--vctf .cth-vctf45-multi__panel{position:absolute!important;z-index:100800!important;left:0!important;top:calc(100% + 7px)!important;width:max(100%,280px)!important;max-width:min(440px,calc(100vw - 24px))!important;max-height:min(360px,58vh)!important;overflow:auto!important;padding:7px!important;border:1px solid rgba(7,27,51,.13)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 22px 55px rgba(7,27,51,.2)!important}
body.cth-brand--vctf .cth-vctf45-multi__panel[hidden]{display:none!important}
body.cth-brand--vctf .cth-vctf45-multi__option{display:flex!important;align-items:flex-start!important;gap:9px!important;width:100%!important;margin:0!important;padding:9px 10px!important;border-radius:9px!important;color:#071b33!important;font-size:.91rem!important;line-height:1.3!important;cursor:pointer!important}
body.cth-brand--vctf .cth-vctf45-multi__option:hover{background:#eef7ff!important}
body.cth-brand--vctf .cth-vctf45-multi__option input{width:16px!important;height:16px!important;min-height:0!important;margin:2px 0 0!important;accent-color:#0b74d1!important}

/* Marga forms: release the canvas but do not alter fields, bindings or submit. */
body.cth-brand--vctf :where(.cth-vctf45-form-shell,.cth-vctf45-form-shell.h-section,.cth-vctf45-form-shell.h-section-grid-container,.cth-vctf45-form-shell.h-row-container,.cth-vctf45-form-shell.h-row,.cth-vctf45-form-shell.h-column,.cth-vctf45-form-shell.h-column-container){width:100%!important;max-width:none!important;min-width:0!important;float:none!important;box-sizing:border-box!important}
body.cth-brand--vctf :where(.cth-vctf45-form-shell.h-column,.cth-vctf45-form-shell.h-column-container){flex:0 0 100%!important;flex-basis:100%!important}
body.cth-brand--vctf.cth-marga-reservation .md-template{width:min(calc(100% - 36px),1240px)!important;max-width:1240px!important;min-width:0!important;margin:28px auto 84px!important;box-sizing:border-box!important}
body.cth-brand--vctf.cth-marga-trip-contact #contacto-form,
body.cth-brand--vctf.vmon-contact-route #contacto-form{width:min(100%,1060px)!important;max-width:1060px!important;min-width:0!important;margin:28px auto 64px!important;box-sizing:border-box!important}

/* Visible GEO: designed for humans first. */
body.cth-brand--vctf .cth-vctf-geo{padding:clamp(44px,7vw,82px) 0;background:#f5f8fc;color:#071b33}
body.cth-brand--vctf .cth-vctf-geo__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:clamp(24px,5vw,70px);align-items:end;margin-bottom:28px}
body.cth-brand--vctf .cth-vctf-geo__head p{margin:0;color:#607086;line-height:1.65}
body.cth-brand--vctf .cth-vctf-geo__head h2{margin:0;font-family:var(--display,system-ui,sans-serif);font-size:clamp(2rem,4vw,4rem);font-weight:950;line-height:.96;letter-spacing:-.045em;color:#071b33}
body.cth-brand--vctf .cth-vctf-geo__kicker{display:block;margin:0 0 10px!important;color:#0b74d1!important;font-size:.72rem!important;font-weight:950!important;letter-spacing:.11em!important;text-transform:uppercase!important}
body.cth-brand--vctf .cth-vctf-geo__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.cth-brand--vctf .cth-vctf-geo__item{padding:22px;border:1px solid rgba(7,27,51,.09);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(7,27,51,.045)}
body.cth-brand--vctf .cth-vctf-geo__item strong{display:block;margin:0 0 8px;color:#071b33;font-size:1rem;line-height:1.25}
body.cth-brand--vctf .cth-vctf-geo__item p{margin:0;color:#607086;line-height:1.6;font-size:.94rem}

/* Trustindex: the widget itself stays official. VCTF only owns the shell. */
body.cth-brand--vctf .cth-vctf-trustindex{padding:clamp(44px,7vw,80px) 0;background:#fff;color:#071b33}
body.cth-brand--vctf .cth-vctf-trustindex__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:clamp(24px,5vw,70px);align-items:end;margin-bottom:28px}
body.cth-brand--vctf .cth-vctf-trustindex__head h2{margin:0;font-family:var(--display,system-ui,sans-serif);font-size:clamp(2.1rem,4vw,4.3rem);font-weight:950;line-height:.95;letter-spacing:-.05em;color:#071b33}
body.cth-brand--vctf .cth-vctf-trustindex__head p{margin:0;color:#607086;line-height:1.65}
body.cth-brand--vctf .cth-vctf-trustindex__widget{min-width:0;overflow:hidden}
body.cth-brand--vctf .cth-vctf-trustindex--trip{padding:42px 0;background:#f5f8fc}
body.cth-brand--vctf .cth-vctf-trustindex--trip .cth-vctf-trustindex__head h2{font-size:clamp(1.8rem,3vw,3rem)}

/* Proof badges: size is now a configurable design token and both uploaded
   images and fallback text fit the same frame. */
body.cth-brand--vctf .vmon-proof__media{width:var(--vctf-proof-badge-size,64px)!important;height:var(--vctf-proof-badge-size,64px)!important;min-width:var(--vctf-proof-badge-size,64px)!important;padding:6px!important;box-sizing:border-box!important}
body.cth-brand--vctf .vmon-proof__media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit!important}
body.cth-brand--vctf .vmon-proof__media b{font-size:var(--vctf-proof-badge-font,13px)!important;line-height:1.02!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important}

@media(max-width:900px){
  body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.cth-brand--vctf .cth-vctf-geo__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  body.cth-brand--vctf .cth-vctf-geo__head,body.cth-brand--vctf .cth-vctf-trustindex__head{grid-template-columns:1fr;gap:14px}
}
@media(max-width:620px){
  body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-query-row,
  body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-filter-row{width:min(calc(100% - 20px),1240px)!important}
  body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-query-row{padding:16px 16px 8px!important;border-radius:20px 20px 0 0!important;grid-template-columns:minmax(0,1fr) 56px!important}
  body.cth-brand--vctf form.cth-vctf45-search-form>.cth-vctf45-filter-row{grid-template-columns:1fr!important;padding:8px 16px 16px!important;border-radius:0 0 20px 20px!important}
  body.cth-brand--vctf .cth-vctf45-multi__panel{width:min(360px,calc(100vw - 24px))!important}
  body.cth-brand--vctf .cth-vctf-geo__grid{grid-template-columns:1fr}
}


/* ===== SOURCE: assets/css/brands/vctf452-matricula.css ===== */
/* ==========================================================
   VCTF 4.5.2 · MATRICULA / MASTER BASELINE
   Presentation + trust + visible GEO polish only.
   Marga remains owner of search values, forms, reservation, prices,
   validation, availability, calculations, payment and submit.
   ========================================================== */

/* 1. /buscador/: one centred 1240px canvas for controls AND results. */
body.cth-brand--vctf.vmon-search-route form.cth-vctf45-search-form{
  width:min(calc(100% - 36px),1240px)!important;
  max-width:1240px!important;
  min-width:0!important;
  margin:22px auto 44px!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.vmon-search-route form.cth-vctf45-search-form>.cth-vctf45-query-row,
body.cth-brand--vctf.vmon-search-route form.cth-vctf45-search-form>.cth-vctf45-filter-row{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.cth-brand--vctf.vmon-search-route :where(.cth-vctf45-search-results-canvas,.vmon381-search-results,.vmon381-search-results>.vmon-shell){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  float:none!important;
  box-sizing:border-box!important;
}
body.cth-brand--vctf.vmon-search-route :where(.h-column,.h-column-container).cth-vctf45-search-results-canvas{
  flex:0 0 100%!important;
  flex-basis:100%!important;
}
body.cth-brand--vctf.vmon-search-route .h-row.cth-vctf45-search-results-canvas{
  display:block!important;
}

/* 2. Trip / trip-contact header: the commercial header belongs to the same
      centred canvas as the form/tabs below, never to the viewport edges. */
body.cth-brand--vctf.vmon-marga-page:not(.cth-marga-reservation)
.md-template>.h-section-grid-container>.h-row-container>.h-row:has(.viaje-title){
  width:min(calc(100% - 36px),1240px)!important;
  max-width:1240px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* 3. First-party experience / GEO note. Visible, factual and readable. */
body.cth-brand--vctf .cth-vctf-experience{
  padding:0 0 clamp(44px,6vw,72px);
  background:#f5f8fc;
  color:#071b33;
}
body.cth-brand--vctf .cth-vctf-experience__surface{
  display:grid;
  grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);
  gap:clamp(22px,5vw,64px);
  align-items:start;
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(7,27,51,.09);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(7,27,51,.055);
}
body.cth-brand--vctf .cth-vctf-experience__stamp{
  display:flex;
  flex-direction:column;
  gap:8px;
}
body.cth-brand--vctf .cth-vctf-experience__stamp small{
  color:#0b74d1;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body.cth-brand--vctf .cth-vctf-experience__stamp strong{
  font-size:clamp(1.25rem,2vw,1.8rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
body.cth-brand--vctf .cth-vctf-experience__copy h2{
  margin:0 0 12px;
  color:#071b33;
  font-size:clamp(1.7rem,3vw,2.8rem);
  line-height:1;
  letter-spacing:-.04em;
}
body.cth-brand--vctf .cth-vctf-experience__copy p{
  margin:0;
  max-width:72ch;
  color:#52637a;
  font-size:1rem;
  line-height:1.7;
}
body.cth-brand--vctf .cth-vctf-experience__meta{
  display:block;
  margin-top:16px;
  color:#748197;
  font-size:.82rem;
  font-weight:700;
}

/* 4. Compact Trustindex band used on pages that do not already show the main
      review section. The official widget remains untouched. */
body.cth-brand--vctf .cth-vctf-trustindex--compact{
  padding:30px 0;
  background:#f5f8fc;
  color:#071b33;
  border-top:1px solid rgba(7,27,51,.07);
}
body.cth-brand--vctf .cth-vctf-trustindex--compact .cth-vctf-trustindex__head{
  grid-template-columns:minmax(0,.8fr) minmax(280px,1fr);
  gap:24px;
  margin-bottom:18px;
  align-items:end;
}
body.cth-brand--vctf .cth-vctf-trustindex--compact .cth-vctf-trustindex__head h2{
  font-size:clamp(1.55rem,2.4vw,2.4rem);
  letter-spacing:-.035em;
}
body.cth-brand--vctf .cth-vctf-trustindex--compact .cth-vctf-trustindex__head p{
  font-size:.94rem;
}

/* 5. Footer signature: a credit, not another CTA. */
body.cth-brand--vctf .vctf-footer__credit{
  color:rgba(255,255,255,.62);
  font-size:.76rem;
  text-decoration:none;
  white-space:nowrap;
}
body.cth-brand--vctf .vctf-footer__credit:hover,
body.cth-brand--vctf .vctf-footer__credit:focus-visible{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:700px){
  body.cth-brand--vctf.vmon-search-route form.cth-vctf45-search-form{
    width:min(calc(100% - 20px),1240px)!important;
    margin:14px auto 30px!important;
  }
  body.cth-brand--vctf.vmon-marga-page:not(.cth-marga-reservation)
  .md-template>.h-section-grid-container>.h-row-container>.h-row:has(.viaje-title){
    width:min(calc(100% - 20px),1240px)!important;
  }
  body.cth-brand--vctf .cth-vctf-experience__surface,
  body.cth-brand--vctf .cth-vctf-trustindex--compact .cth-vctf-trustindex__head{
    grid-template-columns:1fr;
  }
}


/* ===== SOURCE: assets/css/brands/vctf501-final.css ===== */
/* VCTF 5.0.1 · FINAL: mobile navigation + small hardening.
   Same #vmon-nav DOM is used on desktop and mobile. No second menu dataset. */
.vmon-nav__mobile-actions{display:none}
@media(max-width:900px){
  body.cth-brand--vctf .vmon-header{z-index:100000!important}
  body.cth-brand--vctf .vmon-header__row{position:relative}
  body.cth-brand--vctf .vmon-menu-button{display:block!important;position:relative;z-index:100002;width:46px;height:46px;margin-left:auto;padding:9px;border:1px solid rgba(7,27,51,.10);border-radius:13px;background:#fff!important}
  body.cth-brand--vctf .vmon-menu-button span{position:absolute;left:10px;width:24px;height:2px;margin:0;background:#071b33!important;transition:transform .18s ease,opacity .18s ease,top .18s ease}
  body.cth-brand--vctf .vmon-menu-button span:nth-child(1){top:14px}
  body.cth-brand--vctf .vmon-menu-button span:nth-child(2){top:21px}
  body.cth-brand--vctf .vmon-menu-button span:nth-child(3){top:28px}
  body.cth-brand--vctf.vmon-nav-open .vmon-menu-button span:nth-child(1){top:21px;transform:rotate(45deg)}
  body.cth-brand--vctf.vmon-nav-open .vmon-menu-button span:nth-child(2){opacity:0}
  body.cth-brand--vctf.vmon-nav-open .vmon-menu-button span:nth-child(3){top:21px;transform:rotate(-45deg)}
  body.cth-brand--vctf .vmon-header__actions{display:none!important}
  body.cth-brand--vctf #vmon-nav{display:none!important;position:fixed!important;inset:78px 0 0!important;width:100%!important;max-width:none!important;margin:0!important;padding:18px 18px 34px!important;background:#fff!important;color:#071b33!important;overflow-y:auto!important;overscroll-behavior:contain;z-index:100001!important;border-top:1px solid rgba(7,27,51,.08);box-shadow:none!important}
  body.cth-brand--vctf.vmon-nav-open #vmon-nav{display:block!important}
  body.cth-brand--vctf #vmon-nav>ul{display:block!important;width:min(100%,720px)!important;margin:0 auto!important;padding:0!important;list-style:none!important}
  body.cth-brand--vctf #vmon-nav>ul>li{display:block!important;width:100%!important;min-height:0!important;margin:0!important;border-bottom:1px solid rgba(7,27,51,.10)!important}
  body.cth-brand--vctf #vmon-nav>ul>li>a,
  body.cth-brand--vctf #vmon-nav .vmon-nav__trigger>a{display:flex!important;align-items:center!important;width:100%!important;min-height:58px!important;padding:15px 2px!important;background:transparent!important;color:#071b33!important;font-size:clamp(1.35rem,6vw,1.85rem)!important;font-weight:900!important;line-height:1.08!important;white-space:normal!important;border-radius:0!important}
  body.cth-brand--vctf #vmon-nav .vmon-nav__trigger{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:58px!important}
  body.cth-brand--vctf #vmon-nav .vmon-nav__trigger>a{width:auto!important;flex:1 1 auto!important}
  body.cth-brand--vctf #vmon-nav .sub-toggle{display:grid!important;place-items:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;margin:0!important;padding:0!important;border:1px solid rgba(11,116,209,.18)!important;border-radius:13px!important;background:#f5f8fc!important;color:#0b74d1!important}
  body.cth-brand--vctf #vmon-nav li>ul,
  body.cth-brand--vctf #vmon-nav .vmon-submenu{display:none!important;position:static!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0 0 14px!important;padding:8px 10px!important;grid-template-columns:1fr!important;opacity:1!important;visibility:visible!important;transform:none!important;border:0!important;border-left:3px solid #0b74d1!important;border-radius:0 14px 14px 0!important;background:#f5f8fc!important;box-shadow:none!important}
  body.cth-brand--vctf #vmon-nav li.is-open>ul,
  body.cth-brand--vctf #vmon-nav li.is-open>.vmon-submenu{display:block!important}
  body.cth-brand--vctf #vmon-nav li ul li{display:block!important;width:100%!important;margin:0!important}
  body.cth-brand--vctf #vmon-nav li ul a{display:block!important;width:100%!important;padding:11px 8px!important;color:#071b33!important;font-size:1rem!important;font-weight:750!important;line-height:1.3!important;white-space:normal!important}
  body.cth-brand--vctf .vmon-nav__mobile-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,720px);margin:22px auto 0;padding:0 0 12px}
  body.cth-brand--vctf .vmon-nav__mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:900;text-align:center}
  body.cth-brand--vctf .vmon-nav__mobile-help{border:1px solid rgba(11,116,209,.24);background:#fff;color:#0b74d1}
  body.cth-brand--vctf .vmon-nav__mobile-cta{border:0;background:linear-gradient(135deg,#13a9e3,#145fbe);color:#fff}
}
@media(max-width:580px){
  body.cth-brand--vctf #vmon-nav{inset:70px 0 0!important;padding:12px 14px 28px!important}
  body.cth-brand--vctf .vmon-nav__mobile-actions{grid-template-columns:1fr}
}


/* ===== SOURCE: assets/css/brands/vctf51-master.css ===== */
/* ========================================================================== 
   VCTF 5.1 SUPER MASTER
   One WordPress primary menu -> one DOM -> desktop + mobile presentation.
   This file is intentionally last in the cascade.
   ========================================================================== */

/* Desktop: never inherit mobile visibility state after a resize. */
@media (min-width:901px){
  body.cth-brand--vctf #vmon-nav{display:block!important;visibility:visible!important;opacity:1!important}
  body.cth-brand--vctf #vmon-nav[aria-hidden="true"]{display:block!important}
  body.cth-brand--vctf .vmon-nav__mobile-actions{display:none!important}
}

@media (max-width:900px){
  body.cth-brand--vctf{--vctf-mobile-header:78px}
  body.cth-brand--vctf.vmon-nav-open{overflow:hidden!important}
  body.cth-brand--vctf .vmon-header{position:sticky!important;top:0!important;z-index:2147483000!important;background:#fff!important;backdrop-filter:none!important}
  body.cth-brand--vctf .vmon-header__row{height:var(--vctf-mobile-header)!important;display:flex!important;align-items:center!important;gap:12px!important;overflow:visible!important}
  body.cth-brand--vctf .vmon-brand{min-width:0!important;max-width:calc(100% - 62px)!important}
  body.cth-brand--vctf .vmon-brand__logo{max-width:min(190px,52vw)!important;max-height:54px!important}
  body.cth-brand--vctf .vmon-header__actions{display:none!important}
  body.cth-brand--vctf .vmon-menu-button{display:block!important;position:relative!important;flex:0 0 46px!important;width:46px!important;height:46px!important;margin-left:auto!important;padding:0!important;border:1px solid rgba(7,27,51,.12)!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important;z-index:2147483002!important}
  body.cth-brand--vctf .vmon-menu-button span{position:absolute!important;left:10px!important;width:24px!important;height:2px!important;margin:0!important;border-radius:99px!important;background:#071b33!important;transition:transform .18s ease,opacity .18s ease,top .18s ease!important}
  body.cth-brand--vctf .vmon-menu-button span:nth-child(1){top:14px!important}
  body.cth-brand--vctf .vmon-menu-button span:nth-child(2){top:21px!important}
  body.cth-brand--vctf .vmon-menu-button span:nth-child(3){top:28px!important}
  body.cth-brand--vctf.vmon-nav-open .vmon-menu-button span:nth-child(1){top:21px!important;transform:rotate(45deg)!important}
  body.cth-brand--vctf.vmon-nav-open .vmon-menu-button span:nth-child(2){opacity:0!important}
  body.cth-brand--vctf.vmon-nav-open .vmon-menu-button span:nth-child(3){top:21px!important;transform:rotate(-45deg)!important}

  /* Drawer. The existing #vmon-nav is moved visually; it is NOT cloned. */
  body.cth-brand--vctf #vmon-nav,
  body.cth-brand--vctf .vmon-nav{
    display:none!important;position:fixed!important;inset:var(--vctf-mobile-header) 0 0 0!important;width:100%!important;height:auto!important;max-width:none!important;margin:0!important;padding:12px 18px max(28px,env(safe-area-inset-bottom))!important;background:#fff!important;color:#071b33!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;z-index:2147483001!important;border:0!important;border-top:1px solid rgba(7,27,51,.09)!important;box-shadow:0 18px 42px rgba(7,27,51,.12)!important;opacity:1!important;visibility:visible!important;transform:none!important
  }
  body.cth-brand--vctf.vmon-nav-open #vmon-nav{display:block!important}
  body.cth-brand--vctf #vmon-nav[aria-hidden="true"]{display:none!important}
  body.cth-brand--vctf.vmon-nav-open #vmon-nav[aria-hidden="false"]{display:block!important}

  body.cth-brand--vctf #vmon-nav>ul{display:block!important;width:min(100%,720px)!important;max-width:720px!important;margin:0 auto!important;padding:0!important;list-style:none!important;overflow:visible!important}
  body.cth-brand--vctf #vmon-nav>ul>li{display:block!important;position:relative!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid rgba(7,27,51,.10)!important;overflow:visible!important}
  body.cth-brand--vctf #vmon-nav>ul>li:last-child{border-bottom:0!important}

  body.cth-brand--vctf #vmon-nav>ul>li>a,
  body.cth-brand--vctf #vmon-nav>ul>li>.vmon-nav__trigger>a{
    display:flex!important;align-items:center!important;min-height:56px!important;width:100%!important;margin:0!important;padding:14px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#071b33!important;font-family:inherit!important;font-size:1.18rem!important;font-weight:900!important;line-height:1.2!important;letter-spacing:-.015em!important;white-space:normal!important;text-decoration:none!important;box-shadow:none!important
  }
  body.cth-brand--vctf #vmon-nav .vmon-nav__trigger{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;min-height:56px!important;margin:0!important;padding:0!important;background:transparent!important}
  body.cth-brand--vctf #vmon-nav .vmon-nav__trigger>a{flex:1 1 auto!important;min-width:0!important;width:auto!important}
  body.cth-brand--vctf #vmon-nav .sub-toggle{display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;min-width:42px!important;margin:0!important;padding:0!important;border:1px solid rgba(11,116,209,.18)!important;border-radius:12px!important;background:#f5f8fc!important;color:#0b74d1!important;box-shadow:none!important;cursor:pointer!important}
  body.cth-brand--vctf #vmon-nav .sub-toggle span{font-size:1.08rem!important;line-height:1!important;transform:none!important;transition:transform .18s ease!important}
  body.cth-brand--vctf #vmon-nav li.is-open>.vmon-nav__trigger .sub-toggle span{transform:rotate(180deg)!important}

  /* Kill every legacy hover/grid rule. Only a direct child of .is-open opens. */
  body.cth-brand--vctf #vmon-nav li>ul,
  body.cth-brand--vctf #vmon-nav li:hover>ul,
  body.cth-brand--vctf #vmon-nav li:focus-within>ul,
  body.cth-brand--vctf #vmon-nav .vmon-submenu{
    display:none!important;position:static!important;inset:auto!important;float:none!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0 0 12px!important;padding:7px!important;grid-template-columns:1fr!important;gap:0!important;opacity:1!important;visibility:visible!important;transform:none!important;border:0!important;border-left:3px solid #0b74d1!important;border-radius:0 12px 12px 0!important;background:#f5f8fc!important;box-shadow:none!important;list-style:none!important
  }
  body.cth-brand--vctf #vmon-nav li.is-open>ul,
  body.cth-brand--vctf #vmon-nav li.is-open>.vmon-submenu{display:block!important}
  body.cth-brand--vctf #vmon-nav li>ul:before,
  body.cth-brand--vctf #vmon-nav .vmon-submenu:before{display:none!important;content:none!important}
  body.cth-brand--vctf #vmon-nav li ul li{display:block!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
  body.cth-brand--vctf #vmon-nav li ul a,
  body.cth-brand--vctf #vmon-nav li ul .vmon-nav__trigger>a{display:flex!important;align-items:center!important;width:100%!important;min-height:44px!important;padding:10px 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#071b33!important;font-size:.98rem!important;font-weight:800!important;line-height:1.3!important;white-space:normal!important;text-decoration:none!important}
  body.cth-brand--vctf #vmon-nav li ul .vmon-nav__trigger{min-height:44px!important}
  body.cth-brand--vctf #vmon-nav li ul .sub-toggle{width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px!important}

  /* Same configurable desktop CTAs, presented after the same menu tree. */
  body.cth-brand--vctf #vmon-nav .vmon-nav__mobile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:min(100%,720px)!important;margin:18px auto 0!important;padding:0!important}
  body.cth-brand--vctf #vmon-nav .vmon-nav__mobile-actions a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:11px 14px!important;border-radius:12px!important;font-size:.92rem!important;font-weight:900!important;line-height:1.15!important;white-space:normal!important;text-align:center!important;text-decoration:none!important}
  body.cth-brand--vctf #vmon-nav .vmon-nav__mobile-help{border:1px solid rgba(11,116,209,.25)!important;background:#fff!important;color:#0b74d1!important}
  body.cth-brand--vctf #vmon-nav .vmon-nav__mobile-cta{border:1px solid transparent!important;background:linear-gradient(135deg,#13a9e3,#145fbe)!important;color:#fff!important}
}

@media (max-width:580px){
  body.cth-brand--vctf{--vctf-mobile-header:70px}
  body.cth-brand--vctf #vmon-nav,body.cth-brand--vctf .vmon-nav{padding:10px 12px max(24px,env(safe-area-inset-bottom))!important}
  body.cth-brand--vctf #vmon-nav>ul>li>a,body.cth-brand--vctf #vmon-nav>ul>li>.vmon-nav__trigger>a{font-size:1.1rem!important;min-height:52px!important;padding:12px 2px!important}
  body.cth-brand--vctf #vmon-nav .vmon-nav__mobile-actions{grid-template-columns:1fr!important}
}

@media (prefers-reduced-motion:reduce){
  body.cth-brand--vctf .vmon-menu-button span,
  body.cth-brand--vctf #vmon-nav .sub-toggle span{transition:none!important}
}


/* ===== SOURCE: assets/css/brands/vctf52-master.css ===== */
/* ========================================================================== 
   VCTF 5.2 · SUPER MEGA MASTER
   Final visual/CMS layer. Never changes Marga values or business logic.
   ========================================================================== */

/* 1 · reCAPTCHA: keep the widget; hide only Google's machine response token. */
body.cth-brand--vctf textarea[name="g-recaptcha-response"],
body.cth-brand--vctf textarea.g-recaptcha-response,
body.cth-brand--vctf textarea[id^="g-recaptcha-response"]{
  display:none!important;width:0!important;height:0!important;min-height:0!important;
  padding:0!important;margin:0!important;border:0!important;position:absolute!important;
  left:-9999px!important;overflow:hidden!important
}

/* 2 · Eight factual GEO cards: 4 x 2 on real desktop, completely absent on mobile. */
@media (min-width:1100px){
  body.cth-brand--vctf .cth-vctf50-answer__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
  body.cth-brand--vctf .cth-vctf50-answer__item{padding:20px!important}
  body.cth-brand--vctf .cth-vctf50-answer__item dd{font-size:.94rem!important;line-height:1.5!important}
}
@media (min-width:768px) and (max-width:1099px){
  body.cth-brand--vctf .cth-vctf50-answer__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:767px){
  body.cth-brand--vctf .cth-vctf50-answer{display:none!important}
}

/* 3 · /buscador/: the result GRID itself is centred, not only its outer canvas.
   One result sits in the middle; two/three remain a balanced row. */
body.cth-brand--vctf.vmon-search-route .vmon381-search-results,
body.cth-brand--vctf.vmon-search-route .vmon381-search-results>.vmon-shell,
body.cth-brand--vctf.vmon-search-route .cth-vctf45-search-results-canvas{
  width:min(calc(100% - 36px),1240px)!important;max-width:1240px!important;
  margin-left:auto!important;margin-right:auto!important;float:none!important;box-sizing:border-box!important
}
body.cth-brand--vctf.vmon-search-route .md-template .h-row.gutters-col-1.justify-content-lg-center,
body.cth-brand--vctf.vmon-search-route .md-featured-trips{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),380px))!important;
  justify-content:center!important;align-items:stretch!important;gap:20px!important;
  width:100%!important;max-width:1240px!important;margin-left:auto!important;margin-right:auto!important
}
body.cth-brand--vctf.vmon-search-route .md-template .h-row.gutters-col-1.justify-content-lg-center>:where(.h-column,.h-col,.h-column-container){
  width:100%!important;max-width:none!important;min-width:0!important;flex:none!important;margin:0!important;padding-left:0!important;padding-right:0!important
}
@media (max-width:680px){
  body.cth-brand--vctf.vmon-search-route .md-template .h-row.gutters-col-1.justify-content-lg-center,
  body.cth-brand--vctf.vmon-search-route .md-featured-trips{grid-template-columns:minmax(0,1fr)!important}
}

/* 4 · Home: inspiration first; contact lives on its own reliable route. */
body.cth-brand--vctf .vctf-home-contact-cta{padding:clamp(48px,7vw,88px) 0!important;background:#f5f8fc!important}
body.cth-brand--vctf .vctf-home-contact-cta__surface{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(28px,6vw,80px);align-items:center;
  padding:clamp(28px,5vw,58px);border-radius:28px;background:#071b33;color:#fff;box-shadow:0 24px 64px rgba(7,27,51,.13)
}
body.cth-brand--vctf .vctf-home-contact-cta__surface h2{margin:.15em 0 .35em;color:#fff;font-size:clamp(2rem,4.2vw,4rem);line-height:.98;letter-spacing:-.04em}
body.cth-brand--vctf .vctf-home-contact-cta__surface p{max-width:700px;margin:0;color:rgba(255,255,255,.74);line-height:1.65}
body.cth-brand--vctf .vctf-home-contact-cta__actions{display:grid;gap:10px}
body.cth-brand--vctf .vctf-home-contact-cta__secondary{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid rgba(255,255,255,.22);border-radius:12px;color:#fff;text-decoration:none;font-weight:900}
@media (max-width:760px){body.cth-brand--vctf .vctf-home-contact-cta__surface{grid-template-columns:1fr}}

/* 5 · Footer: real WP hierarchy, but compact enough to scan. */
body.cth-brand--vctf .cth-vctf-footer-menu ul{list-style:none!important;margin:0!important;padding:0!important}
body.cth-brand--vctf .cth-vctf-footer-menu li{margin:0!important;padding:0!important;line-height:1.22!important}
body.cth-brand--vctf .cth-vctf-footer-menu li>a{display:block!important;margin:0!important;padding:.23rem 0!important;line-height:1.24!important}
body.cth-brand--vctf .cth-vctf-footer-menu .sub-menu{margin:.05rem 0 .22rem .7rem!important;padding:0 0 0 .72rem!important;border-left:1px solid rgba(255,255,255,.16)!important}
body.cth-brand--vctf .cth-vctf-footer-menu .sub-menu a{padding:.16rem 0!important;font-size:.9em!important;opacity:.86}
body.cth-brand--vctf .cth-vctf-footer-menu .sub-menu .sub-menu{margin-left:.45rem!important}

/* 6 · Hub cards: any number of cards; image or graphic fallback. */
body.cth-brand--vctf .vctf-hub-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important}
body.cth-brand--vctf .vctf-hub-card.has-media .vctf-hub-card__media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}

/* 7 · Editorial master for auxiliary pages and articles. */
body.cth-brand--vctf .vctf-editorial-master{padding:clamp(42px,6vw,84px) 0;background:#f5f8fc}
body.cth-brand--vctf .vctf-editorial-master__layout{display:grid;grid-template-columns:minmax(210px,250px) minmax(0,860px);gap:clamp(28px,5vw,70px);justify-content:center;align-items:start}
body.cth-brand--vctf .vctf-editorial-master__aside{position:sticky;top:112px;min-width:0}
body.cth-brand--vctf .vctf-editorial-master__aside .vmon-editorial-toc{display:grid!important;gap:2px!important;margin:0!important;padding:18px!important;border:1px solid rgba(7,27,51,.09)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 32px rgba(7,27,51,.04)!important}
body.cth-brand--vctf .vctf-editorial-master__aside .vmon-editorial-toc>span{margin:0 0 8px!important;color:#071b33!important;font-size:.75rem!important;font-weight:950!important;letter-spacing:.09em!important;text-transform:uppercase!important}
body.cth-brand--vctf .vctf-editorial-master__aside .vmon-editorial-toc>a{padding:7px 0!important;color:#516176!important;text-decoration:none!important;font-size:.9rem!important;line-height:1.3!important}
body.cth-brand--vctf .vctf-editorial-master__aside .vmon-editorial-toc>a:hover{color:#0b74d1!important}
body.cth-brand--vctf .vctf-editorial-master__updated{display:block;margin:14px 4px 0;color:#708096;font-size:.78rem;line-height:1.4}
body.cth-brand--vctf .vctf-editorial-master__content{min-width:0;padding:clamp(25px,4vw,50px);border:1px solid rgba(7,27,51,.08);border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(7,27,51,.055)}
body.cth-brand--vctf .vctf-editorial-master__content>:first-child{margin-top:0!important}
body.cth-brand--vctf .vctf-editorial-master__content h2{scroll-margin-top:125px;margin:2.1em 0 .6em;color:#071b33;font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.08;letter-spacing:-.025em}
body.cth-brand--vctf .vctf-editorial-master__content h3{scroll-margin-top:125px;margin:1.65em 0 .55em;color:#0b355f;font-size:clamp(1.18rem,1.8vw,1.5rem);line-height:1.2}
body.cth-brand--vctf .vctf-editorial-master__content :where(p,li){color:#46586e;font-size:1.02rem;line-height:1.78}
body.cth-brand--vctf .vctf-editorial-master__content :where(ul,ol){padding-left:1.25rem}
body.cth-brand--vctf .vctf-editorial-master__content blockquote{margin:1.8rem 0;padding:18px 22px;border-left:4px solid #13a9e3;border-radius:0 14px 14px 0;background:#eef7ff;color:#173b60}
body.cth-brand--vctf .vctf-editorial-master__content img{max-width:100%;height:auto;border-radius:16px}
body.cth-brand--vctf .vctf-editorial-master__content table{display:block;max-width:100%;overflow-x:auto}
body.cth-brand--vctf .vctf-editorial-answers{margin:clamp(34px,5vw,64px) auto 0;max-width:1110px;padding:clamp(24px,4vw,40px);border-radius:24px;background:#071b33;color:#fff}
body.cth-brand--vctf .vctf-editorial-answers__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:24px;align-items:end;margin-bottom:20px}
body.cth-brand--vctf .vctf-editorial-answers__head h2{margin:0;color:#fff;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}
body.cth-brand--vctf .vctf-editorial-answers__head p{margin:0;color:rgba(255,255,255,.68);line-height:1.55}
body.cth-brand--vctf .vctf-editorial-answers__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.cth-brand--vctf .vctf-editorial-answer{display:block;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.05);color:#fff;text-decoration:none}
body.cth-brand--vctf .vctf-editorial-answer strong{display:block;margin:0 0 7px;color:#55c9f2;font-size:.94rem;line-height:1.25}
body.cth-brand--vctf .vctf-editorial-answer span{display:block;color:rgba(255,255,255,.84);font-size:.9rem;line-height:1.55}
@media (max-width:900px){
  body.cth-brand--vctf .vctf-editorial-master__layout{grid-template-columns:1fr}
  body.cth-brand--vctf .vctf-editorial-master__aside{position:static;top:auto}
  body.cth-brand--vctf .vctf-editorial-master__aside .vmon-editorial-toc{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}
}
@media (max-width:640px){
  body.cth-brand--vctf .vctf-editorial-master{padding:28px 0}
  body.cth-brand--vctf .vctf-editorial-master__content{padding:22px;border-radius:18px}
  body.cth-brand--vctf .vctf-editorial-answers__head,body.cth-brand--vctf .vctf-editorial-answers__grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  body.cth-brand--vctf .vctf-editorial-master *{scroll-behavior:auto!important;transition:none!important}
}


/* ===== SOURCE: assets/css/brands/vctf53-trust-craft.css ===== */
/* ========================================================================== 
   VCTF 5.3 · TRUST + CRAFT
   Brand confidence layer + illustrated Home cards. Presentation only.
   ========================================================================== */

/* Header: official trust seals sit next to the brand, never inside navigation. */
body.cth-brand--vctf .vctf-header-trust{
  flex:0 0 auto;display:flex;align-items:center;height:48px;margin-left:2px;padding:5px 9px 4px 10px;
  border:1px solid rgba(7,27,51,.08);border-radius:12px;background:#071b33;box-shadow:0 5px 15px rgba(7,27,51,.10)
}
body.cth-brand--vctf .vctf-header-trust img{
  display:block!important;width:88px!important;height:auto!important;max-height:39px!important;
  object-fit:contain!important;opacity:.96;transition:opacity .18s ease,transform .18s ease
}
body.cth-brand--vctf .vctf-header-trust:hover img{opacity:1;transform:translateY(-1px)}
@media (max-width:1179px){body.cth-brand--vctf .vctf-header-trust{display:none!important}}

/* Footer: trust belongs to the brand column, between logo and promise. */
body.cth-brand--vctf .vctf-footer__trust{
  display:grid;gap:8px;width:max-content;max-width:100%;margin:14px 0 16px;padding:13px 15px;
  border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.045)
}
body.cth-brand--vctf .vctf-footer__trust>span{
  color:rgba(255,255,255,.64);font-size:.61rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase
}
body.cth-brand--vctf .vctf-footer__trust img{
  display:block!important;width:176px!important;height:auto!important;max-height:82px!important;object-fit:contain!important;opacity:.96
}
body.cth-brand--vctf .vmon-footer__brand>p{max-width:315px;margin-top:14px!important}
body.cth-brand--vctf .vmon-footer__brand>small{display:block;color:rgba(255,255,255,.56);margin-top:8px}
@media (max-width:640px){
  body.cth-brand--vctf .vctf-footer__trust{margin-top:10px;padding:11px 13px}
  body.cth-brand--vctf .vctf-footer__trust img{width:162px!important}
}

/* Four reasons: small illustrations instead of generic numbered chips. */
body.cth-brand--vctf .vctf-proof{padding:26px 0 30px!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important}
body.cth-brand--vctf .vctf-proof .vmon-proof__grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card{
  position:relative;display:grid!important;grid-template-columns:78px minmax(0,1fr) 19px!important;
  align-items:start!important;gap:15px!important;min-height:208px!important;padding:20px!important;
  border:1px solid rgba(7,27,51,.075)!important;border-radius:22px!important;
  background:#fff!important;box-shadow:0 12px 30px rgba(7,27,51,.055)!important;
  overflow:hidden!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card:before{
  content:""!important;position:absolute!important;inset:0 auto 0 0!important;width:3px!important;height:auto!important;
  background:linear-gradient(180deg,#13a9e3,#145fbe)!important;opacity:.76!important;border-radius:0!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card:after{
  content:""!important;display:block!important;position:absolute!important;right:-58px!important;bottom:-68px!important;
  width:160px!important;height:160px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(19,169,227,.13),rgba(19,169,227,0) 68%)!important;
  opacity:0!important;transition:opacity .2s ease!important;pointer-events:none!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card:hover{
  transform:translateY(-5px)!important;border-color:rgba(11,116,209,.20)!important;box-shadow:0 20px 44px rgba(7,27,51,.11)!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card:hover:after{opacity:1!important}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__media{
  display:block!important;width:76px!important;height:76px!important;min-width:76px!important;padding:0!important;
  border:0!important;border-radius:18px!important;background:transparent!important;box-shadow:0 10px 24px rgba(20,95,190,.16)!important;overflow:hidden!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__media img{
  width:100%!important;height:100%!important;object-fit:cover!important;border-radius:18px!important
}
body.cth-brand--vctf .vctf-proof .vmon-proof__copy{display:grid!important;gap:7px!important;min-width:0!important;color:#071b33!important}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__meta{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__meta small{
  color:#63748a!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.065em!important;text-transform:uppercase!important;line-height:1.2!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__meta b{
  flex:none!important;color:#0b74d1!important;font-family:var(--display)!important;font-size:.72rem!important;font-weight:950!important;letter-spacing:.03em!important
}
body.cth-brand--vctf .vctf-proof .vmon-proof__copy>strong{
  display:block!important;color:#071b33!important;font-family:var(--display)!important;font-size:1.08rem!important;line-height:1.08!important;letter-spacing:-.025em!important
}
body.cth-brand--vctf .vctf-proof .vmon-proof__copy>p{
  margin:0!important;color:#596b81!important;font-size:.82rem!important;line-height:1.48!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__arrow{
  align-self:end!important;justify-self:end!important;color:#0b74d1!important;font-style:normal!important;font-size:1.02rem!important;font-weight:950!important;opacity:.68!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card:hover .vctf-proof-card__arrow{opacity:1!important;transform:translate(2px,-2px)!important}
@media (max-width:1060px){
  body.cth-brand--vctf .vctf-proof .vmon-proof__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.cth-brand--vctf .vctf-proof .vctf-proof-card{min-height:190px!important}
}
@media (max-width:620px){
  body.cth-brand--vctf .vctf-proof{padding:18px 0 22px!important}
  body.cth-brand--vctf .vctf-proof .vmon-proof__grid{grid-template-columns:1fr!important;gap:10px!important}
  body.cth-brand--vctf .vctf-proof .vctf-proof-card{grid-template-columns:66px minmax(0,1fr) 18px!important;min-height:0!important;padding:16px!important;border-radius:18px!important}
  body.cth-brand--vctf .vctf-proof .vctf-proof-card__media{width:64px!important;height:64px!important;min-width:64px!important;border-radius:16px!important}
  body.cth-brand--vctf .vctf-proof .vctf-proof-card__media img{border-radius:16px!important}
}

/* Editorial start cards: imagery is now a real part of the card, but remains replaceable in Customizer. */
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid>a{
  min-height:390px!important;padding:0 0 20px!important;border-radius:22px!important;overflow:hidden!important
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-card__media{
  display:block!important;width:100%!important;height:138px!important;margin:0 0 18px!important;border:0!important;border-radius:0!important;
  background:#eaf5ff!important;overflow:hidden!important
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid small,
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid .vmon-age-card__label,
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid p,
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid .vmon-age-cta{margin-left:20px!important;margin-right:20px!important}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid small{min-height:0!important;margin-bottom:6px!important}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid .vmon-age-card__label{
  margin-top:0!important;margin-bottom:13px!important;font-size:clamp(1.8rem,2.35vw,2.7rem)!important;line-height:.96!important
}
body.cth-brand--vctf .vmon-section--paper .vmon-age-grid p{min-height:76px!important;margin-bottom:18px!important;font-size:.88rem!important;line-height:1.48!important}
body.cth-brand--vctf .vmon-section--paper .vmon-age-cta{margin-top:auto!important}
@media (max-width:980px){body.cth-brand--vctf .vmon-section--paper .vmon-age-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){
  body.cth-brand--vctf .vmon-section--paper .vmon-age-grid{grid-template-columns:1fr!important}
  body.cth-brand--vctf .vmon-section--paper .vmon-age-grid>a{min-height:0!important}
  body.cth-brand--vctf .vmon-section--paper .vmon-age-card__media{height:158px!important}
  body.cth-brand--vctf .vmon-section--paper .vmon-age-grid p{min-height:0!important}
}

@media (prefers-reduced-motion:reduce){
  body.cth-brand--vctf .vctf-header-trust img,
  body.cth-brand--vctf .vctf-proof .vctf-proof-card,
  body.cth-brand--vctf .vctf-proof .vctf-proof-card:after,
  body.cth-brand--vctf .vctf-proof .vctf-proof-card__arrow{transition:none!important}
}


/* ========================================================================== 
   VCTF 5.4 · CLEAN TRUST LOCKUP + QUIETER ICONOGRAPHY
   Official marks stay untouched; presentation is transparent, light and editable.
   ========================================================================== */

/* Header: no badge, no dark box. The trust lockup behaves like a secondary
   brand signature, separated from VCTF by a hairline only. */
body.cth-brand--vctf .vctf-header-trust{
  position:relative!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;
  height:48px!important;margin-left:4px!important;padding:2px 0 2px 19px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important
}
body.cth-brand--vctf .vctf-header-trust:before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:rgba(7,27,51,.13)
}
body.cth-brand--vctf .vctf-header-trust img{
  display:block!important;width:112px!important;height:auto!important;max-height:45px!important;object-fit:contain!important;
  opacity:.92!important;filter:none!important;transition:opacity .18s ease,transform .18s ease!important
}
body.cth-brand--vctf .vctf-header-trust:hover img{opacity:1!important;transform:translateY(-1px)!important}

/* Footer: logo, trust seals and legal identity form one centered signature.
   No card around the certifications: the negative artwork breathes directly
   on the footer background, like the VCTF white logo. */
body.cth-brand--vctf .vctf-footer .vmon-footer__brand{
  display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important
}
body.cth-brand--vctf .vctf-footer .vmon-footer__logo{display:flex!important;justify-content:center!important;width:100%!important}
body.cth-brand--vctf .vctf-footer .vctf-footer-logo,
body.cth-brand--vctf .vctf-footer .vmon-footer__logo-img{margin-left:auto!important;margin-right:auto!important}
body.cth-brand--vctf .vctf-footer__trust{
  display:grid!important;justify-items:center!important;gap:8px!important;width:auto!important;max-width:100%!important;
  margin:18px auto 16px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important
}
body.cth-brand--vctf .vctf-footer__trust>span{
  color:rgba(255,255,255,.58)!important;font-size:.59rem!important;font-weight:900!important;letter-spacing:.14em!important;text-align:center!important
}
body.cth-brand--vctf .vctf-footer__trust img{
  display:block!important;width:190px!important;height:auto!important;max-height:none!important;object-fit:contain!important;opacity:.98!important;filter:none!important
}
body.cth-brand--vctf .vmon-footer__brand>p{max-width:340px!important;margin:13px auto 0!important;text-align:center!important}
body.cth-brand--vctf .vmon-footer__brand>small{margin-top:9px!important;text-align:center!important}

/* Proof icons: visual punctuation, not four little apps. */
body.cth-brand--vctf .vctf-proof .vctf-proof-card{
  grid-template-columns:68px minmax(0,1fr) 17px!important;gap:14px!important;min-height:190px!important;padding:19px!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__media{
  display:grid!important;place-items:center!important;width:66px!important;height:66px!important;min-width:66px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important
}
body.cth-brand--vctf .vctf-proof .vctf-proof-card__media img{
  width:66px!important;height:66px!important;object-fit:contain!important;border-radius:0!important;filter:none!important
}
body.cth-brand--vctf .vctf-proof .vmon-proof__copy>strong{font-size:1.04rem!important}
body.cth-brand--vctf .vctf-proof .vmon-proof__copy>p{font-size:.81rem!important}
@media(max-width:620px){
  body.cth-brand--vctf .vctf-proof .vctf-proof-card{grid-template-columns:60px minmax(0,1fr) 17px!important}
  body.cth-brand--vctf .vctf-proof .vctf-proof-card__media,
  body.cth-brand--vctf .vctf-proof .vctf-proof-card__media img{width:58px!important;height:58px!important;min-width:58px!important}
  body.cth-brand--vctf .vctf-footer__trust img{width:176px!important}
}


/* ===== SOURCE: assets/css/brands/vctf50-geo.css ===== */
/* ===========================================================
   VCTF 5.0 · SEO / GEO / UX
   Capa aditiva. No redefine geometria de Marga ni del buscador.
   =========================================================== */

:root{
  --vctf50-header-h:84px;
  --vctf50-ring:var(--brand,#0B74D1);
  --vctf50-line:rgba(7,27,51,.12);
  --vctf50-muted:rgba(7,27,51,.66);
}

/* -----------------------------------------------------------
   1 · Anclas bajo cabecera fija
   Las pestañas de ficha (#itinerario, #imagenes, #alojamiento,
   #precioIncluye) saltaban por debajo del header sticky.
   ----------------------------------------------------------- */
html{scroll-padding-top:calc(var(--vctf50-header-h) + 16px)}
:target{scroll-margin-top:calc(var(--vctf50-header-h) + 16px)}
body.vmon-marga-page :where(#itinerario,#imagenes,#alojamiento,#precioIncluye,#buscador,#contacto){
  scroll-margin-top:calc(var(--vctf50-header-h) + 16px);
}

/* -----------------------------------------------------------
   2 · Accesibilidad
   ----------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--vctf50-ring);
  outline-offset:2px;
  border-radius:6px;
}
.vmon-header :where(a,button):focus-visible,
.vmon-footer :where(a,button):focus-visible{outline-color:#fff}
/* El antetitulo de marca sobre fondo claro, a 0.76rem, quedaba justo en el
   limite de contraste AA. Se oscurece solo sobre superficies claras conocidas;
   los bloques oscuros conservan su color original. */
:where(.vmon-section--white,.vmon-section--paper,.vctf-hub-hero,.vmon380-hub-hero,.vmon381-search-hero,.vmon380-compact-hero,.vmon-section-head) .vmon-kicker,
.cth-vctf-geo__kicker{color:color-mix(in srgb,var(--brand,#0B74D1) 76%,#0a1b2e)}

/* -----------------------------------------------------------
   3 · Migas de pan
   ----------------------------------------------------------- */
.cth-vctf50-crumbs{padding:14px 0 0;font-size:.82rem}
.cth-vctf50-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;padding:0;list-style:none}
.cth-vctf50-crumbs li{display:flex;align-items:center;gap:10px;color:var(--vctf50-muted);min-width:0}
.cth-vctf50-crumbs li+li::before{content:"›";opacity:.5;font-weight:700}
.cth-vctf50-crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.cth-vctf50-crumbs a:hover{color:var(--brand,#0B74D1);border-bottom-color:currentColor}
.cth-vctf50-crumbs [aria-current="page"]{color:var(--brand-deep,#071B33);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(60vw,520px)}
body.vmon-marga-page .cth-vctf50-crumbs{padding-bottom:6px}
@media (max-width:640px){
  .cth-vctf50-crumbs{font-size:.76rem;padding-top:10px}
  .cth-vctf50-crumbs li:not(:last-child):not(:first-child){display:none}
  .cth-vctf50-crumbs li:first-child+li::before{content:"›"}
}

/* -----------------------------------------------------------
   4 · Bloque GEO de respuestas citables
   ----------------------------------------------------------- */
.cth-vctf50-answer{padding:clamp(48px,6vw,84px) 0;background:var(--brand-deep,#071B33);color:#fff}
.cth-vctf50-answer__head{max-width:760px;margin:0 0 clamp(28px,4vw,44px)}
.cth-vctf50-answer__head .vmon-kicker{color:var(--brand-start,#13A9E3)}
.cth-vctf50-answer__head h2{margin:.15em 0 .5em;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.02;letter-spacing:-.035em}
.cth-vctf50-answer__head p{margin:0;color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.6}
.cth-vctf50-answer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.4vw,28px);margin:0}
.cth-vctf50-answer__item{padding:22px 24px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.045)}
.cth-vctf50-answer__item dt{margin:0 0 8px;font-size:.74rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-start,#13A9E3)}
.cth-vctf50-answer__item dd{margin:0;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.92)}
.cth-vctf50-answer__foot{margin:clamp(26px,3.4vw,40px) 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:.86rem;color:rgba(255,255,255,.66)}
.cth-vctf50-answer__foot a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.cth-vctf50-answer__foot a:hover{border-bottom-color:#fff}

/* Si el bloque cae justo antes del footer oscuro, se separa con un filo. */
.cth-vctf50-answer+.vmon-footer,
.cth-vctf50-answer+.cth-vctf-trustindex+.vmon-footer{border-top:1px solid rgba(255,255,255,.12)}

/* -----------------------------------------------------------
   5 · GEO 4.5 · legibilidad
   ----------------------------------------------------------- */
.cth-vctf-geo__item strong{display:block;margin-bottom:6px;line-height:1.25}
.cth-vctf-geo__item p{margin:0;line-height:1.6}

/* -----------------------------------------------------------
   6 · Impresion / lectores de texto plano
   ----------------------------------------------------------- */
@media print{
  .cth-vctf50-crumbs,.cth-vctf-trustindex{display:none}
  .cth-vctf50-answer{background:#fff;color:#000}
  .cth-vctf50-answer__item{border-color:#999}
  .cth-vctf50-answer__item dd,.cth-vctf50-answer__head p{color:#000}
}


/* ===== SOURCE: assets/css/brands/vctf56-ultra-definitive.css ===== */
/* CONTUHIJO CORE / VCTF 5.6 ULTRA DEFINITIVE
   Additive VCTF-only hardening. No Marga logic is changed here. */

/* 1) Header logo: +33% on desktop versus the VCTF5.1 190px baseline. */
@media (min-width:1180px){
  body.cth-brand--vctf .vmon-brand__logo{max-width:min(253px,28vw)!important;max-height:72px!important}
}
@media (min-width:901px) and (max-width:1179px){
  body.cth-brand--vctf .vmon-brand__logo{max-width:min(235px,31vw)!important;max-height:67px!important}
}
@media (max-width:900px){
  body.cth-brand--vctf .vmon-brand__logo{max-width:min(213px,58vw)!important;max-height:64px!important}
}
@media (max-width:580px){
  body.cth-brand--vctf .vmon-brand__logo{max-width:min(205px,62vw)!important;max-height:60px!important}
}

/* 2) Editorial/article rescue: old Colibri page geometry is content, not layout.
   Flatten only legacy h-* wrappers inside the new VCTF editorial canvas. */
body.cth-brand--vctf .vctf-editorial-master__content :where(
  .h-section,.h-section-grid-container,.h-row-container,.h-row,
  .h-column,.h-column-container,.h-column__inner,.h-column__content,.h-y-container,
  [class*="h-col-"]
),
body.cth-brand--vctf .vmon-editorial__content--legal :where(
  .h-section,.h-section-grid-container,.h-row-container,.h-row,
  .h-column,.h-column-container,.h-column__inner,.h-column__content,.h-y-container,
  [class*="h-col-"]
){
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin-left:0!important;margin-right:0!important;float:none!important;
  flex:0 0 100%!important;flex-basis:100%!important;box-sizing:border-box!important
}
body.cth-brand--vctf .vctf-editorial-master__content :where(.h-row,.h-row-container),
body.cth-brand--vctf .vmon-editorial__content--legal :where(.h-row,.h-row-container){display:block!important}
body.cth-brand--vctf .vctf-editorial-master__content :where(img,video,iframe),
body.cth-brand--vctf .vmon-editorial__content--legal :where(img,video,iframe){max-width:100%!important;height:auto}
body.cth-brand--vctf .vctf-editorial-master__content :where(table),
body.cth-brand--vctf .vmon-editorial__content--legal :where(table){max-width:100%!important}

/* Editorial reading width remains generous but bounded; legal pages all share it. */
body.cth-brand--vctf .vmon-editorial--legal .vmon-legal-layout{width:min(100%,970px)!important;max-width:970px!important;margin-left:auto!important;margin-right:auto!important}
body.cth-brand--vctf .vmon-editorial--legal .vmon-editorial__content--legal{width:min(100%,860px)!important;max-width:860px!important;margin-left:auto!important;margin-right:auto!important;min-width:0!important;box-sizing:border-box!important}
@media (min-width:760px){
  body.cth-brand--vctf .vctf-editorial-master__content :where(p,li),
  body.cth-brand--vctf .vmon-editorial__content--legal :where(p,li){text-align:justify;text-justify:inter-word}
}
@media (max-width:759px){
  body.cth-brand--vctf .vctf-editorial-master__content :where(p,li),
  body.cth-brand--vctf .vmon-editorial__content--legal :where(p,li){text-align:left}
}

/* 3) Search route: release every inherited half-column and keep the full canvas centered. */
body.cth-brand--vctf.vmon-search-route :where(
  #main,.content.colibri-page-content,.main-content,.page-content,
  .h-section,.h-section-grid-container,.h-row-container,.h-row,
  .h-column,.h-column-container,.h-column__inner,.h-column__content,.h-y-container
):has(form.cth-vctf45-search-form),
body.cth-brand--vctf.vmon-search-route :where(
  #main,.content.colibri-page-content,.main-content,.page-content,
  .h-section,.h-section-grid-container,.h-row-container,.h-row,
  .h-column,.h-column-container,.h-column__inner,.h-column__content,.h-y-container
):has(.vmon381-search-results){
  width:100%!important;max-width:none!important;min-width:0!important;
  margin-left:auto!important;margin-right:auto!important;float:none!important;
  flex:0 0 100%!important;flex-basis:100%!important;box-sizing:border-box!important
}
body.cth-brand--vctf.vmon-search-route :where(
  form.cth-vctf45-search-form,.vmon-marga--search form.md-template,
  .cth-vctf45-search-results-canvas,.vmon381-search-results
){
  width:min(calc(100% - 32px),1240px)!important;max-width:1240px!important;
  margin-left:auto!important;margin-right:auto!important;float:none!important;box-sizing:border-box!important
}

/* Search cards: legacy .travel-card facts inherited white from the Marga form. */
body.cth-brand--vctf.vmon-search-route .vmon2026 .travel-card dt,
body.cth-brand--vctf .vmon-marga--search .vmon2026 .travel-card dt{color:#6f7f92!important}
body.cth-brand--vctf.vmon-search-route .vmon2026 .travel-card dd,
body.cth-brand--vctf .vmon-marga--search .vmon2026 .travel-card dd{color:#071b33!important}
body.cth-brand--vctf.vmon-search-route .vmon2026 .md-trip-card__fact dt{color:#6f7f92!important}
body.cth-brand--vctf.vmon-search-route .vmon2026 .md-trip-card__fact dd{color:#071b33!important}

/* 4) Contact route and trip-contact route: center the real Marga surface, never its logic. */
body.cth-brand--vctf.vmon-contact-route :where(.cth-vctf45-form-shell,.vmon380-contact-form,.vmon-marga--contact),
body.cth-brand--vctf.cth-marga-trip-contact :where(.cth-vctf45-form-shell,.vmon-marga--contact),
body.cth-brand--vctf.vmon-contact-route :where(
  .h-section,.h-section-grid-container,.h-row-container,.h-row,.h-column,.h-column-container,.h-column__inner,.h-column__content,.h-y-container
):has(#contacto-form),
body.cth-brand--vctf.cth-marga-trip-contact :where(
  .h-section,.h-section-grid-container,.h-row-container,.h-row,.h-column,.h-column-container,.h-column__inner,.h-column__content,.h-y-container
):has(#contacto-form){
  width:100%!important;max-width:none!important;min-width:0!important;
  margin-left:auto!important;margin-right:auto!important;float:none!important;
  flex:0 0 100%!important;flex-basis:100%!important;box-sizing:border-box!important
}
body.cth-brand--vctf.vmon-contact-route #contacto-form,
body.cth-brand--vctf.cth-marga-trip-contact #contacto-form{
  width:min(calc(100% - 32px),1060px)!important;max-width:1060px!important;
  margin-left:auto!important;margin-right:auto!important;float:none!important;box-sizing:border-box!important
}
@media (max-width:620px){
  body.cth-brand--vctf.vmon-search-route :where(form.cth-vctf45-search-form,.vmon-marga--search form.md-template,.cth-vctf45-search-results-canvas,.vmon381-search-results),
  body.cth-brand--vctf.vmon-contact-route #contacto-form,
  body.cth-brand--vctf.cth-marga-trip-contact #contacto-form{width:min(calc(100% - 20px),1240px)!important}
}


/* ===== SOURCE: assets/css/brands/vctf57-gold-master.css ===== */
/* CONTUHIJO CORE · VCTF 5.7 GOLD MASTER
   Final VCTF-only presentation contract for WordPress pages and articles.
   No Marga business logic is changed here. */

/* --------------------------------------------------------------------------
   1. Editorial geometry. The 5.2 layout has two columns only when a real TOC
      exists. Without a TOC the content must span the available editorial block.
   -------------------------------------------------------------------------- */
body.cth-brand--vctf .vctf-editorial-master__layout--no-toc{
  grid-template-columns:minmax(0,1100px)!important;
  justify-content:center!important
}
body.cth-brand--vctf .vctf-editorial-master__layout--no-toc .vctf-editorial-master__content{
  width:100%!important;max-width:1100px!important;min-width:0!important;grid-column:1/-1!important;justify-self:stretch!important
}
body.cth-brand--vctf .vctf-editorial-master__layout--with-toc{
  grid-template-columns:minmax(210px,250px) minmax(0,900px)!important
}
body.cth-brand--vctf .vctf-editorial-master__layout--with-toc .vctf-editorial-master__content{
  width:100%!important;max-width:900px!important;min-width:0!important
}

/* Generic safety for a one-child layout created by a cached older template. */
body.cth-brand--vctf .vctf-editorial-master__layout>.vctf-editorial-master__content:only-child{
  grid-column:1/-1!important;width:100%!important;max-width:1100px!important;justify-self:center!important
}

/* --------------------------------------------------------------------------
   2. Legacy builder geometry is content, never the current layout contract.
      Reset only inside the editorial/legal canvas; Marga/form/search routes are
      intentionally outside these selectors.
   -------------------------------------------------------------------------- */
body.cth-brand--vctf .vctf-editorial-master__content :where(
  .h-section,.h-section-grid-container,.h-row-container,.h-row,.h-column,.h-column-container,
  .h-column__inner,.h-column__content,.h-y-container,.row,.container,.container-fluid,
  [class*="h-col-"],[class*="col-xs-"],[class*="col-sm-"],[class*="col-md-"],[class*="col-lg-"],[class*="col-xl-"]
),
body.cth-brand--vctf .vmon-editorial__content--legal :where(
  .h-section,.h-section-grid-container,.h-row-container,.h-row,.h-column,.h-column-container,
  .h-column__inner,.h-column__content,.h-y-container,.row,.container,.container-fluid,
  [class*="h-col-"],[class*="col-xs-"],[class*="col-sm-"],[class*="col-md-"],[class*="col-lg-"],[class*="col-xl-"]
){
  width:100%!important;max-width:100%!important;min-width:0!important;float:none!important;
  margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
  flex:0 0 100%!important;flex-basis:100%!important
}
body.cth-brand--vctf .vctf-editorial-master__content :where(.row,.h-row,.h-row-container),
body.cth-brand--vctf .vmon-editorial__content--legal :where(.row,.h-row,.h-row-container){display:block!important}

/* --------------------------------------------------------------------------
   3. Content craft. Everything fills the editorial block, never the viewport.
   -------------------------------------------------------------------------- */
body.cth-brand--vctf .vctf-editorial-master__content,
body.cth-brand--vctf .vmon-editorial__content--legal{
  overflow-wrap:anywhere!important;word-break:normal!important
}
body.cth-brand--vctf .vctf-editorial-master__content>* ,
body.cth-brand--vctf .vmon-editorial__content--legal>*{
  max-width:100%!important;box-sizing:border-box!important
}
body.cth-brand--vctf .vctf-editorial-master__content :where(figure,.wp-caption,.wp-block-image,.gallery),
body.cth-brand--vctf .vmon-editorial__content--legal :where(figure,.wp-caption,.wp-block-image,.gallery){
  width:100%!important;max-width:100%!important;margin:clamp(22px,3vw,36px) 0!important
}
body.cth-brand--vctf .vctf-editorial-master__content :where(img),
body.cth-brand--vctf .vmon-editorial__content--legal :where(img){
  display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin-left:auto!important;margin-right:auto!important;
  object-fit:contain!important;border-radius:18px!important
}
body.cth-brand--vctf .vctf-editorial-master__content :where(video,iframe),
body.cth-brand--vctf .vmon-editorial__content--legal :where(video,iframe){
  display:block!important;width:100%!important;max-width:100%!important;margin:clamp(22px,3vw,36px) 0!important
}
body.cth-brand--vctf .vctf-editorial-master__content h4{
  margin:1.5em 0 .45em!important;color:#0b355f!important;font-size:clamp(1.05rem,1.45vw,1.25rem)!important;
  line-height:1.28!important;letter-spacing:-.012em!important
}
body.cth-brand--vctf .vctf-editorial-master__content :where(p,ul,ol,blockquote,table){width:100%!important;max-width:100%!important}
body.cth-brand--vctf .vctf-editorial-master__content p{margin:.75em 0 1.05em!important}
body.cth-brand--vctf .vctf-editorial-master__content table,
body.cth-brand--vctf .vmon-editorial__content--legal table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important}

@media (min-width:760px){
  body.cth-brand--vctf .vctf-editorial-master__content :where(p,li),
  body.cth-brand--vctf .vmon-editorial__content--legal :where(p,li){text-align:justify!important;text-justify:inter-word!important}
}
@media (max-width:759px){
  body.cth-brand--vctf .vctf-editorial-master__content :where(p,li),
  body.cth-brand--vctf .vmon-editorial__content--legal :where(p,li){text-align:left!important}
}

/* --------------------------------------------------------------------------
   4. Old Colibri contact shortcode: if its original module no longer exists,
      the server fallback renders the real Marga contact form or a safe CTA.
   -------------------------------------------------------------------------- */
body.cth-brand--vctf .cth-vctf57-contact-fallback{padding:clamp(36px,6vw,72px) 0;background:#f5f8fc}
body.cth-brand--vctf .cth-vctf57-contact-fallback__inner{width:min(calc(100% - 32px),1060px);margin:0 auto}
body.cth-brand--vctf .cth-vctf57-contact-fallback__message{padding:clamp(24px,4vw,40px);border:1px solid rgba(7,27,51,.1);border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(7,27,51,.06)}
body.cth-brand--vctf .cth-vctf57-contact-fallback__message p{margin:0 0 14px;color:#46586e;font-size:1rem;line-height:1.65}
body.cth-brand--vctf .cth-vctf57-contact-fallback__message a{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:12px;background:#0b74d1;color:#fff!important;text-decoration:none!important;font-weight:900}

/* --------------------------------------------------------------------------
   5. GEO closing: keep it visually attached to the page and full-width inside
      its own shell. This also covers legal pages enabled by the GOLD layer.
   -------------------------------------------------------------------------- */
body.cth-brand--vctf .cth-editorial-closing{clear:both;width:100%;max-width:none;min-width:0}
body.cth-brand--vctf .cth-editorial-closing :where(.cth-shell,.cth-closing-geo__grid){min-width:0}

@media (max-width:980px){
  body.cth-brand--vctf .vctf-editorial-master__layout--with-toc{grid-template-columns:1fr!important}
  body.cth-brand--vctf .vctf-editorial-master__layout--with-toc .vctf-editorial-master__content{max-width:100%!important}
}


/* ===== SOURCE: assets/css/brands/vctf58-core-master.css ===== */
/* CONTUHIJO CORE · VCTF 5.8 CORE MASTER READY
   Final VCTF-only presentation safeguards. Protected Marga assets untouched. */

/* 1 · /buscador/ owns the real centred canvas. JS marks every legacy Colibri
   ancestor up to #content, so a forgotten h-col-lg-* can no longer trap the
   search in the left half of a wide screen. */
body.cth-brand--vctf.vmon-search-route .cth-vctf58-search-ancestor{
  width:100%!important;max-width:none!important;min-width:0!important;
  flex:0 0 100%!important;flex-basis:100%!important;float:none!important;
  margin-left:0!important;margin-right:0!important;box-sizing:border-box!important
}
body.cth-brand--vctf.vmon-search-route #content,
body.cth-brand--vctf.vmon-search-route #content.page-content{
  width:100%!important;max-width:none!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important
}
body.cth-brand--vctf.vmon-search-route #buscador.md-template,
body.cth-brand--vctf.vmon-search-route #buscador{
  display:block!important;width:min(calc(100% - 32px),1240px)!important;max-width:1240px!important;
  min-width:0!important;margin-left:auto!important;margin-right:auto!important;float:none!important;box-sizing:border-box!important
}
body.cth-brand--vctf.vmon-search-route #buscador :where(form.h-px-2,.h-section-grid-container){width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
body.cth-brand--vctf.vmon-search-route #buscador form.h-px-2>.h-row>.h-column.h-col{width:100%!important;max-width:none!important;min-width:0!important;flex:0 0 100%!important}
body.cth-brand--vctf.vmon-search-route #buscador form.h-px-2>.h-row>.h-column.h-col>.h-row.gutters-col-2{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

/* Search count sits on the navy results canvas. */
@media (min-width:981px){
  body.cth-brand--vctf.vmon-search-route #buscador form.h-px-2>.h-row>.h-column.h-col>.h-row:first-child{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.08)!important}
}

/* 2 · Search card facts: source values already exist; never let old dark-skin
   inheritance make them white on a white card again. */
body.cth-brand--vctf.vmon-search-route #buscador .travel-card :where(dt,dd),
body.cth-brand--vctf.vmon-search-route #buscador .travel-card :where(dt,dd) *,
body.cth-brand--vctf.vmon-search-route #buscador .md-trip-card :where(dt,dd),
body.cth-brand--vctf.vmon-search-route #buscador .md-trip-card :where(dt,dd) *{
  color:#26364b!important;opacity:1!important;text-shadow:none!important
}
body.cth-brand--vctf.vmon-search-route #buscador .travel-card dd,
body.cth-brand--vctf.vmon-search-route #buscador .md-trip-card dd{font-weight:900!important}
body.cth-brand--vctf.vmon-search-route #buscador .cth-vctf58-consult-value{color:#0b74d1!important;font-style:normal!important}

/* Available/complete/incomplete presentation remains subtle: source records are
   not deleted; cards are only ordered by usefulness in the browser. */
body.cth-brand--vctf.vmon-search-route #buscador .cth-vctf58-card-soldout{opacity:.82}
body.cth-brand--vctf.vmon-search-route #buscador .cth-vctf58-card-incomplete{outline:1px solid rgba(11,116,209,.12);outline-offset:-1px}

/* 3 · Sold-out trip contract: no reserve CTA. The server converts its href and
   label; this CSS is a second guard in case a cached fragment contains another
   reserve anchor. */
body.cth-brand--vctf.cth-vctf58-trip-soldout a[href*="/reserva"]{display:none!important}
body.cth-brand--vctf .cth-vctf58-alternative-cta{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;
  padding:0 18px!important;border-radius:12px!important;background:#0b74d1!important;color:#fff!important;
  border:0!important;text-decoration:none!important;font-weight:950!important;box-shadow:0 10px 26px rgba(11,116,209,.22)!important
}

/* 4 · An empty price composition table is worse than no table. JS hides only a
   table whose price column has no numeric amount and inserts this explanation. */
body.cth-brand--vctf .cth-vctf58-empty-price-table{display:none!important}
body.cth-brand--vctf .cth-vctf58-price-note{
  width:100%!important;max-width:900px!important;margin:18px auto!important;padding:16px 18px!important;
  border:1px solid rgba(11,116,209,.18)!important;border-radius:14px!important;background:#f5f9ff!important;
  color:#26364b!important;font-size:.96rem!important;line-height:1.55!important;box-sizing:border-box!important
}
body.cth-brand--vctf .cth-vctf58-price-note strong{color:#092f57!important}

@media (max-width:980px){
  body.cth-brand--vctf.vmon-search-route #buscador.md-template,
  body.cth-brand--vctf.vmon-search-route #buscador{width:min(calc(100% - 24px),1240px)!important}
}
