/*--------------------------------------------------------------
>>> TABLE OF CONTENTS: PRODUCT CATEGORY
----------------------------------------------------------------
/**
* Categories Titles Search
*/
.products-loop-search__title {
  font-weight: 900;
  font-size: var(--big);
}

/**
 * Product Grid Layout
 */
ul.subcategories {
  margin: 0;
  margin-bottom: 4rem;
  padding: 0;
  display: grid;
  row-gap: 1.25rem;
  column-gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  list-style: none;
  justify-items: stretch;
  align-items: start;
}

ul.subcategories li.product-grid_item {
  list-style: none;
  position: relative;
  justify-self: stretch;
}

ul.subcategories .category-slider__item {
  display: flex;
}

ul.subcategories .category-slider__thumbnail {
  height: unset;
}

/**
* Categories Second Description
*/
.product-category-premium__second-description > div > * {
  width: 50%;
}

.second-description-body h3 {
  margin: 2rem 0 1rem 0;
}
.second-description-body h3:first-child {
  margin: 2rem 0;
}

.second-description-body a {
  font-weight: 700;
  transition: color 295ms var(--bezier);
}

.second-description-body a:hover {
  color: var(--accent-clr);
}

/**
 * Product history title size
 */
.category.premium-category .last-products h2.small {
  font-size: var(--big);
}

/**
* Categories marketing loop - cards
*/
.marketing-grid__item {
  height: 100%;
  position: relative;
}

.marketing-grid__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  border-radius: 8px;
}

.marketing-grid__thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: var(--border);
  border-radius: 8px;
}

.marketing-grid__content {
  padding: 4rem 1.75rem 1.5rem 1.75rem;
  color: var(--text-white-clr);
}

.marketing-grid__content .logo svg {
  width: 100px;
}

.marketing-grid__content h3 {
  font-size: 1.75rem;
  text-shadow: 0px 0px 40px rgb(0 0 0 / 80%);
}

.marketing-grid__item > a .marketing-grid__thumbnail {
  transition: transform 0.295s var(--bezier-nobounce);
}

.marketing-grid__item:hover > a .marketing-grid__thumbnail {
  transform: scale(1.15);
}

.gp-mystery-box svg path:nth-child(n) {
  fill: var(--text-white-clr) !important;
}
.gp-mystery-box svg path:nth-child(3) {
  fill: var(--text-black-clr) !important;
}
.gp-mystery-box svg path:nth-child(n + 4) {
  fill: var(--accent-clr) !important;
}

@media screen and (max-width: 37.5rem) {
  .marketing-grid__item {
    grid-column-start: 1;
    grid-column-end: -1;
    height: calc(100% - 1rem);
    margin-bottom: 2rem;
  }

  .marketing-grid__content {
    padding: 2.5rem 1.75rem 2rem 1.75rem;
  }

  .marketing-grid__content h3 {
    font-size: 1.35rem;
    text-shadow: 0px 0px 40px rgb(0 0 0 / 80%);
  }

  .gp-mystery-box .marketing-grid__thumbnail {
    filter: brightness(0.6);
    object-position: center -180px;
  }

  .mobile .text-favourite-btn .semibold-text {
    display: none;
  }
  .mobile .text-favourite-btn .white-bubble {
    width: 2.75rem;
  }
  .mobile .text-favourite-btn .gpbox-icon.mr-5 {
    margin-right: 0;
  }
}

/**
* Categories marketing loop - divider banner with icons
*/
ul.products {
  grid-auto-flow: row dense;
}

ul.products > .section-icons {
  grid-column-start: 1;
  grid-column-end: -1;

  contain-intrinsic-size: auto 400px;
}

/**
* Categories extra products on product loop - extra products
*/
ul.products > .section-products__extra {
  grid-column-start: 1;
  grid-column-end: -1;

  contain-intrinsic-size: auto 511px;

  border-top: var(--border);
  border-bottom: var(--border);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

ul.products > .section-products__extra .product-gallery-content {
  position: relative;
}

ul.products > .section-products__extra .product-gallery {
  display: flex;
  flex-shrink: 0;

  row-gap: 0;
  column-gap: 0;

  max-width: unset;

  contain-intrinsic-width: unset;
  contain-intrinsic-height: 268px;
}

ul.products > .section-products__extra .product-gallery .product-gallery__item {
  width: 260px !important;
  max-width: 260px !important;
  min-width: 260px !important;
  margin-right: 1.5rem !important;
  flex-shrink: 0;
}

ul.products > .section-products__extra .product-gallery .product-gallery__item .product-gallery__thumbnail {
  height: auto;
}
ul.products > .section-products__extra .product-gallery-content .flex-direction-nav {
  bottom: 1.5rem;
}

ul.products > .section-products__extra .product-gallery .price {
  text-align: left;
}

@media screen and (max-width: 37.5rem) {
  ul.products > .section-products__extra {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;

    contain-intrinsic-size: auto 491px;
  }
  ul.products > .section-products__extra .product-gallery .product-gallery__item {
    margin-right: 0.75rem !important;
    width: 60vw !important;
    max-width: 60vw !important;
    min-width: 60vw !important;
  }
  ul.products > .section-products__extra .product-gallery-content .flex-control-paging {
    bottom: -1.25rem;
  }
}

/**
* Loop pagination
*/
.pagination h2 {
  font-weight: 700;
  font-size: 1rem;
}

@media screen and (max-width: 37.5rem) {
  ul.subcategories {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.5rem;
    column-gap: 1.5rem;
  }

  .header-banner__outline-title.second-description.desktop-only {
    display: none;
  }
}

/**
* Category Reviews from this category
*/
body:not(.mobile) .category-reviews .review-container {
  content-visibility: auto;
  contain-intrinsic-size: auto 285px;
}

.category-reviews .review-container .review-wrapper {
  display: flex;
  flex-shrink: 0;
}

body:not(.mobile) .category-reviews .review-container .review-card {
  width: 400px;
  max-width: 400px;
  min-width: 400px;
  margin-right: 1.5rem;
}

body.mobile .category-reviews .review-container .review-card {
  width: calc(100vw - 1.5rem) !important;
  max-width: calc(100vw - 1.5rem);
  min-width: calc(100vw - 1.5rem);
  margin-right: 1rem;
}

.category-reviews .review-container .review-card {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
}
.category-reviews .review-container .review-text p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.5rem;
}

.category.premium-category .category-reviews h2.small {
  font-size: var(--big);
}
