/* Universal Excursions V11.32.06 — public typography and a compact Nexus-inspired mobile menu.
 * Public presentation only. Booking/payment workflows, member portal and admin
 * typography remain independent. No external proprietary fonts are bundled. */
:root{--ue-public-font:'DM Sans',Inter,'Helvetica Neue',Arial,sans-serif}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal){
  font-family:var(--ue-public-font)!important;
  font-weight:400!important;
  letter-spacing:0;
  line-height:1.55;
}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(h1,h2,h3,h4,h5,h6,p,small,label,input,select,textarea,button,summary,a){
  font-family:var(--ue-public-font)!important;
}
/* The existing site used weights 800–900 throughout ordinary content.
 * Reserve bold for main titles and actionable controls. */
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(p,li,blockquote,dd){
  font-weight:400;
}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(h1,h2){
  font-weight:700!important;
  letter-spacing:-.035em;
}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(h3,h4){
  font-weight:600!important;
  letter-spacing:-.018em;
}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(input,select,textarea){font-weight:400!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.btn,.btn-primary,.btn-coral,.ux-search-submit,.modern-search-submit,.ue-discovery-submit){font-weight:650!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.ux-hero-copy h1,.modern-hero-copy h1,.page-hero h1,.ue-page-hero--contact h1,.tours-hero h1,.ux-section-head h2,.section-head h2,.modern-section-head h2,.ue-holafly-copy h2,.ue-contact-hero-copy h1){font-weight:700!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.ue-home-recents-head h2,.ue-home-recent-info strong,.modern-review-head strong,.ue-footer-navigation h3,.ue-footer-contact h3,.ue-footer-nav-details>summary){font-weight:600!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.ue-footer-navigation a,.ue-footer-contact a,.ue-home-recents-head button,.ue-discovery-foot a,.ue-discovery-link strong,.ux-tour-card h3,.modern-mood-card strong,.premium-tour-card h3){font-weight:500!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) .site-header-premium :is(.ue-support-title,.ue-support-action,.language-current,.profile-label){font-family:var(--ue-public-font)!important;font-weight:550!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.ux-search-tabs button,.modern-search-tabs button,.modern-home .modern-search-tabs button){font-weight:600!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.ue-discovery-heading,.ue-holafly-eyebrow,.modern-kicker,.eyebrow){font-weight:600!important}
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.ue-holafly-brand,.ue-holafly-discount,.modern-review-score strong){font-weight:700!important}
/* Keep essential access/status indicators semibold, rather than universally black. */
body.site-body.theme-ue-nexus:not(.page-transactional):not(.page-member-portal) :is(.modern-search-grid label>span,.ux-search-grid label>span,.modern-search-title>div>span,.ue-contact-hero-score small,.ue-contact-hero-award strong){font-weight:600!important}

/* Mobile: fixed clean WHITE full-width panel below the header. No odd right-side slide,
 * thick boxed subsections, or dimming filter over the menu. */
@media(max-width:1020px){
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106,
  body.theme-ue-nexus.site-body.site-menu-open .site-mobile-drawer.ue-mobile-nav-v106{
    display:block!important;position:fixed!important;
    top:var(--ue-mobile-menu-top,64px)!important;bottom:0!important;
    left:0!important;right:0!important;width:100%!important;max-width:100%!important;
    height:calc(100dvh - var(--ue-mobile-menu-top,64px))!important;
    max-height:calc(100dvh - var(--ue-mobile-menu-top,64px))!important;
    border-radius:0!important;border-top:1px solid #eef1f3!important;
    z-index:2801!important;overflow-x:hidden!important;overflow-y:auto!important;
    scrollbar-gutter:stable!important;overscroll-behavior:contain!important;
    background:#fff!important;box-shadow:0 15px 26px rgba(15,43,59,.09)!important;
    color:#203d50!important;filter:none!important;backdrop-filter:none!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translateY(-9px)!important;transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
    padding:0 0 max(28px,env(safe-area-inset-bottom))!important;
  }
  body.theme-ue-nexus.site-body.site-menu-open .site-mobile-drawer.ue-mobile-nav-v106{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  body.theme-ue-nexus.site-body.site-menu-open .site-mobile-backdrop{
    display:block!important;position:fixed!important;z-index:2800!important;
    inset:var(--ue-mobile-menu-top,64px) 0 0!important;
    background:transparent!important;opacity:1!important;
    visibility:visible!important;filter:none!important;backdrop-filter:none!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-drawer-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;min-height:70px!important;padding:12px 23px!important;
    margin:0!important;border-bottom:1px solid #eef1f3!important;background:#fff!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-drawer-head>div{display:grid!important;gap:2px!important}
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-drawer-head>div>span{
    font-size:10px!important;font-weight:500!important;color:#728594!important;letter-spacing:.12em!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-drawer-head>div>strong{
    font-size:19px!important;font-weight:600!important;color:#17394e!important;letter-spacing:-.02em!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-drawer-head button{
    display:grid!important;place-items:center!important;width:42px!important;height:42px!important;
    flex:none!important;border:0!important;border-radius:50%!important;background:#f5f7f8!important;
    color:#4e6370!important;font-size:23px!important;line-height:1!important;cursor:pointer!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 :is(.ue-mobile-primary-v94,.ue-mobile-account-v106){
    display:grid!important;width:100%!important;padding:9px 20px 14px!important;margin:0!important;gap:0!important;
    background:#fff!important;border:0!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 :is(.ue-mobile-primary-v94,.ue-mobile-account-v106) :is(a,button){
    appearance:none!important;width:100%!important;display:flex!important;align-items:center!important;
    justify-content:flex-start!important;gap:14px!important;min-height:54px!important;
    padding:9px 4px!important;border:0!important;border-bottom:1px solid #f1f3f5!important;
    border-radius:0!important;background:#fff!important;color:#293e50!important;
    font-size:15px!important;font-weight:500!important;letter-spacing:0!important;
    text-decoration:none!important;text-align:left!important;opacity:1!important;box-shadow:none!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 :is(.ue-mobile-primary-v94,.ue-mobile-account-v106) :is(a,button) :is(.ue-nav-icon){
    display:grid!important;place-items:center!important;width:25px!important;height:25px!important;flex:0 0 25px!important;
    padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;
    font-size:17px!important;color:#496779!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-nav-icon svg{
    display:block!important;width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;
    stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 :is(.ue-mobile-primary-v94,.ue-mobile-account-v106) :is(a,button)>span:nth-child(2){
    background:none!important;display:block!important;width:auto!important;min-width:0!important;
    height:auto!important;flex:1!important;border-radius:0!important;font-size:inherit!important;color:inherit!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 :is(.ue-mobile-primary-v94,.ue-mobile-account-v106) :is(a,button)>b{
    margin-left:auto!important;font-size:21px!important;line-height:1!important;font-weight:400!important;color:#9aaab3!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 :is(.ue-mobile-primary-v94,.ue-mobile-account-v106) :is(a,button):hover{background:#f7fafb!important}
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-account-v106{
    padding-top:14px!important;border-top:1px solid #e8eef1!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-account-v106 h3,
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-support-v94>strong{
    display:block!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.12em!important;
    color:#658094!important;font-weight:600!important;margin:2px 0 7px!important;padding:0 4px!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-support-v94{
    display:block!important;width:100%!important;margin:0!important;padding:15px 20px!important;
    background:#fff!important;border-block:1px solid #e8eef1!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-support-v94>div{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-support-v94 a{
    display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
    min-height:45px!important;margin:0!important;padding:7px 10px!important;
    border-radius:13px!important;border:1px solid #e2e9ec!important;background:#fff!important;
    color:#2f5166!important;font-size:12px!important;font-weight:500!important;text-decoration:none!important;
    line-height:1.35!important;white-space:normal!important;box-shadow:none!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-support-v94 a.ue-mobile-whatsapp-v95{
    background:#f3faf5!important;border-color:#e0efe4!important;color:#337d60!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-extras-v106{
    display:block!important;padding:0 20px!important;background:#fff!important;border-bottom:1px solid #e8eef1!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-extras-v106>summary{
    display:flex!important;justify-content:space-between!important;align-items:center!important;
    padding:18px 4px!important;min-height:55px!important;list-style:none!important;cursor:pointer!important;
    font-size:14px!important;font-weight:550!important;color:#243e51!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-extras-v106>summary::-webkit-details-marker{display:none!important}
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-extras-v106 .ue-more-chevron{font-size:21px;color:#8da3ad;line-height:1;transition:transform .18s}
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-extras-v106[open] .ue-more-chevron{transform:rotate(180deg)}
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-extras-v106 nav{display:grid!important;padding-bottom:14px!important}
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-extras-v106 nav a{
    display:flex!important;justify-content:space-between!important;align-items:center!important;
    min-height:44px!important;padding:10px 8px!important;color:#4b6676!important;font-size:13px!important;
    text-decoration:none!important;border-top:1px solid #f2f4f6!important;font-weight:400!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-languages{
    display:block!important;margin:0!important;padding:12px 20px 24px!important;border:0!important;background:#fff!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-languages .mobile-regional-preferences{
    display:flex!important;width:100%!important;min-height:57px!important;padding:10px 12px!important;
    border:1px solid #e1e9ed!important;border-radius:13px!important;background:#f9fbfc!important;
    opacity:1!important;gap:10px!important;
  }
  body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .mobile-languages :is(strong,small){font-weight:500!important;color:#476476!important}
  body.theme-ue-nexus.site-body.site-menu-open{overflow:hidden!important}
}
@media(min-width:1021px){body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106{display:none!important}}
@media(max-width:380px){body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106 .ue-mobile-support-v94 a{font-size:11px!important;padding:7px 6px!important}}
@media(prefers-reduced-motion:reduce){body.theme-ue-nexus.site-body .site-mobile-drawer.ue-mobile-nav-v106{transition:none!important}}
