.hoist-filter { margin: 24px 0; border: 1px solid #e2e5e8; border-radius: 10px; background: #fff; color: #262626; overflow: hidden; }
.hoist-filter summary { list-style: none; cursor: pointer; }
.hoist-filter summary::-webkit-details-marker { display: none; }
.hoist-filter__heading { display: flex; align-items: center; justify-content: space-between; padding: 18px 16px; font-size: 18px; font-weight: 700; }
.hoist-filter__selected { margin-left: 6px; padding: 2px 7px; border-radius: 12px; background: #ffe485; font-size: 13px; }
.hoist-filter__group { padding: 14px 16px; border-top: 1px solid #eef0f2; }
.hoist-filter__group > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 15px; line-height: 1.4; font-weight: 600; }
.hoist-filter details[open] > summary > span[aria-hidden], .hoist-filter[open] > summary > .hoist-filter__chevron { transform: rotate(180deg); }
.hoist-filter__options { display: grid; gap: 4px; padding-top: 10px; }
.hoist-filter__option { display: flex; gap: 9px; align-items: center; min-height: 36px; margin: 0; cursor: pointer; font-size: 14px; line-height: 1.4; font-weight: 400; }
.hoist-filter__option input { appearance: auto; position: static; opacity: 1; flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: #e5a900; cursor: pointer; }
.hoist-filter__option input:focus-visible, .hoist-filter summary:focus-visible, .hoist-filter__reset:focus-visible { outline: 2px solid #b27d00; outline-offset: 3px; }
.hoist-filter__option.is-unavailable { color: #959ba0; cursor: default; }
.hoist-filter__option.is-unavailable input { cursor: default; }
.hoist-filter__count { margin-left: auto; color: #767e85; font-size: 12px; }
.hoist-filter__reset { display: block; margin: 8px 16px 18px; padding: 10px; border: 1px solid #dce0e3; border-radius: 6px; text-align: center; color: #454b50; font-size: 14px; text-decoration: none; }
.hoist-filter__reset:hover { color: #111; border-color: #aeb5bb; }
.hoist-filter__apply { display: block; width: calc(100% - 32px); margin: 12px 16px; }
.hoist-filter--ajax .hoist-filter__apply { display: none; }
.hoist-filter-results { margin: 10px 0 18px; font-size: 14px; color: #626b73; }
.hoist-filter-error { margin: 12px 0; padding: 12px 16px; border: 1px solid #e6b0a8; border-radius: 6px; background: #fff5f3; color: #8f3123; }
#product-grid[aria-busy="true"] { opacity: .55; pointer-events: none; }
@media (min-width: 992px) {
    .hoist-filter__heading { pointer-events: none; }
    .hoist-filter__chevron { display: none; }
}
@media (max-width: 991px) {
    .page.aside-template:has(.hoist-filter) { grid-template-columns: minmax(0, 1fr); }
    .aside-template:has(.hoist-filter) > .breadcrumbs,
    .aside-template:has(.hoist-filter) > .inner { grid-column: 1; grid-row: auto; min-width: 0; }
    .aside-template:has(.hoist-filter) > .aside { display: block; width: 100%; flex: 0 0 100%; position: static; grid-column: 1; grid-row: auto; margin-top: 0; }
    .aside-template:has(.hoist-filter) > .aside .aside__container { position: static; }
    .aside-template:has(.hoist-filter) > .aside .aside__body { display: block; position: static; }
    .aside-template:has(.hoist-filter) > .aside .aside__menu,
    .aside-template:has(.hoist-filter) > .aside .aside__social { display: none; }
    .hoist-filter { margin: 12px 0 20px; }
    .hoist-filter__options { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
    .hoist-filter__option { min-height: 44px; }
}
