.bof-root{position:relative;margin:0 0 28px;color:var(--bof-text);font-size:14px;width:100%;clear:both}
.bof-root *{box-sizing:border-box}
.bof-panel{background:var(--bof-bg);border:1px solid var(--bof-border);border-radius:var(--bof-radius);box-shadow:var(--bof-shadow);padding:18px}
.bof-form__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.bof-form__title{margin:0;font-size:20px;line-height:1.2}
.bof-form__subtitle{margin-top:4px;color:#667085}
.bof-panel__close{display:none;border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#111827}
.bof-form__grid{display:grid;grid-template-columns:repeat(var(--bof-cols-desktop),minmax(0,1fr));gap:14px}
.bof-form__field{min-width:0}
.bof-form__label{display:block;margin:0 0 8px;font-weight:700;font-size:13px}
.bof-form__field input[type=text],.bof-form__field input[type=number],.bof-native-choice,.bof-choice__trigger{width:100%;min-height:46px;padding:12px 14px;border:1px solid var(--bof-border);border-radius:var(--bof-field-radius);background:#fff;color:var(--bof-text)}
.bof-range{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bof-range input::placeholder{color:#98a2b3}
.bof-form__sort{max-width:320px}.bof-form__sort .bof-native-choice,.bof-form__sort .bof-choice__trigger{width:100%}.bof-form__footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;flex-wrap:wrap}.bof-form__footer-main{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.bof-form__sort--desktop{margin-top:0;min-width:220px}
.bof-form__count{font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bof-form__count-separator{color:#98a2b3}
.bof-form__actions{display:flex;gap:10px;flex-wrap:wrap}
.bof-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;text-decoration:none;font-weight:600}
.bof-btn--primary{background:var(--bof-primary);color:#fff}
.bof-btn--ghost{background:#fff;border-color:var(--bof-border);color:var(--bof-text)}
.bof-btn--more{margin:18px auto 0}
.bof-btn.is-hidden,.is-hidden{display:none!important}

.bof-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.bof-active-filters.is-empty{display:none}
.bof-active-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--bof-border);background:#fff;cursor:pointer;color:var(--bof-text)}
.bof-active-chip__x{font-size:18px;line-height:1}

.bof-choice{position:relative}
.bof-choice__trigger{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding-right:74px;cursor:pointer}
.bof-choice__summary.is-placeholder{color:#98a2b3}
.bof-choice__meta{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f3f4f6;font-size:11px;font-weight:700}
.bof-choice__clear{position:absolute;right:34px;top:50%;transform:translateY(-50%);font-size:20px;line-height:1;color:#98a2b3;cursor:pointer;display:none}
.bof-choice__clear.is-visible{display:block}
.bof-choice__arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;color:#667085}
.bof-choice__panel{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;background:#fff;border:1px solid var(--bof-border);border-radius:16px;box-shadow:0 16px 40px rgba(15,23,42,.12);padding:12px;display:none;min-width:280px}
.bof-choice.is-open .bof-choice__panel{display:block}
.bof-choice__toolbar{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.bof-choice__search{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--bof-border);border-radius:12px}
.bof-choice__bulk{display:flex;gap:6px;justify-content:flex-start;flex-wrap:wrap;margin-top:8px}
.bof-choice__bulk button{border:none;background:#f5f7fa;border-radius:10px;padding:6px 10px;cursor:pointer;font-size:12px;line-height:1.2}
.bof-choice__options{margin-top:10px;max-height:260px;overflow:auto;display:grid;gap:6px}
.bof-choice__option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;cursor:pointer}
.bof-choice__option:hover{background:#f8fafc}
.bof-choice__option.is-disabled{opacity:.45;pointer-events:none}
.bof-choice__option-text{margin-right:auto}
.bof-choice__count{font-size:12px;color:#667085}

.bof-native-choice--hidden{display:none!important}
.bof-chips{display:flex;flex-wrap:wrap;gap:8px}
.bof-chip{border:1px solid var(--bof-border);background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer;color:var(--bof-text);transition:.18s}
.bof-chip:hover{border-color:var(--bof-primary)}
.bof-chip.is-active{background:var(--bof-primary);border-color:var(--bof-primary);color:#fff}
.bof-chip.is-disabled{opacity:.45;cursor:not-allowed}
.bof-chips--admin .bof-chip{padding:8px 12px}

.bof-results-wrap{margin-top:16px}
.bof-results{position:relative;min-height:50px}
.bof-root.is-loading .bof-results,.bof-root.is-loading .bof-panel{opacity:.7;pointer-events:none}
.bof-more{text-align:center}

.bof-mobile-bar,.bof-overlay{display:none}
html.bof-lock-scroll,body.bof-lock-scroll{overflow:hidden;height:100%}

@media (max-width: 991px){
  .bof-form__grid{grid-template-columns:repeat(var(--bof-cols-tablet),minmax(0,1fr))}
  .bof-mobile-bar{display:flex;position:sticky;top:12px;z-index:6;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
  .bof-mobile-bar__btn{border:none;background:var(--bof-primary);color:#fff;padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer;flex:0 0 auto}
  .bof-mobile-bar__sort{display:block;flex:1 1 auto;min-width:0}
  .bof-mobile-bar__sort .bof-native-choice{width:100%;min-height:42px;padding:10px 12px}
  .bof-mobile-bar__count{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;background:#fff;border:1px solid var(--bof-border);font-weight:700;flex:0 0 auto}
  .bof-form__sort--desktop{display:none}
  .bof-root:not(.is-mobile-open) .bof-panel{display:none}
  .bof-root.is-mobile-open .bof-overlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9998}
  .bof-root.is-mobile-open .bof-panel{display:block;position:fixed;left:0;right:0;bottom:0;top:8vh;z-index:9999;overflow:auto;border-radius:22px 22px 0 0;background:#fff;opacity:1}
  .bof-root.is-mobile-open .bof-form{display:flex;flex-direction:column;min-height:100%}
  .bof-form__footer{position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid var(--bof-border);padding:12px 18px calc(12px + env(safe-area-inset-bottom));margin:16px -18px -18px;display:flex;align-items:center;justify-content:space-between;gap:12px;width:auto}
  .bof-form__footer-main{width:100%;justify-content:space-between}
  .bof-panel__close{display:block}
}
@media (max-width: 640px){
  .bof-form__grid{grid-template-columns:1fr}
  .bof-form__footer{flex-direction:column;align-items:stretch}
  .bof-form__actions{width:100%;display:flex}
  .bof-form__actions .bof-btn{flex:1 1 0}
}
.bof-auto-root + .objects__row,.bof-auto-root + .objects-empty{margin-top:16px}

.bof-form__count-label{color:#667085;font-weight:600;margin-right:6px}

.bof-results-wrap{display:block}
.bof-auto-root .bof-more{margin-top:16px}

.bof-results-wrap{margin-top:18px}
.bof-pagination-wrap{margin-top:14px;text-align:center}
.bof-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.bof-pagination__btn,.bof-pagination__current{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--bof-border);background:#fff;color:var(--bof-text);font-weight:600}.bof-pagination__btn{cursor:pointer}.bof-pagination__btn:hover{border-color:var(--bof-primary);color:var(--bof-primary)}.bof-pagination__current{background:#f3f4f6;color:#6b7280;cursor:default;pointer-events:none}
.bof-pagination__dots{color:#98a2b3;padding:0 4px}

.bof-range{display:block}
.bof-range__inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bof-range__input-wrap{display:block}
.bof-range__input-wrap span{display:block;margin:0 0 6px;color:#667085;font-size:12px;font-weight:600}
.bof-range__slider-wrap{position:relative;height:34px;margin-top:12px}
.bof-range__track{position:absolute;left:0;right:0;top:14px;height:6px;border-radius:999px;background:#e9edf3}
.bof-range__track span{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--bof-primary);left:0;right:0}
.bof-range__slider{position:absolute;left:0;right:0;top:4px;width:100%;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}
.bof-range__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:var(--bof-primary);box-shadow:0 2px 10px rgba(0,0,0,.18);pointer-events:auto;cursor:pointer}
.bof-range__slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:var(--bof-primary);box-shadow:0 2px 10px rgba(0,0,0,.18);pointer-events:auto;cursor:pointer}
.bof-range__slider::-webkit-slider-runnable-track{height:6px;background:transparent}
.bof-range__slider::-moz-range-track{height:6px;background:transparent}
.bof-range__legend{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:#667085;font-size:12px}
.bof-range.is-no-slider .bof-range__slider-wrap,.bof-range.is-no-slider .bof-range__legend{display:none}

.bof-root[data-results-mode="replace_existing"] .bof-results-wrap{margin-top:18px}
.bof-root[data-results-mode="replace_existing"] + .objects__row,.bof-root[data-results-mode="replace_existing"] + .objects-empty{margin-top:0}

@media (max-width:640px){
  .bof-range__inputs{grid-template-columns:1fr}
  .bof-pagination__btn{min-width:38px;height:38px;padding:0 12px}
}


.bof-btn--apply-mobile{display:none}
.bof-root.is-mobile-dirty [data-bof-mobile-apply]{box-shadow:0 0 0 3px rgba(212,132,38,.18)}
@media (max-width: 991px){
  .bof-btn--apply-mobile{display:inline-flex}
}

@media (min-width: 992px){.bof-mobile-bar__sort{display:none}}
