.ab-filters{display:flex;gap:22px 34px;justify-content:center;align-items:center;flex-wrap:wrap;margin:30px 0 26px}
.ab-f{display:flex;align-items:center;gap:12px;color:#5E4B72;font-size:14px;font-weight:600}
.abf-chips{display:flex;gap:6px}
.abf-chips button{min-width:36px;height:34px;padding:0 10px;border-radius:999px;border:1.5px solid #D9C4EE;background:#fff;color:#3C0F66;font-weight:700;font-size:13px;cursor:pointer;transition:.2s}
.abf-chips button:hover{border-color:#5A189A}
.abf-chips button.is-on{background:#5A189A;border-color:#5A189A;color:#fff;box-shadow:0 4px 12px rgba(90,24,154,.28)}
.abf-price{display:flex;align-items:center;gap:12px}
.abf-range{position:relative;width:170px;height:22px}
.abf-range::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:#D9C4EE;border-radius:3px}
.abf-fill{position:absolute;top:50%;height:3px;margin-top:-1.5px;background:#5A189A;border-radius:3px}
.abf-range input{position:absolute;inset:0;width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.abf-range input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#5A189A;border:3px solid #fff;box-shadow:0 2px 8px rgba(60,15,102,.35);cursor:grab}
.abf-range input::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:#5A189A;border:3px solid #fff;box-shadow:0 2px 8px rgba(60,15,102,.35);cursor:grab}
.abf-range input::-webkit-slider-runnable-track{background:none}
.abf-range input::-moz-range-track{background:none}
.abf-price output{min-width:110px;font-weight:800;color:#3C0F66;font-size:13px}
.abf-dots{display:flex;gap:10px}
.abf-dots button{position:relative;width:24px;height:24px;border-radius:50%;border:1.5px solid #D9C4EE;padding:0;cursor:pointer;background:var(--dot,#ddd);transition:transform .2s,box-shadow .2s}
.abf-dots button:hover{transform:scale(1.12)}
.abf-dots button.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #5A189A}
.abf-dots button::after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);white-space:nowrap;background:#3C0F66;color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;opacity:0;pointer-events:none;transition:.2s;z-index:5}
.abf-dots button:hover::after{opacity:1;transform:translate(-50%,0)}
.abf-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:#3C0F66}
.abf-reset{background:none;border:0;color:#5A189A;font-weight:700;text-decoration:underline;cursor:pointer;font-size:13px;padding:0;opacity:.45;transition:opacity .2s}
.abf.is-active .abf-reset{opacity:1}
.ab-item.abf-out{animation:abfOut .28s ease forwards}
.ab-item.abf-in{animation:abfIn .42s cubic-bezier(.22,1,.36,1) backwards}
.ab-item.abf-hide{display:none}
@keyframes abfOut{to{opacity:0;transform:scale(.9)}}
@keyframes abfIn{from{opacity:0;transform:scale(.9)}}
.abf-empty{text-align:center;padding:40px 10px 10px;color:#3C0F66;font-weight:700}
.abf-empty p{margin:0 0 16px;font-size:16px}
@media(max-width:749px){.ab-filters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:4px 4px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:24px}.ab-filters::-webkit-scrollbar{display:none}.ab-f,.abf-meta{flex:0 0 auto}.abf-dots button::after{display:none}}
@media(prefers-reduced-motion:reduce){.ab-item.abf-out,.ab-item.abf-in{animation:none}}
