/* Shop filter UI loaded after main.min.css so these rules also cover desktop. */
.bj-filter-toggle-count { min-width: 24px; height: 24px; padding-inline: 7px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--bj-yellow); color: var(--bj-ink); font-size: .75rem; font-weight: 900; line-height: 1; }
.bj-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
.bj-active-filters > strong { margin-right: 2px; color: var(--bj-muted); font-size: .78rem; }
.bj-active-filter-chip { min-height: 34px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid #cbd5df; border-radius: 999px; background: #fff; color: var(--bj-ink); font-size: .78rem; font-weight: 800; line-height: 1.2; text-decoration: none; }
.bj-active-filter-chip:hover { border-color: var(--bj-red); color: var(--bj-red-dark); }
.bj-active-filter-chip span[aria-hidden="true"] { font-size: 1rem; line-height: 1; }

/* Mobile shop viewport lock */
@media (max-width: 820px) {
  body.woocommerce-shop,
  body.post-type-archive-product,
  body.tax-product_cat,
  body.tax-product_tag {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }

  .bj-woocommerce-main,
  .bj-shop-hero,
  .bj-shop-hero-grid,
  .bj-shop-theme-nav,
  .bj-shop-layout,
  .bj-shop-products,
  .bj-shop-layout > *,
  .bj-shop-products > *,
  .bj-shop-products ul.products,
  .bj-shop-products ul.products li.product {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .bj-shop-products {
    overflow-x: hidden;
    overflow-x: clip;
  }

  .bj-shop-theme-links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    max-width: 100%;
    overflow-x: visible;
    padding: 2px 0;
  }

  .bj-shop-theme-links a {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-ordering select,
  .bj-product-search,
  .bj-product-search > div,
  .bj-filter-toggle {
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 600px) {
  .bj-shop-theme-links a {
    flex: 1 1 auto;
    justify-content: center;
  }
}
