/* Safe Studio — catálogo: cabeçalho, categorias, filtros, ordenação, estados vazios. */

.cat-head { display: grid; gap: var(--s-5); padding: var(--s-7) 0 var(--s-6); }
@media (min-width: 1000px) { .cat-head { grid-template-columns: 7fr 5fr; align-items: end; } }
.cat-head__title { font-size: var(--fs-display); line-height: .95; letter-spacing: -.04em; }
.cat-head__lede { color: var(--ash); font-size: var(--fs-16); max-width: 48ch; }
.cat-head__count { font-size: var(--fs-14); color: var(--ash); font-variant-numeric: tabular-nums; }

.cat-tabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; margin-bottom: var(--s-5); }
.cat-tab { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: var(--r-pill); color: var(--ash); font-size: var(--fs-14); box-shadow: inset 0 0 0 1px var(--line); transition: color var(--dur-1), box-shadow var(--dur-1), background-color var(--dur-1); }
.cat-tab:hover { color: var(--bone); box-shadow: inset 0 0 0 1px var(--line-2); }
.cat-tab[aria-current="page"], .cat-tab[aria-pressed="true"] { color: var(--ink); background: var(--bone); box-shadow: none; }
.cat-tab small { font-size: var(--fs-12); opacity: .7; font-variant-numeric: tabular-nums; }

/* Barra de busca: painel arredondado com respiro interno, combinando com os cards e o fundo com imagem */
.toolbar { position: sticky; top: calc(var(--nav-h) + 10px); z-index: 15; display: grid; gap: 10px; padding: 10px; margin-bottom: var(--s-6); border-radius: var(--r-3); background: rgba(13,14,16,.72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid var(--line); box-shadow: 0 18px 40px -24px rgba(0,0,0,.8); }
@media (min-width: 900px) { .toolbar { grid-template-columns: minmax(240px, 1fr) auto auto; align-items: center; } }
.toolbar__search { position: relative; }
.toolbar__search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--ash); pointer-events: none; }
.toolbar__search .field { padding-left: 42px; }
.toolbar__filters { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-chip { height: 40px; padding: 0 14px; border-radius: var(--r-1); font-size: var(--fs-14); color: var(--ash); box-shadow: inset 0 0 0 1px var(--line); font-family: var(--font-mono); transition: all var(--dur-1); }
.filter-chip:hover { color: var(--bone); box-shadow: inset 0 0 0 1px var(--line-2); }
.filter-chip[aria-pressed="true"] { color: var(--bone); box-shadow: inset 0 0 0 1px var(--accent); background: var(--accent-soft); }
.toolbar__sort { display: flex; gap: 8px; align-items: center; }
.toolbar__sort .field { min-height: 40px; width: auto; }
.toolbar__status { font-size: var(--fs-14); color: var(--ash); }
.pgrid.is-filtering { opacity: .4; transition: opacity var(--dur-1); }
.pcard[hidden], .prow[hidden] { display: none; }
