/* Homepage menu, copied verbatim from voyaggora.com (every rule that styles the menu). */
nav#mainNav{--gold:#c9a227;--gold-light:#e6c968;--teal:#0d4f6b;--dark:#0a1628;--card:#111f33;--text:#e8f0f7;--accent:#1a7a9c}
#mainNav,#mainNav *{box-sizing:border-box}
#mainNav a{text-decoration:none}#mainNav button{font-family:inherit}#mainNav ul{list-style:none;margin:0;padding:0}#mainNav{margin:0}
#mainNav{
    position: fixed; top: 0; left: 0; right: 0; z-index: 50;
    display: flex; align-items: center; justify-content: space-between;
    padding: 1.4rem 2.5rem;
    transition: background 0.4s ease, padding 0.4s ease, border-color 0.4s ease;
    border-bottom: 1px solid transparent;
  }
#mainNav.solid{
    background: rgba(10,22,40,0.92);
    backdrop-filter: blur(14px);
    padding: 0.9rem 2.5rem;
    border-bottom: 1px solid rgba(201,162,39,0.15);
  }
.nav-logo{ display: flex; align-items: center; gap: 10px; font-family: 'Fraunces', 'Fraunces Fallback', serif; font-weight: 600; font-size: 1.3rem; color: #fff; letter-spacing: 0.3px; text-decoration: none; cursor: pointer; flex: 0 1 auto; min-width: 0; }
.nav-logo-text{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-logo:hover{ color: var(--gold-light); }
.nav-logo .mark{ color: var(--gold); }
.logo-mark{ width: 34px; height: 34px; border-radius: 50%; display: block; flex: none; }
.logo-icon .logo-mark{ width: 28px; height: 28px; }
.nav-links{ display: flex; align-items: center; gap: 2.2rem; min-width: 0; }
.nav-links a{ color: rgba(255,255,255,0.85); text-decoration: none; font-size: 0.92rem; letter-spacing: 0.2px; transition: color 0.2s; }
.nav-links a:hover{ color: var(--gold-light); }
.nav-cta{
    background: var(--gold); color: #0a1628; border: none; padding: 0.55rem 1.3rem;
    border-radius: 30px; font-weight: 600; font-size: 0.88rem; cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    min-width: 0; max-width: 62vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
.nav-cta:hover{ transform: scale(1.04); box-shadow: 0 6px 18px rgba(201,162,39,0.4); }
@media (max-width: 1280px){.nav-links{ gap: 1.3rem; }#mainNav, #mainNav.solid{ padding-left: 1.6rem; padding-right: 1.6rem; }}
@media (max-width: 1120px){.nav-links a:not(.nav-cta-wrap){ display: none; }.nav-links{ gap: 0.8rem; }}
@media (max-width: 780px){#mainNav{ padding: 1rem 1.2rem; }#mainNav.solid{ padding: 0.7rem 1.2rem; }}
.nav-signin{ display: inline-flex; align-items: center; gap: 8px; background: transparent; color: #fff; border: 1px solid rgba(201,162,39,0.45); border-radius: 30px; padding: 0.45rem 1rem; font-size: 0.88rem; font-family: inherit; cursor: pointer; transition: border-color 0.2s, background 0.2s; }
.nav-signin:hover{ border-color: var(--gold); background: rgba(201,162,39,0.1); }
.nav-signin img{ width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.nav-signin .ns-icon{ display: inline-flex; color: var(--gold-light); }
.nav-install{ display: none; }
@media (min-width: 1700px){.nav-install.ready{ display: inline-flex; }}
@media (min-width: 1300px){html:not(.translated-ltr) .nav-logo{ flex: none; }html:not(.translated-ltr) .nav-logo-text{ overflow: visible; text-overflow: clip; }html:not(.translated-ltr) .nav-links{ flex: 1 1 auto; gap: .6rem; margin-left: .6rem; }html:not(.translated-ltr) .nav-links > a{ margin: 0 .25rem; }html:not(.translated-ltr) .nav-links > a:first-child{ margin-left: auto; }html:not(.translated-ltr) .nav-links > a:last-of-type{ margin-right: auto; }html:not(.translated-ltr) .nav-cta{ flex: none; max-width: none; overflow: visible; }}
@media (min-width: 1300px) and (max-width: 1439px){html:not(.translated-ltr) .nav-signin{ padding: .3rem; width: 40px; height: 40px; justify-content: center; border-radius: 50%; }html:not(.translated-ltr) .nav-signin .ns-text{ display: none; }}
@media (min-width: 1440px){html:not(.translated-ltr) .nav-links > a{ margin-left: .5rem; margin-right: .5rem; }html:not(.translated-ltr) .nav-links > a:first-child{ margin-left: auto; }html:not(.translated-ltr) .nav-links > a:last-of-type{ margin-right: auto; }}
@media (min-width: 1900px){html:not(.translated-ltr) .nav-links > a{ margin-left: .825rem; margin-right: .825rem; }html:not(.translated-ltr) .nav-links > a:first-child{ margin-left: auto; }html:not(.translated-ltr) .nav-links > a:last-of-type{ margin-right: auto; }}
.nav-signin .ns-name{ max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 780px){.nav-signin{ padding: 0.3rem; width: 40px; height: 40px; justify-content: center; border-radius: 50%; }.nav-signin .ns-text, .nav-signin .ns-name{ display: none; }.nav-links{ gap: 0.6rem; }}
.nav-lang{ position: relative; display: inline-flex; }
.nav-lang-btn{ display: inline-flex; align-items: center; justify-content: center; gap: .4rem; background: transparent; color: #fff; border: 1px solid rgba(201,162,39,.45); border-radius: 50%; width: 40px; height: 40px; padding: .3rem; font-size: .85rem; font-family: inherit; cursor: pointer; transition: border-color .2s, background .2s; }
.nav-lang-btn:hover, .nav-lang-btn[aria-expanded="true"]{ border-color: var(--gold); background: rgba(201,162,39,.1); }
.nav-lang-btn svg{ color: var(--gold-light); flex: none; }
.nav-lang-code{ display: none; }
.lang-menu{ position: absolute; right: 0; top: calc(100% + 8px); min-width: 172px; margin: 0; padding: .35rem; list-style: none; background: #0f2236; border: 1px solid rgba(201,162,39,.4); border-radius: 14px; box-shadow: 0 14px 34px rgba(0,0,0,.45); z-index: 120; }
.lang-menu[hidden]{ display: none; }
.lang-menu li{ padding: .55rem .8rem; border-radius: 9px; color: #fff; font-size: .92rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.lang-menu li:hover, .lang-menu li:focus-visible, .lang-menu li[aria-selected="true"]{ background: rgba(201,162,39,.14); color: var(--gold-light); outline: none; }
.lang-menu li[aria-selected="true"]::after{ content: "\2713"; }
@media (min-width: 781px){.nav-signin, .nav-signin .ns-text, .nav-cta{ white-space: nowrap; }}
@media (max-width: 480px){.nav-signin, .nav-lang-btn{ width: 36px; height: 36px; }.nav-logo{ font-size: 1.05rem; gap: .3rem; flex: none; }.nav-logo .logo-mark{ width: 28px; height: 28px; }.nav-links{ margin-left: auto; }.nav-cta{ padding: .5rem .8rem; font-size: .78rem; line-height: 1.15; }#mainNav, #mainNav.solid{ padding-left: 1rem; padding-right: 1rem; }.nav-links{ gap: .45rem; }}
@media (max-width: 420px){.nav-logo-text{ font-size: .82rem; }.nav-logo{ gap: .2rem; }.nav-signin, .nav-lang-btn{ width: 30px; height: 30px; }.nav-links{ gap: .2rem; }.nav-cta{ padding: .42rem .6rem; font-size: .7rem; }#mainNav, #mainNav.solid{ padding-left: .55rem; padding-right: .55rem; }}
@media (max-width: 340px){.nav-signin{ display: none; }.nav-lang-btn{ width: 30px; height: 30px; }.nav-links{ gap: .24rem; }.nav-cta{ padding: .38rem .55rem; font-size: .64rem; }#mainNav, #mainNav.solid{ padding-left: .5rem; padding-right: .5rem; }}
@media (max-width: 1500px){.nav-links{ gap: 1.55rem; }}
.nav-dest .nd-icon{ display: none; }
@media (max-width: 1120px){.nav-links a.nav-dest{ display: inline-flex !important; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border: 1px solid rgba(201,162,39,.45); border-radius: 50%; }.nav-links a.nav-dest:hover{ border-color: var(--gold); background: rgba(201,162,39,.1); }.nav-dest .nd-text{ display: none; }.nav-dest .nd-icon{ display: inline-flex; color: var(--gold-light); }body.sunny #mainNav.solid .nav-links a.nav-dest{ border-color: rgba(18,48,74,.28); }body.sunny #mainNav.solid .nav-dest .nd-icon{ color: #0e86b0; }body.sunny #mainNav.solid .nav-links a.nav-dest:hover{ background: rgba(14,134,176,.08); border-color: #0e86b0; }}
@media (max-width: 480px){.nav-links a.nav-dest{ width: 36px; height: 36px; }}
@media (max-width: 420px){.nav-links a.nav-dest{ width: 30px; height: 30px; }.nav-dest .nd-icon svg{ width: 15px; height: 15px; }}
@media (max-width: 480px){.nav-cta .nc-rest{ display: none; }}
@media (max-width: 1120px){.nav-links{ gap: .8rem; }}
@media (max-width: 780px){.nav-links{ gap: .5rem; }}
@media (max-width: 480px){.nav-links{ gap: .3rem; }}
@media (max-width: 420px){.nav-links{ gap: .2rem; }}
@media (max-width: 780px){.lang-menu{ right: -60px; }}
html.translated-ltr .nav-links{ gap: .9rem; }
html.translated-ltr .nav-links a{ font-size: .84rem; white-space: nowrap; }
html.translated-ltr .nav-signin .ns-text{ display: none; }
html.translated-ltr .nav-signin{ padding: .3rem; width: 40px; height: 40px; justify-content: center; border-radius: 50%; }
html.translated-ltr .nav-cta{ white-space: nowrap; font-size: .85rem; padding: .6rem 1.1rem; min-width: 0; max-width: 62vw; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 480px){html.translated-ltr .nav-cta{ font-size: .74rem; padding: .48rem .8rem; }}
@media (max-width: 380px){html.translated-ltr .nav-cta{ font-size: .64rem; padding: .4rem .6rem; }html.translated-ltr .nav-links{ gap: .4rem; }}
@media (max-width: 1360px){html.translated-ltr .nav-links a:not(.nav-cta-wrap){ display: none; }}
body .btn-primary, body .tlh-btn, body .tlv-btn, body .dc-btn, body .deals-more, body .deal-btn:not(.locked), body .nav-cta{
    background: linear-gradient(90deg, #c9a227, #f0d778); color: #0a1628; font-weight: 700; border: 0;
    box-shadow: 0 8px 20px rgba(201,162,39,.32); transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
  }
body .btn-primary:hover, body .tlh-btn:hover, body .tlv-btn:hover, body .dc-btn:hover, body .deals-more:hover, body .deal-btn:not(.locked):hover, body .nav-cta:hover{
    transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 12px 26px rgba(201,162,39,.4);
  }
body.sunny #mainNav.solid{ background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(18,48,74,.10); box-shadow: 0 4px 18px rgba(18,90,130,.10); }
body.sunny #mainNav.solid .nav-logo{ color: #12304a; }
body.sunny #mainNav.solid .nav-links a:not(.nav-cta){ color: #12304a; }
body.sunny #mainNav.solid .nav-links a:not(.nav-cta):hover{ color: #0e86b0; }
body.sunny #mainNav.solid .nav-signin, body.sunny #mainNav.solid .nav-lang-btn{ color: #12304a; border-color: rgba(18,48,74,.28); }
body.sunny #mainNav.solid .nav-lang-btn svg, body.sunny #mainNav.solid .nav-signin svg{ color: #0e86b0; }
body.sunny #mainNav.solid .nav-lang-btn:hover, body.sunny #mainNav.solid .nav-signin:hover{ background: rgba(14,134,176,.08); border-color: #0e86b0; }
body.sunny :is(.concierge-frame,.voy-modal,.cc-banner,.voy-menu,.voy-toast,.lang-menu,footer.site-footer){ color: #e8f0f7; }
body.pp > *:not(#mainNav):not(#partnersDirectory):not(footer):not(script):not(style):not(.world-strip):not(link):not(meta):not(noscript):not(#voyB):not(.chat-bubble){ display: none !important; }
.nav-live{ display: inline-flex !important; align-items: center; gap: .4rem; font-weight: 700; color: #0a1628 !important; background: linear-gradient(90deg, #c9a227, #f0d778); border-radius: 999px; padding: .28rem .8rem !important; text-shadow: none !important; white-space: nowrap; }
.nav-live::before{ content: ''; width: 8px; height: 8px; border-radius: 50%; background: #d92d2d; animation: tlhPulse 1.8s infinite; }
@media (max-width: 640px){#mainNav .nav-logo{ flex: 0 1 auto; min-width: 0; }#mainNav .nav-logo .logo-mark{ flex: none; }#mainNav .nav-logo-text{ min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }#mainNav .nav-links{ flex: 0 0 auto; }#mainNav .nav-links a.nav-live{ width: 36px; height: 36px; padding: 0 !important; gap: 0; justify-content: center; font-size: 0 !important; line-height: 0; flex: none; border-radius: 50%; }#mainNav .nav-links a.nav-live::before{ width: 9px; height: 9px; }#mainNav .nav-cta{ position: relative; flex: none; width: 36px; height: 36px; padding: 0 !important; max-width: none; border-radius: 12px; font-size: 0 !important; line-height: 0; overflow: hidden; }html.translated-ltr #mainNav .nav-cta{ max-width: none; padding: 0 !important; font-size: 0 !important; }#mainNav .nav-cta .nc-rest{ display: none; }#mainNav .nav-cta::after{ content: "\2192"; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; line-height: 1; color: #0a1628; }}
@media (max-width: 420px){#mainNav .nav-links a.nav-live, #mainNav .nav-cta{ width: 30px; height: 30px; }#mainNav .nav-cta{ border-radius: 10px; }#mainNav .nav-cta::after{ font-size: 16px; }}
@media (max-width: 21em){#mainNav #themeBtn{ display: none; }}
@media (min-width: 641px) and (max-width: 1360px){#mainNav .nav-links > a:not(.nav-dest):not(.nav-live){ display: none; }}
/* subpages: the menu sits in the page flow height; the old thin bar is gone */
body.has-site-nav{padding-top:var(--site-nav-h,70px)}
body.has-site-nav>.bar,body.has-site-nav>header.bar,body.has-site-nav>.top{display:none!important}