.product-miniature {
  position      : relative;
  margin        : 0;
  background    : var(--color-grey-default);
  border-radius : 15px;
}

/********************
	Part - Product Image
********************/
.product-miniature .thumbnail-container {
  height         : 100%;
  display        : flex;
  flex-direction : column;
}

.product-miniature .thumbnail-container .product-thumbnail {
  position : relative;
  flex     : 0 0 auto;
  margin   : 0;
}

.product-miniature img {
  display        : block;
  width          : 100%;
  height         : 100%;
  max-width      : 100%;
  object-fit     : contain;
  border-radius  : 15px 15px 0 0;
  mix-blend-mode : darken;
}

.product-miniature.product-unavailable img {
  mix-blend-mode : luminosity;
  opacity        : 0.5;
}

.product-miniature .product-thumbnail.--lazyload {
  position       : relative;
  width          : 100%;
  padding-bottom : 100%;
  height         : 0;
}

.product-miniature .product-thumbnail.--lazyload picture {
  position : absolute;
  top      : 0;
  left     : 0;
  width    : 100%;
  height   : 100%;
}

/********************
	Part - Product flags
********************/
.product-miniature .product-flags {
  display   : flex;
  flex-wrap : wrap;
  gap       : 10px;
}

/********************
	Part - Product description section
********************/

.product-miniature .product-description {
  flex           : 1 0 auto;
  position       : relative;
  width          : 100%;
  display        : flex;
  flex-direction : column;
  padding        : 30px 25px 15px 25px;
}

/********************
	Part - Product Title
********************/
.product-miniature .product-title {
  text-transform : capitalize;
  padding-bottom : 10px;
  margin         : 0;
}

.product-miniature .product-title a {
  color          : var(--color-primary);
  font-size      : 16px;
  font-style     : normal;
  font-weight    : 600;
  line-height    : normal;
  text-transform : initial;
}

/********************
	Part - Product Price
********************/

.miniature-bottom {
  display               : grid;
  grid-template-columns : 1.4fr 1fr;
  margin-top            : auto;
  height                : 100%;
}

.product-miniature .product-price-and-shipping {
  margin-top  : auto;
  color       : var(--color-primary);
  grid-row    : 1 / 3;
  display     : flex;
  column-gap  : 8px;
  align-items : baseline;
  flex-wrap   : wrap;
}

.product-miniature .product-with-discount {
  display     : flex;
  align-items : center;
  margin-top  : 8px;
}

.product-miniature .product-with-discount .discount-product {
  margin-left : 5px;
}

.product-miniature .add-to-cart__wrapper {
  grid-row   : 2 / 5;
  margin-top : auto;
}

.product-miniature .regular-price {
  font-size       : var(--font-size-200);
  color           : var(--color-primary);
  text-decoration : line-through;
  opacity         : 0.65;
}

.product-price-and-shipping .divided-format__price, .product-miniature .product-without-supplier {
  position    : relative;
  color       : var(--color-secondary);
  font-size   : 16px;
  font-style  : normal;
  font-weight : 600;
  line-height : normal;
}

.reference-price-unit_tax {
  font-size : 12px;
}

.reference-price-unit_txt {
  font-size : 14px;
  color     : var(--color-primary);
}

.product-price-and-shipping.--with-discount .divided-format__price {
  color : #00C398;
}

@media (max-width : 575px) {
  .product-miniature .product-price-and-shipping {
    grid-row    : 1;
    grid-column : 1 / -1;
  }

  .product-miniature .add-to-cart__wrapper {
    grid-row    : 2;
    grid-column : 2;
    margin-top  : auto;
  }
}

/********************
	Part - Product Discount
********************/

.product-miniature .discount {
  position        : absolute;
  left            : .635rem;
  top             : .635rem;
  display         : flex;
  justify-content : center;
  align-items     : center;
  background      : var(--color-secondary);
  color           : var(--color-white-default);
  z-index         : 1;
  border-radius   : 5px;
  background      : #00C398;
  padding         : 5px 10px;
  text-align      : center;
  font-size       : 12px;
  font-style      : normal;
  font-weight     : 700;
  line-height     : normal;
  text-transform  : uppercase;
}

.product-miniature .discount-amount,
.product-miniature .discount-percentage {
  color          : var(--color-white-default);
  text-align     : center;
  font-size      : 15px;
  font-style     : normal;
  font-weight    : 500;
  line-height    : normal;
  text-transform : uppercase;
  background     : #00C398;
  padding        : 2px 4px 2px 4px;
  border-radius  : 5px;
  grid-column    : 1;
  grid-row       : 4;
  width          : fit-content;
}

/********************
	Part - Product Highlight
********************/
.highlighted-informations {
  position    : absolute;
  bottom      : 1.25rem;
  padding-top : .625rem;
  z-index     : 0;
  height      : 3.125rem;
  box-shadow  : 0 -5px 10px -5px rgba(0, 0, 0, .2);
  transition  : bottom .3s;
  width       : 100%;
  background  : #f7f7f7;
  text-align  : center;
}

.highlighted-informations .quick-view {
  color     : var(--color-primary);
  font-size : 1rem
}

.highlighted-informations .quick-view:hover {
  color : #2fb5d2
}

.variant-links {
  position    : relative;
  text-align  : center;
  width       : 100%;
  top         : -.25em;
  padding-top : .1875rem;
  min-height  : 2.5rem;
  background  : #fff
}

/********************
	Part - Product Add to cart
********************/
.add-to-cart {
  display         : flex;
  justify-content : center;
  align-items     : center;
  font-size       : 1em;
  font-weight     : 500;
  text-transform  : none;
  line-height     : 1.622em;
  text-align      : center;
  width           : 100%;
  height          : 100%;
  padding         : 11px 25px 13px;
}

.product-miniature.product-unavailable .add-to-cart {
  pointer-events : none;
  opacity        : 0.7;
  cursor         : not-allowed;
  background     : #ABBBC2;
}

.add-to-cart-text {
  margin-left : 0.45em;
}

.add-to-cart__wrapper .bwa__loader {
  font-size : calc(1.286em + 0.64em + 0.64em);
}

.product-miniature .bwa__loader__wrapper {
  display         : flex;
  justify-content : flex-end;
}

/********************
	Part - Product Variantes link
********************/
.product-miniature.product-unavailable .see-combinations {
  pointer-events : none;
  opacity        : 0.7;
  cursor         : not-allowed;
  background     : #ABBBC2;
}

.see-combinations {
  padding       : 11px 25px 13px;
  border-radius : 50px;
  display       : flex;
}

.see-combinations:focus {
  text-decoration : none;
}

/********************
	Part - Product Manufacturer
********************/
.product-manufacturer {
  text-align : center;
}

.product-manufacturer a {
  font-size       : var(--font-size-75);
  min-height      : 1.27em;
  color           : var(--color-primary);
  text-transform  : uppercase;
  text-decoration : none;
  transition      : all .3s;
  padding         : 3px 7px;
}

.product-manufacturer a:hover {
  color : var(--link-color-on-hover);
}

.see-combinations__wrapper {
  display         : flex;
  justify-content : flex-end;
}

/*********************************************************
/ Second img on hover
/*********************************************************/

@media (hover : none) {
  .product-miniature__img-secondary {
    display : none !important;
  }
}

@media (any-hover : hover) {
  .product-miniature .product-miniature__img-secondary {
    background    : var(--color-grey-default);
    visibility    : hidden;
    opacity       : 0;
    transition    : all .3s;
    position      : absolute;
    top           : 0;
    width         : 100%;
    border-radius : 15px 15px 0 0;
  }

  .product-miniature:hover .product-miniature__img-secondary {
    visibility : visible;
    opacity    : 1;
  }
}

.miniature-bottom:has(.product-without-supplier) .discount-percentage.discount-product, .thumbnail-container:has(.product-without-supplier) .discount-percentage-container {
  display : none;
}

.product-unavailable-message,
.product-restricted-message {
  display        : flex;
  flex-direction : column;
  gap            : 10px;
  margin-top     : auto;
}

a.btn.btn-primary.btn-sm.product-contact-btn {
  display         : flex;
  justify-content : center;
  align-items     : center;
}
