.catalog-filterbar { display:flex; align-items:center; gap:10px; margin:0 0 28px; padding:12px 0; border-top:1px solid #ececec; border-bottom:1px solid #ececec; }
.catalog-filterbar__group { position:relative; min-width:172px; }
.catalog-filterbar__group summary { display:flex; align-items:center; justify-content:space-between; box-sizing:border-box; min-height:44px; padding:0 15px; list-style:none; border:1px solid #dedede; background:#fff; color:#282828; cursor:pointer; font-size:13px; font-weight:600; transition:border-color .18s ease, background-color .18s ease, color .18s ease; }
.catalog-filterbar__group summary::-webkit-details-marker { display:none; }
.catalog-filterbar__group summary::after { content:'+'; color:#599823; font-size:19px; font-weight:400; line-height:1; }
.catalog-filterbar__group[open] summary::after { content:'-'; }
.catalog-filterbar__group summary:hover, .catalog-filterbar__group[open] summary { border-color:#599823; background:#f8fbf5; }
.catalog-filterbar__group summary:focus-visible, .catalog-filterbar__actions button:focus-visible, .catalog-filterbar__actions a:focus-visible, .catalog-filterbar__sort select:focus-visible { outline:2px solid #599823; outline-offset:2px; }
.catalog-filterbar__options { position:absolute; z-index:20; top:51px; left:0; box-sizing:border-box; width:244px; max-height:288px; padding:9px 12px; overflow:auto; background:#fff; border:1px solid #dedede; box-shadow:0 14px 28px rgba(26,31,22,.14); }
.catalog-filterbar__options label { display:flex; align-items:center; gap:9px; min-height:32px; margin:1px 0; padding:0 4px; font-size:13px; font-weight:400; cursor:pointer; transition:background-color .15s ease; }
.catalog-filterbar__options label:hover { background:#f3f8ed; }
.catalog-filterbar__options input { width:16px; height:16px; margin:0; accent-color:#599823; }
.catalog-filterbar__actions { display:inline-flex; flex:0 0 auto; flex-wrap:nowrap; gap:8px; align-items:center; white-space:nowrap; }
.catalog-filterbar__actions button, .catalog-filterbar__actions a { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:44px; padding:0 17px; border:1px solid #599823; background:#599823; color:#fff; font-size:13px; font-weight:600; line-height:1; text-decoration:none; white-space:nowrap; transition:background-color .18s ease, color .18s ease; }
.catalog-filterbar__actions button:hover { background:#477b1c; border-color:#477b1c; }
.catalog-filterbar__actions a { background:#fff; color:#4e4e4e; border-color:#dedede; }
.catalog-filterbar__actions a:hover { border-color:#599823; color:#477b1c; }
.catalog-filterbar__sort { display:flex; align-items:center; gap:8px; margin-left:auto; color:#777; font-size:12px; font-weight:400; }
.catalog-filterbar__sort select { min-height:36px; padding:0 30px 0 13px; border:1px solid #dedede; border-radius:20px; background:#fff; color:#555; font:inherit; cursor:pointer; transition:border-color .18s ease; }
.catalog-filterbar__sort select:hover { border-color:#599823; }
@media (max-width:767px) { .catalog-filterbar { flex-wrap:wrap; gap:8px; padding:10px 0; } .catalog-filterbar__group { flex:1 1 calc(50% - 4px); min-width:0; } .catalog-filterbar__group summary { min-height:42px; padding:0 12px; font-size:12px; } .catalog-filterbar__options { top:48px; width:calc(100vw - 32px); } .catalog-filterbar__actions { order:3; width:100%; } .catalog-filterbar__actions button, .catalog-filterbar__actions a { flex:1; padding:0 10px; } .catalog-filterbar__sort { order:2; width:100%; margin-left:0; justify-content:space-between; } .catalog-filterbar__sort select { flex:1; max-width:210px; } }
