/* Navigation colours and typography match the active Lagom portal theme. */
.pt-header,
.pt-utility-bar {
    font-family: Roboto, sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #5e636e;
    background: #fff;
    border-color: #e9eaec;
}
.pt-header {
    box-shadow: none;
}
.pt-header .pt-menu a,
.pt-header .pt-menu button {
    font: 400 14px/1.5 Roboto, sans-serif;
    color: #5e636e;
}
.pt-header .pt-menu a:hover,
.pt-header .pt-menu a:focus-visible,
.pt-header .pt-menu button:hover,
.pt-header .pt-menu button:focus-visible {
    color: #25a75b;
    background: transparent;
}
.pt-header .pt-menu i,
.pt-header .pt-menu-toggle,
.pt-utility-bar i {
    color: #acafb9;
}
.pt-header .pt-menu a:hover i,
.pt-header .pt-menu a:focus-visible i,
.pt-header .pt-menu button:hover i,
.pt-header .pt-menu button:focus-visible i,
.pt-header .pt-menu-toggle:hover,
.pt-header .pt-menu-toggle:focus-visible,
.pt-utility-bar a:hover,
.pt-utility-bar a:focus-visible {
    color: #25a75b;
}
.pt-header .pt-nav-actions .pt-btn {
    font: 500 14px/1.5 Roboto, sans-serif;
}
.pt-header .pt-nav-actions .pt-btn-outline {
    color: #25a75b;
    border-color: #25a75b;
    background: #fff;
}
.pt-header .pt-nav-actions .pt-btn-primary {
    color: #fff;
    border-color: #25a75b;
    background: #25a75b;
}
.pt-header .pt-nav-actions .pt-btn-outline:hover,
.pt-header .pt-nav-actions .pt-btn-outline:focus-visible {
    color: #22723d;
    border-color: #22723d;
    background: #e7f8ed;
}
.pt-header .pt-nav-actions .pt-btn-primary:hover,
.pt-header .pt-nav-actions .pt-btn-primary:focus-visible {
    border-color: #22723d;
    background: #22723d;
}

/* Keep navigation text at the requested size, including existing mobile overrides. */
.pt-header .pt-menu a,
.pt-header .pt-menu button,
.pt-header .pt-nav-actions .pt-btn,
.pt-utility-bar,
.pt-utility-bar span,
.pt-utility-bar a,
.pt-utility-bar b {
    font-family: Roboto, sans-serif !important;
    font-size: 14px !important;
}

/* Portal spacing: 8px base unit, 24px gutters, 16px navigation padding. */
.pt-header {
    height: 74px;
}
.pt-header .pt-nav-wrap {
    width: 100% !important;
    max-width: 1312px;
    padding: 0 24px;
    margin: 0 auto;
}
.pt-header .pt-nav {
    gap: 16px;
}
.pt-header .pt-menu {
    gap: 0;
}
.pt-header .pt-menu > li > a,
.pt-header .pt-menu > li > button {
    min-height: 74px;
    padding: 16px !important;
    line-height: 24px;
    gap: 10px;
    border-radius: 0;
}
.pt-header .pt-dropdown > ul {
    min-width: 250px;
    padding: 8px 0;
    border-radius: 4px;
    border-color: #e9eaec;
}
.pt-header .pt-dropdown > ul a {
    padding: 8px 16px !important;
    line-height: 24px;
    border-radius: 0;
}
.pt-header .pt-nav-actions {
    gap: 8px;
}
.pt-header .pt-nav-actions .pt-btn {
    min-height: 40px;
    padding: 8px 16px;
    line-height: 24px;
    border-radius: 4px;
}
.pt-utility-bar {
    min-height: 36px !important;
    padding: 6px max(24px, calc((100% - 1264px) / 2)) !important;
    gap: 8px !important;
    line-height: 24px;
}
.pt-utility-bar > a,
.pt-utility-bar > span {
    padding: 0 8px;
}
.pt-utility-bar i {
    margin-right: 10px;
}
@media (max-width: 1280px) {
    .pt-header .pt-menu-toggle { display: block; }
    .pt-header .pt-nav {
        display: none;
        position: fixed;
        top: 110px;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        align-items: stretch;
        flex-direction: column;
        padding: 16px 24px 24px;
        background: #fff;
        border-bottom: 1px solid #e9eaec;
    }
    .pt-header .pt-nav.is-open { display: flex; }
    .pt-header .pt-menu { flex-direction: column; align-items: stretch; }
    .pt-header .pt-menu > li > a,
    .pt-header .pt-menu > li > button {
        width: 100%;
        min-height: 48px;
        padding: 12px 16px !important;
        justify-content: space-between;
    }
    .pt-header .pt-dropdown > ul {
        position: static;
        display: none;
        min-width: 0;
        box-shadow: none;
    }
    .pt-header .pt-dropdown:not(.is-open):hover > ul,
    .pt-header .pt-dropdown:not(.is-open):focus-within > ul { display: none; }
    .pt-header .pt-dropdown.is-open > ul { display: block; }
    .pt-header .pt-nav-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .pt-header .pt-nav-actions .pt-btn-outline { display: inline-flex; }
}
@media (max-width: 600px) {
    .pt-header .pt-nav-wrap { padding: 0 16px; }
    .pt-utility-bar { padding: 6px 16px !important; }
    .pt-utility-bar > span:first-child { display: none; }
    .pt-utility-bar > a,
    .pt-utility-bar > span { padding: 0; }
}


/* The same icon fonts used by the portal, served locally. */
@font-face { font-family: lagom-small-icons; src: url("/assets/fonts/lagom-small-icons.woff") format("woff"); font-weight: 400; font-style: normal; font-display: block; }
.pt-header .ls { font-family: lagom-small-icons !important; font-style: normal; font-weight: 400; line-height: 1; }
@font-face { font-family: lagom-medium-icons; src: url("/assets/fonts/lagom-medium-icons.woff") format("woff"); font-weight: 400; font-style: normal; font-display: block; }
.pt-header .lm { font-family: lagom-medium-icons !important; font-style: normal; font-weight: 400; line-height: 1; }
.lm-globe::before { content: "\e913"; }
.ls-apps::before { content: "\e947"; }
.ls-chat-clouds::before { content: "\e952"; }
.ls-configure::before { content: "\e913"; }
.ls-document::before { content: "\e91a"; }
.ls-envelope::before { content: "\e91e"; }
.ls-home::before { content: "\e923"; }
.ls-hosting::before { content: "\e924"; }
.ls-info-circle::before { content: "\e927"; }
.ls-input-code::before { content: "\e928"; }
.ls-like::before { content: "\e92a"; }
.ls-sitebuilder::before { content: "\e965"; }
.ls-smartphone::before { content: "\e938"; }
.ls-ticket::before { content: "\e95e"; }
.ls-user::before { content: "\e942"; }
.ls-voice::before { content: "\e960"; }
.pt-header .pt-menu .pt-menu-icon { display: inline-block; flex: 0 0 16px; width: 16px; font-size: 16px; text-align: center; }
.pt-header .pt-nav-wrap { max-width: 1600px; }
@media (max-width: 1280px) {
    .pt-header .pt-menu > li > a,
    .pt-header .pt-menu > li > button { justify-content: flex-start; }
    .pt-header .pt-dropdown > button > .fa-chevron-down { margin-left: auto; }
}

/* Fit the full desktop menu and both actions on laptop screens. */
.pt-header .pt-nav { min-width: 0; }
@media (min-width: 1281px) and (max-width: 1600px) {
    .pt-header .pt-nav-wrap { padding-inline: 16px; }
    .pt-header .pt-nav { gap: 8px; }
    .pt-header .pt-menu > li > a,
    .pt-header .pt-menu > li > button {
        padding-inline: 6px !important;
        gap: 6px;
    }
    .pt-header .pt-nav-actions .pt-btn { padding-inline: 12px; }
}

/* Balance the desktop header within the same gutters as the page content. */
.pt-header .pt-nav-wrap { max-width: 1312px; }
@media (min-width: 1281px) {
    .pt-header .pt-nav-wrap { gap: 24px; }
    .pt-header .pt-nav {
        justify-content: space-between;
        gap: 16px;
    }
    .pt-header .pt-menu { flex: 0 0 auto; }
    .pt-header .pt-nav-actions { margin-left: auto; }
}
