.catalogue-heading { max-width: 52rem; }
.catalogue-heading .lead { line-height: 1.45; }
.catalogue-filters { border-top: 1px solid rgba(185,197,207,.34); border-bottom: 1px solid rgba(185,197,207,.2); padding: 1.15rem 0 1.4rem; margin: 0 0 2.1rem; }
.catalogue-guidance { color: #c6d1da; margin: 0 0 1.1rem; font-size: .96rem; }
.catalogue-filter-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: .8rem 1rem; align-items: end; }
.catalogue-filter-fields label { display: block; margin-bottom: .4rem; color: #e5edf3; font-size: .74rem; letter-spacing: .15em; text-transform: uppercase; }
.catalogue-filter-fields select { display: block; width: 100%; min-height: 2.75rem; border: 1px solid rgba(185,197,207,.4); border-radius: 3px; background: #101820; color: #f3f7fa; padding: .55rem 2rem .55rem .75rem; color-scheme: dark; }
.catalogue-filter-fields select:focus-visible, .catalogue-filter-actions button:focus-visible, .catalogue-filter-actions a:focus-visible, .catalogue-retry:focus-visible { outline: 2px solid #add7f0; outline-offset: 3px; }
.catalogue-filter-actions { display: flex; align-items: center; gap: .6rem; white-space: nowrap; }
.catalogue-filter-actions button, .catalogue-retry { min-height: 2.75rem; border: 1px solid #bddcea; border-radius: 3px; padding: .5rem .8rem; color: #0d1922; background: #c8e4ef; font-weight: 600; }
.catalogue-filter-actions button:hover, .catalogue-retry:hover { background: #e6f3f8; }
.catalogue-filter-actions a, .catalogue-empty a { color: #c8e4ef; text-underline-offset: .2em; }
.catalogue-filter-actions a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem .8rem; font-size: .84rem; }
.catalogue-count { color: #bfcbd4; border-bottom: 1px solid rgba(185,197,207,.16); padding-bottom: .7rem; margin-bottom: 1.5rem; font-size: .87rem; letter-spacing: .05em; }
.catalogue-empty { max-width: 38rem; color: #d4dce2; line-height: 1.65; padding: 2rem 0; }
.catalogue-sentinel { min-height: 3.5rem; display: none; align-items: center; justify-content: center; gap: .7rem; color: #c8d5df; flex-wrap: wrap; }
.catalogue-sentinel.is-enhanced[data-has-more="1"] { display: flex; }
.catalogue-spinner { width: 1.2rem; height: 1.2rem; border: 2px solid rgba(255,255,255,.2); border-top-color: #a8d5ee; border-radius: 50%; animation: catalogue-spin .8s linear infinite; }
.catalogue-spinner, .catalogue-loading-text, .catalogue-error-text, .catalogue-retry, .catalogue-fallback { display: none; }
.catalogue-sentinel.is-loading .catalogue-spinner, .catalogue-sentinel.is-loading .catalogue-loading-text, .catalogue-sentinel.is-error .catalogue-error-text, .catalogue-sentinel.is-error .catalogue-retry, .catalogue-sentinel.is-error .catalogue-fallback { display: inline-flex; }
.catalogue-load-more { min-height: 2.75rem; border: 1px solid rgba(189,220,234,.65); border-radius: 3px; padding: .5rem .9rem; background: rgba(16,24,32,.82); color: #e2f1f8; }
.catalogue-load-more:hover { background: rgba(189,220,234,.14); }
.catalogue-sentinel.is-loading .catalogue-load-more, .catalogue-sentinel.is-error .catalogue-load-more { display: none; }
.catalogue-fallback { color: #c8e4ef; text-underline-offset: .2em; }
.catalogue-artist-card a { display: block; height: 100%; }
.catalogue-pagination .pagination { flex-wrap: wrap; gap: .3rem; }
@keyframes catalogue-spin { to { transform: rotate(360deg); } }
@media (max-width: 991px) { .catalogue-filter-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 575px) { .catalogue-filter-fields { grid-template-columns: 1fr; } .catalogue-filter-actions { justify-content: space-between; padding-top: .25rem; } }
@media (prefers-reduced-motion: reduce) { .catalogue-spinner { animation-duration: 2s; } }
