/* 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; }
}
