/* Staging child: compact disclosure navigation for the real Joomla navbar. */
body.sl-stage-shell .sl-stage-submenu-toggle { display: none; }
body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown a {
  text-transform: none;
  letter-spacing: normal;
  font: 400 16px/1.4 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
}

/* Native desktop disclosure: the same icon used by the account/menu controls. */
@media (min-width: 1181px) {
  html body.sl-stage-shell .sl-stage-header .sl-stage-primary .uk-navbar-nav > li > a {
    min-width: 44px;
    justify-content: center;
    color: var(--sl-muted);
    font: 400 15px/1.55 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
  }
  html body.sl-stage-shell .sl-stage-header .sl-stage-primary .uk-navbar-nav > .uk-active > a,
  html body.sl-stage-shell .sl-stage-header .sl-stage-primary .uk-navbar-nav > li > a[aria-current="page"],
  html body.sl-stage-shell .sl-stage-header .sl-stage-primary .uk-navbar-nav > li > a[aria-expanded="true"],
  html body.sl-stage-shell .sl-stage-header .sl-stage-primary .uk-navbar-nav > li > a:hover { color: var(--sl-text); }
  body.sl-stage-shell .site-menu .site-menu_has_destination { display: flex; align-items: center; }
  body.sl-stage-shell .site-menu .site-menu_has_destination > .sl-stage-submenu-toggle {
    display: inline-grid;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: var(--sl-muted);
    background: transparent;
    cursor: pointer;
  }
  body.sl-stage-shell .site-menu .site-menu_has_destination > .sl-stage-submenu-toggle::after {
    content: "";
    width: 12px;
    height: 12px;
    background: currentColor;
    -webkit-mask: url("../consult-assets/icons/chevron-down.svg") center / contain no-repeat;
    mask: url("../consult-assets/icons/chevron-down.svg") center / contain no-repeat;
  }
  body.sl-stage-shell .site-menu .site-menu_has_destination > .sl-stage-submenu-toggle[aria-expanded="true"]::after { transform: rotate(180deg); }
  body.sl-stage-shell .site-menu .site-menu_has_destination > .sl-stage-submenu-toggle:hover { color: var(--sl-text); background: var(--sl-surface-warm); }
  body.sl-stage-shell .site-menu .site-menu_has_destination > .sl-stage-submenu-toggle:focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 2px; }
  body.sl-stage-shell .site-menu .uk-navbar-dropdown a { min-height: 44px; }
  body.sl-stage-shell .site-menu .site-menu__disclosure::after {
    content: "";
    width: 12px;
    height: 12px;
    margin-inline-start: 5px;
    background: currentColor;
    -webkit-mask: url("../consult-assets/icons/chevron-down.svg") center / contain no-repeat;
    mask: url("../consult-assets/icons/chevron-down.svg") center / contain no-repeat;
  }
  body.sl-stage-shell .site-menu .site-menu__disclosure[aria-expanded="true"]::after { transform: rotate(180deg); }
}

@media (max-width: 1180px) {
  body.sl-stage-shell .sl-stage-header-inner { width: min(calc(100% - 32px), 1280px); }
  body.sl-stage-shell .sl-stage-utility { display: none; }
  body.sl-stage-shell .sl-stage-main-nav { position: relative; z-index: 2; }
  body.sl-stage-shell .sl-stage-main-inner { grid-template-columns: auto 1fr auto; min-height: 64px; }
  body.sl-stage-shell .sl-stage-logo img { width: 152px; }
  body.sl-stage-shell .sl-stage-menu-toggle {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(224, 183, 149, .38);
    border-radius: 50%;
    color: var(--sl-text);
    background: transparent;
    cursor: pointer;
  }
  body.sl-stage-shell .sl-stage-primary { box-sizing: border-box; display: none; flex-direction: column; align-items: stretch; overflow-y: auto; border-bottom: 1px solid var(--sl-line); box-shadow: 0 20px 40px rgba(0, 0, 0, .22); }
  body.sl-stage-shell .sl-stage-primary.is-open { display: flex; }
  body.sl-stage-shell .sl-stage-primary > [uk-grid] { display: block; width: 100%; }
  body.sl-stage-shell .sl-stage-primary > [uk-grid] > div:first-child { display: block; width: 100%; }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-nav { display: block; width: 100%; }
  /* Lock the document scroller, not body: body overflow creates a new scroll
     container and breaks the sticky report header at deep chapter anchors. */
  html.sl-stage-menu-open { overflow: hidden; }
  body.sl-stage-menu-open .sl-report-mobile-nav { visibility: hidden; pointer-events: none; }
  body.sl-stage-shell .sl-stage-primary {
    position: fixed;
    z-index: 3;
    inset: 64px 0 0;
    width: 100%;
    height: calc(100dvh - 64px);
    max-height: none;
    justify-content: flex-start;
    padding: 14px max(20px, calc((100vw - 520px) / 2)) calc(28px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--sl-line);
    border-bottom: 0;
    background: #171310;
    overscroll-behavior: contain;
  }
  body.sl-stage-shell .sl-stage-primary a,
  body.sl-stage-shell .sl-stage-submenu-toggle {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
  }
  body.sl-stage-shell .sl-stage-primary > [uk-grid] { width: 100%; }
  body.sl-stage-shell .sl-stage-menu-toggle .sl-stage-icon-menu { background: none; -webkit-mask: none; mask: none; }
  body.sl-stage-shell .sl-stage-menu-toggle .menu-toggle-icon { display: block; width: 18px; height: 18px; }
  body.sl-stage-shell .sl-stage-menu-toggle .menu-toggle-icon_state_close,
  body.sl-stage-shell .sl-stage-menu-toggle[aria-expanded="true"] .menu-toggle-icon_state_open { display: none; }
  body.sl-stage-shell .sl-stage-menu-toggle[aria-expanded="true"] .menu-toggle-icon_state_close { display: block; }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-nav > li {
    position: relative;
    border-bottom: 1px solid var(--sl-line);
  }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-nav > li > a {
    box-sizing: border-box;
    min-height: 58px;
    padding: 14px 56px 14px 10px;
    border: 0;
    font: 600 18px/1.25 var(--sl-yoo-font-body, Arsenal, Arial, sans-serif);
  }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-nav > li > a:focus-visible,
  body.sl-stage-shell .sl-stage-submenu-toggle:focus-visible {
    outline: 2px solid var(--sl-focus);
    outline-offset: -3px;
  }
  body.sl-stage-shell .sl-stage-submenu-toggle {
    position: absolute;
    z-index: 2;
    top: 7px;
    right: 0;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    border-radius: 10px;
    color: var(--sl-copper);
    background: transparent;
    cursor: pointer;
  }
  body.sl-stage-shell .sl-stage-submenu-toggle::after {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
  }
  body.sl-stage-shell .sl-stage-submenu-toggle:active,
  body.sl-stage-shell .sl-stage-primary .uk-navbar-nav > li > a:active {
    background: var(--sl-surface-warm, rgba(224, 183, 149, .1));
  }
  body.sl-stage-shell .sl-stage-primary .is-expanded > .sl-stage-submenu-toggle::after {
    transform: translateY(2px) rotate(225deg);
  }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown {
    display: none !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto;
    max-width: none;
    margin: 0 10px 12px;
    padding: 0 0 0 16px;
    border: 0;
    border-left: 1px solid var(--sl-line-strong, var(--sl-line));
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    transform: none !important;
  }
  body.sl-stage-shell .sl-stage-primary .is-expanded > .uk-navbar-dropdown { display: block !important; }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown-grid {
    display: block !important;
    width: 100%;
    margin: 0;
  }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown-grid > div {
    display: block;
    width: 100%;
    padding: 0;
  }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown .uk-nav { margin: 0; padding: 0; }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown .uk-nav > li { margin: 0; }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown a {
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 6px;
    color: var(--sl-muted);
  }
  body.sl-stage-shell .sl-stage-primary .uk-navbar-dropdown a:hover { color: var(--sl-text); }
  html[data-theme="light"] body.sl-stage-shell .sl-stage-primary { background: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  body.sl-stage-shell .sl-stage-submenu-toggle::after { transition: none; }
}

/* Keep the account entry explicit on phones, as in the approved header. */
@media (max-width: 530px) {
  body.sl-stage-shell .sl-stage-account-toggle > .sl-stage-icon-user,
  body.sl-stage-shell .sl-stage-account-toggle > .sl-stage-icon-chevron { display: none; }
  body.sl-stage-shell .sl-stage-account-toggle > span:nth-child(2) { display: inline; }
  body.sl-stage-shell .sl-stage-account-toggle {
    width: auto;
    min-width: 70px;
    height: 44px;
    padding: 0 13px;
  }
}

@media (max-width: 360px) {
  body.sl-stage-shell .sl-stage-main-inner { gap: 5px; }
  body.sl-stage-shell .sl-stage-logo img { width: 108px; }
  body.sl-stage-shell .sl-stage-actions { gap: 5px; }
  body.sl-stage-shell .sl-stage-theme { width: 40px; height: 40px; }
  body.sl-stage-shell .sl-stage-account-toggle { min-width: 0; padding: 0 10px; font-size: 13px; }
}
