/* FLT1: category filters. Links that navigate (subcategory, path pages, remove) sit and look like the checkboxes. */
.flt-linkrow { min-height: 1.5rem; }
.flt-link { display: block; color: inherit; }
.flt-link:hover { color: var(--bs-link-hover-color, inherit); text-decoration: underline !important; }
.flt-box { float: left; margin-left: -1.5em; margin-top: .2em; width: 1em; height: 1em; box-sizing: border-box;
    border: var(--bs-border-width, 1px) solid rgba(0, 0, 0, .25); border-radius: .25em; background: var(--bs-body-bg, #fff);
    font-size: .8em; line-height: 1; text-align: center; font-weight: 700; overflow: hidden; }
.flt-box-on { background: var(--bs-primary, #0d6efd); border-color: var(--bs-primary, #0d6efd); color: #fff; }
.flt-box-arrow { border-color: transparent; background: transparent; font-size: 1.15em; margin-top: 0; }

/* result bar */
.flt-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin-bottom: 1rem; padding: .5rem 0;
    background: var(--bs-body-bg, #fff); border-bottom: 1px solid var(--bs-border-color, #dee2e6); }
@media (min-width: 992px) { .flt-bar { position: sticky; top: 0; z-index: 1020; } }
.flt-spin { margin-left: auto; font-size: .8rem; color: var(--bs-secondary-color, #6c757d); }
#flt-results.flt-loading > :not(.flt-bar) { opacity: .45; transition: opacity .15s; pointer-events: none; }
#flt-results[aria-busy="true"] .flt-spin { display: inline; }

/* JS present: the auto-apply form needs no button; the sheet's button is the footer */
.flt-js .flt-form[data-flt-mode="auto"] .flt-apply { display: none; }
.flt-js .flt-form[data-flt-mode="sheet"] .flt-close { display: inline-block; }
.flt-close { display: none; }

/* mobile bottom sheet (below lg: the sidebar is hidden there) */
@media (max-width: 991.98px) {
    .flt-js .flt-sheet[open] > .flt-sheet-body { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1051; margin: 0 !important;
        max-height: 85vh; overflow-y: auto; background: var(--bs-body-bg, #fff); border-radius: 1rem 1rem 0 0;
        box-shadow: 0 -.5rem 1.5rem rgba(0, 0, 0, .3); overscroll-behavior: contain; }
    .flt-js .flt-sheet[open] > .flt-sheet-body .flt-form { border: 0 !important; border-radius: 0 !important; padding-bottom: 0 !important; }
    .flt-js .flt-form[data-flt-mode="sheet"] .flt-apply { position: sticky; bottom: 0; margin: 0 -1rem; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
        background: var(--bs-body-bg, #fff); border-top: 1px solid var(--bs-border-color, #dee2e6); }
    .flt-backdrop { position: fixed; inset: 0; z-index: 1050; background: rgba(0, 0, 0, .45); }
    body.flt-sheet-open { overflow: hidden; }
    .flt-js .flt-form[data-flt-mode="sheet"] .flt-apply .btn { padding: .65rem; font-size: 1rem; }
}
