/* 仅适配 Header 与菜单实体预览中的原生列式菜单，保留内容和交互。 */
.ekr-header-menu .ekr-header-menu-item {
    position: relative;
}

.ekr-header-menu .ekr-header-menu-panel {
    top: 100%;
    right: auto;
    left: var(--ekr-menu-offset, 0px);
    width: max-content;
    min-width: 0;
    max-width: var(--ekr-menu-available-width, calc(100vw - 32px));
    min-height: 0;
    max-height: var(--ekr-menu-max-height);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-padding-block: 8px;
}

.ekr-header-menu .ekr-header-menu-panel > .grow {
    min-width: 0;
    padding: 8px;
}

/* 只有末级链接时保持单列，列宽由内容决定，长文字最多占用 320px。 */
.ekr-header-menu .ekr-header-menu-panel > .grow > ul {
    columns: auto;
    gap: 0;
    max-width: 320px;
}

.ekr-header-menu .ekr-header-menu-panel > .grow > ul > li {
    padding-bottom: 0;
}

.ekr-header-menu .ekr-header-menu-panel > .grow > ul > li + li {
    margin-top: 4px;
}

.ekr-header-menu .ekr-header-menu-panel li > ul {
    padding-left: 12px;
}

/* 父级各占一组，按内容取宽；空间不足时整组换行，不均分或拉伸各列。 */
.ekr-header-menu .ekr-header-menu-panel > .grow > .ekr-header-menu-groups {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px 24px;
    max-width: none;
}

.ekr-header-menu .ekr-header-menu-panel > .grow > .ekr-header-menu-groups > li {
    flex: 0 1 auto;
    min-width: 0;
    width: max-content;
    max-width: 320px;
    margin-top: 0;
}

/* 保留后台富内容块原有的跨整行意图，不干预块内布局。 */
.ekr-header-menu .ekr-header-menu-panel > .grow > .ekr-header-menu-groups > li[class~="[column-span:all]"] {
    flex-basis: 100%;
    max-width: 100%;
}

.ekr-header-menu .ekr-header-menu-panel .ekr-header-menu-direct-links > ul {
    padding-left: 0;
}

.ekr-header-menu .ekr-header-menu-panel .ekr-header-menu-direct-links > ul > li {
    padding-bottom: 0;
}

.ekr-header-menu .ekr-header-menu-panel .ekr-header-menu-direct-links > ul > li + li {
    margin-top: 4px;
}

/* 正常名称撑开面板，达到宽度上限后才换行，连续长词也不溢出。 */
.ekr-header-menu .ekr-header-menu-panel :is(.level-0, .level-1, .level-2) {
    padding: 10px 12px;
    white-space: normal;
    overflow-wrap: anywhere;
}
