/********************************************************/
/*
/*      General CSS
/*
/********************************************************/

	/* TEMP: REMOVE WHEN DONE WITH REST OF SITE */
	/* .site-main > div:first-of-type, .woof_products_top_panel_content, .woof_products_top_panel, .woocommerce-notices-wrapper, .woocommerce-result-count, .woocommerce-ordering, ul.products { display: none !important; } */
	/* TEMP */

	/******************************/
	/* Modifier classes
	/******************************/
	/* Layout */
	.flex								{ display: flex; }
	.flex-column						{ flex-direction: column; }
	.justify-start						{ justify-content: start; }
	.justify-center						{ justify-content: center; }
	.justify-end						{ justify-content: end; }
	.justify-around						{ justify-content: space-around; }
	.justify-between					{ justify-content: space-between; }
	.justify-evenly						{ justify-content: space-evenly; }
	.align-start						{ align-items: start; }
	.align-center						{ align-items: center; }
	.align-end							{ align-items: end; }
	
	/* Color */
	.txt-main-1,
	.focus-main-1:is(:hover, :focus) 	{ color: var(--color-main-1) }
	.txt-main-1-200,
	.focus-main-1-200:is(:hover, :focus){ color: var(--color-main-1-200) }
	.txt-main-1-150,
	.focus-main-1-150:is(:hover, :focus){ color: var(--color-main-1-150) }
	.txt-main-1-100,
	.focus-main-1-100:is(:hover, :focus){ color: var(--color-main-1-100) }
	.txt-main-1-75,
	.focus-main-1-75:is(:hover, :focus)	{ color: var(--color-main-1-75) }
	.txt-main-1-50,
	.focus-main-1-50:is(:hover, :focus)	{ color: var(--color-main-1-50) }
	.txt-main-1-50,
	.focus-main-1-50:is(:hover, :focus)	{ color: var(--color-main-1-50) }
	.txt-main-1-25,
	.focus-main-1-25:is(:hover, :focus)	{ color: var(--color-main-1-25) }
	.txt-black,
	.focus-black:is(:hover, :focus)		{ color: var(--color-black) }
	.txt-charcoal,
	.focus-charcoal:is(:hover, :focus)	{ color: var(--color-charcoal) }
	.txt-gray,
	.focus-gray:is(:hover, :focus)		{ color: var(--color-gray) }
	.txt-pale-gray,
	.focus-pale-gray:is(:hover, :focus)	{ color: var(--color-pale-gray) }
	.txt-light-gray,
	.focus-light-gray:is(:hover, :focus)
										{ color: var(--color-light-gray) }
	.txt-light-gray-75a,
	.focus-light-gray-75a:is(:hover, :focus)
										{ color: var(--color-light-gray-75a) }
	.txt-white,
	.focus-white:is(:hover, :focus)		{ color: var(--color-white) }
	
	.bg-main-1 							{ background-color: var(--color-main-1); }
	.bg-main-1-200 						{ background-color: var(--color-main-1-200); }
	.bg-main-1-150 						{ background-color: var(--color-main-1-150); }
	.bg-main-1-100 						{ background-color: var(--color-main-1-100); }
	.bg-main-1-75 						{ background-color: var(--color-main-1-75); }
	.bg-main-1-50 						{ background-color: var(--color-main-1-50); }
	.bg-main-1-25 						{ background-color: var(--color-main-1-25); }
	.bg-black							{ background-color: var(--color-black); }
	.bg-charcoal						{ background-color: var(--color-charcoal); }
	.bg-gray							{ background-color: var(--color-gray); }
	.bg-pale-gray						{ background-color: var(--color-pale-gray); }
	.bg-light-gray						{ background-color: var(--color-light-gray); }
	.bg-light-gray-75a					{ background-color: var(--color-light-gray-75a); }
	.bg-white							{ background-color: var(--color-white); }
	
	/* Text */
	.x-small							{ font-size: var(--font-size-xs); }
	.small								{ font-size: var(--font-size-s); }
	.medium								{ font-size: var(--font-size-m); }
	.large								{ font-size: var(--font-size-l); }
	.x-large							{ font-size: var(--font-size-xl); }
	.xx-large							{ font-size: var(--font-size-2xl); }
	.xxx-large							{ font-size: var(--font-size-3xl); }
	.xxxx-large							{ font-size: var(--font-size-4xl); }
	.xxxxx-large						{ font-size: var(--font-size-5xl); }
	.txt-thin							{ font-weight: 100; }
	.txt-extra-light					{ font-weight: 200; }
	.txt-light							{ font-weight: 300; }
	.txt-regular						{ font-weight: 400; }
	.txt-medium							{ font-weight: 500; }
	.txt-semibold						{ font-weight: 600; }
	.txt-bold							{ font-weight: 700; }
	.txt-extra-bold						{ font-weight: 800; }
	.txt-heavy							{ font-weight: 900; }
	.uppercase							{ text-transform: uppercase; }
	.lowercase							{ text-transform: lowercase; }
	.underline							{ text-decoration: underline; }
	.text-deco-none,
	.text-deco-none > a,
	.text-deco-none > mark > a			{ text-decoration: none; }
	
	/* Spacing */
	.padding-s 							{ padding: var(--padding-s); }
	.padding-m 							{ padding: var(--padding-m); }
	.padding-l 							{ padding: var(--padding-l); }
	.padding-xl 						{ padding: var(--padding-xl); }
	.padding-2xl 						{ padding: var(--padding-2xl); }
	.padding-3xl 						{ padding: var(--padding-3xl); }
	.padding-4xl 						{ padding: var(--padding-4xl); }
	
	.margin-s 							{ margin: var(--margin-s); }
	.margin-m 							{ margin: var(--margin-m); }
	.margin-l 							{ margin: var(--margin-l); }
	.margin-xl 							{ margin: var(--margin-xl); }
	.margin-2xl 						{ margin: var(--margin-2xl); }
	.margin-3xl 						{ margin: var(--margin-3xl); }
	.margin-4xl 						{ margin: var(--margin-4xl); }
	
	/* Alignment */
	.text-center 						{ text-align: center; }
	.vertical-align-container 			{ display: table; }
	.vertical-align-middle 				{ display: table-cell; vertical-align: middle; }
	
	/* Opacity */
	.opaque								{ opacity: 1; }
	.opacity-half						{ opacity: .5; }
	.transparent						{ opacity: 0; }
	
	/* Other */
	.text-deco
	.user-select-none					{ user-select: none; }

	/******************************/
	/* Forms, buttons & inputs
	/******************************/
	.gform_title,
	.gfield_label {
		display: none;
	}
	
	.gfield:not(:last-child) {
		margin-bottom: var(--margin-m);
	}
	
	.ginput_container>input,
	.ginput_container>textarea {
		width: 100% !important;
		font-family: var(--font-main);
		font-weight: 300;
		background-color: var(--color-light-gray);
		border: 0;
		border-bottom: 2px solid #7E7E7E;
		padding: var(--padding-s) calc(var(--padding-s) * .75);
	}
	
	.ginput_container>textarea {
		resize: vertical;
	}
	
	.gform_footer {
		margin-top: var(--margin-s);
	}
	
	.gform_button {
		float: right;
		background: url(../images/arrow_droite_light.svg) no-repeat center right;
		background-size: 16px 16px;
		background-position: 100%; 
		padding-right: 32px;
		margin-right: 32px;
	}
	
	select {
		min-width: 250px;
		background: url(../images/chevron_bas_light.svg) no-repeat right rgba(238, 238, 238, .8);
		background-size: 28px;
		background-position: 92.5%;
		text-align: right;
		padding-right: var(--padding-xl) !important;
		-moz-appearance: none;
		-webkit-appearance: none;
	}
	
	select,
	p.btn>:is(a, span),
	a.btn,
	input[type="button"],
	input[type="submit"],
	label[for*="button"],
	.gform_button {
		padding: calc(var(--padding-s) * 1.5) var(--padding-m);
		border: 0;
		justify-self: center;
		
		transition: background-color .6s;
		background-color: rgba(238, 238, 238, .8);
	}
	
	p.btn>:is(a, span),
	a.btn,
	input[type="button"],
	input[type="submit"],
	label[for*="button"],
	.gform_button {
		text-align: center;
		user-select: none;
	}
	
	.next-btn,
	.prev-btn {
		width: 42px;
		height: 42px;
		border-radius: 100%;
		text-align: center;
		padding: 7px 12px 10px 12px;
		aspect-ratio: 1;
		user-select: none;
		pointer-events: all !important;
		cursor: pointer !important;
		
		transition: background-color .6s;
		background-color: rgba(238, 238, 238, .8);
	}
	
	.next-btn>img,
	.prev-btn>img {
		width: 20px;
		height: auto;
	}
	
	.prev-btn>img {
		rotate: 180deg;
	}
	
	select,
	.btn > a:hover,
	a.btn:hover,
	input[type="button"]:hover,
	input[type="submit"]:hover,
	label[for*="button"]:hover,
	.gform_button:hover,
	.next-btn:hover,
	.prev-btn:hover {
		background-color: rgba(238, 238, 238, 1);
	}
	
	input[type="number"] {
		-webkit-appearance: textfield;
		-moz-appearance: textfield;
		appearance: textfield;
		user-select: none;
	}
	
	input[type=number]::-webkit-inner-spin-button,
	input[type=number]::-webkit-outer-spin-button {
		-webkit-appearance: none;
	}
	
	.number-input {
		display: inline-flex;
		background-color: rgba(238, 238, 238, 0.8);
		padding: 10px 0;
	}
	
	.number-input a {
		background-color: transparent;
		width: 6rem;
		height: 4rem;
		cursor: pointer;
		color: var(--color-charcoal);
		font: var(--stack-content-m);
		font-size: var(--font-size-2xl) !important;
		display: flex;
		justify-content: center;
		align-items: center;
		user-select: none;
	}
	
	.number-input input[type=number] {
		color: var(--color-main-1);
		font: var(--stack-content-m);
		max-width: 8rem;
		padding: 1rem .5rem;
		border: solid var(--color-pale-gray);
		border-width: 0 2px;
		height: 4rem;
		font-weight: 500;
		text-align: center;
		background-color: transparent;
		user-select: none;
	}
	
	.disabled {
		pointer-events: none;
		opacity: 0.5;
	}
	
	.separator-link {
		grid-column: full-start / col-end 11 !important;
		display: flex;
		align-items: end;
		gap: var(--margin-l);
		padding: var(--padding-s) 0;
		margin-bottom: var(--margin-xl);
	}
	
	.separator-link hr {
		flex: 1;
		height: 1px;
		background-color: var(--color-charcoal);
		border: none;
	}
	
	/******************************/
	/* Parts
	/******************************/
	[data-part="subtitle"] {
		font: var(--stack-heading-s);
		margin-bottom: var(--spacing);
	}
	
	[data-part="title"] {
		font: var(--stack-heading-l);
		margin-bottom: var(--spacing);
	}
	
	[data-part="footer"] {
		margin-top: calc(var(--spacing) * 2);
	}
	
	[data-module$="__foot"] {
		margin-top: var(--spacing);
		text-align: center;
	}
	
	[data-module$="__foot"][data-part="action__item"],
	[data-module$="__body"][data-part="action__item"] {
		background-color: var(--color-gray);
		font: var(--stack-action);
		text-transform: uppercase;
		display: inline-block;
		padding-left: 3rem;
		padding-right: 3rem;
		line-height: 6rem;
		border-radius: 4rem;
	}
	
	/******************************/
	/* Singles & archives
	/******************************/
	
	/* Product card */
	.product-card {
		height: 350px;
	}
	
	.product-card br {
		display: none !important;
	}
	
	.product-card, .product-card .product-info {
		display: flex;
		flex-direction: column;
	}
	
	.product-card .product-thumbnail {
		height: 55%;
	}
	
	.product-card .product-info {
		height: 45%;
		justify-content: space-between;
		padding: var(--padding-s);
		gap: calc(var(--margin-s) / 2);
	}
	
	.product-card .product-info .brand {
		text-transform: uppercase;
	}
	
	.product-card .product-info .attributes {
		font-family: var(--font-main);
		font-weight: 500;
		opacity: 0.4;
	}
	
	.product-card .product-info > div {
		margin-top: auto;
		display: flex;
	}
	
	.product-card .product-info :is(.price, .link) {
		display: inline-block;
		width: calc((100% - (var(--padding-s) * 2)) / 2);
		text-align: center;
		font-family: var(--font-alt);
	}
	
	.product-card .product-info .price {
		color: var(--color-charcoal) !important;
		font-size: var(--font-size-m) !important;
		border-right: 1px solid var(--color-charcoal);
	}
	
	.product-card .product-info .link > a {
		font-size: var(--font-size-m);
		font-weight: bold;
	}
	
	/* Product archive  */
	.breadcrumb-categories [data-part="inner"] {
		display: flex;
		flex-direction: column;
		background-color: var(--color-black);
		margin: 0 calc(var(--margin-xl) * 1.25);
		padding: calc(var(--padding-xl) * 1.75) calc(var(--padding-xl) * 1.25) 0;
		margin-bottom: calc(var(--margin-2xl) * 1.5);
		overflow: visible;
	}
	
	.breadcrumb-categories .woocommerce-breadcrumb {
		font: var(--stack-menu-s);
		color: var(--color-light-gray);
		text-transform: uppercase;
		margin-bottom: calc(var(--margin-xl) * 1.75);
		z-index: 5;
	}
	
	.breadcrumb-categories .woocommerce-breadcrumb, .breadcrumb-categories .woocommerce-breadcrumb a {
		font-weight: bold !important;
	}
	
	.breadcrumb-categories .woocommerce-breadcrumb:not(:last-child) {
		margin-bottom: calc(var(--margin-xl) * -1.4);
	}
	
	.woof_search_is_going nav.woocommerce-breadcrumb {
		display: block !important;
	}
	
	.breadcrumb-categories .categories {
		display: flex;
		flex-wrap: nowrap;
		gap: var(--margin-m);
	}
	
	.breadcrumb-categories .category {
		flex: 1;
		aspect-ratio: 1/1;
		max-height: 300px;
		text-align: center;
		transform: translateY(calc(var(--margin-2xl)));
	}
	
	.breadcrumb-categories .category a {
		position: relative;
		height: 100%;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}
	
	.breadcrumb-categories .category .mask {
		background-color: var(--color-main-1);
		position: absolute;
		inset: 0;
		z-index: -1;
		
		transition: filter .6s;
		filter: brightness(1);
	}
	
	.breadcrumb-categories .category .wp-block-image {
		position: absolute;
		inset: 0;
		z-index: -2;
		
		transition: transform .6s;
		transform: scale(1);
	}
	
	.breadcrumb-categories .category:is(:hover, :focus) .wp-block-image {
		transform: scale(1.05);
	}
	
	.breadcrumb-categories .category:is(:hover, :focus) .mask:first-child {
		filter: brightness(0.85);
	}
	
	.breadcrumb-categories .category .wp-block-image + .mask {
		opacity: .4;
		filter: brightness(0.5);
	}
	
	.breadcrumb-categories .category .wp-block-image img {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
	
	.breadcrumb-categories .category :not(.wp-block-image) {
		color: var(--color-light-gray);
	}
	
	.breadcrumb-categories .category :not(.wp-block-image, .mask, :last-child) {
		margin-bottom: var(--margin-s);
	}
	
	.product-loop [data-part="inner"] {
		margin: 0 var(--margin-2xl);
	}
	
	.product-loop [data-part="inner"], .product-loop ul.products {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	
	.product-loop [data-part="inner"] > *:not(.woocommerce-result-count, .woocommerce-ordering, .woocommerce-pagination) {
		width: 100%;
	}
	
	.product-loop [data-part="inner"] > div:first-of-type {
		display: none;
	}
	
	#products-filter-menu {
		display: flex;
		position: sticky;
		top: var(--margin-xl);
		left: calc(var(--grid-pad) + var(--spacing));
		width: max-content;
		max-width: var(--grid-width);
		height: max-content;
		z-index: 10;
	}
	
	#products-filter-menu > label[for="filter-menu-toggle"] {
		display: flex;
		align-items: baseline;
		justify-content: center;
		min-width: 50px;
		width: 50px;
		
		transition: background-color .6s;
		background-color: var(--color-main-1);
	}
	
	#products-filter-menu > label[for="filter-menu-toggle"]:is(:hover, :focus) {
		background-color: var(--color-main-1-150);
	}
	
	#products-filter-menu > label[for="filter-menu-toggle"] > h3 {
		writing-mode: vertical-rl;
		text-orientation: mixed;
		text-transform: uppercase;
		color: var(--color-light-gray);
		transform: rotate(180deg) translateX(1px);
		padding-bottom: 10px;
	}
	
	#products-filter-menu > label[for="filter-menu-toggle"] > h3::after {
		content: "";
		display: inline-block;
		width: 12px;
		height: 30px;
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(271deg) brightness(103%) contrast(103%);
		background: url(../images/arrow_left_light.svg) no-repeat center center;
		
		transition: transform .6s;
		transform: rotate(0deg);
	}
	
	#products-filter-menu > #filter-menu-toggle:checked + label[for="filter-menu-toggle"] > h3::after {
		transform: rotate(180deg);
	}
	
	#products-filter-menu .filter-menu-body {
		background-color: var(--color-pale-gray);
		padding: calc(var(--padding-m) * 2) 0;
		box-sizing: border-box;
		clear: both;
		height: 100%;
		
		display: grid;
		transition: grid-template-columns .5s ease-in-out;
		grid-template-columns: 0fr;
	}
	
	#products-filter-menu > #filter-menu-toggle:checked ~ .filter-menu-body {
		grid-template-columns: 1fr;
	}
	
	#products-filter-menu .filter-menu-body-inner {
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}
	
	#products-filter-menu .filter-menu-body-inner > * {
		width: max-content;
		
		transition: opacity .2s linear, background-color .6s;
		opacity: 0;
	}
	
	#products-filter-menu > #filter-menu-toggle:checked ~ .filter-menu-body > .filter-menu-body-inner > * {
		transition: opacity .2s .4s linear, background-color .6s;
		opacity: 1;
	}
	
	#products-filter-menu .filter-menu-body-inner > .btn {
		margin: var(--margin-l) auto 0;
	}
	
	#products-filter-menu .filter-menu-body-inner > div {
		min-width: max-content;
		width: 100%;
		text-align: left;
		padding: 0 calc(var(--padding-m) * 2) var(--padding-m);
	}
	
	#products-filter-menu .filter-menu-body-inner > div:last-of-type > :last-child {
		border-bottom: 1px solid white;
	}
	
	#products-filter-menu .filter-header {
		display: flex;
		gap: var(--margin-s);
		align-items: center;
		border-top: 1px solid white;
		padding-top: var(--padding-m);
	}
	
	#products-filter-menu .filter-header h6 {
		text-transform: uppercase;
		font-size: var(--font-size-m-ul-px);
	}
	
	#products-filter-menu .filter-header img {
		margin-left: auto;
		
		transition: transform .6s;
		transform: rotate(0deg);
	}
	
	#products-filter-menu .filter-menu-body-inner > [class^="filter-"] > input[type="checkbox"]:checked ~ .filter-header img {
		transform: rotate(180deg);
	}
	
	#products-filter-menu .filter-body {
		display: grid;
		padding: var(--padding-s) 0;
		
		transition: grid-template-rows .5s ease-in-out;
		grid-template-rows: 0fr;
	}
	
	#products-filter-menu .filter-menu-body-inner > [class^="filter-"] > input[type="checkbox"]:checked ~ .filter-body {
		grid-template-rows: 1fr;
	}
	
	#products-filter-menu .filter-body-inner {
		display: flex;
		flex-wrap: wrap;
		gap: var(--margin-s);
		overflow: hidden;
		max-width: calc(var(--grid-width) * .75);
	}
	
	#products-filter-menu .filter-body-inner .filter-clear-all {
		width: 100%;
		font: var(--stack-content-s);
		color: var(--color-charcoal);
	}
	
	#products-filter-menu .filter-body-inner .filter-item {
		width: calc((100% - (var(--margin-s) * 3)) / 4);
	}
	
	#products-filter-menu .filter-body-inner label {
		font: var(--stack-content-m);
		text-transform: uppercase;
		color: var(--color-charcoal);
		
		transition: font-weight 0s;
		font-weight: 300;
	}
	
	#products-filter-menu .filter-body-inner input[type="checkbox"]:checked + label {
		font-weight: 400;
	}
	
	.woocommerce-ordering {
		margin: 0 0 calc(var(--margin-m) * 1.5) auto !important;
	}
	
	.woocommerce-pagination {
		position: relative;
		width: max-content;
		height: 42px;
		margin: 0 auto var(--margin-xl);
	}
	
	.woocommerce-pagination ul {
		border: none !important;
	}
	
	.woocommerce-pagination :is(ul, li, .page-numbers) {
		height: 100%;
		border: none !important;
	}
	
	.woocommerce-pagination .page-numbers:not(.prev, .next) {
		display: flex !important;
		align-items: center !important;
		font-family: 'Fira Sans Condensed';
		font-size: var(--font-size-m);
		
		transition: color .6s;
		color: var(--color-charcoal);
	}
	
	.woocommerce-pagination .page-numbers.current {
		font-size: calc(var(--font-size-m) * 1.4);
	}
	
	.woocommerce-pagination :is(.page-numbers.current, .page-numbers:hover) {
		background: none !important;
		color: var(--color-main-1) !important;
	}
	
	.woocommerce-pagination a:is(.prev, .next) {
		position: absolute;
		font-size: 0px !important;
		pointer-events: all !important;
		cursor: pointer !important;
		padding: 0 !important;
		width: 42px;
		height: 42px;
	}
	
	.woocommerce-pagination a.prev {
		left: calc(var(--margin-xl) * -1);
	}
	
	.woocommerce-pagination a.next {
		right: calc(var(--margin-xl) * -1);
	}
	
	.woocommerce-pagination a:is(.prev, .next)::before {
		content: "";
		display: inline-block;
		background: url(../images/arrow_droite_light.svg) no-repeat center center;
		background-size: 20px;
		width: 100%;
		height: 100%;
		
		transition: filter .6s;
		filter: invert(15%) sepia(62%) saturate(4701%) hue-rotate(295deg) brightness(90%) contrast(108%) saturate(0%);
	}
	
	.woocommerce-pagination a.prev::before {
		rotate: 180deg;
	}
	
	.woocommerce-pagination a:is(.prev, .next):hover::before {
		filter: invert(15%) sepia(62%) saturate(4701%) hue-rotate(295deg) brightness(90%) contrast(108%) saturate(100%);
	}
	
	/* Product single */
	.product-single-page {
		overflow-y: hidden;
	}
	
	.product-single-page>[data-part="inner"] {
		column-gap: var(--spacing);
	}
	
	.product-categories {
		grid-column: 2 / 12;
		padding: var(--padding-2xl) 0 var(--padding-xl);
	}
	
	.product-categories>span {
		font: var(--stack-content-m);
		text-transform: uppercase;
	}
	
	.product-categories>span:not(:last-child) {
		color: var(--color-main-1);
	}
	
	.product-categories>span:not(:last-child):after {
		content: " / ";
		color: var(--color-pale-gray);
	}
	
	.product-categories>span:last-child {
		font-weight: 500;
		color: var(--color-charcoal);
	}
	
	.product-gallery {
		grid-column: 2 / 7;
		border: 1px solid var(--color-light-gray);
		position: relative;
	}
	
	.product-gallery>[data-module="gallery"][data-part="wrap"] {
		column-gap: 0;
		grid-template-columns: unset;
		overflow-x: hidden;
	}
	
	.product-gallery .next-btn,
	.product-gallery .prev-btn {
		border: 1px solid var(--color-charcoal);
		padding: 7px 12px 10px 12px;
		line-height: unset;
	}
	
	.product-gallery>.product-gallery-indicator {
		position: absolute;
		right: 20px;
		bottom: 20px;
		z-index: 1;
	}
	
	.product-gallery>.product-gallery-indicator>div {
		width: 15px;
		height: 15px;
		background-color: transparent;
		border: 1px solid var(--color-pale-gray);
		border-radius: 50%;
		margin-top: 10px;
	}
	
	.product-gallery>.product-gallery-indicator>div.active {
		background-color: var(--color-main-1-25a);
	}
	
	.product-info-purchase-options {
		grid-column: 7 / 12;
	}
	
	.product-brand {
		font-family: var(--font-title);
		font-size: var(--font-size-m-ul-px);
		font-style: normal;
		font-weight: bold;
		color: var(--color-main-1);
		text-transform: uppercase;
		margin-top: 50px
	}
	
	.product-name {
		font: var(--stack-heading-m);
		color: var(--color-charcoal);
	}
	
	.product-price {
		margin-top: 50px;
	}
	
	.sale-price,
	.regular-price {
		font-family: var(--font-main);
		font-size: 24px;
		font-weight: bold;
		color: var(--color-main-1);
	}
	
	.sale-price+.regular-price {
		text-decoration: line-through;
		color: var(--color-charcoal);
		margin-left: var(--margin-m);
	}
	
	.product-colors>p,
	.product-sizes>p,
	.product-formats>p,
	.product-fragrances>p,
	.product-models>p,
	.product-flavors>p,
	.product-info-purchase-options>div:last-child>p {
		font-family: var(--font-title);
		font-size: var(--font-size-m-ul-px);
		font-style: normal;
		color: var(--color-charcoal);
		margin: 20px 0 10px 0;
	}
	
	.product-colors label {
		height: 60px;
		width: 60px;
		border: 2px solid var(--color-pale-gray);
		border-radius: 50%;
		color: transparent;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-right: 2px;
	}
	
	.product-colors input[type="radio"]:checked+label:after {
		font: var(--stack-icn);
		content: "";
		color: var(--color-pale-gray);
		position: absolute;
		font-size: x-large;
	}
	
	.product-colors input[type="radio"] {
		opacity: 0;
		width: 0;
		height: 0;
	}
	
	.product-info-purchase-options {
		position: relative;
	}
	
	.product-info-purchase-options select {
		background: url(../images/chevron_bas_light.svg) no-repeat center right, rgba(238, 238, 238, 0.8);
		background-position-x: 95%;
		background-size: 40px;
		color: var(--color-main-1);
		font: var(--stack-content-m);
		font-weight: 500;
		border: 0;
		text-align: center;
		justify-self: center;
		padding: 15px;
		width: 100%;
		text-transform: uppercase;
		-webkit-appearance: none;
		-moz-appearance: none;
	}
	
	.product-info-purchase-options>div:last-of-type {
		width: 75%;
		position: absolute;
		bottom: 0;
	}
	
	.product-info-purchase-options>div>.number-input {
		width: 27.5%;
	}
	
	.product-info-purchase-options>div>a.btn {
		position: absolute;
		height: calc(4rem + 20px);
		right: 0;
	}
	
	span.product-recommended-categories-title {
		grid-column: 2 / 12;
		text-align: center;
		padding: var(--padding-2xl) 0 var(--padding-l);
		font-family: var(--font-title);
		font-size: var(--font-size-2xl);
		color: var(--color-charcoal);
	}
	
	div[class*='product-recommended-category'] {
		position: relative;
		height: 290px;
		text-align: center;
		color: white;
		background-size: contain;
		background-repeat: no-repeat;
		transform: translateX(0px);
		margin-bottom: var(--margin-xl);
	}
	
	div.product-recommended-category-1 {
		grid-column: 5 / 7;
	}
	
	div.product-recommended-category-2 {
		grid-column: 7 / 9;
	}
	
	div[class*='product-recommended-category'] p:first-child {
		font: var(--stack-heading-s);
		color: var(--color-light-gray);
	}
	
	div[class*='product-recommended-category'] p:last-child {
		font: var(--stack-content-m);
		color: var(--color-light-gray);
	}
	
	div[class*='product-recommended-category']>.opacity-mask {
		position: absolute;
		width: 100%;
		height: 290px;
		background-color: rgba(143, 9, 158, 0.4);
		z-index: -1;
	}
	
	.product-description-specs-other-info {
		background-color: #F1F1F1;
		padding: var(--padding-2xl) 0;
		grid-column: full-start / full-end;
	}
	
	.product-description-specs-other-info>* {
		grid-column: 2 / 12;
	}
	
	a.product-info-header {
		font: var(--stack-heading-m);
		color: var(--color-main-1);
		padding: var(--padding-m) 0;
		border-bottom: 1px solid var(--color-charcoal);
		font-size: var(--font-size-xl);
		z-index: 1;
	}
	
	a.product-info-header:after {
		content: "";
		display: inline-block;
		width: 30px;
		height: 30px;
		transform: translate(-10px, 5px);
		float: right;
		background: url(../images/chevron_bas_light.svg) no-repeat bottom right;
	}
	
	a.product-info-header.open:after {
		background: url(../images/chevron_haut_light.svg) no-repeat bottom right;
	}
	
	.single-product-info {
		height: fit-content;
		padding: 0;
		transition: height .6s ease;
		font: var(--stack-content-m);
		color: #7E7E7E;
	}
	
	.single-product-info * {
		opacity: 0;
		transition: opacity .2s linear;
	}
	
	.single-product-info:not(.product-specs)>*:first-child {
		padding-top: var(--padding-l);
	}
	
	.single-product-info:not(.product-specs)>*:last-child {
		padding-bottom: var(--padding-xl);
	}
	
	.product-specs {
		display: flex;
		flex-wrap: wrap
	}
	
	.product-specs>div {
		padding: var(--padding-l) 0;
	}
	
	.product-specs>div:last-child {
		padding-bottom: var(--padding-xl);
	}
	
	.product-spec-label {
		width: 15%;
		text-transform: uppercase;
	}
	
	.product-spec-label+.product-spec-txt {
		width: 85%
	}
	
	.product-spec-txt {
		width: 100%;
	}
	
	.single-product-info ul {
		list-style: circle;
		list-style-position: inside;
	}
	
	/******************************/
	/* Other
	/******************************/
	
	/* Product tags */
	.promotion-tag,
	.standard-tag {
		display: inline-flex;
		font-family: var(--font-alt);
		font-size: var(--font-size-xs);
		line-height: var(--line-height-xs);
		padding: 4px 8px;
		text-transform: uppercase;
	}
	
	.promotion-tag {
		background-color: var(--color-main-1-25a);
		color: var(--color-main-1);
	}
	
	.standard-tag {
		background-color: var(--color-light-gray-75a);
		color: rgba(0, 0, 0, 0.5);
	}
	
	/* CTA module */
	[data-module="cta"] {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 3;
		
		transition: opacity .4s, transform .6s;
		opacity: 1;
		transform: translateY(0);
	}
	
	[data-module="cta"].hidden {
		transform: translateY(100%);
		opacity: 0;
	}
	
	[data-module="cta"].hidden * {
		pointer-events: none !important;
	}
	
	[data-module="cta"] a.close {
		width: 20px;
		height: 20px;
		filter: brightness(0) saturate(100%) invert(100%) sepia(5%) saturate(278%) hue-rotate(212deg) brightness(115%) contrast(87%);
		pointer-events: all !important;
		cursor: pointer !important;
	}
	
	[data-module="cta"] [data-part="inner"],
	[data-module="cta"] [data-part="inner"]>div {
		display: flex;
		gap: 0;
	}
	
	[data-module="cta"] [data-part="inner"]>div {
		position: relative;
		width: 50%;
		gap: var(--margin-l);
		padding: var(--padding-l);
	}
	
	[data-module="cta"] [data-part="inner"]>div::before {
		content: '';
		position: absolute;
		top: 0;
		width: calc(var(--grid-pad) + var(--grid-gap));
		height: 100%;
	}
	
	[data-module="cta"] [data-part="inner"]>div:first-of-type {
		align-items: center;
		background-color: var(--color-main-1-150);
	}
	
	[data-module="cta"] [data-part="inner"]>div:first-of-type::before {
		left: calc((var(--grid-pad) + var(--grid-gap)) * -1);
		background-color: var(--color-main-1-150);
	}
	
	[data-module="cta"] [data-part="inner"]>div:first-of-type h4 {
		position: relative;
		padding-left: 70px;
	}
	
	[data-module="cta"] [data-part="inner"]>div:first-of-type h4::before {
		position: absolute;
		left: 0;
		top: -5px;
		content: "";
		display: inline-block;
		background: url(../images/shopping_2.svg) no-repeat bottom right;
		width: 40px;
		height: 40px;
		filter: invert(96%) sepia(0%) saturate(407%) hue-rotate(194deg) brightness(117%) contrast(100%);
	}
	
	[data-module="cta"] [data-part="inner"]>div:last-of-type {
		align-items: flex-start;
		background-color: var(--color-main-1);
	}
	
	[data-module="cta"] [data-part="inner"]>div:last-of-type::before {
		right: calc((var(--grid-pad) + var(--grid-gap)) * -1);
		background-color: var(--color-main-1);
	}
	
	[data-module="cta"] :is(h4, p) {
		color: var(--color-light-gray);
	}
	
	[data-module="cta"] a.next-btn {
		margin-left: auto;
	}
	
	/* Newsletter */
	[data-module="newsletter"]>div {
		position: relative;
		grid-column: inner-start / inner-end;
		/* background: var(--color-main-1) linear-gradient(270deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.5) 100%); */
		padding: calc(var(--padding-xl) * 1.2) 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	
	[data-module="newsletter"]>div::before,
	[data-module="newsletter"]>div::after {
		content: '';
		position: absolute;
		left: calc((var(--grid-pad) + var(--grid-gap)) * -1);
		top: 0;
		width: var(--viewport-width);
		height: 100%;
	}
	
	[data-module="newsletter"]>div::before {
		background: var(--color-main-1);
	}
	
	[data-module="newsletter"]>div::after {
		background: linear-gradient(270deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.5) 100%);
	}
	
	[data-module="newsletter"]>div > * {
		z-index: 1;
	}
	
	[data-module="newsletter"] p {
		margin: 20px 0 50px 0;
		color: white;
	}
	
	[data-module="newsletter"] .gfield_label,
	[data-module="newsletter"] .gform_button {
		display: none !important;
	}
	
	[data-module="newsletter"] input[type="email"] {
		display: block;
		min-width: 500px;
		width: 100%;
		margin-bottom: 50px;
		text-align: left;
		padding: 10px;
		font: var(--stack-content-s);
		color: var(--color-main-1);
	}
	
	[data-module="newsletter"] .btn {
		display: block;
		margin: 0 auto;
		width: fit-content;
	}
	
	[data-module="newsletter"] .btn:after {
		content: "";
		display: inline-block;
		width: 60px;
		height: 12px;
		background: url(../images/arrow_droite_light.svg) no-repeat bottom right;
	}
	
	/* Product color definitions */
	.product-colors label[for="Anthracite"] {
		background-color: #303030;
		color: transparent;
		border: 2px solid hsl(0, 0%, 12%);
	}
	
	.product-colors label[for="Argent"] {
		background-color: #C0C0C0;
		color: transparent;
		border: 2px solid hsl(0, 0%, 65%);
	}
	
	.product-colors label[for="Beige"] {
		background-color: #EBD9BE;
		color: transparent;
		border: 2px solid hsl(36, 53%, 73%);
	}
	
	.product-colors label[for="Blanc"] {
		background-color: #FFFFFF;
		color: transparent;
		border: 2px solid hsl(0, 0%, 60%);
	}
	
	.product-colors label[for="Bleu"] {
		background-color: #318CE7;
		color: transparent;
		border: 2px solid hsl(210, 79%, 45%);
	}
	
	.product-colors label[for="Bleu Minuit"] {
		background-color: #191970;
		color: transparent;
		border: 2px solid hsl(240, 64%, 20%);
	}
	
	.product-colors label[for="Bleu poudre"] {
		background-color: #B0E0E6;
		color: transparent;
		border: 2px solid hsl(187, 52%, 70%);
	}
	
	.product-colors label[for="Bleuet"] {
		background-color: #7394EE;
		color: transparent;
		border: 2px solid hsl(224, 78%, 60%);
	}
	
	.product-colors label[for="Bordeaux"] {
		background-color: #6D071A;
		color: transparent;
		border: 2px solid hsl(349, 88%, 13%);
	}
	
	.product-colors label[for="Bourgogne"] {
		background-color: #800020;
		color: transparent;
		border: 2px solid hsl(345, 100%, 15%);
	}
	
	.product-colors label[for="Bronzé"] {
		background-color: #B08D57;
		color: transparent;
		border: 2px solid hsl(36, 36%, 42%);
	}
	
	.product-colors label[for="Corail"] {
		background-color: #FF7F50;
		color: transparent;
		border: 2px solid hsl(16, 100%, 60%);
	}
	
	.product-colors label[for="Émeraude"] {
		background-color: #01D758;
		color: transparent;
		border: 2px solid hsl(144, 99%, 32%);
	}
	
	.product-colors label[for="Framboise"] {
		background-color: #C72C48;
		color: transparent;
		border: 2px solid hsl(349, 64%, 38%);
	}
	
	.product-colors label[for="Gris"] {
		background-color: #CECECE;
		color: transparent;
		border: 2px solid hsl(0, 0%, 71%);
	}
	
	.product-colors label[for="Indigo"] {
		background-color: #4B0082;
		color: transparent;
		border: 2px solid hsl(275, 100%, 20%);
	}
	
	.product-colors label[for="Jaune"] {
		background-color: #FFFF00;
		color: transparent;
		border: 2px solid hsl(60, 100%, 40%);
	}
	
	.product-colors label[for="Lilas"] {
		background-color: #B666D2;
		color: transparent;
		border: 2px solid hsl(284, 55%, 51%);
	}
	
	.product-colors label[for="Mauve"] {
		background-color: #E0B0FF;
		color: transparent;
		border: 2px solid hsl(276, 100%, 75%);
	}
	
	.product-colors label[for="Noir"] {
		background-color: #000000;
		color: transparent;
		border: 2px solid hsl(0, 0%, 15%);
	}
	
	.product-colors label[for="Rose"] {
		background-color: #FD6C9E;
		color: transparent;
		border: 2px solid hsl(339, 97%, 65%);
	}
	
	.product-colors label[for="Rose métallique"] {
		background-color: #B76E79;
		color: transparent;
		border: 2px solid hsl(351, 34%, 47%);
	}
	
	.product-colors label[for="Rose/Lavande"] {
		background-color: #FBA0E3;
		color: transparent;
		border: 2px solid hsl(316, 92%, 75%);
	}
	
	.product-colors label[for="Rouge"] {
		background-color: #FF0000;
		color: transparent;
		border: 2px solid hsl(0, 100%, 40%);
	}
	
	.product-colors label[for="Rouge vin"] {
		background-color: #955264;
		color: transparent;
		border: 2px solid hsl(344, 29%, 35%);
	}
	
	.product-colors label[for="Turquoise"] {
		background-color: #40E0D0;
		color: transparent;
		border: 2px solid hsl(174, 72%, 46%);
	}
	
	.product-colors label[for="Vert"] {
		background-color: #3A9D23;
		color: transparent;
		border: 2px solid hsl(109, 64%, 28%);
	}
	
	.product-colors label[for="Vin"] {
		background-color: #AC1E44;
		color: transparent;
		border: 2px solid hsl(344, 70%, 30%);
	}
	
	.product-colors label[for="Violet"] {
		background-color: #7F00FF;
		color: transparent;
		border: 2px solid hsl(270, 100%, 40%);
	}
	
	/* Couleurs manquantes: Fleurie */