/* Separate desktop panels: each scrolls independently, within the menu container. */
:is(#menu, #dm-desktop-panels, #sh-sidebar) .dm-category-image { width:32px; height:32px; object-fit:contain; flex:0 0 32px; margin-right:8px; vertical-align:middle; }
#menu .dm-expand { display:none; }
/* Mobile accordion grows with every open descendant; the sidebar owns scrolling. */
#sh-sidebar .sh-sb-sub { display:none; max-height:none; overflow:visible; transition:none; }
#sh-sidebar .sh-sb-has-sub.sh-sb-sub--open > .sh-sb-sub { display:block; max-height:none; }
#dm-desktop-panels { position:fixed; inset:0; pointer-events:none; z-index:1052; }
@media (min-width:992px) {
  #menu .dm-root, #dm-desktop-panels > .dm-flyout { box-sizing:border-box; max-height:calc(100dvh - 140px); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#b8bcc3 transparent; scrollbar-gutter:auto; padding:8px !important; }
  #dm-desktop-panels > .dm-flyout { position:fixed; pointer-events:auto; margin:0; padding:8px; min-width:0; background:#fff; border:1px solid #e7ebf1; box-shadow:0 12px 32px rgb(15 15 15 / 14%); border-radius:0; transition:none; transform:none; }
  #dm-desktop-panels > .dm-flyout[hidden] { display:none !important; }
  #dm-desktop-panels > .dm-flyout:not([hidden]) { display:block; opacity:1; visibility:visible; }
  :is(#menu, #dm-desktop-panels) .dm-list { list-style:none; padding:0; margin:0; }
  :is(#menu, #dm-desktop-panels) .dm-mega-list { display:grid; grid-auto-flow:column; grid-template-rows:repeat(var(--dm-visible-rows, var(--dm-rows, 10)), auto); grid-template-columns:repeat(var(--dm-visible-columns, var(--dm-columns, 1)), minmax(0, 1fr)); gap:0 8px; align-items:start; width:100%; }
  :is(#menu, #dm-desktop-panels) .dm-node { position:relative; min-width:0; }
  :is(#menu, #dm-desktop-panels) .dm-item { display:flex; align-items:center; white-space:normal; overflow-wrap:anywhere; height:auto; }
  :is(#menu, #dm-desktop-panels) .dm-has-sub > .dm-item { padding-right:34px; }
  :is(#menu, #dm-desktop-panels) .dm-expand { display:grid; place-items:center; position:absolute; right:14px; top:0; width:12px; height:100%; padding:0; border:0; background:transparent; box-shadow:none; color:rgba(15,15,15,.4); cursor:pointer; }
  :is(#menu, #dm-desktop-panels) .dm-node:hover > .dm-expand, :is(#menu, #dm-desktop-panels) .dm-expand[aria-expanded="true"] { background:transparent; color:#dd0505; }
  :is(#menu, #dm-desktop-panels) .dm-expand i { display:block; width:8px; height:8px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
  :is(#menu, #dm-desktop-panels) .dm-expand i::before { content:none; }
  :is(#menu, #dm-desktop-panels) .dm-expand:focus-visible { outline:2px solid #dd0505 !important; outline-offset:-2px; }
}
@media (max-width:991.98px) { #dm-desktop-panels { display:none; } }
