/* V29 · Direct catalog: the destination buttons belong to Connect MTY Travel;
   the MegaTravel iframe stays unmodified and owns its internal scrolling. */
body.circuitos-immersive-page{background:#f9fafc}
.circuitos-immersive-page .site-header{position:fixed!important;top:0;left:0;right:0;z-index:70}
/* Keep exactly one main scrolling surface: the embedded supplier document. */
html:has(.circuitos-immersive-page),body.circuitos-immersive-page{overflow:hidden!important;overscroll-behavior:none}
.circuitos-browser{position:fixed;inset:var(--circuitos-header-height,74px) 0 0;z-index:60;display:flex;flex-direction:column;min-width:0;min-height:0;background:#f9fafc;color:#142744}
.circuitos-browser-toolbar{position:relative;z-index:1;flex:0 0 auto;min-width:0;background:#fff;box-shadow:0 1px 0 #dce6f2}
.circuitos-browser-bar{display:flex;align-items:center;gap:14px;min-height:64px;padding:8px clamp(12px,3vw,46px);border-bottom:1px solid #e3ebf4}
.circuitos-browser-back{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid #cfdbee;border-radius:8px;background:#fff;color:#143466;font-size:13px;font-weight:800;white-space:nowrap}
.circuitos-browser-back:hover{background:#edf4ff}
.circuitos-browser-heading{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0;line-height:1.2}
.circuitos-browser-heading small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#62748c;font-weight:700}
.circuitos-browser-heading h1{margin:3px 0 0;font-size:16px;font-weight:800;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.circuitos-browser-contact{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:9px;border:0;border-radius:8px;min-height:40px;padding:10px 15px;color:#fff;background:#1c437e;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}
.circuitos-browser-contact:hover{background:#133063}
/* These are the EXISTING destination links; no second select box or extra landing page. */
.circuitos-browser-categories.mega-destination-nav{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:10px clamp(12px,3vw,46px) 11px;border:0;background:#fff}
.circuitos-browser-categories .mega-destination-link{display:inline-flex;justify-content:center;flex:0 0 auto;min-height:38px;padding:8px 13px;border:1px solid #d0deef;border-radius:999px;background:#fff;color:#263e61;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}
.circuitos-browser-categories .mega-destination-link:hover{background:#edf4ff;color:#173c7b}
.circuitos-browser-categories .mega-destination-link.is-active,.circuitos-browser-categories .mega-destination-link[aria-current="page"]{background:#19366d;border-color:#19366d;color:#fff}
.circuitos-browser-categories .mega-destination-link:focus-visible,.circuitos-browser-back:focus-visible,.circuitos-browser-contact:focus-visible{outline:3px solid #6299e8;outline-offset:2px}
.circuitos-browser>iframe{display:block;flex:1 1 auto;width:100%;min-width:0;min-height:0;height:0;border:0;outline:0;background:#f9fafc;color-scheme:light}
.circuitos-browser>iframe:focus-visible{outline:3px solid #6299e8;outline-offset:-3px}
.circuitos-browser .circuitos-unavailable{flex:1;padding:25px clamp(12px,3vw,46px)}
.circuitos-contact-dialog{width:min(420px,calc(100vw - 28px));max-width:calc(100vw - 28px);box-sizing:border-box;border:1px solid #d9e4f3;border-radius:14px;background:#fff;color:#152b4a;padding:28px;box-shadow:0 24px 80px #0e28464d}
.circuitos-contact-dialog::backdrop{background:#051731a3}
.circuitos-contact-dialog h2{margin:5px 0 9px;font-size:24px;line-height:1.2}
.circuitos-contact-dialog p{margin:0 0 20px;color:#586b82;font-size:14px;line-height:1.6}
.circuitos-contact-dialog form{display:grid;gap:11px}
.circuitos-contact-dialog label{font-weight:800;font-size:13px}
.circuitos-contact-dialog input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #bdcde3;border-radius:8px;padding:10px 12px;font-size:16px;text-transform:uppercase}
.circuitos-contact-dialog form .button{justify-content:center;display:flex;align-items:center;gap:9px}
.circuitos-contact-dialog form small{font-size:12px;color:#62748c}
.circuitos-dialog-close{position:absolute;right:14px;top:12px;background:#f0f5fc;border:0;border-radius:7px;color:#243d60;width:33px;height:33px;cursor:pointer}
@media(max-width:900px){
  /* A single swipeable row preserves space for the provider catalog on phones. */
  .circuitos-browser-categories.mega-destination-nav{flex-wrap:nowrap;gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:8px 12px 10px}
  .circuitos-browser-categories .mega-destination-link{min-height:39px}
}
@media(max-width:620px){
  .circuitos-browser-bar{gap:8px;min-height:56px;padding:7px 10px}
  .circuitos-browser-back{min-height:39px;padding:7px 9px;font-size:12px}
  .circuitos-browser-heading small{font-size:9px}
  .circuitos-browser-heading h1{font-size:13px}
  .circuitos-browser-contact{min-height:39px;padding:7px 9px;font-size:11px;gap:5px}
  .circuitos-browser-categories.mega-destination-nav{padding:7px 10px 9px}
  .circuitos-browser-categories .mega-destination-link{font-size:12px}
}
@media(max-width:360px){.circuitos-browser-contact{font-size:10px;padding:7px 6px}.circuitos-browser-back{padding:7px}.circuitos-browser-heading small{letter-spacing:0}}
