.ml-category-buttons,
.ml-category-buttons * {
    box-sizing: border-box;
}
.ml-category-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: var(--mlcb-align, flex-start);
    gap: var(--mlcb-gap, 8px);
    width: 100%;
    min-width: 0;
}
.ml-category-buttons .ml-category-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: var(--mlcb-py, 12px) var(--mlcb-px, 24px);
    border: var(--mlcb-border-width, 1px) solid var(--mlcb-line, #333);
    border-radius: var(--mlcb-radius, 0);
    background: var(--mlcb-bg, #333);
    color: var(--mlcb-text, #fff);
    font-family: inherit;
    font-size: var(--mlcb-font, 14px);
    font-weight: var(--mlcb-weight, 500);
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    box-shadow: none;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.ml-category-buttons[data-width="full"] .ml-category-button { width: 100%; }
.ml-category-buttons .ml-category-button:hover,
.ml-category-buttons .ml-category-button:focus-visible {
    background: var(--mlcb-hover-bg, #d9748a);
    color: var(--mlcb-hover-text, #222);
    border-color: var(--mlcb-hover-line, #d9748a);
    text-decoration: none;
}
.ml-category-buttons .ml-category-button:focus-visible { outline: 2px solid #333; outline-offset: 3px; }
.ml-category-button-notice { padding: 14px; border: 1px dashed #999; color: #333; background: #f7f7f7; font-size: 13px; line-height: 1.5; }
@media (max-width: 1024px) {
    .ml-category-buttons { justify-content: var(--mlcb-align-md, var(--mlcb-align, flex-start)); }
    .ml-category-buttons .ml-category-button {
        font-size: var(--mlcb-font-md, var(--mlcb-font, 14px));
        padding: var(--mlcb-py-md, var(--mlcb-py, 12px)) var(--mlcb-px-md, var(--mlcb-px, 24px));
    }
}
@media (max-width: 767px) {
    .ml-category-buttons { justify-content: var(--mlcb-align-sm, var(--mlcb-align-md, var(--mlcb-align, flex-start))); }
    .ml-category-buttons .ml-category-button {
        font-size: var(--mlcb-font-sm, var(--mlcb-font-md, var(--mlcb-font, 14px)));
        padding: var(--mlcb-py-sm, var(--mlcb-py-md, var(--mlcb-py, 12px))) var(--mlcb-px-sm, var(--mlcb-px-md, var(--mlcb-px, 24px)));
    }
}
@media (prefers-reduced-motion: reduce) {
    .ml-category-buttons .ml-category-button { transition: none; }
}

/* Keep the button label undecorated even when the theme underlines links. */
.ml-category-buttons .ml-category-button,
.ml-category-buttons .ml-category-button:link,
.ml-category-buttons .ml-category-button:visited,
.ml-category-buttons .ml-category-button:hover,
.ml-category-buttons .ml-category-button:focus,
.ml-category-buttons .ml-category-button:focus-visible,
.ml-category-buttons .ml-category-button:active,
.ml-category-buttons .ml-category-button > span {
    text-decoration: none !important;
    text-decoration-line: none !important;
}
