/* V4 only: reuse existing theme classes, scope every rule by data attribute. */
[data-filter-v4] { background:#fff; padding:14px 10px; border-radius:12px; }
[data-filter-v4] [hidden] { display:none !important; }
[data-filter-v4] h5 { font-size:16px; font-weight:700; margin:0 0 14px; }
[data-filter-v4] .filter-bar-vertical { display:flex; flex-direction:column; gap:8px; }
[data-filter-v4] .aside-item { margin:0; padding:0; border:1px solid var(--border-color,#eee); border-radius:8px; overflow:hidden; }
[data-filter-v4] .filter-popup-btn { display:flex; justify-content:space-between; align-items:center; width:100%; padding:11px 10px; border:0; background:#f6f7f9; color:var(--text-color,#222); font:inherit; font-size:13px; font-weight:600; text-align:left; cursor:pointer; }
[data-filter-v4] .filter-popup-content { display:block; max-height:230px; overflow:auto; padding:4px; }
[data-filter-v4] ul { list-style:none; padding:0; margin:0; }
[data-filter-v4] .custom-checkbox { display:flex; align-items:center; gap:8px; padding:7px 6px; margin:0; cursor:pointer; font-size:12px; line-height:1.5; }
[data-filter-v4] .custom-checkbox:hover { background:#f6f7f9; }
[data-filter-v4] input[type="checkbox"] { display:inline-block !important; opacity:1 !important; visibility:visible !important; position:static !important; width:16px; height:16px; flex:0 0 16px; appearance:auto; accent-color:var(--primary-color,#e74a4a); margin:0; }
[data-filter-v4] input:checked + span { color:var(--primary-color,#e74a4a); font-weight:600; }
[data-filter-v4] .filter-selected-bar { display:flex; flex-direction:column; gap:8px; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid #eee; }
[data-filter-v4] .filter-selected-bar__title { font-size:13px; font-weight:600; }
[data-filter-v4] .filter-tags { display:flex; flex-wrap:wrap; gap:6px; }
[data-filter-v4] .filter-tag-item { display:inline-flex; gap:5px; align-items:center; border:1px solid #eee; padding:4px 7px; border-radius:6px; font-size:12px; background:#fafafa; }
[data-filter-v4] .remove { border:0; background:transparent; color:var(--primary-color,#e74a4a); padding:0 3px; font:inherit; cursor:pointer; }
[data-filter-v4] .clear-all-btn { align-self:flex-start; border:0; border-radius:6px; padding:7px 10px; font-size:12px; color:#fff; background:var(--primary-color,#e74a4a); cursor:pointer; }
[data-filter-v4] .filter-popup-btn:focus-visible, [data-filter-v4] button:focus-visible, [data-filter-v4] input:focus-visible { outline:2px solid var(--primary-color,#e74a4a); outline-offset:2px; }
[data-filter-v4] [data-filter-status] { margin:12px 0 0; font-size:12px; }
[data-filter-v4] [data-filter-progress] { margin-top:12px; font-size:12px; color:#777; }
[data-filter-v4] .progress { height:3px; margin-top:6px; background:#eee; border-radius:3px; }
[data-filter-v4] .progress-bar { min-width:8%; height:100%; background:var(--primary-color,#e74a4a); transition:width .2s ease; }
@media(max-width:767px) { [data-filter-v4] .filter-popup-content { max-height:180px; } }