/* Componentes compartidos por la portada, el índice de temas y las páginas de tema: enlace «Ver más», desplegable,
   notas de fuente y lista de temas. Neutros del kit; sin bordes de color, sin cejas, sin mayúsculas. */
.more { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.more:hover { text-decoration-thickness: 2px; }
details.mas > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 28px; font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
details.mas > summary::-webkit-details-marker { display: none; }
details.mas > summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); translate: 0 -2px; flex: none; }
details.mas[open] > summary::after { transform: rotate(-135deg); translate: 0 2px; }
details.mas[open] > summary { margin-bottom: 16px; }
.fuente { font-size: 14px; color: var(--ink-muted); margin: 14px 0 0; line-height: 1.5; max-width: 80ch; }
.fuente a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
details.fuentes { margin-top: 20px; font-size: 14px; color: var(--ink-muted); }
details.fuentes > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 28px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
details.fuentes > summary::-webkit-details-marker { display: none; }
details.fuentes > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); translate: 0 -2px; }
details.fuentes[open] > summary::after { transform: rotate(-135deg); translate: 0 2px; }
details.fuentes p { margin: 8px 0 0; max-width: 80ch; line-height: 1.5; }
details.fuentes a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.meta { font-size: 14px; color: var(--ink-muted); }

/* lista de temas: ícono, nombre, una frase y la cantidad de conjuntos; todo el elemento es el enlace */
.temas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 64px; }
.temas + details.mas { margin-top: 32px; }
.tema { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; align-items: start; }
.tema__ico { padding-top: 2px; }
.tema__ico .ico { width: 30px; height: 30px; }
.tema__t { margin: 0; font-size: 19px; line-height: 1.3; font-weight: 700; }
.tema__t a { text-decoration: none; }
.tema__t a::after { content: ""; position: absolute; inset: -8px -12px; }
.tema:hover .tema__t a { text-decoration: underline; text-underline-offset: 4px; }
.tema:has(a:focus-visible) { outline: 2px solid var(--ink); outline-offset: 6px; }
.tema__t a:focus-visible { outline: 0; }
.tema__f { margin: 4px 0 0; font-size: 15px; line-height: 1.45; color: var(--ink-muted); }
.tema__n { margin: 6px 0 0; font-size: 15px; font-weight: 500; }
@media (max-width: 760px) { .temas { grid-template-columns: 1fr; gap: 28px; } }
