.filter-container {
    padding: 18px;
    background: #fff;
    border: 1px solid #eee5ed;
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(63, 31, 58, .06);
}
.package-filter-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.package-filter-heading h2 { margin:0; font-size:18px; font-weight:700; color:#382333; }
.package-filter-heading h2 i { color:#853779; margin-right:6px; }
.package-filter-reset { border:0; background:transparent; color:#853779; font-size:12px; font-weight:600; padding:7px 0; white-space:nowrap; }
.package-filter-reset:hover { text-decoration:underline; }
.package-filter-hint { font-size:12px; color:#81727e; margin-bottom:16px; }
.filter-container .filter-accordion .accordion-item { border:0; border-top:1px solid #f0e9ee; background:transparent; }
.filter-container .filter-accordion .accordion-button { padding:15px 0; font-size:14px; font-weight:600; color:#453440; background:transparent; box-shadow:none; border-radius:0; }
.filter-container .filter-accordion .accordion-button:not(.collapsed) { color:#853779; background:transparent; }
.filter-container .accordion-button:focus-visible { outline:2px solid #853779; outline-offset:2px; }
.filter-container .filter-accordion .accordion-body { padding:0 0 14px; max-height:260px; overflow-y:auto; scrollbar-width:thin; }
.filter-container .form-check { display:flex; align-items:center; gap:9px; padding:9px 10px; margin:3px 0; border-radius:8px; transition:background .15s; }
.filter-container .form-check:hover { background:#faf5f9; }
.filter-container .form-check:has(input:checked) { background:#f3e7f1; }
.filter-container .form-check .form-check-input { float:none; flex-shrink:0; margin:0; width:17px; height:17px; border-color:#d3c7d0; cursor:pointer; }
.filter-container .form-check-input:checked { background-color:#853779; border-color:#853779; }
.filter-container .form-check-input:focus { box-shadow:0 0 0 3px rgba(133,55,121,.15); }
.filter-container .form-check-label { flex:1; color:#55444f; font-size:13px; cursor:pointer; }
.filter-container .form-range { accent-color:#853779; }
.filter-container .form-range::-webkit-slider-thumb { background:#853779; }
.filter-container .form-range::-moz-range-thumb { background:#853779; }
.filter-container .accordion-body .d-flex { font-size:12px; color:#75636f; margin-top:8px; }
[id^="offcanvasFilters"] { width:min(380px, 92vw) !important; background:#faf7f9; }
[id^="offcanvasFilters"] .offcanvas-header { border-bottom:1px solid #eee5ed; }
[id^="offcanvasFilters"] .offcanvas-title { font-size:18px; font-weight:700; color:#382333; }
[data-bs-target^="#offcanvasFilters"].btn {
    background:#853779 !important;
    border-color:#853779 !important;
    color:#fff !important;
    border-radius:10px;
    padding:12px;
}
[data-bs-target^="#offcanvasFilters"].btn:hover,
[data-bs-target^="#offcanvasFilters"].btn:focus,
[data-bs-target^="#offcanvasFilters"].btn:active {
    background:#6e2863 !important;
    border-color:#6e2863 !important;
    color:#fff !important;
}
