/*
 * Price-only capability. Enqueue on ordinary frontend documents after theme
 * and Manager sheets, independently of the home/shop title-usability sheet.
 * Actual native price markup is the scope: editorial search and totals have
 * neither a loop-card owner nor one of these explicit adapters.
 */
:is(.products-slider, .row.products, ul.products)
  :is(.product.item, li.product) .woocommerce-LoopProduct-link > .price,
.bb-recently-viewed .bb-rv-card .bb-rv-price,
body.single-product .single-product-content .summary > .price,
body.single-product .single-product-content .summary .woocommerce-variation-price > .price,
.gpls-arcw-quick-view-popup .summary > .price,
.gpls-arcw-quick-view-popup .summary .woocommerce-variation-price > .price,
:is(.single-product-content, body.single-product .frequently-bought-section)
  .woobt-product .woobt-price > :is(.woobt-price-new, .woobt-price-ori),
.woosw-list .woosw-item .woosw-item--price,
.woosw-popup .woosw-item .woosw-item--price {
  --bb-catalog-price-flow: single-line-v1;
}

/* No competing price observer: the shared measured fitter owns the inline
 * row layout/overflow fonts; theme owns only this exceptional wider reflow.
 * These attributes are written only after measured failure at the 1rem floor.
 */
:is(ul.products, .row.products, .products-slider, .bb-rv-track)
  [data-bbfaq-one-line-price] {
  text-overflow: clip;
}
:is(ul.products, .row.products, .products-slider, .bb-rv-track)
[data-bbfaq-price-reflow="grid"],
:is(ul.products, .row.products, .products-slider, .bb-rv-track)[data-bbfaq-price-reflow="grid"],
body.bb-modernization-enabled
:is(.shop-page-wrapper, .related.products, .upsells.products, .cross-sells,
    .cart-slider-products, .bb-recently-viewed)
:is(ul.products, .row.products, .bb-rv-track)[data-bbfaq-price-reflow="grid"],
body.bb-modernization-enabled main.site-main
:is(.products-slider, .row.products)[data-bbfaq-price-reflow="grid"] {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--bbfaq-price-min-cell)), 1fr)) !important;
}
[data-bbfaq-price-reflow="grid"] > :is(li.product, .product.item, .bb-rv-card),
body.bb-modernization-enabled
:is(ul.products, .row.products, .products-slider, .bb-rv-track)[data-bbfaq-price-reflow="grid"]
> :is(li.product, .product.item, .bb-rv-card) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  flex: none !important;
}
.single-product-content [data-bbfaq-price-reflow="summary"] {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}
.single-product-content .product[data-bbfaq-price-reflow="summary-product"] {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* The native Recently Viewed non-sale slot reserves an empty regular track
 * with a flex ::before item. The whole-range fitter must use an inline/block
 * context (not split amount/dash flex items), so explicitly retain that same
 * 42px + 6px track in block flow. Do not reduce the compliant native font.
 */
.bb-recently-viewed .bb-rv-cardlink
.bb-rv-price[data-bbfaq-one-line-price]:not(:has(> del))::before {
  display: block !important;
  height: 42px;
  min-height: 42px;
  margin-bottom: 6px;
}