/********************
	Part - Breadcrumb
********************/

.breadcrumb__wrapper {
	background: #F6F6EF;
}

/********************
	Part - Product Grid
********************/

.product__grid {
	width: 100%;
	padding-top: 2em;
	margin: 0 auto;
	background: white;
}

/********************
	Part - Product Images
********************/

.product__images__wrapper {
	position: relative;
	padding: 20px 0 3em 0;
}

.sticky__product-images{
	position: sticky;
	top: 65px;
}

.product-cover img {
	mix-blend-mode: darken;
	transition: all 750ms ease-in-out;
	width: 100%
}

.product-cover:hover img {
	transform: scale(1.05);
}

/********************
	Part - Product Wishlist
********************/

.product__images__wrapper .wishlist-button-add {
	position: absolute;
	top: 20px;
}

/********************
	Part - Product flags
********************/

.product__images__wrapper .product-flags {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 5;
}

/********************
	Part - Images
********************/

.images-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 15px;
}

/********************
	Part - Product cover
********************/

.cover__container {
	position: relative;
}

.product-cover {
	background: #F6F6EF;
	border-radius: 25px;
	overflow: hidden;
}

/********************
	Part - Product badges
********************/

.badges-product__container {
	position: absolute;
	top: 15px;
	left: 15px;
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}

/********************
	Part - Product thumbs Images
********************/

.product__thumbnails:not(.product__thumbnails__slider) {
	display: grid;
	grid-column: 1;
	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: 50%;
	margin: 0 auto;
	padding: 7px;
}

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

/********************
	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 - Main info
********************/

.product__main-infos {
	position: relative;
}

/********************
	Part - Product name
********************/

.product-name {
	font-size: var(--font-size-800);
	font-weight: 500;
	line-height: 1;
	margin: 0;
}

/********************
	Part - Product description short
********************/

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

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

.product-information {
	font-size: var(--font-size-300);
	color: var(--color-grey-font-default);
	padding-top: 1em;
}

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

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

/****************************
	Part - Product actions
****************************/

.product-actions {
	padding-top: 1.5em;
}

/************************************
	Part - Product add to cart
************************************/

.select-add-container {
	display: flex;
	gap: 20px;
}

.product-add-to-cart .select-custom #listing_quantity_wanted,
.product-add-to-cart .add-to-cart {
	height: 50px;
}

.product-add-to-cart .select-custom #listing_quantity_wanted {
	margin-right: calc(12px + (20 - 12) * ((100vw - 320px) / (1920 - 320)));
}

.product-add-to-cart .add-to-cart {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(200px + (260 - 200) * ((100vw - 320px) / (1920 - 320)));
}

.product-add-to-cart .add-to-cart-text {
	margin-right: .5em;
}

.product-add-to-cart .add-to-cart svg {
	margin-bottom: 8px;
}

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

#product-availability {
	margin-top: .625rem;
	display: inline-block;
	font-weight: 700;
}

#product-availability .material-icons {
	line-height: inherit;
}

#product-availability .product-available {
	color: #4cbb6c;
}

#product-availability .product-last-items,
#product-availability .product-unavailable {
	color: #ff9a52;
}

/********************
	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
}

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

.product-variants > .product-variants-item {
	margin: 1.25rem 0
}

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

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

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

/**********************************
	Part - Product price/capacity
**********************************/

.price-capacity-container {
	display: flex;
	align-items: center;
}

/********************
	Part - Product prices
********************/

.product-prices {
	padding: 0.75rem 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-600);
	font-weight: 400;
	color: var(--color-tertiary);
	line-height: normal;
}

.current-price-value.has-discount {
	color: var(--color-tertiary);
}

.price-capacity-container .product-price {
	margin-right: 1em;
}

/********************
	Part - Product unit price
********************/

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

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

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

.product-discount .regular-price {
	color: rgba(216, 39, 39, 1);
	text-decoration: line-through;
}

.product-discount.has-discount .discount {
	border-radius: 5px;
}

/********************
	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
}

/******************************
	Style commun
******************************/

.product-element-container {
	margin-top: .5em;
}

/******************************
	Part - Product features
******************************/

.product-page-title-element {
	display: inline-block;
	font-family: var(--typo-secondary);
	font-size: calc(20px + (26 - 20) * ((100vw - 320px) / (1920 - 320)));
	color: var(--color-primary);
	line-height: 1;
	padding-bottom: .5em;
}

.product-features-container .product-feature-item {
	display: grid;
	grid-template-columns: 28% auto;
	line-height: 2.75em;
	border: solid #E8E6DC;
	border-width: 0 0 1px 0;
}

.product-features-container .product-feature-list li:first-of-type {
	border-top: 1px solid #E8E6DC;
}

.product-features-container .product-feature-list li:last-of-type {
	border-bottom: 1px solid #E8E6DC;
}

.product-features-container .product-feature-name {
	color: var(--color-primary);
}

.product-features-container .product-feature-value {
	color: var(--color-secondary);
}

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

.product-description-container {
	padding-top: 1em;
}

.product-description-title-container {
	border-bottom: 1px solid #E8E6DC;
}

.product-description-content-container {
	padding-top: 1em;
}

/********************
	Part - Capacity
********************/

.price-capacity-container .product-feature-item {
	border-left: 1px solid var(--color-secondary);
	padding-left: 1em;
}

/********************
	Part - dégustation
********************/

.tasting-features-container {
	padding-top: calc(16px + (32 - 16) * ((100vw - 320px) / (1920 - 320)));
}

.tab-img-title-container {
	display: grid;
	grid-template-columns: 15% auto;
	grid-column-gap: 10px;
	padding: 1em 0;
	border-top: 1px solid #E8E6DC;
}

.tab-img-title-container:last-of-type {
	border-bottom: 1px solid #E8E6DC;
}

.tab-img-title-container .ets-ept-icon-img-tab {
	width: 100%;
	height: 100%;
}

.tab-img-title-container .tab-item {
	grid-column: 2;
}

/********************
	Part - vintage
********************/

.product__main-infos__wrapper .vintage {
	padding-top: 1em;
}

.vintage__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.vintage__list .vintage-btn {
	font-size: 18px;
	margin-right: 30px;
	margin-bottom: 20px;
	padding: 12px 30px;
	transition: 0.3s ease;
	color: #596330;
	border: 1px solid rgba(52, 55, 39, .6);
	border-radius: 50px;
}

.vintage__list .vintage-btn:not(.current):hover {
	background: var(--color-primary);
	color: white;
}

.vintage__list .vintage-btn.current {
	background: var(--color-secondary);
	color: white;
}


