/* Catalog navigation and faceted discovery. Keeps the accepted artwork and compact cards. */
.directory-page{max-width:1584px;width:100%;margin-inline:auto;padding-inline:32px}.directory-workspace{display:grid;grid-template-columns:238px minmax(0,1fr);gap:28px;margin-top:34px;align-items:start}.directory-workspace .resource-section{margin-top:0;min-width:0}.filter-sidebar{border:1px solid var(--border);border-radius:10px;background:var(--panel);min-width:0}.filter-panel-heading{padding:18px;font-size:16px;font-weight:650;cursor:pointer}.filter-panel-heading span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px}.facet-form{padding:0 16px 18px}.filter-actions{display:flex;gap:12px;align-items:center;margin-bottom:18px}.filter-actions>a{font-size:11px;color:var(--muted)}.filter-group{border:0;border-top:1px solid var(--border);padding:16px 0;margin:0;min-width:0}.filter-group legend{float:left;width:100%;margin-bottom:10px;font-size:12px;font-weight:650;padding:0}.filter-group legend+.facet-option{clear:both}.facet-group>summary{font-size:12px;font-weight:650;cursor:pointer;margin:0 0 10px}.facet-group>summary>span{float:right;color:var(--accent)}.facet-options{max-height:230px;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}.facet-option{display:flex;gap:8px;align-items:start;padding:6px 0;font-size:11px;line-height:1.4;cursor:pointer;color:var(--ink)}.facet-option input{accent-color:var(--accent);margin:1px 0 0;flex-shrink:0}.facet-option>span{flex:1;min-width:0}.facet-option small{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.facet-zero{color:var(--muted)}.facet-search{width:100%;margin:0 0 8px;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:5px;padding:8px;font-size:11px}.facet-help{font-size:10px;color:var(--muted);line-height:1.6;margin:4px 0 10px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-3px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.results-toolbar>p{font-size:11px;color:var(--muted);margin:0}.result-sort{display:flex;gap:8px;align-items:center;font-size:11px}.result-sort select{max-width:160px;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:5px;padding:8px}.result-sort button{border:1px solid var(--border);color:var(--ink);background:var(--panel);border-radius:5px;padding:8px}.directory-workspace .card-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.directory-workspace .resource-section-heading h2{flex-wrap:wrap;font-size:23px}.card-roles{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0;min-height:19px}.card-roles a{font-size:9px;line-height:1.35;color:var(--accent);border-radius:3px;background:var(--accent-bg);padding:3px 5px}.card-source{display:flex;flex-direction:column;gap:5px;padding:8px 0 10px;font-size:10px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.card-source a{color:var(--ink);width:fit-content}.source-panel{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.source-panel h3{font-size:14px;margin:0 0 12px}.source-panel p{font-size:11px;line-height:1.65;color:var(--muted)}.source-panel a{display:block;font-size:12px;margin:8px 0;overflow-wrap:anywhere;color:var(--accent)}.source-panel dl{margin:0}.source-panel dt{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-top:14px}.source-panel dd{margin:5px 0;font-size:12px;overflow-wrap:anywhere}.detail-facets{display:flex;flex-wrap:wrap;gap:5px}.detail-facets a{font-size:10px;border:1px solid var(--border);border-radius:4px;padding:5px 7px}.browse-menu{position:relative;font-size:12px;color:var(--muted)}.browse-menu>summary{cursor:pointer;padding-block:22px}.browse-links{position:absolute;top:100%;left:-20px;z-index:30;display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:0;background:var(--panel);border:1px solid var(--border);box-shadow:0 14px 34px #0002;border-radius:8px;padding:10px}.header-inner nav .browse-links a{height:auto;padding:9px 12px;border-radius:4px;font-size:12px}.header-inner nav .browse-links a:hover{background:var(--accent-bg)}.facet-option[hidden]{display:none}
@media(max-width:1150px){.directory-page{padding-inline:24px}.directory-workspace{grid-template-columns:210px minmax(0,1fr);gap:20px}.directory-workspace .card-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.header-inner{gap:30px}.header-inner nav{gap:19px}}
@media(max-width:800px){.directory-page{padding-inline:18px}.directory-workspace{grid-template-columns:1fr;gap:22px}.filter-panel-heading{padding:14px 16px}.filter-panel-heading span{display:inline;margin-left:14px}.facet-form{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.facet-form>.filter-actions,.facet-form>.facet-help,.facet-form>.button{grid-column:1/-1}.directory-workspace .card-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.results-toolbar>p{max-width:50%;line-height:1.5}.header-inner nav .browse-menu{display:block}.browse-links{left:-100px;max-width:90vw;grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:520px){.directory-workspace .card-gallery{grid-template-columns:1fr}.facet-form{display:block}.results-toolbar>p{display:none}.result-sort{width:100%;justify-content:flex-end}.browse-links{left:-80px}.filter-panel-heading span{display:none}}

/* Keep attribution visible without increasing empty card space. */
.card-roles:empty{display:none}.card-roles{min-height:0;margin:5px 0}.card-source{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:9px;margin-top:auto}.card-source>span:first-child{min-width:0;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-source>a{white-space:nowrap;font-size:9px}.filter-sidebar{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto;scrollbar-width:thin}.filter-actions{position:sticky;top:0;background:var(--panel);padding-block:8px;z-index:2}
@media(max-width:800px){.filter-sidebar{position:static;max-height:none;overflow:visible}.filter-actions{position:static}}
