.filter-section{padding-top:var(--gap-card);padding-bottom:var(--section-y)}.filter-trigger{align-items:center;gap:var(--sp-2);min-height:46px;padding:0 var(--sp-3)0 var(--sp-4);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);font-family:var(--sans);font-size:.95rem;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;display:inline-flex;position:relative}.filter-trigger:hover{border-color:var(--indigo);color:var(--indigo);transform:translateY(-1px)}.filter-trigger .ft-chev{color:var(--secondary);transition:transform .2s}.filter-trigger[aria-expanded=true]{border-color:var(--indigo);box-shadow:0 0 0 3px color-mix(in srgb,var(--indigo)15%,transparent)}.filter-trigger[aria-expanded=true] .ft-chev{transform:rotate(180deg)}.filter-trigger.is-active{background:var(--indigo-tint);border-color:var(--indigo);color:var(--indigo-700)}.filter-trigger .ft-count{min-width:20px;height:20px;padding:0 var(--sp-1);border-radius:var(--radius-pill);background:var(--indigo);color:var(--surface);place-items:center;font-size:.72rem;font-weight:700;line-height:1;display:inline-grid}.filter-trigger-wrap{position:relative}.filter-pop{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:240px;box-shadow:var(--shadow-hover);padding:var(--sp-2);position:absolute;top:calc(100% + 8px);left:0}.filter-sort .filter-pop,.filter-trigger-wrap.align-right .filter-pop{left:auto;right:0}.filter-pop-list{gap:var(--sp-1);display:grid}.filter-opt{align-items:center;gap:var(--sp-3);text-align:left;width:100%;padding:var(--sp-3)var(--sp-3);border-radius:var(--radius-sm);color:var(--body);font-family:var(--sans);background:0 0;border:0;font-size:.96rem;font-weight:500;display:flex}.filter-opt:hover{background:var(--indigo-tint);color:var(--indigo-700)}.filter-opt .opt-mark{border:1.5px solid var(--line-strong);background:var(--surface);width:19px;height:19px;color:var(--surface);border-radius:5px;flex:none;place-items:center;display:grid}.filter-opt[aria-checked=true]{color:var(--indigo-700);font-weight:600}.filter-opt[aria-checked=true] .opt-mark{background:var(--indigo);border-color:var(--indigo)}.filter-opt .opt-mark svg{opacity:0}.filter-opt[aria-checked=true] .opt-mark svg{opacity:1}.filter-pop.is-radio .opt-mark{border-radius:var(--radius-pill)}.active-chips{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.active-chips .ac-label{color:var(--secondary);margin-right:1px;font-size:.85rem}.chip-remove{align-items:center;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-2)0 var(--sp-3);border-radius:var(--radius-pill);background:var(--indigo-tint);color:var(--indigo-700);font-family:var(--sans);border:1.5px solid transparent;font-size:.86rem;font-weight:600;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.chip-remove:hover{border-color:var(--indigo);transform:translateY(-1px)}.chip-remove .x{border-radius:var(--radius-pill);background:color-mix(in srgb,var(--indigo)14%,transparent);width:20px;height:20px;color:var(--indigo);flex:none;place-items:center;display:grid}.chip-remove:hover .x{background:var(--indigo);color:var(--surface)}.chips-clear{color:var(--indigo);padding:var(--sp-1);background:0 0;border:0;font-size:.88rem;font-weight:600}.chips-clear:hover{text-underline-offset:3px;text-decoration:underline}.filter-bar{gap:var(--sp-3);flex-direction:column;display:flex}.filter-controls{display:none}.filter-controls-row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.filter-meta{gap:var(--sp-3);flex-direction:column;display:flex}.result-count{color:var(--secondary);margin:0;font-size:1rem}.result-count strong{color:var(--ink);font-weight:600}.filter-mobile{align-items:center;gap:var(--sp-3);display:flex}.filter-mobile .filter-trigger,.filter-mobile .btn-filter{flex:1}.filter-mobile .btn-filter{justify-content:space-between}@media (min-width:880px){.filter-mobile{display:none}.filter-controls{display:block}.filter-bar{gap:var(--sp-4)}.filter-meta{justify-content:space-between;align-items:center;gap:var(--sp-4)var(--sp-5);flex-flow:wrap}}.sheet-scrim{background:color-mix(in srgb,var(--ink)40%,transparent);opacity:0;pointer-events:none;z-index:70;transition:opacity .25s;position:fixed;top:0;bottom:0;left:0;right:0}.sheet-scrim.open{opacity:1;pointer-events:auto}.sheet{z-index:71;background:var(--paper);border-radius:var(--radius-lg)var(--radius-lg)0 0;box-shadow:var(--shadow-lg);flex-direction:column;max-height:86vh;transition:transform .3s cubic-bezier(.22,.68,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.sheet.open{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.sheet,.sheet-scrim{transition:none}}.sheet-grip{background:var(--line-strong);border-radius:99px;width:40px;height:4px;margin:12px auto 4px}.sheet-head{padding:var(--sp-2)var(--sp-4)var(--sp-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.sheet-head h3{margin:0;font-size:1.25rem}.sheet-close{border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface);width:44px;height:44px;color:var(--ink);place-items:center;display:grid}.sheet-body{padding:var(--sp-1)var(--sp-4)var(--sp-4);overflow-y:auto}.sheet-group{padding:var(--sp-4)0;border-bottom:1px solid var(--line)}.sheet-group:last-child{border-bottom:0}.sheet-group-label{font-family:var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--secondary);margin:0 0 12px;font-size:.82rem;font-weight:600}.sheet-opts{gap:var(--sp-2);flex-wrap:wrap;display:flex}.sheet-opt{min-height:44px;padding:0 var(--sp-4);border-radius:var(--radius-pill);background:var(--surface);border:1.5px solid var(--line-strong);color:var(--indigo);font-family:var(--sans);align-items:center;font-size:.92rem;font-weight:500;display:inline-flex}.sheet-opt[aria-pressed=true]{background:var(--indigo-tint);border-color:var(--indigo);color:var(--indigo-700);font-weight:600}.sheet-foot{padding:16px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:var(--sp-3);align-items:center;display:flex}.sheet-foot .btn{flex:1}.sheet-foot .chips-clear{flex:none}.results{margin-top:var(--gap-card);position:relative}
