.main-collection-container {
  background: rgb(var(--color-background));
}

/* The section stylesheet is served after this one, so every rule here that shares a selector with
   sections/main-collection-products/main-collection-products.css loses on order alone. The
   container class carries the extra specificity these rules need to win. */
.main-collection-container .main-collection {
  padding-block: 15px 60px;
}

@media (min-width: 960px) {
  .main-collection-container .main-collection.facets-layout-horizontal {
    grid-template:
      "count count" auto
      "filtering sorting" auto
      "pills pills" auto
      "list list" auto
      / 1fr auto;
    row-gap: 0;
  }

  .main-collection-container .main-collection .main-collection__pills {
    grid-area: pills;
  }

  .main-collection-container .main-collection .main-collection__products {
    margin-block-start: 40px;
  }

  .main-collection .facets-sorting-wrapper {
    display: contents;
  }

  .main-collection .facets-sorting {
    grid-area: sorting;
    align-self: center;
    padding-block-end: 24px;
  }

  .main-collection .facets-count {
    grid-area: count;
    justify-self: start;
    padding-block: 16px;
    font-family: var(--bw-font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: rgb(var(--color-text));
  }

  .main-collection .facets-filtering {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
    padding-block: 8px 24px;
  }

  .main-collection .facets-filtering__filters {
    gap: 24px;
    align-items: center;
    min-height: 42px;
  }

  .main-collection .facets-filtering__summary {
    justify-content: flex-start;
    padding-block: 8px;
    font-family: var(--bw-font-body);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.22;
  }

  .main-collection .facets-filtering__summary .body2,
  .main-collection .facets-filtering__summary .body-font-bold {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
  }

  .main-collection .facets-sorting__summary {
    gap: 10px;
    padding-block: 8px;
    padding-inline-end: 12px;
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: rgb(var(--color-text));
  }

  .main-collection .facets-sorting__summary > .body-font-bold {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.62;
  }
}

.main-collection .facets-filtering__active-button {
  box-sizing: border-box;
  height: 38px;
  padding: 8px 14px;
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.57;
  border: 1px solid rgb(var(--color-text));
  border-radius: 24px;
}

.main-collection .facets-filtering__active-button-inner {
  gap: 10px;
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.57;
}

.main-collection .facets-filtering__active-button-inner svg {
  width: 10px;
  height: 10px;
}

.main-collection .facets-filtering__active-clear-all {
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.57;
  color: rgb(var(--color-text));
  text-decoration: underline;
  text-underline-offset: 4px;
}

.main-collection .bw-tagfacet__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-inline-start: 8px;
  padding-inline: 6px;
  font-family: var(--bw-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: rgb(var(--color-background));
  background: rgb(var(--color-text));
  border-radius: 10px;
}

.main-collection .bw-tagfacet__count[hidden] {
  display: none;
}

.main-collection .bw-tagfacet__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-collection .bw-tagfacet__option {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 16px;
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.57;
  color: rgb(var(--color-text));
  white-space: nowrap;
}

.main-collection .bw-tagfacet__option:hover {
  background: rgba(var(--color-text), 0.06);
}

.main-collection .bw-tagfacet__box {
  box-sizing: border-box;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border: 1px solid rgba(var(--color-text), 0.5);
  border-radius: 4px;
}

.main-collection .bw-tagfacet__option.is-active .bw-tagfacet__box {
  background: rgb(var(--color-text)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.8 6.2 4.6 9 10.2 3.2' fill='none' stroke='%23fcfcfa' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
  border-color: rgb(var(--color-text));
}

.main-collection .bw-tagfacet__option.is-active {
  font-weight: 600;
}

.main-collection .bw-tagfacet__chip-close {
  font-size: 14px;
  line-height: 1;
}

.main-collection .bw-tagfacet-chips[hidden] {
  display: none;
}

/* The results container is a cell of the .main-collection grid and the band list was inheriting a
   single track from it, so every band rendered one third of the page wide. Spanning every column
   and staying a plain block keeps the list at the full body width whatever the parent grid does. */
.main-collection-container .main-collection .main-collection__products {
  display: block !important;
  grid-column: 1 / -1 !important;
  width: 100%;
  min-width: 0;
}

.main-collection-container .main-collection .main-collection__pills {
  grid-column: 1 / -1 !important;
}

/* Band heads and rows are siblings, not wrapped pairs: a wrapper whose open and close tags straddle
   the block loop is what broke the first live render. The seams are margins rather than a flex gap
   so that a gap set on any ancestor cannot add itself to them. */
.main-collection .bw-band-list {
  display: block !important;
  width: 100%;
}

.main-collection .bw-band-list > .bw-band__head,
.main-collection .bw-band-list > .bw-band__row {
  box-sizing: border-box;
  width: 100%;
}

.main-collection .bw-band-list > .bw-band__head {
  padding-block: 16px 0;
}

.main-collection .bw-band-list > .bw-band__row {
  margin-block-start: 41px;
}

.main-collection .bw-band-list > .bw-band__head:not(:first-child) {
  margin-block-start: 60px;
}

/* simple.css centres with align-items on a column flex; pinning the child to the full width and
   centring the text makes the line centred whichever axis the container ends up using. */
.main-collection-container .main-collection .main-collection__products > .pagination-simple-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-block-start: 24px;
  text-align: center;
}

/* The mock has no item counter under the grid. The offset line always renders; the pager only when
   there is more than one page, so hiding the counter and then the whole empty container keeps page
   navigation for a collection that ever outgrows its page size. */
.main-collection-container .main-collection .main-collection__products > .pagination-simple-container > .pagination-simple__offset {
  display: none;
}

.main-collection-container .main-collection .main-collection__products > .pagination-simple-container:not(:has(.pagination-simple)) {
  display: none;
}

.main-collection-container .main-collection .pagination-simple__offset,
.main-collection-container .main-collection .pagination-simple__pager {
  width: 100%;
  text-align: center;
}

.bw-band__title .accent-italic:empty {
  display: none;
}

.bw-band__title {
  margin: 0;
  font-family: var(--bw-font-heading);
  font-size: 40px;
  font-weight: 600;
  line-height: 1.6;
  color: rgb(var(--color-text));
  text-align: left;
}

.main-collection a.bw-band__link {
  font: inherit !important;
  color: inherit !important;
  text-decoration: none !important;
}

.main-collection a.bw-band__link:hover {
  text-decoration: underline !important;
  text-underline-offset: 6px;
}

.main-collection-container .main-collection__list {
  --column-gap: 16px;
  --row-gap: 60px;

  gap: 60px 16px;
  margin-block-end: 0;
}

.main-collection__list > li {
  min-width: 0;
}

.bw-band__tile {
  position: relative;
  overflow: hidden;
  background: var(--bw-cream);
  border-radius: var(--bw-radius-card);
}

.bw-band__tile-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* The mock's 25% scrim is authored over a near-black photo; the brand library is light, so the
   cream copy needs a heavier veil to clear contrast on every tile. */
.bw-band__tile--promo::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(6, 26, 19, 0.34) 0%, rgba(6, 26, 19, 0.54) 55%, rgba(6, 26, 19, 0.62) 100%);
}

.bw-band__promo {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  row-gap: 18px;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px 50px;
  text-align: center;
}

.bw-band__promo-heading {
  margin: 0;
  font-family: var(--bw-font-heading);
  font-size: 48px;
  font-weight: 500;
  line-height: 0.92;
  color: var(--bw-cream);
}

.bw-band__promo-subline {
  margin: 0;
  font-family: var(--bw-font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--bw-cream);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.main-collection a.bw-band__promo-button {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px !important;
  padding: 12px 24px !important;
  margin-block-start: 12px;
  font-family: var(--bw-font-body) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.62 !important;
  color: var(--bw-cream) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  background: rgb(var(--color-text));
  border-radius: 36px !important;
}

@media (min-width: 960px) {
  .bw-band__tile--media {
    grid-column: span 2;
  }

  .bw-band__tile--promo {
    grid-column: span 1;
  }
}

@media (max-width: 959px) {
  /* The wide tile owns a whole phone row, so nothing else in the track gives it a height. */
  .bw-band__tile--media {
    aspect-ratio: 16 / 10;
    grid-column: span var(--mobile-columns);
  }

  .bw-band__tile--promo {
    grid-column: span 1;
  }
}

.bw-plp-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.main-collection .bw-plp-tabs__pill,
.main-collection .bw-plp-tabs__pill:hover {
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 20px;
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
  color: rgb(var(--color-text));
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: 0;
  background: rgb(var(--color-background));
  border: 1px solid rgb(var(--color-text));
  border-radius: 20px;
  transition:
    background-color var(--bw-dur-brisk) var(--bw-ease-standard),
    color var(--bw-dur-brisk) var(--bw-ease-standard),
    transform var(--bw-dur-fast) var(--bw-ease-standard);
}

.main-collection .bw-plp-tabs__pill:hover {
  color: rgb(var(--color-background));
  background: rgb(var(--color-text));
}

.main-collection .bw-plp-tabs__pill[aria-current="page"],
body[data-page-collection-handle="shop-super-fiber"] .main-collection .bw-plp-tabs__pill[href$="/shop-super-fiber"],
body[data-page-collection-handle="best-sellers"] .main-collection .bw-plp-tabs__pill[href$="/best-sellers"],
body[data-page-collection-handle="superfiber-fruit"] .main-collection .bw-plp-tabs__pill[href$="/superfiber-fruit"],
body[data-page-collection-handle="superfiber-collagen"] .main-collection .bw-plp-tabs__pill[href$="/superfiber-collagen"],
body[data-page-collection-handle="organic-gummies"] .main-collection .bw-plp-tabs__pill[href$="/organic-gummies"],
body[data-page-collection-handle="beauty-gummies"] .main-collection .bw-plp-tabs__pill[href$="/beauty-gummies"],
body[data-page-collection-handle="bundles"] .main-collection .bw-plp-tabs__pill[href$="/bundles"] {
  color: rgb(var(--color-background));
  background: rgb(var(--color-text));
}

/* The card's own `height: 100%` resolves against the product-item wrapper, which is auto-height
   until it is told otherwise — without this the cards in a row end wherever their copy does.
   The wrapper is the `product-item` element, not a class, so it needs a type selector. */
.main-collection__list > li,
.main-collection__list product-item {
  height: 100%;
}

.main-collection-container .main-collection__list .block-product-card {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 16px;
  background: #f6f6f5;
  border-radius: var(--bw-radius-card);
}

.main-collection__list .block-product-card .block-product-image__layer-image-wrapper {
  border-width: 0 !important;
  border-radius: 0;
  box-shadow: none;
}

/* The packshots are square and the card window is 416x600, so `contain` letterboxes 92px above and
   below the art. Painting that window with the card's own fill hides the seam and the product reads
   as sitting on the card, which is what the mock draws. */
.main-collection__list .block-product-card .block-product-image__image-wrapper {
  aspect-ratio: 416 / 600 !important;
  background: #f6f6f5;
  border-radius: 0;
}

.main-collection__list .block-product-card-info {
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  padding-block: 20px 0;
  padding-inline: 20px;
}

.main-collection__list .block-product-card-info > .custom-sline-block:has(.bw-plp-subs),
.main-collection__list .block-product-card-info > .bw-plp-subs-block {
  width: 100%;
  margin-block-start: 8px;
}

.main-collection__list .block-product-card-info > .block-group:has(.bw-plp-onetime) {
  margin-block-start: 6px;
}

/* Not every product carries a blurb, so the info columns in a row end at different heights and the
   buy buttons drift apart. The column takes the slack and the button rides the bottom of the card,
   with the 16px it owes the price row as padding so a full card keeps the mock's spacing. */
.main-collection__list .block-product-card-info {
  flex: 1 1 auto !important;
}

.main-collection__list .block-product-card-info > .block-product-buy-button-wrapper {
  padding-block-start: 16px;
  margin-block-start: auto;
}

.main-collection__list .block-product-card-info .custom-sline-block:has(> .bw-plp-star-slot:empty) {
  display: none;
}

.block-product-card .product-plugin-comment-rate-star {
  display: none !important;
}

.bw-plp-star-slot .product-plugin-comment-rate-star {
  display: flex !important;
  height: 26px !important;
  margin: 0 !important;
}

.bw-plp-star-slot .product-plugin-comment-rate-star > div:first-child {
  height: 26px !important;
}

.bw-plp-star-slot .product-plugin-comment-rate-star > div:first-child > div,
.bw-plp-star-slot .product-plugin-comment-rate-star-half > div:first-child,
.bw-plp-star-slot .product-plugin-comment-rate-star-half > div:last-child > div,
.bw-plp-star-slot .product-plugin-comment-rate-star svg {
  width: 26px !important;
  height: 26px !important;
}

.bw-plp-star-slot .product-plugin-comment-rate-star [style*="#ffc211"] {
  color: var(--bw-ink) !important;
}

.bw-plp-star-slot .product-plugin-comment-rate-star div[style*="color"]:not([style*="#ffc211"]) {
  color: rgba(6, 64, 45, 0.2) !important;
}

.bw-plp-star-slot .product-plugin-comment-rate-star > div:not(:first-child) {
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  color: var(--bw-ink);
}

/* Two-up cards give the widget ~135px; the desktop 26px stars need 177 with the count, and the
   review app renders the row with flex-shrink:0, so the overflow pans the whole page. */
@media (max-width: 479px) {
  .bw-plp-star-slot {
    max-width: 100%;
    overflow: hidden;
  }

  .bw-plp-star-slot .product-plugin-comment-rate-star {
    height: 20px !important;
  }

  .bw-plp-star-slot .product-plugin-comment-rate-star > div:first-child {
    height: 20px !important;
  }

  .bw-plp-star-slot .product-plugin-comment-rate-star > div:first-child > div,
  .bw-plp-star-slot .product-plugin-comment-rate-star-half > div:first-child,
  .bw-plp-star-slot .product-plugin-comment-rate-star-half > div:last-child > div,
  .bw-plp-star-slot .product-plugin-comment-rate-star svg {
    width: 15px !important;
    height: 15px !important;
  }

  .bw-plp-star-slot .product-plugin-comment-rate-star > div:not(:first-child) {
    flex: 0 0 auto;
    margin-inline-start: 6px !important;
    font-size: 12px;
  }
}

.main-collection__list .block-product-card__layer {
  padding: 5px 2px;
}

.main-collection__list .block-product-card__sold-out {
  padding: 4px 8px;
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: rgb(var(--color-text));
  text-transform: none;
  background: var(--bw-cream);
  border-radius: 8px;
}

.main-collection__list .block-product-card .block-product-title {
  padding-inline: 0;
  font-family: var(--bw-font-heading);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.6;
  color: rgb(var(--color-text));
}

.main-collection__list .block-product-card .block-product-title a {
  color: inherit;
  text-decoration: none;
}

.main-collection__list .block-product-card .product-description {
  font-family: var(--bw-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: rgb(var(--color-text));
}

.main-collection-container .main-collection__list .block-product-card .product-expander__content {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.main-collection__list .block-product-card .product-expander__trigger {
  display: none;
}

.bw-plp-subs,
.bw-plp-onetime {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  font-family: var(--bw-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.62;
  color: rgb(var(--color-text));
}

.bw-plp-subs__label,
.bw-plp-subs__save {
  white-space: nowrap;
}

.bw-plp-subs {
  padding-block: 10px 16px;
  border-block-end: 1px solid var(--bw-line);
}

.bw-plp-subs__mark,
.bw-plp-onetime__mark {
  display: inline-block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  border: 1px solid rgb(var(--color-text));
  border-radius: 50%;
}

.bw-plp-subs__caret {
  flex: 0 0 auto;
  margin-inline-start: -4px;
}

.bw-plp-subs__save {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding-inline: 10px;
  margin-inline-start: auto;
  font-size: 16px;
  color: var(--bw-cream);
  background: rgb(var(--color-text));
  border-radius: 24px;
}

/* A group block paints the scheme background, which on the card's own #F6F6F5 fill reads as an
   input well behind the one-time row. The card is the surface here, the row is not. */
.main-collection__list .block-product-card .block-group:has(.bw-plp-onetime) {
  padding-block: 10px 16px;
  background: none;
  border-block-end: 1px solid var(--bw-line);
}

.main-collection__list .block-product-card .block-product-price,
.main-collection__list .block-product-card .product-price__item {
  padding-inline: 0;
  font-family: var(--bw-font-body);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.22;
  color: rgb(var(--color-text));
}

.main-collection__list .block-product-card .block-product-buy-button-wrapper {
  width: auto;
  margin-inline: -20px;
}

.main-collection__list .block-product-card .block-product-buy-button {
  box-sizing: border-box;
  width: 100%;
  min-height: 53px;
  padding-block: 11px;
  padding-inline: 20px;
  font-family: var(--bw-font-body);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.62;
  color: var(--bw-cream);
  text-transform: uppercase;
  letter-spacing: 0;
  background: rgb(var(--color-text));
  border: 1px solid rgb(var(--color-text));
  border-radius: 16px;
}

.main-collection__list .block-product-card .block-product-buy-button::after,
.main-collection__list .block-product-card .block-product-buy-button:hover::after {
  box-shadow: none !important;
}

.main-collection__list .block-product-card .block-product-buy-button:hover:not([disabled]) {
  color: rgb(var(--color-text));
  background: var(--bw-accent);
  border-color: var(--bw-accent);
}

.main-collection__list .block-product-card .block-product-buy-button[disabled] {
  color: rgb(var(--color-text));
  background: none;
  border: 1px solid var(--bw-line);
  opacity: 1;
}

.main-collection__list .block-product-card .block-product-card__discount-tag {
  padding: 4px 8px;
  font-family: var(--bw-font-body);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.22;
  border-radius: 8px;
}

.main-collection .main-collection__no-products-tips {
  padding-block: 60px;
  font-family: var(--bw-font-body);
  font-size: 18px;
  color: rgb(var(--color-light-text));
}

.section-main-collections-all .block-heading {
  font-family: var(--bw-font-heading);
  font-size: 40px;
  font-weight: 600;
  line-height: 1.6;
  color: rgb(var(--color-text));
}

@media (min-width: 960px) and (max-width: 1599px) {
  .bw-band__promo {
    row-gap: 14px;
    padding: 28px 28px;
  }

  .bw-band__promo-heading {
    font-size: 34px;
  }

  .bw-plp-subs,
  .bw-plp-onetime {
    gap: 8px;
    font-size: 14px;
  }

  .bw-plp-subs__save {
    height: 24px;
    padding-inline: 8px;
    font-size: 14px;
  }

  .main-collection__list .block-product-card .block-product-title {
    font-size: 24px;
  }
}

@media (max-width: 959px) {
  .main-collection-container .main-collection {
    padding-block: 8px 40px;
  }

  .main-collection .facets-mobile-inner {
    row-gap: 8px;
  }

  .main-collection .facets-count {
    font-family: var(--bw-font-body);
    font-size: 15px;
    font-weight: 500;
    color: rgb(var(--color-text));
  }

  .main-collection__list .block-product-card .block-group:has(.bw-plp-onetime) {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 2px;
  }

  .bw-plp-subs__save {
    margin-inline-start: 0;
  }

  .main-collection-container .main-collection__list {
    gap: 24px 12px;
  }

  .main-collection .bw-band-list > .bw-band__head {
    padding-block: 8px 0;
  }

  .main-collection .bw-band-list > .bw-band__row {
    margin-block-start: 20px;
  }

  .main-collection .bw-band-list > .bw-band__head:not(:first-child) {
    margin-block-start: 32px;
  }

  .main-collection-container .main-collection .main-collection__products > .pagination-simple-container {
    margin-block-start: 16px;
  }

  .bw-band__title {
    font-size: 24px;
    line-height: 1.4;
  }

  .bw-band__promo {
    row-gap: 10px;
    padding: 16px;
  }

  .bw-band__promo-heading {
    font-size: 18px;
    line-height: 1.15;
  }

  .bw-band__promo-subline {
    font-size: 12px;
  }

  .main-collection a.bw-band__promo-button {
    min-height: 44px !important;
    padding: 10px 14px !important;
    margin-block-start: 4px;
    font-size: 12px !important;
  }

  /* Seven wrapped pills cost a third of a phone screen before the first product; the row scrolls
     instead, with the gutter inside it so the first and last pill still align to the page. */
  .bw-plp-tabs {
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: flex-start;
    width: auto;
    padding-inline: var(--page-padding);
    margin-inline: calc(var(--page-padding) * -1);
    overflow-x: auto;
    scrollbar-width: none;
  }

  .bw-plp-tabs::-webkit-scrollbar {
    display: none;
  }

  .main-collection .bw-plp-tabs__pill,
  .main-collection .bw-plp-tabs__pill:hover {
    height: 44px;
    padding: 0 16px;
    font-size: 15px;
  }

  .main-collection .facets-mobile-inner .facets-filtering__active {
    padding-inline: 20px;
  }

  /* The filter and sort disclosures are the only way into faceting on a phone and ship as
     18px-tall summary rows; the ink stays put, the row grows to a thumb-sized target. */
  .main-collection .facets-filtering__summary,
  .main-collection .facets-sorting__summary,
  .main-collection .facets-mobile-inner summary {
    align-items: center;
    min-height: 44px;
  }

  /* The series band title is the only link into its collection, so it is a control, not prose.
     It carries a hit layer rather than a taller box: the title mixes text with an italic run, and
     making the anchor a flex container blockifies that run and eats the space before it. */
  .main-collection a.bw-band__link {
    position: relative;
  }

  .main-collection a.bw-band__link::after {
    position: absolute;
    inset: min(0px, calc((44px - 100%) / -2)) 0;
    content: "";
  }

  .main-collection-container .main-collection__list .block-product-card {
    padding: 10px;
  }

  .main-collection__list .block-product-card-info {
    row-gap: 4px;
    padding-block: 12px 0;
    padding-inline: 6px;
  }

  .main-collection__list .block-product-card-info > .custom-sline-block:has(.bw-plp-subs),
  .main-collection__list .block-product-card-info > .bw-plp-subs-block {
    margin-block-start: 4px;
  }

  .main-collection__list .block-product-card-info > .block-group:has(.bw-plp-onetime) {
    margin-block-start: 4px;
  }

  .main-collection__list .block-product-card-info > .block-product-buy-button-wrapper {
    padding-block-start: 10px;
  }

  .main-collection__list .block-product-card .block-product-title {
    font-size: 17px;
    line-height: 1.35;
  }

  .main-collection__list .block-product-card .product-description {
    font-size: 12px;
    line-height: 1.5;
  }

  .bw-plp-subs,
  .bw-plp-onetime {
    gap: 6px;
    font-size: 12px;
  }

  .bw-plp-subs__mark,
  .bw-plp-onetime__mark {
    width: 12px;
    height: 12px;
  }

  .bw-plp-subs__save {
    height: 22px;
    padding-inline: 8px;
    font-size: 12px;
  }

  .main-collection__list .block-product-card .block-product-price {
    font-size: 14px;
  }

  .main-collection__list .block-product-card .block-product-buy-button-wrapper {
    margin-inline: -6px;
  }

  .main-collection__list .block-product-card .block-product-buy-button {
    min-height: 44px;
    padding-block: 9px;
    padding-inline: 10px;
    font-size: 13px;
    border-radius: 12px;
  }

  .section-main-collections-all .block-heading {
    font-size: 24px;
    line-height: 1.4;
  }
}

.main-collection__list .block-product-card .block-product-image__image {
  transition: transform var(--bw-dur-slow) var(--bw-ease-standard);
}

.main-collection__list .block-product-card {
  transition:
    transform var(--bw-dur-base) var(--bw-ease-standard),
    box-shadow var(--bw-dur-base) var(--bw-ease-standard);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .main-collection__list .block-product-card:hover .block-product-image__image {
    transform: scale(var(--bw-zoom));
  }

  .main-collection__list li:hover .block-product-card {
    transform: translateY(var(--bw-lift));
    box-shadow: 0 12px 32px rgba(6, 64, 45, 0.12);
  }
}

.main-collection .bw-tagfacet__option {
  transition: background-color var(--bw-dur-fast) var(--bw-ease-standard);
}

.main-collection .bw-tagfacet__box {
  transition:
    background-color var(--bw-dur-fast) var(--bw-ease-standard),
    border-color var(--bw-dur-fast) var(--bw-ease-standard);
}

.main-collection .facets-filtering__active-button,
.main-collection .bw-band__link {
  transition:
    color var(--bw-dur-fast) var(--bw-ease-standard),
    background-color var(--bw-dur-fast) var(--bw-ease-standard),
    border-color var(--bw-dur-fast) var(--bw-ease-standard);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .main-collection .bw-plp-tabs__pill:hover {
    transform: translateY(var(--bw-lift-sm));
  }
}

.main-collection .bw-plp-tabs__pill:active {
  transform: scale(var(--bw-press));
}
