/* VCTH 11.1.13 · FINAL STABILITY
   Final additive layer: one geometry for all Marga hubs/dimensions,
   no changes to Marga data/forms/reservation/payment. */

/* -----------------------------------------------------------
   1 · MASTER HUB / DIMENSION GEOMETRY
   Every Marga hub uses the same centred canvas. The recurring left/right
   drift came from Colibri/Bootstrap ancestors retaining historical widths,
   offsets and flex bases. Release those ancestors first, then centre Marga.
   ----------------------------------------------------------- */
body.vcth-star-safe.vmon-hub-route.vmon-marga-page:not(.cth-marga-reservation):not(.cth-marga-trip-contact)
:where(#content,#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-col,
.content.colibri-page-content .h-column,.content.colibri-page-content .h-column-container,
.content.colibri-page-content .h-column__inner,.content.colibri-page-content .h-column__content):has(.md-template){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  float:none!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  flex:0 0 100%!important;
  box-sizing:border-box!important;
}
body.vcth-star-safe.vmon-hub-route.vmon-marga-page:not(.cth-marga-reservation):not(.cth-marga-trip-contact)
.content.colibri-page-content .h-row:has(.md-template){
  display:block!important;
}
body.vcth-star-safe.vmon-hub-route.vmon-marga-page:not(.cth-marga-reservation):not(.cth-marga-trip-contact) .md-template{
  display:block!important;
  width:min(calc(100% - 32px),1240px)!important;
  max-width:1240px!important;
  min-width:0!important;
  margin:24px auto 72px!important;
  padding-left:0!important;
  padding-right:0!important;
  float:none!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body.vcth-star-safe.vmon-hub-route.vmon-marga-page:not(.cth-marga-reservation):not(.cth-marga-trip-contact) .md-template
:where(.h-section-grid-container,.h-row-container,.h-row,.container,.container-fluid,.w-100){
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.vcth-star-safe.vmon-hub-route.vmon-marga-page:not(.cth-marga-reservation):not(.cth-marga-trip-contact) .md-template
:where(.h-row,.row):has(>.travel-card),
body.vcth-star-safe.vmon-hub-route.vmon-marga-page:not(.cth-marga-reservation):not(.cth-marga-trip-contact) .md-template
:where(.h-row,.row):has(>.md-trip-card){
  justify-content:center!important;
}

@media(max-width:760px){
  body.vcth-star-safe.vmon-hub-route.vmon-marga-page:not(.cth-marga-reservation):not(.cth-marga-trip-contact) .md-template{
    width:min(calc(100% - 18px),1240px)!important;
    margin-top:14px!important;
    margin-bottom:56px!important;
  }
}

/* -----------------------------------------------------------
   2 · PRICE / DATES TAB: impossible to overlook, without blinking.
   The old arrow is now a breathing orb: white -> blue -> white.
   Motion is disabled for reduced-motion users.
   ----------------------------------------------------------- */
@media(max-width:760px){
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[href="#precioIncluye"],
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[rel="#precioIncluye"],
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[data-target="#precioIncluye"]{
    position:relative!important;
    grid-column:1 / -1!important;
    min-height:64px!important;
    margin-top:9px!important;
    padding:14px 18px!important;
    border:2px solid #f5820e!important;
    border-radius:13px!important;
    background:linear-gradient(135deg,#064d91 0%,#087fc5 58%,#159fe3 100%)!important;
    color:#fff!important;
    font-size:1.03rem!important;
    font-weight:950!important;
    letter-spacing:.005em!important;
    box-shadow:0 11px 26px rgba(7,90,168,.25),0 0 0 4px rgba(245,130,14,.10)!important;
    overflow:visible!important;
    animation:vcth-price-tab-attention 5.2s ease-in-out infinite!important;
  }
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[href="#precioIncluye"]::after,
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[rel="#precioIncluye"]::after,
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[data-target="#precioIncluye"]::after{
    content:"";
    display:inline-block;
    width:10px;
    height:10px;
    margin-left:12px;
    border-radius:999px;
    vertical-align:middle;
    background:#fff;
    box-shadow:0 0 0 3px rgba(255,255,255,.18);
    transform-origin:center;
    animation:vcth-price-orb 2.8s ease-in-out infinite;
  }
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[href="#precioIncluye"]:focus-visible,
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[rel="#precioIncluye"]:focus-visible,
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[data-target="#precioIncluye"]:focus-visible{
    outline:3px solid #f5820e!important;
    outline-offset:3px!important;
  }
}
@keyframes vcth-price-tab-attention{
  0%,76%,100%{transform:scale(1);box-shadow:0 11px 26px rgba(7,90,168,.25),0 0 0 4px rgba(245,130,14,.10)}
  82%{transform:scale(1.012);box-shadow:0 13px 30px rgba(7,90,168,.30),0 0 0 7px rgba(245,130,14,.16)}
  88%{transform:scale(1)}
}
@keyframes vcth-price-orb{
  0%,52%,100%{transform:scale(1);background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18)}
  68%{transform:scale(1.85);background:#79d4ff;box-shadow:0 0 0 6px rgba(121,212,255,.22)}
  82%{transform:scale(1.2);background:#159fe3;box-shadow:0 0 0 4px rgba(21,159,227,.18)}
}
@media(prefers-reduced-motion:reduce){
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[href="#precioIncluye"],
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[rel="#precioIncluye"],
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[data-target="#precioIncluye"],
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[href="#precioIncluye"]::after,
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[rel="#precioIncluye"]::after,
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item[data-target="#precioIncluye"]::after{
    animation:none!important;
  }
}

/* -----------------------------------------------------------
   3 · SEARCH: preserve both free-text query and the three canonical filters.
   This is a final guard against legacy responsive display utilities.
   ----------------------------------------------------------- */
@media(max-width:900px){
  body.vcth-star-safe.vmon-search-route #buscador form.h-px-2>.d-none.d-lg-block:first-of-type{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* 11.1.14 fallback: JS recognises the tab by its visible label as well. */
@media(max-width:760px){
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item.vcth-price-dates-priority{
    position:relative!important;grid-column:1 / -1!important;min-height:64px!important;
    margin-top:9px!important;padding:14px 18px!important;border:2px solid #f5820e!important;
    border-radius:13px!important;background:linear-gradient(135deg,#064d91 0%,#087fc5 58%,#159fe3 100%)!important;
    color:#fff!important;font-size:1.03rem!important;font-weight:950!important;letter-spacing:.005em!important;
    box-shadow:0 11px 26px rgba(7,90,168,.25),0 0 0 4px rgba(245,130,14,.10)!important;
    overflow:visible!important;animation:vcth-price-tab-attention 5.2s ease-in-out infinite!important;
  }
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item.vcth-price-dates-priority::after{
    content:"";display:inline-block;width:10px;height:10px;margin-left:12px;border-radius:999px;vertical-align:middle;
    background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18);transform-origin:center;
    animation:vcth-price-orb 2.8s ease-in-out infinite;
  }
}
@media(prefers-reduced-motion:reduce){
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item.vcth-price-dates-priority,
  body.vcth-star-safe.vmon-marga-page .h-tabs-navigation-item.vcth-price-dates-priority::after{animation:none!important}
}
