/* Paint the header/filter boundary without adding height to the grid layout. */
#cosma-project-browser { position: relative; }
#cosma-project-browser::before { content: ''; position: absolute; inset-block-start: 0; inset-inline: 0; block-size: var(--cosma-stroke); background: var(--cosma-line); pointer-events: none; }
/* Original comma-separated typography, centered in the shared container. */
.cosma-project-toolbar { padding-block: clamp(1rem, calc(var(--cosma-unit) * 0.5), 2.5rem); background: #fff; text-align: center; block-size: calc-size(auto, round(up, size, var(--cosma-unit))); align-content: center; }
.cosma-project-filters { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0 0.35em; list-style: none; padding: 0; margin: 0; font-family: var(--cosma-body-font); font-size: clamp(0.875rem, 1.3vw, 1.25rem); font-weight: 900; line-height: 1.5; letter-spacing: 0.04em; text-transform: uppercase; }
.cosma-project-filters li { display: inline-flex; align-items: baseline; max-inline-size: 100%; }
.cosma-project-filters li:not(:last-child)::after { content: ","; }
.cosma-project-filters a { display: inline-flex; align-items: center; min-block-size: 44px; color: #999; text-decoration: none; }
.cosma-project-filters a:hover, .cosma-project-filters a[aria-current="page"] { color: #111; }
.cosma-project-filters a:hover { text-decoration: underline; }
.cosma-project-filters a:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
#cosma-project-browser[aria-busy="true"] .cosma-project-grid { opacity: 0.5; }
.cosma-project-empty { grid-column: 1 / -1; background: #fff; padding: 1rem; }
.cosma-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
