/* ---------- Índice da página (anchors) ---------- */
.anchors {
  display: inline-block;
  max-width: 100%;
  padding: var(--space-4);
  background: var(--color-surface);
}
/* Título "Nesta página" (chat 17): 16px e cor do texto (eram 14px em --color-text-subtle) */
.anchors__label {
  margin: 0 0 var(--space-2);
  font-family: var(--font-heading);   /* chat 18: o rótulo é o título do índice, em Lora; as ligações em Montserrat */
  font-size: var(--text-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  color: var(--color-text);
}
/* D2 (chat 18): o rótulo é um h2 dentro da nav, com o tamanho de texto (16px); não segue a regra dos h2 */
.anchors__toggle { display: none; }
/* 8px entre linhas (0.21.2, chat 34): com 0 o anel de foco (6px para fora) passava por cima da linha de cima e de baixo */
.anchors__list { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: 0; padding: 0; list-style: none; }
/* Linhas do índice com a largura de leitura (cerca de 80 caracteres, nunca mais de 100): rótulos longos passam à linha seguinte */
@media (min-width: 48em) { .anchors__list { max-width: var(--measure); } }
.anchors__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--target-min);   /* alvo de 44×44px também em rótulos curtos (letras do glossário), com o texto ao centro */
  min-height: var(--target-min);
  color: var(--color-link);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-body);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
  transition: color var(--duration-fade) var(--ease);
}
@media (hover: hover) { .anchors__link:hover { color: var(--color-link-hover); } }

/* Telemóvel: o índice passa a lista desdobrável, presa ao topo ao descer (padrão do site SCML) */
@media (max-width: 47.99em) {
  .anchors.is-enhanced { display: block; padding: 0; }
  .anchors.is-enhanced .anchors__label { display: none; }
  .anchors.is-enhanced .anchors__toggle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-3);
    width: 100%;
    min-height: var(--space-7);
    padding: 0 var(--space-3);
    border: 0;
    border-bottom: 2px solid var(--color-accent);
    color: var(--color-text);
    background: var(--neutral-30);
    font-family: var(--font-body);
    font-size: var(--text-body);
    letter-spacing: var(--ls-body);
    text-align: start;
    cursor: pointer;
  }
  /* Botão "Nesta página" (chat 17): ícone list-plus antes do texto, sem chevron, fundo próprio (--neutral-30 no escuro, --neutral-95 no claro) */
  [data-theme="light"] .anchors.is-enhanced .anchors__toggle { background: var(--neutral-95); }   /* chat 18: filete amarelo também no claro */
  .anchors__icon { flex: none; width: 1.5rem; height: 1.5rem; }
  .anchors.is-enhanced .anchors__toggle:focus-visible { outline-offset: calc(-1 * var(--focus-width)); box-shadow: none; }
  .anchors.is-enhanced .anchors__list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 2;
    display: block;
    max-height: calc(6 * var(--space-7));
    overflow-y: auto;
    background: var(--color-surface);
  }
  .anchors.is-enhanced .anchors__list[hidden] { display: none; }
  .anchors.is-enhanced .anchors__item + .anchors__item { border-top: var(--border-width) solid var(--color-divider); }
  .anchors.is-enhanced .anchors__link {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    min-height: var(--space-7);
    padding: 0 var(--space-3);
    border-inline-start: 4px solid transparent;
    font-family: var(--font-body);
    font-size: var(--text-body);
    letter-spacing: var(--ls-body);
    text-transform: none;
    text-decoration-line: none;
  }
  .anchors.is-enhanced .anchors__link:hover { text-decoration-line: underline; }
  .anchors.is-enhanced .anchors__link:focus-visible { outline-offset: calc(-1 * var(--focus-width)); box-shadow: none; }
  /* A secção onde se está: filete como a página atual no submenu */
  .anchors.is-enhanced .anchors__link[aria-current="location"] { border-inline-start-color: var(--color-text-subtle); }   /* D5 (chat 18): cinzento nos dois temas, como a página atual no submenu */
  .anchors { position: relative; }
  /* Presa ao topo (chat 17): largura toda do ecrã, com o fundo e o filete do botão de ponta a ponta;
     ícone, texto e opções na mesma posição que tinham soltos (margem da página + 16px) */
  .anchors.is-stuck {
    position: fixed;
    top: var(--header-offset, 0px);
    left: 0;
    right: 0;
    z-index: 15;
    padding: 0;
    background: none;
    transition: top var(--duration-motion) var(--ease);
  }
  .anchors.is-stuck .anchors__toggle,
  .anchors.is-stuck .anchors__link { padding-inline: calc(var(--page-margin) + var(--space-3)) var(--page-margin); }
  .anchors.is-stuck .anchors__list { left: 0; right: 0; }
}
