.ph-bestsellers,
.ph-bestsellers-page {
  width: 100%;
  margin: 2rem 0;
  clear: both;
}

.ph-bestsellers__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.ph-bestsellers__title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
}

.ph-bestsellers__link {
  font-weight: 600;
  text-decoration: none;
}

.ph-bestsellers-grid,
.ph-bestsellers__products,
.ph-bestsellers-page__products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  align-items: stretch;
  width: 100%;
  clear: both;
}

.ph-bestsellers__item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

/* Important: many PrestaShop themes scope product miniature widths under .products.
   This module uses its own grid wrapper and forces the included miniature to fill the card. */
.ph-bestsellers__item .product-miniature,
.ph-bestsellers__item article.product-miniature,
.ph-bestsellers__item .js-product-miniature,
.ph-bestsellers__item [data-id-product] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: block;
}

.ph-bestsellers__item .thumbnail-container,
.ph-bestsellers__item .product-container,
.ph-bestsellers__item .product-miniature .thumbnail-container,
.ph-bestsellers__item .product-description {
  width: 100% !important;
  max-width: 100% !important;
}

.ph-bestsellers__item .product-thumbnail,
.ph-bestsellers__item .thumbnail-container > a,
.ph-bestsellers__item .product-image,
.ph-bestsellers__item .thumbnail.product-thumbnail {
  display: block;
  width: 100%;
}

.ph-bestsellers__item img,
.ph-bestsellers__item .product-thumbnail img,
.ph-bestsellers__item .thumbnail-container img {
  max-width: 100%;
  height: auto;
}

.ph-bestsellers__rank {
  position: absolute;
  z-index: 5;
  top: .65rem;
  left: .65rem;
  min-width: 2.15rem;
  padding: .3rem .55rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, .74);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  box-shadow: 0 .2rem .65rem rgba(0, 0, 0, .2);
}

.ph-bestsellers__stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem;
  margin-top: .65rem;
  font-size: .78rem;
}

.ph-bestsellers__stats span {
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: 999px;
  padding: .25rem .55rem;
  background: rgba(255, 255, 255, .9);
}

.ph-bestsellers-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .85rem;
  align-items: end;
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 1rem;
  background: rgba(0, 0, 0, .025);
}

.ph-bestsellers-filters__field label {
  display: block;
  margin-bottom: .3rem;
  font-weight: 600;
}

.ph-bestsellers-filters__field select {
  width: 100%;
  max-width: 100%;
}

.ph-bestsellers-filters__check {
  align-self: center;
}

.ph-bestsellers-filters .btn,
.ph-bestsellers-filters button {
  min-height: 2.35rem;
}

@media (min-width: 1200px) {
  .ph-bestsellers-grid,
  .ph-bestsellers__products,
  .ph-bestsellers-page__products {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .ph-bestsellers-grid,
  .ph-bestsellers__products,
  .ph-bestsellers-page__products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .ph-bestsellers-grid,
  .ph-bestsellers__products,
  .ph-bestsellers-page__products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ph-bestsellers__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .ph-bestsellers-grid,
  .ph-bestsellers__products,
  .ph-bestsellers-page__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
  }

  .ph-bestsellers-filters {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers-grid,
  .ph-bestsellers__products,
  .ph-bestsellers-page__products {
    grid-template-columns: 1fr;
  }
}

/* v1.0.3: use the module-owned card instead of theme product miniature markup.
   This avoids Warehouse/Classic/child-theme product grid column rules from shrinking cards. */
.ph-bestsellers-grid > .ph-bestsellers__item {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ph-bs-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .05);
  transition: transform .18s ease, box-shadow .18s ease;
}

.ph-bs-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 .6rem 1.5rem rgba(0, 0, 0, .09);
}

.ph-bs-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  width: 100%;
  padding: 1rem;
  background: #fafafa;
  text-decoration: none !important;
}

.ph-bs-card__image img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.ph-bs-card__no-image {
  color: #777;
  font-size: .9rem;
}

.ph-bs-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 1rem;
  text-align: left;
}

.ph-bs-card__brand {
  margin-bottom: .35rem;
  color: #66788a;
  font-size: .78rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.ph-bs-card__title {
  margin: 0 0 .55rem;
  font-size: 1rem;
  line-height: 1.28;
  font-weight: 700;
}

.ph-bs-card__title a {
  color: inherit;
  text-decoration: none !important;
}

.ph-bs-card__title a:hover {
  text-decoration: underline !important;
}

.ph-bs-card__price {
  margin-bottom: .55rem;
  font-size: 1.15rem;
  line-height: 1.2;
  font-weight: 700;
}

.ph-bs-card__desc {
  margin-bottom: .85rem;
  color: #526678;
  font-size: .88rem;
  line-height: 1.45;
}

.ph-bs-card__button {
  margin-top: auto;
  width: 100%;
  text-align: center;
  white-space: normal;
}

.ph-bestsellers__item .ph-bestsellers__stats {
  margin-top: .75rem;
}


/* v1.0.4: smart page is now a ranked merchandising page, not a filter page. */
.ph-bestsellers-page--ranked {
  margin-top: 1.25rem;
}

.ph-bs-section {
  margin: 0 0 2.25rem;
}

.ph-bs-section__header,
.ph-bs-category-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.ph-bs-section__title,
.ph-bs-category-section__title {
  margin: 0;
  color: inherit;
  font-weight: 800;
  line-height: 1.2;
}

.ph-bs-section__title {
  font-size: 1.45rem;
}

.ph-bs-category-section__title {
  font-size: 1.2rem;
}

.ph-bs-category-section__title a,
.ph-bs-category-section__link {
  color: inherit;
  text-decoration: none !important;
}

.ph-bs-category-section__title a:hover,
.ph-bs-category-section__link:hover {
  text-decoration: underline !important;
}

.ph-bs-section__subtitle,
.ph-bs-category-section__meta {
  display: block;
  margin: .25rem 0 0;
  color: #66788a;
  font-size: .9rem;
  line-height: 1.35;
}

.ph-bs-category-sections {
  display: grid;
  gap: 2rem;
}

.ph-bs-category-section {
  padding: 1.15rem;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 1rem;
  background: rgba(0, 0, 0, .018);
}

.ph-bs-category-section__link {
  flex: 0 0 auto;
  font-size: .9rem;
  font-weight: 700;
}

.ph-bestsellers-grid--category {
  gap: 1rem;
}

@media (min-width: 1200px) {
  .ph-bestsellers-grid--category {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.ph-bs-card {
  color: inherit !important;
  text-decoration: none !important;
}

.ph-bs-card:hover,
.ph-bs-card:focus {
  color: inherit !important;
  text-decoration: none !important;
}

.ph-bs-card__body,
.ph-bs-card__brand,
.ph-bs-card__title,
.ph-bs-card__price {
  display: block;
}

.ph-bs-card__title {
  margin: 0 0 .55rem;
  color: inherit;
  font-size: 1rem;
  line-height: 1.28;
  font-weight: 700;
}

.ph-bs-card:hover .ph-bs-card__title {
  text-decoration: underline;
}

.ph-bs-card__price {
  margin-bottom: 0;
}

.ph-bs-card__desc,
.ph-bs-card__button {
  display: none !important;
}

@media (max-width: 767px) {
  .ph-bs-section__header,
  .ph-bs-category-section__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .ph-bs-category-section {
    padding: .9rem;
  }
}

/* v1.0.5: above-the-fold category gateway. */
.ph-bestsellers-page--gateway {
  margin-top: .5rem;
}

.ph-bs-hero {
  margin: 0 0 1rem;
}

.ph-bs-hero__intro {
  max-width: 760px;
  margin: -.25rem 0 1rem;
  color: #526678;
  font-size: 1rem;
  line-height: 1.45;
}

.ph-bs-section__header--compact {
  margin-bottom: .75rem;
}

.ph-bs-section--gateway {
  margin-bottom: 1.35rem;
}

.ph-bs-gateway-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  width: 100%;
}

.ph-bs-gateway-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  min-height: 96px;
  padding: .75rem;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 1rem;
  background: #fff;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 .3rem 1rem rgba(0, 0, 0, .045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ph-bs-gateway-card:hover,
.ph-bs-gateway-card:focus {
  color: inherit !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  border-color: rgba(0, 0, 0, .14);
  box-shadow: 0 .55rem 1.35rem rgba(0, 0, 0, .08);
}

.ph-bs-gateway-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  overflow: hidden;
  border-radius: .85rem;
  background: #fafafa;
}

.ph-bs-gateway-card__image img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.ph-bs-gateway-card__body {
  display: block;
  min-width: 0;
}

.ph-bs-gateway-card__label,
.ph-bs-gateway-card__meta {
  display: block;
  color: #66788a;
  font-size: .75rem;
  line-height: 1.2;
}

.ph-bs-gateway-card__title {
  display: block;
  margin: .12rem 0 .2rem;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.18;
}

.ph-bs-gateway-card__product {
  display: -webkit-box;
  overflow: hidden;
  color: #526678;
  font-size: .82rem;
  line-height: 1.25;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.ph-bs-gateway-card:hover .ph-bs-gateway-card__title {
  text-decoration: underline;
}

.ph-bs-section--global {
  margin-bottom: 2rem;
}

.ph-bs-category-section {
  scroll-margin-top: 110px;
}

@media (min-width: 1200px) {
  .ph-bestsellers-page--gateway .ph-bs-section--global .ph-bestsellers-page__products {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .ph-bs-gateway-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .ph-bs-gateway-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ph-bs-hero__intro {
    font-size: .95rem;
  }

  .ph-bs-gateway-grid {
    display: flex;
    gap: .75rem;
    overflow-x: auto;
    padding-bottom: .2rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .ph-bs-gateway-card {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }
}

@media (max-width: 420px) {
  .ph-bs-gateway-card {
    flex-basis: 92%;
  }
}

.ph-bs-hero__context {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: .35rem 0 0;
  padding: .35rem .75rem;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  font-size: .85rem;
  font-weight: 600;
  opacity: .82;
}


/* v1.0.7: cleaner merchandising cards. */
.ph-bs-card__body {
  align-items: center;
  text-align: center;
}

.ph-bs-card__brand {
  display: none !important;
}

.ph-bs-card__sold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  margin: 0 auto .45rem;
  color: #526678;
  font-size: .8rem;
  line-height: 1.2;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.ph-bs-card__sold-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  background: rgba(48, 77, 99, .1);
  color: #304d63;
  font-size: .78rem;
  font-weight: 800;
}

.ph-bs-card__title,
.ph-bs-card__price {
  text-align: center;
}

.ph-bestsellers__item .ph-bestsellers__stats {
  display: none !important;
}

/* v1.0.8: gateway cards are navigation-only category/subcategory titles. */
.ph-bs-gateway-grid--title-only {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ph-bs-gateway-card--title-only {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 74px;
  padding: 1rem 1.1rem;
  text-align: center;
}

.ph-bs-gateway-card--title-only .ph-bs-gateway-card__title {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.22;
}

@media (max-width: 767px) {
  .ph-bs-gateway-card--title-only {
    flex: 0 0 70%;
    min-height: 66px;
  }
}

@media (max-width: 420px) {
  .ph-bs-gateway-card--title-only {
    flex-basis: 84%;
  }
}

/* v1.1.0: curated best-seller blocks for sets/accessories/shop picks. */
.ph-bs-curated-blocks {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 2rem;
}

.ph-bs-section--curated {
  margin-bottom: 0;
}

.ph-bs-curated-block--compact .ph-bestsellers-grid {
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 1rem;
}

.ph-bs-curated-block--compact .ph-bs-card__image {
  padding: .65rem;
}

.ph-bs-curated-block--compact .ph-bs-card__body {
  padding: .85rem;
}

.ph-bs-curated-block--carousel .ph-bestsellers-grid {
  display: flex !important;
  grid-template-columns: none !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: .35rem;
}

.ph-bs-curated-block--carousel .ph-bestsellers__item {
  flex: 0 0 220px;
  scroll-snap-align: start;
}

@media (max-width: 767px) {
  .ph-bs-curated-block--carousel .ph-bestsellers__item {
    flex-basis: 72%;
  }
}


/* v1.1.2: ranked-by-category products use one-row horizontal sliders. */
.ph-bestsellers-slider {
  display: flex !important;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .1rem .1rem .7rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.ph-bestsellers-slider--category .ph-bestsellers__item {
  flex: 0 0 clamp(190px, 18vw, 230px);
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}

.ph-bestsellers-slider::-webkit-scrollbar {
  height: .55rem;
}

.ph-bestsellers-slider::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(48, 77, 99, .32);
}

.ph-bestsellers-slider::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(48, 77, 99, .08);
}

.ph-bs-category-section .ph-bs-card {
  min-height: 100%;
}

@media (min-width: 1200px) {
  .ph-bestsellers-slider--category .ph-bestsellers__item {
    flex-basis: 210px;
  }
}

@media (max-width: 767px) {
  .ph-bestsellers-slider--category .ph-bestsellers__item {
    flex-basis: 72%;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers-slider--category .ph-bestsellers__item {
    flex-basis: 84%;
  }
}

/* v1.1.3: true carousel controls for ranked category sliders. */
.ph-bestsellers-page,
.ph-bs-section,
.ph-bs-category-sections,
.ph-bs-category-section,
.ph-bs-slider-shell {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.ph-bs-category-section {
  overflow: hidden;
}

.ph-bs-slider-shell {
  position: relative;
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr) 2.35rem;
  align-items: stretch;
  gap: .65rem;
}

.ph-bs-slider-shell .ph-bestsellers-slider {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
}

.ph-bs-slider-btn {
  align-self: center;
  width: 2.35rem;
  min-width: 2.35rem;
  height: 3.25rem;
  padding: 0;
  border: 1px solid rgba(48, 77, 99, .28);
  border-radius: .85rem;
  background: #fff;
  color: #304d63;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .08);
  cursor: pointer;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ph-bs-slider-btn:hover,
.ph-bs-slider-btn:focus {
  transform: translateY(-1px);
  box-shadow: 0 .55rem 1.25rem rgba(0, 0, 0, .12);
  outline: none;
}

.ph-bs-slider-btn[disabled],
.ph-bs-slider-btn.is-disabled {
  opacity: .32;
  cursor: default;
  transform: none;
  box-shadow: none;
}

.ph-bs-slider-shell:not(.is-overflowing) .ph-bs-slider-btn {
  display: none;
}

.ph-bs-slider-shell:not(.is-overflowing) {
  display: block;
}

@media (max-width: 767px) {
  .ph-bs-slider-shell {
    grid-template-columns: 1fr;
    gap: .35rem;
  }

  .ph-bs-slider-btn {
    display: none !important;
  }
}

/* v1.1.4: curated best-seller carousel blocks use the same controlled navigation as ranked category sliders. */
.ph-bs-slider-shell--curated {
  margin-top: .2rem;
}

.ph-bestsellers-slider--curated {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .1rem .1rem .7rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.ph-bestsellers-slider--curated .ph-bestsellers__item {
  flex: 0 0 clamp(190px, 18vw, 230px);
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}

.ph-bestsellers-slider--curated::-webkit-scrollbar {
  height: .55rem;
}

.ph-bestsellers-slider--curated::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(48, 77, 99, .32);
}

.ph-bestsellers-slider--curated::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(48, 77, 99, .08);
}

@media (min-width: 1200px) {
  .ph-bestsellers-slider--curated .ph-bestsellers__item {
    flex-basis: 220px;
  }
}

@media (max-width: 767px) {
  .ph-bestsellers-slider--curated .ph-bestsellers__item {
    flex-basis: 72%;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers-slider--curated .ph-bestsellers__item {
    flex-basis: 84%;
  }
}

/* v1.1.6: full smart best-sellers content can render inside the homepage hook. */
.ph-bestsellers--smart-home {
  margin: 2rem 0;
}

.ph-bestsellers--smart-home .ph-bestsellers-page {
  margin-top: 0;
  margin-bottom: 0;
}

.ph-bestsellers-page--home-embed .ph-bs-hero {
  margin-bottom: 1.25rem;
}

.ph-bs-hero__title {
  margin: 0 0 .35rem;
  color: inherit;
  font-size: clamp(1.6rem, 2.3vw, 2.25rem);
  line-height: 1.15;
  font-weight: 800;
}

.ph-bestsellers-page--home-embed .ph-bs-hero__intro {
  margin-top: 0;
}

.ph-bestsellers-page--home-embed .ph-bs-section--gateway {
  margin-bottom: 1.65rem;
}

/* v1.2.0: render best-seller products through the active theme product miniature/product-list card. */
.ph-bs-product-miniature-wrap {
  position: relative;
  display: block;
  height: 100%;
  min-width: 0;
  max-width: 100%;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap > .product-miniature,
.ph-bestsellers__item .ph-bs-product-miniature-wrap > article.product-miniature,
.ph-bestsellers__item .ph-bs-product-miniature-wrap > .js-product-miniature {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail-container,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-container,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-description {
  max-width: 100% !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-add-cart,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-actions,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .highlighted-informations {
  max-width: 100%;
}

.ph-bestsellers__rank {
  z-index: 30;
}

.ph-bs-card__sold--theme-card {
  display: inline-flex;
  margin: .55rem auto 0;
}


/* v1.2.2: harden active theme product miniature display inside best-seller sliders.
   The module keeps the theme/product-list template so add-to-cart/customize modules can attach,
   but normalizes the card box so Warehouse/Classic grid rules do not collapse the miniature. */
.ph-bestsellers__item.js-product.product {
  box-sizing: border-box !important;
  float: none !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ph-bestsellers-slider .ph-bestsellers__item.js-product.product,
.ph-bestsellers-slider--curated .ph-bestsellers__item.js-product.product,
.ph-bestsellers-slider--category .ph-bestsellers__item.js-product.product {
  flex: 0 0 clamp(210px, 18vw, 240px) !important;
  width: auto !important;
}

.ph-bestsellers-grid .ph-bestsellers__item.js-product.product {
  width: auto !important;
}

.ph-bs-product-miniature-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(48, 77, 99, .62);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .045);
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap > .product-miniature,
.ph-bestsellers__item .ph-bs-product-miniature-wrap > article.product-miniature,
.ph-bestsellers__item .ph-bs-product-miniature-wrap > .js-product-miniature {
  position: relative !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail-container,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-container,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-miniature .thumbnail-container {
  position: relative !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-thumbnail,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail.product-thumbnail,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail-container > a,
.ph-bestsellers__item .ph-bs-product-miniature-wrap a.thumbnail,
.ph-bestsellers__item .ph-bs-product-miniature-wrap a.product-thumbnail {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 210px !important;
  min-height: 210px !important;
  margin: 0 !important;
  padding: .85rem !important;
  overflow: hidden !important;
  background: #fafafa !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap img,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-thumbnail img,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail-container img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-description,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-description-wrapper,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-info,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-meta {
  position: static !important;
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: .95rem .85rem 1rem !important;
  overflow: visible !important;
  background: #fff !important;
  text-align: center !important;
  transform: none !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-title,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .h3.product-title,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-name,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-title a,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-name a {
  display: block !important;
  width: 100% !important;
  margin: 0 0 .45rem !important;
  color: #304d63 !important;
  font-size: 1rem !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-price-and-shipping,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-price,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .price,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .current-price {
  display: block !important;
  width: 100% !important;
  margin: .15rem 0 0 !important;
  color: #304d63 !important;
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .highlighted-informations,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-actions,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-add-cart,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .add-to-cart-or-refresh,
.ph-bestsellers__item .ph-bs-product-miniature-wrap [data-button-action="add-to-cart"] {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  max-width: 100% !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .highlighted-informations {
  width: 100% !important;
  height: auto !important;
  margin: .55rem 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-add-cart,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .ph-bs-product-list-actions {
  width: 100% !important;
  margin-top: .65rem !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-product-miniature-wrap .btn,
.ph-bestsellers__item .ph-bs-product-miniature-wrap button,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .add-to-cart,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .ajax_add_to_cart_button {
  max-width: 100% !important;
  white-space: normal !important;
}

/* Keep less useful listing noise from making narrow carousel cards tall. */
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-brand,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-reference,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-desc,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .product-description-short,
.ph-bestsellers__item .ph-bs-product-miniature-wrap .regular-price + span:not(.price) {
  display: none !important;
}

@media (max-width: 767px) {
  .ph-bestsellers-slider .ph-bestsellers__item.js-product.product,
  .ph-bestsellers-slider--curated .ph-bestsellers__item.js-product.product,
  .ph-bestsellers-slider--category .ph-bestsellers__item.js-product.product {
    flex-basis: 72% !important;
  }

  .ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail,
  .ph-bestsellers__item .ph-bs-product-miniature-wrap .product-thumbnail,
  .ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail.product-thumbnail,
  .ph-bestsellers__item .ph-bs-product-miniature-wrap .thumbnail-container > a,
  .ph-bestsellers__item .ph-bs-product-miniature-wrap a.thumbnail,
  .ph-bestsellers__item .ph-bs-product-miniature-wrap a.product-thumbnail {
    height: 190px !important;
    min-height: 190px !important;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers-slider .ph-bestsellers__item.js-product.product,
  .ph-bestsellers-slider--curated .ph-bestsellers__item.js-product.product,
  .ph-bestsellers-slider--category .ph-bestsellers__item.js-product.product {
    flex-basis: 84% !important;
  }
}

/* v1.2.3: return to the stable module-owned card and expose a product-list action zone.
   This avoids theme miniature column collapse while still letting ph_addcart render controls. */
.ph-bestsellers__item .ph-bs-card.js-product-miniature {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(48, 77, 99, .62) !important;
  border-radius: 1rem !important;
  background: #fff !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .045) !important;
}

.ph-bestsellers__item .ph-bs-card__image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 210px !important;
  min-height: 210px !important;
  padding: .85rem !important;
  overflow: hidden !important;
  background: #fafafa !important;
  text-decoration: none !important;
}

.ph-bestsellers__item .ph-bs-card__image img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.ph-bestsellers__item .ph-bs-card__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: .95rem .85rem 1rem !important;
  background: #fff !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-card__title,
.ph-bestsellers__item .ph-bs-card__title a {
  display: block !important;
  width: 100% !important;
  margin: 0 0 .45rem !important;
  color: #304d63 !important;
  font-size: 1rem !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.ph-bestsellers__item .ph-bs-card__price {
  display: block !important;
  width: 100% !important;
  margin: .15rem 0 0 !important;
  color: #304d63 !important;
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-card__actions {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: .75rem !important;
  text-align: center !important;
}

.ph-bestsellers__item .ph-bs-card__actions:empty {
  display: none !important;
}

.ph-bestsellers__item .ph-bs-card__actions .btn,
.ph-bestsellers__item .ph-bs-card__actions button,
.ph-bestsellers__item .ph-bs-card__actions .add-to-cart,
.ph-bestsellers__item .ph-bs-card__actions .ajax_add_to_cart_button,
.ph-bestsellers__item .ph-bs-card__actions a.btn {
  max-width: 100% !important;
  width: 100% !important;
  white-space: normal !important;
}

@media (max-width: 767px) {
  .ph-bestsellers__item .ph-bs-card__image {
    height: 190px !important;
    min-height: 190px !important;
  }
}

/* v1.2.4: compact home/category hook output is a one-row carousel. Product-page cards stay clean and focused on product discovery. */
.ph-bs-slider-shell--hook {
  margin-top: .25rem;
}

.ph-bestsellers-slider--hook {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .1rem .1rem .7rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.ph-bestsellers-slider--hook .ph-bestsellers__item {
  flex: 0 0 clamp(190px, 18vw, 230px);
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}

.ph-bestsellers-slider--hook::-webkit-scrollbar {
  height: .55rem;
}

.ph-bestsellers-slider--hook::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(48, 77, 99, .32);
}

.ph-bestsellers-slider--hook::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(48, 77, 99, .08);
}

.ph-bestsellers--product .ph-bestsellers__header {
  align-items: center;
  margin-bottom: .9rem;
}

.ph-bestsellers--product .ph-bestsellers__link {
  display: none !important;
}

.ph-bestsellers--product .ph-bs-card__image {
  height: 96px !important;
  min-height: 96px !important;
  padding: .55rem !important;
}

.ph-bestsellers--product .ph-bs-card__body {
  padding: .7rem .55rem .8rem !important;
}

.ph-bestsellers--product .ph-bs-card__title {
  display: none !important;
}

.ph-bestsellers--product .ph-bs-card__price {
  margin-top: 0 !important;
  font-size: .95rem !important;
}

.ph-bestsellers__item .ph-bs-card__actions,
.ph-bestsellers__item .ph-bs-card__actions * {
  display: none !important;
}

@media (min-width: 1200px) {
  .ph-bestsellers-slider--hook .ph-bestsellers__item {
    flex-basis: 220px;
  }
}

@media (max-width: 767px) {
  .ph-bestsellers-slider--hook .ph-bestsellers__item {
    flex-basis: 72%;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers-slider--hook .ph-bestsellers__item {
    flex-basis: 84%;
  }
}


/* v1.2.5: product-page popular products stay above add-to-cart as a compact one-row carousel. */
.ph-bestsellers--product {
  margin: 1.25rem 0 .85rem;
  overflow: hidden;
}

.ph-bestsellers--product .ph-bestsellers__header {
  margin-bottom: .65rem;
}

.ph-bestsellers--product .ph-bestsellers__title {
  font-size: 1.18rem;
  line-height: 1.2;
}

.ph-bs-slider-shell--product {
  grid-template-columns: 2rem minmax(0, 1fr) 2rem;
  gap: .45rem;
}

.ph-bestsellers-slider--product {
  display: flex !important;
  grid-template-columns: none !important;
  gap: .7rem;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .05rem .05rem .45rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.ph-bestsellers-slider--product .ph-bestsellers__item {
  flex: 0 0 106px !important;
  width: 106px !important;
  max-width: 106px !important;
  min-width: 0 !important;
  float: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}

.ph-bestsellers--product .ph-bestsellers__rank {
  top: .42rem;
  left: .42rem;
  min-width: 1.7rem;
  padding: .22rem .38rem;
  font-size: .74rem;
}

.ph-bestsellers--product .ph-bs-card {
  min-height: 0 !important;
  border-radius: .82rem !important;
}

.ph-bestsellers--product .ph-bs-card__image {
  position: relative !important;
  height: 96px !important;
  min-height: 96px !important;
  padding: .45rem !important;
  overflow: hidden !important;
}

.ph-bestsellers--product .ph-bs-card__body {
  padding: .45rem .45rem .55rem !important;
}

.ph-bestsellers--product .ph-bs-card__title {
  display: none !important;
}

.ph-bestsellers--product .ph-bs-card__price {
  margin-top: 0 !important;
  font-size: .88rem !important;
  line-height: 1.15 !important;
}

.ph-bs-card__hover-title {
  position: absolute;
  inset: auto .35rem .35rem .35rem;
  z-index: 4;
  display: block;
  max-height: calc(100% - .7rem);
  overflow: hidden;
  padding: .45rem .5rem;
  border-radius: .65rem;
  background: linear-gradient(135deg, rgba(48, 77, 99, .96), rgba(19, 31, 43, .92));
  color: #fff;
  font-size: .72rem;
  line-height: 1.12;
  font-weight: 800;
  text-align: center;
  box-shadow: 0 .45rem 1rem rgba(0, 0, 0, .22);
  opacity: 0;
  transform: translateY(.45rem) scale(.96);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}

.ph-bestsellers--product .ph-bs-card:hover .ph-bs-card__hover-title,
.ph-bestsellers--product .ph-bs-card:focus-within .ph-bs-card__hover-title {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.ph-bs-slider-shell--product .ph-bs-slider-btn {
  width: 2rem;
  min-width: 2rem;
  height: 2.6rem;
  border-radius: .75rem;
  font-size: 1.65rem;
}

.ph-bestsellers-slider--product::-webkit-scrollbar {
  height: .42rem;
}

.ph-bestsellers-slider--product::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(48, 77, 99, .28);
}

.ph-bestsellers-slider--product::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(48, 77, 99, .08);
}

@media (min-width: 1200px) {
  .ph-bestsellers-slider--product .ph-bestsellers__item {
    flex-basis: 108px !important;
    width: 108px !important;
    max-width: 108px !important;
  }
}

@media (max-width: 767px) {
  .ph-bestsellers-slider--product .ph-bestsellers__item {
    flex-basis: 34% !important;
    width: auto !important;
    max-width: none !important;
  }

  .ph-bestsellers--product .ph-bs-card__image {
    height: 92px !important;
    min-height: 92px !important;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers-slider--product .ph-bestsellers__item {
    flex-basis: 42% !important;
  }
}

/* v1.2.6: product-page compact carousel has no rank/sold badges and uses high-contrast hover titles. */
.ph-bestsellers--product .ph-bestsellers__rank,
.ph-bestsellers--product .ph-bs-card__sold {
  display: none !important;
}

.ph-bestsellers--product .ph-bs-card {
  position: relative !important;
  overflow: hidden !important;
}

.ph-bestsellers--product .ph-bs-card__image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}

.ph-bestsellers--product .ph-bs-card__hover-title {
  inset: auto .32rem .32rem .32rem !important;
  max-height: calc(100% - .64rem) !important;
  padding: .46rem .52rem !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  background: linear-gradient(135deg, rgba(12, 24, 34, .98), rgba(48, 77, 99, .98)) !important;
  color: #ffffff !important;
  font-size: .72rem !important;
  line-height: 1.15 !important;
  letter-spacing: .01em !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .65) !important;
  box-shadow: 0 .55rem 1.2rem rgba(0, 0, 0, .34) !important;
}

.ph-bestsellers--product .ph-bs-card__hover-title * {
  color: #ffffff !important;
}

.ph-bestsellers--product .ph-bs-card__price {
  text-align: center !important;
}

/* v1.2.7: tighter product-page popular carousel cards and higher-contrast hover label. */
.ph-bestsellers--product .ph-bs-slider-shell--product,
.ph-bestsellers--product .ph-bs-slider-shell--hook {
  grid-template-columns: 1.8rem minmax(0, 1fr) 1.8rem !important;
  gap: .4rem !important;
}

.ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product,
.ph-bestsellers--product .ph-bestsellers-slider--product {
  gap: .55rem !important;
  padding-bottom: .38rem !important;
}

.ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product > .ph-bestsellers__item,
.ph-bestsellers--product .ph-bestsellers-slider--product > .ph-bestsellers__item,
.ph-bestsellers--product .ph-bestsellers-slider--hook > .ph-bestsellers__item {
  flex: 0 0 92px !important;
  width: 92px !important;
  max-width: 92px !important;
  min-width: 92px !important;
}

.ph-bestsellers--product .ph-bs-card {
  border-radius: .72rem !important;
}

.ph-bestsellers--product .ph-bs-card__image {
  height: 78px !important;
  min-height: 78px !important;
  padding: .38rem !important;
}

.ph-bestsellers--product .ph-bs-card__body {
  padding: .34rem .32rem .42rem !important;
}

.ph-bestsellers--product .ph-bs-card__price {
  font-size: .82rem !important;
  line-height: 1.12 !important;
}

.ph-bestsellers--product .ph-bs-card__hover-title {
  inset: .28rem .28rem auto .28rem !important;
  max-height: calc(100% - .56rem) !important;
  padding: .38rem .42rem !important;
  border: 1px solid rgba(48, 77, 99, .45) !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #14354a !important;
  font-size: .66rem !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  box-shadow: 0 .45rem 1rem rgba(20, 53, 74, .22) !important;
  backdrop-filter: blur(2px);
}

.ph-bestsellers--product .ph-bs-card__hover-title,
.ph-bestsellers--product .ph-bs-card__hover-title * {
  color: #14354a !important;
}

.ph-bestsellers--product .ph-bs-slider-btn {
  width: 1.8rem !important;
  min-width: 1.8rem !important;
  height: 2.35rem !important;
  border-radius: .7rem !important;
  font-size: 1.45rem !important;
}

@media (min-width: 1200px) {
  .ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--hook > .ph-bestsellers__item {
    flex-basis: 90px !important;
    width: 90px !important;
    max-width: 90px !important;
    min-width: 90px !important;
  }
}

@media (max-width: 767px) {
  .ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--hook > .ph-bestsellers__item {
    flex: 0 0 30% !important;
    width: auto !important;
    max-width: none !important;
    min-width: 86px !important;
  }

  .ph-bestsellers--product .ph-bs-card__image {
    height: 76px !important;
    min-height: 76px !important;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--hook > .ph-bestsellers__item {
    flex-basis: 36% !important;
  }
}


/* v1.2.8: mobile product carousel repair plus Calligraphy palette refinement. */
.ph-bestsellers,
.ph-bestsellers-page {
  --ph-bs-ink: #17384f;
  --ph-bs-ink-soft: #2f5168;
  --ph-bs-paper: #fffaf2;
  --ph-bs-paper-2: #f7efe5;
  --ph-bs-gold: #b88735;
  --ph-bs-gold-soft: rgba(184, 135, 53, .18);
  --ph-bs-blush: #f3e8ef;
  --ph-bs-line: rgba(23, 56, 79, .32);
  --ph-bs-shadow: rgba(23, 56, 79, .14);
}

.ph-bestsellers-page--gateway,
.ph-bestsellers-page--home-embed {
  color: var(--ph-bs-ink);
}

.ph-bs-hero,
.ph-bs-section--gateway,
.ph-bs-section--curated,
.ph-bs-category-section {
  position: relative;
}

.ph-bs-hero__title,
.ph-bs-section__title,
.ph-bs-category-section__title,
.ph-bestsellers__title {
  color: var(--ph-bs-ink) !important;
  letter-spacing: -.015em;
}

.ph-bs-hero__intro,
.ph-bs-section__subtitle,
.ph-bs-category-section__meta,
.ph-bestsellers-page--home-embed .ph-bs-hero__intro {
  color: rgba(23, 56, 79, .74) !important;
}

.ph-bs-gateway-card--title-only,
.ph-bs-card,
.ph-bestsellers__item .ph-bs-card.js-product-miniature,
.ph-bs-category-section {
  border-color: var(--ph-bs-line) !important;
}

.ph-bs-gateway-card--title-only,
.ph-bs-card,
.ph-bestsellers__item .ph-bs-card.js-product-miniature {
  background:
    linear-gradient(180deg, rgba(255, 250, 242, .98), rgba(255, 255, 255, .98)) !important;
  box-shadow: 0 .55rem 1.55rem var(--ph-bs-shadow) !important;
}

.ph-bs-gateway-card--title-only {
  min-height: 70px;
  border-width: 1px;
  box-shadow: 0 .4rem 1.15rem rgba(23, 56, 79, .08) !important;
}

.ph-bs-gateway-card--title-only .ph-bs-gateway-card__title {
  color: var(--ph-bs-ink) !important;
}

.ph-bs-gateway-card--title-only:hover,
.ph-bs-gateway-card--title-only:focus,
.ph-bs-card:hover,
.ph-bs-card:focus {
  border-color: rgba(184, 135, 53, .62) !important;
  box-shadow: 0 .75rem 1.75rem rgba(23, 56, 79, .18) !important;
}

.ph-bs-gateway-card--title-only::before,
.ph-bs-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(184, 135, 53, .72), transparent);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}

.ph-bs-gateway-card--title-only:hover::before,
.ph-bs-gateway-card--title-only:focus::before,
.ph-bs-card:hover::before,
.ph-bs-card:focus::before {
  opacity: 1;
}

.ph-bs-card__image {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .95), rgba(247, 239, 229, .48) 72%) !important;
}

.ph-bs-card__title,
.ph-bs-card__title a,
.ph-bs-card__price,
.ph-bestsellers__item .ph-bs-card__title,
.ph-bestsellers__item .ph-bs-card__title a,
.ph-bestsellers__item .ph-bs-card__price {
  color: var(--ph-bs-ink) !important;
}

.ph-bs-slider-btn {
  border-color: rgba(23, 56, 79, .22) !important;
  background: linear-gradient(180deg, #ffffff, var(--ph-bs-paper)) !important;
  color: var(--ph-bs-ink) !important;
  box-shadow: 0 .45rem 1.25rem rgba(23, 56, 79, .14) !important;
}

.ph-bs-slider-btn:hover,
.ph-bs-slider-btn:focus {
  border-color: rgba(184, 135, 53, .58) !important;
  background: linear-gradient(180deg, #ffffff, #fff3df) !important;
  color: var(--ph-bs-ink) !important;
}

.ph-bestsellers-slider::-webkit-scrollbar-thumb,
.ph-bestsellers-slider--hook::-webkit-scrollbar-thumb,
.ph-bestsellers-slider--curated::-webkit-scrollbar-thumb,
.ph-bestsellers-slider--product::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, rgba(23, 56, 79, .28), rgba(184, 135, 53, .42), rgba(23, 56, 79, .28)) !important;
}

.ph-bestsellers-slider::-webkit-scrollbar-track,
.ph-bestsellers-slider--hook::-webkit-scrollbar-track,
.ph-bestsellers-slider--curated::-webkit-scrollbar-track,
.ph-bestsellers-slider--product::-webkit-scrollbar-track {
  background: rgba(23, 56, 79, .06) !important;
}

.ph-bs-category-section {
  background:
    linear-gradient(135deg, rgba(255, 250, 242, .78), rgba(255, 255, 255, .96) 48%, rgba(243, 232, 239, .28)) !important;
  box-shadow: 0 .45rem 1.4rem rgba(23, 56, 79, .075);
}

.ph-bestsellers--product {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 1rem !important;
  margin-bottom: .75rem !important;
}

.ph-bestsellers--product .ph-bestsellers__header {
  justify-content: flex-start !important;
  margin-bottom: .5rem !important;
}

.ph-bestsellers--product .ph-bestsellers__title {
  font-size: 1.05rem !important;
  line-height: 1.18 !important;
}

.ph-bestsellers--product .ph-bs-slider-shell--product,
.ph-bestsellers--product .ph-bs-slider-shell--hook {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.ph-bestsellers--product .ph-bestsellers-slider--product,
.ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  gap: .5rem !important;
  padding: .05rem .05rem .35rem !important;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}

.ph-bestsellers--product .ph-bestsellers-slider--product > .ph-bestsellers__item,
.ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product > .ph-bestsellers__item,
.ph-bestsellers--product .ph-bestsellers-slider--hook > .ph-bestsellers__item {
  flex: 0 0 86px !important;
  width: 86px !important;
  max-width: 86px !important;
  min-width: 86px !important;
  box-sizing: border-box !important;
  scroll-snap-align: start;
}

.ph-bestsellers--product .ph-bs-card,
.ph-bestsellers--product .ph-bestsellers__item .ph-bs-card.js-product-miniature {
  width: 100% !important;
  min-width: 0 !important;
  border-radius: .78rem !important;
  background: linear-gradient(180deg, #ffffff, var(--ph-bs-paper)) !important;
}

.ph-bestsellers--product .ph-bs-card__image,
.ph-bestsellers--product .ph-bestsellers__item .ph-bs-card__image {
  height: 72px !important;
  min-height: 72px !important;
  padding: .32rem !important;
  background: #fff !important;
}

.ph-bestsellers--product .ph-bs-card__body,
.ph-bestsellers--product .ph-bestsellers__item .ph-bs-card__body {
  padding: .28rem .25rem .34rem !important;
}

.ph-bestsellers--product .ph-bs-card__price,
.ph-bestsellers--product .ph-bestsellers__item .ph-bs-card__price {
  font-size: .78rem !important;
  line-height: 1.08 !important;
  color: var(--ph-bs-ink) !important;
}

.ph-bestsellers--product .ph-bs-card__hover-title {
  inset: .22rem .22rem auto .22rem !important;
  max-height: calc(100% - .44rem) !important;
  padding: .32rem .36rem !important;
  border: 1px solid rgba(184, 135, 53, .52) !important;
  border-radius: .58rem !important;
  background: linear-gradient(135deg, rgba(23, 56, 79, .96), rgba(47, 81, 104, .94)) !important;
  color: #fffaf2 !important;
  font-size: .62rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .38) !important;
  box-shadow: 0 .45rem 1.05rem rgba(23, 56, 79, .34), inset 0 0 0 1px rgba(255, 250, 242, .08) !important;
}

.ph-bestsellers--product .ph-bs-card__hover-title,
.ph-bestsellers--product .ph-bs-card__hover-title * {
  color: #fffaf2 !important;
}

@media (max-width: 767px) {
  .ph-bestsellers--product {
    overflow: visible !important;
  }

  .ph-bestsellers--product .ph-bs-slider-shell--product,
  .ph-bestsellers--product .ph-bs-slider-shell--hook {
    display: block !important;
    overflow: hidden !important;
  }

  .ph-bestsellers--product .ph-bs-slider-btn {
    display: none !important;
  }

  .ph-bestsellers--product .ph-bestsellers-slider--product,
  .ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product {
    gap: .55rem !important;
    padding-right: .65rem !important;
    padding-bottom: .35rem !important;
  }

  .ph-bestsellers--product .ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--hook > .ph-bestsellers__item {
    flex: 0 0 124px !important;
    width: 124px !important;
    max-width: 124px !important;
    min-width: 124px !important;
  }

  .ph-bestsellers--product .ph-bs-card__image,
  .ph-bestsellers--product .ph-bestsellers__item .ph-bs-card__image {
    height: 88px !important;
    min-height: 88px !important;
    padding: .4rem !important;
  }

  .ph-bestsellers--product .ph-bs-card__price,
  .ph-bestsellers--product .ph-bestsellers__item .ph-bs-card__price {
    font-size: .82rem !important;
  }
}

@media (max-width: 420px) {
  .ph-bestsellers--product .ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--hook.ph-bestsellers-slider--product > .ph-bestsellers__item,
  .ph-bestsellers--product .ph-bestsellers-slider--hook > .ph-bestsellers__item {
    flex-basis: 118px !important;
    width: 118px !important;
    max-width: 118px !important;
    min-width: 118px !important;
  }

  .ph-bestsellers--product .ph-bs-card__image,
  .ph-bestsellers--product .ph-bestsellers__item .ph-bs-card__image {
    height: 84px !important;
    min-height: 84px !important;
  }
}


/* v1.2.9: curated blocks use the same framed presentation as ranked category sections. */
.ph-bs-section--curated.ph-bs-category-section {
  padding: 1.15rem !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(255, 250, 242, .78), rgba(255, 255, 255, .96) 48%, rgba(243, 232, 239, .28)) !important;
  box-shadow: 0 .45rem 1.4rem rgba(23, 56, 79, .075) !important;
}

.ph-bs-section--curated .ph-bs-section__header,
.ph-bs-section--curated .ph-bs-category-section__header {
  margin-bottom: 1rem !important;
}

.ph-bs-section--curated .ph-bs-section__title,
.ph-bs-section--curated .ph-bs-category-section__title {
  font-size: 1.2rem !important;
}

.ph-bs-section--curated .ph-bs-section__subtitle {
  display: block !important;
  margin-top: .25rem !important;
}

.ph-bs-section--curated .ph-bs-slider-shell--curated {
  margin-top: 0 !important;
}

/* v1.3.0: customer-favorites journey intro uses the category-description style treatment. */
.ph-bs-journey-card {
  margin: 0 0 1.35rem !important;
  padding: 0 !important;
}

.ph-bs-journey-card__inner {
  position: relative;
  max-width: 980px;
  padding: 1.15rem 1.35rem 1.18rem;
  border: 1px solid rgba(184, 135, 53, .22);
  border-left: 5px solid rgba(23, 56, 79, .72);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, rgba(255, 250, 242, .98), rgba(255, 255, 255, .98) 52%, rgba(243, 232, 239, .32));
  box-shadow: 0 .7rem 1.85rem rgba(23, 56, 79, .09);
  overflow: hidden;
}

.ph-bs-journey-card__inner::after {
  content: '';
  position: absolute;
  right: -3.5rem;
  top: -4.5rem;
  width: 11rem;
  height: 11rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(184, 135, 53, .18), rgba(184, 135, 53, 0) 68%);
  pointer-events: none;
}

.ph-bs-journey-card__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .45rem;
  color: rgba(23, 56, 79, .82);
  font-size: .72rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ph-bs-journey-card__eyebrow::before {
  content: '✦';
  color: var(--ph-bs-gold, #b88735);
  font-size: .9rem;
  line-height: 1;
}

.ph-bs-journey-card .ph-bs-hero__title {
  margin-bottom: .45rem !important;
}

.ph-bs-journey-card .ph-bs-hero__intro {
  position: relative;
  max-width: 900px !important;
  margin: 0 !important;
  color: rgba(23, 56, 79, .82) !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
}

.ph-bestsellers-page--home-embed .ph-bs-journey-card__inner {
  max-width: none;
}

@media (max-width: 767px) {
  .ph-bs-journey-card__inner {
    padding: 1rem 1rem 1.05rem;
    border-left-width: 4px;
  }

  .ph-bs-journey-card .ph-bs-hero__intro {
    font-size: .95rem !important;
  }
}

/* v1.3.1: product-page hover label returns to a light, high-contrast card treatment. */
.ph-bestsellers--product .ph-bs-card__hover-title {
  inset: .24rem .24rem auto .24rem !important;
  max-height: calc(100% - .48rem) !important;
  padding: .34rem .38rem !important;
  border: 1px solid rgba(23, 56, 79, .36) !important;
  border-radius: .58rem !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 250, 242, .98)) !important;
  color: #14354a !important;
  font-size: .62rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
  box-shadow: 0 .42rem 1rem rgba(23, 56, 79, .22), inset 0 0 0 1px rgba(255, 255, 255, .65) !important;
  backdrop-filter: blur(2px);
}

.ph-bestsellers--product .ph-bs-card__hover-title,
.ph-bestsellers--product .ph-bs-card__hover-title * {
  color: #14354a !important;
}
