.catalog-filters { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0; margin-top: 13px; border-block-end: 1px solid color-mix(in srgb, var(--color-dark) 24%, transparent); }
.catalog-filters__legend { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.catalog-filters__audiences,
.catalog-filters__types { display: flex; flex-wrap: wrap; gap: 23px; }
.catalog-filters__label { display: inline-flex; align-items: center; gap: 8px; padding-block: 13px 23px; font-size: 18px; line-height: 25px; cursor: pointer; }
.catalog-filters__input { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.catalog-filters__input:checked + .catalog-filters__label { box-shadow: inset 0 -2px var(--color-dark); }
.catalog-filters__input:focus-visible + .catalog-filters__label { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.catalog-filters__chooser { position: relative; justify-self: end; }
.catalog-filters__toggle { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 18px; line-height: 25px; list-style: none; padding-block: 9px 19px; cursor: pointer; }
.catalog-filters__icon { inline-size: 33px; }
.catalog-filters__group { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.catalog-filters__chooser[hidden] { display: none; }
.catalog-filters__group--type { position: absolute; z-index: 3; inset-block-start: calc(100% + 1px); inset-inline-end: 0; inline-size: min(320px, calc(100vw - var(--gutter) * 2)); padding: 22px; background: var(--color-canvas); border: 1px solid color-mix(in srgb, var(--color-dark) 24%, transparent); }
.catalog-filters__types { display: grid; gap: 4px; }
.catalog-filters__label--type { inline-size: 100%; padding: 8px 0; }
.catalog-filters__reset { margin-block-start: 16px; color: var(--color-accent); text-decoration: underline; }
.catalog-filters__reset:focus-visible { color: var(--color-dark); }
@media (hover: hover) { .catalog-filters__reset:hover { color: var(--color-dark); } }
.catalog-filters__count { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.catalog-filters__audience-toggle { display: none; }
.catalog-filters__chevron { inline-size: 48px; flex: none; }
.catalog-filters:not(.catalog-filters--enhanced) .catalog-filters__count { display: none; }
@media (max-width: 639px) {
  .catalog-filters { grid-template-columns: 1fr; gap: 0; margin-top: 27px; }
  .catalog-filters__group--audience { inline-size: 100%; }
  .catalog-filters__audiences { gap: 0; }
  .catalog-filters--enhanced .catalog-filters__audiences { display: none; }
  .catalog-filters--audience-open .catalog-filters__audiences { display: grid; }
  .catalog-filters--enhanced .catalog-filters__audience-toggle { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; border: 0; padding: 12.5px 10px; background: var(--color-dark); color: var(--color-light); font-size: 16px; line-height: 25px; text-align: left; }
  .catalog-filters__label--audience { padding: 12px 10px; font-size: 16px; }
  .catalog-filters__input:checked + .catalog-filters__label--audience { color: var(--color-light); background: var(--color-dark); box-shadow: none; }
  .catalog-filters__chooser { justify-self: stretch; }
  .catalog-filters__toggle { inline-size: 100%; padding-block: 20px 15px; font-size: 16px; text-align: center; }
  .catalog-filters__icon { inline-size: 26px; }
  .catalog-filters__group--type { inset-inline: 0; inline-size: 100%; }
}
