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