.catalog-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.catalog-tag-chip { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:4px 10px; border:1px solid var(--line,#dfe3eb); border-radius:8px; background:var(--surface,#fff); color:var(--muted,#535d6a); font:inherit; font-size:12px; line-height:1.3; text-decoration:none; overflow-wrap:anywhere; }
button.catalog-tag-chip,a.catalog-tag-chip { cursor:pointer; }
.catalog-tag-chip:hover,.catalog-tag-chip[aria-pressed="true"] { color:var(--primary,#4054c8); border-color:var(--primary,#4054c8); background:var(--soft-blue,#edf0ff); }
.catalog-tag-chip:focus-visible,.catalog-tag-choice:has(input:focus-visible) { outline:3px solid var(--primary,#4054c8); outline-offset:3px; }
.catalog-tag-filter { min-width:0; margin:0; padding:0; border:0; }
.catalog-tag-filter legend { padding:0; margin-bottom:4px; color:var(--muted,#535d6a); font-size:12px; }
.catalog-tag-choices { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-tag-choice { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:4px 10px; border:1px solid var(--line,#dfe3eb); border-radius:8px; color:var(--ink,#252a32); font-size:14px; cursor:pointer; }
.catalog-tag-choice input { width:18px; height:18px; margin:0; accent-color:var(--primary,#4054c8); }
.catalog-tag-choice:has(input:checked) { border-color:var(--primary,#4054c8); background:var(--soft-blue,#edf0ff); }
.catalog-tags[hidden],.catalog-tag-filter[hidden] { display:none; }
