/* SEO layer base styles. Only .seo-* classes, never a bare element or another layer's classes; values come from seo-tokens.css, and the app's own CSS (loaded after the layers') wins. Long names and titles wrap and are never truncated: the full text stays in the HTML. */ /* Visually hidden, still read by screen readers (the new-tab hint inside external links, labels of icon-only controls). */ .seo-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; } /* The focus ring of every layer link: 2px in the accent colour. */ .seo-breadcrumbs a:focus-visible, .seo-pagination a:focus-visible, .seo-sitemap a:focus-visible, .seo-sitemap-link:focus-visible { outline: 2px solid var(--seo-color-accent); outline-offset: 2px; } /* L1 breadcrumbs: a wrapping row, separators generated here (never read by screen readers), the current page muted and bold. */ .seo-breadcrumbs { font-size: var(--seo-font-size-small); } .seo-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0 0 var(--seo-space-4); padding: 0; } .seo-breadcrumbs__item { overflow-wrap: anywhere; } .seo-breadcrumbs__item + .seo-breadcrumbs__item::before { content: var(--seo-breadcrumbs-separator) / ''; color: var(--seo-color-muted); padding-inline: var(--seo-space-2); } .seo-breadcrumbs__link { display: inline-block; padding-block: var(--seo-space-1); } .seo-breadcrumbs__current { color: var(--seo-color-muted); font-weight: 600; }