/* --- home ----------------------------------------------------------------- */
.hero { padding-block: var(--space-6); }
.hero h1 { max-width: 20ch; }
.search--hero { max-width: 44rem; }
.section { margin-block: var(--space-6); }

/* --- species page --------------------------------------------------------- */
.species { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--space-4); }
.species__header { padding-block: var(--space-3); }
.taxon { font-family: var(--font-serif); }
.species__common { font-size: var(--step-1); color: var(--color-muted); margin-top: calc(-1 * var(--space-2)); }
.section h2 { border-bottom: 1px solid var(--color-border); padding-bottom: var(--space-2); }
.provenance { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-4); }
.provenance h2 { border: 0; margin-top: 0; }
.source-list { list-style: none; padding: 0; }
.source-list li { padding: var(--space-1) 0; }
.citation { font-family: var(--font-serif); }

/* --- list layout ---------------------------------------------------------- */
.list-layout { display: grid; gap: var(--space-5); }
@media (min-width: 56rem) {
  .list-layout { grid-template-columns: 18rem 1fr; align-items: start; }
  .list-sidebar { position: sticky; top: 5rem; }
}
.result-count { font-weight: 650; color: var(--color-muted); }
.az-jump { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: var(--space-3); }
.az-jump a, .az-jump span {
  min-width: 1.75rem;
  text-align: center;
  padding: var(--space-1);
  border-radius: var(--radius);
}
.az-jump a { background: var(--color-accent-soft); text-decoration: none; }
.az-jump span { color: var(--color-border); }

/* --- common names --------------------------------------------------------- */
.letter-section { margin-block: var(--space-5); }
.name-entry { padding-block: var(--space-2); border-bottom: 1px solid var(--color-border); }
.name-entry h3 { margin: 0; }

/* --- changes -------------------------------------------------------------- */
.change-list { list-style: none; padding: 0; max-width: var(--measure); }
.change-list > li { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); }
.change-list p { margin: var(--space-2) 0 0; color: var(--color-muted); }

/* --- sources / definitions ------------------------------------------------ */
.source-registry { list-style: none; padding: 0; }
.source { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); }
.definitions { display: grid; grid-template-columns: max-content 1fr; gap: var(--space-2) var(--space-4); }
.definitions dt { font-weight: 650; }
.definitions dd { margin: 0; }
.changelog { list-style: none; padding: 0; }

/* --- search results ------------------------------------------------------- */
.search--page { max-width: 44rem; margin-block: var(--space-4); }
.result-list { list-style: none; padding: 0; max-width: var(--measure); }
.result-list li { padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); }
.result-list a { font-size: var(--step-1); text-decoration: none; }
