.catalogue-filter-sidebar.filter-sidebar,
.catalogue-filter-sidebar.latest-filter-sidebar {
  display: block;
  min-width: 0;
  margin-bottom: .75rem;
  color: #e4e7ef;
  font-size: .8125rem;
  --filter-border: rgba(169, 184, 211, .16);
  --filter-muted: #a4aec1;
  --filter-accent: #9ed8e6;
}
.catalogue-filter-panel, .catalogue-filter-current {
  border: 1px solid var(--filter-border);
  border-radius: 12px;
  background: linear-gradient(145deg, #1c2030, #161a27);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}
.catalogue-filter-panel > summary,
.catalogue-filter-group > summary,
.catalogue-filter-finder > summary {
  display: flex;
  align-items: center;
  gap: .45rem;
  list-style: none;
  cursor: pointer;
}
.catalogue-filter-sidebar summary::-webkit-details-marker { display: none; }
.catalogue-filter-sidebar summary::after {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  margin-left: auto;
  margin-right: 2px;
  border-right: 1px solid var(--filter-muted);
  border-bottom: 1px solid var(--filter-muted);
  transform: rotate(-45deg);
}
.catalogue-filter-sidebar details[open] > summary::after { transform: rotate(45deg); }
.catalogue-filter-panel > summary { min-height: 44px; padding: .5rem .75rem; font-size: .78rem; font-weight: 600; }
.catalogue-filter-panel[open] > summary { border-bottom: 1px solid var(--filter-border); }
.catalogue-filter-body { padding: 0 .75rem .65rem; }
.catalogue-filter-current { display: flex; align-items: center; gap: .5rem; padding: .5rem .7rem; margin-bottom: .4rem; border-left: 2px solid var(--filter-accent); }
.catalogue-filter-current strong { min-width: 0; overflow-wrap: anywhere; flex: 1; font-size: .76rem; font-weight: 500; line-height: 1.5; }
.catalogue-filter-current a { flex-shrink: 0; color: var(--filter-accent); font-size: .72rem; padding: .3rem 0; text-decoration: none; }
.catalogue-filter-group { border-top: 1px solid var(--filter-border); padding-top: .15rem; margin-top: .35rem; }
.catalogue-filter-group:first-of-type { border-top: 0; margin-top: 0; }
.catalogue-filter-group > summary { min-height: 36px; padding: .35rem 0; font-size: .78rem; font-weight: 600; }
.catalogue-filter-group > summary i { font-size: .75rem; color: var(--filter-muted); }
.catalogue-filter-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.catalogue-filter-chip {
  display: inline-flex; align-items: center; min-height: 28px; max-width: 100%; padding: .25rem .55rem;
  border: 1px solid var(--filter-border); border-radius: 6px; background: rgba(179, 195, 220, .04);
  color: #d7dfed; text-decoration: none; overflow-wrap: anywhere; font-size: .75rem; line-height: 1.45;
}
.catalogue-filter-chip:hover, .catalogue-filter-chip:focus-visible,
.catalogue-filter-chip[aria-current="true"] { background: rgba(90, 189, 207, .12); border-color: rgba(158, 216, 230, .5); color: #e1f7fc; }
.catalogue-filter-chip[aria-current="true"] { box-shadow: inset 2px 0 var(--filter-accent); }
.catalogue-filter-sidebar :is(a, button, summary, input):focus-visible { outline: 2px solid var(--filter-accent); outline-offset: 2px; }
.catalogue-filter-finder { margin-top: .25rem; }
.catalogue-filter-finder > summary { min-height: 32px; padding: .35rem 0; color: var(--filter-accent); font-size: .72rem; }
.catalogue-filter-finder label { display: block; margin: .35rem 0; color: var(--filter-muted); font-size: .72rem; }
.catalogue-filter-finder input {
  width: 100%; min-width: 0; padding: .4rem .55rem; border: 1px solid var(--filter-border); border-radius: 7px;
  background: #111522; color: #edf2f7; font-size: 16px; box-sizing: border-box;
}
.catalogue-filter-finder input::placeholder { color: var(--filter-muted); font-size: .75rem; }
.catalogue-filter-finder [role="status"] { font-size: .7rem; color: var(--filter-muted); line-height: 1.5; margin: .4rem 0; }
.catalogue-filter-recent:not([hidden]) { padding: .65rem 0 .5rem; border-bottom: 1px solid var(--filter-border); }
.catalogue-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: .3rem; margin-bottom: .35rem; }
/* Override the shared h3 size, which otherwise enlarges this utility heading. */
.catalogue-filter-heading h3 { margin: 0; color: var(--filter-muted); font-size: .75rem !important; font-weight: 500; }
.catalogue-filter-heading button { font-size: .68rem; padding: .25rem 0 .25rem .3rem; background: transparent; color: var(--filter-muted); border: 0; text-decoration: none; cursor: pointer; }
.catalogue-filter-heading button:hover { color: #edf2f7; }
@media (max-width: 576px) {
  .catalogue-filter-panel, .catalogue-filter-current { border-radius: 10px; }
  .catalogue-filter-body { padding-inline: .65rem; }
  .catalogue-filter-group > summary { min-height: 40px; }
  .catalogue-filter-chip { min-height: 32px; }
}
@media (min-width: 1120px) {
  .catalogue-filter-body { max-height: calc(100vh - 13rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #424c62 transparent; }
}

.catalogue-filter-hint { margin: .5rem 0; color: var(--filter-muted); font-size: .7rem; }
.catalogue-filter-current { flex-wrap: wrap; }
.catalogue-filter-current > .catalogue-filter-chips { flex: 1 1 100%; min-width: 0; }
.catalogue-filter-current .catalogue-filter-chip { flex-shrink: 1; padding: .25rem .45rem; }
.catalogue-filter-chip[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
