/* WP-A — scoped navigation styles, using the existing brand palette. */
.audience-strip { background: #E8F1DF; }
.audience-strip nav { display: flex; align-items: center; gap: 24px; padding-top: 7px; padding-bottom: 7px; }
.audience-strip a { color: #28332C; font-size: 12px; font-weight: 400; }
.public-header { position: sticky; top: 0; z-index: 1000; }
.public-header .header__main { display: flex; flex-wrap: nowrap; gap: 24px; padding: 12px 0; margin: 0; }
.public-header .logo { flex: 0 0 145px; padding: 0; }
.public-header .logo img { width: 100%; height: auto; }
.public-header .header__right { display: flex; flex-wrap: nowrap; gap: 12px; margin: 0; }
.public-header .main-menu { display: block; }
.public-header .main-menu > .menu-list { display: flex; align-items: center; padding: 0; margin: 0; }
.public-header .main-menu > .menu-list > li > a { white-space: nowrap; padding: 12px; color: #223310; }
.public-header .main-menu > .menu-list > li > a:hover,
.public-header .main-menu > .menu-list > li > a:focus-visible { background: #E8F1DF; box-shadow: none; border-color: transparent; }
.public-header .pub-search { display: flex; align-items: center; gap: 10px; flex: 1 1 560px; max-width: 560px; min-width: 160px; position: relative; padding: 0 14px; border: 1px solid #BCC7B1; border-radius: 8px; background: #ffffff; }
.public-header .pub-search .header__search--input { width: 100%; min-width: 0; height: 46px; padding: 0; margin: 0; background: transparent; border: 0; font-size: 14px; }
.public-header .pub-search .append-list { position: absolute; top: 100%; left: 0; width: 100%; }
.public-header .pub-search .ui-autocomplete { width: 100% !important; max-width: 100%; }
.public-header .pub-search .header__search--box { display: none; }
.public-header .header__signup { display: block; padding: 0; margin: 0; }
.public-header .header__signup--btn { padding: 12px 16px; white-space: nowrap; }
/* Right padding (main.css's ::after puts the dropdown chevron at right:11px)
   must stay clear of the text, or long names like "Test User" run under the
   chevron — the old padding: 8px here removed the room main.css reserved. */
/* Shape-matched to .medium__btn ("Enroll"), same as header__signup--btn
   ("Sign In") below — this is the button actually shown once logged in. */
.public-header .user__logged--btn { display: flex; align-items: center; gap: 6px; max-width: 170px; overflow-wrap: anywhere; padding: 8px 28px 8px 8px; border-radius: 30px; }
/* Same dropdown-card language as .courses-mega-menu below, and anchored with
   top:100% instead of the old fixed top:35px (main.css) so it can never
   overlap the button again, whatever the button's own height ends up being. */
.public-header .user__account { top: 100%; margin-top: 8px; right: 0; left: auto; width: 220px; padding: 12px; border: 1px solid #BCC7B1; border-radius: 10px; background: #E8F1DF; box-shadow: none; }
.public-header .user__account li { border-top: 1px solid rgba(34, 51, 16, 0.12); }
.public-header .user__account li:first-child { border-top: 0; }
.public-header .user__account li a { display: flex; align-items: center; gap: 10px; padding: 10px 6px; color: #223310; font-size: 14px; }
.public-header .user__account li a:hover { color: #223310; background: rgba(255, 255, 255, 0.5); border-radius: 6px; }
.public-header .courses-navigation { position: relative; }
.public-header .courses-mega-menu { display: none; top: 100%; left: auto; right: 0; width: 300px; padding: 12px; border: 1px solid #BCC7B1; border-radius: 10px; background: #E8F1DF; grid-template-columns: 1fr; gap: 4px; }
.public-header .courses-navigation.is-open > .courses-mega-menu { display: grid; }
.public-header .courses-mega-menu > li { border: 0; }
.public-header .courses-mega-menu > li > a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; color: #223310; line-height: 1.5; font-size: 14px; }
.public-header .pub-search-toggle,
.public-header .public-menu-toggle { display: none; border: 0; padding: 8px; width: 44px; height: 44px; background: transparent; color: #223310; font-size: 24px; flex-shrink: 0; }
.public-header .mobile-menu { display: none; }
.public-header :focus-visible,
.footer-company-navigation a:focus-visible { outline: 2px solid #223310; outline-offset: 3px; }
#featured-courses { scroll-margin-top: 110px; }
.footer-company-navigation { padding: 28px 0; }
.footer-company-navigation .footer__links--list { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; }
@media (min-width: 920px) and (max-width: 1079.98px) {
    .public-header .header__main { gap: 14px; }
    .public-header .logo { flex-basis: 120px; }
    .public-header .main-menu > .menu-list > li > a { padding: 10px 8px; font-size: 14px; }
    .public-header .user__logged--btn { max-width: 115px; }
}
@media (max-width: 919.98px) {
    .audience-strip { display: none; }
    .public-header .header__main { flex-wrap: wrap; gap: 0; justify-content: space-between; padding: 10px 0; }
    .public-header .logo { flex-basis: 112px; }
    .public-header .header__right { gap: 2px; }
    .public-header .main-menu { display: none; }
    .public-header .pub-search-toggle,
    .public-header .public-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
    .public-header .header__signup--btn { padding: 10px; font-size: 13px; }
    .public-header .user__logged--btn { max-width: 100px; font-size: 12px; }
    .public-header .pub-search { display: none; order: 3; flex: 1 0 100%; min-width: 0; max-width: none; margin-top: 10px; }
    .public-header.search-open .pub-search { display: flex; }
    .public-header .mobile-menu.is-open { display: block; background: #E8F1DF; max-height: calc(100dvh - 80px); overflow-y: auto; padding: 8px 0; }
    .public-header .mobile-menu .menu-list { display: block; margin: 0; padding: 0; }
    .public-header .mobile-menu .menu-list > li > a { display: flex; justify-content: space-between; padding: 14px 8px; color: #223310; font-size: 16px; font-weight: 700; }
    .public-header .mobile-menu .courses-mega-menu { position: static; width: 100%; grid-template-columns: 1fr; box-shadow: none; padding: 4px 8px; border: 0; }
    .public-header .mobile-menu .courses-mega-menu > li > a { padding: 12px; font-weight: 400; color: #223310; }
    .footer-company-navigation .footer__links--list { flex-direction: column; gap: 12px; }
}
@media (max-width: 919.98px) {
    .public-header .mobile-menu ul { height: auto; max-height: none; overflow: visible; }
    .public-header .mobile-menu ul.menu-list > li > ul { background: #E8F1DF; }
    .public-header .mobile-menu ul > li { text-align: left; border: 0; }
    .public-header .mobile-menu ul.menu-list > li > ul > li > a { display: flex; color: #223310; }
}
@media (max-width: 919.98px) {
    /* The legacy mobile stylesheet hides every last list item, including nested lists. */
    .public-header .mobile-menu ul > li:last-child { display: block; }
}

