/* glossary-slides-charte — fiches glossaire minimalistes */
.lws-glossary-slides {
  --ggs-bg: var(--lws-bg, #111111);
  --ggs-ivory: var(--lws-ivory, #f4efe8);
  --ggs-soft: var(--lws-text-soft, #c7bbb3);
  --ggs-copper: var(--lws-copper, #DBAF5C);
  --ggs-copper-hover: var(--lws-copper-hover, #E8C070);
  --ggs-border: var(--lws-border, #3b3137);
  --ggs-surface: var(--lws-surface, #1c181b);
  width: 100%;
  padding: clamp(2.5rem, 6vh, 4rem) clamp(1.25rem, 4vw, 3rem);
  background: var(--ggs-bg);
  color: var(--ggs-ivory);
  font-family: "Montserrat", "Segoe UI", system-ui, sans-serif;
  box-sizing: border-box;
}

.lws-glossary-slides *,
.lws-glossary-slides *::before,
.lws-glossary-slides *::after {
  box-sizing: border-box;
}

.lws-glossary-slides__inner {
  max-width: min(820px, 100%);
  margin: 0 auto;
}

.lws-glossary-slides__header {
  margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}

.lws-glossary-slides__title {
  margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--ggs-ivory);
  text-wrap: balance;
}

.lws-glossary-slides__intro {
  margin: 0;
  font-size: 1rem;
  line-height: 1.68;
  color: var(--ggs-soft);
}

.lws-glossary-slides__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 1.35rem;
}

.lws-glossary-slides__cat {
  appearance: none;
  border: 1px solid var(--ggs-border);
  background: transparent;
  color: var(--ggs-soft);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.55rem 0.85rem;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.lws-glossary-slides__cat:hover,
.lws-glossary-slides__cat:focus-visible {
  color: var(--ggs-copper-hover);
  border-color: var(--ggs-copper);
  outline: none;
}

.lws-glossary-slides__cat.is-active {
  color: var(--ggs-ivory);
  border-color: var(--ggs-copper);
  background: rgba(219, 175, 92, 0.12);
}

.lws-glossary-slides__stage {
  border: 1px solid var(--ggs-border);
  background: var(--ggs-surface);
}

.lws-glossary-slides__track {
  position: relative;
  min-height: 15rem;
  outline: none;
}

.lws-glossary-slides__card {
  display: none;
  padding: clamp(1.35rem, 3vw, 2rem);
}

.lws-glossary-slides__card.is-active {
  display: block;
}

/* Sans JS : toutes les fiches restent visibles et indexables */
.lws-glossary-slides:not(.is-interactive) .lws-glossary-slides__card {
  display: block;
  border-top: 1px solid var(--ggs-border);
}

.lws-glossary-slides:not(.is-interactive) .lws-glossary-slides__card:first-child {
  border-top: 0;
}

.lws-glossary-slides:not(.is-interactive) .lws-glossary-slides__nav {
  display: none;
}

.lws-glossary-slides__card-cat {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ggs-copper);
}

.lws-glossary-slides__card-term {
  margin: 0 0 0.45rem;
  font-size: clamp(1.25rem, 2.4vw, 1.55rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--ggs-ivory);
}

.lws-glossary-slides__card-aliases {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--ggs-soft);
}

.lws-glossary-slides__card-def {
  margin: 0;
  font-size: 1rem;
  line-height: 1.68;
  color: var(--ggs-soft);
}

.lws-glossary-slides__card-analogy {
  margin: 1rem 0 0;
  font-size: 0.95rem;
  font-style: italic;
  line-height: 1.55;
  color: var(--ggs-copper);
}

.lws-glossary-slides__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--ggs-border);
}

.lws-glossary-slides__btn {
  appearance: none;
  border: 1px solid var(--ggs-border);
  background: transparent;
  color: var(--ggs-ivory);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.55rem 0.9rem;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.lws-glossary-slides__btn:hover,
.lws-glossary-slides__btn:focus-visible {
  color: var(--ggs-copper-hover);
  border-color: var(--ggs-copper);
  outline: none;
}

.lws-glossary-slides__btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.lws-glossary-slides__counter {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ggs-soft);
  white-space: nowrap;
}

.lws-glossary-slides__note {
  margin: 1.25rem 0 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--ggs-soft);
}
