/* V20 glossary only. Every selector is scoped to .v20-glossaire. */
.v20-glossaire {
  width: 100%;
  min-width: 0;
  overflow: clip;
  background: var(--lt-crema);
  color: var(--lt-tinta);
  font-family: var(--font-body);
}

.v20-glossaire :where(section, div, article, header, dl, dt, dd) { min-width: 0; }
.v20-glossaire :where(h1, h2, p, ol, dl, dd) { margin-top: 0; }
.v20-glossaire > .v20-glossaire-hero {
  padding-block: clamp(3rem, 8vw, 6.5rem);
  background: var(--lt-noche);
  color: var(--lt-crema);
}
.v20-glossaire-hero__inner { max-width: calc(var(--wrap-text) + (2 * var(--gutter))); }
.v20-glossaire-hero h1 {
  max-width: 15ch;
  margin-bottom: var(--sp-5);
  color: var(--lt-crema);
}
.v20-glossaire-hero__lead {
  max-width: 58ch;
  margin-bottom: 0;
  color: var(--lt-crema-soft);
  font-size: var(--fs-body-lg);
}
.v20-glossaire-breadcrumbs { margin-bottom: var(--sp-6); font-size: var(--fs-caption); }
.v20-glossaire-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.v20-glossaire-breadcrumbs li + li::before { margin-right: .65rem; color: var(--lt-marigold-bright); content: "·"; }
.v20-glossaire-breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--lt-crema); }
.v20-glossaire-breadcrumbs [aria-current="page"] { color: var(--lt-crema-soft); }

/* Exact menu chip-nav component, reskinned for the glossary letter index. */
.v20-glossaire > .v20-menu-chips {
  position: sticky;
  top: var(--v20-header-h);
  z-index: 90;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-height: 60px;
  border-bottom: var(--bw-hair);
  background: rgba(255, 247, 236, .97);
  backdrop-filter: blur(10px);
}
.v20-glossaire .v20-menu-chips__track {
  display: flex;
  gap: var(--sp-2);
  min-width: 0;
  padding: var(--sp-2) var(--gutter);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: var(--gutter);
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.v20-glossaire .v20-menu-chips__track::-webkit-scrollbar { display: none; }
.v20-glossaire .v20-menu-chips__control { display: none; }
.v20-glossaire .v20-menu-chips a {
  display: inline-grid;
  flex: 0 0 44px;
  place-items: center;
  width: 44px;
  min-height: 44px;
  border: 2px solid var(--lt-tinta);
  border-radius: var(--r-pill);
  background: var(--lt-blanco);
  color: var(--lt-tinta);
  font-size: var(--fs-caption);
  font-weight: 700;
  scroll-snap-align: start;
  text-decoration: none;
}
.v20-glossaire .v20-menu-chips a:hover,
.v20-glossaire .v20-menu-chips a:focus-visible { background: var(--lt-tinta); color: var(--lt-crema); }

.v20-glossaire-letter {
  padding-block: clamp(2.75rem, 6vw, 5.5rem);
  scroll-margin-top: calc(var(--v20-header-h) + 60px + 12px);
}
.v20-glossaire-letter:nth-child(even) { background: var(--lt-crema-deep); }
.v20-glossaire-letter__layout { display: grid; gap: var(--sp-6); }
.v20-glossaire-letter__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: var(--sp-4);
  border-bottom: 2px solid var(--lt-tinta);
}
.v20-glossaire-letter__head h2 { color: var(--lt-rouge); font-size: var(--fs-title); }
.v20-glossaire-letter__head > span {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  border: 2px solid var(--lt-tinta);
  border-radius: var(--r-stamp);
  background: var(--lt-marigold);
  color: var(--lt-tinta);
  font-family: var(--font-display);
  font-size: var(--fs-label);
  letter-spacing: .06em;
}
.v20-glossaire-letter__terms {
  display: grid;
  gap: 0 var(--sp-7);
  margin-bottom: 0;
}
.v20-glossaire-term {
  padding-block: var(--sp-5);
  border-bottom: var(--bw-hair);
  scroll-margin-top: calc(var(--v20-header-h) + 60px + 12px);
  container-type: inline-size;
}
.v20-glossaire-term:first-child { border-top: var(--bw-hair); }
.v20-glossaire-term dt {
  margin-bottom: var(--sp-3);
  color: var(--lt-tinta);
  font-family: var(--font-display);
  font-feature-settings: "liga" 0, "clig" 0;
  font-size: clamp(1rem, 6.1cqi, var(--fs-card));
  font-variant-ligatures: none;
  line-height: 1.2;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.v20-glossaire-term dd { margin-left: 0; }
.v20-glossaire-term__answer { max-width: 66ch; margin-bottom: var(--sp-2); color: var(--lt-tinta); font-size: var(--fs-body-lg); font-weight: 700; }
.v20-glossaire-term__detail { max-width: 68ch; margin-bottom: 0; color: var(--lt-ink-soft); }
.v20-glossaire-term__links { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); margin-top: var(--sp-3); }
.v20-glossaire-term__links a,
.v20-glossaire-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--lt-rosa-deep);
  font-size: var(--fs-caption);
  font-weight: 700;
  text-decoration-thickness: 2px;
}
.v20-glossaire-term__links a:hover,
.v20-glossaire-text-link:hover { text-decoration: underline; }

.v20-glossaire > .v20-glossaire-closing { padding-block: var(--section-y); background: var(--lt-rouge); color: var(--lt-crema); }
.v20-glossaire-closing__inner { display: grid; gap: var(--sp-6); align-items: end; }
.v20-glossaire-closing h2 { max-width: 17ch; margin-bottom: var(--sp-4); color: var(--lt-crema); font-size: var(--fs-title); }
.v20-glossaire-closing p { max-width: 56ch; margin-bottom: 0; color: rgba(255, 247, 236, .92); font-size: var(--fs-body-lg); }
.v20-glossaire-closing__links { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5); align-items: center; }
.v20-glossaire-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .7rem 1rem;
  border: 2px solid var(--lt-tinta);
  border-radius: var(--r-pill);
  background: var(--lt-rosa);
  color: var(--lt-tinta);
  font-weight: 700;
  text-decoration: none;
  box-shadow: var(--shadow-card);
}
.v20-glossaire-button:hover { background: var(--lt-crema); }
.v20-glossaire-closing .v20-glossaire-text-link { color: var(--lt-crema); }

@media (min-width: 768px) {
  .v20-glossaire .v20-menu-chips.is-overflowing { grid-template-columns: 52px minmax(0, 1fr) 52px; }
  .v20-glossaire .v20-menu-chips.is-overflowing .v20-menu-chips__track { padding-inline: var(--sp-2); }
  .v20-glossaire .v20-menu-chips.is-overflowing .v20-menu-chips__control {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: auto;
    border: 2px solid var(--lt-tinta);
    border-radius: 50%;
    background: var(--lt-blanco);
    color: var(--lt-tinta);
    cursor: pointer;
  }
  .v20-glossaire .v20-menu-chips__control:disabled { opacity: .35; cursor: default; }
  .v20-glossaire .v20-menu-chips__control svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
  .v20-glossaire-letter__terms { grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); }
  .v20-glossaire-term:nth-child(2) { border-top: var(--bw-hair); }
  .v20-glossaire-closing__inner { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (min-width: 1024px) {
  .v20-glossaire-letter__layout { grid-template-columns: 8rem minmax(0, 1fr); gap: var(--sp-7); }
  .v20-glossaire-letter__head { display: block; padding-bottom: 0; border-bottom: 0; }
  .v20-glossaire-letter__head h2 { margin-bottom: var(--sp-4); }
}

@media (prefers-reduced-motion: reduce) {
  .v20-glossaire .v20-menu-chips a { transition: none; }
}
