/* Shared navigation contract: primary, secondary, tertiary.
 * Register existing DOM with PDENavigation.register(level, element).
 * The measured stack supplies content offsets; native menus keep their events.
 */
body { --pde-navigation-stack-height: 50px; }
body.pde-navigation-levels-ready.pde-unified-header-merged:not(.wp-admin) #page#page {
 padding-top: var(--pde-navigation-stack-height) !important;
}
body.pde-navigation-levels-ready.pde-resource-page:not(.pde-resource-catalogue) #cm-content {
 margin-top: 0 !important;
}
body.pde-navigation-levels-ready .pde-unified-header-bar { border-bottom: 1px solid #2d9ca6 !important; }
body.pde-navigation-levels-ready.pde-navigation-has-secondary .pde-unified-header-bar { border-bottom: 0 !important; }
.pde-navigation-level { --pde-navigation-surface: #e9fbf8; }
.pde-navigation-level--tertiary { --pde-navigation-surface: #f1faf9; }
body .pde-navigation-level--secondary,
body .pde-navigation-level--tertiary,
body #page .um.um-profile .um-profile-nav.pde-navigation-level,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level,
body .pde-profile-community-subnav-slot.pde-navigation-level,
body .pde-profile-resource-subnav.pde-navigation-level {
 position: fixed !important;
 top: calc(var(--pde-header-top, 0px) + var(--pde-navigation-level-top, 50px)) !important;
 left: 50% !important;
 transform: translateX(-50%) !important;
 z-index: 10050 !important;
 width: min(100%, 1200px) !important;
 max-width: 1200px !important;
 margin: 0 !important;
 box-sizing: border-box !important;
 border-radius: 0 0 12px 12px !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul {
 display: flex !important;
 align-items: stretch !important;
 gap: 5px !important;
 padding: 3px 6px !important;
 padding-inline: 6px !important;
 border: 1px solid rgba(190,211,221,.55) !important;
 border-top: 0 !important;
 background: var(--pde-navigation-surface) !important;
 overflow: hidden !important;
 border-radius: 0 0 12px 12px !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level { border-radius: 0 !important; }
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level { padding: 0 !important; }
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level .um-account-meta { display:none !important; }
body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul > li {
 flex: 1 1 0 !important;
 min-width: 0 !important;
 border: 0 !important;
 border-radius: 9px !important;
 background: transparent !important;
 box-shadow: none !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item > a,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul > li > a {
 box-sizing: border-box !important;
 display: flex !important;
 flex-direction: row !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 3px !important;
 width: 100% !important;
 height: auto !important;
 min-height: 36px !important;
 padding: 3px !important;
 margin: 0 !important;
 border: 1px solid rgba(190,211,221,.55) !important;
 border-radius: 9px !important;
 background: #fff !important;
 color: #17314f !important;
 font-size: 12px !important;
 line-height: 1.15 !important;
 box-shadow: 0 1px 4px rgba(15,23,42,.06) !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item.active > a,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul > li > a.current {
 background: #dff8f5 !important;
 color: #128987 !important;
 border-color: rgba(20,155,154,.25) !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level i,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level .um-account-icon,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level .um-account-icon i {
 font-size: 16px !important;
 line-height: 18px !important;
 height: 18px !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level span.title,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level .um-account-title {
 display: block !important;
 font-size: inherit !important;
 line-height: 1.15 !important;
 height: auto !important;
 text-align: center !important;
 overflow-wrap: anywhere !important;
}
@media(max-width:782px) {
 body #page .um.um-profile .um-profile-nav.pde-navigation-level,
 body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level,
 body .pde-profile-community-subnav-slot.pde-navigation-level,
 body .pde-profile-resource-subnav.pde-navigation-level { width:97% !important; max-width:97% !important; }
 body #page .um.um-profile .um-profile-nav.pde-navigation-level,
 body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul { gap:4px !important; padding:3px 5px !important; padding-inline:5px !important; }
 body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item > a,
 body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul > li > a {
  flex-direction:column !important; gap:2px !important; min-height:40px !important; padding:3px 2px !important;
  font-size:clamp(9px,2.5vw,11px) !important;
 }
}

/* Existing second-level menus use the same measured compact row. */
body.pde-unified-header-merged .pde-profile-community-subnav-slot.pde-navigation-level { height:42px !important; }
@media(max-width:782px) {
 body.pde-unified-header-merged .pde-profile-community-subnav-slot.pde-navigation-level { height:34px !important; }
}

/* Reusable inner/item classes for future menus using the same visual system. */
.pde-navigation-level__inner {
 display:flex; align-items:stretch; gap:5px; padding:3px 6px;
 margin:0; box-sizing:border-box; background:var(--pde-navigation-surface,#e9fbf8);
}
.pde-navigation-level__item {
 display:flex; flex:1 1 0; min-width:0; align-items:center; justify-content:center;
 gap:3px; min-height:36px; padding:3px; box-sizing:border-box;
 border:1px solid rgba(190,211,221,.55); border-radius:9px;
 background:#fff; color:#17314f; font-size:12px; font-weight:700;
 line-height:1.15; text-decoration:none; text-align:center;
}
.pde-navigation-level__item:is(.is-active,[aria-current="page"]),
.pde-navigation-level__item:hover,.pde-navigation-level__item:focus-visible {
 background:#dff8f5; color:#128987; border-color:rgba(20,155,154,.25);
}
@media(max-width:782px) {
 .pde-navigation-level__inner { gap:4px; padding:3px 5px; }
 .pde-navigation-level__item { font-size:clamp(9px,2.5vw,11px); }
}

/* Keep the shared centering ahead of legacy community positioning. */
body.pde-unified-header-merged.pde-community-page .pde-profile-community-subnav-slot.pde-navigation-level {
 left:50% !important; right:auto !important; transform:translateX(-50%) !important;
}
/* UM renders a desktop and a mobile link for each destination; show one. */
body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item > a.uimob800-show {
 display:none !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item > a.uimob800-hide {
 display:flex !important;
}
/* Menus without a dedicated primary destination inherit Accueil's blue. */
body .pde-navigation-level[data-pde-navigation-parent="home"] {
 --pde-navigation-surface:#eef5ff;
 --pde-navigation-active-surface:#dcecff;
 --pde-navigation-active-color:#287fbe;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level[data-pde-navigation-parent="home"] .um-profile-nav-item.active > a,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level[data-pde-navigation-parent="home"] > ul > li > a.current,
.pde-navigation-level[data-pde-navigation-parent="home"] .pde-navigation-level__item:is(.is-active,[aria-current="page"]) {
 background:var(--pde-navigation-active-surface) !important;
 color:var(--pde-navigation-active-color) !important;
 border-color:rgba(40,127,190,.25) !important;
}

/* One typographic and outlined-icon style across all navigation levels. */
body { --pde-navigation-font: "Open Sans", sans-serif; --pde-navigation-font-size: 11px; }
body .pde-navigation-level a,
body .pde-navigation-level button,
body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item > a,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul > li > a,
body .pde-unified-header-bar .pde-profile-header-tabs__item {
 font-family:var(--pde-navigation-font) !important;
 font-size:var(--pde-navigation-font-size) !important;
 font-weight:700 !important; line-height:1.1 !important;
 letter-spacing:0 !important; text-transform:none !important;
}
body .pde-navigation-level .pde-navigation-icon,
body .pde-navigation-level .pde-profile-header-tabs__icon svg {
 width:19px !important; height:19px !important; flex:0 0 19px !important;
 fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important;
 stroke-linecap:round !important; stroke-linejoin:round !important;
}
@media(max-width:782px) {
 body { --pde-navigation-font-size:clamp(8px,2.15vw,10px); }
 body .pde-navigation-level .pde-navigation-icon,
 body .pde-navigation-level .pde-profile-header-tabs__icon svg {
  width:18px !important; height:18px !important; flex-basis:18px !important;
 }
}

/* Apply the shared typography to labels themselves, overriding UM's bold spans. */
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level .um-account-title {
 font-family:var(--pde-navigation-font) !important;
 font-size:var(--pde-navigation-font-size) !important;
 font-weight:700 !important;
 line-height:1.1 !important;
}

/* The measured primary offset already clears the home logo. */
body.pde-navigation-levels-ready.home #page .pde-unified-logo-bar,
body.pde-navigation-levels-ready.front-page #page .pde-unified-logo-bar {
 margin-top:0 !important;
}


/* JSON colors override legacy positional palettes on every level. */
body #page .pde-unified-header-bar .pde-profile-header-tabs__item[data-pde-menu-item] {
 color:var(--pde-menu-color,#287fbe) !important;
}
body #page .pde-unified-header-bar .pde-profile-header-tabs__item[data-pde-menu-item].is-active {
 color:var(--pde-menu-color,#287fbe) !important;
 background:color-mix(in srgb,var(--pde-menu-color,#287fbe) 10%,white) !important;
}
body #page .pde-unified-header-bar .pde-profile-header-tabs__item[data-pde-menu-item].is-active::after {
 background:var(--pde-menu-color,#287fbe) !important;
}
body #page .pde-navigation-level--secondary,
body #page .pde-navigation-level--tertiary,
body #page .pde-navigation-level .pde-community-tabs,
body #page .pde-navigation-level .pde-profile-resource-subnav__inner {
 background:var(--pde-navigation-surface,#eef5ff) !important;
}
body #page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item.active > a,
body.pde-account-page #page .um.um-account .um-account-side.pde-navigation-level > ul > li > a.current,
body #page .pde-navigation-level .pde-community-tabs__tab.active,
body #page .pde-navigation-level .pde-profile-resource-subnav__item[aria-expanded="true"],
body #page .pde-navigation-level .pde-json-navigation-item.is-active {
 background:var(--pde-navigation-active-surface,#dcecff) !important;
 color:var(--pde-navigation-active-color,#287fbe) !important;
 border-color:color-mix(in srgb,var(--pde-navigation-active-color,#287fbe) 25%,transparent) !important;
}
body #page .pde-navigation-level .pde-community-tabs__underline {
 background:var(--pde-navigation-active-color,#287fbe) !important;
}
body #page .pde-navigation-level [data-pde-menu-hidden="true"] { display:none !important; }
body #page .pde-navigation-level[data-pde-menu-empty="true"] { display:none !important; }
.pde-json-navigation-item {
 display:flex;flex:1 1 0;align-items:center;justify-content:center;gap:3px;
 min-width:0;min-height:36px;padding:3px;border-radius:9px;background:white;
 text-decoration:none;text-align:center;box-sizing:border-box;
}
.pde-json-navigation-entry { display:flex;flex:1 1 0;min-width:0; }
@media(max-width:782px) {
 body .pde-navigation-level--secondary,body .pde-navigation-level--tertiary {width:97% !important;max-width:97% !important;}
 .pde-json-navigation-item {flex-direction:column;gap:2px;min-height:40px;}
}
/* Native UM selectors declare display with !important; removed JSON items win. */
body #page#page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item[data-pde-menu-hidden="true"],
body #page#page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item > a[data-pde-menu-hidden="true"],
body.pde-account-page #page#page .um.um-account .um-account-side.pde-navigation-level > ul > li[data-pde-menu-hidden="true"],
body #page#page .um.um-profile .um-profile-nav.pde-navigation-level[data-pde-menu-empty="true"],
body.pde-account-page #page#page .um.um-account .um-account-side.pde-navigation-level[data-pde-menu-empty="true"],
body #page#page .pde-profile-community-subnav-slot.pde-navigation-level[data-pde-menu-empty="true"],
body #page#page .pde-profile-resource-subnav.pde-navigation-level[data-pde-menu-empty="true"] {
 display:none !important;
}

/* Consecutive secondary and tertiary rows form one uninterrupted menu. */
body:has(.pde-navigation-level--tertiary:not([data-pde-menu-empty="true"])) #page#page .pde-navigation-level--secondary,
body:has(.pde-navigation-level--tertiary:not([data-pde-menu-empty="true"])) #page#page .um.um-profile .um-profile-nav.pde-navigation-level--secondary,
body:has(.pde-navigation-level--tertiary:not([data-pde-menu-empty="true"])) #page#page .pde-navigation-level--secondary > .pde-navigation-level__inner,
body:has(.pde-navigation-level--tertiary:not([data-pde-menu-empty="true"])) #page#page .pde-navigation-level--secondary .pde-community-tabs,
body:has(.pde-navigation-level--tertiary:not([data-pde-menu-empty="true"])) #page#page .pde-navigation-level--secondary .pde-profile-resource-subnav__inner {
 border-bottom:0 !important;
 border-bottom-left-radius:0 !important;
 border-bottom-right-radius:0 !important;
 box-shadow:none !important;
}
body #page#page .pde-navigation-level--tertiary,
body.pde-account-page #page#page .um.um-account .um-account-side.pde-navigation-level--tertiary > ul,
body #page#page .pde-navigation-level--tertiary > .pde-navigation-level__inner {
 border-top:0 !important;
 box-shadow:none !important;
}

/* Shared rounding applies to both native wrappers and their clickable surface. */
body { --pde-navigation-item-radius:9px; }
body #page#page .pde-navigation-level .pde-navigation-level__item,
body #page#page .pde-navigation-level .pde-json-navigation-item,
body #page#page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item,
body #page#page .um.um-profile .um-profile-nav.pde-navigation-level .um-profile-nav-item > a,
body.pde-account-page #page#page .um.um-account .um-account-side.pde-navigation-level > ul > li > a,
body #page#page .pde-navigation-level .pde-profile-resource-subnav__item,
body.pde-community-page #page#page .pde-navigation-level .pde-community-tabs__item,
body.pde-community-page #page#page .pde-navigation-level .pde-community-tabs__tab {
 border-radius:var(--pde-navigation-item-radius) !important;
}
body.pde-community-page #page#page .pde-navigation-level .pde-community-tabs__item {
 overflow:hidden !important;
}
body.pde-community-page #page#page .pde-navigation-level .pde-community-tabs__item.is-active {
 background:var(--pde-navigation-active-surface,#dcecff) !important;
 color:var(--pde-navigation-active-color,#287fbe) !important;
}
