/* Phone "Filters" bottom sheet (Pasal + Radar). Hidden on desktop, where the right sidebar already shows these. */
.mj-filter-btn { display: none; }
@media (max-width: 860px) {
  .mj-filter-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--border-strong, rgba(0,0,0,.14)); background: var(--bg-card, #fff); color: var(--text, #111); font: inherit; font-weight: 800; font-size: .84rem; cursor: pointer; flex: 0 0 auto; }
  .mj-filter-btn i { color: var(--primary, #C8102E); }
  .mj-filter-btn:focus-visible { outline: 2px solid var(--primary, #C8102E); outline-offset: 2px; }
}
.mjfs { position: fixed; inset: 0; z-index: 9400; display: none; background: rgba(6,19,41,.6); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.mjfs.open { display: flex; align-items: flex-end; animation: mjfs-fade .2s ease; }
@keyframes mjfs-fade { from { opacity: 0; } }
.mjfs-panel { width: 100%; max-height: 86vh; display: flex; flex-direction: column; background: var(--bg-main, #f6f7fa); color: var(--text, #111); border-radius: 22px 22px 0 0; box-shadow: 0 -20px 60px rgba(0,0,0,.35); animation: mjfs-up .3s cubic-bezier(.22,1,.36,1); padding-bottom: env(safe-area-inset-bottom, 0); }
@keyframes mjfs-up { from { transform: translateY(40px); opacity: .6; } }
.mjfs-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px 10px; }
.mjfs-head::before { content: ''; position: absolute; left: 50%; top: 8px; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: rgba(135,152,187,.4); }
.mjfs-head h2 { font-size: 1.1rem; font-weight: 800; letter-spacing: -.02em; }
.mjfs-x { width: 44px; height: 44px; border-radius: 50%; border: none; background: rgba(135,152,187,.18); color: inherit; font-size: 1rem; cursor: pointer; }
.mjfs-body { overflow-y: auto; padding: 4px 16px 12px; display: flex; flex-direction: column; gap: 12px; -webkit-overflow-scrolling: touch; }
.mjfs-body .widget { margin: 0 !important; }
.mjfs-foot { padding: 10px 16px 16px; }
.mjfs-done { width: 100%; min-height: 50px; border: none; border-radius: 999px; background: var(--primary, #C8102E); color: #fff; font: inherit; font-weight: 800; font-size: .95rem; cursor: pointer; }
body.mjfs-lock { overflow: hidden; }
[data-theme="dark"] .mjfs-panel { background: #081A38; border-top: 1px solid rgba(135,152,187,.22); }
[data-theme="dark"] .mj-filter-btn { background: #0D2044; border-color: rgba(135,152,187,.25); color: #F4F7FF; }
[data-theme="dark"] .mj-filter-btn i { color: #FF6B8B; }
@media (prefers-reduced-motion: reduce) { .mjfs.open, .mjfs-panel { animation: none; } }
