/* Shared website header. Scoped to avoid changing WHMCS forms, toolbars, and account navigation. */
#whz-site-header {
    position: relative;
    z-index: 111;
    background: #fff;
    color: #2a2a2a;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
}
#whz-site-header * { box-sizing: border-box; }
#whz-site-header .whz-header-inner {
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 80px;
    /* 1440px of content plus the two 40px desktop gutters. */
    max-width: 1520px;
    padding: 0 40px;
    margin: 0 auto;
}
#whz-site-header .whz-site-logo {
    display: block;
    flex: 0 1 266px;
    min-width: 0;
    max-width: 266px;
}
#whz-site-header .whz-site-logo img { display: block; width: 100%; height: auto; max-height: 48px; }
#whz-site-header .whz-site-nav { margin-left: auto; flex-shrink: 0; }
#whz-site-header ul { list-style: none; padding: 0; margin: 0; }
#whz-site-header .whz-primary-menu { display: flex; align-items: center; }
#whz-site-header .whz-primary-menu > .whz-menu-item { flex-shrink: 0; }
#whz-site-header .whz-menu-item { position: relative; display: flex; flex-wrap: wrap; align-items: center; margin: 0; }
#whz-site-header button { border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; box-shadow: none; cursor: pointer; }
#whz-site-header button::before { display: none; }
#whz-site-header .whz-nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 80px;
    padding: 12px 16px;
    margin: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    text-decoration: none;
    overflow-wrap: anywhere;
}
#whz-site-header .whz-nav-link img { flex-shrink: 0; }
#whz-site-header .whz-nav-link:hover,
#whz-site-header .whz-submenu-toggle:hover { background: #eee; color: #000; }
#whz-site-header a:focus-visible,
#whz-site-header button:focus-visible { outline: 2px solid #0e5077 !important; outline-offset: -2px; }
#whz-site-header .whz-chevron { display: inline-block; flex-shrink: 0; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); margin: -4px 2px 0 4px; }
#whz-site-header .whz-icon-toggle { align-self: stretch; min-width: 32px; padding: 8px; margin-left: -12px; }
#whz-site-header .whz-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2;
    min-width: 230px;
    max-width: 320px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
#whz-site-header .whz-submenu .whz-nav-link { flex: 1; min-height: 44px; padding: 10px 16px; }
#whz-site-header .whz-submenu .whz-submenu { left: 100%; top: 0; }
#whz-site-header .whz-primary-menu > .whz-flip > .whz-submenu { left: auto; right: 0; }
#whz-site-header .whz-submenu > .whz-flip > .whz-submenu { left: auto; right: 100%; }
#whz-site-header .whz-language-item > .whz-submenu { left: auto; right: 0; max-height: 65vh; overflow-y: auto; }
#whz-site-header .is-open > .whz-submenu,
#whz-site-header:not(.whz-nav-ready) .whz-menu-item:hover > .whz-submenu,
#whz-site-header:not(.whz-nav-ready) .whz-menu-item:focus-within > .whz-submenu { display: block; }
#whz-site-header .whz-nav-toggle { display: none; width: 44px; height: 44px; padding: 10px; }
#whz-site-header .whz-hamburger { display: block; position: relative; height: 2px; background: currentColor; }
#whz-site-header .whz-hamburger::before,
#whz-site-header .whz-hamburger::after { content: ''; position: absolute; left: 0; width: 100%; height: 2px; background: currentColor; }
#whz-site-header .whz-hamburger::before { top: -7px; }
#whz-site-header .whz-hamburger::after { top: 7px; }
#whz-site-header.whz-menu-collapsed .whz-header-inner { padding: 0 20px; gap: 20px; }
#whz-site-header.whz-menu-collapsed .whz-nav-toggle { display: block; }
#whz-site-header.whz-menu-collapsed.whz-nav-ready .whz-primary-menu {
    display: none;
    position: fixed;
    top: var(--whz-menu-top, 80px);
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    overflow: auto;
    padding: 16px 20px;
    background: #fff;
    -webkit-overflow-scrolling: touch;
}
#whz-site-header.whz-menu-collapsed.whz-nav-open .whz-primary-menu { display: block; }
#whz-site-header.whz-menu-collapsed .whz-nav-link { flex: 1; min-height: 48px; padding: 12px; }
#whz-site-header.whz-menu-collapsed .whz-submenu,
#whz-site-header.whz-menu-collapsed .whz-submenu .whz-submenu {
    position: static;
    flex-basis: 100%;
    min-width: 0;
    max-width: 100%;
    margin-left: 12px;
    border-left: 1px solid #eee;
    box-shadow: none;
}
#whz-site-header.whz-menu-collapsed .whz-language-item > .whz-submenu { max-height: none; overflow: visible; }
#whz-site-header.whz-menu-collapsed .whz-icon-toggle { min-width: 44px; margin-left: 0; }

@media (max-width: 1199px) {
    /* Without JavaScript, links and submenus remain accessible in document flow. */
    #whz-site-header:not(.whz-nav-ready) .whz-header-inner { flex-wrap: wrap; }
    #whz-site-header:not(.whz-nav-ready) .whz-site-nav { flex-basis: 100%; }
    #whz-site-header:not(.whz-nav-ready) .whz-primary-menu,
    #whz-site-header:not(.whz-nav-ready) .whz-submenu { display: block; position: static; }
}
