.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 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 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;
}
