.ais-glossaire { --glos-accent: var(--wp--preset--color--primary-700, #09b239); }
.ais-glossaire__title { margin: 0 0 1rem; }

.ais-glossaire__nav { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1.25rem; }
.ais-glossaire__letter {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2rem; min-height: 2rem; padding: 0 .4rem; border-radius: 6px;
  text-decoration: none; background: #f1f1f1; color: #222; font-weight: 500;
}
.ais-glossaire__letter.is-empty { opacity: .35; pointer-events: none; }
.ais-glossaire__letter.is-active,
.ais-glossaire__letter:hover { background: var(--glos-accent); color: #fff; }
.ais-glossaire__letter:focus-visible { outline: 2px solid var(--glos-accent); outline-offset: 2px; }

.ais-glossaire__search { position: relative; max-width: 28rem; margin-bottom: 1.5rem; }
.ais-glossaire__search-input { width: 100%; padding: .55rem .75rem; border: 1px solid #ccc; border-radius: 8px; }
.ais-glossaire__count { margin: .35rem 0 0; font-size: .85rem; color: #555; }
.ais-glossaire__results { list-style: none; margin: .25rem 0 0; padding: 0; border: 1px solid #e2e2e2;
  border-radius: 8px; max-height: 18rem; overflow: auto; background: #fff; }
.ais-glossaire__results:empty { display: none; }
.ais-glossaire__results li { padding: .5rem .75rem; cursor: pointer; }
.ais-glossaire__results li:hover, .ais-glossaire__results li:focus-visible { background: #f1f1f1; outline: none; }

.ais-glossaire__group-title {
  margin: 1.5rem 0 .75rem; padding-bottom: .25rem;
  border-bottom: 2px solid var(--glos-accent); color: var(--glos-accent);
}
.ais-glossaire__list { margin: 0; }
.ais-glossaire__entry { margin: 0 0 1.25rem; scroll-margin-top: 6rem; }
.ais-glossaire__entry dt { font-weight: 600; margin-bottom: .25rem; }
.ais-glossaire__entry dd { margin: 0; }
.ais-glossaire__entry.is-highlight { background: #fff7cc; box-shadow: 0 0 0 .5rem #fff7cc; border-radius: 4px; }

/* Onglets actifs uniquement quand le JS a pris la main. */
.ais-glossaire.is-tabbed .ais-glossaire__group { display: none; }
.ais-glossaire.is-tabbed .ais-glossaire__group.is-active { display: block; }
.ais-glossaire.is-tabbed .ais-glossaire__group.is-active .ais-glossaire__group-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 600px) {
  .ais-glossaire__letter { min-width: 1.8rem; min-height: 1.8rem; }
}
