/*
 * Product-list sidebar filters (category, search, classify) restyled to match the
 * /promotion filter panel (promotion.css). Visual only: markup hooks used by the
 * filter JS are untouched.
 * P = .filter.plp-filter.plp-filter — the repeated class lifts specificity above
 * style.css's ".shop-product .shop .filter ..." rules so this file wins on load order.
 */

/* Sidebar column: style.css uses overflow-y:scroll, which always draws a scrollbar. */
.filter-container { overflow-y: auto; }

/* Panel: one white card, blocks separated by hairlines. */
.filter.plp-filter.plp-filter { padding: 0 16px; background: #fff; border: 1px solid #e8eaf0; border-radius: 18px; box-shadow: 0 4px 24px #182b4605; color: #182b46; }
.filter.plp-filter.plp-filter :is(.brand,.available,.pric,.category) { margin: 0; padding: 16px 0; background: transparent; border: 0; border-top: 1px solid #eff0f4; border-radius: 0; height: auto; }
.filter.plp-filter.plp-filter > :is(.brand,.available,.pric,.category):not(.d-none):first-of-type,
.filter.plp-filter.plp-filter > .js-filter_box.d-none + .available { border-top: 0; }

/* Block titles (custom.min.css sets these with !important). */
.filter.plp-filter.plp-filter .title { margin: 0 0 12px; padding: 0; border: 0; }
.filter.plp-filter.plp-filter .title :is(span,h6) { display: block !important; padding: 0 !important; border: 0 !important; text-align: right !important; color: #26354a; font-size: 12px !important; font-weight: 700; line-height: 28px; }

/* "Only in stock" / "discounted": same checkbox row as the option lists
   (switch.pure.min.css has no switch styles, so these were native checkboxes). */
.filter.plp-filter.plp-filter .available { padding-block: 12px; }
.filter.plp-filter.plp-filter :is(.available-stock-switch,.available-discounted-switch) { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 10px; border-radius: 9px; transition: background .2s; }
.filter.plp-filter.plp-filter :is(.available-stock-switch,.available-discounted-switch):hover { background: #f6f7fa; }
.filter.plp-filter.plp-filter :is(.available-stock-switch,.available-discounted-switch):has(input:checked) { background: #fff0f6; }
.filter.plp-filter.plp-filter :is(.available-switch,.discounted-switch) { display: flex; flex: 0 0 15px; width: 15px; height: 15px; margin: 0; }
.filter.plp-filter.plp-filter :is(.available-stock-only,.available-discounted-only) { visibility: visible; appearance: none; -webkit-appearance: none; width: 15px; height: 15px; margin: 0; border: 1px solid #cbd0da; border-radius: 5px; background: #fff; opacity: 1; cursor: pointer; transition: background .2s,border-color .2s; }
.filter.plp-filter.plp-filter :is(.available-stock-only,.available-discounted-only):checked { border-color: #d90268; background: #d90268; box-shadow: inset 0 0 0 3px #fff; }
.filter.plp-filter.plp-filter :is(.available-stock-only,.available-discounted-only):focus-visible { outline: 2px solid #d90268; outline-offset: 2px; }
.filter.plp-filter.plp-filter .available-switch-slider { display: none; }
.filter.plp-filter.plp-filter .available-stock-switch-text { flex: 1; margin: 0 !important; color: #5c6677 !important; font-size: 11px !important; font-weight: 400 !important; line-height: 1.8; cursor: pointer; }
.filter.plp-filter.plp-filter :has(> label input:checked) > .available-stock-switch-text { color: #b80155 !important; }

/* Scrollable option lists. */
.filter.plp-filter.plp-filter .brand .brand-box { max-height: 184px; margin: 0; padding-inline-end: 5px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #cbd0da transparent; }
.filter.plp-filter.plp-filter .brand-box::-webkit-scrollbar { width: 4px; }
.filter.plp-filter.plp-filter .brand-box::-webkit-scrollbar-thumb { background: #cbd0da; border-radius: 8px; }
.filter.plp-filter.plp-filter .brand-box::-webkit-scrollbar-track { background: transparent; }
.filter.plp-filter.plp-filter .brand-box::-webkit-scrollbar-button { display: none; }
.filter.plp-filter.plp-filter .card-main { display: flex; flex-direction: column; gap: 3px; margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }

/* Checkbox rows (brand, property values). */
.filter.plp-filter.plp-filter .row-option-filter { position: relative; display: flex; align-items: center; gap: 10px; min-height: 40px; margin: 0; padding: 8px 10px; border-radius: 9px; cursor: pointer; transition: background .2s; }
.filter.plp-filter.plp-filter .row-option-filter:hover { background: #f6f7fa; }
.filter.plp-filter.plp-filter .row-option-filter:has(input:checked) { background: #fff0f6; }
.filter.plp-filter.plp-filter .row-option-filter .ui-checkbox { position: relative; top: auto; right: auto; flex: 0 0 15px; width: 15px; height: 15px; margin: 0; }
/* The input itself is the box: main.min.css (.ui-checkbox-check) isn't loaded on every page. */
.filter.plp-filter.plp-filter .row-option-filter .ui-checkbox input[type=checkbox] { position: static; display: block !important; appearance: none; -webkit-appearance: none; width: 15px; height: 15px; margin: 0; border: 1px solid #cbd0da; border-radius: 5px; background: #fff; opacity: 1; cursor: pointer; transition: background .2s,border-color .2s; }
.filter.plp-filter.plp-filter .row-option-filter .ui-checkbox input[type=checkbox]:checked { border-color: #d90268; background: #d90268; box-shadow: inset 0 0 0 3px #fff; }
.filter.plp-filter.plp-filter .row-option-filter .ui-checkbox input[type=checkbox]:focus-visible { outline: 2px solid #d90268; outline-offset: 2px; }
.filter.plp-filter.plp-filter .row-option-filter .ui-checkbox-check { display: none; }
.filter.plp-filter.plp-filter .row-option-filter .remember-me { flex: 1; margin: 0; color: #5c6677; font-size: 11px; line-height: 1.8; text-align: right; cursor: pointer; }
.filter.plp-filter.plp-filter .row-option-filter:has(input:checked) .remember-me { color: #b80155; }

/* Category / series link lists. */
.filter.plp-filter.plp-filter .brand-box .c-box_cat-list { display: flex !important; flex-direction: column; gap: 3px; margin: 0; padding: 0; }
.filter.plp-filter.plp-filter .brand-box .c-box_cat-list .c-box_cat-list { margin-inline-start: 16px; }
.filter.plp-filter.plp-filter .c-box_cat-item { margin: 0; font-size: 11px; line-height: 1.8; }
.filter.plp-filter.plp-filter .c-box_cat-span { display: block; margin: 0; padding: 0; }
.filter.plp-filter.plp-filter .c-box_cat-span::before { content: none; }
.filter.plp-filter.plp-filter .c-box_cat-link { display: flex; align-items: center; min-height: 40px; padding: 8px 10px; border-radius: 9px; color: #5c6677; font-size: 11px; transition: background .2s,color .2s; }
.filter.plp-filter.plp-filter .c-box_cat-link:hover { background: #f6f7fa; color: #26354a; }
.filter.plp-filter.plp-filter .c-box_cat-link.is-active { background: #fff0f6; color: #b80155; font-weight: 700; }

/* Active-filter chips ("فیلتر ها" box, filled by JS). */
.filter.plp-filter.plp-filter .js-filter_box .brand-box { max-height: none; }
.filter.plp-filter.plp-filter .js-filters { display: flex !important; flex-wrap: wrap; flex-direction: row; gap: 6px; }
.filter.plp-filter.plp-filter .js-filters > li { margin: 0; }
.filter.plp-filter.plp-filter .c-list_filter-lable { margin: 0; padding: 0 12px 0 30px; border: 1px solid #eea2c4; border-radius: 10px; background: #fff0f6; color: #b80155; font-size: 11px; line-height: 30px; }
.filter.plp-filter.plp-filter .c-list_filter-remove::before { content: "×"; margin-top: 7px; color: #b80155; font-size: 14px; }

/* Price range. */
.filter.plp-filter.plp-filter .c-box_filter-slider { padding: 20px 8px 24px; border-bottom: 1px solid #eff0f4; }
.filter.plp-filter.plp-filter .noUi-target { background: #eff0f4; border: 0; border-radius: 8px; box-shadow: none; }
.filter.plp-filter.plp-filter .noUi-connect { background: #d90268; }
.filter.plp-filter.plp-filter .noUi-handle { border: 3px solid #d90268 !important; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px #182b4633; cursor: grab; }
.filter.plp-filter.plp-filter .noUi-handle::before,
.filter.plp-filter.plp-filter .noUi-handle::after { display: none; }
.filter.plp-filter.plp-filter .c-filter_range li { padding: 12px 0 0; color: #687386; font-size: 11px; }
.filter.plp-filter.plp-filter .c-filter_range li + li { border-right: 1px solid #eff0f4; }
.filter.plp-filter.plp-filter .c-filter_range input[type="text"] { width: calc(100% - 16px); max-width: 110px; height: 36px; margin: 6px 0; border: 1px solid #e4e7ee; border-radius: 10px; background: #f8f9fb; color: #26354a; font-size: 12px; text-align: center; }

@media (prefers-reduced-motion:reduce) {
    .filter.plp-filter.plp-filter :is(.row-option-filter,.c-box_cat-link,.available-stock-switch,.available-discounted-switch,.available-stock-only,.available-discounted-only,.ui-checkbox input) { transition: none; }
}
