@import url("variables.css");

* {
	margin: 0;
	padding: 0;
}

html,
body {
	font-size: 1vw;
	font-family: sans-serif;
	min-height: 100vh;
}

html,
input,
select {
	font-size: 1em;
	font-family: sans-serif;
}

.gBase {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow: hidden;
	scrollbar-gutter: stable;
}

.gMarges {
	width: 90vw;
	margin: 0 5vw;
}

.gHaut {
	position: fixed;
	height: 4vh;
	background-color: #ffffff;
	z-index: 992;
}

.gEntete {
	display: flex;
	flex-direction: row;
	align-items: center;
	height: 4vh;
	background-color: var(--bgPrimaire);
	transition: height 1s;
}

.gEntete-Logo {
	/*height: 5vh;*/
}

.gEntete-Logo img {
	height: 100%;
	width: auto;
}

.gEntete-Titre {
	font-size: 4vh;
	font-weight: bold;
	transition: font-size 1s;
}

.gEntete-Titre a {
	color: var(--colAccent);
	text-decoration: none;
}

.gContenant {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 12vh 0 2vh 0;
}

.gAriane {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	font-size: 1.2em;
	font-style: italic;
	margin: 0.5em 0 0 1vw;
}

.gAriane div:not(:last-child)::after {
	content: ">";
	margin: 0 0.5em;
}

.gAriane a {
	color: var(--colTexte);
	text-decoration: none;
}

.gAriane div:last-child {
	color: var(--colAccent);
}

.gRetour {
	margin: 2vh 0 2vh 1vw;
}

.gRetour a {
	color: var(--colAccent);
	font-size: 2em;
	text-decoration: none;
}

.gAnnonce {
	font-size: 3em;
	margin-top: 2vh;
	padding: 1em;
	background-color: var(--bgSecondaire);
}

.gMessage {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3vh;
	width: 100%;
	background-color: var(--bgMessage);
	z-index: 993;
}

.gMessage header {
}

.gContenu {
	/*padding-left: 1vw;*/
}

.gAccueil {
	display: flex;
	justify-content: center;
}

.gAccueil-Tuiles {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 50vw;
	margin-top: 4vh;
}

.gOptions {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	font-size: 1em;
	gap: 2em;
}

.gOption-Ordre span {
	font-size: 1em;
}

.gOptions select {
	font-size: 1em;
	margin-left: 0.3em;
}

.gBouton-Fonce {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1em;
	font-weight: bold;
	padding: 0.5em 0.5em;
	color: var(--colMenu);
	background-color: var(--bgMenu);
	border: none;
	cursor: pointer;
}

.gBouton-Fonce svg {
	height: 1.1em;
}

/******************************************************************************************************** Connexion **/

.gConnexion {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 50vh;
}

.gConnexion,
.gConnexion input,
.gConnexion button {
	font-size: 1em;
}

.gConnexion input[type="submit"] {
	cursor: pointer;
}

.gConnexion form div {
	font-size: 1.2em;
	font-weight: bold;
	padding: 0.2em;
}

.gConnexion form div span {
	font-size: 0.5em;
}

.gConnexion .gConnexion-Message {
	color: red;
}

.gConnexion-Boutons {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	margin-top: 1vh;
}

.gConnexion-Bas {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	font-size: 0.8em;
	padding-top: 1em;
}

.gCompte .gConnexion form div {
	font-size: 1em;
}

.gFavoris {
	position: absolute;
	top: 0vh;
	right: 12vw;
	color: var(--colMenu);
	/*background-color: var(--bgMenu);*/
}

.gFavoris-Icone {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4vh;
	height: 4vh;
	color: #cd2053;
}

.gFavoris-Icone svg {
	height: 70%;
	width: auto;
	stroke-width: 2;
}

.gFavoris-Icone .icoFavoris-Path {
	fill: var(--colMenu);
}

.gFavoris-Icone.actif .icoFavoris-Path {
	fill: #cd2053;
}

.gClient {
	position: fixed !important;
	font-weight: bold;
	top: 4vh;
	left: 80vw;
	color: var(--colMenu);
	/*background-color: var(--bgMenu);*/
	z-index: 993;
	transition: top 1s;
}

.gClient svg {
	height: 1em;
	width: auto;
	/*padding-right: 0.5em;*/
	cursor: pointer;
}

.gClient .gMenu-Entete > svg {
	transform: rotate(90deg);
	transform-origin: 0.4em;
}

.gClient ul {
	list-style: none;
}

.gClient .gMenu-Entete span {
	height: 4vh;
}

.gClient .gMenu-Entete span:not(:has(a)) {
	padding: 0 0.5em;
}

.gClient a {
	display: flex;
	flex: 1;
	justify-content: flex-start;
	align-items: center;
	/*padding: 0 1em;*/
	color: inherit;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}

.gClient .gMenu-Parent-Item.ouvert .gMenu-Entete svg {
	transform: rotate(-90deg);
}

.gClient .gMenu-Enfant {
	position: absolute;
	flex-direction: column;
	color: var(--bgMenu);
	background-color: #ffffff;
	border: solid 0.1em var(--bgMenu);
}

.gClient .gMenu-Enfant .gMenu-Item:hover {
	background-color: var(--colMenu);
}

/******************************************************************************************************* Recherche ***/

.gPop-Recherche-Conteneur {
	position: fixed;
	display: flex;
	flex-direction: row;
	font-size: 1.5em;
	top: 11vh;
	left: 0;
	z-index: 909;
}

.gPop-Recherche-Contenant {
	display: flex;
	flex-direction: column;
	width: fit-content;
	position: relative;
	/* min-width: 75vw; */
	visibility: hidden;
	height: 3vh;
	color: var(--colMenu);
	background-color: transparent;
	transition: width 0.5s ease-out;
}

.gPop-Recherche-Contenu {
	flex: 1;
	color: var(--colSecondaire);
	background-color: var(--bgSecondaire);
	overflow: hidden;

	background-color: transparent;
	overflow: hidden;
}

.gPop-Recherche-Icone,
.gPop-Recherche-Fermer {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: auto;
	background-color: var(--bgMenu);
	pointer-events: none;
}

.gPop-Recherche-Icone svg,
.gPop-Recherche-Fermer svg {
	height: 70%;
}

.gPop-Recherche-Fermer {
	display: none;
}

.gPop-Recherche-Entete.ouvert .gPop-Recherche-Icone {
	display: none;
}

.gPop-Recherche-Entete.ouvert .gPop-Recherche-Fermer {
	display: flex;
}

.gPop-Recherche-Entete {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 100%;
	color: var(--colMenu);
	background-color: var(--bgMenu);
	cursor: pointer;
	height: 3vh;
	width: 3vh;
}

.gPop-Recherche-Contenu {
	display: flex;
	flex-direction: row;
	height: 100%;
}

.gPop-Recherche-Contenu form {
	display: flex;
	flex-direction: row;
}

.gPop-Recherche-Texte {
	font-size: 1em;
	height: 100%;
	width: 25vw;
	box-sizing: border-box;
}

.gPop-Recherche-Soumettre {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3vh;
	height: 3vh;
	color: var(--colMenu);
	background-color: var(--bgMenu);
	border: none;
	cursor: pointer;
}

.gPop-Recherche-Soumettre svg {
	height: 70%;
}

.gPop-Recherche-Resultats {
	position: absolute;
	color: #000000;
	top: 100%;
	max-width: 90vw;
	border: solid 0.01em #dddddd;
	overflow: hidden;
	z-index: 998;
	transition: left 0.5s ease-out;
}

.gPop-Recherche-Resultats-Item a {
	display: flex;
	justify-content: space-between;
	color: #000000;
	text-decoration: none;
	white-space: nowrap;
	padding: 0.2em 1em;
}

.gPop-Recherche-Resultats-Item:nth-child(odd) {
	background-color: #ffffff;
}

.gPop-Recherche-Resultats-Item:nth-child(even) {
	background-color: #dddddd;
}

.gPop-Recherche-Resultats-Item span:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
}

.gPop-Recherche-Resultats span:last-child {
	text-align: right;
	padding-left: 1em;
}

.gPop-Recherche-Resultats-Item:hover {
	background-color: #999999;
}

/*********************************************************************************************************** Items ***/

.gProduits-Filtre {
	display: flex;
	flex-direction: column;
	/*width: 100%;*/
}

.gProduits-Departement-Description {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	font-size: 2em;
	font-style: italic;
	text-align: end;
}

.gProduits-Contenant {
	display: flex;
	flex-direction: row;
	min-width: 50vw;
}

.gProduits-Contenu {
	display: flex;
	flex-direction: row;
	flex-basis: 40%;
	flex-grow: 1;
}

.gProduits-Liste {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
	width: 100%;
	padding: 1em;
}

.gProduits-Entete h3 {
	font-size: 2em;
}

/****************************************************************************************************** Items-Item ***/

.gProduits-Item {
	position: relative;
	display: flex;
	flex-direction: column;
	flex-basis: 16%;
	/*width: 22%;*/
	/*aspect-ratio: 2/3;*/
	/*height: 50vh;*/
	margin-bottom: 2em;
	padding: 1%;
	border: solid 0.1px transparent;
	overflow: hidden;
}

.gProduits-Item > a {
	display: flex;
	flex-direction: column;
	height: 96%;
	color: var(--colLiens);
	text-decoration: none;
}

.gProduits-Item:hover {
	border-color: var(--colAccent);
}

.gProduits-Item-Contenu {
	flex: 1;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	/*height: 65%;*/
}

.gProduits-Item-Image {
	display: flex;
	height: 100%;
	width: auto;
	overflow: hidden;
}

.gProduits-Item-Image img {
	height: 100%;
	max-height: 25vh;
	max-width: 100%;
	aspect-ratio: 1/1;
	object-fit: contain;
}

.gProduits-Item-Bas {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	height: 8em;
	/*padding: 2em;*/
}

.gProduits-Item-Infos {
	display: flex;
	flex-direction: row;
}

.gProduits-Item-Nom {
	font-size: 1.1em;
	font-weight: bold;
	text-align: right;
}

.gProduits-Item-Prix {
	font-size: 1.4em;
	font-weight: bold;
}

.gProduits-Item-Boutons {
	display: flex;
	flex-direction: row;
}

.gProduits-Favori {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1em;
	color: #cd2053;
	cursor: pointer;
}

.gProduits-Favori .icoFavoris-Path {
	fill: none;
}

.gProduits-Favori.active .icoFavoris-Path {
	fill: #cd2053;
}

.gProduits-Bouton-Ajout svg {
	height: 1em;
	width: auto;
}

.gProduits-Bouton-Options {
	/*position: absolute;*/
	font-weight: bold;
	width: fit-content;
	/*
	bottom: 1em;
	left: 1em;
	*/
	border: none;
	cursor: pointer;
	z-index: 99;
}

.gProduits-Bouton-Ajout:hover,
.gProduits-Bouton-Options:hover {
	opacity: 0.7;
}

/************************************************************************************************************ Item ***/

.gProduit-Detail {
	display: flex;
	flex-direction: column;
}

.gProduit-Detail h2 {
	font-size: 2em;
}

.gProduit-Detail-Contenant {
	display: flex;
	flex-direction: row;
	margin: 0 5vw 0 5vw;
}

.gProduit-Contenant {
	flex: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

.gProduit-Images-Swiper {
	/*flex-basis: 25vw;*/
	width: 25vw;
	/*height: auto;*/
	/*aspect-ratio: 1/1;*/
	margin-bottom: 4vh;
	overflow: hidden;
	order: 1;
	transition: width 0.5s ease-out;
}

.gProduit-Images-Ferme {
	display: none;
	position: absolute;
	top: 1em;
	right: 1em;
	color: var(--colAccent);
	cursor: pointer;
	z-index: 99;
}

.gProduit-Images-Ferme svg {
	height: 2em;
	width: auto;
}

.gProduit-Images-Swiper.agrandi {
	height: auto;
	width: 80vh;
}

.gProduit-Images-Swiper.agrandi .gProduit-Images-Ferme {
	display: flex;
}
/*
.gProduit-Images-Swiper.agrandi .swiper-button-next,
.gProduit-Images-Swiper.agrandi .swiper-button-prev {
	height: 4em!important;
}
*/
.gProduit-Images-Swiper .swiper-slide {
	cursor: pointer;
}

.gProduit-Contenu {
	flex: 1;
	min-width: 100%;
	order: 8;
}

.gProduit-Entete {
	margin-bottom: 2vw;
}

.gProduit-Accroche {
	margin-bottom: 2vw;
}

.gProduit-Options {
	margin-bottom: 1vw;
}

.gProduit-Options-Contenu {
	display: flex;
	flex-direction: column;
}

.gProduit-Option {
	display: flex;
	flex-direction: column;
	margin-bottom: 1vw;
}

.gProduit-Option-Titre h4 {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 0.5vw;
}

.gProduit-Option label {
	font-weight: bold;
	padding: 0.5vw;
	color: var(--colBouton);
	background-color: var(--bgBtnFiltres);
	user-select: none;
	cursor: pointer;
}

.gProduit-Option-Liste label:has(input:disabled) {
	display: none;
	opacity: 0.3;
	cursor: default;
}

.gProduit-Option-Liste {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.5em;
}

.gProduit-Option-Liste input {
	display: none;
}

.gProduit-Option-Liste label:has(input:checked) {
	color: var(--colMenu);
	background-color: var(--bgMenu);
}

.gProduit-Etiquettes {
	display: flex;
	flex-direction: column;
	margin-bottom: 1em;
}

.gProduit-Etiquettes-Liste {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.4em;
}

.gProduit-Etiquette {
	color: var(--colFiltres);
	background-color: var(--bgFiltres);
	padding: 0.3em 0.5em;
	border-radius: 0.4em;
}

.gProduit-Description h3,
.gProduit-Caract h3 {
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.gProduit-Caract {
	padding-top: 1em;
}

.gProduit-Droite {
	flex: 1;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	height: fit-content;
	margin-left: 4em;
	order: 4;
}

.gProduit-Nav {
	position: absolute;
	flex-basis: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	top: -5vh;
	font-size: 1.2em;
	margin: 0 0 2em 0;
}

.gProduit-Nav a {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	color: var(--colTexte);
	text-decoration: none;
	margin: 0 0 0 1em;
}

.gProduit-Nav span {
	display: flex;
	flex-direction: row;
	align-items: center;
	height: 100%;
	padding: 0 0.5em 0 0;
}

.gProduit-Nav-Suivant a {
	justify-content: flex-end;
	text-align: right;
	margin: 0 1em 0 0.5em;
}

.gProduit-Nav-Suivant a span {
	padding: 0 0 0 0.5em;
}

.gProduit-Infos {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-evenly;
}

.gProduit-Achats {
	width: fit-content;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: fit-content;
	gap: 2em;
	padding: 2vw;
	margin: 0 0 2vw 2vw;
	border: solid 0.1px var(--colAccent);
}
/*
.gProduit-Achats {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	margin-bottom: 2em;
}
*/
.gProduit-Achats-Code,
.gProduit-Achats-Inventaire {
	display: flex;
	flex-direction: row;
	/*margin-bottom: 2em;*/
}

.gProduit-Achats-Code span {
	font-weight: bold;
	margin-left: 0.5em;
}

.gProduit-Achats-Inventaire span {
	font-weight: bold;
	margin-right: 0.5em;
}

.gProduit-Achats-Haut {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.gProduit-Achats-Prix {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	font-size: 1.2em;
}

.gProduit-Achats-Prix span {
	font-size: 1.5em;
	font-weight: bold;
}

.gProduit-Achats-Code {
	margin-bottom: 1em;
}

.gProduit-Achats-Acheter {
	align-self: center;
	visibility: hidden;
	font-size: 1em;
}

.gProduit-Achats-Acheter button {
	font-size: 1em;
	text-decoration: none;
	white-space: nowrap;
	color: var(--colMenu);
	background-color: var(--bgMenu);
	padding: 0.5em 1em;
	border: none;
	cursor: pointer;
}

.gProduit-Favori {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #cd2053;
	cursor: pointer;
}

.gProduit-Favori svg {
	height: 1.8em;
	width: auto;
}

.gProduit-Favori .icoFavoris-Path {
	fill: none;
}

.gProduit-Favori.active .icoFavoris-Path {
	fill: #cd2053;
}

/*
.swiper {
	width: 100%;
	height: 100%;
}
*/
.swpImage {
	/*height: 80%;*/
	width: 100%;
}

.swiper-slide img {
	display: block;
	height: 100%;
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: contain;
}
/*

.swiper-slide {
	display: flex !important;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-size: cover;
	background-size: contain;
	background-position: center;
}
*/
.swpVignettes {
	height: 20%;
	padding: 10px 0;
	box-sizing: border-box;
}

.swpVignettes .swiper-slide {
	opacity: 0.4;
}

.swpVignettes .swiper-slide-thumb-active {
	opacity: 1;
}

.gProduit-Suggestions {
	display: none;
	flex-direction: column;
	margin: 5vh 5vw 0 5vw;
}

.gProduit-Suggestions-Entete h3 {
	font-size: 2em;
}

.gProduit-Suggestions-Liste {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.gProduit-Suggestions-Liste .gProduits-Item {
	flex-basis: 12%;
	font-size: 0.8em;
}

.gRetractable-Entete-Texte {
	display: flex;
	flex-direction: row;
	white-space: nowrap;
	background-color: var(--bgMenu);
	transform-origin: center;
	transform: rotate(-90deg);
	z-index: 992;
}

.gRetractable-Entete-Fermer {
	display: none;
}

.gRetractable-Contenu {
	flex: 1;
	color: var(--colSecondaire);
	background-color: var(--bgSecondaire);
	overflow: hidden;
}

/********************************************************************************************************* Filtres ***/

.gFiltres-Conteneur {
	position: fixed;
	display: flex;
	flex-direction: row;
	top: 30vh;
	left: 0;
	z-index: 909;
}

.gFiltres-Contenant {
	display: flex;
	flex-direction: column;
	width: fit-content;
	position: relative;
	font-size: 1.5em;
	visibility: hidden;
	height: fit-content;
	color: var(--colMenu);
	background-color: transparent;
	transition: width 0.5s ease-out;
}

.gFiltres-Contenu {
	flex: 1;
	color: var(--colSecondaire);
	background-color: var(--bgSecondaire);
	overflow: hidden;
}

.gFiltres-Contenu form {
	font-size: 0.7em;
	margin: 1em;
}

.gFiltres-Entete {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	font-weight: bold;
	top: 0;
	left: 100%;
	width: 3vh;
	height: 12vh;
	color: var(--colMenu);
	background-color: var(--bgMenu);
	cursor: pointer;
}

.gFiltres-Entete span {
	display: none;
}

.gFiltres-Conteneur.actif .gFiltres-Entete span {
	display: flex;
}

.gFiltres-Entete-Texte {
	display: flex;
	flex-direction: row;
	align-items: center;
	white-space: nowrap;
	background-color: var(--bgMenu);
	transform-origin: center;
	transform: rotate(-90deg);
	z-index: 992;
	pointer-events: none;
	height: 3vh;
}

.gFiltres-Entete-Fermer {
	display: none;
}

.gFiltres-Contenu li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gFiltres-Item-Entete {
	font-weight: bold;
	margin-top: 1em;
}

.gFiltres-Contenu fieldset {
	border: none;
}
/*
.gFiltres-Favoris label {
	font-weight: bold;
}

.gFiltres-Favoris label,
*/
.gFiltres-Etiquettes label {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
}

.gFiltres-Contenu input {
	font-size: 1em;
	margin: 0.3em;
	/*transform: scale(1.2);*/
	/*transform-origin: center;*/
}

.gFiltres-Prix {
	display: flex;
	flex-direction: column;
}

.gFiltres-Prix li {
	justify-content: flex-end;
}

.gFiltres-Prix td:last-child {
	width: 2.5em;
	text-align: right;
}

.gFiltres-Prix input[type="range"] {
	accent-color: var(--colAccent);
}

input[type="range"] {
	/*-webkit-appearance: none;*/
	width: 100%;
	/*--track-color: purple;
  background: transparent;*/
}

input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: 1.2em;
	width: 0.5em;
	background: var(--bgMenu);
	cursor: pointer;
	border-radius: 0;
	/*margin-top: -0.5em;*/
}

input[type="range"]::-moz-range-thumb {
	height: 1.2em;
	width: 0.5em;
	background: var(--bgMenu);
	cursor: pointer;
	border-radius: 0;
}
/*
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5em;
  cursor: pointer;
  background: #ddd;
  border-radius: 0;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 0.5em;
  cursor: pointer;
  background: #ddd;
  border-radius: 0;
}

input[type="range"]::-moz-range-progress {
  height: 6px;
  background: red;
  border-radius: 3px;
}

input[type=range]::-webkit-progress-bar {
  background-color: orange;
}

input[type=range]::-ms-track {
	background-color: red;
}
*/

.gFiltres-Boutons {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 1em;
}

.gFiltres-Bouton-Effacer {
	visibility: hidden;
}

.gFiltres-Conteneur.actif .gFiltres-Bouton-Effacer {
	visibility: visible;
}

/****************************************************************************************************** Pagination ***/

.gPagination {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: center;
	font-size: 1.2em;
	color: var(--colTexte);
}

.gPagination > div {
	flex-basis: 30%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin-bottom: 1em;
}

.gPagination-Pages {
	order: 2;
}

.gPagination-Select {
	display: flex;
	flex-direction: row;
	justify-content: center;
	order: 3;
}

.gPagination-Item {
	padding: 0 0.5em;
}

.gPagination-Item.courant {
	font-weight: bold;
}

.gPagination a {
	color: inherit;
	text-decoration: none;
}

.gPagination-Limite {
	display: flex;
	flex-direction: row;
	align-items: center;
	order: 4;
}

.gPagination-Limite select {
	margin-left: 0.5em;
	font-size: 1em;
}

/********************************************************************************************************** Panier ***/

.gPanier-Conteneur {
	position: fixed;
	display: flex;
	flex-direction: row;
	height: 100vh;
	max-width: 80vw;
	top: 0;
	right: 0;
	z-index: 993;
}

.gPanier-Icone-Conteneur {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: -5em;
	width: 5em;
	height: 4vh;
	color: var(--colMenu);
	background-color: var(--bgMenu);
}

.gPanier-Icone {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5em;
	font-weight: bold;
	width: fit-content;
	padding-right: 0.2em;
	height: 5vh;
	cursor: pointer;
	z-index: 992;
}

.gPanier-Icone span {
	font-size: 1.2em;
	margin-left: 0.2em;
}

.gPanier-Icone svg {
	height: 60%;
	width: auto;
}

.gPanier-Fermer {
	display: none;
	padding: 0 1em;
	cursor: pointer;
}

.gPanier-Icone-Conteneur.ouvert .gPanier-Icone {
	display: none;
}

.gPanier-Icone-Conteneur.ouvert .gPanier-Fermer {
	display: flex;
}

.gPanier-Entete {
	padding: 2em;
	border-left: solid thin var(--colAccent);
}

.gPanier-Entete h3 {
	font-size: 2em;
}

.gPanier-Contenant {
	display: flex;
	flex-direction: column;
	width: fit-content;
	/*min-width: 75vw;*/
	visibility: hidden;
	height: 100%;
	background-color: var(--bgPrimaire);
	box-sizing: border-box;
	transition: width 0.5s ease-out;
}

.gPanier-Statut {
	font-weight: bold;
	text-align: right;
}

.gPanier-Contenu {
	/*flex: 1;*/
	padding: 1em;
	box-sizing: border-box;
	border-right: solid thin var(--colAccent);
	overflow: hidden;
}

.gPanier-Items {
	display: flex;
	flex-direction: column;
	margin: 1em 0;
	max-height: 60%;
	overflow-y: scroll;
}

.gPanier-Items::-webkit-scrollbar {
	-webkit-appearance: none;
}

.gPanier-Items::-webkit-scrollbar:vertical {
	width: 6px;
}

.gPanier-Items::-webkit-scrollbar-thumb {
	background-color: gray;
	border: 1px solid #ffffff;
}

.gPanier-Items::-webkit-scrollbar-track {
	background-color: #ffffff;
}

.gPanier-Items div {
	box-sizing: border-box;
}

.gPanier-Item {
	font-size: 1em;
	height: 6.4em;
	padding-top: 1em;
	border-bottom: solid 0.1em lightgray;
}

.gPanier-Item a {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	color: inherit;
	text-decoration: none;
}

.gPanier-Item-Contenu {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.gPanier-Item-Nom {
	flex: 1;
	font-size: 1.1em;
	font-weight: bold;
	/*width: 66vw;*/
	height: 2em;
	text-align: left;
}

.gPanier-Item-Options {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	/*width: 74vw;*/
	height: 1.2em;
}

.gPanier-Item-Options div {
	padding-right: 1em;
}

.gPanier-Item-Qte {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	font-size: 1em;
	/*width: 74vw;*/
	height: 1.2em;
}

.gPanier-Item-Qte-MAJ {
	display: flex;
	flex-direction: row;
	flex: 1;
	justify-content: space-evenly;
}

.gPanier-Item-Qte-MAJ div {
	display: flex;
	align-items: center;
	border: solid 0.1em lightgray;
}

.gPanier-Item-Qte input[type="number"] {
	font-size: 1em;
	text-align: center;
	width: 2em;
	border: none;
}

.gPanier-Item-Qte input[type="number"]::-webkit-inner-spin-button,
.gPanier-Item-Qte input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
}

.gPanier-Item-Qte button {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1em;
	padding: 0 1vw;
	background-color: transparent;
	border: none;
	border-radius: 0;
	cursor: pointer;
}

.gPanier-Item-Qte button.gPanier-Item-Qte-Retirer {
	padding-left: 1em;
}

.gPanier-Qte-Moins,
.gPanier-Qte-Plus {
	color: var(--colTexte);
	height: 1.2em;
	width: auto;
}

.gPanier-Qte-Moins svg,
.gPanier-Qte-Plus svg {
	height: 60%;
	width: auto;
	aspect-ratio: 1/1;
}

.gPanier-Item-Qte .gPanier-Retirer {
	width: 100%;
	text-align: center;
	text-align: -webkit-center;
}

.gPanier-Item-Qte .gPanier-Retirer button {
	color: gray;
	padding-left: 1em;
}

.gPanier-Item-Prix {
	text-align: right;
	padding-left: 0.5vw;
}

.gPanier-Item-Total {
	font-weight: bold;
	text-align: right;
	min-width: 3.5em;
	padding-left: 0.5vw;
}

.gPanier-Item-Image {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 6vw;
	height: 2.5em;
}

.gPanier-Item-Image img {
	height: 100%;
	width: auto;
}

.gPanier-Sommaire {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.gPanier-Sommaire td:last-child {
	text-align: end;
	font-weight: bold;
	padding: 0.1em 0 0 0.5em;
}

.gPanier-Total td {
	font-size: 1.2em;
	font-weight: bold;
}

.gPanier-Total {
	font-weight: bold;
}

.gPanier-Navigation {
	display: flex;
	flex-direction: column;
}

.gPanier-Navigation button {
	font-size: 1.1em;
	font-weight: bold;
	white-space: nowrap;
	margin: 1em 0 0 0;
	padding: 0.75em 3em;
	min-width: 30vw;
	color: var(--colBouton);
	background-color: var(--bgBouton);
	border: none;
	cursor: pointer;
}
/*
.gDepartements-Groupe {
	display: flex;
	flex-direction: column;
}

.gDepartements-Groupe .gDepartements-Groupe {
	display: none;
	margin-left: 0.5em;
}

.gDepartements-Item.actif + .gDepartements-Groupe {
	display: flex;
}

.gDepartements-Item {
	display: flex;
}

.gDepartements-Item a {
	color: var(--colPrimaire);
	width: 100%;
	padding: 0.2em 1em;
	white-space: nowrap;
	text-decoration: none;
}

.gDepartements-Item.actif a {
	opacity: 0.7;
	color: var(--colAccent);
}

.gDepartements-Item.courant a {
	font-weight: bold;
	opacity: 0.7;
	color: var(--colAccent);
}
*/
/*********************************************************************************************************** Tuile ***/

.gTuile {
	flex-basis: 50%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: var(--bgSecondaire);
	border: solid 0.063em var(--bgBtnFiltres);
	/*box-shadow: 0 0.063em 0.25em rgb(34, 54, 84, 0.24);*/
	box-sizing: border-box;
	overflow: hidden;
}

.gTuile:first-child {
	flex-basis: 100%;
}

.gTuile-Contenu {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 6em;
	text-decoration: none;
}

.gTuile-Entete {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1em 1.5em;
}

.gTuile-Titre {
	display: flex;
	align-items: center;
	text-align: center;
	font-size: 1.8em;
}

.gTuile-Image {
	min-width: 2.5em;
	width: 2.5em;
	margin: 0 0 1em 0;
}

.gTuile-Image img {
	width: 100%;
	height: auto;
}

.gTuile-Texte {
	flex: 1;
	padding: 2em 1.5em 1.5em 1.5em;
}

.gTuile-Bas {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-size: 1em;
	padding: 1em 1.5em;
	background-color: var(--bgSecondaire);
}

.gTuile:hover {
	border-color: var(--colAccent);
	box-shadow: 0 0.125em 0.5em rgb(34, 54, 84, 0.24);
}

.gTuile:hover .gTuile-Bas {
	visibility: visible;
}

.gTuile-Icone {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--colAccent);
	height: 1em;
	width: 1em;
}

.gTuile-Lien {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	margin-top: 1em;
}

.gLien-Global {
	position: absolute;
	text-decoration: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/********************************************************************************************************** Bandeau **/

.gBas {
	position: relative;
}

.gLogo {
	position: absolute;
	bottom: 1vh;
	right: 1vh;
	height: 5vh;
}

.gLogo img {
	height: 100%;
}

/******************************************************************************************* Bouton retour en haut ***/

.gRetourHaut {
	display: none;
	position: fixed;
	bottom: 2em;
	right: 2em;
	z-index: 994;
	border: none;
	outline: none;
	cursor: pointer;
	height: 2em;
	width: 2em;
	padding: 0.4em;
	color: var(--colMenu);
	background-color: var(--bgMenu);
	transform: rotate(-90deg);
}

.gRetourHaut:hover polyline {
	stroke-width: 10;
}
/*
.gRetourHaut {
    bottom: 4em;
    right: 2em;
    justify-content: center;
    align-items: center;
    width: 1.5em;
    height: 1.5em;
    box-shadow: 0px 2px 8px 0px rgba(34, 54, 84, 0.24);
    padding: 0.625em;
}
*/

/*********************************************************************************************************************/
/****************************************************************************************************** media 1024 ***/
/*********************************************************************************************************************/

@media (max-width: 1024px) {
	html,
	body {
		font-size: 2vw;
	}

	.gMarges {
		width: 96vw;
		margin: 0 2vw;
	}

	.gHaut {
		z-index: 993;
	}

	.gFavoris {
		right: 12vw;
	}

	.gClient {
		top: 0 !important;
		left: auto;
		right: 20vw;
		color: var(--bgMenu);
	}

	.gClient svg {
		height: 0.6em;
	}

	.gClient .gMenu-Enfant a {
		justify-content: flex-start;
		padding: 0 0.5em;
	}

	.gEntete-Titre {
		position: absolute;
		font-size: 3vh !important;
		top: 0;
		left: 12vw;
	}

	.gMessage {
		position: absolute;
		top: 4vh;
	}

	.gAccueil-Tuiles {
		width: 100%;
	}

	.gPagination {
		font-size: 1em;
	}

	.gPagination > div {
		flex-basis: unset;
	}

	.gPagination-Select {
		width: 100%;
		order: 1;
	}

	.gPop-Recherche-Conteneur {
		top: 7vh;
	}

	.gPop-Recherche {
		top: 10vh;
	}

	.gPop-Recherche-Contenu input {
		width: 35vw;
	}

	.gOptions {
		gap: unset;
	}

	.gPop-Recherche-Conteneur {
		font-size: 1.5em;
	}

	.gProduits-Contenu {
		flex-direction: column;
	}

	.gProduits-Item {
		flex-basis: 26%;
		/*width: 45%;*/
	}

	.gProduits-Item-Contenu {
		height: 55%;
	}

	.gProduit-Detail-Contenant {
		flex-direction: column;
		margin: 0 2vw 0 2vw;
	}

	.gProduit-Contenant {
	}

	.gProduit-Images-Swiper {
		width: 40%;
	}

	.swiper-button-next,
	.swiper-button-prev {
		height: 2em !important;
	}

	.gProduit-Achats {
		font-size: 1.2em;
		gap: 1em;
	}

	.gProduit-Options-Contenu {
		flex-direction: column;
		justify-content: flex-start;
	}

	.gProduit-Suggestions-Liste .gProduits-Item {
		flex-basis: 22%;
	}

	.gPanier-Conteneur {
		height: 92vh;
		top: 0;
	}

	.gPanier-Items {
		align-items: flex-end;
		max-height: 60%;
	}

	.gPanier-Items td {
		text-align: right;
	}

	.gPagination-Item,
	.gPagination-Precedent,
	.gPagination-Suivant {
		padding: 0 0.75em;
	}
}

/*********************************************************************************************************************/
/******************************************************************************************************* media 640 ***/
/*********************************************************************************************************************/

@media (max-width: 640px) {
	html,
	body {
		font-size: 3.5vw;
	}

	.gClient {
		font-size: 0.7em;
		right: 28vw;
	}

	.gClient .gMenu-Entete span {
		height: 4vh;
	}

	.gFavoris {
		right: 18vw;
	}

	.gFavoris-Icone {
		height: 4vh;
	}

	.gPop-Recherche-Conteneur {
		top: 7vh;
	}

	.gPop-Recherche-Contenant {
		height: 4vh;
	}

	.gPop-Recherche-Entete {
		height: 4vh;
		width: 4vh;
	}

	.gPop-Recherche-Soumettre {
		height: 4vh;
		width: 4vh;
	}

	.gPop-Recherche-Contenu input {
		width: 70vw;
	}

	.gContenant {
		padding: 14vh 0 10vh 0;
	}

	.gOptions {
		align-items: flex-end;
		margin-bottom: 1em;
	}

	.gOption-Pagination {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0;
	}

	.gContenu {
		padding-left: 5vw;
	}

	.swpImage {
		/*height: inherit;*/
	}

	.swiper-button-next,
	.swiper-button-prev {
		height: 1em !important;
	}

	.gFiltres-Entete,
	.gPop-Recherche-Entete {
		width: 4vh;
	}

	.gProduits-Liste {
		padding: 0;
	}

	.gProduits-Item {
		flex-basis: 100%;
		flex-basis: 45%;
		/*width: 45%;*/
	}

	.gProduit-Detail-Contenant {
		margin: 0 2vw 0 0;
	}

	.gProduit-Contenant {
		justify-content: center;
	}

	.gProduit-Images-Swiper {
		width: 50%;
	}

	.gProduit-Droite {
		margin-left: 0;
	}

	.gProduit-Nav {
		justify-content: space-between;
		font-size: 0.8em;
	}

	.gProduit-Infos {
		flex-direction: row-reverse;
		justify-content: space-evenly;
		margin: 0 0 2vh 0;
		width: 100%;
	}

	.gProduit-Achats {
		font-size: 1em;
	}

	.gProduit-Suggestions-Liste .gProduits-Item {
		flex-basis: 45%;
	}

	.gPanier-Contenant {
		font-size: 1em;
	}

	.gPanier-Items {
		max-height: 50%;
	}

	.gPanier-Item-Nom {
		width: 66vw;
	}

	.gPanier-Item-Options {
		width: 74vw;
	}

	.gPanier-Item-Qte {
		width: 74vw;
	}
}

/*********************************************************************************************************************/
/****************************************************************************************************** media 1025 ***/
/*********************************************************************************************************************/

@media (min-width: 1025px) {
	body {
		overflow: auto !important;
	}
}
