.mobile-filter-launch{position:fixed;left:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:95;min-height:46px;padding:12px 18px;border:1px solid var(--line);border-radius:30px;background:var(--ink);color:var(--white);font-size:13px;font-weight:600;box-shadow:0 6px 24px #0003}
.mobile-filter-dialog{width:calc(100% - 24px);max-width:480px;max-height:80dvh;margin:auto auto 12px;padding:0;border:1px solid var(--line);border-radius:22px;background:var(--white);color:var(--ink);box-shadow:0 20px 70px #0004;overflow:auto}
.mobile-filter-dialog::backdrop{background:#10191566;backdrop-filter:blur(3px)}
.mobile-filter-dialog[open]{animation:filter-sheet-in .22s ease-out}
.mobile-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.mobile-filter-head h2{font-size:18px;margin:0}
.mobile-filter-head button{width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:24px}
.mobile-filter-body{padding:16px 18px calc(20px + env(safe-area-inset-bottom))}
.mobile-filter-body .catalog-controls{padding:0;margin:0;border:0;background:transparent;box-shadow:none}
.mobile-filter-body .catalog-controls>.eyebrow,.mobile-filter-body .catalog-controls>h2{display:none}
.mobile-filter-body .catalog-controls .filters,.mobile-filter-body .exhibition-index{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;margin:0;padding:0;border:0}
.mobile-filter-body .catalog-controls .filters+.filters{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.mobile-filter-body .chip,.mobile-filter-body .exhibition-index a{min-height:44px;padding:10px 14px;font-size:13px}
.mobile-filter-body .list-sort{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.mobile-filter-body .list-sort .field{width:100%;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}
.mobile-filter-body select{min-height:44px;font-size:16px}
.mobile-filter-body .content-sidebar{padding:0;border:0;background:transparent}
.mobile-filter-body .work-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;border:0;background:transparent;overflow:visible}
.mobile-filter-body .work-tabs a{flex:0 0 auto}
body:has(.mobile-filter-dialog[open]){overflow:hidden}
@keyframes filter-sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mobile-filter-dialog[open]{animation:none}}
