%menu-panel-header { padding: 0.625rem var(--padding-x); /* 10px */ white-space: normal; } %menu-panel-header { max-width: fit-content; } @supports not (max-width: fit-content) { %menu-panel-header { max-width: 200px; } } %menu-panel-header::before { position: absolute; left: 15px; top: calc(10px + 0.1em); } %menu-panel-body { margin: 0; padding: calc(var(--padding-y) - 0.625rem) 0; /* 10px */ } %menu-panel-body, %menu-panel-item, %menu-panel-item > * { width: 100%; } %menu-panel-item, %menu-panel-button { text-align: left; } %menu-panel-badge { padding: 0 8px; margin-left: 0.5rem; /* 8px */ } %menu-panel-button { display: flex; } %menu-panel-button::after { margin-left: auto; /* as we are using margin-left for right align */ /* we can't use it for an absolute margin-left */ /* so cheat with a bit of padding/translate */ padding-right: var(--padding-x); transform: translate(calc(var(--padding-x) / 2), 0); } %menu-panel-separator { padding-top: 0.375rem; /* 6px */ } %menu-panel-separator:not(:first-child) { margin-top: 0.275rem; /* 6px */ } %menu-panel-separator:not(:empty) { padding-left: var(--padding-x); padding-right: var(--padding-x); padding-bottom: 0.125rem; /* 2px */ } %menu-panel.menu-panel-confirming { overflow: hidden; } %menu-panel-confirmation { position: absolute; top: 0; left: calc(100% + 10px); } %menu-panel-body { transition: transform 150ms; } %menu-panel.menu-panel-confirming > ul { transform: translateX(calc(-100% - 10px)); }