@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Teachers:ital,wght@0,400..800;1,400..800&display=swap');

:root {
	--gris: #CCC;
	--grisC: rgba(0, 0, 0, .05);
	--teachers: "Teachers", sans-serif; /* WEIGHT : 500 (400...800) */
	--dm: "DM Sans", sans-serif; /* WEIGHT : Normal (Light) 300 | Bold 700 (100...1000) */
	--LH: 22pt;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: auto;
	/*margin-top: 80px;*/
	margin-bottom: 0;
	font-family: var(--dm);
	font-size: 12pt;
	font-weight: 300;
	line-height: var(--LH);
	overflow-x: hidden;
}

.material-icons-outlined {
	font-family: 'Material Icons Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';
}

.material-icons-round {
	font-family: 'Material Icons Round';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';
}

/*
 * GLOBAL
 */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--teachers);
	/*font-weight: 900;*/
	font-weight: 500;
	margin: 0;
	margin-bottom: 50px;
}

h1, h2.h1 {
	font-size: 30pt;
}

main h1, main h2.h1 {
	color: #000;
	line-height: 40pt;
}

.content {
	width: 100%;
	margin: auto;
	position: relative;
	padding: 25px;
}

.content.noPaddingTop {
	padding-top: 0;
}

main .content, footer .content {
	padding-top: 50px;
	padding-bottom: 50px;
}

p {
	margin: 0;
	font-weight: 300;
	color: #000;
}

p strong, ul.classic li strong {
	font-weight: 600;
}

p a, ul.classic li a, label a {
	color: #000;
	text-decoration: underline;
	transition: all .25s ease;
}

p a:hover, p a:focus, ul.classic li a:hover, ul.classic li a:focus, label a:hover, label a:focus {
	text-decoration: none;
}

p + ul.classic, ul.classic + p {
	margin-top: 25px;
}

.wrapper {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 50px;
}

.wrapper + .wrapper, .wrapper + h2.h1, p + h2.h1, .wrapper + .subCatLink {
	margin-top: 50px;
}

.center {
	text-align: center;
}

.black {
	color: #000 !important;
}

.cta {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 25px;
	padding-right: 25px;
	border-radius: 25px;
	max-width: 200px;
	height: 50px;
	border: 1px solid #000;
	color: #000;
	text-decoration: none;
	transition: all .4s ease;
}

.cta:hover, .cta:focus {
	background: #000;
	color: #FFF;
}

.cta.center {
	margin: auto;
	margin-top: 25px;
}

p + .cta {
	margin-top: 40px;
}

/*
 * HEADER
 */
header {
	width: 100%;
	height: 100px;
	/*box-shadow: 0 2px 15px 5px rgba(70, 70, 70, .1);*/
	filter: drop-shadow(0 2px 15px rgba(70, 70, 70, .1));
	position: fixed;
	top: 0;
	z-index: 500;
	background: #000;
	/*box-shadow: 0 5px 0 0 #FFF;*/
}

header .content {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0;
}

header .content > a:first-child {
	width: 244px;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 0;
	justify-content: center;
}

.logo {
	width: 244px;
	height: 90px;
	background: transparent url("images/logo_header.webp") center no-repeat;
	background-size: 100%;
	text-decoration: none;
}

header .content .logo + div {
	padding-right: 5px;
	position: relative;
	z-index: 150;
	width: calc(100% - 105px);
	height: 100px;
	margin-left: -5px;
	gap: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 10px;
}

header .content > a:first-child span:first-of-type {
	font-family: var(--style);
	color: var(--beige);
	font-size: 22pt;
}

header .content > a:first-child span:last-of-type {
	color: #000;
	font-size: 10pt;
}

/*
 * MENU
 */
#boutonMenu {
	font-size: 20pt;
	font-family: var(--dm);
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all .5s ease;
	color: #FFF;
}

#close {
	width: 50px;
	height: 50px;
	position: absolute;
	right: 0;
	top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #FFF;
	font-size: 30pt;
	transition: all .5s ease;
}

#close:hover, #close:focus, #boutonMenu:hover, #boutonMenu:focus {
	color: var(--gris);
}

/*
 * MENU
 */
nav {
	display: none;
	align-items: flex-start;
	flex-direction: column;
	position: fixed;
	z-index: 2000;
	height: 100vh;
	overflow-y: auto;
	/*background: #000;*/
	width: 80%;
	max-width: 600px;
	background: #000;
	right: 0;
	top: 0;
	padding-bottom: 25px;
}

nav ul {
	display: flex;
	list-style: none;
	flex-direction: column;
	align-items: center;
	margin-top: 100px;
	padding-left: 0;
	height: auto;
	width: 100%;
	gap: 20px;
}

nav ul li {
	width: 100%;
	min-height: 50px;
	height: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

nav ul li a {
	width: auto;
	height: 50px;
	display: flex;
	align-items: center;
	padding-left: 50px;
	padding-right: 25px;
	text-decoration: none;
	color: #FFF;
	border-radius: 25px;
}

nav ul li a.actif {
	color: #000;
	background: #FFF;
	border-radius: 0 25px 25px 0;
	
}

nav ul li a:not(.actif):hover, nav ul li a:not(.actif):focus {
	color: var(--gris);
}

/* 
 * SOUS-MENU
 */
nav ul li ul {
	display: none;
	width: calc(100% - 25px);
	margin-top: 0;
	margin-left: 25px;
}

li.titreCat a:first-of-type {
	padding-left: 25px;
	border-radius: 0;
	width: calc(100% - 25px);
	border-left: none;
	margin-left: 25px;
	font-weight: 700;
}

nav ul li ul li a {
	margin-left: 50px;
	border-left: 1px solid var(--gris);
	padding-left: 25px;
	border-radius: 0;
}

/*nav ul li:hover ul {
	display: none;
}*/

#shortcuts {
	display: flex;
	gap: 20px;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	height: 50px;
	margin: auto;
	margin-top: 0;
}

#shortcuts form {
	width: auto;
	display: flex;
}

#shortcuts input[type="text"] {
	width: 200px;
	border: 0;
	border-bottom: 1px solid var(--gris);
	padding-left: 5px;
	padding-right: 5px;
	padding-top: 15px;
	font-family: var(--dm);
	font-weight: 300;
	font-size: 12pt;
	color: #FFF;
	height: 50px;
	background: #000;
	outline: 0;
}

#shortcuts input[type="text"]:hover, #shortcuts input[type="text"]:focus {
	border-color: #FFF;
}

#shortcuts input[type="submit"] {
	font-family: 'Material Icons Outlined';
	width: 50px;
	height: 50px;
	font-size: 24px;
	color: #FFF;
	padding-top: 15px;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	cursor: pointer;
	outline: 0;
	transition: all .5s ease;
}

#shortcuts a {
	color: #FFF;
	width: 50px;
	height: 50px;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transition: all .5s ease;
}

#nbArticles {
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 7pt;
	background: var(--beige);
	color: #FFF;
	font-weight: 300;
	border-radius: 50%;
	padding-top: 1px;
	position: absolute;
	top: 5px;
	right: 0;
}

#shortcuts a:hover, #shortcuts a:focus, #shortcuts .actif {
	color: var(--gris);
}

/*#nbArticles {
	right: calc(50% - 25px);
}*/

/*
 * Icône du téléphone
 *
#shortcuts a:last-child {
	margin-left: 5px;
}*/

/*
 * SHADOW (OUVERTURE DU MENU), BOX ADMIN & OPTIONS DE PERSONNALISATION
 */
#shadow, .shadow {
	width: 100%;
	height: calc(100vh - 80px);
	position: fixed;
	top: 80px;
	left: 0;
	z-index: 400;
	background: rgba(0, 0, 0, .25);
	backdrop-filter: blur(8px);
	display: none;
}

/*
 * SHADOW BACKGROUND OPTIONS DE PERSONNALISATION
 */
.shadow {
	height: 100vh;
	top: 0;
	z-index: 1000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 25px;
	overflow-y: auto;
}

.box.cart {
	width: 100%;
	max-width: 800px;
	max-height: 90vh;
	padding: 25px;
	background: #FFF;
	box-shadow: 0 10px 15px -5px rgba(0, 0, 0, .25);
	overflow-y: auto;
	position: relative;
}

.box.cart > .closeBox {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22pt;
	color: #000;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
	transition: all .25s ease;
}

.box.cart > .closeBox:hover, .box.cart > .closeBox:focus {
	color: var(--beige);
}

.box.cart .ok {
	background: rgba(24, 142, 42, .07);
	color: rgba(24, 142, 42, .85);
	border: 1px solid rgba(24, 142, 42, .25);
	padding: 5px;
}

.box.cart .ok span {
	color: rgba(24, 142, 42, .85);
	margin-right: 5px;
}

.box.cart h3 {
	margin-bottom: 25px;
	color: var(--beige);
}

.box.cart p span {
	color: var(--beige);
	vertical-align: text-bottom !important;
}

.box.cart textarea {
	margin-top: 25px;
}

.box.cart form {
	margin-top: 25px;
}

.box.cart .cta {
	margin: auto;
	margin-top: 25px;
}

.optionsBoxes {
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 25px;
	flex-wrap: wrap;
}

.optionsBoxes label {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
	min-height: 50px;
	padding-left: 25px;
	padding-right: 25px;
	background: #F1F1F1;
	cursor: pointer;
	transition: all .5s ease;
}

.optionsBoxes input {
	margin-right: 7px !important;
}

.optionsBoxes label:hover, .optionsBoxes label:focus {
	background: #000;
	color: #FFF;
}
/*
 * BACKGROUND
 */
#picture {
	width: 100%;
	height: 380px; /* 80px perdus à cause de la barre de navigation => hauteur réelle = 300px */
	position: relative;
}

#picture::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, .15);
}

#picture .content {
	z-index: 100;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
	flex-direction: column;
}

#picture h1 {
	color: #FFF;
	font-size: 30pt;
	line-height: 40pt;
	text-align: center;
	text-shadow: 0 2px 5px rgba(0, 0, 0, .25);
	margin-bottom: 0;
	margin-top: 80px;
}

#picture a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	padding-left: 25px;
	padding-right: 25px;
	line-height: 50px;
	border-radius: 25px;
	max-width: 200px;
	height: 50px;
	background: #FFF;
	color: #000;
	text-decoration: none;
	position: relative;
	z-index: 100;
	box-shadow: 0 2px 10px 0px rgba(0, 0, 0, .25);
	transition: all .5s ease;
}

#picture a:hover, #picture a:focus {
	background: #000;
	color: #FFF;
	/*box-shadow: 0 2px 20px 10px rgba(0, 0, 0, .25);*/
}

#picture.home {
	height: 100vh;/*calc(100vh - 80px);*/
	background: url("images/salon_jardin_moderne.webp") bottom no-repeat;
	background-size: cover;
}

#picture.catalogue {
	background: url("images/salon_jardin_moderne.webp") top no-repeat;
	background-size: cover;
}

#picture.contact {
	background: url("images/salon_jardin_moderne.webp") top no-repeat;
	background-size: cover;
}

#picture.recherche{
	background: url("images/salon_jardin_moderne.webp") top no-repeat;
	background-size: cover;
}

/*#logo::after {
	content: '';
	width: 100px;
	height: 200%;
	display: block;
	background: #FFF;
	position: absolute;
	left: 180px;
	top: -50px;;
	transform: rotateZ(25deg);
}*/

/*
 * MAIN
 */
main {
	width: 100%;
}

/*
 * COUP DE COEUR
 */
#cdc {
	background: var(--grisC);
}

#cdc .content {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.cdcPic {
	position: relative;
	width: 100%;
	max-width: 800px;
}

#cdc img {
	width: 100%;
	max-width: 800px;
	margin: auto;
	display: block;
}

.cdcTitre {
	height: 50px;
	border-radius: 25px;
	width: auto;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 5px;
	background: #000;
	position: absolute;
	top: -25px;
	right: 20px;
	color: #FFF;
}

article .cdcTitre {
	position: relative;
	top: auto;
	right: auto;
	width: auto;
	display: inline-flex;
	margin-top: 20px;
}

#cdc .cdcText {
	width: 100%;
}

/*
 * Coup de coœur sur les vignettes du catalogue
 */
.cdcThumb {
	position: absolute;
	top: 10px;
	right: 0;
	height: 50px;
	width: 100%;
	max-width: 250px;
	border-radius: 25px 0 0 25px;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	color: #FFF;
}

.cdcThumb p {
	font-weight: 700;
	font-size: 12pt;
	color: #FFF;
}

.assets {
	flex-wrap: wrap;
}

.asset {
	width: 100%;
	max-width: 360px;
	flex-direction: column;
	align-items: center;
}

.asset span {
	color: var(--beige);
	font-size: 48px;
	display: block;
	margin-bottom: 5px;
	text-align: center;
}

.asset .titre, .asset p {
	text-align: center;
}

.asset .titre {
	font-family: var(--teachers);
	color: #000;
	font-size: 16pt;
	font-weight: 400;
	margin-bottom: 25px;
}

.valeurs {
	background: #000;
}

.valeurs strong, .valeurs span {
	color: #FFF;
}

.valeurs .content {
	display: flex;
	gap: 40px;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}

.valeurs .valeur {
	width: 140px; /* auto */
	/*max-width: 150px;*/
	text-align: center;
}

.valeur span {
	margin: auto;
	display: block;
	margin-bottom: 20px;
}

.valeur strong {
	font-weight: 300;
}

.wrapper.encart {
	background: rgba(0, 0, 0, .05);
	align-items: stretch;
	justify-content: space-between;
	padding-top: 0;
	flex-direction: column;
}

p + .wrapper.encart {
	margin-top: 50px;
}

.encart .thumb {
	width: 100%;
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	order: 1;
	overflow: hidden;
	border: 0;
	text-decoration: none;
	margin-top: 0;
}

.encart .thumb img {
	width: auto;
	/*min-width: 100%;*/
	min-height: 300px;
	/*height: auto;*/
	max-width: 200%;
	transition: all .5s ease;
}

.encart .catContent {
	/*width: calc(100% - 550px);*/
	width: 100%;
	padding: 50px;
	padding-top: 0;
	padding-bottom: 30px;
	order: 2;
}

.encart:hover img, .encart:focus img {
	transform: scale(1.1);
}

.catContent a {
	display: flex;
	align-items: center;
	height: 50px;
	text-decoration: none;
	font-weight: 700;
	color: #000;
	margin-top: 25px;
	transition: all .5s ease;
}

.catContent a span {
	margin-left: 7px;
	vertical-align: middle;
	font-size: 18px;
	margin-top: 2px;
	transition: all .5s ease;
}

.catContent a:hover span, .catContent a:focus span {
	transform: translateX(8px);
}

.encart:nth-of-type(odd) .thumb {
	order: 1;
}

.encart:nth-of-type(odd) .catContent {
	order: 2;
}

/*#a-propos {
	background: #000;
}

#a-propos h2, #a-propos p {
	color: #FFF;
}*/

.wrapper.presentation {
	align-items: center;
}

.wrapper.presentation img {
	width: 100%;
	height: auto;
	display: block;
	margin: auto;
	max-width: 600px;
	order: 2;
}

.presentationContent {
	order: 1;
	background: var(--grisC);
	padding: 50px;
}

/*#a-propos + .valeurs {
	background: var(--grisC);
}

#a-propos + .valeurs span, #a-propos + .valeurs strong {
	color: #000;
}*/

/*
 * REVIEWS
 */
#reviews .content:first-child {
	padding-bottom: 0;
}
#reviews {
	padding-bottom: 50px;
}
.reviewsZone {
	width: 100%;
	display: flex;
	align-items: center;
	position: relative;
}

.carouselContent {
	width: 100%;
	display: flex;
	align-items: flex-start;
	gap: 50px;
	flex-wrap: nowrap;
	overflow: hidden;
	overflow-x: auto;
	max-width: 1300px;
	margin: auto;
	padding-left: 50px;
	padding-right: 75px;
}

.review {
	width: 100%;
	min-width: 100%;
	max-width: 360px;
	padding-left: 15px;
	padding-right: 15px;
}

.navigation {
	position: absolute;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background: #000;
	color: #FFF;
	top: 50%;
	margin-top: -25px;
	transition: all .25s ease;
}

.navigation:hover, .navigation:focus {
	background: var(--gris);
	color: #000;
}

.navigation.goPrev {
	border-radius: 0 25px 25px 0;
	left: 0;
}

.navigation.goNext {
	border-radius: 25px 0 0 25px;
	right: 0;
}

.review .note {
	color: #F7AB3D;
	margin-top: 5px;
}

.review .author {
	font-weight: 600;
	display: block;
}

.review .author + p {
	color: #999;
	font-size: 10pt;
}

/*
 * CATALOGUE PRODUITS
 */
.ariane {
	margin-bottom: 25px;
}

.catalogueFull {
	width: 100%;
	justify-content: space-between;
	flex-direction: column;
	gap: 0;
}

.filtres {
	width: 100%;
	display: flex;
	gap: 25px;
	flex-wrap: wrap;	
}
	
.filtres h4 {
	width: 100%;
	margin-bottom: 0;
}

.filtres h4 span {
	vertical-align: middle;
	margin-right: 7px;
}
	
.filtres ul {
	margin-top: 0;
	padding-left: 0;
	list-style: none;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	justify-content: center;
	/*margin-bottom: 0;*/
	margin-bottom: 20px;
}
	
.filtres ul li a {
	width: auto;
	height: 50px;
	border-radius: 25px;
	padding-left: 25px;
	padding-right: 25px;
	border: 1px solid rgba(0, 0, 0, .1);
	color: #000;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all .4s ease;
}
	
.filtres ul li a:not(.actif):hover, .filtres ul li a:not(.actif):focus {
	background: rgba(0, 0, 0, .1);
	border-color: transparent;
}

.filtres ul li a.actif {
	background: #000;
	color: #FFF;
}

.catalogueContent {
	width: 100%;
	padding-top: 50px;
	border-top: 1px solid rgba(0, 0, 0, .1);
	padding-left: 0;
}

.wrapper.products {
	flex-wrap: wrap;
}

.wrapper.products + h3, .wrapper.products + .subCatLink {
	margin-top: 50px;
}

.subCatLink {
	text-decoration: none;
	display: block;
	color: #000;
}

.wrapper.products.border {
	padding-bottom: 50px;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
}

.wrapper.products.cart {
	gap: 100px;
}

h3.subCat {
	/*background: var(--beige);
	color: #FFF;
	width: auto !important;
	display: inline-block;
	padding-left: 25px;
	padding-right: 25px;
	height: 50px;
	line-height: 50px;*/
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	font-weight: 400;
	font-size: 12pt;
	padding-bottom: 10px;
	text-transform: uppercase;
}

/*.wrapper.products h3 {
	color: var(--beige) !important;
}*/

.wrapper.products .produit {
	width: 100%;
	max-width: 300px;
	position: relative;
	/*transition: all .5s ease;*/
	/*border: 1px solid #EEE;
	padding: 25px;*/
}

/*.wrapper.products .produit:hover, .wrapper.products .produit:focus {
	box-shadow: 0 10px 15px -10px rgba(0, 0, 0, .1);
	transform: translateY(-5px);
}*/

.wrapper.products .produit .thumb {
	width: 100%;
	height: 220px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
	text-decoration: none;
	border: 0;
	position: relative;
}

.produit .thumb::before {
	content: attr(title);
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 360px;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	color: #FFF;
	opacity: 0;
	transition: all .4s ease;
}

.produit .thumb:hover::before, .produit .thumb:focus::before {
	opacity: 1;
}

.wrapper.products .produit .thumb img {
	/*min-width: 100%;*/
	max-width: 400px;
	min-height: 220px;
	width: auto;
	transition: all .4s ease;
}

.lightDetails {
	display: flex;
	width: 100%;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-start;
}

.lightDetails p {
	width: calc(100% - 70px);
}

.ref {
	font-size: 10pt;
}

.produit .priceZone {
	width: 100%;
	position: relative;
	text-align: right;
	font-size: 10pt;
}

.priceZone .tarif, p .tarif {
	/*height: 50px;
	padding-left: 25px;
	padding-right: 25px;*/
	color: var(--beige);
	display: block;
	font-size: 18pt;
	font-weight: 400;
	/*display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: -50px;
	right: -20px;*/
}

.priceZone a span {
	vertical-align: text-bottom;
	margin-left: 5px;
	font-size: 18px;
}

.produit .productActions {
	/*position: absolute;
	bottom: 0;
	left: 0;*/
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 5px;
}

.produit .productActions a {
	text-decoration: none;
	color: #000;
	/*border: 0;*/
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--grisC);
	/*border: 1px solid rgba(0 ,0, 0, .1);*/
	transition: all .25s ease;
}

.produit .productActions a:hover, .produit .productActions a:focus {
	/*background: rgba(0, 0, 0, .1);*/
	background: #000;
	color: #FFF;
}

.rupture {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px;
	padding-left: 10px;
	padding-right: 10px;
	color: #FFF;
	background: #CC0000;
}

/*
 * FICHE PRODUIT
 */
article .wrapper {
	gap: 40px;
}

h2.nomProd, h1.nomProd {
	margin-bottom: 5px;
}

.wrapper.productDetails {
	margin-top: 40px;
}

.productPictures {
	width: 100%;
	max-width: 610px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: flex-start;
}

.productPictures img:first-of-type {
	width: 100%;
	max-width: 610px;
	height: auto;
	display: block;
}

.productPictures img:nth-of-type(2), .productPictures img:not(:first-of-type):last-of-type {
	width: calc((100% - 40px) / 2);
	max-width: 285px;
	height: auto;
}

.productInfos {
	width: 100%;
}

.productInfos .cta {
	max-width: 250px;
}

.productInfos .cta span {
	margin-right: 7px;
}

.productInfos h4 {
	margin-bottom: 25px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--gris);
}

.productInfos .infoProd {
	margin-bottom: 25px;
}

.productInfos .infoProd span {
	color: var(--gris);
	margin-right: 7px;
	vertical-align: text-bottom;
}

.infoProd + .cta {
	margin-top: 25px;
}

.carTech {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	justify-content: center;
	background: var(--grisC);
	padding: 25px;
	margin-top: 10px;
	width: 100%;
	margin-bottom: 25px;
	/*max-width: 610px;*/
}

.carTech h3 {
	border-bottom: 1px solid rgba(0, 0, 0, .5);
	margin-bottom: 10px;
	padding-bottom: 10px;
	width: 100%;
	font-size: 13pt;
	font-family: var(--dm);
	font-weight: 700;
}

.caracteristique {
	font-weight: 700;
	width: 100%;
	/*max-width: 200px;*/
	/*text-align: center;*/
}

.caracteristique .material-icons-outlined {
	vertical-align: text-bottom;
	color: #AAA;
	margin-right: 7px;
}

.caracteristique .value {
	font-weight: 400;
	display: block;
}

.productInfos {
	display: flex;
	gap: 25px;
	flex-wrap: wrap;
}

.productInfos > h3 {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 13pt;
	font-family: var(--dm);
	font-weight: 700;
	margin-bottom: 0;
}

.productInfos > h3 span {
	background: #000;
	color: #FFF;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.productInfos h3 + p {
	width: 100%;
}

.productInfos p + h3, .productInfos ul + h3 {
	margin-top: 25px;
}

/*.tarifProd {
	margin-top: 25px;
	font-size: 10pt;
}

.prixProd {
	display: block;
	color: var(--gris);
	font-size: 18pt;
}*/

ul.classic {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

ul.classic li::before {
	font-family: 'Material Icons Outlined';
	content: 'chevron_right';
	color: var(--gris);
	margin-right: 10px;
	vertical-align: middle;
}

ul.classic.options li::before {
	content: 'check';
	font-size: 24px;
}

ul.classic li strong, ul.classic a {
	line-height: var(--LH);
}

/*
 * DEVIS
 */
.devis {
	background: var(--grisC);
}

.devis .cta {
	margin: auto;
	margin-top: 25px;
}

/*
 * GALERIE PROS
 */
.wrapper.galerie {
	margin-top: 50px;
	gap: 25px;
}

.wrapper.galerie img {
	width: 150px;
	height: auto;
}

/*
 * SERVICES - BAS DE PAGE
 */
#services {
	background: #000;
}

.service {
	width: 400px;
	display: flex;
	align-items: space-between;
	gap: 15px;
}

.service span {
	display: flex;
	width: 50px;
	align-items: flex-start;
	font-size: 36px;
	color: var(--gris);
}

.service p {
	color: #FFF;
}

.service p strong {
	display: block;
	margin-bottom: 10px;
	color: var(--beige);
	font-family: var(--style);
	font-weight: 500;
}

/*
 * RECHERCHE INTERNE
 */
.bigSearch {
	margin-top: 25px;
}

.bigSearch input[type="text"] {
	width: 100%;
	max-width: none;
	height: 75px;
	font-size: 24pt;
	font-weight: 400;
	border: 0;
	border-bottom: 1px solid #000;
	font-family: var(--style);
}

.wrapper.products + .cta {
	margin: auto;
	margin-top: 50px;
}
/*
 * CONTACT + FORMULAIRES
 */
.wrapper.coordonnees {
	margin-top: 25px;
	padding-bottom: 50px;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	flex-wrap: wrap;
}

.wrapper.coordonnees .contacts {
	width: 100%;
	max-width: 200px;
	text-align: center;
}

.contacts a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-decoration: none;
	color: #000;
}

.contacts a span {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 1px solid #000;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	margin-bottom: 5px;
	transition: all .5s ease;
}

.contacts a:hover span, .contacts a:focus span {
	background: #000;
	color: #FFF;
}

.contacts > span:first-child {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 1px solid #000;
	color: #000;
	margin: auto;
	margin-bottom: 5px;
}

main form {
	display: flex;
	width: 100%;
	max-width: 625px;
	justify-content: space-between;
	gap: 25px;
	flex-wrap: wrap;
	margin: auto;
	margin-top: 50px;
}

main form * {
	outline: 0;
}

main input, main textarea, main select {
	width: 100%;
	height: 50px;
	padding-left: 15px;
	padding-right: 15px;
	margin-bottom: 0;
	color: #000;
	font-family: var(--dm);
	border: 1px solid rgba(0, 0, 0, .1);
	transition: all .5s ease;
}

main textarea {
	width: 100%;
	height: 150px;
	padding: 15px;
}

input[type="checkbox"], input[type="radio"] {
	width: auto;
	height: auto;
	display: inline-block;
	margin-right: 5px;
}

label p {
	display: inline;
}

#boutonForm, .boutonForm {
	width: 100%;
	text-align: center;
}

#boutonForm strong, .boutonForm strong {
	color: #000;
}

main input[type="submit"] {
	display: block;border-radius: 25px;
	width: 100%;
	max-width: 200px;
	border: 0;
	border: 1px solid #000;
	background: #FFF;
	color: #000;
	cursor: pointer;
	margin: auto;
	transition: all .4s ease;
}

main input:not([type="checkbox"]):hover, main input:not([type="checkbox"]):focus, main textarea:hover, main textarea:focus, main select:hover, main select:focus {
	border-color: #000;
}

main input[type="submit"]:hover, main input[type="submit"]:focus {
	background: #000;
	color: #FFF;
}

/*
 * Formulaire précommande
 */
main input.full {
	width: 100%;
	max-width: none;
}
#adresseLivraison {
	display: flex;
	gap: 25px;
	flex-wrap: wrap;
	justify-content: center;
	background: #F1F1F1;
	padding: 25px;
}

#adresseLivraison h4 {
	margin-bottom: 0;
}

#adresseLivraison input:not(.full) {
	max-width: 275px;
}

/*
 * FOOTER
 */
footer .wrapper {
	padding-bottom: 25px;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	margin-bottom: 25px;
}

.bloc {
	width: 100%;
	max-width: 400px;
	text-align: left;
}

.bloc h3 {
	font-size: 16pt;
	margin-bottom: 25px;
}

footer a {
	color: #000;
	text-decoration: none;
}

footer a:hover, footer a:focus {
	color: var(--gris);
	text-decoration: underline;
}

footer .logo {
	display: block;
	margin: auto;
	margin-bottom: 20px;
	background: url("images/logo_footer.webp") center no-repeat;
	background-size: 90px 90px;
}

footer p:last-child {
	text-align: center;
	font-size: 10pt;
}

footer p a:hover, footer p a:focus {
	color: #000;
}

@media only screen and (min-width: 1023px) {
	.wrapper.encart {
		/*flex-direction: column;
		gap: 25px;*/
		flex-direction: row;
		align-items: stretch;
	}
	
	.encart .thumb {
		width: 100%;
		max-width: 500px;
		min-height: 320px;
	}
	
	.encart .thumb img {
		min-width: 100%;
		height: auto;
	}
	
	.encart .catContent {
		width: calc(100% - 550px);
		height: auto;
		padding: 50px 50px 0 0;
		/*padding-top: 50px;
		padding-bottom: 50px;
		padding-right: 50px;*/
	}
	
	.encart:nth-of-type(odd) .thumb {
		order: 2;
	}

	.encart:nth-of-type(odd) .catContent {
		order: 1;
		padding-left: 50px;
		padding-right: 0;
	}
}

@media only screen and (min-width: 1300px) {
	
	.content {
		width: 1300px;
		padding-left: 0;
		padding-right: 0;
	}
	
	header .content {
		padding-left: 0;
	}
	
	header .content .logo + div {
		margin-left: 0;
		padding-right: 0;
	}
	
	#boutonMenu, #close {
		display: none;
	}
	
	nav {
		display: flex;
		flex-wrap: wrap;
		position: static;
		height: 100%;
		background: #000;
		width: calc(100% - 244px);
		justify-content: space-between;
		max-width: 100%;
		box-shadow: none;
		right: auto;
		top: auto;
		padding-left: 100px;
		padding-bottom: 0;
		gap: 50px;
	}
	
	nav ul {
		margin-top: 0;
		margin-bottom: 0;
		height: 100%;
		flex-direction: row;
		width: auto;
	}
	
	nav ul li {
		width: auto;
		height: 100%;
		align-items: center;
		flex-direction: row;
	}
	
	nav ul li a {
		padding-left: 25px;
		padding-right: 25px;
		padding-top: 20px;
		border-radius: 25px;
		color: rgba(255, 255, 255, .7);
	}
	
	nav ul li a.actif, nav ul li a:hover, nav ul li a:focus {
		background: none;
		color: #FFF !important;
	}

	/*
	 * SOUS-MENU
	 */
	nav ul li > ul {
		width: 100%;
		background: #FFF;
		background-clip: padding-box;
		position: absolute;
		z-index: 200;
		left: 0;
		top: 100px;
		height: auto;
		display: none;
		padding-top: 25px;
		padding-bottom: 25px;
		flex-wrap: wrap;
		margin: auto;
	}

	nav ul li ul::before {
		--dist: calc((100vw - 1300px) / 2);
		content: '';
		height: 100%;
		background: #FFF;
		background-clip: padding-box;
		width: var(--dist);
		left: calc(var(--dist) * -1);
		top: -10px;
		position: absolute;
		z-index: 200;
		border-top: 10px solid transparent;
	}

	nav ul li ul::after {
		--dist: calc((100vw - 1300px) / 2);
		content: '';
		height: 100%;
		background: #FFF;
		background-clip: padding-box;
		width: var(--dist);
		top: -10px;
		position: absolute;
		z-index: 200;
		right: calc(var(--dist) * -1);
		border-top: 10px solid transparent;
	}

	nav ul li:hover ul, nav ul li a:hover ul, nav ul li:focus ul, nav ul li a:focus ul {
		display: flex;
	}

	nav ul li ul li {
		height: 50px;
	}

	nav ul li ul li a {
		padding-top: 0;
		color: #000;
		border-radius: 25px;
		border-left: 0;
		margin-left: 0;
		transition: all .25s ease;
	}

	nav ul li ul li a:hover, nav ul li ul li a:focus {
		color: #FFF !important;
		background: #000;
	}

	li.titreCat {
		font-weight: 700;
		color: #000;
		width: 100%;
		position: relative;
		border-bottom: 1px solid rgba(0, 0, 0, .1);
	}
	
	li.titreCat a:first-of-type {
		width: auto;
		margin-left: 0;
		padding-left: 0;
	}

	li.titreCat a:hover, li.titreCat a:focus {
		color: var(--gris) !important;
		background: none;
	}
	
	#shortcuts {
		flex-direction: row;
		margin: auto;
		margin-right: 0;
	}
	
	/*#nbArticles {
		right: calc(50% - 25px);
	}*/
	
	#picture {
		height: 280px;
		padding-top: 80px;
	}
	
	#picture h1 {
		margin-top: 0;
		font-size: 36pt;
		line-height: 46pt;
	}
	
	.assets {
		flex-wrap: wrap;
	}
	
	#cdc .cdcText {
		max-width: calc(100% - 840px);
	}
	
	.cdcPic .cdcTitre {
		top: 30px;
		right: -30px;
	}
	
	.valeurs .content {
		justify-content: space-around;
	}
	
	.valeurs .valeur {
		width: auto;
		max-width: 280px;
	}
	
	.wrapper.presentation img {
		max-width: none;
		width: 450px;
		order: 1;
	}
	
	.presentationContent {
		order: 2;
		/*width: calc(100% - 500px);*/
		width: calc(100% - 425px);
		margin-left: -75px;
		border: 5px solid #FFF;
		padding-left: 75px;
	}
	
	#services .wrapper {
		flex-wrap: wrap;
	}
	
	.service {
		width: 100%;
		max-width: 400px;
	}
	
	.reviewsZone {
		width: 1300px;
		margin: auto;
	}
	
	.carouselContent {
		padding: 0;
		overflow-x: hidden;
	}
	
	.navigation.goPrev, .navigation.goNext {
		border-radius: 50%;
	}
	
	.navigation.goPrev {
		left: -25px;
	}
	
	.navigation.goNext {
		right: -25px;
	}
	
	.review {
		padding-left: 0;
		padding-right: 0;
		min-width: 360px;
	}
	
	.catalogueFull {
		justify-content: space-between;
		flex-direction: row;
		gap: 0;
	}

	.catalogueContent {	
		max-width: calc(100% - 250px);
		padding-left: 49px;
		border-left: 1px solid rgba(0, 0, 0, .1); /* 0.1 */
		border-top: none;
		padding-top: 0;
	}
	
	.filtres {
		max-width: 250px;
		position: sticky;
		top: 125px;
		gap: 0;
	}
	
	.filtres h4 {
		margin-bottom: 25px;
	}
	
	.filtres ul {
		gap: 0;
	}

	.filtres ul li {
		width: 100%;
	}

	.filtres ul li a {
		width: 100%;
		justify-content: flex-start;
		border-radius: 25px 0 0 25px;
		padding-left: 25px;
		border: none;
	}

	.filtres ul li a:not(.actif):hover, .filtres ul li a:not(.actif):focus {
		background: rgba(0, 0, 0, 1); /* 0.1 */
		color: #FFF; /* #000 */
	}

	.filtres ul li a.actif {
		background: rgba(0, 0, 0, .1);
		color: #000;
	}
	
	.wrapper.products.cart {
		gap: 50px;
	}
	
	/*.wrapper.products .produit {
		max-width: 360px;
	}*/
	
	.productDetails {
		justify-content: space-between;
	}
	
	.productInfos {
		width: calc(100% - 660px);
	}
	
	.productInfos .cta {
		margin: auto !important;
	}
	
	.carTech {
		margin-top: 0;
	}
	
	.infoProd {
		text-align: center;
	}
	
	.infoProd + .cta {
		margin-top: 25px;
	}
	
	.productPictures {
		width: 610px;
		position: sticky;
		top: 125px;
	}
	
	.caracteristique {
		max-width: none;
	}
	
	.wrapper.recap .line {
		gap: 25px;
	}
	
	.wrapper.recap .line:first-of-type {
		display: none;
	}
	
	.wrapper.recap .produitRecap {
		max-width: 100%;
	}
	
	.wrapper.recap .qteRecap, .wrapper.recap .subtotalRecap {
		width: calc((100% - 25px) / 2);
		max-width: 600px;
		/*background: #F1F1F1;*/
	}
	
	.wrapper.recap .qteRecap {
		text-align: left;
	}
	
	.wrapper.recap .subtotalRecap {
		text-align: right;
	}
	
	/*.wrapper.recap .subtotalRecap {
		padding-right: 0;
	}*/
	
	.wrapper.recap .precisionRecap {
		display: block;
		font-weight: 700;
	}
	
	#adresseLivraison input:not(.full) {
		max-width: none;
	}
	
	/*.wrapper.recap .line:last-of-type {
		background: #000;
		color: #FFF;
	}*/
	
	#infoCart {
		width: 80%;
		/*background: rgba(0, 0, 0, .75);
		backdrop-filter: blur(3px);*/
	}
	
	main input:not([type="checkbox"]):not([type="checkbox"]):not([type="submit"]), main select {
		width: 100%;
		max-width: none;
	}
	
	main input:not([type="submit"]), main select {
		max-width: 300px !important;
	}
	
	.bigSearch input[type="text"] {
		width: 100% !important;
		max-width: none !important;
	}
	
	footer .wrapper {
		flex-wrap: wrap;
	}
}

@media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {
	.logo {
		background-image: url("images/logo_header_2x.webp");
	}
	
	footer .logo {
		background-image: url("images/logo_footer_2x.webp");
	}
}