@media (max-width: 991.98px) {
    body.hf-mobile-filter-page { overflow-anchor: none; }
    .hf-mobile-filterbar { position: sticky; top: var(--hf-filter-header-bottom, 0px); z-index: 1025; height: 44px; background: #fff; box-shadow: 0 1px 0 #e2e7ea; }
    .hf-mobile-filterbar__toggle { display: flex; align-items: center; gap: .6rem; width: 100%; min-height: 44px; padding: .4rem 0; border: 0; background: transparent; color: #17232e; font: inherit; font-size: .85rem; font-weight: 650; text-align: left; touch-action: manipulation; }
    .hf-mobile-filterbar__arrow { margin-left: auto; font-size: .7rem; transition: transform .2s ease; }
    .hf-mobile-filterbar__toggle[aria-expanded="true"] .hf-mobile-filterbar__arrow { transform: rotate(180deg); }
    .hf-mobile-filterbar__toggle:focus-visible, .hf-filter-panel button:focus-visible, .hf-filter-panel input:focus-visible, .hf-filter-panel select:focus-visible { outline: 3px solid #d34a5d; outline-offset: 2px; }
    #filterSidebar.hf-filter-panel { top: var(--hf-filter-panel-top, 0px); bottom: auto; height: min(72vh, calc(100vh - var(--hf-filter-panel-top, 0px) - .5rem)); height: min(72dvh, calc(100dvh - var(--hf-filter-panel-top, 0px) - .5rem)); max-height: calc(100% - var(--hf-filter-panel-top, 0px) - .5rem); border: 0; border-radius: 0 0 .75rem .75rem; box-shadow: 0 12px 32px rgba(15,23,42,.18); }
    .hf-filter-panel .offcanvas-header { flex: 0 0 auto; min-height: 60px; padding: .5rem .9rem !important; border-bottom: 1px solid #e2e7ea; }
    .hf-filter-panel .offcanvas-title { font-size: 1rem; }
    .hf-filter-panel .btn-close { box-sizing: border-box; width: 44px; height: 44px; margin: 0 0 0 auto; padding: .75rem; touch-action: manipulation; }
    .hf-filter-panel .offcanvas-body { min-height: 0; padding: .85rem !important; overscroll-behavior: contain; }
    .hf-filter-panel .offcanvas-body > .w-100 { padding: .85rem !important; margin-bottom: .85rem !important; }
    .hf-filter-panel .form-check { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding-left: 0; margin-bottom: 0; }
    .hf-filter-panel .form-check-input { float: none; flex: 0 0 20px; width: 20px; height: 20px; margin: 0; }
    .hf-filter-panel .form-check-label { display: flex; align-items: center; flex: 1; min-height: 44px; padding-block: .5rem; font-size: .875rem; line-height: 1.4; touch-action: manipulation; }
    .hf-filter-panel #categoryAccordion a { display: flex; align-items: center; min-height: 44px; padding-block: .5rem !important; touch-action: manipulation; }
    .hf-filter-panel #categoryAccordion a:focus-visible { outline: 3px solid #d34a5d; outline-offset: 2px; }
    .hf-mobile-filter-sort { margin-bottom: .85rem; padding-bottom: .85rem; border-bottom: 1px solid #e2e7ea; }
    .hf-mobile-sort { min-width: 0; margin: 0; padding: 0; border: 0; }
    .hf-mobile-sort legend { float: none; width: auto; margin: 0 0 .5rem; font-size: .875rem; font-weight: 650; }
    .hf-mobile-sort__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
    .hf-mobile-sort__option { display: flex; align-items: center; gap: .5rem; min-width: 0; min-height: 48px; padding: .6rem; border: 1px solid #d6dde2; border-radius: .5rem; background: #fff; color: #33434f; font-size: .875rem; line-height: 1.35; cursor: pointer; touch-action: manipulation; }
    .hf-mobile-sort__option:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .hf-mobile-sort__option:hover { border-color: #8d9ca7; }
    .hf-mobile-sort__option:has(:checked) { border-color: #c62e45; background: #fff3f5; color: #a52035; font-weight: 650; }
    .hf-mobile-sort__option:has(:focus-visible) { outline: 3px solid #d34a5d; outline-offset: 2px; }
    .hf-mobile-sort__input { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: #c62e45; font-size: 1rem; }
    .hf-mobile-sort__option span { min-width: 0; overflow-wrap: anywhere; }
    .hf-filter-panel__footer { flex: 0 0 auto; padding: .75rem .9rem; border-top: 1px solid #e2e7ea; }
    .hf-filter-panel__footer .btn { min-height: 44px; touch-action: manipulation; }
    [data-bs-theme="dark"] .hf-mobile-filterbar { background: #1d2932; box-shadow: 0 1px 0 #39444b; }
    [data-bs-theme="dark"] .hf-mobile-filterbar__toggle { color: #edf1f3; }
    [data-bs-theme="dark"] .hf-filter-panel .offcanvas-header, [data-bs-theme="dark"] .hf-mobile-filter-sort, [data-bs-theme="dark"] .hf-filter-panel__footer { border-color: #39444b; }
    [data-bs-theme="dark"] .hf-mobile-sort__option { border-color: #52616b; background: #1d2932; color: #edf1f3; }
    [data-bs-theme="dark"] .hf-mobile-sort__option:hover { border-color: #b6c2cb; }
    [data-bs-theme="dark"] .hf-mobile-sort__option:has(:checked) { border-color: #f48c9c; background: #452730; color: #ffdce2; }
    [data-bs-theme="dark"] .hf-mobile-sort__input { accent-color: #f48c9c; }
}
@media (prefers-reduced-motion: reduce) {
    .hf-mobile-filterbar__arrow { transition: none; }
}
