/********************
	Part - Containers
********************/

#product #wrapper {
  background: #fff;
  /*padding: 5em 0;*/
}

.product__grid {
  width: 100%;
  margin: 0 auto;
}

/********************
	Part - Product Images
********************/
.product__images__wrapper {
  position: relative;
  padding: 20px 0;
}

.product-cover img {
  width: 100%
}

/********************
	Part - Product flags
********************/
.product__images__wrapper .product-flags {
  position: absolute;
  top: 60px;
  right: 0;
  z-index: 5;
}

/********************
	Part - Product cover
********************/
.product-cover {
  position: relative;
}

/********************
	Part - Product thumbs Images
********************/
.product__thumbnails:not(.product__thumbnails__slider) {
  display: grid;
  grid-gap: 15px;
}

.images-container .thumb-container {
  text-align: center;
  /*background : var(--color-grey-default);*/
}

.product__thumbnails .thumb {
  border: 2px solid transparent;
  cursor: pointer;
  width: 100%;
  min-width: 70%;
  margin: 0 auto;
  padding: 7px;
}

.product__thumbnails .thumb.selected {
  border: 2px solid var(--color-primary);
}

/********************
	Part - Product thumbs Slider
********************/

.product__thumbnails.slick-slider.slick-initialized {
  display: grid !important;
  grid-gap: 10px;
}

.product__thumbnails.slick-slider .slick-arrow {
  position: relative;
}

/********************
	Part - Product title
********************/

.product__main-infos h1 {
  font-size: calc(30px + (32 - 30) * ((100vw - 320px) / (1920 - 320)));
  color: var(--color-primary);
  line-height: 1em;
  text-transform: none;
}

/********************
	Part - Product description short
********************/
#product-description-short {
  color: var(--color-grey-font-default);
}

.product__description-short {
  padding-bottom: 0.5em;
}

.product__description-short p,
.product__description-short p span {
  color: #000 !important;
}

/********************
	Part - Product information
********************/

.product-information {
  font-size: var(--font-size-300);
  color: #000;
}

.product-information > p {
  font-size: .85rem;
  margin-bottom: 1em;
}

.product-information .product__description-short iframe {
  margin-top: 1em;
}

.product-information .manufacturer-logo {
  height: 35px
}

.product-information .product-description img {
  max-width: 100%;
  height: auto
}

/********************
	Part - Product availability + stock
********************/

.availability-stock-container {
  display: flex;
  gap: 10px;
}

/********************
	Part - Product availability
********************/

#product-availability {
  display: inline-flex;
  flex-direction: column;
  gap: 5px;
  font-weight: 700;
  margin-bottom: 0;
}

.stock-element-container {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--color-primary);
  border-left: none;
  border-right: none;
  padding: 15px 0;
}

.stock-element-container ul {
  padding-bottom: 10px;
}

.combinations-messages-container .radio-label {
  box-shadow: none;
}

.combinations-messages-container .input-radio + span {
  transition: all 0.35s ease-in-out;
  border-radius: 5px;
}

.combinations-messages-container .input-radio:checked + span {
  border: 2px solid var(--color-primary);
}

.combinations-messages-container .input-radio:hover + span {
  border-radius: 5px;
}

.product-availability-container span {
  font-size: 15px;
  font-weight: 400;
  color: #000;
}

.product-availability-container .green-available svg path {
  fill: green;
}

.product-availability-container .orange-available svg path {
  fill: orange;
}

.product-availability-container .red-available svg path {
  fill: red;
}

/********************
	Part - Stock
********************/

.stock-attribute-container .stock-attribute {
  font-weight: 600;
  color: var(--color-primary);
  margin-left: 1em;
}

/********************
	Part - Product details
********************/

#product-details .label {
  font-size: 1rem;
  color: var(--color-black-default);
  font-weight: 700
}

/********************
	Part - Product features
********************/
.product-features {
  margin-top: 1.25rem;
  margin-left: .3125rem
}

.product-features > dl.data-sheet {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch
}

.product-features > dl.data-sheet dd.value,
.product-features > dl.data-sheet dt.name {
  flex: 1 0 40%;
  font-weight: 400;
  background: var(--color-grey-default);
  padding: .625rem;
  margin-right: .625rem;
  min-height: 2.5rem;
  word-break: normal;
  text-transform: capitalize;
  margin-bottom: .5rem
}

.product-features > dl.data-sheet dd.value:nth-of-type(2n),
.product-features > dl.data-sheet dt.name:nth-of-type(2n) {
  background: #f6f6f6
}

.s-cross-selling-products .slick-list {
  margin: 0 -27px;
}

.s-cross-selling-products .slick-slide {
  margin: 0 27px;
}

.s-cross-selling-products .slick-slider .slick-arrow {
  z-index: 2;
  top: 50%;
  width: 42px;
  height: 42px;
  border: 1px solid #D4D2CC;
  border-radius: 50%;
}

.s-cross-selling-products .slick-slider .slick-arrow.slick-prev {
  left: -75px;
}

.s-cross-selling-products .slick-slider .slick-arrow.slick-next {
  right: -75px;
}

.s-cross-selling-products .slick-slider .slick-arrow svg {
  stroke: #8E8A7E;
  width: 10px;
  height: 15px;
}

/********************
	Part - Product ref
********************/

.product-reference {
  padding: 0.5em 0;
}

.product-reference label {
  margin-bottom: 0;
}

/********************
	Part - Product variants
********************/

.product-variants {
  border-radius: 5px;
  padding-top: .5em;
}

.product-variants > .product-variants-item select {
  background-color: #fff;
  width: 100%;
  padding-right: 1.875rem;
  /*box-shadow       : 2px 2px 4px 0 rgba(0, 0, 0, .2)*/
}

.product-variants > .product-variants-item .form-control:focus {
  color: #9b9b9b;
}

.product-variants > .product-variants-item ul li {
  margin-right: .625rem
}

.product-variants > .product-variants-item .color {
  margin-left: 0;
  margin-top: 0
}

.products-variants-container {
  border-width: 1px 0;
  border-style: solid;
  border-color: #E8E8E8;
  padding: 2em 0;
}

.products-variants-container .product-variants-item {
  display: flex;
  flex-direction: column;
}

/********************
	Part - Product prices
********************/
.product-prices {
  padding: 0.5rem 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/********************
	Part - Product price
********************/
.product__main-infos .product-price__current-price {
  display: inline-block;
  font-size: var(--font-size-800);
  font-weight: 700;
  color: #000;
  line-height: normal;
}

/********************
	Part - Product unit price
********************/
.product-unit-price {
  font-size: .8125rem;
  margin-bottom: 0
}

/********************
	Part - Product discount
********************/

.product-price .product-discount .discount {
  background: var(--color-primary);
  color: var(--color-white-default);
  font-weight: 600;
  padding: .3125rem .625rem;
  font-size: var(--font-size-300);
  text-transform: uppercase;
  display: inline-block
}

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

/********************
	Part - Product thumb-mask (pack product)
********************/
.thumb-mask > .mask {
  position: relative;
  width: 3.438rem;
  height: 3.438rem;
  overflow: hidden;
  border: 1px solid var(--color-grey-default);
  margin: .625rem 0
}

.thumb-mask > .mask img {
  width: 55px;
  height: 55px
}

/********************
	Part - Product block reassurance
********************/
#block-reassurance {
  margin-top: 1rem
}

#block-reassurance ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

#block-reassurance img {
  width: 1.563rem;
  margin-right: .625rem
}

#block-reassurance li .block-reassurance-item {
  padding: 1rem 1.5rem
}

#product #block-reassurance span {
  font-weight: 700
}

/*
--------------------------------------
Accordions
--------------------------------------
*/

.js-accordion__container .accordion__title.--is-active {
  color: var(--color-primary);
}

.accordion__content__inner {
  background: #fff;
}

/*
--------------------------------------
Add to cart
--------------------------------------
*/

.product-add-to-cart {
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 10px;
}

.product-add-to-cart .add {
  width: 100%;
}

.product-add-to-cart .add-to-cart {
  justify-content: center;
  align-items: center;
  height: 100%;
}

/*
--------------------------------------
Quantité de produits restants
--------------------------------------
*/

.product-qty-container {
  grid-column: 1/-1;
  grid-row: 2;
}

.product-qty-container .product-qty {
  font-size: calc(15px + (17 - 15) * ((100vw - 320px) / (1920 - 320)));
  color: var(--color-primary);
}

/*
--------------------------------------
Available + stock < 0
--------------------------------------
*/

.product-availability-stock-container {
  font-style: italic;
  color: #000;
  margin-top: 1em;
}

/*
--------------------------------------
Cross selling
--------------------------------------
*/

#product section.featured-products {
  background: #fafafa;
  width: 100%;
  padding: 5em 2em;
}

.s-cross-selling-products .section__title {
  justify-content: flex-start;
  border-bottom: 1px solid rgba(38,38,38,0.22);
  max-width: 75%;
  margin: auto;
  padding-bottom: 2em;
}

#product .s-cross-selling-products .products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 15px;
  max-width: 75%;
  padding-top: 3em;
  margin: auto;
}

#product .s-cross-selling-products .products img {
  border-radius: 10px;
}

/*
--------------------------------------
Wishlist
--------------------------------------
*/

#product .wishlist-button-add {
  position: absolute;
  top: 0;
  right: 0;
}

/*
--------------------------------------
Précommande
--------------------------------------
*/

.pre-order-message-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 5px;
  border-top: 2px solid var(--color-primary);
  padding-top: 1em;
}

.pre-order-message {
  display: inline-flex;
  font-size: 18px;
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 7px;
  padding: 0.25em 0.5em;
}

.pre-order-availability {
  font-size: 16px;
  font-style: italic;
  color: var(--color-primary);
}
