.sfp-wrap{align-items:center;display:inline-flex;position:relative}.sfp-trigger{border-radius:var(--radius-pill);width:36px;height:36px;color:var(--soomuch-dark-purple);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.sfp-trigger:hover{background:var(--soomuch-light-purple);color:var(--soomuch-dark-purple)}.sfp-trigger.open{background:var(--soomuch-dark-purple);color:#fff}.sfp-trigger.has-active{color:var(--soomuch-dark-purple);background:var(--soomuch-light-purple)}.sfp-panel{z-index:1200;background:var(--surface-primary);border:1px solid var(--soomuch-light-purple);border-radius:18px;width:380px;max-width:90vw;max-height:70vh;padding:1.25rem 1.25rem 1.5rem;animation:.16s ease-out sfpPanelIn;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 20px 40px -12px #422e5140,0 0 0 1px #422e5114}@keyframes sfpPanelIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sfp-panel__header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.sfp-panel__title{font-size:1.05rem;font-weight:700;font-family:var(--soomuch-font-heading);color:var(--soomuch-dark-purple)}.sfp-clear-btn{border:1px solid var(--soomuch-light-purple);color:var(--soomuch-dark-purple);cursor:pointer;border-radius:var(--radius-pill);background:0 0;padding:.3rem .75rem;font-size:.8rem;font-weight:600;transition:background .15s}.sfp-clear-btn:hover:not(:disabled){background:var(--soomuch-light-purple)}.sfp-clear-btn:disabled{opacity:.35;cursor:not-allowed}.sfp-section{margin-bottom:1rem}.sfp-section:last-child{margin-bottom:0}.sfp-section__title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.sfp-chips{flex-wrap:wrap;gap:.4rem;display:flex}.sfp-chip{background:var(--color-gray-100);border:1.5px solid var(--border-default);border-radius:var(--radius-pill);font-size:.85rem;font-family:var(--soomuch-font-body);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.35rem;padding:.45rem .85rem;transition:all .15s;display:inline-flex}.sfp-chip:hover{background:var(--soomuch-light-purple);color:var(--soomuch-dark-purple);border-color:var(--soomuch-light-purple)}.sfp-chip.selected{background:var(--soomuch-dark-purple);color:#fff;border-color:var(--soomuch-dark-purple);font-weight:600;box-shadow:0 2px 8px #422e514d}.sfp-chip__icon{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:16px;height:16px}[data-theme=dark] .sfp-trigger{color:var(--soomuch-light-purple)}[data-theme=dark] .sfp-trigger:hover{color:#fff;background:#e2c4ff26}[data-theme=dark] .sfp-trigger.open{background:var(--soomuch-light-purple);color:var(--soomuch-dark-purple)}[data-theme=dark] .sfp-trigger.has-active{color:var(--soomuch-light-purple);background:#e2c4ff33}[data-theme=dark] .sfp-panel{background:var(--surface-primary);border-color:var(--soomuch-light-purple);box-shadow:0 20px 40px -12px #00000080}[data-theme=dark] .sfp-panel__header{border-bottom-color:var(--border-default)}[data-theme=dark] .sfp-panel__title{color:var(--soomuch-cream)}[data-theme=dark] .sfp-clear-btn{border-color:var(--soomuch-light-purple);color:var(--soomuch-light-purple)}[data-theme=dark] .sfp-clear-btn:hover:not(:disabled){background:#e2c4ff26}[data-theme=dark] .sfp-chip{background:var(--surface-tertiary);color:var(--text-secondary);border-color:var(--border-default)}[data-theme=dark] .sfp-chip:hover{color:var(--soomuch-light-purple);border-color:var(--soomuch-light-purple);background:#e2c4ff1f}[data-theme=dark] .sfp-chip.selected{background:var(--soomuch-light-purple);color:var(--soomuch-dark-purple);border-color:var(--soomuch-light-purple);font-weight:600;box-shadow:0 2px 12px #e2c4ff4d}@media (width<=767px){.sfp-panel{border-radius:18px 18px 0 0;width:100%;max-width:100%;max-height:80vh;padding:1rem 1.25rem 6rem;animation:.22s ease-out sfpPanelInMobile;position:fixed;inset:auto 0 0}@keyframes sfpPanelInMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}}
