/* Xtocky AJAX category multi-select widget. Scoped to this widget only. */
.xacf-filter {
  --xacf-accent: #1173bc;
  --xacf-accent-soft: #eaf4fc;
  --xacf-foreground: #253044;
  --xacf-border: #dbe3ec;
  --xacf-muted: #6d7889;
  color: var(--xacf-foreground);
}
.xacf-filter .xacf-form,
.xacf-filter .xacf-fieldset { border: 0; margin: 0; padding: 0; }
.xacf-filter .xacf-list { list-style: none; margin: 0; padding: 0; }
.xacf-filter .xacf-list-children { margin: 2px 0 4px 15px; padding-left: 9px; border-left: 1px solid var(--xacf-border); }
.xacf-filter .xacf-item { display: block; float: none !important; clear: both; width: 100%; list-style: none; margin: 0 !important; padding: 0 !important; border: 0; }
.xacf-filter .xacf-label {
  display: flex; align-items: center; gap: 9px;
  padding: 5px 8px; margin: 1px 0;
  min-height: 28px; border-radius: 6px; cursor: pointer;
  color: var(--xacf-foreground); font-weight: 400;
  font-size: 13px; line-height: 1.4;
  transition: background-color 150ms ease, color 150ms ease;
}
.xacf-filter .xacf-label:hover { background: #f3f7fb; color: var(--xacf-accent); }
.xacf-filter .xacf-item.is-selected > .xacf-label { background: var(--xacf-accent-soft); color: var(--xacf-accent); font-weight: 600; }
.xacf-filter input.xacf-checkbox {
  appearance: none; -webkit-appearance: none;
  width: 16px !important; height: 16px !important; min-width: 16px;
  display: inline-grid !important; place-content: center;
  padding: 0 !important; margin: 0 !important;
  border: 1.5px solid #b6c3d1 !important; border-radius: 4px !important;
  box-shadow: none !important; background: #fff !important;
  cursor: pointer; position: relative; vertical-align: middle;
}
.xacf-filter input.xacf-checkbox:checked { border-color: var(--xacf-accent) !important; background: var(--xacf-accent) !important; }
.xacf-filter input.xacf-checkbox:checked::after {
  content: ''; width: 7px; height: 4px;
  border: solid #fff; border-width: 0 0 2px 2px;
  transform: rotate(-45deg) translate(1px, -1px);
}
.xacf-filter input.xacf-checkbox:focus-visible { outline: 2px solid var(--xacf-accent); outline-offset: 3px; }
.xacf-filter .xacf-name { min-width: 0; flex: 1 1 auto; }
.xacf-filter .xacf-count { flex: 0 0 auto; margin-left: auto; color: var(--xacf-muted); font-size: 11px; }
.xacf-filter .xacf-controls { display: flex; justify-content: flex-end; gap: 9px; margin: 14px 0 0; }
.xacf-filter .xacf-clear,
.xacf-filter .xacf-apply {
  border: 1px solid var(--xacf-border); border-radius: 6px;
  padding: 7px 11px; margin: 0; background: #fff; color: var(--xacf-foreground);
  font-size: 12px; line-height: 1.4; cursor: pointer; text-transform: none; text-decoration: none;
}
.xacf-filter .xacf-clear[aria-disabled="true"] { opacity: .4; cursor: default; pointer-events: none; }
.xacf-filter .xacf-clear:not([aria-disabled="true"]):hover { color: var(--xacf-accent); border-color: var(--xacf-accent); }
.xacf-filter .xacf-apply { color: #fff; background: var(--xacf-accent); border-color: var(--xacf-accent); }
.xacf-filter.xacf-has-js .xacf-apply { display: none; }
.xacf-filter .xacf-live { font-size: 11px; line-height: 1.5; color: var(--xacf-muted); min-height: 0; }
.xacf-filter.is-loading .xacf-live { margin-top: 7px; }
body.xacf-loading #primary main#main .products-grid.product-container-row,
body.xacf-loading #primary main#main .products.product-container-row { opacity: .55; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .xacf-filter .xacf-label { transition: none; } }

/* Preserve interactivity while Xtocky reloads product cards. */
.filter-trigger-canvas .widget_price_filter form[aria-busy="true"] .price_slider_amount button { opacity: .75; }
