/* ==========================================================
   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;
  }
}
