:root {
    --bm-gli-gap: 0.5rem;
    --bm-gli-gap-lg: 1rem;
    --bm-gli-border: 1px solid rgba(0,0,0,0.08);
    --bm-gli-muted: rgba(0,0,0,0.55);
    --bm-gli-accent: #4642B7; /* adjust to theme accent if needed */
    --bm-gli-radius: 10px;
}

/* Glossary Index Styles
   Keep it lean; adjust variables to match your theme.
*/

.bm-glossary-index {
    display: block;
    margin: 0 0 1.5rem 0;
}

.bm-glossary-jump {
    position: sticky;
    top: 0;
    background: #fff;
    padding: var(--bm-gli-gap);
    border: var(--bm-gli-border);
    border-radius: var(--bm-gli-radius);
    z-index: 2;
}

.bm-glossary-jump-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--bm-gli-gap);
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.bm-glossary-jump-list li a {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    text-decoration: none;
    border: var(--bm-gli-border);
    border-radius: 6px;
    color: inherit;
    transition: transform 0.12s ease, background-color 0.12s ease, color 0.12s ease;
}

.bm-glossary-jump-list li a:hover,
.bm-glossary-jump-list li a:focus {
    background: var(--bm-gli-accent);
    color: #fff !important;
    transform: translateY(-1px);
}

.bm-glossary-sections {
    margin-top: var(--bm-gli-gap-lg);
}

.bm-glossary-section {
    padding: var(--bm-gli-gap-lg);
    border: var(--bm-gli-border);
    border-radius: var(--bm-gli-radius);
    margin-bottom: var(--bm-gli-gap-lg);
    scroll-margin-top: 80px; /* offset for sticky jump bar */
}

.bm-glossary-letter {
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    margin: 0 0 var(--bm-gli-gap);
    letter-spacing: 0.02em;
}

.bm-glossary-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    columns: 1 !important;
    column-gap: var(--bm-gli-gap-lg) !important;
}

@media (min-width: 600px) {
    .bm-glossary-list { columns: 2; }
}
@media (min-width: 900px) {
    .bm-glossary-list { columns: 3; }
}

.bm-glossary-item {
    break-inside: avoid;
    padding: 0.15rem 0;
}

.bm-glossary-link {
    text-decoration: none;
    border-bottom: 1px dashed transparent;
    color: inherit;
    transition: border-color 0.12s ease, color 0.12s ease;
}
.bm-glossary-link:hover,
.bm-glossary-link:focus {
    color: var(--bm-gli-accent);
    border-bottom-color: var(--bm-gli-accent);
}

/* Subtle divider between sections */
.bm-glossary-section + .bm-glossary-section {
    border-top: none;
}