.member-tools {display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;}
.member-tools form {margin:0;padding:0;display:flex;}
.member-tools a,.member-tools button {display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:0;border:0;background:transparent;color:#33455f;line-height:1.4;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:none;}
.member-tools img {display:block;width:18px!important;height:18px!important;object-fit:contain;mix-blend-mode:multiply;flex:none;}
.member-tools a:hover,.member-tools button:hover {color:#0054b8;background:transparent;}
.member-tools a:focus-visible,.member-tools button:focus-visible {outline:2px solid #2267c2;outline-offset:4px;border-radius:3px;}
@media(max-width:1024px){
 .jh-navigation .member-tools{margin-top:20px;padding-top:12px;border-top:1px solid #e5eaf1;justify-content:flex-start;gap:18px;}
 .jh-navigation .member-tools a,.jh-navigation .member-tools button{min-height:44px;}
}
.site-login:has(.member-tools){flex-wrap:wrap;}
.mb-site-header:has(.member-tools){flex-wrap:wrap;gap:12px;}
@media(max-width:480px){.member-tools{gap:12px;}.member-tools a,.member-tools button{font-size:11px;}.mb-site-header .member-tools{width:100%;}}

/* Preserve the brand; guest sign-in is a secondary action, not a tiny utility label.
   Design variance 3 / motion 2 / density 4. Existing member tools are unchanged. */
.member-tools--guest a {
 min-height:44px;padding:0 18px;gap:8px;border:1px solid #c6d2e3;border-radius:8px;
 background:#fff;color:#163763;font-size:14px;font-weight:700;
}
.member-tools--guest a:hover {background:#edf3fb;border-color:#163763;color:#163763;}
.member-tools--guest a:active {background:#e0eafb;}
.jh-header-login{flex:none;margin-left:20px;}
/* Reserve real space for every item; utility controls stay at the right edge. */
.jh-header .jh-navigation>a{white-space:nowrap;flex-shrink:0;}
.jh-header .jh-nav-cta-label{white-space:nowrap;}
@media(min-width:1361px){
 .jh-header:has(.member-tools--guest) .jh-header-inner{width:calc(100% - 48px);gap:24px;}
 .jh-header:has(.member-tools--guest) .jh-brand img{width:170px;}
 .jh-header:has(.jh-header-login) .jh-navigation{position:absolute;left:var(--jh-menu-shift,0px);right:calc(-1 * var(--jh-menu-shift,0px));top:0;height:100%;width:max-content;padding-top:0;gap:18px;margin:0 auto;}
 .jh-header:has(.jh-header-login) .jh-navigation>a{font-size:16px;}
 .jh-header:has(.jh-header-login) .jh-navigation>a.jh-nav-cta:not(.jh-nav-cta--booking):not(.jh-nav-cta--scout){margin-left:32px;}
 .jh-header:has(.jh-header-login) .jh-navigation .jh-nav-cta{padding-inline:16px;}
}
@media(max-width:1360px){
 .jh-header:has(.member-tools--guest),.jh-header.is-scrolled:has(.member-tools--guest){height:76px;}
 .jh-header:has(.member-tools--guest) .jh-menu-toggle{position:relative;display:block;margin-left:auto;}
 .jh-header:has(.jh-header-login) .jh-navigation{
  position:fixed;z-index:999;top:76px;right:0;left:0;display:flex;
  max-height:calc(100dvh - 76px);align-items:stretch;padding:22px 24px 30px;
  overflow-y:auto;visibility:hidden;background:#fff;border-top:1px solid #e5eaf1;
  box-shadow:0 24px 42px rgba(0,27,82,.13);flex-direction:column;gap:0;
  opacity:0;pointer-events:none;transform:translateY(-12px);
 }
 .jh-header.is-menu-open:has(.jh-header-login) .jh-navigation{visibility:visible;opacity:1;pointer-events:auto;transform:none;}
 .jh-header:has(.jh-header-login) .jh-navigation>a{display:flex;min-height:54px;align-items:center;padding:0 4px;border-bottom:1px solid #edf1f6;font-size:16px;}
 .jh-header:has(.jh-header-login) .jh-navigation>a:not(.jh-nav-cta)::after{display:none;}
 .jh-header:has(.jh-header-login) .jh-navigation .jh-nav-cta{min-height:54px;margin-top:12px;border-bottom:0;}
 .jh-header-login{margin-left:12px;}
 .jh-header-login .member-tools--guest a{padding-inline:12px;font-size:13px;}
}
@media(max-width:390px){
 .jh-header:has(.jh-header-login) .jh-brand img{width:130px;}
 .jh-header-login{margin-left:8px;}
 .jh-header-login .member-tools--guest a{padding-inline:10px;gap:4px;}
}

.jh-navigation .jh-nav-cta--booking{background:#edf3fb;color:#183f7c;border:1px solid #b8cbea;box-shadow:none;animation:none;white-space:nowrap;}
.jh-navigation .jh-nav-cta--booking::before{display:none;}
.jh-navigation .jh-nav-cta--booking .jh-nav-cta-label{animation:none;}
.jh-navigation .jh-nav-cta--booking:hover,.jh-navigation .jh-nav-cta--booking.is-active{background:#dfeafa;color:#15386c;}
/* Authenticated navigation: full-size controls, vertically aligned with the header. */
.jh-navigation .member-tools:not(.member-tools--guest){gap:4px;flex-wrap:nowrap;}
.jh-navigation .member-tools:not(.member-tools--guest) a,
.jh-navigation .member-tools:not(.member-tools--guest) button{
 min-height:44px;padding:0 10px;font-size:13px;border-radius:8px;
}
.jh-navigation .member-tools:not(.member-tools--guest) a:hover,
.jh-navigation .member-tools:not(.member-tools--guest) button:hover{background:#edf3fb;}
.jh-navigation .member-tools:not(.member-tools--guest)>a:first-child{background:#f0f5fc;color:#163763;}
.jh-navigation .member-tools:not(.member-tools--guest) form{border-left:1px solid #dce4ef;margin-left:4px;padding-left:4px;}
@media(min-width:1361px){
 .jh-header:has(.jh-navigation .member-tools) .jh-header-inner{width:calc(100% - 48px);gap:24px;}
 .jh-header:has(.jh-navigation .member-tools) .jh-brand img{width:160px;}
 .jh-navigation:has(.member-tools){position:absolute;left:var(--jh-menu-shift,0px);right:calc(-1 * var(--jh-menu-shift,0px));top:0;height:100%;width:max-content;gap:16px;margin:0 auto;}
 .jh-navigation:has(.member-tools)>a{font-size:16px;}
 .jh-navigation:has(.member-tools)>a.jh-nav-cta:not(.jh-nav-cta--booking):not(.jh-nav-cta--scout){margin-left:32px;}
 .jh-navigation:has(.member-tools) .jh-nav-cta{padding-inline:14px;}
 .jh-navigation .member-tools{position:fixed;right:24px;top:0;height:88px;padding-left:12px;border-left:1px solid #e5eaf1;}
 .jh-header.is-scrolled .jh-navigation .member-tools{height:76px;}
}
@media(max-width:1360px){
 .jh-header:has(.jh-navigation .member-tools),.jh-header.is-scrolled:has(.jh-navigation .member-tools){height:76px;}
 .jh-header:has(.jh-navigation .member-tools) .jh-menu-toggle{display:block;position:relative;}
 .jh-navigation:has(.member-tools){position:fixed;top:76px;left:0;right:0;max-height:calc(100dvh - 76px);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:22px 24px 30px;background:#fff;border-top:1px solid #e5eaf1;box-shadow:0 24px 42px rgba(0,27,82,.13);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px);}
 .jh-header.is-menu-open .jh-navigation:has(.member-tools){visibility:visible;opacity:1;pointer-events:auto;transform:none;}
 .jh-navigation:has(.member-tools)>a{display:flex;min-height:54px;align-items:center;padding:0 4px;border-bottom:1px solid #edf1f6;font-size:16px;}
 .jh-navigation:has(.member-tools)>a:not(.jh-nav-cta)::after{display:none;}
 .jh-navigation:has(.member-tools) .jh-nav-cta{min-height:54px;margin-top:12px;border-bottom:0;}
 .jh-navigation .member-tools{position:static;margin-top:16px;padding-top:16px;border-top:1px solid #e5eaf1;justify-content:flex-end;}
}
@media(max-width:390px){
 .jh-navigation .member-tools:not(.member-tools--guest){justify-content:space-between;gap:0;}
 .jh-navigation .member-tools:not(.member-tools--guest) a,.jh-navigation .member-tools:not(.member-tools--guest) button{font-size:12px;padding-inline:5px;gap:4px;}
 .jh-navigation .member-tools:not(.member-tools--guest) form{margin-left:0;padding-left:3px;}
}

/* PC public header: centered primary menu and compact utility actions. */
.jh-header-login{display:flex;align-items:center;justify-content:flex-end;gap:0;}
.jh-header-booking{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 14px;color:#163763;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap;}
.jh-header-booking img{display:block;width:18px;height:18px;object-fit:contain;mix-blend-mode:multiply;}
.jh-header-utility-divider{width:1px;height:22px;margin:0 4px;background:#cfd8e5;flex:none;}
.jh-header-login .member-tools--guest{gap:0;flex-wrap:nowrap;}
.jh-header-login .member-tools--guest a{min-height:44px;padding:0 14px;border:0;border-radius:0;background:transparent;color:#163763;font-size:14px;font-weight:700;box-shadow:none;}
.jh-header-booking:hover,.jh-header-login .member-tools--guest a:hover{border:0;background:transparent;color:#0054b8;}
.jh-header-booking:focus-visible{outline:2px solid #2267c2;outline-offset:4px;border-radius:3px;}

@media(min-width:1361px){
 .jh-header:has(.jh-header-login) .jh-header-inner{position:relative;width:calc(100% - 48px);max-width:none;}
 .jh-header:has(.jh-header-login) .jh-navigation{left:50%;right:auto;transform:translateX(-50%);}
 .jh-header:has(.jh-header-login) .jh-navigation>.jh-nav-cta--booking{display:none;}
 .jh-header:has(.jh-header-login) .jh-header-login{position:absolute;right:0;top:0;height:100%;margin:0;}
}
@media(min-width:1361px){
 .jh-navigation:has(.member-tools){left:50%;right:auto;transform:translateX(-50%);}
}
@media(max-width:1360px){
 .jh-header-booking,.jh-header-utility-divider{display:none;}
}

/* Authenticated PC header: account controls must not participate in nav centering. */
.jh-navigation-account-mobile{display:none;}
.jh-header-login--account .member-tools{gap:6px;flex-wrap:nowrap;}
.jh-header-login--account .member-tools a,
.jh-header-login--account .member-tools button{min-height:44px;padding:0 8px;font-size:13px;}
.jh-header-login--account .member-tools form{margin-left:2px;padding-left:8px;border-left:1px solid #dce4ef;}
.jh-header-login--account .member-tools a:hover,
.jh-header-login--account .member-tools button:hover{background:#edf3fb;border-radius:6px;}

@media(min-width:1361px){
 .jh-header:has(.jh-header-login--account) .jh-header-inner{position:relative;width:calc(100% - 48px);max-width:none;gap:24px;}
 .jh-header:has(.jh-header-login--account) .jh-brand img{width:150px;}
 .jh-header:has(.jh-header-login--account) .jh-navigation{position:absolute;left:50%;right:auto;top:0;width:max-content;height:100%;margin:0;gap:10px;transform:translateX(-50%);}
 .jh-header:has(.jh-header-login--account) .jh-navigation>a{font-size:15px;}
 .jh-header:has(.jh-header-login--account) .jh-navigation>a.jh-nav-cta:not(.jh-nav-cta--booking):not(.jh-nav-cta--scout){margin-left:20px;}
 .jh-header:has(.jh-header-login--account) .jh-navigation .jh-nav-cta{padding-inline:10px;}
 .jh-header-login--account{position:absolute;right:0;top:0;height:100%;margin:0;}
}

@media(max-width:1360px){
 .jh-navigation-account-mobile{display:block;}
 .jh-header-login--account{display:none;}
}
