/* Catalogue navigation: existing design tokens and section anchors. */
.snoutscoop-catalogue-layout { display: grid; gap: 1.5rem; align-items: start; }
.snoutscoop-catalogue-layout > * { min-width: 0; }
.snoutscoop-catalogue-nav { background: var(--paper, #fff); border: 1px solid var(--line); border-radius: var(--radius-md, 12px); }
.snoutscoop-catalogue-nav summary { padding: 1rem; color: var(--aqua-deep); font-weight: 700; cursor: pointer; }
.snoutscoop-catalogue-nav ul { list-style: none; margin: 0; padding: 0 .5rem .5rem; }
.snoutscoop-catalogue-nav li { margin: 0; padding: 0; }
.snoutscoop-catalogue-nav a { display: block; padding: .65rem .75rem; min-height: 44px; border-radius: .4rem; color: var(--ink); font-size: .9rem; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.snoutscoop-catalogue-nav a:hover,
.snoutscoop-catalogue-nav a[aria-current] { background: var(--mist); color: var(--aqua-deep); box-shadow: inset 3px 0 var(--aqua-deep); }
.snoutscoop-catalogue-nav a:focus-visible,
.snoutscoop-catalogue-nav summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.snoutscoop-catalogue-layout .lubinik-learning-catalogue-group { scroll-margin-top: 7rem; }
@media (min-width: 1000px) {
    .snoutscoop-catalogue-layout { grid-template-columns: 15rem minmax(0, 1fr); gap: 2rem; }
    .snoutscoop-catalogue-nav { position: sticky; top: 3.5rem; max-height: calc(100dvh - 5rem); overflow-y: auto; scrollbar-width: thin; }
    .snoutscoop-catalogue-nav summary { font-size: .8rem; letter-spacing: .04em; }
}
