/* Marie Filter – Mobile Bottom Sheet v1.5.2 (DOM Move) */
:root{
  --mfmb-radius: 16px;
  --mfmb-backdrop: rgba(0,0,0,.45);
  --mfmb-shadow: 0 -10px 24px rgba(0,0,0,.18);
  --mfmb-border: rgba(0,0,0,.08);
}
.mfmb-sheet, .mfmb-fab { display:none; }
@media (max-width: 767px) {
  .mfmb-fab {
    display:inline-flex; position: fixed; right: 16px; bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 99998; background: #000; color: #fff; border: none; border-radius: 999px;
    padding: 12px 16px; box-shadow: 0 6px 18px rgba(0,0,0,.2); font: inherit; line-height: 1;
  }
  .mfmb-fab__label{ font-weight:600; }
  .mfmb-sheet[hidden] { display:none !important; }
  .mfmb-sheet { display:block; position: fixed; inset: 0; z-index: 99997; }
  .mfmb-sheet__backdrop{ position:absolute; inset:0; background: var(--mfmb-backdrop); }
  .mfmb-sheet__panel{
    position:absolute; left:0; right:0; bottom:0; max-height: 75vh; background:#fff;
    border-top-left-radius: var(--mfmb-radius); border-top-right-radius: var(--mfmb-radius);
    box-shadow: var(--mfmb-shadow); border-top: 1px solid var(--mfmb-border);
    transform: translateY(100%); transition: transform .28s ease; will-change: transform;
    padding-bottom: max(8px, env(safe-area-inset-bottom)); display:flex; flex-direction:column;
  }
  .mfmb-sheet[aria-hidden="false"] .mfmb-sheet__panel{ transform: translateY(0); }
  .mfmb-sheet__grab{ width: 44px; height:5px; border-radius: 5px; background: #e5e7eb; margin: 8px auto; }
  .mfmb-sheet__header{ display:flex; align-items:center; justify-content:space-between; padding: 4px 16px 8px 16px; border-bottom:1px solid #f1f5f9; }
  .mfmb-sheet__title{ font-weight:700; }
  .mfmb-sheet__close{ border:none; background:#f3f4f6; width:34px; height:34px; border-radius:999px; font-size:20px; line-height:1; }
  .mfmb-sheet__body{ padding: 12px 12px 8px 12px; overflow:auto; }
}
html.mfmb-lock, body.mfmb-lock { overflow:hidden; touch-action:none; }
