/* Add source filters without changing shared navigation, checkout or the player. */
.cd-source-filter { margin: 1.25rem auto 0; max-width: 42rem; }
.cd-source-filter__heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .65rem; }
.cd-source-filter__heading h2 { color: #e9e5f1; font-size: .85rem; font-weight: 700; }
.cd-source-filter__heading span { color: #8d8799; font-size: .7rem; }
.cd-source-filter__list { display: flex; gap: .5rem; padding-bottom: .45rem; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #6e488b transparent; }
.cd-source-filter__button { display: inline-flex; align-items: center; gap: .5rem; flex: 0 0 auto; min-height: 44px; border-radius: 999px; border: 1px solid rgba(255,255,255,.10); padding: .55rem .95rem; background: rgba(255,255,255,.045); color: #c7c1d1; font-size: .75rem; font-weight: 600; transition: background .15s, border-color .15s; }
.cd-source-filter__button:hover { border-color: rgba(168,85,247,.6); background: rgba(168,85,247,.08); }
.cd-source-filter__button[aria-pressed="true"] { background: linear-gradient(100deg, #7c3aed, #a855f7); border-color: #a855f7; color: #fff; }
.cd-source-filter__button:focus-visible { outline: 2px solid #d8b4fe; outline-offset: 3px; }
.cd-source-filter__count { border-radius: 999px; padding: .12rem .4rem; background: rgba(0,0,0,.20); font-size: .67rem; font-variant-numeric: tabular-nums; }
.cd-catalog-update { display: inline-flex; align-items: center; gap: .35rem; border-radius: .5rem; border: 1px solid rgba(168,85,247,.25); background: rgba(168,85,247,.09); padding: .35rem .65rem; color: #d8b4fe; font-size: .75rem; }
.cd-catalog-gap { max-width: 42rem; border-left: 2px solid #a855f7; padding: .35rem .7rem; color: #c7bdd9; font-size: .75rem; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) { .cd-source-filter__button { transition: none; } }
