/* Public navigation: one consistent header across Elementor pages. */
body:not(.gq-dashboard-page) #site-header.gq-public-header{position:relative;z-index:100;background:var(--e-global-color-gqwhite,#fff)!important;padding:16px 0!important;border-bottom:1px solid #eeedf2}
#site-header .gq-public-header-inner{max-width:1320px;margin:auto;padding:0 32px;display:flex;flex-wrap:nowrap;align-items:center;gap:32px}
#site-header .site-logo{flex:0 0 98px;line-height:0}
#site-header .site-logo img.custom-logo{width:98px!important;height:auto;filter:brightness(0)}
#site-header #gq-main-navigation{width:auto;order:initial;flex:1;min-width:0}
#site-header .gq-public-menu{display:flex;justify-content:center;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
#site-header .gq-public-menu>li{position:relative;display:flex;align-items:center;gap:0;border:0;border-radius:12px}
#site-header .gq-public-menu>li>a{display:block;padding:12px 13px;color:#20263c;font-size:15px;font-weight:600;line-height:24px;white-space:nowrap;text-decoration:none}
#site-header .gq-public-menu>li.menu-item-has-children>a{padding-right:3px}
#site-header .gq-public-menu>li:hover,#site-header .gq-public-menu>li.is-expanded{background:#f7f5f1}
#site-header .gq-public-menu>li.current-menu-item>a,#site-header .gq-public-menu>li.current-menu-ancestor>a{color:#aa503c}
#site-header .gq-submenu-toggle{display:flex;align-items:center;justify-content:center;padding:0;margin:0 4px 0 0;width:32px;min-width:32px;height:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:#54596a;cursor:pointer}
#site-header .gq-submenu-toggle svg{width:15px;height:15px;transition:transform .18s ease}
#site-header .is-expanded>.gq-submenu-toggle svg{transform:rotate(180deg)}
#site-header .gq-submenu-toggle:hover{background:#eeebe5}
#site-header .gq-public-menu .sub-menu{display:none;position:absolute;top:calc(100% + 12px);left:0;min-width:262px;width:max-content;max-width:520px;max-height:70vh;overflow:auto;list-style:none;margin:0;padding:10px;border:1px solid #eeece7;border-radius:18px;background:var(--e-global-color-gqwhite,#fff);box-shadow:0 18px 48px rgba(25,30,52,.12)}
#site-header .gq-public-menu .is-expanded>.sub-menu{display:grid;gap:3px}
#site-header .gq-public-menu .gq-submenu-wide>.sub-menu{grid-template-columns:repeat(2,minmax(0,1fr));width:510px;left:-110px}
#site-header .sub-menu li{margin:0;padding:0;list-style:none}
#site-header .gq-public-menu .sub-menu a{display:block;padding:12px 14px;border-radius:10px;color:#353b4f;font-size:14px;font-weight:500;line-height:1.45;text-decoration:none;white-space:normal}
#site-header .gq-public-menu .sub-menu a:hover,#site-header .sub-menu .current-menu-item>a{background:#faf0e9;color:#aa503c}
#site-header .gq-public-account{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;white-space:nowrap;padding:13px 19px;border:1px solid #192039;border-radius:12px;background:#192039;color:var(--e-global-color-gqwhite,#fff)!important;font-size:13px;font-weight:600;line-height:22px;text-decoration:none;box-shadow:0 3px 8px #19203912}
#site-header .gq-public-account:hover{background:#303954;border-color:#303954}
#site-header .gq-public-account svg{width:16px;height:16px}
#site-header .gq-menu-toggle{display:none}
#site-header a:focus-visible,#site-header button:focus-visible{outline:3px solid var(--e-global-color-accent,#bd624c);outline-offset:3px}
/* Without JavaScript, all destinations remain reachable. */
#site-header:not(.gq-navigation-ready) .menu-item-has-children:hover>.sub-menu,#site-header:not(.gq-navigation-ready) .menu-item-has-children:focus-within>.sub-menu{display:grid}
@media(max-width:1100px){#site-header .gq-public-header-inner{padding:0 24px;gap:18px}#site-header .gq-public-menu>li>a{font-size:14px;padding-left:10px;padding-right:10px}#site-header .gq-public-menu{gap:0}}
@media(max-width:980px){
 #site-header .gq-public-header-inner{flex-wrap:wrap;gap:12px}
 #site-header .site-logo{margin-right:auto}
 #site-header .gq-menu-toggle{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #e5e5eb;border-radius:12px;background:var(--e-global-color-gqwhite,#fff);color:#192039;font-size:13px;font-weight:600;line-height:22px}
 #site-header .gq-menu-toggle svg{width:19px;height:19px}
 #site-header #gq-main-navigation{display:none;order:4;flex:0 0 100%;width:100%;padding-top:10px;border-top:1px solid #eeedf2}
 #site-header.gq-navigation-ready #gq-main-navigation{display:none}
 #site-header.gq-navigation-ready #gq-main-navigation.is-open{display:block}
 #site-header .gq-public-menu{display:block}
 #site-header .gq-public-menu>li{flex-wrap:wrap;justify-content:space-between;border-radius:10px;margin:3px 0}
 #site-header .gq-public-menu>li>a{flex:1;padding:12px 14px;font-size:16px}
 #site-header .gq-submenu-toggle{width:44px;margin-right:4px}
 #site-header .gq-public-menu .sub-menu,#site-header .gq-public-menu .gq-submenu-wide>.sub-menu{position:static;flex:0 0 100%;width:100%;min-width:0;max-width:none;max-height:none;grid-template-columns:1fr;box-shadow:none;border:0;border-radius:10px;background:#f8f7f4;padding:6px}
 #site-header .gq-public-menu .sub-menu a{padding:12px 16px}
}
@media(max-width:480px){body:not(.gq-dashboard-page) #site-header.gq-public-header{padding:13px 0!important}#site-header .gq-public-header-inner{padding:0 16px;gap:8px}#site-header .site-logo{flex-basis:82px}#site-header .site-logo img.custom-logo{width:82px!important}#site-header .gq-public-account{padding:10px 12px;font-size:12px;gap:6px}#site-header .gq-public-account svg{display:none}#site-header .gq-menu-toggle{padding:10px;font-size:12px;gap:6px}}
@media(prefers-reduced-motion:reduce){#site-header .gq-submenu-toggle svg{transition:none}}
@media(min-width:981px) and (max-width:1200px){#site-header .gq-public-header-inner{gap:12px;padding-left:20px;padding-right:20px}#site-header .gq-public-menu>li>a{font-size:13px;padding-left:8px;padding-right:8px}#site-header .gq-public-account{padding:11px 13px;font-size:12px}#site-header .gq-submenu-toggle{width:26px;min-width:26px}}
/* Match each page container, with gutters outside its content width. */
body:not(.gq-dashboard-page) #site-header .gq-public-header-inner{box-sizing:border-box;width:100%;max-width:calc(var(--gq-header-content-width,1160px) + 48px);padding-inline:24px;margin-inline:auto}
@media(max-width:767px){body:not(.gq-dashboard-page) #site-header .gq-public-header-inner{padding-inline:18px}}
/* Transparent at the hero, readable and sticky throughout the page. */
body:not(.gq-dashboard-page) #site-header.gq-public-header{position:sticky;top:var(--gq-admin-offset,0px);z-index:1000;background:rgba(255,255,255,.96)!important;border-bottom-color:transparent;transition:background .2s,box-shadow .2s,border-color .2s}
body:not(.gq-dashboard-page) #site-header.gq-header-scrolled,
body:not(.gq-dashboard-page) #site-header:has(#gq-main-navigation.is-open){background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 5px 22px rgb(24 36 60 / 7%);border-bottom-color:#18243c0d}
html{scroll-padding-top:calc(var(--gq-header-height,84px) + var(--gq-admin-offset,0px) + 24px)}
@media(max-width:980px){#site-header #gq-main-navigation.is-open{max-height:calc(100dvh - var(--gq-header-height,84px) - var(--gq-admin-offset,0px) - 16px);overflow-y:auto;overscroll-behavior:contain}}
@media(min-width:1025px) and (min-height:600px){
 body:not(.gq-dashboard-page) .gq-subtravel-side-title>.elementor-widget-wrap,
 body:not(.gq-dashboard-page) .gq-backpacker-sticky-photo .gq-family-feature-photo>.elementor-widget-wrap{top:calc(var(--gq-header-height,84px) + var(--gq-admin-offset,0px) + 24px)}
}
@media(prefers-reduced-motion:reduce){body:not(.gq-dashboard-page) #site-header.gq-public-header{transition:none}}
@media(min-width:1025px) and (min-height:600px){
 body.gq-sticky-header-active .gq-subtravel-side-title>.elementor-widget-wrap,
 body.gq-sticky-header-active .gq-backpacker-sticky-photo .gq-family-feature-photo>.elementor-widget-wrap{top:calc(var(--gq-header-height,84px) + var(--gq-admin-offset,0px) + 24px)!important}
 body.gq-sticky-header-active .gq-backpacker-sticky-photo .gq-family-feature-photo img{max-height:calc(100dvh - var(--gq-header-height,84px) - var(--gq-admin-offset,0px) - 48px)}
}


/* Use the rendered page container edges, without adding another set of gutters. */
body:not(.gq-dashboard-page) #site-header .gq-public-header-inner.gq-header-container-aligned{width:var(--gq-header-container-width);max-width:none;padding-inline:0}

/* Paint the header on the hero from the first frame, before navigation JS runs. */
body:not(.gq-dashboard-page):has(.gq-reference-hero, .gq-studio-hero, .gq-post-hero) #site-header.gq-public-header{background:transparent!important}
body:not(.gq-dashboard-page):has(.gq-reference-hero, .gq-studio-hero, .gq-post-hero) #site-header.gq-header-scrolled,
body:not(.gq-dashboard-page):has(.gq-reference-hero, .gq-studio-hero, .gq-post-hero) #site-header:has(#gq-main-navigation.is-open){background:rgba(255,255,255,.96)!important}

/* Extend the hero backdrop under the in-flow header during initial layout. */
body:not(.gq-dashboard-page):has(.gq-studio-hero){background:linear-gradient(115deg,var(--e-global-color-gqheropeach,#fff2e6),var(--e-global-color-gqwhite,#fff) 75%) top/100% 180px no-repeat,#fff}
body.single-post:has(.gq-post-hero){background:linear-gradient(#f8f4ee,#f8f4ee) top/100% 180px no-repeat,#fff}

/* Keep the logo's intrinsic ratio even if a cache plugin inserts a placeholder. */
#site-header .site-logo .custom-logo-link{display:block;line-height:0}
#site-header .site-logo img.custom-logo{display:block;object-fit:contain}

/* All public pages use a transparent header at the top, not only selected hero templates. */
body:not(.gq-dashboard-page) #site-header.gq-public-header:not(.gq-header-scrolled):not(:has(#gq-main-navigation.is-open)){
 background:transparent!important;border-bottom-color:transparent;box-shadow:none;
}

/* Continue the interior hero background behind the transparent header. */
body:not(.home):not(.gq-dashboard-page):has(.gq-reference-hero,.gq-compact-hero,.gq-page-hero,.gq-post-hero,.gqhc){
 background:var(--e-global-color-gqcream,#f8f4ee);
}
