/*
 * BeachNova Stage45 catalogue visual lock.
 * Product taxonomy and naming stay BeachNova/Cupshe-aligned; presentation and
 * responsive hierarchy follow the BloomChic catalogue reference.
 */

@media (min-width: 801px) {
  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    column-gap: 24px !important;
    row-gap: 12px !important;
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 24px 24px 80px !important;
    align-items: start !important;
    overflow: visible !important;
  }

  html body.post-type-archive-product .bn-catalog-intro,
  html body.tax-product_cat .bn-catalog-intro,
  html body.search-results .bn-catalog-intro {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 0 18px !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  html body.post-type-archive-product .bn-catalog-intro h1,
  html body.tax-product_cat .bn-catalog-intro h1,
  html body.search-results .bn-catalog-intro h1 {
    margin: 0 0 8px !important;
    font: 500 32px/1.12 Georgia, "Times New Roman", serif !important;
    letter-spacing: -.02em !important;
  }

  html body.post-type-archive-product .bn-catalog-intro p,
  html body.post-type-archive-product .bn-catalog-intro div,
  html body.tax-product_cat .bn-catalog-intro p,
  html body.tax-product_cat .bn-catalog-intro div,
  html body.search-results .bn-catalog-intro p,
  html body.search-results .bn-catalog-intro div {
    max-width: 680px !important;
    margin: 0 !important;
    color: #666 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  html body.post-type-archive-product .bn-subcategory-rail,
  html body.tax-product_cat .bn-subcategory-rail,
  html body.search-results .bn-subcategory-rail {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid #e2e2e2 !important;
    background: #fff !important;
  }

  html body.post-type-archive-product .bn-catalog-filters,
  html body.tax-product_cat .bn-catalog-filters,
  html body.search-results .bn-catalog-filters {
    grid-column: 1 !important;
    grid-row: 3 / span 4 !important;
    position: sticky !important;
    top: 112px !important;
    width: 250px !important;
    max-width: 250px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #ddd !important;
    box-shadow: none !important;
  }

  html body.post-type-archive-product .bn-desktop-shop-toolbar,
  html body.tax-product_cat .bn-desktop-shop-toolbar,
  html body.search-results .bn-desktop-shop-toolbar {
    grid-column: 2 !important;
    grid-row: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 42px !important;
    margin: 0 !important;
  }

  html body.post-type-archive-product .woocommerce-ordering,
  html body.tax-product_cat .woocommerce-ordering,
  html body.search-results .woocommerce-ordering {
    grid-column: 2 !important;
    grid-row: 3 !important;
    justify-self: end !important;
    align-self: start !important;
    width: 200px !important;
    margin: 0 !important;
    z-index: 3 !important;
  }

  html body.post-type-archive-product .woocommerce-ordering select,
  html body.tax-product_cat .woocommerce-ordering select,
  html body.search-results .woocommerce-ordering select {
    width: 200px !important;
    height: 40px !important;
    border: 1px solid #d7d7d7 !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 12px !important;
  }

  html body.post-type-archive-product ul.products,
  html body.tax-product_cat ul.products,
  html body.search-results ul.products {
    grid-column: 2 !important;
    grid-row: 4 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 30px 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.post-type-archive-product ul.products li.product,
  html body.tax-product_cat ul.products li.product,
  html body.search-results ul.products li.product {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  html body.post-type-archive-product ul.products li.product img,
  html body.tax-product_cat ul.products li.product img,
  html body.search-results ul.products li.product img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: .748 !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 0 10px !important;
    background: #f5f3ef !important;
  }

  html body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
  html body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  html body.search-results ul.products li.product .woocommerce-loop-product__title {
    min-height: 36px !important;
    margin: 0 0 4px !important;
    padding: 0 2px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }
}

/*
 * Stage49 catalogue visual reset.
 * Keep BeachNova/Cupshe catalogue names and real WooCommerce data while
 * matching BloomChic's compact tools-first archive hierarchy.
 */
html body.post-type-archive-product ul.products li.product > a.woocommerce-LoopProduct-link,
html body.tax-product_cat ul.products li.product > a.woocommerce-LoopProduct-link,
html body.search-results ul.products li.product > a.woocommerce-LoopProduct-link {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  color: #111 !important;
  text-decoration: none !important;
}

html body.post-type-archive-product ul.products li.product img,
html body.tax-product_cat ul.products li.product img,
html body.search-results ul.products li.product img {
  order: 1 !important;
}

html body.post-type-archive-product ul.products li.product .bn-card-colors,
html body.tax-product_cat ul.products li.product .bn-card-colors,
html body.search-results ul.products li.product .bn-card-colors {
  order: 2 !important;
}

html body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
html body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
html body.search-results ul.products li.product .woocommerce-loop-product__title {
  order: 3 !important;
}

html body.post-type-archive-product ul.products li.product .price,
html body.tax-product_cat ul.products li.product .price,
html body.search-results ul.products li.product .price {
  order: 4 !important;
}

html body.post-type-archive-product ul.products li.product .bn-card-rating,
html body.tax-product_cat ul.products li.product .bn-card-rating,
html body.search-results ul.products li.product .bn-card-rating {
  order: 5 !important;
}

html body.post-type-archive-product ul.products li.product .star-rating,
html body.post-type-archive-product ul.products li.product .bn-card-perks,
html body.post-type-archive-product ul.products li.product > a.button,
html body.tax-product_cat ul.products li.product .star-rating,
html body.tax-product_cat ul.products li.product .bn-card-perks,
html body.tax-product_cat ul.products li.product > a.button,
html body.search-results ul.products li.product .star-rating,
html body.search-results ul.products li.product .bn-card-perks,
html body.search-results ul.products li.product > a.button {
  display: none !important;
}

html body.post-type-archive-product ul.products li.product .bn-card-colors,
html body.tax-product_cat ul.products li.product .bn-card-colors,
html body.search-results ul.products li.product .bn-card-colors {
  display: flex !important;
  align-items: center !important;
  min-height: 24px !important;
  margin: 8px 0 3px !important;
  gap: 5px !important;
}

html body.post-type-archive-product ul.products li.product .bn-card-colors i,
html body.tax-product_cat ul.products li.product .bn-card-colors i,
html body.search-results ul.products li.product .bn-card-colors i {
  width: 16px !important;
  height: 16px !important;
  border: 1px solid #c8c8c8 !important;
  border-radius: 50% !important;
  background: var(--swatch, #ddd) !important;
}

html body.post-type-archive-product ul.products li.product .bn-card-colors span,
html body.tax-product_cat ul.products li.product .bn-card-colors span,
html body.search-results ul.products li.product .bn-card-colors span {
  color: #666 !important;
  font-size: 11px !important;
}

html body.post-type-archive-product ul.products li.product .price,
html body.tax-product_cat ul.products li.product .price,
html body.search-results ul.products li.product .price {
  margin: 0 !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html body.post-type-archive-product ul.products li.product .bn-card-rating,
html body.tax-product_cat ul.products li.product .bn-card-rating,
html body.search-results ul.products li.product .bn-card-rating {
  display: flex !important;
  align-items: center !important;
  min-height: 18px !important;
  margin: 2px 0 0 !important;
  gap: 3px !important;
  color: #111 !important;
  font-size: 10px !important;
  font-style: normal !important;
}

@media (min-width: 801px) {
  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    grid-template-columns: 244px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 12px !important;
    max-width: 1600px !important;
    padding: 14px clamp(32px, 3.34vw, 56px) 88px !important;
  }

  html body.post-type-archive-product .bn-catalog-intro,
  html body.tax-product_cat .bn-catalog-intro,
  html body.search-results .bn-catalog-intro {
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 0 9px !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  html body.post-type-archive-product .bn-catalog-intro h1,
  html body.tax-product_cat .bn-catalog-intro h1,
  html body.search-results .bn-catalog-intro h1 {
    margin: 0 !important;
    color: #666 !important;
    font: 400 12px/1.3 Arial, sans-serif !important;
    letter-spacing: 0 !important;
  }

  html body.post-type-archive-product .bn-catalog-intro h1::before,
  html body.tax-product_cat .bn-catalog-intro h1::before,
  html body.search-results .bn-catalog-intro h1::before {
    content: "Home / " !important;
    color: #999 !important;
  }

  html body.post-type-archive-product .bn-catalog-intro > div,
  html body.tax-product_cat .bn-catalog-intro > div,
  html body.search-results .bn-catalog-intro > div,
  html body.post-type-archive-product .bn-subcategory-rail,
  html body.tax-product_cat .bn-subcategory-rail,
  html body.search-results .bn-subcategory-rail,
  html body.post-type-archive-product .bn-catalog-shop-chips,
  html body.tax-product_cat .bn-catalog-shop-chips,
  html body.search-results .bn-catalog-shop-chips {
    display: none !important;
  }

  html body.post-type-archive-product .bn-catalog-filters,
  html body.tax-product_cat .bn-catalog-filters,
  html body.search-results .bn-catalog-filters {
    grid-row: 2 / span 5 !important;
    top: 132px !important;
    width: 244px !important;
    max-width: 244px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html body.post-type-archive-product .bn-filter-title,
  html body.tax-product_cat .bn-filter-title,
  html body.search-results .bn-filter-title {
    min-height: 44px !important;
    padding: 0 0 11px !important;
    border-bottom: 1px solid #ddd !important;
  }

  html body.post-type-archive-product .bn-catalog-filters details,
  html body.tax-product_cat .bn-catalog-filters details,
  html body.search-results .bn-catalog-filters details {
    padding: 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  html body.post-type-archive-product .bn-catalog-filters summary,
  html body.tax-product_cat .bn-catalog-filters summary,
  html body.search-results .bn-catalog-filters summary {
    min-height: 48px !important;
    padding: 15px 0 !important;
    font-size: 13px !important;
  }

  html body.post-type-archive-product .bn-desktop-shop-toolbar,
  html body.tax-product_cat .bn-desktop-shop-toolbar,
  html body.search-results .bn-desktop-shop-toolbar {
    grid-row: 2 !important;
    min-height: 44px !important;
    padding-right: 216px !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  html body.post-type-archive-product .woocommerce-ordering,
  html body.tax-product_cat .woocommerce-ordering,
  html body.search-results .woocommerce-ordering {
    grid-row: 2 !important;
  }

  html body.post-type-archive-product ul.products,
  html body.tax-product_cat ul.products,
  html body.search-results ul.products {
    grid-row: 3 !important;
    gap: 34px 12px !important;
  }

  html body.post-type-archive-product ul.products li.product img,
  html body.tax-product_cat ul.products li.product img,
  html body.search-results ul.products li.product img {
    margin: 0 !important;
    border-radius: 4px !important;
  }

  html body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
  html body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  html body.search-results ul.products li.product .woocommerce-loop-product__title {
    min-height: 0 !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 800px) {
  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    max-width: 454px !important;
    padding: 0 8px 64px !important;
  }

  html body.post-type-archive-product .bn-catalog-intro,
  html body.tax-product_cat .bn-catalog-intro,
  html body.search-results .bn-catalog-intro,
  html body.post-type-archive-product .bn-subcategory-rail,
  html body.tax-product_cat .bn-subcategory-rail,
  html body.search-results .bn-subcategory-rail,
  html body.post-type-archive-product .bn-catalog-shop-chips,
  html body.tax-product_cat .bn-catalog-shop-chips,
  html body.search-results .bn-catalog-shop-chips {
    display: none !important;
  }

  html body.post-type-archive-product .bn-mobile-shop-toolbar,
  html body.tax-product_cat .bn-mobile-shop-toolbar,
  html body.search-results .bn-mobile-shop-toolbar {
    top: 68px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    height: 48px !important;
    margin: 0 -8px 12px !important;
  }

  html body.post-type-archive-product .bn-mobile-shop-toolbar > *,
  html body.tax-product_cat .bn-mobile-shop-toolbar > *,
  html body.search-results .bn-mobile-shop-toolbar > * {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 47px !important;
    margin: 0 !important;
    padding: 0 5px !important;
    border: 0 !important;
    border-right: 1px solid #e5e5e5 !important;
    background: #fff !important;
    color: #111 !important;
    font: 500 12px/1 Arial, sans-serif !important;
  }

  html body.post-type-archive-product .bn-mobile-shop-toolbar > *:last-child,
  html body.tax-product_cat .bn-mobile-shop-toolbar > *:last-child,
  html body.search-results .bn-mobile-shop-toolbar > *:last-child {
    border-right: 0 !important;
  }

  html body.post-type-archive-product .bn-sort-control select,
  html body.tax-product_cat .bn-sort-control select,
  html body.search-results .bn-sort-control select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
  }

  html body.post-type-archive-product .bn-grid-toggle::before,
  html body.tax-product_cat .bn-grid-toggle::before,
  html body.search-results .bn-grid-toggle::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    background:
      linear-gradient(#111 0 0) 0 0 / 8px 8px no-repeat,
      linear-gradient(#111 0 0) 100% 0 / 8px 8px no-repeat,
      linear-gradient(#111 0 0) 0 100% / 8px 8px no-repeat,
      linear-gradient(#111 0 0) 100% 100% / 8px 8px no-repeat !important;
  }

  html body.post-type-archive-product .bn-grid-toggle.is-single::before,
  html body.tax-product_cat .bn-grid-toggle.is-single::before,
  html body.search-results .bn-grid-toggle.is-single::before {
    background: #111 !important;
  }

  html body.post-type-archive-product ul.products,
  html body.tax-product_cat ul.products,
  html body.search-results ul.products {
    gap: 27px 8px !important;
  }

  html body.post-type-archive-product ul.products li.product img,
  html body.tax-product_cat ul.products li.product img,
  html body.search-results ul.products li.product img {
    margin: 0 !important;
    border-radius: 4px !important;
  }

  html body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
  html body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  html body.search-results ul.products li.product .woocommerce-loop-product__title {
    min-height: 0 !important;
    margin: 0 3px 4px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.post-type-archive-product ul.products li.product .bn-card-colors,
  html body.tax-product_cat ul.products li.product .bn-card-colors,
  html body.search-results ul.products li.product .bn-card-colors {
    margin: 7px 3px 2px !important;
  }

  html body.post-type-archive-product ul.products li.product .price,
  html body.post-type-archive-product ul.products li.product .bn-card-rating,
  html body.tax-product_cat ul.products li.product .price,
  html body.tax-product_cat ul.products li.product .bn-card-rating,
  html body.search-results ul.products li.product .price,
  html body.search-results ul.products li.product .bn-card-rating {
    margin-left: 3px !important;
    margin-right: 3px !important;
  }
}

/* Stage49 final desktop precedence lock against legacy catalogue layers. */
@media (min-width: 801px) {
  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    grid-template-columns: 244px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 12px !important;
    padding: 14px clamp(32px, 3.34vw, 56px) 88px !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-intro,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-intro,
  html body.search-results .woocommerce-area > .section > .bn-catalog-intro {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-intro h1,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-intro h1,
  html body.search-results .woocommerce-area > .section > .bn-catalog-intro h1 {
    margin: 0 !important;
    color: #666 !important;
    font: 400 12px/1.3 Arial, sans-serif !important;
    letter-spacing: 0 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-intro h1::before,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-intro h1::before,
  html body.search-results .woocommerce-area > .section > .bn-catalog-intro h1::before {
    content: "Home / " !important;
    color: #999 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-intro > div,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-intro > div,
  html body.search-results .woocommerce-area > .section > .bn-catalog-intro > div,
  html body.post-type-archive-product .woocommerce-area > .section > .bn-subcategory-rail,
  html body.tax-product_cat .woocommerce-area > .section > .bn-subcategory-rail,
  html body.search-results .woocommerce-area > .section > .bn-subcategory-rail,
  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-shop-chips,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-shop-chips,
  html body.search-results .woocommerce-area > .section > .bn-catalog-shop-chips {
    display: none !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .woocommerce-notices-wrapper,
  html body.tax-product_cat .woocommerce-area > .section > .woocommerce-notices-wrapper,
  html body.search-results .woocommerce-area > .section > .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    height: 0 !important;
    overflow: visible !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-catalog-filters,
  html body.tax-product_cat .woocommerce-area > .section > .bn-catalog-filters,
  html body.search-results .woocommerce-area > .section > .bn-catalog-filters {
    grid-column: 1 !important;
    grid-row: 2 / span 4 !important;
    box-sizing: border-box !important;
    width: 244px !important;
    max-width: 244px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.tax-product_cat .woocommerce-area > .section > .bn-desktop-shop-toolbar,
  html body.search-results .woocommerce-area > .section > .bn-desktop-shop-toolbar {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 216px 0 0 !important;
    overflow: visible !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > .woocommerce-ordering,
  html body.tax-product_cat .woocommerce-area > .section > .woocommerce-ordering,
  html body.search-results .woocommerce-area > .section > .woocommerce-ordering {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: end !important;
    width: 200px !important;
    margin: 0 !important;
  }

  html body.post-type-archive-product .woocommerce-area > .section > ul.products,
  html body.tax-product_cat .woocommerce-area > .section > ul.products,
  html body.search-results .woocommerce-area > .section > ul.products {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }
}

@media (max-width: 800px) {
  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    display: block !important;
    width: 100% !important;
    max-width: 454px !important;
    margin: 0 auto !important;
    padding: 0 12px 64px !important;
    overflow: visible !important;
  }

  html body.post-type-archive-product .bn-catalog-intro,
  html body.tax-product_cat .bn-catalog-intro,
  html body.search-results .bn-catalog-intro {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 22px 0 14px !important;
    overflow: visible !important;
    border: 0 !important;
  }

  html body.post-type-archive-product .bn-catalog-intro h1,
  html body.tax-product_cat .bn-catalog-intro h1,
  html body.search-results .bn-catalog-intro h1 {
    display: block !important;
    margin: 0 0 7px !important;
    font: 500 27px/1.12 Georgia, "Times New Roman", serif !important;
    letter-spacing: -.02em !important;
  }

  html body.post-type-archive-product .bn-catalog-intro p,
  html body.post-type-archive-product .bn-catalog-intro div,
  html body.tax-product_cat .bn-catalog-intro p,
  html body.tax-product_cat .bn-catalog-intro div,
  html body.search-results .bn-catalog-intro p,
  html body.search-results .bn-catalog-intro div {
    display: block !important;
    margin: 0 !important;
    color: #666 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }

  html body.post-type-archive-product .bn-mobile-shop-toolbar,
  html body.tax-product_cat .bn-mobile-shop-toolbar,
  html body.search-results .bn-mobile-shop-toolbar {
    position: sticky !important;
    top: 72px !important;
    z-index: 35 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    width: auto !important;
    height: 48px !important;
    margin: 0 -12px 12px !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    background: #fff !important;
  }

  html body.post-type-archive-product ul.products,
  html body.tax-product_cat ul.products,
  html body.search-results ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 6px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body.post-type-archive-product ul.products li.product,
  html body.tax-product_cat ul.products li.product,
  html body.search-results ul.products li.product {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  html body.post-type-archive-product ul.products li.product img,
  html body.tax-product_cat ul.products li.product img,
  html body.search-results ul.products li.product img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: .748 !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 0 8px !important;
    background: #f5f3ef !important;
  }

  html body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
  html body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  html body.search-results ul.products li.product .woocommerce-loop-product__title {
    min-height: 34px !important;
    margin: 0 0 4px !important;
    padding: 0 3px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  html body.post-type-archive-product ul.products li.product .price,
  html body.post-type-archive-product ul.products li.product .bn-card-colors,
  html body.post-type-archive-product ul.products li.product .bn-card-rating,
  html body.post-type-archive-product ul.products li.product .bn-card-perks,
  html body.tax-product_cat ul.products li.product .price,
  html body.tax-product_cat ul.products li.product .bn-card-colors,
  html body.tax-product_cat ul.products li.product .bn-card-rating,
  html body.tax-product_cat ul.products li.product .bn-card-perks,
  html body.search-results ul.products li.product .price,
  html body.search-results ul.products li.product .bn-card-colors,
  html body.search-results ul.products li.product .bn-card-rating,
  html body.search-results ul.products li.product .bn-card-perks {
    margin-left: 3px !important;
    margin-right: 3px !important;
    text-align: left !important;
  }
}

/* Stage49 final mobile precedence lock. */
@media (max-width: 800px) {
  html body.post-type-archive-product .woocommerce-area > .section,
  html body.tax-product_cat .woocommerce-area > .section,
  html body.search-results .woocommerce-area > .section {
    max-width: 454px !important;
    padding: 0 8px 64px !important;
  }

  html body.post-type-archive-product .bn-catalog-intro,
  html body.tax-product_cat .bn-catalog-intro,
  html body.search-results .bn-catalog-intro,
  html body.post-type-archive-product .bn-subcategory-rail,
  html body.tax-product_cat .bn-subcategory-rail,
  html body.search-results .bn-subcategory-rail,
  html body.post-type-archive-product .bn-catalog-shop-chips,
  html body.tax-product_cat .bn-catalog-shop-chips,
  html body.search-results .bn-catalog-shop-chips {
    display: none !important;
  }

  html body.post-type-archive-product .bn-mobile-shop-toolbar,
  html body.tax-product_cat .bn-mobile-shop-toolbar,
  html body.search-results .bn-mobile-shop-toolbar {
    top: 68px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    height: 48px !important;
    margin: 0 -8px 12px !important;
  }

  html body.post-type-archive-product .bn-mobile-shop-toolbar > *,
  html body.tax-product_cat .bn-mobile-shop-toolbar > *,
  html body.search-results .bn-mobile-shop-toolbar > * {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 47px !important;
    margin: 0 !important;
    padding: 0 5px !important;
    border: 0 !important;
    border-right: 1px solid #e5e5e5 !important;
    background: #fff !important;
    color: #111 !important;
    font: 500 12px/1 Arial, sans-serif !important;
  }

  html body.post-type-archive-product .bn-mobile-shop-toolbar > *:last-child,
  html body.tax-product_cat .bn-mobile-shop-toolbar > *:last-child,
  html body.search-results .bn-mobile-shop-toolbar > *:last-child {
    border-right: 0 !important;
  }

  html body.post-type-archive-product .bn-sort-control select,
  html body.tax-product_cat .bn-sort-control select,
  html body.search-results .bn-sort-control select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
  }

  html body.post-type-archive-product .bn-grid-toggle::before,
  html body.tax-product_cat .bn-grid-toggle::before,
  html body.search-results .bn-grid-toggle::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    background:
      linear-gradient(#111 0 0) 0 0 / 8px 8px no-repeat,
      linear-gradient(#111 0 0) 100% 0 / 8px 8px no-repeat,
      linear-gradient(#111 0 0) 0 100% / 8px 8px no-repeat,
      linear-gradient(#111 0 0) 100% 100% / 8px 8px no-repeat !important;
  }

  html body.post-type-archive-product .bn-grid-toggle.is-single::before,
  html body.tax-product_cat .bn-grid-toggle.is-single::before,
  html body.search-results .bn-grid-toggle.is-single::before {
    background: #111 !important;
  }

  html body.post-type-archive-product ul.products,
  html body.tax-product_cat ul.products,
  html body.search-results ul.products {
    gap: 27px 8px !important;
  }

  html body.post-type-archive-product ul.products li.product img,
  html body.tax-product_cat ul.products li.product img,
  html body.search-results ul.products li.product img {
    margin: 0 !important;
    border-radius: 4px !important;
  }

  html body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
  html body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  html body.search-results ul.products li.product .woocommerce-loop-product__title {
    min-height: 0 !important;
    margin: 0 3px 4px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.post-type-archive-product ul.products li.product .bn-card-colors,
  html body.tax-product_cat ul.products li.product .bn-card-colors,
  html body.search-results ul.products li.product .bn-card-colors {
    margin: 7px 3px 2px !important;
  }

  html body.post-type-archive-product ul.products li.product .price,
  html body.post-type-archive-product ul.products li.product .bn-card-rating,
  html body.tax-product_cat ul.products li.product .price,
  html body.tax-product_cat ul.products li.product .bn-card-rating,
  html body.search-results ul.products li.product .price,
  html body.search-results ul.products li.product .bn-card-rating {
    margin-left: 3px !important;
    margin-right: 3px !important;
  }
}
