.category-bar{position:sticky;top:var(--topbar-height, 82px);z-index:900;border-bottom:1px solid var(--line, #e5e7eb);background:#fffffff5;backdrop-filter:blur(12px)}.category-scroll{width:min(100% - 48px,var(--max, 1440px));min-height:66px;display:flex;align-items:center;gap:10px;margin:0 auto;overflow-x:auto;scrollbar-width:none}.category-scroll::-webkit-scrollbar{display:none}.category-btn,.filter-btn,.sort-control{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;border:1px solid var(--line, #e5e7eb);border-radius:999px;background:#fff;color:#374151;cursor:pointer;font:inherit;font-size:.84rem;font-weight:800;padding:0 14px;white-space:nowrap}.category-btn:hover,.filter-btn:hover,.sort-control:hover{box-shadow:0 2px 10px #0000000f}.sort-control{order:20;margin-left:auto;padding:0 10px 0 14px}.sort-control span{color:#6b7280;font-size:.78rem;font-weight:800}.sort-control select{min-height:30px;border:0;background:transparent;color:#111827;cursor:pointer;font:inherit;font-size:.84rem;font-weight:850;outline:0}.category-btn.is-active{border-color:#111827;background:#fff;color:#111827;box-shadow:inset 0 0 0 1px #111827}.filter-btn{border-color:#111827;color:#111827}.filter-btn:before{content:"";width:15px;height:14px;display:inline-block;background:currentColor;clip-path:polygon(0 0,100% 0,62% 52%,62% 100%,38% 100%,38% 52%)}.filter-popover{position:relative;display:inline-flex;flex:0 0 auto}.filter-panel{position:fixed;top:var(--filter-panel-top, calc(var(--topbar-height, 82px) + var(--filters-height, 66px) + 10px));left:var(--filter-panel-left, 24px);z-index:6000;width:min(calc(100vw - 32px),520px);display:none;grid-template-columns:1fr;gap:18px;padding:18px;border:1px solid var(--line, #e5e7eb);border-radius:22px;background:#fff;box-shadow:0 22px 70px #0000002e}.filter-panel.is-open{display:grid}.filter-panel:before{content:"";position:absolute;top:-7px;left:var(--filter-panel-arrow-left, 28px);width:14px;height:14px;border-left:1px solid var(--line, #e5e7eb);border-top:1px solid var(--line, #e5e7eb);background:#fff;transform:rotate(45deg)}.filter-panel-head{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:2px}.filter-panel-head strong{font-size:1rem;font-weight:900}.filter-clear{min-height:34px;border:1px solid var(--line, #e5e7eb);border-radius:999px;background:#fff;color:var(--text, #222);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;padding:0 12px}.filter-clear:hover{background:var(--soft, #f7f7f7)}.filter-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}.filter-control{display:grid;align-content:start;gap:10px;color:var(--text, #222);font-size:.82rem;font-weight:800}.filter-control select{width:100%;min-height:42px;border:1px solid var(--line, #e5e7eb);border-radius:999px;background:#fff;color:var(--text, #222);cursor:pointer;font:inherit;font-weight:700;padding:0 14px}.filter-stepper{min-height:42px;display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:6px;border:1px solid var(--line, #e5e7eb);border-radius:999px;padding:4px}.filter-stepper button{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text, #222);cursor:pointer;font-weight:900}.filter-stepper button:not(:disabled):hover{background:#f3f4f6}.filter-stepper button:disabled{color:#c7c7c7;cursor:not-allowed}.filter-stepper span{text-align:center;font-size:.84rem;font-weight:700}.amenity-options{display:flex;flex-wrap:wrap;gap:8px}.amenity-toggle{min-height:38px;border:1px solid var(--line, #e5e7eb);border-radius:999px;background:#fff;color:var(--text, #222);cursor:pointer;font:inherit;font-size:.8rem;font-weight:750;padding:0 14px}.amenity-toggle:hover{background:var(--soft, #f7f7f7)}.amenity-toggle.is-active{border-color:#111827;background:#111827;color:#fff}@media(max-width:940px){.category-bar{top:0}.category-scroll{width:min(100% - 32px,var(--max, 1440px))}.filter-panel{width:min(calc(100vw - 32px),520px)}}@media(max-width:680px){.sort-control span{display:none}.filter-panel{width:min(92vw,520px);max-height:calc(100vh - var(--filter-panel-top, 150px) - 16px);overflow:auto}.filter-stack{grid-template-columns:1fr}}
