/* FC Shop Grid scoped parity layer.
   No DOM observer. No frontend DOM rewrite. Grid description/stars/variation rows are server-rendered HTML. */
.brxe-fc-shop-grid,
.fcepb-fc-shop-grid {
  --fcepb-shop-grid-button-bg: #E5F1EF;
  --fcepb-shop-grid-button-border: #D6E8E5;
  --fcepb-shop-grid-button-text: #002E25;
  --fcepb-shop-grid-button-hover-border: #014D41;
  --fcepb-shop-grid-card-border: #D6E8E5;
  --fcepb-grid-badge-bg: #E5F1EF;
  --fcepb-grid-badge-text: #002E25;
  --fcepb-grid-badge-border: #D6E8E5;
  --fcepb-filter-line: #D6E8E5;
  --fcepb-filter-soft: #E5F1EF;
  --fcepb-filter-rail: #E5F1EF;
  --fcepb-filter-active-rail: #A7F3E7;
  --fcepb-filter-text: #000000;
  --fcepb-filter-price-text: #000000;
  --fcepb-filter-muted: #9AA3AD;
  --fcepb-filter-scroll-track: #F6FBFA;
  --fcepb-filter-scroll-thumb: #D6E8E5;
  --fcepb-filter-scroll-hover-thumb: #FF69B4;
  --fcepb-filter-scroll-thumb-visible-length: 80px;
  --fcepb-filter-sticky-header-height: 80px;
  --fcepb-filter-sticky-gap: 25px;
  --fcepb-filter-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--fcepb-filter-sticky-header-height, 80px) + var(--fcepb-filter-sticky-gap, 25px));
  --fcepb-filter-focus: rgba(0, 46, 37, 0.16);
  --fcepb-price-separator: #000000;
  --fcepb-shop-grid-title: #002E25;
  --fcepb-shop-grid-meta: #002E25;
  --fcepb-shop-grid-stars: #00584f;
  --fcepb-shop-grid-variant-bg: #E5F1EF;
  --fcepb-shop-grid-variant-text: #002E25;
  --fcepb-shop-grid-variant-border: #D6E8E5;
  --fcepb-shop-grid-variant-selected-bg: #E5F1EF;
  --fcepb-shop-grid-variant-selected-text: #002E25;
  --fcepb-shop-grid-variant-selected-border: #002E25;
}

/* FC Shop Grid 0.3.49 — header-aware native filter sidebar sticky offset.
   Target: the FluentCart filter sidebar wrapper only.
   Logic: sticky stop point = WordPress admin bar + site header height + gap.
   Does not touch Product Categories internal scroll height, scrollbar paint,
   price slider geometry, product cards, cart button, query, sort, or AJAX. */
@media (min-width: 992px) {
  .brxe-fc-shop-grid[data-fcepb-filter-sticky="1"] .fct-shop-filter-wrapper.fluent-cart-shop-app-filter-wrapper,
  .brxe-fc-shop-grid[data-fcepb-filter-sticky="1"] [data-fluent-cart-shop-app-filter-wrapper],
  .fcepb-fc-shop-grid[data-fcepb-filter-sticky="1"] .fct-shop-filter-wrapper.fluent-cart-shop-app-filter-wrapper,
  .fcepb-fc-shop-grid[data-fcepb-filter-sticky="1"] [data-fluent-cart-shop-app-filter-wrapper] {
    position: sticky !important;
    top: var(--fcepb-filter-sticky-top, calc(var(--wp-admin--admin-bar--height, 0px) + var(--fcepb-filter-sticky-header-height, 80px) + var(--fcepb-filter-sticky-gap, 25px))) !important;
    align-self: flex-start !important;
    height: fit-content !important;
    z-index: 20 !important;
  }
}


.brxe-fc-shop-grid .fct-product-card [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-product-card [data-fct-field="product-button"] {
  display: block !important;
  width: 100% !important;
}

.brxe-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button,
.brxe-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button],
.brxe-fc-shop-grid .fct-product-card button.fct-product-view-button,
.brxe-fc-shop-grid .fct-product-card a.fct-product-view-button,
.brxe-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button],
.fcepb-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button,
.fcepb-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button],
.fcepb-fc-shop-grid .fct-product-card button.fct-product-view-button,
.fcepb-fc-shop-grid .fct-product-card a.fct-product-view-button,
.fcepb-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button] {
  appearance: button !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-shrink: 0 !important;
  gap: 8px !important;
  width: calc(100% - 6px) !important;
  inline-size: calc(100% - 6px) !important;
  min-height: 42px !important;
  height: 42px !important;
  max-height: 42px !important;
  margin: 5px 3px 4px !important;
  padding: 0 20px !important;
  border: 1px solid var(--fcepb-shop-grid-button-border) !important;
  border-radius: 6px !important;
  background: var(--fcepb-shop-grid-button-bg) !important;
  background-color: var(--fcepb-shop-grid-button-bg) !important;
  color: var(--fcepb-shop-grid-button-text) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
  letter-spacing: 0.14px !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.brxe-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button .fct-button-text,
.brxe-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button] .fct-button-text,
.brxe-fc-shop-grid .fct-product-card button.fct-product-view-button .fct-button-text,
.brxe-fc-shop-grid .fct-product-card a.fct-product-view-button .fct-button-text,
.brxe-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button] .fct-button-text,
.fcepb-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button .fct-button-text,
.fcepb-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button] .fct-button-text,
.fcepb-fc-shop-grid .fct-product-card button.fct-product-view-button .fct-button-text,
.fcepb-fc-shop-grid .fct-product-card a.fct-product-view-button .fct-button-text,
.fcepb-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button] .fct-button-text {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
}

.brxe-fc-shop-grid .fct-product-card .fcepb-button-price,
.fcepb-fc-shop-grid .fct-product-card .fcepb-button-price {
  margin-left: auto !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

.brxe-fc-shop-grid .fct-product-card .fcepb-button-has-price .fluent-cart-loader,
.fcepb-fc-shop-grid .fct-product-card .fcepb-button-has-price .fluent-cart-loader {
  flex: 0 0 auto !important;
}

.brxe-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button:hover,
.brxe-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button:focus-visible,
.brxe-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button]:hover,
.brxe-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button]:focus-visible,
.brxe-fc-shop-grid .fct-product-card button.fct-product-view-button:hover,
.brxe-fc-shop-grid .fct-product-card button.fct-product-view-button:focus-visible,
.brxe-fc-shop-grid .fct-product-card a.fct-product-view-button:hover,
.brxe-fc-shop-grid .fct-product-card a.fct-product-view-button:focus-visible,
.brxe-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button]:hover,
.brxe-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button]:focus-visible,
.fcepb-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button:hover,
.fcepb-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button:focus-visible,
.fcepb-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button]:hover,
.fcepb-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button]:focus-visible,
.fcepb-fc-shop-grid .fct-product-card button.fct-product-view-button:hover,
.fcepb-fc-shop-grid .fct-product-card button.fct-product-view-button:focus-visible,
.fcepb-fc-shop-grid .fct-product-card a.fct-product-view-button:hover,
.fcepb-fc-shop-grid .fct-product-card a.fct-product-view-button:focus-visible,
.fcepb-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button]:hover,
.fcepb-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button]:focus-visible {
  border-color: var(--fcepb-shop-grid-button-hover-border) !important;
  outline: none !important;
}

/* Grid state: key from not(.mode-list),
because FluentCart can remove mode-grid when switching back. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"] {
  display: block !important;
  width: calc(100% - 6px) !important;
  margin: 0 3px 2px !important;
  padding: 0 !important;
  color: var(--fcepb-shop-grid-title) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta {
  display: block !important;
  width: calc(100% - 6px) !important;
  min-height: 17px !important;
  height: 17px !important;
  max-height: 17px !important;
  margin: 0 3px 3px !important;
  padding: 0 !important;
  color: var(--fcepb-shop-grid-meta) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  opacity: .86 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars {
  display: flex !important;
  align-items: center !important;
  width: calc(100% - 6px) !important;
  min-height: 15px !important;
  height: 15px !important;
  max-height: 15px !important;
  margin: 0 3px 6px !important;
  padding: 0 !important;
  color: var(--fcepb-shop-grid-stars) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.035em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  width: calc(100% - 6px) !important;
  min-height: 20px !important;
  height: 20px !important;
  max-height: 20px !important;
  margin: 0 3px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:hover,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:focus,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:hover,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:focus {
  appearance: button !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 46px !important;
  max-width: none !important;
  min-height: 20px !important;
  height: 20px !important;
  max-height: 20px !important;
  margin: 0 !important;
  padding: 1px 8px !important;
  background: var(--fcepb-shop-grid-variant-bg) !important;
  color: var(--fcepb-shop-grid-variant-text) !important;
  border: 1px solid var(--fcepb-shop-grid-variant-border) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: hidden !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"] {
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
  border-color: var(--fcepb-shop-grid-variant-selected-border) !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .variant-content,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-product-variant-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .variant-content,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-product-variant-title {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: 1 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-button"] {
  display: block !important;
  width: 100% !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 4px !important;
  line-height: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced button.fluent-cart-add-to-cart-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced button[data-fluent-cart-add-to-cart-button],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fluent-cart-single-product-card-view-button],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced button.fluent-cart-add-to-cart-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced button[data-fluent-cart-add-to-cart-button],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fluent-cart-single-product-card-view-button] {
  margin: 0 3px !important;
}

/* 0.3.6 state split: grid-only rows may not remove native list content.
   Native FluentCart excerpt is preserved for list view,
while the short shop-card meta row is grid-only. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-list-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-list-only {
  display: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-list-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-list-only {
  display: block !important;
  visibility: visible !important;
}

/* List view restore: 0.2.9 displayed native title -> native excerpt/description -> stars -> button.
   This only places existing text rows; variation pills stay grid-only. */
@media (min-width: 600px) {.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced {
    grid-template-areas:
      "image title"
      "image excerpt"
      "image stars"
      "image button" !important;
    grid-template-rows: auto auto auto 1fr !important;
  }

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fct-dynamic-product-excerpt,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-excerpt"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fct-dynamic-product-excerpt,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-excerpt"] {
    grid-area: excerpt !important;
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-shop-list-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-shop-list-stars {
    grid-area: stars !important;
    align-self: start !important;
    justify-self: start !important;
    display: block !important;
    width: auto !important;
    margin: 2px 0 8px !important;
    padding: 0 !important;
    color: var(--fcepb-shop-grid-stars) !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap !important;
  }
}

/* Keep added grid-only rows from changing native list-row geometry when the toolbar switches to list.
   Stars are not grid-only; variant pills and grid-only meta rows are. */
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-grid-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-grid-only {
  display: none !important;
}

@media (max-width: 767px) {.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"] {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta {
    font-size: 12px !important;
    line-height: 1.15 !important;
  }

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars {
    font-size: 11.5px !important;
  }

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill {
    min-width: 52px !important;
    min-height: 25px !important;
    height: 25px !important;
    max-height: 25px !important;
    padding: 5px 10px !important;
    font-size: 11.5px !important;
  }

.brxe-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button,
.brxe-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button],
.brxe-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button],
.fcepb-fc-shop-grid .fct-product-card button.fluent-cart-add-to-cart-button,
.fcepb-fc-shop-grid .fct-product-card button[data-fluent-cart-add-to-cart-button],
.fcepb-fc-shop-grid .fct-product-card [data-fluent-cart-single-product-card-view-button] {
    min-height: 46px !important;
    height: 46px !important;
    max-height: 46px !important;
    padding: 5px 8px !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 1px !important;
    text-align: center !important;
    font-size: 12px !important;
  }

.brxe-fc-shop-grid .fct-product-card .fcepb-button-price,
.fcepb-fc-shop-grid .fct-product-card .fcepb-button-price {
    margin-left: 0 !important;
  }
}

/* 0.3.7 precision guard: the grid card owns one visible star row only.
   The separate fcepb-list-only star row is for FluentCart list state and must not leak into grid.
   This fixes the double-star bug without changing list-view selectors or markup. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars.fcepb-list-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars.fcepb-list-only {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 0.3.7 grid title alignment: only grid card title alignment,
no list-view geometry changes. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"] {
  text-align: left !important;
  align-self: stretch !important;
}

/* 0.3.9 GRID-ONLY isolation patch.
   Scope: FC Shop Grid cards while the live FluentCart state is NOT list view.
   Do not alter list-view geometry,
list text,
list rows,
or list selectors.

   Findings:
   1) The title wrapper (h5.fct-dynamic-product-title) can keep native/Bricks spacing even when
      the inner product-title link is left aligned. The wrapper also has to own the left edge.
   2) Card buttons must be anchored by the native product-button field using margin-top:auto on
      the flex card. This aligns buttons at the bottom across cards with/without variation pills.
   3) Any list-only helper row must be invisible in grid state. This prevents a second star row
      from leaking into grid cards without changing the list-view markup/path.
*/
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-list-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-list-only {
  display: none !important;
  visibility: hidden !important;
  inline-size: 0 !important;
  block-size: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"] {
  display: block !important;
  width: calc(100% - 6px) !important;
  margin-left: 3px !important;
  margin-right: 3px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
  align-self: stretch !important;
  justify-self: start !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants {
  margin-left: 3px !important;
  margin-right: 3px !important;
  text-align: left !important;
  align-self: stretch !important;
  justify-self: start !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-button"] {
  margin-top: auto !important;
  align-self: stretch !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}


/* 0.3.9 final isolation guard.
   Verified selector boundary:
   - .fct-products-wrapper-inner receives grid view class / .mode-list.
   - .fct-products-container does NOT receive the view-state class.
   Therefore every grid-only selector below is wrapper-gated only.
   These rules do not select list view and do not use the product container as a view-state gate.
*/
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-meta,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-stars,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants {
  text-align: left !important;
  align-self: stretch !important;
  justify-self: start !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"] {
  margin-left: 3px !important;
  margin-right: 3px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced [data-fct-field="product-button"] {
  margin-top: auto !important;
  align-self: stretch !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

/* 0.3.10 GRID TITLE LEFT-EDGE FIT.
   Scope: grid view only. Do not touch list view.

   Audit finding:
   The title wrapper h5.fct-dynamic-product-title and the inner
   [data-fct-field="product-title"] link were both receiving a 3px left/right
   margin from earlier broad selectors. In a nested title structure this made
   the title text start 6px from the card edge while meta/stars start 3px from
   the card edge.

   Fix:
   The wrapper owns the 3px card inset. The inner FluentCart title field owns
   no margin. This makes title, meta, stars, pills, and button share the same
   left edge without selecting .mode-list.
*/
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title {
  display: block !important;
  width: calc(100% - 6px) !important;
  margin: 0 3px 2px !important;
  padding: 0 !important;
  text-align: left !important;
  align-self: stretch !important;
  justify-self: start !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fct-dynamic-product-title > [data-fct-field="product-title"] {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}


/* 0.3.11 RESPONSIVE COLUMN CONTROL FIX.
   Scope: FC Shop Grid grid view only. Do not touch list view.

   Audit finding:
   FluentCart's native archive CSS hard-forces all grid-columns-* product containers to
   2 columns below 768px and 1 column below 550px. That means Bricks can show a
   viewport-specific Columns value such as 2 at a 477px builder width, while the live
   product container still computes as 1 column.

   Fix:
   The PHP renderer writes per-instance CSS variables from the Bricks responsive
   column settings. This CSS uses those variables to override only the live grid
   product container while the FluentCart wrapper is not in .mode-list. List view is
   intentionally excluded from every selector below.
*/
.brxe-fc-shop-grid,
.fcepb-fc-shop-grid {
  --fcepb-active-grid-columns: var(--fcepb-columns-desktop, 4);
}

@media (max-width: 1279px) {
  .brxe-fc-shop-grid,
  .fcepb-fc-shop-grid {
    --fcepb-active-grid-columns: var(--fcepb-columns-tablet-landscape, var(--fcepb-columns-desktop, 4));
  }
}

@media (max-width: 991px) {
  .brxe-fc-shop-grid,
  .fcepb-fc-shop-grid {
    --fcepb-active-grid-columns: var(--fcepb-columns-tablet-portrait, var(--fcepb-columns-tablet-landscape, var(--fcepb-columns-desktop, 4)));
  }
}

@media (max-width: 767px) {
  .brxe-fc-shop-grid,
  .fcepb-fc-shop-grid {
    --fcepb-active-grid-columns: var(--fcepb-columns-mobile-landscape, var(--fcepb-columns-tablet-portrait, var(--fcepb-columns-tablet-landscape, var(--fcepb-columns-desktop, 4))));
  }
}

@media (max-width: 478px) {
  .brxe-fc-shop-grid,
  .fcepb-fc-shop-grid {
    --fcepb-active-grid-columns: var(--fcepb-columns-mobile-portrait, var(--fcepb-columns-mobile-landscape, var(--fcepb-columns-tablet-portrait, var(--fcepb-columns-tablet-landscape, var(--fcepb-columns-desktop, 4)))));
  }
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-products-container,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-products-container {
  grid-template-columns: repeat(var(--fcepb-active-grid-columns), minmax(0, 1fr)) !important;
}

/* 0.3.14 GRID-ONLY QUICK VIEW EYE + BADGE + MEDIA ICON.
   Scope: FC Shop Grid card mode only.

   Isolation contract:
   - Active grid state is .fct-products-wrapper-inner:not(.mode-list).
   - Do not use the non-state product container selector; that container never owns view state.
   - Do not select native list title/excerpt/button/image rows.
   - .mode-list may hide only the new fcepb-grid-corner-only elements added by this build.
*/
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced {
  position: relative !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #223326 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  opacity: 0.96 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transform: translateY(0) translateZ(0) !important;
  transition: transform 140ms ease, opacity 140ms ease, box-shadow 140ms ease !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:hover,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:focus-visible,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:hover,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:focus-visible {
  opacity: 1 !important;
  transform: translateY(-1px) translateZ(0) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18) !important;
  outline: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye svg,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye img,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .fcepb-grid-qv-icon-font,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye svg,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye img,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .fcepb-grid-qv-icon-font {
  display: inline-flex !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  fill: currentColor !important;
  line-height: 20px !important;
  font-size: 20px !important;
  align-items: center !important;
  justify-content: center !important;
  object-fit: contain !important;
  object-position: center !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye img,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .screen-reader-text,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-new-badge,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-grid-new-badge {
  position: absolute !important;
  top: 3px !important;
  right: 3px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 19 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  min-height: 26px !important;
  height: 26px !important;
  max-height: 26px !important;
  box-sizing: border-box !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  border: 1px solid var(--fcepb-grid-badge-border) !important;
  border-radius: 6px !important;
  background: var(--fcepb-grid-badge-bg) !important;
  color: var(--fcepb-grid-badge-text) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="0"] .fcepb-grid-qv-eye,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="0"] .fcepb-grid-qv-eye,
.brxe-fc-shop-grid[data-fcepb-grid-badge-enabled="0"] .fcepb-grid-new-badge,
.fcepb-fc-shop-grid[data-fcepb-grid-badge-enabled="0"] .fcepb-grid-new-badge,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-corner-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-corner-only {
  display: none !important;
}

/* 0.3.15 GRID VARIATION PILL SELECTED BORDER FIX.
   Scope: grid view only. Do not touch list view.

   Audit finding:
   The variation-pill logic is already present on the rendered buttons:
   .fct-product-variant-item, data-cart-id, data-item-price, selected/aria state.
   The visual selected state was too weak because the selected border only changed
   border-color on a 1px pill that uses the same pale background as the unselected
   pill. On mobile, the broad mobile rule also changed pill height/padding in a way
   that made the border feel inconsistent.

   Fix:
   Styling only. Keep the existing variation buttons and FluentCart attributes.
   Show selected/pressed/focused state with a real visible border + inset ring.
   Maintain the same 20px pill height and Helvetica 12px/600 contract across
   desktop, tablet, and mobile. Every selector is gated by
   .fct-products-wrapper-inner:not(.mode-list), so list view is untouched.
*/
.brxe-fc-shop-grid,
.fcepb-fc-shop-grid {
  --fcepb-shop-grid-variant-border: #D6E8E5;
  --fcepb-shop-grid-variant-selected-border: #00584f;
  --fcepb-shop-grid-variant-selected-bg: #ffffff;
  --fcepb-shop-grid-variant-selected-text: #002E25;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants {
  min-height: 20px !important;
  height: 20px !important;
  max-height: 20px !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill {
  min-width: 46px !important;
  min-height: 20px !important;
  height: 20px !important;
  max-height: 20px !important;
  padding: 1px 8px !important;
  border: 1px solid var(--fcepb-shop-grid-variant-border) !important;
  border-radius: 999px !important;
  background: var(--fcepb-shop-grid-variant-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-bg) !important;
  color: var(--fcepb-shop-grid-variant-text) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.is-selected,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-pressed="true"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-selected="1"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-bes-selected="1"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:focus,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:active,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.is-selected,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-pressed="true"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-selected="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-bes-selected="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:focus,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:active {
  border-color: var(--fcepb-shop-grid-variant-selected-border) !important;
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
  font-weight: 700 !important;
  box-shadow:
    inset 0 0 0 1px var(--fcepb-shop-grid-variant-selected-border),
    0 0 0 1px rgba(0, 88, 79, 0.08) !important;
  outline: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill .variant-content,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill .fct-product-variant-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill .variant-content,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill .fct-product-variant-title {
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: inherit !important;
  line-height: 1 !important;
}

@media (max-width: 767px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-grid-variants {
    min-height: 20px !important;
    height: 20px !important;
    max-height: 20px !important;
    gap: 6px !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill {
    min-width: 46px !important;
    min-height: 20px !important;
    height: 20px !important;
    max-height: 20px !important;
    padding: 1px 8px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }
}

/* 0.3.16 GRID VARIATION PILL THIN-BORDER FIX.
   Scope: grid view only. Do not touch list view.

   Audit finding:
   The 0.3.15 selected state was visually too thick because it used a real
   1px border plus an inset 1px box-shadow and an outside 1px ring. That
   created a 2-3px selected outline instead of the thin OSEA-style pill border
   the user requested.

   Fix:
   Styling only. Keep existing variation button markup and FluentCart selection
   attributes intact. Remove the ring/shadow and use one normal 1px border for
   both selected and unselected pills across desktop, tablet, and mobile.
   The view-state gate stays on .fct-products-wrapper-inner:not(.mode-list)
   because .fct-products-container does not own list/grid state.
*/
.brxe-fc-shop-grid,
.fcepb-fc-shop-grid {
  --fcepb-shop-grid-variant-bg: #ffffff;
  --fcepb-shop-grid-variant-text: #002E25;
  --fcepb-shop-grid-variant-border: #99BEB7;
  --fcepb-shop-grid-variant-selected-bg: #ffffff;
  --fcepb-shop-grid-variant-selected-text: #002E25;
  --fcepb-shop-grid-variant-selected-border: #00584f;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--fcepb-shop-grid-variant-border) !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.is-selected,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-pressed="true"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-selected="1"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-bes-selected="1"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:focus,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:active,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.is-selected,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-pressed="true"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-selected="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[data-bes-selected="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:focus,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill:active {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--fcepb-shop-grid-variant-selected-border) !important;
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
  box-shadow: none !important;
  outline: 0 !important;
  font-weight: 600 !important;
}

@media (max-width: 767px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill,
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.is-selected,
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.selected,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill.is-selected,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fcepb-shop-grid-card-enhanced .fcepb-shop-variant-pill[aria-checked="true"] {
    border-width: 1px !important;
    box-shadow: none !important;
    outline: 0 !important;
  }
}

/* 0.3.20 CARD READY STATE / FLASH / HOVER LIFT
   Reference audit: FC Ecom Suite uses a card-ready state before the popup hover effect.
   This build mirrors the state concept with server-rendered FCEPB markers:
     class="fcepb-shop-card-ready"
     data-fcepb-shop-card-ready="1"
   No DOM observer, no frontend DOM rewrite, no query/filter/sort/cart changes.
   Grid and list remain separated by .fct-products-wrapper-inner view state.
*/

@keyframes fcepb-card-ready-flash-grid {
  0% { opacity: 0; box-shadow: 0 0 0 0 rgba(0, 46, 37, 0); background-color: rgba(255, 255, 255, 0); }
  42% { opacity: 1; box-shadow: 0 0 0 1px rgba(214, 232, 229, 0.95), 0 10px 26px rgba(0, 46, 37, 0.10); background-color: rgba(244, 250, 249, 0.62); }
  100% { opacity: 0; box-shadow: 0 0 0 0 rgba(0, 46, 37, 0); background-color: rgba(255, 255, 255, 0); }
}

@keyframes fcepb-card-ready-flash-list {
  0% { opacity: 0; box-shadow: 0 0 0 0 rgba(0, 46, 37, 0); background-color: rgba(255, 255, 255, 0); }
  42% { opacity: 1; box-shadow: 0 0 0 1px rgba(214, 232, 229, 0.90), 0 8px 22px rgba(0, 46, 37, 0.08); background-color: rgba(244, 250, 249, 0.48); }
  100% { opacity: 0; box-shadow: 0 0 0 0 rgba(0, 46, 37, 0); background-color: rgba(255, 255, 255, 0); }
}

@keyframes fcepb-card-touch-flash {
  0% { opacity: 0; box-shadow: 0 0 0 0 rgba(0, 46, 37, 0); background-color: rgba(255, 255, 255, 0); }
  50% { opacity: 1; box-shadow: 0 0 0 1px rgba(154, 189, 184, 0.95), 0 8px 22px rgba(0, 46, 37, 0.10); background-color: rgba(244, 250, 249, 0.72); }
  100% { opacity: 0; box-shadow: 0 0 0 0 rgba(0, 46, 37, 0); background-color: rgba(255, 255, 255, 0); }
}

.brxe-fc-shop-grid,
.fcepb-fc-shop-grid {
  --fcepb-shop-card-hover-shadow: 0 16px 38px rgba(0, 46, 37, 0.12);
  --fcepb-shop-card-hover-border: #D6E8E5;
  --fcepb-shop-card-hover-lift: -4px;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
  position: relative;
  overflow: hidden;
  transform: translateY(0) translateZ(0) !important;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
  backface-visibility: hidden;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  background-color: rgba(255, 255, 255, 0);
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after {
  animation: fcepb-card-ready-flash-grid 420ms ease-out 1;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after {
  animation: fcepb-card-ready-flash-list 420ms ease-out 1;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover::after,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within::after,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover::after,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within::after {
  animation: fcepb-card-touch-flash 340ms ease-out 1;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active::after,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active::after {
  animation: fcepb-card-touch-flash 220ms ease-out 1;
}

@media (hover: hover) and (pointer: fine) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover,
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within,
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover,
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):hover,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within {
    transform: translateY(var(--fcepb-shop-card-hover-lift)) translateZ(0) !important;
    box-shadow: var(--fcepb-shop-card-hover-shadow) !important;
    border-color: var(--fcepb-shop-card-hover-border) !important;
    z-index: 3;
  }
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):active,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]):focus-within {
  transform: translateY(var(--fcepb-shop-card-hover-lift)) translateZ(0) !important;
  box-shadow: var(--fcepb-shop-card-hover-shadow) !important;
  border-color: var(--fcepb-shop-card-hover-border) !important;
  z-index: 3;
}

@media (max-width: 767px) {
  .brxe-fc-shop-grid,
  .fcepb-fc-shop-grid {
    --fcepb-shop-card-hover-lift: -4px;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
    transition-duration: 150ms !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after {
    animation-duration: 280ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-product-card:is(.fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"])::after {
    animation: none !important;
    transform: none !important;
    transition: none !important;
  }
}


/* FC Shop Grid 0.3.21 — native FluentCart filter chrome polish.
   Copied concept/style from FC Ecom Suite 6.0.348 and adapted to Product Base scope.
   Real native filter DOM only: search input, checkbox markers, scroll containers, price range, price boxes.
   No fake filter overlay. No DOM observer. No product query/filter/cart rewrite. */
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] {
  color: var(--fcepb-filter-text) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-fluent-cart-search-bar],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="search"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[name="wildcard"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-fluent-cart-search-bar],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="search"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[name="wildcard"] {
  min-height: 39px !important;
  border: 1px solid var(--fcepb-filter-line) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--fcepb-filter-text) !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-fluent-cart-search-bar]::placeholder,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="search"]::placeholder,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[name="wildcard"]::placeholder,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-fluent-cart-search-bar]::placeholder,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="search"]::placeholder,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[name="wildcard"]::placeholder {
  color: var(--fcepb-filter-muted) !important;
  opacity: 1 !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-fluent-cart-search-bar]:focus,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="search"]:focus,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[name="wildcard"]:focus,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-fluent-cart-search-bar]:focus,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="search"]:focus,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[name="wildcard"]:focus {
  border-color: var(--fcepb-filter-line) !important;
  box-shadow: 0 0 0 3px var(--fcepb-filter-focus) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] > div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [role="searchbox"] + div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [id^="filter-product-"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [role="searchbox"] + div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [id^="filter-product-"] {
  border-color: var(--fcepb-filter-line) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="checkbox"] + span[aria-hidden="true"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="radio"] + span[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="checkbox"] + span[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="radio"] + span[aria-hidden="true"] {
  border-color: var(--fcepb-filter-line) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="checkbox"]:checked + span[aria-hidden="true"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="radio"]:checked + span[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="checkbox"]:checked + span[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="radio"]:checked + span[aria-hidden="true"] {
  border-color: var(--fcepb-filter-line) !important;
  background: var(--fcepb-filter-soft) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="checkbox"]:focus-visible + span[aria-hidden="true"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="radio"]:focus-visible + span[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="checkbox"]:focus-visible + span[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] input[type="radio"]:focus-visible + span[aria-hidden="true"] {
  box-shadow: 0 0 0 3px var(--fcepb-filter-focus) !important;
}

/* FC Shop Grid 0.3.45 — Product Categories / Brands short visible native scrollbar thumb.
   Target: only the real FluentCart Product Categories / Brands scroll containers.
   The real draggable thumb remains native/proportional, but only a rounded segment is painted.
   Segment length uses --fcepb-filter-scroll-thumb-visible-length from the Bricks backend.
   The painted segment starts at the beginning/top of the native thumb, not the center.
   Chromium/Brave hover uses the existing scrollbar-gutter pointer state, not broad container :hover.
   No focus-within sticky state, no fake overlay, no filter height change,
   no price slider geometry change, no card/cart selectors. */
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands),
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands),
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"] {
  color-scheme: light !important;
  forced-color-adjust: none !important;
}

/* Firefox only. Firefox supports standard scrollbar-color, but not a separate
   native scrollbar thumb hover colour. Keep this isolated so Chromium keeps
   the WebKit pseudo-elements below alive. */
@supports (-moz-appearance: none) {
  .brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands),
  .brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div,
  .brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"],
  .fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands),
  .fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div,
  .fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"] {
    scrollbar-width: thin !important;
    scrollbar-color: var(--fcepb-filter-scroll-thumb) var(--fcepb-filter-scroll-track) !important;
  }
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
  background: var(--fcepb-filter-scroll-track) !important;
  background-color: var(--fcepb-filter-scroll-track) !important;
  border-radius: 999px !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track-piece,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track-piece:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track-piece,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track-piece:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track-piece,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track-piece:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track-piece,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-track-piece:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track-piece,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-track-piece:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track-piece,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-track-piece:hover {
  background: var(--fcepb-filter-scroll-track) !important;
  background-color: var(--fcepb-filter-scroll-track) !important;
  border-radius: 999px !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-thumb,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-thumb,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-thumb,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-thumb,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-thumb,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-thumb {
  --fcepb-scrollbar-segment-colour: var(--fcepb-filter-scroll-thumb);
  --fcepb-scrollbar-native-width: 8px;
  min-height: 0 !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(var(--fcepb-scrollbar-segment-colour), var(--fcepb-scrollbar-segment-colour)),
    radial-gradient(circle closest-side at 50% 50%, var(--fcepb-scrollbar-segment-colour) 99%, transparent 100%),
    radial-gradient(circle closest-side at 50% 50%, var(--fcepb-scrollbar-segment-colour) 99%, transparent 100%) !important;
  background-repeat: no-repeat !important;
  background-size:
    100% max(0px, calc(var(--fcepb-filter-scroll-thumb-visible-length, 80px) - var(--fcepb-scrollbar-native-width))),
    100% var(--fcepb-scrollbar-native-width),
    100% var(--fcepb-scrollbar-native-width) !important;
  background-position:
    center calc(var(--fcepb-scrollbar-native-width) / 2),
    center 0,
    center calc(var(--fcepb-filter-scroll-thumb-visible-length, 80px) - var(--fcepb-scrollbar-native-width)) !important;
  background-clip: border-box !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

/* Chromium/Brave fallback: scrollbar-gutter hover only.
   The pointer script sets data-fcepb-scrollbar-hover="1" only while the pointer
   is inside the native scrollbar gutter. It removes the old broad container :hover
   behaviour that made the hover colour stay on while hovering checkbox text. */
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)[data-fcepb-scrollbar-hover="1"]::-webkit-scrollbar-thumb,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div[data-fcepb-scrollbar-hover="1"]::-webkit-scrollbar-thumb,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"][data-fcepb-scrollbar-hover="1"]::-webkit-scrollbar-thumb,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)[data-fcepb-scrollbar-hover="1"]::-webkit-scrollbar-thumb,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div[data-fcepb-scrollbar-hover="1"]::-webkit-scrollbar-thumb,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"][data-fcepb-scrollbar-hover="1"]::-webkit-scrollbar-thumb {
  --fcepb-scrollbar-segment-colour: var(--fcepb-filter-scroll-hover-thumb, #FF69B4);
}

/* Direct native thumb hover/active.
   Keep this for browsers/contexts where the real thumb hover state fires.
   Width model matches the normal thumb and fills the scrollbar track width. */
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-thumb:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-thumb:active,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-thumb:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-thumb:active,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-thumb:hover,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-thumb:active,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-thumb:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-thumb:active,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-thumb:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-thumb:active,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-thumb:hover,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-thumb:active {
  --fcepb-scrollbar-segment-colour: var(--fcepb-filter-scroll-hover-thumb, #FF69B4);
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-button,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-corner,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-button,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-corner,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-button,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-corner,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands)::-webkit-scrollbar-corner,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) > div::-webkit-scrollbar-corner,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] :is(#filter-product-categories, #filter-product-brands) [style*="overflow"]::-webkit-scrollbar-corner {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: var(--fcepb-filter-scroll-track) !important;
  background-color: var(--fcepb-filter-scroll-track) !important;
}

/* FC Shop Grid 0.3.36 — price range layout restore.
   Target: only the real FluentCart price_range filter inside FC Shop Grid.
   This restores the slider row + visible price boxes after the scrollbar isolation patch.
   No cart button selectors, no product card selectors, no filter scrollbar selectors. */
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] {
  display: grid !important;
  grid-template-rows: 24px 36px !important;
  row-gap: 12px !important;
  min-height: 72px !important;
  height: auto !important;
  align-items: start !important;
  align-content: start !important;
  overflow: visible !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > [data-range-slider-wrapper],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > [data-range-slider-wrapper],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fct-shop-range-slider,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fct-shop-range-slider,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-target,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-target {
  grid-row: 1 !important;
  order: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 8px !important;
  min-height: 8px !important;
  max-height: 8px !important;
  margin: 8px 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: visible !important;
  background: var(--fcepb-price-inactive-track) !important;
  background-color: var(--fcepb-price-inactive-track) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div > div {
  height: 8px !important;
  min-height: 8px !important;
  max-height: 8px !important;
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div > div > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div > div > div {
  border-radius: 999px !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div > div > div > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-range-slider-wrapper] > div > div > div > div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-connect,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-connect {
  background: var(--fcepb-price-selected-track) !important;
  background-color: var(--fcepb-price-selected-track) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-handle],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-handle,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-handle],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-handle {
  width: 18px !important;
  height: 18px !important;
  top: -5px !important;
  border-radius: 999px !important;
  background: var(--fcepb-price-handle) !important;
  background-color: var(--fcepb-price-handle) !important;
  border: 1px solid var(--fcepb-price-box-border) !important;
  box-shadow: 0 2px 8px rgba(0, 46, 37, 0.12) !important;
  cursor: grab !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-handle]:active,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-handle:active,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] [data-handle]:active,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .noUi-handle:active {
  cursor: grabbing !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]),
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]),
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]),
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) {
  grid-row: 2 !important;
  order: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"])::before,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"])::before,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"])::before,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"])::before {
  content: "–" !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  color: var(--fcepb-price-separator, var(--fcepb-filter-price-text)) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fct-shop-price-range,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fct-shop-price-range {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid var(--fcepb-price-box-border) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div:first-of-type,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div:first-of-type,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div:first-of-type,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div:first-of-type {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  justify-self: auto !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div:last-of-type,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div:last-of-type,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div:last-of-type,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div:last-of-type {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  justify-self: auto !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] div[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] div[aria-hidden="true"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fct-shop-currency-sign,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fct-shop-currency-sign {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 0 0 12px !important;
  color: var(--fcepb-filter-price-text) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  background: transparent !important;
  border: 0 !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fc_price_range_input,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fc_price_range_input {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 8px 0 2px !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--fcepb-filter-price-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: left !important;
  box-shadow: none !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"]:focus,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"]:focus,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fc_price_range_input:focus,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"]:focus,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"]:focus,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] .fc_price_range_input:focus {
  outline: 2px solid rgba(31, 46, 60, 0.22) !important;
  outline-offset: -2px !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"]::-webkit-outer-spin-button,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"]::-webkit-inner-spin-button,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"]::-webkit-outer-spin-button,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"]::-webkit-inner-spin-button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"]::-webkit-outer-spin-button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"]::-webkit-inner-spin-button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"]::-webkit-outer-spin-button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* FC Shop Grid 0.3.50 — price range display fix.
   Target: only the native FluentCart filter price boxes.
   Restores compact currency + value display like $0.00 / $40.00.
   No product-card cart price selectors, no cart button selectors, no query/filter logic. */

/* FC Shop Grid 0.3.26 — strict filter/colour/AJAX support layer.
   Audit boundaries:
   - Filter price boxes are descendants of [data-fluent-cart-product-filter-form]
     and [data-filter-type="range"][data-filter-name="price_range"].
   - Cart button price is .fcepb-button-price inside [data-fct-field="product-button"].
     It is a separate card system and is not selected by filter price rules.
   - Scrollbar normal colour and hover colour are separate controls.
     Only the native thumb hover/active state uses --fcepb-filter-scroll-hover-thumb.
*/
.brxe-fc-shop-grid .fct-product-card,
.fcepb-fc-shop-grid .fct-product-card {
  border-color: var(--fcepb-shop-grid-card-border) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] label,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] h3,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] button,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] span:not([aria-hidden="true"]),
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] label,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] h3,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] button,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] span:not([aria-hidden="true"]) {
  color: var(--fcepb-filter-text) !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"] *,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-title"] * {
  color: var(--fcepb-shop-grid-title) !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-excerpt"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-excerpt"] *,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-excerpt"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fct-field="product-excerpt"] * {
  color: var(--fcepb-shop-grid-meta) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div,
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_from"]) > div,
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] > div:has(input[name="price_range_to"]) > div {
  border-color: var(--fcepb-price-box-border) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] div[aria-hidden="true"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] div[aria-hidden="true"] {
  color: var(--fcepb-filter-price-text) !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"],
.brxe-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_from"],
.fcepb-fc-shop-grid [data-fluent-cart-product-filter-form] [data-filter-type="range"][data-filter-name="price_range"] input[name="price_range_to"] {
  color: var(--fcepb-filter-price-text) !important;
}

/* FC Shop Grid 0.3.54 — scoped grid button text/price wrap repair.
   Audit finding:
   - The bug is inside the card button, not the product card/grid geometry.
   - Row layout can squeeze the label before the price drops, creating ADD TO / BAG.
   - Variation min-price text must not show the leading FROM word inside the button; PHP normalizes that string.

   Contract:
   - Grid view only: .fct-products-wrapper-inner:not(.mode-list)
   - Ready/enhanced card only.
   - Button and direct text/price children only. No product wrapper/container/grid changes.
*/
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) {
  flex-wrap: wrap !important;
  align-content: center !important;
  row-gap: 1px !important;
  column-gap: 8px !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > :is(.fct-button-text, span:first-child:not(.fcepb-button-price):not([role="status"]):not(.fluent-cart-loader)),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > :is(.fct-button-text, span:first-child:not(.fcepb-button-price):not([role="status"]):not(.fluent-cart-loader)) {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price {
  flex: 0 0 auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: auto !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* FC Shop Grid 0.3.55 — grid button price centering repair.
   Scope: enhanced grid-card button internals only.
   Fix: remove the inherited auto-left price push that split sale prices across the button.
   Does not touch product card geometry, image sizing, list view, query, filter, AJAX, or cart JS. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) {
  justify-content: center !important;
  text-align: center !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price :is(del, span),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price :is(del, span) {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* FC Shop Grid 0.3.56 — grid button sale-price markup restore.
   Scope: enhanced grid-card button price fragment only.
   Purpose: native FluentCart compare-price <del> markup is preserved by PHP;
   this guard keeps the scratch-out visible inside the centered button price row.
   No product-card geometry, list view, query, filters, sorting, pagination, AJAX loading logic, or cart JS changes. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price .fct-compare-price del,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price .fct-compare-price del {
  text-decoration-line: line-through !important;
  text-decoration-thickness: 1px !important;
  text-decoration-skip-ink: none !important;
}

/* FC Shop Grid 0.3.57 — Suite-parity button row/stack and sale scratch restore.
   Scope: enhanced grid-card button internals only.
   Wide/default state restores Suite-style row spacing: label left, price group right.
   Narrow state is activated by a rendered-width class from fc-shop-grid-button-layout.js.
   No product-card geometry, list view, query, filters, sort, pagination, AJAX loading logic, or cart JS changes. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  align-content: center !important;
  row-gap: 0 !important;
  column-gap: 8px !important;
  text-align: left !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > :is(.fct-button-text, span:first-child:not(.fcepb-button-price):not([role="status"]):not(.fluent-cart-loader)),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > :is(.fct-button-text, span:first-child:not(.fcepb-button-price):not([role="status"]):not(.fluent-cart-loader)) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  row-gap: 0 !important;
  column-gap: 6px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price, .bes-sale-price, .mlhs-sale-price),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price, .bes-sale-price, .mlhs-sale-price) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price) {
  position: relative !important;
  text-decoration: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price)::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price)::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 50% !important;
  border-top: 1.3px solid currentColor !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  row-gap: 1px !important;
  column-gap: 0 !important;
  text-align: center !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack > :is(.fct-button-text, span:first-child:not(.fcepb-button-price):not([role="status"]):not(.fluent-cart-loader)),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack > :is(.fct-button-text, span:first-child:not(.fcepb-button-price):not([role="status"]):not(.fluent-cart-loader)),
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack > .fcepb-button-price,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack > .fcepb-button-price {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center !important;
  justify-content: center !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack > .fcepb-button-price,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]).fcepb-button-stack > .fcepb-button-price {
  gap: 4px !important;
  column-gap: 4px !important;
}

/* FC Shop Grid 0.3.58 — grid-card row text rhythm + bottom lock.
   Scope: grid view only, enhanced card rows only.
   Contract:
   - title: fixed two-line slot
   - ACF/meta description: fixed two-line wrapping slot, no visible ellipsis
   - stars: fixed slot
   - variation pills: fixed slot when rendered
   - button: bottom locked
   Does not touch product image sizing, product card DOM, list view, filters, query, AJAX loading, cart JS, sticky filter, price filter, or scrollbar logic. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-products-container,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-products-container {
  align-items: stretch !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
  --fcepb-grid-title-slot: 39px;
  --fcepb-grid-meta-slot: 34px;
  --fcepb-grid-stars-slot: 15px;
  --fcepb-grid-variant-slot: 20px;
  --fcepb-grid-title-meta-gap: 2px;
  --fcepb-grid-meta-stars-gap: 3px;
  --fcepb-grid-stars-variant-gap: 6px;
  --fcepb-grid-variant-button-gap: 8px;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

@media (max-width: 1280px) and (min-width: 1025px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
    --fcepb-grid-title-slot: 38px;
    --fcepb-grid-meta-slot: 33px;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
    --fcepb-grid-title-slot: 37px;
    --fcepb-grid-meta-slot: 33px;
  }
}

@media (max-width: 767px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
    --fcepb-grid-title-slot: 36px;
    --fcepb-grid-meta-slot: 28px;
    --fcepb-grid-variant-slot: 25px;
    --fcepb-grid-variant-button-gap: 8px;
  }
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title {
  display: block !important;
  width: calc(100% - 6px) !important;
  min-height: var(--fcepb-grid-title-slot) !important;
  height: var(--fcepb-grid-title-slot) !important;
  max-height: var(--fcepb-grid-title-slot) !important;
  margin: 0 3px var(--fcepb-grid-title-meta-gap) !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title > [data-fct-field="product-title"] {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: var(--fcepb-grid-title-slot) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"] {
  min-height: var(--fcepb-grid-title-slot) !important;
  height: var(--fcepb-grid-title-slot) !important;
  max-height: var(--fcepb-grid-title-slot) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  white-space: normal !important;
  text-overflow: ellipsis !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-meta,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-meta {
  display: block !important;
  width: calc(100% - 6px) !important;
  min-height: var(--fcepb-grid-meta-slot) !important;
  height: var(--fcepb-grid-meta-slot) !important;
  max-height: var(--fcepb-grid-meta-slot) !important;
  margin: 0 3px var(--fcepb-grid-meta-stars-gap) !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-overflow: clip !important;
  line-height: 1.18 !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars {
  display: flex !important;
  align-items: center !important;
  width: calc(100% - 6px) !important;
  min-height: var(--fcepb-grid-stars-slot) !important;
  height: var(--fcepb-grid-stars-slot) !important;
  max-height: var(--fcepb-grid-stars-slot) !important;
  margin: 0 3px var(--fcepb-grid-stars-variant-gap) !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  width: calc(100% - 6px) !important;
  min-height: var(--fcepb-grid-variant-slot) !important;
  height: var(--fcepb-grid-variant-slot) !important;
  max-height: var(--fcepb-grid-variant-slot) !important;
  margin: 0 3px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"] {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: var(--fcepb-grid-variant-button-gap) !important;
  padding-bottom: 4px !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  line-height: 0 !important;
  box-sizing: border-box !important;
}



/* FC Shop Grid 0.3.59 — row-local text rhythm + variation price rollback.
   Scope: grid view only, enhanced FluentCart cards only.
   Purpose:
   - remove 0.3.58 global fixed text slots that created large full-row/full-card gaps;
   - keep title/meta alignment row-local through CSS variables set by the existing scoped layout helper;
   - keep stars, pills, and button as one compact bottom group;
   - variation grid buttons show only the selected variation item price.
   Does not touch product query, filters, sort, pagination, AJAX loading, grid/list switching,
   product card DOM, button size, image sizing, list view, sticky filter, price filter, or scrollbar logic. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
  --fcepb-row-title-slot: 0px;
  --fcepb-row-meta-slot: 0px;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"] {
  min-height: var(--fcepb-row-title-slot, 0px) !important;
  height: auto !important;
  max-height: none !important;
  margin-bottom: 2px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-title > [data-fct-field="product-title"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"] {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  white-space: normal !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-overflow: clip !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-meta,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-meta {
  display: block !important;
  min-height: var(--fcepb-row-meta-slot, 0px) !important;
  height: auto !important;
  max-height: calc(2.36em + 1px) !important;
  margin: 0 3px 3px !important;
  white-space: normal !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-overflow: clip !important;
  line-height: 1.18 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars {
  min-height: 15px !important;
  height: 15px !important;
  max-height: 15px !important;
  margin: auto 3px 3px !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants {
  min-height: 20px !important;
  height: 20px !important;
  max-height: 20px !important;
  margin: 0 3px 5px !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 4px !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
}


/* FC Shop Grid 0.3.60 — compact variant/button gap + persistent selected variation sale price.
   Scope: grid view only, enhanced FluentCart card controls only.
   Purpose:
   - keep the stars/pills/button as a compact bottom group;
   - make the gap below pills match the gap above pills;
   - support the plugin-scoped selected variation marker used by the layout helper;
   - preserve Suite-style compare-at scratch when selected variation data has compare-at price.
   Does not change product query, filters, sort, pagination, AJAX loading, grid/list switch,
   cart logic, button size, product card DOM, image sizing, list view, sticky filter, price boxes, or scrollbar. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars {
  margin-top: auto !important;
  margin-right: 3px !important;
  margin-bottom: 4px !important;
  margin-left: 3px !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants {
  margin-top: 0 !important;
  margin-right: 3px !important;
  margin-bottom: 4px !important;
  margin-left: 3px !important;
  padding-bottom: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + [data-fct-field="product-button"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 4px !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  width: 100% !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-variant-pill[data-fcepb-selected="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-variant-pill[data-fcepb-selected="1"] {
  border-color: var(--fcepb-shop-grid-variant-selected-border) !important;
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
  box-shadow:
    inset 0 0 0 1px var(--fcepb-shop-grid-variant-selected-border),
    0 0 0 1px rgba(0, 88, 79, 0.08) !important;
}

/* FC Shop Grid 0.3.61 — exact 3px variant-to-button gap.
   Scope: grid view only, enhanced FluentCart cards only.
   Purpose: reduce the vertical space below variation pills to exactly 3px by controlling only
   the existing variants row, the existing product-button field wrapper, and the existing button margin.
   Does not change product query, filters, sort, pagination, AJAX loading, grid/list switch,
   cart logic, button size, product card DOM, image sizing, list view, sticky filter, price boxes, or scrollbar. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants {
  margin-top: 0 !important;
  margin-right: 3px !important;
  margin-bottom: 3px !important;
  margin-left: 3px !important;
  padding-bottom: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + [data-fct-field="product-button"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fct-field="product-button"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fct-field="product-button"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]),
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ .fct-dynamic-product-button :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fct-field="product-button"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ .fct-dynamic-product-button :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]) {
  margin-top: 0 !important;
}


/* FC Shop Grid 0.3.62 — final compact variant-to-button rhythm owner.
   Scope: grid view only, existing enhanced FluentCart cards only.
   Purpose: the row/card can still flex to equal height, but the empty flex space must live above the star row.
   The existing variation-pill row and the existing button row are forced into a compact 3px relationship.
   This neutralizes older auto-margin/padding rhythm blocks without changing button size, button HTML,
   product card DOM, image sizing, list view, query, filters, sort, pagination, AJAX loading, sticky filter,
   price filter boxes, or scrollbar logic. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
  --fcepb-grid-variant-button-gap: 3px;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars {
  margin-top: auto !important;
  margin-right: 3px !important;
  margin-bottom: 4px !important;
  margin-left: 3px !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants {
  margin-top: 0 !important;
  margin-right: 3px !important;
  margin-bottom: 3px !important;
  margin-left: 3px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  flex: 0 0 auto !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + *,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fcepb-button-row],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants + *,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fcepb-button-row],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 4px !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  min-height: 0 !important;
  line-height: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]),
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* FC Shop Grid 0.3.63 — final grid-card row-gap neutralizer.
   Scope: grid view only, enhanced FluentCart cards only.
   Reason: the 3px pill-to-button contract cannot be guaranteed while the parent card still owns flex/grid row-gap.
   Keeps the flexible empty space above the stars via the existing stars margin-top:auto rule.
   Does not change product query, filters, sort, pagination, AJAX loading, grid/list switch,
   cart logic, button size, button HTML, product card DOM, image sizing, list view, sticky filter,
   price filter boxes, or scrollbar logic. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
  gap: 0 !important;
  row-gap: 0 !important;
}

/* FC Shop Grid 0.3.64 — child-row variant/button gap guard.
   Scope: grid view only, enhanced FluentCart cards only.
   Reason: 0.3.63 proved the parent card row-gap was neutralized, but the visible gap can still be created by the actual button-row wrapper or an AJAX/regex-preserved native excerpt row.
   Keep the native excerpt preserved for list view only and bind the existing button row to the existing variation row without changing product data, button HTML, cart logic, card geometry, filters, sort, pagination, AJAX loading, image sizing, list view, sticky filter, price boxes, or scrollbar logic. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-native-excerpt,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-excerpt"].fcepb-list-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-native-excerpt,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-excerpt"].fcepb-list-only {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants {
  margin-bottom: 3px !important;
  padding-bottom: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fcepb-button-row],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants ~ [data-fcepb-button-row],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row] > :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row] > :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button]) {
  margin-top: 0 !important;
}

/* FC Shop Grid 0.3.65 — grid lower-info rhythm owner.
   Scope: enhanced FC Shop Grid cards in grid view only.
   Purpose: move the whole title/meta/stars/variant group down as one lower stack, matching the proven Suite rhythm, while the button row remains compact and bottom locked. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) {
  gap: 0 !important;
  row-gap: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > .fct-dynamic-product-title,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > .fct-dynamic-product-title,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) > [data-fct-field="product-title"] {
  margin-top: auto !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-stars {
  margin-top: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fcepb-shop-grid-variants {
  margin-bottom: 3px !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fcepb-button-row],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) .fct-dynamic-product-button,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) .fct-product-card:is(.fcepb-shop-grid-card-enhanced, .fcepb-shop-card-ready, [data-fcepb-shop-card-ready="1"]) [data-fct-field="product-button"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




/* FC Shop Grid 0.3.66 — list-star class parity after grid/list star separation. */
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="list-stars"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="list-stars"] {
  grid-area: stars !important;
  align-self: start !important;
  justify-self: start !important;
  display: block !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 2px 0 8px !important;
  padding: 0 !important;
  color: var(--fcepb-shop-grid-stars) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* FC Shop Grid 0.3.66 — live-DOM native gap lock.
   Scope: FC Product Base grid view only, using the live card markers from the browser audit.
   Purpose: remove phantom list/native rows between the grid variation pills and the cart button without changing FluentCart data, cart logic, button HTML, list layout, filters, sorting, pagination, AJAX loading, images, sticky filter, price filter, or scrollbars. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] {
  gap: 0 !important;
  row-gap: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fcepb-shop-grid-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fcepb-shop-grid-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) {
  margin-top: auto !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="grid-stars"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="grid-stars"] {
  margin-top: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] {
  margin-bottom: 3px !important;
  padding-bottom: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="list-stars"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-shop-list-stars,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-list-only,
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-shop-grid-variants ~ [data-field-id]:empty,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="list-stars"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-shop-list-stars,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-list-only,
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-shop-grid-variants ~ [data-field-id]:empty {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  flex: 0 0 0px !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-button-row],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fct-field="product-button"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-button-row],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fct-field="product-button"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
}


/* FC Shop Grid 0.3.67 — sale-card no-variant star alignment lock.
   Scope: grid view only, live Product Base card root only.
   Purpose: when a sale card has no variation pills, reserve only the missing pill row under the stars so sale-row stars align with neighboring sale cards that do have pills. This does not affect non-sale cards, list view, FluentCart data, cart logic, button HTML, filters, sort, pagination, AJAX loading, image sizing, sticky filter, price filter, or scrollbars. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-sale-no-variants] [data-fcepb-card-row="grid-stars"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-sale-no-variants] [data-fcepb-card-row="grid-stars"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not(:has([data-fcepb-card-row="variants"])):has(.fcepb-button-price :is(.bes-old-price, .mlhs-old-price, del, s)) [data-fcepb-card-row="grid-stars"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not(:has([data-fcepb-card-row="variants"])):has(.fcepb-button-price :is(.bes-old-price, .mlhs-old-price, del, s)) [data-fcepb-card-row="grid-stars"] {
  margin-bottom: 27px !important;
}

/* FC Shop Grid 0.3.68 — grid micro-rhythm transfer.
   Scope: FC Product Base grid cards only, using the live data-attribute card root.
   Purpose: move exactly 2px of vertical rhythm from description→stars to pills→button while preserving the sale/no-variant star alignment contract. Does not touch list view, FluentCart data, cart logic, button HTML, filters, sort, pagination, AJAX loading, image sizing, sticky filter, price filter, or scrollbars. */
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="grid-description"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="grid-description"] {
  margin-bottom: 1px !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] {
  margin-bottom: 5px !important;
  padding-bottom: 0 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-sale-no-variants] [data-fcepb-card-row="grid-stars"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-sale-no-variants] [data-fcepb-card-row="grid-stars"],
.brxe-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not(:has([data-fcepb-card-row="variants"])):has(.fcepb-button-price :is(.bes-old-price, .mlhs-old-price, del, s)) [data-fcepb-card-row="grid-stars"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner:not(.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not(:has([data-fcepb-card-row="variants"])):has(.fcepb-button-price :is(.bes-old-price, .mlhs-old-price, del, s)) [data-fcepb-card-row="grid-stars"] {
  margin-bottom: 29px !important;
}


/* FC Shop Grid 0.3.76 — invalid desktop filter rail guard.
   Scope: shop shell only. When FluentCart's native filter sidebar collapses into an unusable
   skinny rail during desktop resize, hide the rail and let the product grid own the full row.
   No query, AJAX, sorting, pagination, cart, card DOM, button HTML, list view, or price filter logic changes. */
.brxe-fc-shop-grid [data-fluent-cart-product-wrapper-inner][data-fcepb-filter-rail-invalid],
.fcepb-fc-shop-grid [data-fluent-cart-product-wrapper-inner][data-fcepb-filter-rail-invalid] {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-wrapper-inner][data-fcepb-filter-rail-invalid] [data-fluent-cart-shop-app-filter-wrapper],
.fcepb-fc-shop-grid [data-fluent-cart-product-wrapper-inner][data-fcepb-filter-rail-invalid] [data-fluent-cart-shop-app-filter-wrapper] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid [data-fluent-cart-product-wrapper-inner][data-fcepb-filter-rail-invalid] [data-fluent-cart-shop-app-product-list],
.fcepb-fc-shop-grid [data-fluent-cart-product-wrapper-inner][data-fcepb-filter-rail-invalid] [data-fluent-cart-shop-app-product-list] {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}


/* FC Shop Grid 0.3.76 — stable invalid-filter rail marker.
   Scope: shop shell only. The JS also marks the widget root so UI outside the product-wrapper
   can reflect the hidden-rail state without forcing FluentCart's native sidebar layout. */
.brxe-fc-shop-grid[data-fcepb-filter-rail-invalid] [data-fluent-cart-shop-app-filter-toggle-button],
.fcepb-fc-shop-grid[data-fcepb-filter-rail-invalid] [data-fluent-cart-shop-app-filter-toggle-button] {
  display: flex !important;
}


/* FC Shop Grid 0.3.76 — list-switch filter rail persistence.
   Scope: shop shell only. The invalid-filter rail guard also applies when FluentCart switches
   to .mode-list, so tablet/list state cannot release the hidden-rail guard and leave the list
   product column off-center until refresh. This does not change list-card internals. */

/* FC Shop Grid 0.3.76 — list-switch width recenter.
   Scope: list mode shell only. When the toolbar switches from grid to list at tablet widths,
   FluentCart can leave the product list/cards using the previous grid column width until refresh.
   Force list mode back to a single full-width track without changing list card DOM or content. */
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fluent-cart-shop-app-product-list],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-products-container,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fluent-cart-shop-app-product-list],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-products-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fluent-cart-shop-app-product-list] [data-fct-product-card],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-products-container [data-fct-product-card],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fluent-cart-shop-app-product-list] [data-fct-product-card],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fct-products-container [data-fct-product-card] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* FC Shop Grid 0.3.77 — list-view corner badge + quick view placement.
   Scope: list view only, existing enhanced Product Base cards only.
   Purpose: reuse the same server-rendered ACF/toggle-controlled corner controls in list mode.
   - Badge: 3px from the card's outer top/right edge.
   - Quick view: 3px from the top/left of the image area, which starts at the card's top-left in list view.
   - Grid view remains owned by the existing not(.mode-list) corner rules.
   - Disabled Bricks toggles still win because these rules require data-fcepb-grid-qv-enabled="1" / data-fcepb-grid-badge-enabled="1".
   No product query, filter, sort, pagination, AJAX, grid/list switching, cart logic, button HTML, product data, ACF badge source, or list-card DOM changes. */
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced {
  position: relative !important;
  overflow: hidden !important;
}

.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #223326 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  opacity: 0.96 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transform: translateY(0) translateZ(0) !important;
  transition: transform 140ms ease, opacity 140ms ease, box-shadow 140ms ease !important;
}

.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye:hover,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye:focus-visible,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye:hover,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye:focus-visible,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:hover,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:focus-visible,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:hover,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye:focus-visible {
  opacity: 1 !important;
  transform: translateY(-1px) translateZ(0) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18) !important;
  outline: none !important;
}

.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye svg,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye img,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye .fcepb-grid-qv-icon-font,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye svg,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye img,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye .fcepb-grid-qv-icon-font,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye svg,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye img,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .fcepb-grid-qv-icon-font,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye svg,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye img,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .fcepb-grid-qv-icon-font {
  display: inline-flex !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  fill: currentColor !important;
  line-height: 20px !important;
  font-size: 20px !important;
  align-items: center !important;
  justify-content: center !important;
  object-fit: contain !important;
  object-position: center !important;
  pointer-events: none !important;
}

.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye .screen-reader-text,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-qv-eye .screen-reader-text,
.brxe-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .screen-reader-text,
.fcepb-fc-shop-grid[data-fcepb-grid-qv-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-qv-eye .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.brxe-fc-shop-grid[data-fcepb-grid-badge-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-new-badge,
.fcepb-fc-shop-grid[data-fcepb-grid-badge-enabled="1"] .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-grid-new-badge,
.brxe-fc-shop-grid[data-fcepb-grid-badge-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-new-badge,
.fcepb-fc-shop-grid[data-fcepb-grid-badge-enabled="1"] .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced .fcepb-grid-new-badge {
  position: absolute !important;
  top: 3px !important;
  right: 3px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 19 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  min-height: 26px !important;
  height: 26px !important;
  max-height: 26px !important;
  box-sizing: border-box !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  border: 1px solid var(--fcepb-grid-badge-border) !important;
  border-radius: 6px !important;
  background: var(--fcepb-grid-badge-bg) !important;
  color: var(--fcepb-grid-badge-text) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}


/* FC Shop Grid 0.3.78 — list-view variants + grid-width CTA parity.
   Scope: list view only. Reuses the existing rendered variation pill DOM and button markup.
   Audit findings:
   - Variation pills exist as [data-fcepb-card-row="variants"] but carry .fcepb-grid-only, so the list-view .fcepb-grid-only guard hides them.
   - The list CTA can be narrower than the grid CTA even when the text column has enough room.
   Fix:
   - In list view, expose only the existing variants row, place it between stars and the button, and keep native grid/list switching untouched.
   - Set the list CTA to the same practical grid-card width target, 267px, with max-width protection so narrow list columns cannot overflow. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"],
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced,
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced {
    grid-template-areas:
      "image title"
      "image excerpt"
      "image stars"
      "image variants"
      "image button" !important;
    grid-template-rows: auto auto auto auto 1fr !important;
  }
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] {
  grid-area: variants !important;
  display: flex !important;
  visibility: visible !important;
  align-self: start !important;
  justify-self: start !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  gap: 4px !important;
  row-gap: 4px !important;
  column-gap: 4px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  width: auto !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  padding: 2px 9px !important;
  margin: 0 !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--fcepb-shop-grid-variant-border) !important;
  border-radius: 999px !important;
  background: var(--fcepb-shop-grid-variant-bg) !important;
  color: var(--fcepb-shop-grid-variant-text) !important;
  box-shadow: none !important;
  outline: 0 !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill.selected,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill.is-selected,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill[aria-checked="true"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill[data-fcepb-selected="1"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill.selected,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill.is-selected,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill[aria-checked="true"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] .fcepb-shop-variant-pill[data-fcepb-selected="1"] {
  border-color: var(--fcepb-shop-grid-variant-selected-border) !important;
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]) {
  grid-area: button !important;
  align-self: start !important;
  justify-self: start !important;
  width: 267px !important;
  max-width: calc(100% - 6px) !important;
  min-width: 0 !important;
  margin: 0 0 0 3px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) {
  width: 267px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  max-height: 40px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  column-gap: 8px !important;
  box-sizing: border-box !important;
}

/* FC Shop Grid 0.3.79 — list-view title / variants / sale-price parity polish.
   Scope: list view only. Uses existing rendered title, variation pills, and button price spans.
   Fixes:
   - List product title now uses the same Helvetica/green/weight contract as grid cards.
   - List variation pills mirror the final grid pill style, including selected/data-selected states.
   - List sale-price group is formatted as two separated inline prices with the old price struck through.
   No query/filter/sort/pagination/AJAX/cart logic/card DOM changes. */
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) {
  grid-area: title !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
  color: var(--fcepb-shop-grid-title) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) [data-fct-field="product-title"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) [data-fct-field="product-title"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fct-field="product-title"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fct-field="product-title"] {
  display: inline !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--fcepb-shop-grid-title) !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"],
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"],
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] {
  margin: 0 0 8px 0 !important;
  gap: 6px !important;
  row-gap: 4px !important;
  column-gap: 6px !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item) {
  appearance: button !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 46px !important;
  max-width: none !important;
  min-height: 20px !important;
  height: 20px !important;
  max-height: 20px !important;
  margin: 0 !important;
  padding: 1px 8px !important;
  background: var(--fcepb-shop-grid-variant-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-bg) !important;
  color: var(--fcepb-shop-grid-variant-text) !important;
  border: 1px solid var(--fcepb-shop-grid-variant-border) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: hidden !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]) {
  border-color: var(--fcepb-shop-grid-variant-selected-border) !important;
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
  box-shadow: none !important;
  outline: 0 !important;
  font-weight: 600 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.variant-content, .fct-product-variant-title),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.variant-content, .fct-product-variant-title),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.variant-content, .fct-product-variant-title),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.variant-content, .fct-product-variant-title) {
  color: inherit !important;
  font: inherit !important;
  line-height: 1 !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) > .fcepb-button-price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  gap: 6px !important;
  row-gap: 0 !important;
  column-gap: 6px !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: 1 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price, .bes-sale-price, .mlhs-sale-price),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price, .bes-sale-price, .mlhs-sale-price),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price, .bes-sale-price, .mlhs-sale-price),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price, .bes-sale-price, .mlhs-sale-price) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price) {
  position: relative !important;
  text-decoration: none !important;
}

.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price)::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price)::after,
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price)::after,
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) .fcepb-button-price :is(.bes-old-price, .mlhs-old-price)::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 50% !important;
  border-top: 1.3px solid currentColor !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}


/* FC Shop Grid 0.3.80 — list-view variant-card bottom rhythm.
   Scope: list view only, cards that actually have variation pills only.
   Visual contract:
   - Do not touch quick-view, image, or badge placement.
   - Do not touch grid view.
   - Move the existing title/excerpt/stars/variants/button stack down as one unit by placing free row height above the title row.
   - Keep the CTA bottom approximately 5px above the card border by using the existing 4px card padding plus a 1px CTA-row bottom margin.
   No product query, filter, sort, pagination, AJAX, grid/list switching, cart logic, button HTML, product data, variation data, image geometry, or corner-control DOM changes. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:has([data-fcepb-card-row="variants"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:has([data-fcepb-card-row="variants"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:has([data-fcepb-card-row="variants"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:has([data-fcepb-card-row="variants"]) {
    grid-template-areas:
      "image title"
      "image excerpt"
      "image stars"
      "image variants"
      "image button" !important;
    grid-template-rows: 1fr auto auto auto auto !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:has([data-fcepb-card-row="variants"]) > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:has([data-fcepb-card-row="variants"]) > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:has([data-fcepb-card-row="variants"]) > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:has([data-fcepb-card-row="variants"]) > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) {
    align-self: end !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:has([data-fcepb-card-row="variants"]) :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:has([data-fcepb-card-row="variants"]) :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:has([data-fcepb-card-row="variants"]) :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:has([data-fcepb-card-row="variants"]) :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]) {
    margin: 0 0 1px 3px !important;
  }
}


/* FC Shop Grid 0.3.81 — list-view variant-card bottom lock, data-rooted.
   Scope: list view only, enhanced cards that actually have variation pills.
   Reason: 0.3.80 used :has() row matching; this final lock uses the runtime
   data-fcepb-has-variants marker as the primary selector so grid/list switches,
   AJAX refreshes, and list-mode page loads all resolve to the same layout.
   Visual contract: leave image, quick-view icon, and NEW badge untouched;
   move only the title/excerpt/stars/pills/button stack down so the CTA rests
   about 5px above the card border. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants],
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants] {
    grid-template-areas:
      "image ."
      "image title"
      "image excerpt"
      "image stars"
      "image variants"
      "image button" !important;
    grid-template-rows: minmax(0, 1fr) auto auto auto auto auto !important;
    align-content: stretch !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) {
    align-self: start !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]) {
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 1px !important;
    margin-left: 3px !important;
    align-self: start !important;
  }
}

/* FC Shop Grid 0.3.82 — list-view no-variant title height parity.
   Superseded by 0.3.83 bottom CTA lock below. Kept as design history only. */

/* FC Shop Grid 0.3.83 — list-view CTA bottom lock for every card.
   Scope: list view only. Does not touch grid view, image, quick-view, badge, cart HTML,
   product data, variation data, filters, sorting, pagination, AJAX, or sticky filter.

   Visual contract:
   - Every list-view cart button remains 40px high.
   - Every list-view cart button sits approximately 5px above the card border.
   - Cards without variation pills keep the 30px title-height parity spacer from 0.3.82,
     but move remaining free space above the button instead of below it.

   Recalculation:
   - Card padding already contributes 4px at the bottom.
   - CTA row margin-bottom contributes 1px.
   - Visible button-to-border breathing room: 4px + 1px = ~5px. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:not([data-fcepb-has-variants]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:not([data-fcepb-has-variants]) {
    grid-template-areas:
      "image ."
      "image title"
      "image excerpt"
      "image stars"
      "image ."
      "image button" !important;
    grid-template-rows: 30px auto auto auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]) {
    align-self: start !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 1px !important;
    margin-left: 3px !important;
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) {
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
  }
}


/* FC Shop Grid 0.3.84 — list-view CTA 7px bottom clearance.
   Superseded by 0.3.85: final list buttons move 10px upward from the 7px contract.

   Scope: list view only. Keeps the existing list button width, height, HTML, cart logic,
   image, quick-view icon, badge, variation data, and grid view untouched.

   Contract from live screenshot: the bottom edge of every list-view cart button must sit
   7px above the outer card border.

   Recalculation:
   - Existing list card bottom padding contributes 4px.
   - Button row bottom margin contributes 3px.
   - Total visible button-to-border clearance: 4px + 3px = 7px. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]) {
    grid-area: button !important;
    align-self: start !important;
    justify-self: start !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 3px !important;
    margin-left: 3px !important;
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
    box-sizing: border-box !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) {
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
    box-sizing: border-box !important;
  }
}


/* FC Shop Grid 0.3.85 — list-view CTA +10px upward correction.
   Scope: list view only. Do not touch grid buttons, images, quick-view icons, badges,
   product data, variation data, cart HTML, query, filters, sorting, pagination, AJAX,
   sticky filter, price filter, or scrollbar logic.

   Live request: keep the existing list-view button, but move only these list buttons
   10px upward from the current 7px button-to-border clearance.

   Recalculation:
   - Existing list card bottom padding contributes 4px.
   - Prior 0.3.84 button-row margin-bottom contributed 3px, giving 7px total.
   - New button-row margin-bottom contributes 13px.
   - Total visible button-to-border clearance: 4px + 13px = ~17px.
   - Delta from previous state: +10px upward.
*/
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced :is([data-fcepb-button-row], .fct-dynamic-product-button, [data-fct-field="product-button"]) {
    margin-bottom: 13px !important;
  }
}


/* FC Shop Grid 0.3.86 — list-view CTA uniform height lock.
   Scope: list view only. Finalizes the 0.3.85 vertical position without touching
   grid buttons, images, quick-view icons, badges, cart HTML, product data,
   variation data, filters, sorting, pagination, AJAX, sticky filter, price filter,
   or scrollbar logic.

   Audit finding:
   - Earlier list CTA rules targeted the row wrapper, .fct-dynamic-product-button,
     and [data-fct-field="product-button"] together. On nested FluentCart markup,
     child wrappers could inherit the same 40px height/margins as the outer row,
     making buttons appear uneven or clipped.
   Fix:
   - Only the direct [data-fcepb-button-row] owns the grid area, width, and bottom
     clearance.
   - Inner FluentCart button wrappers are reset to 100% x 40px with no extra
     margins/padding.
   - The actual button remains 40px high on every list card.
   Recalculation:
   - Keeps the 0.3.85 bottom clearance: 4px card padding + 13px row margin = ~17px.
   - Button visual height: fixed 40px for sale, non-sale, variant, and non-variant cards. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row],
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row] {
    grid-area: button !important;
    align-self: start !important;
    justify-self: start !important;
    width: 267px !important;
    max-width: calc(100% - 6px) !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 13px !important;
    margin-left: 3px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row] :is(.fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row] :is(.fct-dynamic-product-button, [data-fct-field="product-button"]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row] :is(.fct-dynamic-product-button, [data-fct-field="product-button"]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row] :is(.fct-dynamic-product-button, [data-fct-field="product-button"]) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row] :is(button.fluent-cart-add-to-cart-button, button[data-fluent-cart-add-to-cart-button], button.fct-single-product-card-view-button, button[data-fluent-cart-single-product-card-view-button]) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
}


/* FC Shop Grid 0.3.87 — list-view text-stack parity and CTA lift.
   Scope: list view only. Does not touch grid view, images, quick-view icon,
   NEW badge, button HTML, cart logic, product data, variation data, query,
   filters, sorting, pagination, AJAX, sticky filter, price filter, or scrollbar logic.

   Audit from live screenshot:
   - Variant cards and no-variant cards were using different list-row math.
   - No-variant cards kept a flexible spacer between stars and the CTA, pushing
     the CTA too low while the title rhythm no longer matched the variant cards.
   - Moving only the CTA risks touching the card border; the safe correction is
     to give both card types the same title start row, then let the CTA follow
     the content stack.

   Recalculation:
   - Shared top spacer: 30px for variant and no-variant list cards.
   - CTA remains 40px high from the 0.3.86 uniform-height lock.
   - The remaining free space is placed below the CTA, so the CTA moves upward
     and cannot touch the bottom border.
   - Variant cards keep the existing variants row between stars and CTA; no-variant
     cards omit only that row. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"][data-fcepb-has-variants],
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced[data-fcepb-has-variants] {
    grid-template-areas:
      "image ."
      "image title"
      "image excerpt"
      "image stars"
      "image variants"
      "image button"
      "image ." !important;
    grid-template-rows: 30px auto auto auto auto auto minmax(0, 1fr) !important;
    align-content: stretch !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:not([data-fcepb-has-variants]),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:not([data-fcepb-has-variants]) {
    grid-template-areas:
      "image ."
      "image title"
      "image excerpt"
      "image stars"
      "image button"
      "image ." !important;
    grid-template-rows: 30px auto auto auto auto minmax(0, 1fr) !important;
    align-content: stretch !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > :is(.fct-dynamic-product-title, [data-fcepb-card-row="grid-title"], h1, h2, h3, h4, h5, h6) {
    align-self: start !important;
  }

  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] > [data-fcepb-button-row],
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row],
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced > [data-fcepb-button-row] {
    grid-area: button !important;
    align-self: start !important;
    justify-self: start !important;
    margin-top: 10px !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 3px !important;
  }
}

/* FC Shop Grid 0.3.88 — list-view no-variant lower stars/CTA lock.
   Scope: list view only, live Product Base card root only, and only cards with no variation row.
   Does not touch grid view, cards that have variation pills, image geometry, quick-view icon,
   NEW badge, button HTML, cart logic, product data, variation data, filters, sorting,
   pagination, AJAX loading, sticky filter, price filter, or scrollbar logic.

   Audit finding from 0.3.87 screenshot:
   - No-variant list cards placed the flexible leftover row after the CTA.
   - That left the stars and 40px button too high, with excess empty space under the button.
   - Variant cards already use the desired visual rhythm and must remain untouched.

   Fix:
   - Only no-variant list cards move the flexible leftover row between excerpt and stars.
   - The stars + CTA become the lower group near the bottom border.
   - If a product later receives variation pills, the variant marker/row excludes this rule and
     the existing variant-card template automatically keeps stars above the pills. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]):not(:has([data-fcepb-card-row="variants"])),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]):not(:has([data-fcepb-card-row="variants"])) {
    grid-template-areas:
      "image ."
      "image title"
      "image excerpt"
      "image ."
      "image stars"
      "image button" !important;
    grid-template-rows: 30px auto auto minmax(0, 1fr) auto auto !important;
    align-content: stretch !important;
  }
}

/* FC Shop Grid 0.3.89 — list-view no-variant bottom breathing clearance.
   Scope: list view only, Product Base live card roots, cards without variation pills only.
   Reason: 0.3.88 correctly moved the no-variant stars + CTA lower, but it removed the
   fixed bottom clearance row, allowing the 40px CTA to visually collide with the card border.
   Contract: keep cards with variation pills untouched; keep grid untouched; do not change DOM,
   button HTML, cart logic, product/variation data, query, filters, sorting, pagination, AJAX,
   sticky filter, price filter, resize/sidebar logic, or scrollbar logic. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]):not(:has([data-fcepb-card-row="variants"])),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:not([data-fcepb-has-variants]):not(:has([data-fcepb-card-row="variants"])) {
    grid-template-areas:
      "image ."
      "image title"
      "image excerpt"
      "image ."
      "image stars"
      "image button"
      "image ." !important;
    grid-template-rows: 30px auto auto minmax(0, 1fr) auto auto 7px !important;
    align-content: stretch !important;
  }
}


/* FC Shop Grid 0.3.90 — visual-only 1 OZ test pills for simple products.
   Scope: existing FC Shop Grid variant row styling only. The row is server-rendered
   only when the Bricks visual test control is enabled and the product has no live
   FluentCart variations. The test pill intentionally has no data-cart-id and no
   FluentCart variant item class, so it cannot change selected variation, price,
   cart ID, add-to-cart behavior, product query, filters, sorting, pagination, AJAX,
   sticky filter, price filter, resize/sidebar logic, or scrollbar logic. */
.brxe-fc-shop-grid [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-visual-test-variants,
.fcepb-fc-shop-grid [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-visual-test-variants,
.brxe-fc-shop-grid [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-visual-test-variant-pill,
.fcepb-fc-shop-grid [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-visual-test-variant-pill {
  pointer-events: none !important;
}

.brxe-fc-shop-grid [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-visual-test-variant-pill,
.fcepb-fc-shop-grid [data-fct-product-card][data-fcepb-shop-card-ready="1"] .fcepb-visual-test-variant-pill {
  cursor: default !important;
}


/* FC Shop Grid 0.3.91 — list-view variant/test-pill bottom-stack parity.
   Scope: list view only, live Product Base card root only, cards with a variants row
   (real FluentCart pills or the inert visual-test pill). No grid selectors are touched.

   Audit finding from the filtered shop URL / 0.3.90 plugin:
   - 0.3.90 correctly injected an inert visual test pill into simple products.
   - The list CSS then treated that card as a variant-row card, but the active row math
     still left the flexible leftover space after the CTA on shorter descriptions.
   - Result: stars + visual pill + 40px CTA sat too high, while the empty space stayed
     under the CTA. Toggling the visual pill changed the markup but not the bottom-stack
     contract consistently.

   Fix:
   - For any list card with a variants row, place the flexible row between excerpt and stars.
   - Keep the CTA row 40px high through the existing 0.3.86 lock.
   - Keep the same fixed 7px bottom breathing row used by 0.3.89 no-variant cards.
   - When pills are present, stars automatically move upward only by the pill-row height,
     leaving the CTA in the same bottom position as no-pill cards.
   - No JS, no DOM rewrite, no cart/variation data changes, no filter/sidebar changes. */
@media (min-width: 600px) {
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:is([data-fcepb-has-variants], :has([data-fcepb-card-row="variants"])),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"]:is([data-fcepb-has-variants], :has([data-fcepb-card-row="variants"])),
  .brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:is([data-fcepb-has-variants], :has([data-fcepb-card-row="variants"])),
  .fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced:is([data-fcepb-has-variants], :has([data-fcepb-card-row="variants"])) {
    grid-template-areas:
      "image ."
      "image title"
      "image excerpt"
      "image ."
      "image stars"
      "image variants"
      "image button"
      "image ." !important;
    grid-template-rows: 30px auto auto minmax(0, 1fr) auto auto auto 7px !important;
    align-content: stretch !important;
  }
}

/* FC Shop Grid 0.3.92 — list selected variation pill colour parity.
   Scope: list view only. The selected pill in list view was styled by older list
   rules without the stronger grid selected-state ring/weight, so selected pills
   looked the same as unselected pills. This mirrors the protected grid selected
   visual contract without changing FluentCart variation data, cart IDs, button
   HTML, grid layout, filters, sorting, pagination, AJAX loading, sticky filter,
   scrollbar logic, or card source DOM. */
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"], :focus, :active),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"], :focus, :active),
.brxe-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"], :focus, :active),
.fcepb-fc-shop-grid .fct-products-wrapper-inner.mode-list .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"], :focus, :active) {
  border-color: var(--fcepb-shop-grid-variant-selected-border) !important;
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
  font-weight: 700 !important;
  box-shadow:
    inset 0 0 0 1px var(--fcepb-shop-grid-variant-selected-border),
    0 0 0 1px rgba(0, 88, 79, 0.08) !important;
  outline: none !important;
}


/* FC Shop Grid 0.3.93 — OSEA/Suite thin selected pill colour parity.
   Scope: variation-pill visual style only, grid + list, existing live Product Base card roots.

   Audit source:
   - Uploaded Suite 6.0.347 shop-card CSS uses one real 1px border, no inset selected ring,
     and selected pills change background/color/border only.
   - OSEA reference cards show compact pills with thin borders and a coloured selected state.
   - 0.3.92 added an inset ring, making selected pills visually thick/heavy instead of OSEA-like.

   Fix:
   - Unselected pills: white face, thin teal border.
   - Selected pills: pale colour fill, thin dark teal border, no extra inset/outside shadow.
   - Preserve existing pill height/width/text, FluentCart variation classes/data, visual test pill,
     cart logic, price sync, card rhythm, grid/list switch, filters, sorting, pagination, AJAX,
     sticky filter, resize/sidebar guard, and scrollbar logic. */
.brxe-fc-shop-grid,
.fcepb-fc-shop-grid {
  --fcepb-shop-grid-variant-bg: #ffffff;
  --fcepb-shop-grid-variant-border: #99BEB7;
  --fcepb-shop-grid-variant-selected-bg: #E5F1EF;
  --fcepb-shop-grid-variant-selected-text: #002E25;
  --fcepb-shop-grid-variant-selected-border: #014D41;
}

.brxe-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item),
.fcepb-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item),
.brxe-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item),
.fcepb-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item) {
  border: 1px solid var(--fcepb-shop-grid-variant-border) !important;
  background: var(--fcepb-shop-grid-variant-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-bg) !important;
  color: var(--fcepb-shop-grid-variant-text) !important;
  box-shadow: none !important;
  outline: none !important;
}

.brxe-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]),
.fcepb-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]),
.brxe-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]),
.fcepb-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(.selected, .is-selected, [aria-checked="true"], [aria-pressed="true"], [data-selected="1"], [data-bes-selected="1"], [data-fcepb-selected="1"]) {
  border: 1px solid var(--fcepb-shop-grid-variant-selected-border) !important;
  background: var(--fcepb-shop-grid-variant-selected-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-selected-bg) !important;
  color: var(--fcepb-shop-grid-variant-selected-text) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  outline: none !important;
}

.brxe-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(:focus, :active):not(.selected):not(.is-selected):not([aria-checked="true"]):not([aria-pressed="true"]):not([data-selected="1"]):not([data-bes-selected="1"]):not([data-fcepb-selected="1"]),
.fcepb-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) [data-fct-product-card][data-fcepb-shop-card-ready="1"] [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(:focus, :active):not(.selected):not(.is-selected):not([aria-checked="true"]):not([aria-pressed="true"]):not([data-selected="1"]):not([data-bes-selected="1"]):not([data-fcepb-selected="1"]),
.brxe-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(:focus, :active):not(.selected):not(.is-selected):not([aria-checked="true"]):not([aria-pressed="true"]):not([data-selected="1"]):not([data-bes-selected="1"]):not([data-fcepb-selected="1"]),
.fcepb-fc-shop-grid :is(.fct-products-wrapper-inner:not(.mode-list), .fct-products-wrapper-inner.mode-list) .fcepb-shop-grid-card-enhanced [data-fcepb-card-row="variants"] :is(.fcepb-shop-variant-pill, .fct-product-variant-item):is(:focus, :active):not(.selected):not(.is-selected):not([aria-checked="true"]):not([aria-pressed="true"]):not([data-selected="1"]):not([data-bes-selected="1"]):not([data-fcepb-selected="1"]) {
  border-color: var(--fcepb-shop-grid-variant-border) !important;
  background: var(--fcepb-shop-grid-variant-bg) !important;
  background-color: var(--fcepb-shop-grid-variant-bg) !important;
  color: var(--fcepb-shop-grid-variant-text) !important;
  box-shadow: none !important;
  outline: none !important;
}
