:root{--bg:#f9fafb;--card:#fff;--text:#111827;--muted:#6b7280;--muted-2:#9ca3af;--primary:#2563eb;--highlight:#10b981;--border:#e5e7eb;--font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,sans-serif;--fw-400:400;--fw-500:500;--fw-600:600;--radius:0.85rem;--fast:0.15s}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:.75rem 1rem;margin-top:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);box-shadow:none}.main-filters{display:inline-flex;background:var(--bg);border-radius:9999px;padding:.25rem}.main-filters .filter-item{border:none;background:transparent;padding:.55rem .9rem;font-size:.76rem;font-weight:var(--fw-500);color:var(--muted);border-radius:9999px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:none}.main-filters .filter-item:focus-visible,.main-filters .filter-item:hover{color:var(--primary);background:rgba(37,99,235,.08);transform:none;box-shadow:none}.main-filters .filter-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.main-filters .filter-item.active{background:var(--primary);color:#fff;font-weight:var(--fw-600);transform:none;box-shadow:none}.price-button-group{display:flex;align-items:center;gap:.5rem}.price-button-group .price-input{width:80px;padding:.55rem .65rem;font-size:.75rem;font-weight:var(--fw-500);border-radius:var(--radius);border:1px solid transparent;background:#f3f4f6;transition:none}.price-button-group .price-input::placeholder{color:var(--muted-2)}.price-button-group .price-input:focus-visible{background:var(--card);border-color:var(--primary);box-shadow:none}.price-button-group .price-input.error{border-color:var(--highlight);background-color:rgba(16,185,129,.1)}.price-button-group .price-input.active{border-color:var(--primary);background:#fff;box-shadow:none}.price-button-group .filter-button{flex-shrink:0;padding:.5rem 1rem;font-size:.75rem;font-weight:var(--fw-600);border-radius:9999px;cursor:pointer;border:none;transition:none}.price-button-group .filter-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.price-button-group .filter-button.reset{background:rgba(0,0,0,.03);color:var(--muted)}.price-button-group .filter-button.reset:active,.price-button-group .filter-button.reset:hover{background:rgba(37,99,235,.08)}.price-button-group .filter-button.apply{background:var(--primary);color:var(--card);box-shadow:none;transition:background .15s ease}.price-button-group .filter-button.apply:active:not(:disabled),.price-button-group .filter-button.apply:hover:not(:disabled){background:#1e40af;color:var(--card);transform:none;box-shadow:none}.price-button-group .filter-button.apply:disabled{background:#9ca3af;color:#fff;cursor:not-allowed;transform:none;box-shadow:none}.mobile-only{display:none}@media (max-width:1027px){.desktop,.filter-bar{display:none}.mobile-only{display:block}}.mobile-filter-nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;padding:.5rem .75rem;margin-bottom:.75rem;background:linear-gradient(to bottom,var(--bg) 85%,transparent);box-sizing:border-box}.mobile-filter-nav-button{width:100%;height:46px;display:flex;align-items:center;gap:.65rem;padding:0 .9rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-weight:600;color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 10px rgba(0,0,0,.04);cursor:pointer;transition:transform var(--fast) ease,box-shadow var(--fast) ease,background var(--fast) ease;will-change:transform,background,box-shadow;box-sizing:border-box}.mobile-filter-nav-button:active{transform:scale(.97);box-shadow:0 2px 6px rgba(0,0,0,.06)}@media (hover:hover){.mobile-filter-nav-button:hover{background:#f9fafb}}.mobile-filter-nav-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.mobile-filter-nav-button.active{border-color:var(--primary);background:rgba(37,99,235,.06)}.mobile-filter-icon{display:flex;align-items:center;justify-content:center;color:var(--muted);min-width:0}.mobile-filter-text{flex:1 1;min-width:0;text-align:left;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-filter-sub{display:block;font-size:.7rem;font-weight:500;color:var(--muted);margin-top:2px}.mobile-filter-chevron{font-size:.9rem;color:var(--muted);transition:transform .2s ease}.mobile-filter-nav-button[aria-expanded=true] .mobile-filter-chevron{transform:rotate(180deg)}.mobile-filter-badge{width:8px;height:8px;border-radius:9999px;background:var(--primary);margin-left:4px;transition:transform .2s ease,opacity .2s ease}.mobile-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;display:flex;align-items:flex-end;justify-content:center;overflow-x:hidden}.mobile-sheet{width:100%;max-width:100vw;max-height:92vh;background:var(--card);border-radius:var(--radius) var(--radius) 0 0;display:flex;flex-direction:column;animation:slideUp .25s ease forwards;outline:none;overflow:hidden;box-sizing:border-box}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);box-sizing:border-box}.sheet-title{text-align:center;font-weight:600;font-size:1rem}.sheet-back,.sheet-clear{background:none;border:none;font-weight:600;cursor:pointer;color:var(--primary)}.sheet-back{font-size:1.25rem}.sheet-content{gap:1.25rem;overflow-y:auto;overflow-x:hidden;max-height:calc(92vh - env(safe-area-inset-bottom));padding:1rem 1rem calc(env(safe-area-inset-bottom) + 6rem)}.sheet-content,.sheet-section{display:flex;flex-direction:column;box-sizing:border-box;width:100%}.sheet-section{gap:.5rem}.sheet-section-title{font-size:.75rem;color:var(--muted);font-weight:600;text-transform:uppercase}.sheet-section .filter-item{display:flex;justify-content:space-between;align-items:center;padding:.85rem;border-radius:var(--radius);border:1px solid var(--border);background:#fff;font-weight:500;font-size:.85rem;cursor:pointer;box-sizing:border-box;width:100%}.sheet-section .filter-item.active{border-color:var(--primary);background:rgba(37,99,235,.08);color:var(--primary)}.filter-check{font-size:.9rem}.price-group{display:flex;gap:.5rem;width:100%;box-sizing:border-box}.price-group input{flex:1 1;min-width:0;padding:.65rem .75rem;border-radius:var(--radius);border:1px solid var(--border);font-size:.85rem;box-sizing:border-box}.price-group input:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(37,99,235,.15)}.sheet-actions{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem 1rem;background:var(--card);border-top:1px solid var(--border);box-sizing:border-box}.pwa-primary{width:100%;padding:.85rem;border-radius:9999px;background:var(--primary);color:#fff;font-weight:600;border:none;box-sizing:border-box}body,html{overflow-x:hidden}