/* Inspired by Lucian UX/UI Prompt #305/#019, ©2026 Seokwoooo, MIT; see THIRD_PARTY_NOTICES.txt. */
.filter-mobile-toolbar{display:none}
.filter-sheet{box-sizing:border-box;width:min(620px,100%);max-width:100%;max-height:min(88dvh,900px);margin:auto auto 0;border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;padding:0;background:var(--paper,#fffdfa);color:var(--ink);box-shadow:0 -16px 70px #3e25352b;overflow:hidden}
.filter-sheet[open]{display:flex;flex-direction:column;animation:filter-sheet-in .2s ease-out}
.filter-sheet::backdrop{background:#21182080}
.filter-sheet-heading{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:16px;padding:10px 22px 16px;border-bottom:1px solid var(--line);background:#fff}
.filter-sheet-heading>div{min-width:0;flex:1}.filter-sheet-handle{display:block;width:36px;height:4px;border-radius:5px;background:#e5d9df;margin:0 auto 16px}
.filter-sheet-heading h2{font-size:20px;line-height:1.4;margin:0}.filter-sheet-heading button{flex-shrink:0;width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:#fff8fc;color:var(--ink);font:inherit;font-size:24px;cursor:pointer}
.filter-sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:14px 22px 24px;min-height:0}
.filter-sheet-reset{display:block;margin:0 0 18px auto;min-height:44px;border:0;background:transparent;color:var(--primary);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.filter-sheet-field{border:0;padding:0;margin:0 0 24px;min-width:0}.filter-sheet-field:last-child{margin-bottom:0}
.filter-sheet-field legend,.filter-sheet-field label{display:block;font-size:14px;font-weight:750;margin:0 0 11px;line-height:1.5}
.filter-sheet-choices{display:flex;flex-wrap:wrap;gap:9px}.filter-sheet-choices button{display:inline-flex;align-items:center;gap:5px;min-height:44px;max-width:100%;border:1px solid #dfd6d8;border-radius:99px;padding:9px 14px;background:white;color:var(--ink);font:inherit;font-size:13px;line-height:1.5;cursor:pointer}
.filter-sheet-choices button[aria-pressed=true]{border-color:var(--primary);background:#fce7f3;color:#8b2c61;font-weight:750}.filter-choice-check{display:none}.filter-sheet-choices button[aria-pressed=true] .filter-choice-check{display:inline}
.filter-sheet-field select{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #dfd6d8;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.filter-sheet-footer{flex-shrink:0;padding:16px 22px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;box-shadow:0 -6px 24px #49304405}.filter-sheet-footer>div{display:flex;gap:10px}
.filter-sheet-footer button{min-height:48px;border-radius:14px;font:inherit;font-size:14px;font-weight:750;line-height:1.5;cursor:pointer;padding:10px 18px}.filter-sheet-footer [data-sheet-cancel]{background:#fff;border:1px solid var(--line);color:var(--ink)}.filter-sheet-footer [data-sheet-apply]{flex:1;border:1px solid var(--primary);background:var(--primary);color:#fff}.filter-sheet-footer [data-sheet-apply]:disabled{opacity:.45;cursor:not-allowed}
.filter-sheet-empty{margin:0 0 12px;font-size:12px;line-height:1.7;color:#94415c}.filter-sheet-empty[hidden]{display:none}
.filter-sheet button:focus-visible,.filter-sheet select:focus-visible,.filter-mobile-toolbar button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@keyframes filter-sheet-in{from{transform:translateY(25px);opacity:.7}to{transform:translateY(0);opacity:1}}
@media(max-width:760px){
 .filter-sheet-ready .filter-desktop{display:none!important}.filter-sheet-ready .filter-mobile-toolbar{display:block;margin:8px 0 18px}
 .filter-mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 17px;border:1px solid #e3c8d7;border-radius:99px;background:#fff7fb;color:#8b2c61;font:inherit;font-size:14px;font-weight:750;cursor:pointer}.filter-open svg{display:block;flex-shrink:0;width:20px;height:20px}.filter-open b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:99px;padding:0 5px;background:var(--primary);color:#fff;font-size:11px;line-height:1}
 .filter-clear{min-height:44px;border:0;background:none;color:var(--primary);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.filter-applied{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.filter-applied button{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:40px;padding:8px 12px;border:1px solid #e7d9df;border-radius:99px;background:white;color:#6c4558;font:inherit;font-size:12px;cursor:pointer}.filter-applied button>span:first-child{min-width:0;overflow-wrap:anywhere}.filter-applied button>span:last-child{font-size:18px;line-height:1;flex-shrink:0}
 .filter-sheet-heading,.filter-sheet-body,.filter-sheet-footer{padding-inline:18px}
}
@media(prefers-reduced-motion:reduce){.filter-sheet[open]{animation:none}}
