.filters{display:none;position:fixed;inset:0;z-index:200;background:#fff;padding:20px;overflow-y:auto;scrollbar-width:none;transform:translate(-100%);transition:transform .3s ease}.filters::-webkit-scrollbar{display:none}.filters--open{display:block;transform:translate(0)}@media(min-width:1024px){.filters{display:block;position:sticky;top:112px;z-index:auto;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto;padding:20px 24px;transform:none;border-right:1px solid #e0e0e0}.filters:not(.filters--docked){margin-left:-24px}}.filters__form{display:contents}.filters__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.filters__title{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.filters__clear{font-size:.6875rem;color:#999;text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:none;border:none;padding:0}.filters__clear--hidden{visibility:hidden}.filters__close-mobile{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;cursor:pointer;border-radius:50%}@media(min-width:1024px){.filters__close-mobile{display:none}}.filters__apply-mobile{display:block;width:100%;padding:14px;margin-top:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:#000;color:#fff;border:none;cursor:pointer}@media(min-width:1024px){.filters__apply-mobile{display:none}}.filter-group{border-bottom:1px solid #e0e0e0;padding-bottom:16px;margin-bottom:16px}.filter-group summary{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;padding:4px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}.filter-group summary::-webkit-details-marker{display:none}.filter-group summary:after{content:"+";font-size:1rem;font-weight:300}.filter-group[open] summary:after{content:"−"}.filter-group__options{padding-top:12px;display:flex;flex-direction:column;gap:8px}.filter-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8125rem;color:#333}.filter-option input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.filter-option__check{width:16px;height:16px;border:1px solid #ccc;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.filter-option input:checked+.filter-option__check{background:#000;border-color:#000}.filter-option input:checked+.filter-option__check:after{content:"✓";color:#fff;font-size:.625rem}.filter-option:hover .filter-option__check{border-color:#000}.filter-option__count{color:#aaa;font-weight:400;margin-left:4px}.filter-option input[type=radio]+.filter-option__check{border-radius:50%}.filter-option input[type=radio]:checked+.filter-option__check{background:#000;border-color:#000}.filter-option input[type=radio]:checked+.filter-option__check:after{content:"";display:block;width:6px;height:6px;background:#fff;border-radius:50%}.filter-group__colors{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.filter-color{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.filter-color input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.filter-color__swatch{width:24px;height:24px;border-radius:50%;border:1px solid #ddd;transition:box-shadow .15s}.filter-color input:checked+.filter-color__swatch{box-shadow:0 0 0 2px #fff,0 0 0 3px #000}.filter-color:hover .filter-color__swatch{box-shadow:0 0 0 2px #fff,0 0 0 3px #ccc}.filter-color__label{font-size:.5625rem;color:#666;text-transform:uppercase;letter-spacing:.02em}.toolbar--mobile-only{display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid #e0e0e0}@media(min-width:1024px){.toolbar--mobile-only{display:none}}.toolbar__filter-btn{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:8px 14px;border:1px solid #e0e0e0;background:#fff;cursor:pointer;transition:border-color .2s}.toolbar__filter-btn:hover{border-color:#000}
