
/* AFME Navigation 2.1 */

:root {
    --afme-nav-navy:#0f2f50;
    --afme-nav-yellow:#ffc800;
    --afme-nav-text:#102c49;
    --afme-nav-muted:#66788b;
    --afme-nav-border:#e3e8ed;
}

/* Elements hidden only after JS positively identifies them as legacy header controls */
.afme-nav21-hide {
    display:none !important;
}

header .wp-block-navigation.afme-nav21-host {
    width:100% !important;
    max-width:none !important;
    position:relative !important;
    z-index:150 !important;
    flex-basis:100% !important;
}

header .wp-block-navigation.afme-nav21-host > .wp-block-navigation__container,
header .wp-block-navigation.afme-nav21-host > .wp-block-navigation__responsive-container-open,
header .wp-block-navigation.afme-nav21-host > .wp-block-navigation__responsive-container {
    display:none !important;
}

.afme-nav21,
.afme-nav21 * { box-sizing:border-box; }

.afme-nav21 {
    width:100%;
    position:relative;
    font-family:inherit;
    color:var(--afme-nav-text);
}

.afme-nav21__desktop {
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:6px;
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:0;
    list-style:none;
}

.afme-nav21__desktop > li {
    position:relative;
    margin:0;
    padding:0;
}

.afme-nav21__home,
.afme-nav21__parent,
.afme-nav21__search-toggle {
    min-height:58px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 15px;
    border:0;
    background:transparent;
    color:var(--afme-nav-text);
    text-decoration:none;
    font:inherit;
    font-size:16px;
    font-weight:650;
    line-height:1;
    cursor:pointer;
    white-space:nowrap;
    position:relative;
}

.afme-nav21__home::after,
.afme-nav21__parent::after {
    content:"";
    position:absolute;
    left:15px;
    right:15px;
    bottom:0;
    height:3px;
    background:var(--afme-nav-yellow);
    transform:scaleX(0);
    transition:transform .16s ease;
}

.afme-nav21__home:hover::after,
.afme-nav21__home:focus-visible::after,
.afme-nav21__parent:hover::after,
.afme-nav21__parent:focus-visible::after,
.afme-nav21__group.is-open > .afme-nav21__parent::after,
.afme-nav21__home.is-current::after {
    transform:scaleX(1);
}

.afme-nav21__chevron {
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .16s ease;
}

.afme-nav21__group.is-open .afme-nav21__chevron {
    transform:rotate(225deg) translate(-2px,-1px);
}

.afme-nav21__dropdown {
    position:absolute;
    top:100%;
    left:50%;
    width:340px;
    transform:translate(-50%,8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
    z-index:9999;
}

.afme-nav21__group:hover > .afme-nav21__dropdown,
.afme-nav21__group.is-open > .afme-nav21__dropdown {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
}

.afme-nav21__panel {
    background:#fff;
    border:1px solid var(--afme-nav-border);
    border-top:3px solid var(--afme-nav-yellow);
    border-radius:0 0 10px 10px;
    box-shadow:0 14px 35px rgba(15,47,80,.16);
    padding:9px;
}

.afme-nav21__link {
    display:block;
    padding:11px 12px;
    border-radius:7px;
    color:var(--afme-nav-text);
    text-decoration:none;
}

.afme-nav21__link:hover,
.afme-nav21__link:focus-visible {
    background:#f6f8fa;
    outline:none;
}

.afme-nav21__link strong {
    display:block;
    margin:0 0 3px;
    font-size:14px;
    line-height:1.25;
}

.afme-nav21__link small {
    display:block;
    color:var(--afme-nav-muted);
    font-size:12px;
    line-height:1.35;
}

/* Integrated search */
.afme-nav21__search {
    display:flex;
    align-items:center;
    position:relative;
}

.afme-nav21__search-toggle {
    min-height:42px;
    margin:8px 0;
    padding:0 14px;
    border:1px solid transparent;
    border-radius:999px;
}

.afme-nav21__search-toggle:hover,
.afme-nav21__search-toggle:focus-visible,
.afme-nav21__search.is-open .afme-nav21__search-toggle {
    background:#f4f7f9;
    border-color:var(--afme-nav-border);
}

.afme-nav21__glass {
    width:17px;
    height:17px;
    border:2px solid var(--afme-nav-navy);
    border-radius:50%;
    position:relative;
    display:inline-block;
}

.afme-nav21__glass::after {
    content:"";
    width:7px;
    height:2px;
    background:var(--afme-nav-navy);
    position:absolute;
    right:-5px;
    bottom:-2px;
    transform:rotate(45deg);
    border-radius:2px;
}

.afme-nav21__search-popover {
    position:absolute;
    top:100%;
    right:0;
    width:430px;
    max-width:calc(100vw - 32px);
    padding:12px;
    background:#fff;
    border:1px solid var(--afme-nav-border);
    border-top:3px solid var(--afme-nav-yellow);
    border-radius:0 0 10px 10px;
    box-shadow:0 14px 35px rgba(15,47,80,.16);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
    transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
    z-index:10000;
}

.afme-nav21__search.is-open .afme-nav21__search-popover {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
}

.afme-nav21__search-form {
    display:flex !important;
    align-items:center;
    gap:8px;
    width:100%;
    margin:0;
}

.afme-nav21__search-input {
    flex:1 1 auto;
    min-width:0;
    height:44px;
    padding:0 16px;
    border:1px solid #cbd5df;
    border-radius:999px;
    background:#fff;
    color:var(--afme-nav-text);
    font:inherit;
    font-size:15px;
}

.afme-nav21__search-submit {
    min-width:92px;
    height:44px;
    padding:0 18px;
    border:0;
    border-radius:999px;
    background:var(--afme-nav-navy);
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.afme-nav21__mobile-toggle,
.afme-nav21__mobile { display:none; }

@media (max-width:1080px) and (min-width:901px) {
    .afme-nav21__desktop { gap:0; }
    .afme-nav21__home,
    .afme-nav21__parent { padding:0 10px; font-size:14px; }
    .afme-nav21__search-toggle { padding:0 10px; font-size:14px; }
    .afme-nav21__home::after,
    .afme-nav21__parent::after { left:10px; right:10px; }
}

@media (max-width:900px) {
    .afme-nav21__desktop { display:none; }

    .afme-nav21__mobile-toggle {
        display:flex;
        width:100%;
        min-height:48px;
        align-items:center;
        justify-content:space-between;
        padding:0 14px;
        border:1px solid var(--afme-nav-border);
        border-radius:8px;
        background:#fff;
        color:var(--afme-nav-text);
        font:inherit;
        font-weight:700;
        cursor:pointer;
    }

    .afme-nav21__mobile {
        list-style:none;
        width:100%;
        margin:8px 0 0;
        padding:0;
        background:#fff;
        border:1px solid var(--afme-nav-border);
        border-radius:8px;
    }

    .afme-nav21.is-mobile-open .afme-nav21__mobile { display:block; }

    .afme-nav21__mobile > li { border-bottom:1px solid var(--afme-nav-border); }
    .afme-nav21__mobile > li:last-child { border-bottom:0; }

    .afme-nav21__mobile a,
    .afme-nav21__mobile button {
        width:100%;
        min-height:48px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:0 14px;
        border:0;
        background:transparent;
        color:var(--afme-nav-text);
        text-decoration:none;
        text-align:left;
        font:inherit;
        font-weight:650;
    }

    .afme-nav21__mobile-sub {
        display:none;
        list-style:none;
        margin:0;
        padding:4px 0 8px 12px;
        background:#f8fafb;
    }

    .afme-nav21__mobile-group.is-open .afme-nav21__mobile-sub { display:block; }

    .afme-nav21__mobile-sub a {
        display:block;
        min-height:auto;
        padding:10px 12px;
    }

    .afme-nav21__mobile-sub strong { display:block; font-size:14px; }
    .afme-nav21__mobile-sub small {
        display:block;
        margin-top:2px;
        color:var(--afme-nav-muted);
        font-size:12px;
    }

    .afme-nav21__mobile-search { padding:12px !important; }
}
