.fcwlbs,
.fcwlbs * {
  box-sizing: border-box;
}

.fcwlbs {
  --fcwlbs-green: #002e25;
  --fcwlbs-green-2: #014d41;
  --fcwlbs-bar: #a8bfae;
  --fcwlbs-thumb: #00584f;
  --fcwlbs-pill: #e5f1ef;
  --fcwlbs-border: #d6e8e5;
  width: 100%;
  overflow: hidden;
  color: var(--fcwlbs-green);
  background: #ffffff;
  font-family: Helvetica, Arial, sans-serif;
}

/* Header typography and controls mapped to the original Bricks Best Sellers inline CSS. */
.fcwlbs-header {
  display: flex;
  width: 100%;
  height: 100px;
  min-width: 100%;
  margin: 0;
  padding: 20px;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  color: #363636;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 30.6px;
  background: #ffffff;
}

.fcwlbs-title {
  display: block;
  width: auto;
  height: 56px;
  margin: 0;
  max-width: 100%;
  color: #014d41;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 56px;
  letter-spacing: 0;
}

.fcwlbs-actions {
  display: flex;
  width: 220px;
  height: 60px;
  min-width: 220px;
  flex: 0 0 220px;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  color: #363636;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 30.6px;
}

.fcwlbs-shop-all {
  display: block;
  width: auto;
  height: 28px;
  max-width: 100%;
  color: #014d41;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: 0;
  text-decoration: none;
  outline: none;
  white-space: nowrap;
}

.fcwlbs-nav {
  display: block;
  width: 48.75px;
  height: 60px;
  min-width: 48.75px;
  min-height: 60px;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #99a98f;
  cursor: pointer;
  outline: none;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 60px;
  line-height: 60px;
}

.fcwlbs-nav svg {
  display: block;
  width: 48.75px;
  height: 60px;
  max-width: 100%;
  overflow: visible;
  pointer-events: none;
}

.fcwlbs-nav circle {
  fill: currentColor;
}

.fcwlbs-nav path {
  fill: none;
  stroke: #ffffff;
  stroke-width: 6.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fcwlbs-track {
  display: flex;
  width: 100%;
  margin-top: 24px;
  padding: 2px 20px 20px;
  gap: 24px;
  overflow: auto hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  color: #363636;
  background: #ffffff;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 30.6px;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

.fcwlbs-track::-webkit-scrollbar {
  display: none;
}

.fcwlbs-track.is-dragging,
.fcwlbs-track.bes-is-dragging,
.fcwlbs-track.mlhs-is-dragging {
  cursor: grabbing;
}

.fcwlbs-track.is-dragging .fcwlbs-image-link,
.fcwlbs-track.is-dragging .fcwlbs-image,
.fcwlbs-track.bes-is-dragging .fcwlbs-image-link,
.fcwlbs-track.bes-is-dragging .fcwlbs-image,
.fcwlbs-track.mlhs-is-dragging .fcwlbs-image-link,
.fcwlbs-track.mlhs-is-dragging .fcwlbs-image {
  cursor: grabbing !important;
}

.fcwlbs-card {
  display: flex;
  position: relative;
  width: 300px;
  height: 433.219px;
  min-width: 300px;
  min-height: 418px;
  max-width: 300px;
  flex-direction: column;
  z-index: 1;
  overflow: hidden;
  color: #363636;
  background: #ffffff;
  border: 1px solid rgba(0, 46, 37, 0.1);
  border-radius: 0 !important;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 30.6px;
  scroll-snap-align: start;
  box-shadow: inset 0 0 0 1px rgba(0,46,37,.09);
  transition: box-shadow 180ms ease, border-color 180ms ease;
}

.fcwlbs-card:hover,
.fcwlbs-card:focus-within,
.fcwlbs-card:active {
  border-color: rgba(0,46,37,.09) !important;
  box-shadow: inset 0 0 0 1px rgba(0,46,37,.09), 0 12px 28px rgba(0,46,37,0.14) !important;
}

.fcwlbs-card,
.fcwlbs-card:hover,
.fcwlbs-card:active,
.fcwlbs-card:focus,
.fcwlbs-card:focus-within,
.fcwlbs-card::before,
.fcwlbs-card::after {
  border-radius: 0 !important;
}

.fcwlbs-quick-view {
  display: flex;
  position: absolute;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  max-width: 38px;
  max-height: 38px;
  align-items: center;
  justify-content: center;
  z-index: 10;
  top: 6px;
  left: 6px;
  color: var(--fcwlbs-green);
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  text-decoration: none;
  outline: none;
}

.fcwlbs-quick-view i,
.fcwlbs-quick-view svg {
  display: block;
  width: 17px;
  height: 17px;
  max-width: 17px;
  max-height: 17px;
  color: var(--fcwlbs-green);
  fill: currentColor;
  font-size: 17px;
  line-height: 17px;
  cursor: pointer;
}

.fcwlbs-badge {
  display: flex;
  position: absolute;
  width: auto;
  max-width: 148px;
  height: 26px;
  min-height: 26px;
  padding: 0 12px;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 9;
  top: 6px;
  right: 6px;
  color: var(--fcwlbs-green);
  background: var(--fcwlbs-pill);
  border: 1px solid var(--fcwlbs-border);
  border-radius: 7px;
  font-size: 12px;
  font-weight: 500;
  line-height: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fcwlbs-image-link {
  display: flex;
  position: relative;
  width: 100%;
  min-height: 278px;
  max-height: 278px;
  padding: 22px 16px 6px;
  align-items: flex-start;
  justify-content: center;
  z-index: 1;
  color: #000000;
  background: #ffffff;
  text-decoration: none;
  outline: none;
  border-radius: 0 !important;
}

.fcwlbs-image-link img {
  display: block;
  position: relative;
  width: 218.109px;
  height: 218.109px;
  max-width: 82%;
  max-height: 100%;
  object-fit: contain;
  z-index: 1;
  cursor: grab;
  -webkit-user-drag: none;
  user-select: none;
  overflow: clip;
  border-radius: 0 !important;
}

.fcwlbs-body {
  display: flex;
  width: 298px;
  height: 153.219px;
  padding: 3px 16px 12px;
  flex-direction: column;
  color: #363636;
  background: #ffffff;
  font-size: 18px;
  line-height: 30.6px;
}

.fcwlbs-product-title {
  width: 266px;
  height: 19.375px;
  max-width: 100%;
  margin: 0 0 3px;
  color: var(--fcwlbs-green);
  font-size: 17px;
  font-weight: 600;
  line-height: 19.38px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 0 0 19.375px;
}

.fcwlbs-product-title a {
  display: block;
  width: 100%;
  height: 19.375px;
  color: var(--fcwlbs-green);
  font-size: 17px;
  font-weight: 600;
  line-height: 19.38px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-decoration: none;
  outline: none;
}

.fcwlbs-description {
  display: -webkit-box;
  width: 266px;
  height: 32.2px;
  min-height: 32.2px;
  max-height: 32.2px;
  flex: 0 0 32.2px;
  margin: 0 0 3px;
  color: var(--fcwlbs-green);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 15.93px;
  opacity: 0.86;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fcwlbs-stars {
  display: flex;
  position: relative;
  width: 266px;
  height: 13px;
  max-height: 13px;
  margin-bottom: 4px;
  color: var(--fcwlbs-green-2);
  font-size: 13px;
  line-height: 13px;
  overflow: visible;
  flex: 0 0 13px;
}

.fcwlbs-star {
  display: block;
  position: relative;
  width: 13px;
  height: 13px;
  max-width: 13px;
  max-height: 13px;
  overflow: visible;
  color: var(--fcwlbs-green-2);
  font-size: 13px;
  line-height: 13px;
}

.fcwlbs-star-bg,
.fcwlbs-star-fill {
  display: block;
  width: 13px;
  height: 13px;
  max-width: 13px;
  max-height: 13px;
  color: #999999;
  font-size: 13px;
  line-height: 13px;
}

.fcwlbs-star-bg svg,
.fcwlbs-star-fill svg {
  display: block;
  width: 13px;
  height: 13px;
  max-width: 13px;
  max-height: 13px;
  overflow: visible;
}

.fcwlbs-star-fill {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--fcwlbs-green-2);
  overflow: hidden;
}

.fcwlbs-pricing {
  width: 266px;
  min-height: 58px;
  flex: 0 0 58px;
  margin-top: auto;
  color: #363636;
  background: #ffffff;
  font-size: 18px;
  line-height: 30.6px;
}

.fcwlbs-variants {
  display: flex;
  position: relative;
  width: 266px;
  min-height: 19px;
  height: 19px;
  margin-top: 4px;
  margin-bottom: 6px;
  align-items: center;
  gap: 5px 6px;
  color: #363636;
  font-size: 18px;
  line-height: 30.6px;
  z-index: 12;
}

.fcwlbs-variants-placeholder {
  visibility: hidden;
  pointer-events: none;
}

.fcwlbs-variant {
  display: flex;
  position: relative;
  width: auto;
  min-width: 42px;
  height: 19px;
  min-height: 19px;
  max-height: 19px;
  padding: 1px 8px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--fcwlbs-green);
  background: #ffffff;
  border: 1px solid #99beb7;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  outline: none;
}

.fcwlbs-variant.is-selected,
.fcwlbs-variant[aria-checked="true"] {
  background: var(--fcwlbs-pill);
  border-color: var(--fcwlbs-border);
}

.fcwlbs-variant > span,
.fcwlbs-variant > span > span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fcwlbs-green);
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  white-space: nowrap;
}

.fcwlbs-add-to-bag {
  display: flex;
  position: relative;
  width: 266px;
  height: 33px;
  min-height: 33px;
  max-width: 100%;
  max-height: 33px;
  padding: 0 16px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--fcwlbs-green);
  background: var(--fcwlbs-pill);
  border: 1px solid var(--fcwlbs-border);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
}

.fcwlbs-add-to-bag[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

.fcwlbs-cart-label {
  display: block;
  min-width: 0;
  color: var(--fcwlbs-green);
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fcwlbs-cart-price {
  display: flex;
  min-width: 0;
  margin-left: auto;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  color: var(--fcwlbs-green);
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  white-space: nowrap;
}

.fcwlbs-old-price {
  display: block;
  position: relative;
  opacity: 0.9;
  text-decoration: line-through;
}

.fcwlbs-sale-price {
  display: block;
}

.fcwlbs-loading {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background: #eaece0;
  border-radius: 8px;
}

.fcwlbs-scrollbar {
  position: relative;
  width: calc(100% - 40px);
  height: 2px;
  margin: 24px 20px 0;
  background: var(--fcwlbs-bar);
  border-radius: 999px;
}

.fcwlbs-scrollbar-thumb {
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 4px;
  background: var(--fcwlbs-thumb);
  border-radius: 999px;
}

.fcwlbs-empty {
  padding: 12px 16px;
  background: #fff8e6;
  border: 1px solid #ead59a;
  color: #4d3b00;
}

@media (max-width: 767px) {
  .fcwlbs-header {
    height: 100px;
    min-width: 100%;
    padding: 20px 14px;
    align-items: center;
    margin: 0;
  }

  .fcwlbs-title {
    height: 56px;
    font-size: 40px;
    font-weight: 700;
    line-height: 56px;
    letter-spacing: 0;
  }

  .fcwlbs-actions {
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
    height: 60px;
    gap: 8px;
  }

  .fcwlbs-shop-all {
    height: 28px;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
  }

  .fcwlbs-nav {
    width: 48.75px;
    height: 60px;
    min-width: 48.75px;
    min-height: 60px;
    font-size: 60px;
    line-height: 60px;
  }

  .fcwlbs-nav svg {
    width: 48.75px;
    height: 60px;
  }

  .fcwlbs-track {
    width: 100%;
    height: 440px;
    margin-top: 24px;
    padding: 2px 14px 20px;
    gap: 16px;
    color: var(--fcwlbs-green);
    font-size: 14px;
    line-height: 23.8px;
  }

  .fcwlbs-card {
    width: 300px;
    height: 418px;
    min-width: 300px;
    min-height: 418px;
    max-width: 300px;
    max-height: 418px;
    color: var(--fcwlbs-green);
    font-size: 14px;
    line-height: 23.8px;
  }

  .fcwlbs-quick-view {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    max-width: 34px;
    max-height: 34px;
  }

  .fcwlbs-quick-view i,
  .fcwlbs-quick-view svg {
    width: 16px;
    height: 16px;
    max-width: 16px;
    max-height: 16px;
    font-size: 16px;
    line-height: 16px;
  }

  .fcwlbs-badge {
    height: 23px;
    min-height: 23px;
    max-width: 120px;
    font-size: 10px;
    line-height: 10px;
  }

  .fcwlbs-image-link {
    min-height: 230px;
    max-height: 230px;
    padding: 22px 12px 6px;
  }

  .fcwlbs-image-link img {
    width: 188px;
    height: 188px;
    max-height: 188px;
  }

  .fcwlbs-body {
    width: 298px;
    height: 168px;
    min-height: 168px;
    max-height: 168px;
    padding: 3px 12px 12px;
    color: var(--fcwlbs-green);
    font-size: 14px;
    line-height: 23.8px;
  }

  .fcwlbs-product-title,
  .fcwlbs-product-title a {
    width: 274px;
    height: 17px;
    max-height: 17px;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 17px;
  }

  .fcwlbs-description {
    width: 274px;
    height: 27px;
    min-height: 27px;
    max-height: 27px;
    flex: 0 0 27px;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 13.5px;
  }

  .fcwlbs-stars {
    width: 274px;
    height: 12px;
    max-height: 12px;
    flex: 0 0 12px;
    font-size: 12px;
    line-height: 12px;
    overflow: visible;
  }

  .fcwlbs-star,
  .fcwlbs-star-bg,
  .fcwlbs-star-fill,
  .fcwlbs-star-bg svg,
  .fcwlbs-star-fill svg {
    width: 12px;
    height: 12px;
    max-width: 12px;
    max-height: 12px;
  }

  .fcwlbs-star-bg,
  .fcwlbs-star-fill {
    font-size: 12px;
    line-height: 12px;
  }

  .fcwlbs-pricing {
    width: 274px;
    min-height: 57px;
    flex: 0 0 57px;
    margin-top: auto;
    color: var(--fcwlbs-green);
    font-size: 14px;
    line-height: 23.8px;
  }

  .fcwlbs-variants {
    width: 274px;
    height: 19px;
    margin-top: 4px;
    margin-bottom: 6px;
    font-size: 14px;
    line-height: 23.8px;
  }

  .fcwlbs-variant {
    min-width: 42px;
    height: 19px;
    min-height: 19px;
    max-height: 19px;
    padding: 1px 8px;
    font-size: 10.5px;
    line-height: 10.5px;
  }

  .fcwlbs-add-to-bag {
    width: 274px;
    height: 32px;
    min-height: 32px;
    max-height: 32px;
    padding: 0 16px;
    font-size: 12px;
    line-height: 12px;
  }

  .fcwlbs-scrollbar {
    width: calc(100% - 28px);
    margin: 20px 14px 0;
  }
}


@media (max-width: 478px) {
  .fcwlbs-nav {
    display: none;
  }

  .fcwlbs-title {
    font-size: clamp(34px, 10vw, 42px);
    line-height: 1.05;
  }

  .fcwlbs-product-title,
  .fcwlbs-product-title a {
    font-size: 14.5px;
    font-weight: 600;
    line-height: 17px;
  }

  .fcwlbs-description {
    font-size: 11.5px;
    font-weight: 500;
    line-height: 13.5px;
  }

  .fcwlbs-variant {
    font-size: 11px;
    line-height: 1;
  }

  .fcwlbs-add-to-bag,
  .fcwlbs-cart-label,
  .fcwlbs-cart-price,
  .fcwlbs-old-price,
  .fcwlbs-sale-price {
    font-size: 12px;
    line-height: 12px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .fcwlbs-product-title,
  .fcwlbs-product-title a {
    font-size: 16px;
  }

  .fcwlbs-description {
    font-size: 12.5px;
  }

  .fcwlbs-variant {
    font-size: 11.5px;
  }

  .fcwlbs-add-to-bag {
    font-size: 13.75px;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .fcwlbs-product-title,
  .fcwlbs-product-title a {
    font-size: 17px;
  }

  .fcwlbs-description {
    font-size: 13.5px;
  }

  .fcwlbs-variant {
    font-size: 11.75px;
  }

  .fcwlbs-add-to-bag {
    font-size: 14px;
  }
}

@media (max-width: 520px) {
  .fcwlbs-actions {
    display: none;
  }
}

/* v1.3.17: group-aware description rhythm.
   Default to one-line ACF/meta row; if any card in the same widget wraps to two lines, JS adds
   .fcwlbs-has-multiline-description so every card reserves the same two-line row height. */
.fcwlbs .fcwlbs-description {
  display: -webkit-box;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.fcwlbs .fcwlbs-description:empty::before {
  content: "\00a0";
}
@media (min-width: 768px) {
  .fcwlbs .fcwlbs-description {
    height: 15.93px;
    min-height: 15.93px;
    max-height: 15.93px;
    flex-basis: 15.93px;
  }
  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-description {
    height: 32.2px;
    min-height: 32.2px;
    max-height: 32.2px;
    flex-basis: 32.2px;
  }
  .fcwlbs .fcwlbs-stars {
    flex-basis: 13px;
  }
}
@media (max-width: 767px) {
  .fcwlbs .fcwlbs-description {
    height: 13.5px;
    min-height: 13.5px;
    max-height: 13.5px;
    flex-basis: 13.5px;
  }
  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-description {
    height: 27px;
    min-height: 27px;
    max-height: 27px;
    flex-basis: 27px;
  }
  .fcwlbs .fcwlbs-stars {
    flex-basis: 12px;
  }
}


/* v1.3.18: compact one-line description rhythm.
   The pricing block must sit directly under the stars; when descriptions are one line,
   the whole card shrinks instead of leaving dead space above the cart button. Bottom padding
   under the cart button stays unchanged. If any description wraps, JS adds
   .fcwlbs-has-multiline-description and every card expands together. */
.fcwlbs .fcwlbs-track {
  height: auto !important;
  align-items: flex-start !important;
}
.fcwlbs .fcwlbs-pricing {
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  .fcwlbs .fcwlbs-body {
    height: 130.305px !important;
    min-height: 130.305px !important;
    max-height: 130.305px !important;
  }
  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-body {
    height: 146.575px !important;
    min-height: 146.575px !important;
    max-height: 146.575px !important;
  }
  .fcwlbs .fcwlbs-card {
    height: 408.305px !important;
    min-height: 408.305px !important;
    max-height: 408.305px !important;
  }
  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-card {
    height: 424.575px !important;
    min-height: 424.575px !important;
    max-height: 424.575px !important;
  }
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-body {
    height: 124.5px !important;
    min-height: 124.5px !important;
    max-height: 124.5px !important;
  }
  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-body {
    height: 138px !important;
    min-height: 138px !important;
    max-height: 138px !important;
  }
  .fcwlbs .fcwlbs-card {
    height: 354.5px !important;
    min-height: 354.5px !important;
    max-height: 354.5px !important;
  }
  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-card {
    height: 368px !important;
    min-height: 368px !important;
    max-height: 368px !important;
  }
}

/* v1.3.20: viewport-consistent header/track alignment + old Best Sellers hover.
   Scope is outer layout and card hover only. Product image, product title, ACF description,
   stars, variants, badge, price, and Add to Bag internals are intentionally untouched. */
.fcwlbs .fcwlbs-card {
  transform: translateY(0) !important;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 160ms ease !important;
}

.fcwlbs .fcwlbs-card:hover,
.fcwlbs .fcwlbs-card:focus-within,
.fcwlbs .fcwlbs-card:active {
  transform: translateY(-3px) !important;
  border-color: rgba(0,46,37,.10) !important;
  box-shadow: inset 0 0 0 1px rgba(0,46,37,.10), 0 12px 28px rgba(0,46,37,0.14) !important;
}

.fcwlbs .fcwlbs-header {
  height: 76px !important;
  min-height: 76px !important;
  padding-top: 20px !important;
  padding-right: 20px !important;
  padding-bottom: 0 !important;
  padding-left: 20px !important;
}

.fcwlbs .fcwlbs-track {
  margin-top: 0 !important;
  padding-right: 20px !important;
  padding-left: 20px !important;
  gap: 12px !important;
}

.fcwlbs .fcwlbs-scrollbar {
  width: calc(100% - 40px) !important;
  margin-top: 24px !important;
  margin-right: 20px !important;
  margin-left: 20px !important;
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-header {
    height: 76px !important;
    min-height: 76px !important;
    padding-top: 20px !important;
    padding-right: 14px !important;
    padding-bottom: 0 !important;
    padding-left: 14px !important;
  }

  .fcwlbs .fcwlbs-track {
    margin-top: 0 !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
    gap: 8px !important;
  }

  .fcwlbs .fcwlbs-scrollbar {
    width: calc(100% - 28px) !important;
    margin-top: 20px !important;
    margin-right: 14px !important;
    margin-left: 14px !important;
  }
}

/* v1.3.21: audited outer rhythm + old-smooth slider behavior.
   This is intentionally limited to: header/card-border alignment, header-to-card vertical gap,
   scrollbar/card-border alignment, scrollbar distance, and slider smoothness. Product data,
   images, title, ACF text, badge sizing, stars, variations, and cart/price markup are untouched. */
.fcwlbs {
  --fcwlbs-title-card-gap: 48px;
}

/* Align the visible title with the first card outer border and reserve 1/2 inch between
   the title row and the card top border. */
.fcwlbs .fcwlbs-header {
  height: 124px !important;
  min-height: 124px !important;
  padding-top: 20px !important;
  padding-right: 20px !important;
  padding-bottom: var(--fcwlbs-title-card-gap) !important;
  padding-left: 0 !important;
  align-items: flex-start !important;
}

/* Keep the product row itself unchanged except disabling snap, which was the source of
   the newer widget feeling jumpy compared with the old Best Sellers image-drag slider. */
.fcwlbs .fcwlbs-track {
  margin-top: 0 !important;
  scroll-snap-type: none !important;
  scroll-padding-left: 0 !important;
}

.fcwlbs .fcwlbs-card {
  scroll-snap-align: none !important;
}

/* Align the custom scrollbar to the same outer edge as the cards and reduce the
   card-to-scrollbar distance by 2/8 inch from the previous build. */
.fcwlbs .fcwlbs-scrollbar {
  width: 100% !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-header {
    height: 124px !important;
    min-height: 124px !important;
    padding-top: 20px !important;
    padding-right: 14px !important;
    padding-bottom: var(--fcwlbs-title-card-gap) !important;
    padding-left: 0 !important;
    align-items: flex-start !important;
  }

  .fcwlbs .fcwlbs-track {
    margin-top: 0 !important;
    scroll-snap-type: none !important;
    scroll-padding-left: 0 !important;
  }

  .fcwlbs .fcwlbs-scrollbar {
    width: 100% !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}


/* v1.3.22: final alignment + bottom rhythm.
   Scope is limited to the requested visual rhythm only: align the card row with the
   title/scrollbar and add 3x the audited space below the Add To Bag button. */
.fcwlbs .fcwlbs-track {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.fcwlbs .fcwlbs-card {
  height: 445.219px !important;
  min-height: 445.219px !important;
}

.fcwlbs .fcwlbs-body {
  height: 165.219px !important;
  min-height: 165.219px !important;
  padding-bottom: 24px !important;
}

.fcwlbs .fcwlbs-pricing {
  min-height: 62px !important;
  flex-basis: 62px !important;
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-track {
    height: 452px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .fcwlbs .fcwlbs-card {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
  }

  .fcwlbs .fcwlbs-body {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    padding-bottom: 24px !important;
  }

  .fcwlbs .fcwlbs-pricing {
    min-height: 62px !important;
    flex-basis: 62px !important;
  }
}


/* v1.3.23: restore old Best Sellers card bottom rhythm + mobile card height.
   Keeps v1.3.21/v1.3.22 outer alignment, but removes the v1.3.22 oversized
   bottom reserve below Add To Bag. Product data, images, descriptions, stars,
   badges, variants, and price markup are untouched. */
.fcwlbs .fcwlbs-body {
  padding-bottom: 12px !important;
}

.fcwlbs .fcwlbs-pricing {
  min-height: 58px !important;
  flex-basis: 58px !important;
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  .fcwlbs .fcwlbs-body {
    height: 130.305px !important;
    min-height: 130.305px !important;
    max-height: 130.305px !important;
    padding-bottom: 12px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-body {
    height: 146.575px !important;
    min-height: 146.575px !important;
    max-height: 146.575px !important;
  }

  .fcwlbs .fcwlbs-card {
    height: 408.305px !important;
    min-height: 408.305px !important;
    max-height: 408.305px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-card {
    height: 424.575px !important;
    min-height: 424.575px !important;
    max-height: 424.575px !important;
  }
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-track {
    height: auto !important;
  }

  .fcwlbs .fcwlbs-body {
    height: 124.5px !important;
    min-height: 124.5px !important;
    max-height: 124.5px !important;
    padding-bottom: 9px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-body {
    height: 138px !important;
    min-height: 138px !important;
    max-height: 138px !important;
  }

  .fcwlbs .fcwlbs-card {
    height: 354.5px !important;
    min-height: 354.5px !important;
    max-height: 354.5px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-card {
    height: 368px !important;
    min-height: 368px !important;
    max-height: 368px !important;
  }

  .fcwlbs .fcwlbs-pricing {
    min-height: 57px !important;
    flex-basis: 57px !important;
  }
}

@media (max-width: 480px) {
  .fcwlbs .fcwlbs-body {
    padding-bottom: 8px !important;
  }
}


/* v1.3.24: reveal the real old-card bottom gap.
   The previous compact body used the old 12px padding, but the pricing stack itself is
   62px on desktop (variants 19px + margins 10px + button 33px) and 61px on mobile.
   The body/card height must include that real pricing stack so the 12px/old bottom
   rhythm is visible instead of being clipped by the fixed card height. */
@media (min-width: 768px) {
  .fcwlbs .fcwlbs-pricing {
    min-height: 62px !important;
    flex-basis: 62px !important;
  }

  .fcwlbs .fcwlbs-body {
    height: 134.305px !important;
    min-height: 134.305px !important;
    max-height: 134.305px !important;
    padding-bottom: 12px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-body {
    height: 150.575px !important;
    min-height: 150.575px !important;
    max-height: 150.575px !important;
    padding-bottom: 12px !important;
  }

  .fcwlbs .fcwlbs-card {
    height: 412.305px !important;
    min-height: 412.305px !important;
    max-height: 412.305px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-card {
    height: 428.575px !important;
    min-height: 428.575px !important;
    max-height: 428.575px !important;
  }
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-pricing {
    min-height: 61px !important;
    flex-basis: 61px !important;
  }

  .fcwlbs .fcwlbs-body {
    height: 128.5px !important;
    min-height: 128.5px !important;
    max-height: 128.5px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-body {
    height: 142px !important;
    min-height: 142px !important;
    max-height: 142px !important;
  }

  .fcwlbs .fcwlbs-card {
    height: 358.5px !important;
    min-height: 358.5px !important;
    max-height: 358.5px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-card {
    height: 372px !important;
    min-height: 372px !important;
    max-height: 372px !important;
  }
}


/* v1.3.36: restores the visible custom slider/progress bar while keeping later card, icon, Shop all, and Bricks style controls. */

/* Desktop/tablet old-card reference: 13px star boxes with a larger 15px icon feel. */
.fcwlbs .fcwlbs-stars {
  height: 13px !important;
  max-height: 13px !important;
  flex-basis: 13px !important;
  font-size: 13px !important;
  line-height: 13px !important;
  overflow: visible !important;
}

.fcwlbs .fcwlbs-star,
.fcwlbs .fcwlbs-star-bg,
.fcwlbs .fcwlbs-star-fill {
  width: 13px !important;
  height: 13px !important;
  max-width: 13px !important;
  max-height: 13px !important;
  font-size: 15px !important;
  line-height: 13px !important;
  overflow: visible !important;
}

.fcwlbs .fcwlbs-star-bg svg,
.fcwlbs .fcwlbs-star-fill svg {
  width: 15px !important;
  height: 15px !important;
  max-width: 15px !important;
  max-height: 15px !important;
  transform: translate(-1px, -1px) !important;
  transform-origin: center center !important;
  overflow: visible !important;
}

/* Mobile keeps the old smaller mobile rhythm, but prevents the stars from looking shrunken. */
@media (max-width: 767px) {
  .fcwlbs .fcwlbs-stars {
    height: 12px !important;
    max-height: 12px !important;
    flex-basis: 12px !important;
    font-size: 12px !important;
    line-height: 12px !important;
    overflow: visible !important;
  }

  .fcwlbs .fcwlbs-star,
  .fcwlbs .fcwlbs-star-bg,
  .fcwlbs .fcwlbs-star-fill {
    width: 12px !important;
    height: 12px !important;
    max-width: 12px !important;
    max-height: 12px !important;
    font-size: 14px !important;
    line-height: 12px !important;
    overflow: visible !important;
  }

  .fcwlbs .fcwlbs-star-bg svg,
  .fcwlbs .fcwlbs-star-fill svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    transform: translate(-1px, -1px) !important;
  }
}

/* v1.3.28: card-edge content alignment.
   The quick-view icon and top badge sit 6px from the card edge. Match that same horizontal
   inset for the product title, ACF/meta description, stars row, variation pill row, and
   Add To Bag button across desktop, tablet, and mobile viewports. Product data, images,
   badge, quick-view behavior, variation data, cart hooks, and Bricks element identity are untouched. */
.fcwlbs {
  --fcwlbs-card-edge-inset: 6px;
}

.fcwlbs .fcwlbs-body {
  width: 100% !important;
  padding-right: var(--fcwlbs-card-edge-inset) !important;
  padding-left: var(--fcwlbs-card-edge-inset) !important;
  box-sizing: border-box !important;
}

.fcwlbs .fcwlbs-product-title,
.fcwlbs .fcwlbs-product-title a,
.fcwlbs .fcwlbs-description,
.fcwlbs .fcwlbs-stars,
.fcwlbs .fcwlbs-pricing,
.fcwlbs .fcwlbs-variants,
.fcwlbs .fcwlbs-add-to-bag {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.fcwlbs .fcwlbs-product-title,
.fcwlbs .fcwlbs-description,
.fcwlbs .fcwlbs-stars,
.fcwlbs .fcwlbs-pricing,
.fcwlbs .fcwlbs-variants,
.fcwlbs .fcwlbs-add-to-bag {
  align-self: stretch !important;
}

/* v1.3.29: keep Shop all visible on phone and expose URL in Bricks.
   Earlier mobile CSS hid the whole action group below 520px, which removed the Shop all link.
   Keep the link visible beside the heading on mobile; hide only the arrow buttons on small phones
   to preserve horizontal space. */
@media (max-width: 520px) {
  .fcwlbs .fcwlbs-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .fcwlbs .fcwlbs-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .fcwlbs .fcwlbs-actions {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    height: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
  }

  .fcwlbs .fcwlbs-shop-all {
    display: block !important;
    height: 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
  }

  .fcwlbs .fcwlbs-nav {
    display: none !important;
  }
}


/* v1.3.30: mobile old-card visual parity for text, stars, pills, and cart button.
   Scope is intentionally mobile card internals only. Quick-view icon sizing/placement is
   not touched because that part already works. Product query, images, badge, Shop all URL,
   Bricks element identity, ACF source, variation/cart hooks, and desktop layout are untouched. */
@media (max-width: 767px) {
  .fcwlbs .fcwlbs-product-title,
  .fcwlbs .fcwlbs-product-title a {
    height: 17.6758px !important;
    min-height: 17.6758px !important;
    max-height: 17.6758px !important;
    flex: 0 0 17.6758px !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    line-height: 17.67px !important;
  }

  .fcwlbs .fcwlbs-description {
    height: 14.3325px !important;
    min-height: 14.3325px !important;
    max-height: 14.3325px !important;
    flex: 0 0 14.3325px !important;
    margin-bottom: 3px !important;
    font-size: 12.25px !important;
    font-weight: 500 !important;
    line-height: 14.3325px !important;
    -webkit-line-clamp: 1 !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-description {
    height: 28.665px !important;
    min-height: 28.665px !important;
    max-height: 28.665px !important;
    flex-basis: 28.665px !important;
    -webkit-line-clamp: 2 !important;
  }

  .fcwlbs .fcwlbs-stars {
    height: 13px !important;
    max-height: 13px !important;
    flex: 0 0 13px !important;
    margin-bottom: 4px !important;
    font-size: 13px !important;
    line-height: 13px !important;
    overflow: visible !important;
  }

  .fcwlbs .fcwlbs-star,
  .fcwlbs .fcwlbs-star-bg,
  .fcwlbs .fcwlbs-star-fill {
    width: 13px !important;
    height: 13px !important;
    max-width: 13px !important;
    max-height: 13px !important;
    font-size: 15px !important;
    line-height: 13px !important;
    overflow: visible !important;
  }

  .fcwlbs .fcwlbs-star-bg svg,
  .fcwlbs .fcwlbs-star-fill svg {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
    transform: translate(-1px, -1px) !important;
    transform-origin: center center !important;
    overflow: visible !important;
  }

  .fcwlbs .fcwlbs-pricing {
    min-height: 72px !important;
    flex: 0 0 72px !important;
    font-size: 14px !important;
    line-height: 23.8px !important;
  }

  .fcwlbs .fcwlbs-variants {
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin-top: 4px !important;
    margin-bottom: 6px !important;
    gap: 5px !important;
    font-size: 14px !important;
    line-height: 23.8px !important;
  }

  .fcwlbs .fcwlbs-variant {
    min-width: 42px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    padding: 2px 8px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 11.5px !important;
  }

  .fcwlbs .fcwlbs-variant > span,
  .fcwlbs .fcwlbs-variant > span > span {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 11.5px !important;
  }

  .fcwlbs .fcwlbs-add-to-bag {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
  }

  .fcwlbs .fcwlbs-cart-label,
  .fcwlbs .fcwlbs-cart-price,
  .fcwlbs .fcwlbs-old-price,
  .fcwlbs .fcwlbs-sale-price {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
  }

  .fcwlbs .fcwlbs-cart-price {
    gap: 4px !important;
  }

  .fcwlbs .fcwlbs-body {
    height: 141px !important;
    min-height: 141px !important;
    max-height: 141px !important;
    padding-top: 3px !important;
    padding-bottom: 9px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-body {
    height: 155.5px !important;
    min-height: 155.5px !important;
    max-height: 155.5px !important;
  }

  .fcwlbs .fcwlbs-card {
    height: 371px !important;
    min-height: 371px !important;
    max-height: 371px !important;
  }

  .fcwlbs.fcwlbs-has-multiline-description .fcwlbs-card {
    height: 385.5px !important;
    min-height: 385.5px !important;
    max-height: 385.5px !important;
  }
}

/* v1.3.31: badge typography boost only.
   Keep the badge box size, side padding, max-width, top/right positioning, and quick-view behavior unchanged.
   The visual improvement comes from stronger font weight, slightly tighter tracking, and font smoothing. */
.fcwlbs .fcwlbs-badge {
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  max-width: 148px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  box-sizing: border-box !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 12.5px !important;
  letter-spacing: -0.015em !important;
  text-rendering: geometricPrecision !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-badge {
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    max-width: 120px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    line-height: 10.5px !important;
    letter-spacing: -0.01em !important;
  }
}


/* v1.3.32: quick-view glyph parity only.
   Keep the approved quick-view link, popup trigger, position, circle size, and responsive sizing intact.
   Swap only the inner eye artwork to an outline Bricks/Lucide-style glyph across all viewports. */
.fcwlbs .fcwlbs-quick-view svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.fcwlbs .fcwlbs-quick-view svg path,
.fcwlbs .fcwlbs-quick-view svg circle {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* v1.3.36: mobile Shop all alignment correction.
   v1.3.33 added a downward optical nudge that now places Shop all below the Best Sellers heading.
   Remove that offset and let the existing header flex alignment center the link with the title row. */
@media (max-width: 767px) {
  .fcwlbs .fcwlbs-shop-all {
    transform: none !important;
    will-change: auto !important;
    align-self: center !important;
  }
}


/* v1.3.36: Bricks backend design controls.
   Adds per-element colour variables and safe quick-view icon styling without changing
   product query, images, ACF source, variation/cart hooks, approved spacing, or layout. */
.fcwlbs {
  --fcwlbs-title-color: var(--fcwlbs-green);
  --fcwlbs-description-color: var(--fcwlbs-green);
  --fcwlbs-badge-text-color: var(--fcwlbs-green);
  --fcwlbs-badge-bg-color: var(--fcwlbs-pill);
  --fcwlbs-badge-border-color: var(--fcwlbs-border);
  --fcwlbs-button-text-color: var(--fcwlbs-green);
  --fcwlbs-button-bg-color: var(--fcwlbs-pill);
  --fcwlbs-button-border-color: var(--fcwlbs-border);
  --fcwlbs-pill-text-color: var(--fcwlbs-green);
  --fcwlbs-pill-bg-color: #ffffff;
  --fcwlbs-pill-border-color: #99beb7;
  --fcwlbs-pill-selected-bg-color: var(--fcwlbs-pill);
  --fcwlbs-pill-selected-border-color: var(--fcwlbs-border);
  --fcwlbs-card-border-color: rgba(0, 46, 37, 0.10);
  --fcwlbs-quick-view-text-color: var(--fcwlbs-green);
  --fcwlbs-quick-view-bg-color: #ffffff;
  --fcwlbs-quick-view-border-color: rgba(0, 0, 0, 0.08);
}

.fcwlbs .fcwlbs-product-title,
.fcwlbs .fcwlbs-product-title a {
  color: var(--fcwlbs-title-color) !important;
}

.fcwlbs .fcwlbs-description {
  color: var(--fcwlbs-description-color) !important;
}

.fcwlbs .fcwlbs-badge {
  color: var(--fcwlbs-badge-text-color) !important;
  background: var(--fcwlbs-badge-bg-color) !important;
  border-color: var(--fcwlbs-badge-border-color) !important;
}

.fcwlbs .fcwlbs-add-to-bag {
  color: var(--fcwlbs-button-text-color) !important;
  background: var(--fcwlbs-button-bg-color) !important;
  border-color: var(--fcwlbs-button-border-color) !important;
}

.fcwlbs .fcwlbs-cart-label,
.fcwlbs .fcwlbs-cart-price,
.fcwlbs .fcwlbs-old-price,
.fcwlbs .fcwlbs-sale-price {
  color: var(--fcwlbs-button-text-color) !important;
}

.fcwlbs .fcwlbs-variant {
  color: var(--fcwlbs-pill-text-color) !important;
  background: var(--fcwlbs-pill-bg-color) !important;
  border-color: var(--fcwlbs-pill-border-color) !important;
}

.fcwlbs .fcwlbs-variant > span,
.fcwlbs .fcwlbs-variant > span > span {
  color: var(--fcwlbs-pill-text-color) !important;
}

.fcwlbs .fcwlbs-variant.is-selected,
.fcwlbs .fcwlbs-variant[aria-checked="true"] {
  color: var(--fcwlbs-pill-text-color) !important;
  background: var(--fcwlbs-pill-selected-bg-color) !important;
  border-color: var(--fcwlbs-pill-selected-border-color) !important;
}

.fcwlbs .fcwlbs-card {
  border-color: var(--fcwlbs-card-border-color) !important;
  box-shadow: inset 0 0 0 1px var(--fcwlbs-card-border-color) !important;
}

.fcwlbs .fcwlbs-card:hover,
.fcwlbs .fcwlbs-card:focus-within,
.fcwlbs .fcwlbs-card:active {
  border-color: var(--fcwlbs-card-border-color) !important;
  box-shadow: inset 0 0 0 1px var(--fcwlbs-card-border-color), 0 12px 28px rgba(0,46,37,0.14) !important;
}

.fcwlbs .fcwlbs-quick-view {
  color: var(--fcwlbs-quick-view-text-color) !important;
  background: var(--fcwlbs-quick-view-bg-color) !important;
  border-color: var(--fcwlbs-quick-view-border-color) !important;
}

.fcwlbs .fcwlbs-quick-view i,
.fcwlbs .fcwlbs-quick-view svg,
.fcwlbs .fcwlbs-quick-view-system-icon,
.fcwlbs .fcwlbs-quick-view-custom-svg {
  color: var(--fcwlbs-quick-view-text-color) !important;
}

.fcwlbs .fcwlbs-quick-view i > svg,
.fcwlbs .fcwlbs-quick-view i > span > svg,
.fcwlbs .fcwlbs-quick-view i > i,
.fcwlbs .fcwlbs-quick-view i > span > i {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* v1.3.43 — FC Product Popup Cart element for Bricks product popup templates */
.fcwlbs-popup-cart-bricks-element {
  display: block;
  width: 100%;
  max-width: 100%;
}

.fcwlbs-popup-cart-push-bottom,
.fcpopcart--push-bottom {
  margin-top: auto !important;
}

.fcwlbs-popup-cart-push-bottom {
  width: 100% !important;
  max-width: 100% !important;
}

.fcpopcart,
.fcpopcart * {
  box-sizing: border-box;
}

.fcpopcart {
  --fcpopcart-text-color: #002e25;
  --fcpopcart-button-text-color: #002e25;
  --fcpopcart-button-bg-color: #e5f1ef;
  --fcpopcart-button-border-color: #d6e8e5;
  --fcpopcart-pill-text-color: #002e25;
  --fcpopcart-pill-bg-color: #ffffff;
  --fcpopcart-pill-border-color: #99beb7;
  --fcpopcart-pill-selected-bg-color: #e5f1ef;
  --fcpopcart-pill-selected-border-color: #d6e8e5;
  --fcpopcart-old-price-color: #002e25;
  --fcpopcart-button-width: 100%;
  display: flex;
  width: 100%;
  max-width: 100%;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  color: var(--fcpopcart-text-color);
  font-family: inherit;
}

.fcpopcart-price-range {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--fcpopcart-text-color);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}

.fcpopcart-variants {
  display: flex;
  width: 100%;
  min-height: 20px;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.fcpopcart-variant,
.fcpopcart-variant[type="button"] {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  position: relative;
  width: auto;
  min-width: 42px;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  padding: 2px 8px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  white-space: nowrap;
  color: var(--fcpopcart-pill-text-color);
  background: var(--fcpopcart-pill-bg-color);
  border: 1.25px solid var(--fcpopcart-pill-border-color);
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 11.5px;
  text-align: center;
  cursor: pointer;
  outline: none;
}

.fcpopcart-variant > span,
.fcpopcart-variant > span > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.fcpopcart-variant.is-selected,
.fcpopcart-variant[aria-checked="true"] {
  background: var(--fcpopcart-pill-selected-bg-color);
  border-color: var(--fcpopcart-pill-selected-border-color);
}

.fcpopcart-add-to-bag,
.fcpopcart-add-to-bag[type="button"] {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  position: relative;
  width: var(--fcpopcart-button-width, 100%);
  max-width: 100%;
  min-height: 42px;
  height: 42px;
  max-height: 42px;
  padding: 0 24px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  overflow: hidden;
  white-space: nowrap;
  color: var(--fcpopcart-button-text-color);
  background: var(--fcpopcart-button-bg-color);
  border: 1.25px solid var(--fcpopcart-button-border-color);
  border-radius: 6px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  cursor: pointer;
  outline: none;
}

.fcpopcart-add-to-bag[aria-disabled="true"] {
  opacity: 0.72;
}

.fcpopcart-cart-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.fcpopcart-cart-price {
  display: inline-flex;
  min-width: fit-content;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.fcpopcart-old-price {
  display: inline-block;
  color: var(--fcpopcart-old-price-color);
  opacity: 0.9;
  text-decoration: line-through;
  text-decoration-thickness: 1.3px;
  text-decoration-color: currentColor;
}

.fcpopcart-sale-price {
  display: inline-block;
  color: inherit;
}

.fcpopcart-loading {
  display: none;
}

.fcpopcart-empty {
  margin: 0;
  padding: 10px 12px;
  color: #7a3e00;
  background: #fff8e5;
  border: 1px solid #f1d37a;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .fcpopcart {
    gap: 12px;
  }

  .fcpopcart-price-range {
    font-size: 16px;
    line-height: 1.35;
  }

  .fcpopcart-add-to-bag,
  .fcpopcart-add-to-bag[type="button"] {
    min-height: 42px;
    height: 42px;
    max-height: 42px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* v1.3.55 — FC Product Popup Cart shell stays transparent and never mutates/paints parent Bricks popup rows, columns, sections, containers, or backgrounds. */
.fcwlbs-popup-cart-bricks-element,
.fcwlbs-popup-cart-push-bottom,
.fcpopcart {
  background: transparent !important;
  background-color: transparent !important;
}

.fcwlbs-popup-cart-bricks-element::before,
.fcwlbs-popup-cart-bricks-element::after,
.fcpopcart::before,
.fcpopcart::after {
  background: transparent !important;
  background-color: transparent !important;
}

/* v1.3.67 — scoped Quick View hydration only.
   This styles only product content rescued inside the open Bricks popup.
   It does not style the popup wrapper, section, container, background, padding, gap, or close icon. */
.fcwlbs-qv-rescue-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.brx-popup.hide .fcwlbs-qv-rescue-image,
.bricks-popup.hide .fcwlbs-qv-rescue-image,
.brxe-popup.hide .fcwlbs-qv-rescue-image {
  display: none !important;
}
.brx-popup:not(.hide) .fcwlbs-qv-created-description,
.bricks-popup:not(.hide) .fcwlbs-qv-created-description,
.brxe-popup:not(.hide) .fcwlbs-qv-created-description {
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: inherit !important;
}

/* v1.3.81 — HP Best Seller product-page parity geometry.
   FC Ecom Suite is reference-only and is not modified by this plugin.
   Scope: this standalone HP Best Seller carousel only.
   Match the product-page FC Ecom Suite Best Sellers geometry requested:
   - card width: 228px at every viewport;
   - Add To Bag height: 42px at every viewport.
   No product query, card content, image source, quick-view, price, variation,
   scrollbar, header, or popup behavior is changed here. */
.fcwlbs .fcwlbs-card {
  flex: 0 0 228px !important;
  flex-basis: 228px !important;
  width: 228px !important;
  min-width: 228px !important;
  max-width: 228px !important;
}

.fcwlbs .fcwlbs-add-to-bag {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}

@media (max-width: 1199px) {
  .fcwlbs .fcwlbs-card {
    flex: 0 0 228px !important;
    flex-basis: 228px !important;
    width: 228px !important;
    min-width: 228px !important;
    max-width: 228px !important;
  }
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-card {
    flex: 0 0 228px !important;
    flex-basis: 228px !important;
    width: 228px !important;
    min-width: 228px !important;
    max-width: 228px !important;
  }
  .fcwlbs .fcwlbs-add-to-bag {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }
}

/* v1.3.82 — HP Best Seller transient rail hint.
   Scope: standalone HP Best Seller only. */

@keyframes fcwlbsRailHint {
  0%   { opacity: 0; }
  18%  { opacity: 1; }
  58%  { opacity: 1; }
  100% { opacity: 0; }
}

.fcwlbs .fcwlbs-scrollbar {
  opacity: 0;
  transition: opacity 180ms ease;
}

.fcwlbs .fcwlbs-scrollbar.fcwlbs-rail-visible {
  opacity: 1;
}

.fcwlbs .fcwlbs-scrollbar.fcwlbs-rail-hint {
  animation: fcwlbsRailHint 1800ms ease-in-out 3 both;
}



/* v1.3.83 — reveal the requested 8px visual gap under Add To Bag without
   changing card size, button size, image size, or typography. The pricing stack
   is shifted upward as one unit so the existing spacing between variants and the
   button is preserved while 8px of card background remains visible below it. */
.fcwlbs .fcwlbs-pricing {
  transform: translateY(-8px) !important;
}
.fcwlbs .fcwlbs-add-to-bag {
  margin-bottom: 0 !important;
}

/* v1.3.84 — move the complete lower card content stack upward 8px as one unit.
   v1.3.83 moved only .fcwlbs-pricing, which visually overlapped the 13px stars by 4px.
   Reset that pricing-only transform and move .fcwlbs-body instead. This keeps the existing
   title → description → stars → variants → Add To Bag spacing intact, preserves the approved
   8px lower breathing room, and does not change card/button/image/typography dimensions. */
.fcwlbs .fcwlbs-pricing {
  transform: none !important;
}

.fcwlbs .fcwlbs-body {
  transform: translateY(-8px) !important;
}

/* v1.3.85 — title stacking + image enlargement only.
   Keep the approved v1.3.84 body position (-8px), but paint the body above the
   image-link layer so the title remains fully visible when the two layers overlap.
   Enlarge the existing product image box by 8px on every side from its center
   while keeping the image-link/card geometry, body rhythm, and controls unchanged.
   Quick View (z-index 10) and badge (z-index 9) remain above the image. */
.fcwlbs .fcwlbs-body {
  position: relative !important;
  z-index: 2 !important;
}

.fcwlbs .fcwlbs-image-link img {
  width: calc(82% + 16px) !important;
  max-width: calc(82% + 16px) !important;
  height: 234.109px !important;
  max-height: 234.109px !important;
  transform: translateY(-8px) !important;
  transform-origin: center center !important;
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-image-link img {
    height: 204px !important;
    max-height: 204px !important;
  }
}



/* v1.3.87 — make the selected product-image element itself fill the image section
   with an exact 8px inset on all four sides. v1.3.86 kept the image square and
   bottom-anchored, which left the unused image-section height above it. Keep
   object-fit: contain so the product artwork retains its natural proportions;
   no card, image-section, body, title, button, typography, or rail dimensions move. */
.fcwlbs .fcwlbs-image-link img {
  position: absolute !important;
  left: 8px !important;
  top: 8px !important;
  right: auto !important;
  bottom: auto !important;
  width: calc(100% - 16px) !important;
  height: calc(100% - 16px) !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  transform: none !important;
  transform-origin: center center !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* v1.3.90 — preserve the original full-width HP Best Seller footprint after
   non-sellable products are filtered out. Bricks may otherwise allow the custom
   element flex item to size around the remaining cards, which pulls Shop all and
   the navigation arrows inward. Keep this rule scoped to the HP Best Seller root;
   card/image/body/button geometry is untouched. */
.fcwlbs-bricks-element {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  align-self: stretch !important;
}

.fcwlbs-bricks-element > .fcwlbs,
.fcwlbs-bricks-element .fcwlbs-header,
.fcwlbs-bricks-element .fcwlbs-track,
.fcwlbs-bricks-element .fcwlbs-scrollbar {
  width: 100% !important;
  max-width: 100% !important;
}

/* v1.3.100 — shared HP slider selector geometry.
   Both HP Best Seller and FC HP Category use the exact same 2px rail / 4px selector
   on every viewport. */
.fcwlbs .fcwlbs-scrollbar {
  height: 2px !important;
  min-height: 2px !important;
  max-height: 2px !important;
}

.fcwlbs .fcwlbs-scrollbar-thumb {
  top: -1px !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  will-change: transform;
}


/* FC Ecom Suite 6.0.545 — HP Best Seller header-to-card spacing controls.
   Scope: outer Best Sellers header spacing only. Cards, rail, arrows, Shop all,
   product content, hover, drag/scroll behavior and scrollbar geometry are untouched.
   Existing visual defaults remain 28px desktop/tablet and 20px phone. */
.fcwlbs {
  --fcwlbs-title-card-gap-desktop: 28px;
  --fcwlbs-title-card-gap-tablet: 28px;
  --fcwlbs-title-card-gap-mobile: 20px;
  --fcwlbs-title-card-gap: var(--fcwlbs-title-card-gap-desktop);
}

.fcwlbs .fcwlbs-header {
  height: auto !important;
  min-height: 0 !important;
  padding-top: 20px !important;
  padding-bottom: var(--fcwlbs-title-card-gap) !important;
}

@media (max-width: 991px) {
  .fcwlbs {
    --fcwlbs-title-card-gap: var(--fcwlbs-title-card-gap-tablet);
  }
}

@media (max-width: 700px) {
  .fcwlbs {
    --fcwlbs-title-card-gap: var(--fcwlbs-title-card-gap-mobile);
  }
}

/* FC Ecom Suite 6.0.479 — HP Best Seller responsive heading parity with Our Collection.
   Copy only the Our Collection heading scaling contract. Best Seller cards, slider,
   Shop all, arrows, header/card spacing, rail and product geometry remain unchanged. */
.fcwlbs .fcwlbs-title {
  height: auto !important;
  font-size: clamp(28px, 2.2vw, 40px) !important;
  line-height: 1.1 !important;
}

/* FC Ecom Suite 6.0.482 / embedded Homepage Widgets 1.3.151
   Reliable Media Library image path for the HP Best Seller Quick View glyph.
   Scope: inner uploaded image only; Quick View circle geometry remains unchanged. */
.fcwlbs .fcwlbs-quick-view .fcwlbs-quick-view-uploaded-icon {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .fcwlbs .fcwlbs-quick-view .fcwlbs-quick-view-uploaded-icon {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
  }
}


/* FC Ecom Suite 6.0.546 — homepage colour ownership + complete Best Seller vertical spacing controls.
   Best Sellers owns its own section/card colours; FC HP Category / Our Collection uses separate variables.
   Existing geometry defaults are preserved. */
.fcwlbs {
  --fcwlbs-section-bg: #ffffff;
  --fcwlbs-section-heading: #014d41;
  --fcwlbs-shop-all-color: #014d41;
  --fcwlbs-card-bg: #ffffff;
  --fcwlbs-header-top-desktop: 20px;
  --fcwlbs-header-top-tablet: 20px;
  --fcwlbs-header-top-mobile: 20px;
  --fcwlbs-header-top: var(--fcwlbs-header-top-desktop);
  --fcwlbs-cards-rail-gap-desktop: 20px;
  --fcwlbs-cards-rail-gap-tablet: 20px;
  --fcwlbs-cards-rail-gap-mobile: 20px;
  --fcwlbs-cards-rail-gap: var(--fcwlbs-cards-rail-gap-desktop);
  --fcwlbs-section-bottom-desktop: 0px;
  --fcwlbs-section-bottom-tablet: 0px;
  --fcwlbs-section-bottom-mobile: 0px;
  --fcwlbs-section-bottom: var(--fcwlbs-section-bottom-desktop);
  background: var(--fcwlbs-section-bg) !important;
}

.fcwlbs .fcwlbs-header,
.fcwlbs .fcwlbs-track {
  background: var(--fcwlbs-section-bg) !important;
}

.fcwlbs .fcwlbs-title {
  color: var(--fcwlbs-section-heading) !important;
}

.fcwlbs .fcwlbs-shop-all {
  color: var(--fcwlbs-shop-all-color) !important;
}

.fcwlbs .fcwlbs-card,
.fcwlbs .fcwlbs-image-link,
.fcwlbs .fcwlbs-body {
  background: var(--fcwlbs-card-bg) !important;
}

.fcwlbs .fcwlbs-header {
  padding-top: var(--fcwlbs-header-top) !important;
}

.fcwlbs .fcwlbs-track {
  padding-bottom: var(--fcwlbs-cards-rail-gap) !important;
}

.fcwlbs .fcwlbs-scrollbar {
  margin-bottom: var(--fcwlbs-section-bottom) !important;
}

@media (max-width: 991px) {
  .fcwlbs {
    --fcwlbs-header-top: var(--fcwlbs-header-top-tablet);
    --fcwlbs-cards-rail-gap: var(--fcwlbs-cards-rail-gap-tablet);
    --fcwlbs-section-bottom: var(--fcwlbs-section-bottom-tablet);
  }
}

@media (max-width: 700px) {
  .fcwlbs {
    --fcwlbs-header-top: var(--fcwlbs-header-top-mobile);
    --fcwlbs-cards-rail-gap: var(--fcwlbs-cards-rail-gap-mobile);
    --fcwlbs-section-bottom: var(--fcwlbs-section-bottom-mobile);
  }
}


/* 6.0.927 — HP Best Sellers typography controls.
   Final variable-backed owner so Bricks/WordPress font choices and font weights
   apply even after older responsive hard locks. Geometry remains unchanged. */
.fcwlbs .fcwlbs-title{
  font-family:var(--fcwlbs-heading-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-heading-font-size,40px)!important;
  font-weight:var(--fcwlbs-heading-font-weight,700)!important;
  line-height:var(--fcwlbs-heading-line-height,1.1)!important;
  letter-spacing:var(--fcwlbs-heading-letter-spacing,0px)!important;
}
.fcwlbs .fcwlbs-shop-all{
  font-family:var(--fcwlbs-shop-all-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-shop-all-font-size,20px)!important;
  font-weight:var(--fcwlbs-shop-all-font-weight,700)!important;
  line-height:var(--fcwlbs-shop-all-line-height,28px)!important;
  letter-spacing:var(--fcwlbs-shop-all-letter-spacing,0px)!important;
}
.fcwlbs .fcwlbs-product-title,
.fcwlbs .fcwlbs-product-title a{
  font-family:var(--fcwlbs-product-title-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-product-title-font-size,17px)!important;
  font-weight:var(--fcwlbs-product-title-font-weight,600)!important;
  line-height:var(--fcwlbs-product-title-line-height,19.38px)!important;
  letter-spacing:var(--fcwlbs-product-title-letter-spacing,0px)!important;
}
.fcwlbs .fcwlbs-description{
  font-family:var(--fcwlbs-description-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-description-font-size,13.5px)!important;
  font-weight:var(--fcwlbs-description-font-weight,500)!important;
  line-height:var(--fcwlbs-description-line-height,15.93px)!important;
  letter-spacing:var(--fcwlbs-description-letter-spacing,0px)!important;
}
.fcwlbs .fcwlbs-badge{
  font-family:var(--fcwlbs-badge-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-badge-font-size,12px)!important;
  font-weight:var(--fcwlbs-badge-font-weight,700)!important;
  line-height:var(--fcwlbs-badge-line-height,1)!important;
  letter-spacing:var(--fcwlbs-badge-letter-spacing,0px)!important;
  text-transform:var(--fcwlbs-badge-text-transform,none)!important;
}
.fcwlbs .fcwlbs-stars,
.fcwlbs .fcwlbs-star{
  font-family:var(--fcwlbs-stars-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-stars-font-size,13px)!important;
  font-weight:var(--fcwlbs-stars-font-weight,700)!important;
  line-height:var(--fcwlbs-stars-line-height,13px)!important;
  letter-spacing:var(--fcwlbs-stars-letter-spacing,0px)!important;
}
.fcwlbs .fcwlbs-variant,
.fcwlbs .fcwlbs-variant > span,
.fcwlbs .fcwlbs-variant > span > span{
  font-family:var(--fcwlbs-pill-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-pill-font-size,12px)!important;
  font-weight:var(--fcwlbs-pill-font-weight,600)!important;
  line-height:var(--fcwlbs-pill-line-height,12px)!important;
  letter-spacing:var(--fcwlbs-pill-letter-spacing,0px)!important;
  text-transform:var(--fcwlbs-pill-text-transform,uppercase)!important;
}
.fcwlbs .fcwlbs-add-to-bag,
.fcwlbs .fcwlbs-cart-label,
.fcwlbs .fcwlbs-cart-price,
.fcwlbs .fcwlbs-old-price,
.fcwlbs .fcwlbs-sale-price{
  font-family:var(--fcwlbs-button-font-family,Helvetica,Arial,sans-serif)!important;
  font-size:var(--fcwlbs-button-font-size,14px)!important;
  font-weight:var(--fcwlbs-button-font-weight,700)!important;
  line-height:var(--fcwlbs-button-line-height,14px)!important;
  letter-spacing:var(--fcwlbs-button-letter-spacing,0px)!important;
  text-transform:var(--fcwlbs-button-text-transform,uppercase)!important;
}

/* 6.0.935 FC Product Popup Cart controller-only output — never paints inline layout. */
.fcwlbs-popup-cart-controller-only{display:none!important;width:0!important;height:0!important;overflow:hidden!important;visibility:hidden!important;}
