/* Shared BuilderCE commercial navigation. Only loaded for the BuilderCE brand.
   A fixed measured height keeps the secondary credential strip and interior H1s uncovered. */
:root { --builderce-header-height: 70px; }
body > header {
    height: var(--builderce-header-height);
    background: #0b2f59 !important;
    color: #fff !important;
    box-shadow: 0 3px 14px rgba(5, 29, 54, .15);
}
body > header > [data-gradient] { display: none !important; }
.builderce-site-header,
.builderce-site-header * { box-sizing: border-box; }
.builderce-site-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1280px, calc(100% - 42px));
    height: var(--builderce-header-height);
    gap: clamp(14px,2vw,26px);
    margin: 0 auto;
}
.builderce-site-header__brand { display: block; flex: 0 0 auto; width: 174px; }
.builderce-site-header__brand img { display: block; width: 100%; height: auto; max-height: 62px; object-fit: contain; }
.builderce-site-header__nav { display: flex; flex: 1; justify-content: center; align-items: center; gap: clamp(13px,2vw,31px); min-width: 0; }
.builderce-site-header__nav a,
.builderce-site-header__actions > a {
    color: #fff !important;
    text-decoration: none;
    font: 700 12px/1.25 Montserrat, Arial, sans-serif;
    white-space: nowrap;
}
.builderce-site-header__nav a:hover,
.builderce-site-header__actions > a:hover { color: #ffcf56 !important; }
.builderce-site-header__actions { display: flex; align-items: center; flex: 0 0 auto; gap: 15px; }
.builderce-site-header__search, .builderce-site-header__cart {
    display: inline-flex; align-items: center; justify-content: center; min-width: 30px; min-height: 38px;
}
.builderce-site-header__search svg { width: 19px; height: 19px; }
.builderce-site-header__cart svg { max-width: 28px; max-height: 28px; }
.builderce-site-header__login { border: 1px solid #94b2cf; border-radius: 5px; padding: 10px 15px; }
.builderce-site-header__register { border-radius: 5px; padding: 11px 15px; background: #f2a900; color: #0b2f59 !important; }
.builderce-site-header__register:hover { background: #ffd064; color: #0b2f59 !important; }
.builderce-site-header__account a { color: #fff; }
.builderce-site-header__account [data-user-dropdown] a { color: #0b2f59; }
.builderce-site-header__menu { display: none; align-items: center; justify-content: center; min-width: 42px; min-height: 44px; padding: 6px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.builderce-site-header__menu svg { width: 25px; height: 25px; }
.builderce-site-header a:focus-visible,
.builderce-site-header button:focus-visible,
#mobile-navigation-panel a:focus-visible,
#mobile-navigation-panel button:focus-visible { outline: 3px solid #f2a900; outline-offset: 3px; }
body[data-small-height='true'][data-below-threshold='true'][data-mouse-delta='down'] > header { top: 0 !important; }
#mobile-navigation-panel { background: #092947 !important; color: #fff; }
.builderce-mobile-nav { display: flex; flex-direction: column; max-width: 620px; gap: 0; margin: 15px auto 0; padding: 0 6px; }
.builderce-mobile-nav > a,
.builderce-mobile-nav__account a { display: block; padding: 14px 10px; border-bottom: 1px solid rgba(255,255,255,.16); color: #fff !important; font: 700 16px/1.4 Montserrat,Arial,sans-serif; text-decoration: none; }
.builderce-mobile-nav a:hover { color: #ffcf56 !important; }
.builderce-mobile-nav__account { display: flex; gap: 12px; flex-wrap: wrap; padding-top: 15px; }
.builderce-mobile-nav__account a { border: 1px solid #7ba2c5; border-radius: 5px; padding: 11px 16px; }
.builderce-mobile-nav__account .builderce-mobile-nav__register { background: #f2a900; color: #092947 !important; border-color: #f2a900; }
.builderce-mobile-nav__close { position: absolute; right: 18px; top: 15px; display: grid; place-items: center; width: 44px; height: 44px; color: #fff; background: transparent; border: 1px solid #829eb7; border-radius: 6px; cursor: pointer; }
#main-content { min-width: 0; }
#main-content:target, #main-content [id]:target { scroll-margin-top: calc(var(--builderce-header-height) + 12px); }
@media (max-width: 1120px) {
    .builderce-site-header__nav { gap: 14px; }
    .builderce-site-header__actions { gap: 10px; }
    .builderce-site-header__brand { width: 148px; }
}
@media (max-width: 980px) {
    .builderce-site-header__nav, .builderce-site-header__search, .builderce-site-header__login, .builderce-site-header__register, .builderce-site-header__account { display: none; }
    .builderce-site-header__menu { display: flex; }
    .builderce-site-header__brand { width: 160px; }
    .builderce-site-header__actions { margin-left: auto; gap: 13px; }
}
@media (max-width: 700px) {
    :root { --builderce-header-height: 66px; }
    .builderce-site-header { width: calc(100% - 24px); }
    .builderce-site-header__brand { width: 145px; }
    #mobile-navigation-panel { padding: 66px 16px 28px; }
    .builderce-mobile-nav { margin-top: 4px; }
}


/* Fix the dark cart glyph inherited from the original white-site header. */
.builderce-site-header__cart,
.builderce-site-header__cart svg { color: #fff !important; stroke: #fff !important; }
.builderce-site-header__cart svg [stroke]:not([stroke="none"]) { stroke: #fff !important; }

/* One header offset for every BuilderCE page; page-specific CSS owns only
   content spacing. Authentication iframes are embedded content, not pages. */
#main-content { padding-top: var(--builderce-header-height); }
html.builderce-auth-frame body > header,
html.builderce-auth-frame body > footer,
html.builderce-auth-frame #mobile-navigation-panel { display: none !important; }
html.builderce-auth-frame #main-content { padding-top: 0; }
html.builderce-auth-frame #main-content .builderce-portal.form-container { padding: 12px !important; }
.builderce-scroll-hint { margin: 8px 0; color: #355b7e; font-size: 14px; line-height: 1.5; }
.builderce-scroll-hint[hidden] { display: none; }
[data-builderce-scroll-region]:focus-visible { outline: 3px solid #355b7e; outline-offset: 3px; }
.builderce-pe-reviewer { width: min(1120px, calc(100% - 32px)); margin: 24px auto; padding: 16px; font-size: 14px; line-height: 1.6; }
.builderce-pe-reviewer a { color: #174f91; text-decoration: underline; }

/* These learner and checkout roots previously reserved the fixed header
   with utility margins; retain only their own content spacing. */
#main-content .builderce-portal.mt-24,
#main-content .builderce-enrollment.mt-24 { margin-top: 24px; }

/* Only BuilderCE loads this shared navigation stylesheet; preserve the other brand. */
#main-content .builderce-portal.form-container { padding-top: 20px !important; }

/* Keep account action labels legible, including the legacy reset-email button. */
#main-content .builderce-portal.form-container button[type="submit"] { background: #f2a900; }
#main-content .builderce-portal.form-container button[type="submit"],
#main-content .builderce-portal.form-container button[type="submit"] * { color: #0b2f59 !important; }
#main-content .builderce-auth__form a { color: #174f91; }

/* Dark PE guidance needs a light scroll hint and visible keyboard focus. */
.pehub-outdated .builderce-scroll-hint { color: #fff; }
.pehub-outdated [data-builderce-scroll-region]:focus-visible { outline-color: #ffd46f; }

/* Keep approvals CMS wording intact while darkening its gold eyebrows. */
html[data-page-slug="approvals"] #main-content [class~="text-[#B47700]"] { color: #8a5a00; }
