/*#region 00-Commun*/

/* --- VARIABLES ET STYLES GÉNÉRAUX --- */
:root {

	--sidebar-width: 290px;

	/* Palette de couleur Global*/
	--Couleur-Orange: #FFA600;
	--Couleur-Bleu: #1c69a8;
	--Couleur-Sombre-Primaire: #1f1f1f;
	--Couleur-Sombre-Secondaire: #5d5d5d;
	--Couleur-Claire-Primaire: #e0e0e0;
	--Couleur-Claire-Secondaire: #a2a2a2;

	/* Palette de couleur Mode clair*/
	--Couleur-Principale-Primaire: var(--Couleur-Sombre-Primaire);
	--Couleur-Principale-Secondaire: var(--Couleur-Sombre-Secondaire);
	--Couleur-ArrièrePlan-Primaire: var(--Couleur-Claire-Primaire);
	--Couleur-ArrièrePlan-Secondaire: var(--Couleur-Claire-Secondaire);

}

/* Mode sombre */
body.js-dark-mode {

	/* Palette de couleur Mode sombre*/
	--Couleur-Principale-Primaire: var(--Couleur-Claire-Primaire);
	--Couleur-Principale-Secondaire: var(--Couleur-Claire-Secondaire);
	--Couleur-ArrièrePlan-Primaire: var(--Couleur-Sombre-Primaire);
	--Couleur-ArrièrePlan-Secondaire: var(--Couleur-Sombre-Secondaire);
}

/*#region Global*/
/*Toute la page*/
html {
	/* Pour un défilement fluide lors du clic sur le menu */
	scroll-behavior: smooth;
	margin: 0;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

	/* taille des box avec les bordures */
	box-sizing: border-box;

	scroll-snap-type: y mandatory;
	overflow-y: scroll;

	scrollbar-width: none;
}

@media (max-width: 1000px) {
	html {
		scroll-snap-type: none;
		margin-top: 60px;
		scroll-padding-top: 60px;
	}
}

/*Propagation comme valeur par défaut da tout les éléments*/
*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Commun */
body {
	color: var(--Couleur-Principale-Primaire);
	background-color: var(--Couleur-ArrièrePlan-Primaire);
	transition:
		background-color 300ms ease,
		color 300ms ease;
}

/*#endregion*/


/*#region Contenu principal */

/* Section en page complète */
.full-page {

	/* Chaque section prend la hauteur de l'écran */
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 2%;
	margin-right: var(--sidebar-width);

	/* Pour que le padding n'ajoute pas à la hauteur/largeur */
	box-sizing: border-box;
	border-bottom: 2px solid var(--Couleur-Bleu);

	/* Point d'accrochage & Force l'arrêt sur chaque section*/
	scroll-snap-align: start;
	scroll-snap-stop: always;
	overflow: hidden;
}

@media (max-width: 1000px) {

	.full-page {
		height: auto;
		min-height: calc(100vh - 60px);
		padding: 50px 0 50px 0;
		margin-right: 0;
		border-bottom: 6px double var(--Couleur-Bleu);

		/* Point d'accrochage & Force l'arrêt sur chaque section*/
		scroll-snap-align: start;
		scroll-snap-stop: normal;
	}
}

.section-contenu {
	width: 90%;
}

@media (max-width: 1000px) {
	.section-contenu {
		width: 100%;
	}
}

/*#endregion */


/* Couleur de texte du logo */
.texte-LogiQ {
	fill: var(--Couleur-Principale-Primaire);
}


.section-titre {
	font-size: 2.5rem;
	font-weight: bold;
	text-align: left;
	color: var(--Couleur-Principale-Primaire);

	width: fit-content;
	padding: 0px 20px;

	border-style: solid;
	border-color: var(--Couleur-Orange);
	border-width: 0px 5px 0px 5px;

	margin: 0rem 0 2rem 0;
}

@media (max-width: 1000px) {

	.section-titre {
		font-size: 2rem;
		padding: 0px 10px;
		margin: 0 0 1rem 0;
	}
}
/*#endregion*/
/*#region 01-Menu*/
/*#region Commun*/
.barre-lateral {

	/* Positionnement */
	width: var(--sidebar-width);
	position: fixed;
	right: 0px;
	top: 0px;
	z-index: 10;
}

@media (max-width: 1000px) {

	.barre-lateral {
		width: 100%;
		background-color: var(--Couleur-ArrièrePlan-Primaire);
		display: flex;
		flex-direction: column;
	}
}

/*#endregion*/
/*#region Logo */
.Logo {
	margin-top: 10px;
}

.Logo svg {
	display: flex;
}

@media (max-width: 1000px) {

	.Logo {
		margin: 5px;
	}

	.Logo svg {
		height: 100%;
		width: auto;
	}
}

/*#endregion*/

.menu-sandwich-origine,
#menu-checkbox {
	display: none;
}


@media (max-width: 1000px) {

	.menu-sandwich-origine {
		flex: 1;
		display: flex;
		justify-content: flex-end;
	}

}

.menu-sandwich {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px 5px 5px 5px;
	margin: 5px;
	font-size: 3rem;
	border: 1px;
	height: 50px;
	width: 50px;
}

.menu-constant {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

@media (max-width: 1000px) {
	.menu-constant {
		height: 60px;
	}
}

/*#region Menu de navigation*/
.menu-masquage {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px;
}

@media (max-width: 1000px) {
	.menu-masquage {
		display: none;
		border-bottom: 5px solid var(--Couleur-Orange);
	}

	#menu-checkbox:checked~.menu-masquage {
		display: flex;
		flex-direction: column;
	}
}

.menu-separateur {
	height: 2px;
	background-color: var(--Couleur-Principale-Secondaire);
}

.menu-navigation {
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: var(--Couleur-Principale-Secondaire);
	padding-left: 00px;

	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

@media (max-width: 1000px) {
	.menu-navigation {
		padding-left: 0;
		border-left: 0;
	}
}

.navigation-item a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px;

	transition-property: all;
	transition-duration: 0.2s;
	transition-timing-function: ease;

	background: transparent;
	text-decoration: none;
	color: inherit;
	font-size: 1.2rem;
	font-weight: bold;

	border-radius: 0px;
	border-left: 2px solid var(--Couleur-ArrièrePlan-Secondaire);
}

.navigation-item a:hover {
	border-radius: 10px;
	background: var(--Couleur-Orange);
	color: var(--Couleur-Sombre-Primaire);
}

.menu-navigation .menu-navigation-icone {
	font-size: 1.5rem;
}


/*#endregion*/
/*#region Menu des outils*/
.menu-outils {
	display: grid;
	grid-template-columns: 50px 1fr;
	flex-direction: column;
	gap: 10px;
}

.theme-selecteur {
	width: 40px;
	height: 40px;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--Couleur-ArrièrePlan-Primaire);
	border: 1px solid var(--Couleur-Principale-Secondaire);
	border-radius: 10px;
	position: relative;
	overflow: hidden;
}

.theme-selecteur::after {
	content: '';
	position: absolute;
	inset: -2px;
	background: linear-gradient(45deg, var(--Couleur-Orange), var(--Couleur-Bleu));
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: -1;
	border-radius: 10px;
}

.theme-selecteur:hover::after {
	opacity: 0.15;
}

.theme-selecteur:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.theme-icone {
	width: 22px;
	height: 22px;
	color: var(--Couleur-Principale-Primaire);
	position: absolute;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.soleil-icone {
	opacity: 0;
	transform: rotate(-180deg) scale(0.5);
}

body.js-dark-mode .soleil-icone {
	opacity: 1;
	transform: rotate(0deg) scale(1);
}

.lune-icone {
	opacity: 1;
	transform: rotate(0deg) scale(1);
}

body.js-dark-mode .lune-icone {
	opacity: 0;
	transform: rotate(180deg) scale(0.5);
}

/* Sélecteur de langue */
.langage-selecteur {
	position: relative;
	width: 100%;
}

.langage-combobox {
	width: 100%;
	height: 40px;
	background: var(--Couleur-ArrièrePlan-Primaire);
	border: 1px solid var(--Couleur-Principale-Secondaire);
	padding: 5px 10px;
	border-radius: 10px;
	cursor: pointer;
	color: var(--Couleur-Principale-Primaire);
	font-weight: bold;
	font-size: 1rem;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
}

.langage-combobox:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	border-color: var(--Couleur-Orange);
}

.langage-combobox:focus {
	outline: none;
	border-color: var(--Couleur-Orange);
	box-shadow: 0 0 0 3px rgba(255, 166, 0, 0.2);
}

.langage-combobox option {
	background: var(--Couleur-ArrièrePlan-Primaire);
	color: var(--Couleur-Principale-Primaire);
	padding: 15px 10px;
	/* Augmentez ces valeurs */
	line-height: 2;
	/* Ajoutez cette ligne */
}

/*#endregion*/
/*#endregion*/
/*#region 10-Accueil*/

.section-accueil {
	display: flex;
	flex-direction: column;
}


@media (max-width: 1000px) {
	.section-accueil {
		padding: 0 0 30px 0;
	}
}

.section-nom-LogiQ-Autom .texte-LogiQ {
	font-family: 'DejaVu Sans';
	font-weight: bold;
	color: var(--Couleur-Principale-Primaire);
	font-size: clamp(4rem, 10vw, 8rem);
}

.section-nom-LogiQ-Autom .texte-Autom {
	font-family: 'DejaVu Sans';
	font-weight: bold;
	color: var(--Couleur-Bleu);
	font-size: clamp(2rem, 6vw, 4rem);
}

@media (max-width: 1000px) {
	.section-nom-LogiQ-Autom {
		margin: 0px 0px;
	}
}

.section-sous-titre {
	font-size: 2.5rem;
	font-weight: bold;
	text-align: left;
	color: var(--Couleur-Principale-Primaire);

	width: fit-content;
	padding: 0px 20px;

	border-style: solid;
	border-color: var(--Couleur-Orange);
	border-width: 0px 5px 0px 5px;

	margin: 0rem 0 2rem 0;
}

@media (max-width: 1000px) {

	.section-sous-titre {
		font-size: 2rem;
		padding: 0px 10px;
		margin: 0rem 0 1rem 0;
	}
}

.section-description {
	font-size: 1.3rem;
	line-height: 2;

	text-decoration: underline;
	text-decoration-color: var(--Couleur-ArrièrePlan-Secondaire);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.6rem;

	margin: 1rem 0;
}

@media (max-width: 1000px) {
	.section-description {
		font-size: 1rem;
		line-height: 1.6;
		text-underline-offset: 0.3rem;
	}
}

.caractéristiques-grille {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	margin: 50px 40px;
	max-width: 1000px;
}

@media (max-width: 1000px) {
	.caractéristiques-grille {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		margin: 10px 10px;
	}
}

.caractéristiques-carte {
	background: var(--Couleur-ArrièrePlan-Secondaire);
	border-width: 2px;
	border-style: solid;
	border-color: #7f7f7f;
	border-radius: 15px;
	padding: 20px;
	transition: all 0.3s ease;
}

@media (max-width: 1000px) {
	.caractéristiques-carte {
		border-radius: 10px;
		padding: 8px;
	}
}

.caractéristiques-carte:hover {
	transform: translateY(-10px);
	border-color: var(--Couleur-Orange);

	border-width: 2px;
}

@media (max-width: 1000px) {
	.caractéristiques-carte:hover {
		transform: translateY(-2px);
	}
}

.caractéristiques-en-tête {
	display: flex;
	align-items: center;
	gap: 20px;
}

@media (max-width: 1000px) {
	.caractéristiques-en-tête {
		gap: 10px;
	}
}

.caractéristiques-icone {
	background: var(--Couleur-Bleu);
	border-radius: 2rem;
	display: flex;
	font-size: 2rem;
	padding: 5px;
}

@media (max-width: 1000px) {
	.caractéristiques-icone {
		font-size: 1.2rem;
		padding: 5px;
	}
}

.caractéristiques-titre {
	font-size: 2rem;
	font-weight: bold;
	margin: 0;
}

@media (max-width: 1000px) {
	.caractéristiques-titre {
		font-size: 1.6rem;
	}
}

.caractéristiques-description {
	margin: 20px 0px 0px 0px;
	line-height: 1.6;
}

@media (max-width: 1000px) {
	.caractéristiques-description {
		margin: 5px 0px 0px 0px;
		line-height: 1.3;
	}
}

.prendre-contact {
	margin-top: 30px;
	display: flex;
	justify-content: flex-end;
}

@media (max-width: 1000px) {
	.prendre-contact {
		margin-top: 20px;
	}
}

.bouton {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	background: transparent;
	color: var(--Couleur-Principale-Primaire);
	border: 3px solid var(--Couleur-Orange);
	padding: 15px 25px;
	border-radius: 30px;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.4rem;
	position: relative;
	overflow: hidden;
	transition: all 0.4s ease;
}

@media (max-width: 1000px) {
	.bouton {
		display: inline-flex;
		align-items: center;
		gap: 15px;
		background: transparent;
		color: var(--Couleur-Principale-Primaire);
		border: 3px solid var(--Couleur-Orange);
		padding: 15px 25px;
		border-radius: 30px;
		text-decoration: none;
		font-weight: bold;
		font-size: 1.4rem;
		position: relative;
		overflow: hidden;
		transition: all 0.4s ease;
	}
}

.bouton::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: var(--Couleur-Orange);
	transition: left 0.4s ease;
	z-index: -1;
}

.bouton:hover::before {
	left: 0;
}

.bouton:hover {
	color: var(--Couleur-Sombre-Primaire);
}

/*#endregion */
/*#region 20-Services*/
/*Section services*/
.services-conteneur {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 90%;
}

.services-conteneur-principale {
	display: flex;
	gap: 40px;
}

@media (max-width: 1000px) {
	.services-conteneur-principale {
		flex-direction: column;
		gap: 20px;
	}
}

/* Menu de gauche */
.services-menu {
	display: flex;
	flex-direction: column;
}

.services-liste {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 0;
	margin: 0;
}

@media (max-width: 1000px) {
	.services-liste {
		gap: 5px;
	}
}

.service-item {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.8rem;
	cursor: pointer;
	border-left: 4px solid transparent;
	transition: all 0.3s ease;
	border-radius: 8px;
}

@media (max-width: 1000px) {
	.service-item {
		gap: 0.5rem;
		padding: 0.2rem 0.4rem;
	}
}

.service-item:hover {
	background: var(--Couleur-ArrièrePlan-Secondaire);
	border-left-color: var(--Couleur-Orange);
}

.service-item.js-active {
	background: var(--Couleur-Orange);
	border-left-color: var(--Couleur-Bleu);
	color: var(--Couleur-Sombre-Primaire);
}

.service-numero {
	font-size: 1.8rem;
	font-weight: bold;
	opacity: 0.5;
}

@media (max-width: 1000px) {
	.service-numero {
		font-size: 1.5rem;
	}
}

.service-item.js-active .service-numero {
	opacity: 1;
}

.service-nom {
	font-size: 1.2rem;
	font-weight: bold;
}

/* Zone de détails à droite */
.services-details {
	flex: 1;
	position: relative;
	overflow: hidden;
	padding-bottom: 4px;
}

.service-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transform: translateX(50px);
	transition: all 0.5s ease;
	pointer-events: none;
}

.service-content.js-active {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}

.service-content h3 {
	font-size: 2.5rem;
	margin: 0px;
	color: var(--Couleur-Bleu);
	border-bottom: 3px solid var(--Couleur-Orange);
	padding-bottom: 15px;
}

@media (max-width: 1000px) {
	.service-content h3 {
		font-size: 1.8rem;
		padding-bottom: 10px;
	}
}

.service-content ul {
	list-style: none;
	padding: 0;
}

.service-content ul li {
	font-size: 1.2rem;
	padding: 12px 0 12px 30px;
	position: relative;
	line-height: 1.6;
}

@media (max-width: 1000px) {
	.service-content ul li {
		font-size: 1.1rem;
		padding: 5px 0 5px 30px;
	}
}

.service-content ul li::before {
	content: '▸';
	position: absolute;
	left: 5px;
	color: var(--Couleur-Orange);
	font-size: 1.4rem;
}

/* Barre de progression */
.barre_progression {
	position: absolute;
	bottom: 0;
	height: 6px;
	width: 100%;
	border-radius: 3px;
	background-color: var(--Couleur-ArrièrePlan-Secondaire);
	overflow: hidden;
}

.barre_progression-animation {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg,
			var(--Couleur-Bleu) 0%,
			var(--Couleur-Orange) 100%);
	transition: none;
	z-index: 10;
	/* Au-dessus du contenu */
}

/* Animation de remplissage */
.barre_progression-animation.js-animating {
	animation: fillProgress 5s linear forwards;
}

@keyframes fillProgress {
	from {
		width: 0%;
	}

	to {
		width: 100%;
	}
}

.service-commentaire-conteneur {
	padding: 10px;
	line-height: 1.6;
	border-left: 4px solid var(--Couleur-Bleu);
	margin-top: 20px;
}

@media (max-width: 1000px) {
	.service-commentaire-conteneur {
		padding: 0px 5px;
		line-height: 1.6;
	}
}

.service-commentaire-titre {
	font-size: 1.3rem;
	font-weight: bold;
	color: var(--Couleur-Bleu);
	margin: 0px 0px 0px 0px;

}

.service-commentaire-texte {
	position: relative;
	padding-left: 30px;
	margin-top: 10px;
	margin-bottom: 0;
	font-size: 1rem;
}

@media (max-width: 1000px) {
	.service-commentaire-texte {
		padding-left: 10px;
		margin-top: 5px;
		font-size: 0.9rem;
	}
}


/*#endregion*/
/*#region 30-Applications*/
.section-applications .sous-titre {
	font-size: 1.3rem;
	line-height: 1.8;
	margin-bottom: 40px;
	color: var(--Couleur-Principale-Secondaire);
}

@media (max-width: 1000px) {
	.section-applications .sous-titre {
		font-size: 1.2rem;
		line-height: 1.4;
		margin-bottom: 20px;
	}
}

/* Conteneur des domaines */
.applications-grille {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

@media (max-width: 1000px) {
	.applications-grille {
		gap: 20px;
		grid-template-columns: 1fr;
	}
}

/* Carte de domaine */
.domaine-carte {
	border: 2px solid var(--Couleur-Principale-Secondaire);
	border-radius: 15px;
	overflow: hidden;
	position: relative;
	transition: all 0.3s ease;
	background-size: cover;
	background-position: center;
}

.domaine-carte-agroalimentaire {
	background-image:
		linear-gradient(135deg,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 80%) 0%,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 60%) 70%,
			rgb(from var(--Couleur-Bleu) r g b / 70%) 100%),
		url('../images/illustrations/illustration-Agroalimentaire.webp');
}

/* Mode sombre */
body.js-dark-mode .domaine-carte-agroalimentaire {
	background-image:
		linear-gradient(135deg,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 90%) 0%,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 75%) 70%,
			rgb(from var(--Couleur-Bleu) r g b / 60%) 100%),
		url('../images/illustrations/illustration-Agroalimentaire.webp');
}

.domaine-carte-pharmaceutique {
	background-image:
		linear-gradient(135deg,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 80%) 0%,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 60%) 70%,
			rgb(from var(--Couleur-Bleu) r g b / 60%) 100%),
		url('../images/illustrations/illustration-Pharmaceutique.webp');
}

/* Mode sombre */
body.js-dark-mode .domaine-carte-pharmaceutique {
	background-image:
		linear-gradient(135deg,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 90%) 0%,
			rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 75%) 70%,
			rgb(from var(--Couleur-Bleu) r g b / 60%) 100%),
		url('../images/illustrations/illustration-Pharmaceutique.webp');
}

.domaine-carte:hover {
	transform: translateY(-5px);
	border-color: var(--Couleur-Orange);
	box-shadow: 0 15px 40px rgb(from var(--Couleur-Orange) r g b / 20%);
}

/* Contenu par-dessus l'image */
.domaine-contenu {
	padding: 30px;
}

@media (max-width: 1000px) {
	.domaine-contenu {
		padding: 10px;
	}
}

.domaine-contenu-titre {
	color: var(--Couleur-Principale-Primaire);
	margin: 0;
	padding-bottom: 15px;
	border-bottom: 3px solid var(--Couleur-Orange);
}

@media (max-width: 1000px) {
	.domaine-contenu-titre {
		padding-bottom: 10px;
	}
}

/* Description */
.domaine-contenu-texte {
	font-weight: bold;
	font-size: 1.1rem;
	line-height: 1.8;
	padding: 10px;
	border-left: 3px solid var(--Couleur-Orange);
	border-radius: 10px;
	background: rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 60%);
}

@media (max-width: 1000px) {
	.domaine-contenu-texte {
		font-size: 1rem;
		line-height: 1.6;
		padding: 5px 5px 5px 10px;
	}
}

/* Liste d'exemples */
.domaine-contenu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	background: rgb(from var(--Couleur-ArrièrePlan-Primaire) r g b / 60%);
	padding: 10px;
	border-radius: 10px;
}

.domaine-contenu ul li {
	font-size: 1rem;
	padding: 5px 0 5px 35px;
	position: relative;
	line-height: 1.6;
	color: var(--Couleur-Principale-Primaire);
	transition: all 0.2s ease;
}

@media (max-width: 1000px) {
	.domaine-contenu ul li {
		font-size: 1rem;
		padding: 5px 0 5px 20px;
		line-height: 1.3;
	}

}

.domaine-contenu ul li::before {
	content: '✓';
	position: absolute;
	left: 10px;
	color: green;
	font-size: 1.2rem;
	font-weight: bold;
	transition: all 0.2s ease;
}

@media (max-width: 1000px) {
	.domaine-contenu ul li::before {
		left: 0px;
		font-size: 1rem;
	}
}




/*#endregion*/
/*#region 40-À propos*/
.section-apropos .content-box {
	width: 100%;
	max-width: 1200px;
}

.apropos-conteneur {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.apropos-origine {
	background: linear-gradient(170deg, var(--Couleur-ArrièrePlan-Primaire) 90%, var(--Couleur-ArrièrePlan-Secondaire) 100%);
	border-radius: 12px;
	overflow: hidden;
	border: 2px solid var(--Couleur-Bleu);
	border-left: 4px solid var(--Couleur-Orange);
	position: relative;
	transition: all 0.3s ease;
}

.apropos-origine:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 25px var(--Couleur-ArrièrePlan-Secondaire);
}

.origine-header {
	background: var(--Couleur-Bleu);
	padding: 12px 30px;
}

@media (max-width: 1000px) {
	.origine-header {
		padding: 5px 10px;
	}
}

.origine-header h3 {
	font-size: 1.8rem;
	color: white;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 1px;
}

@media (max-width: 1000px) {
	.origine-header h3 {
		font-size: 1.5rem;
	}
}

.origine-contenu {
	padding: 20px 30px;
}

@media (max-width: 1000px) {
	.origine-contenu {
		padding: 10px 10px 10px 15px;
	}
}

.origine-contenu p {
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--Couleur-Principale-Primaire);
	margin: 0 0 12px 0;
}

.origine-contenu p:last-child {
	margin-bottom: 0;
	font-weight: bold;
	color: var(--Couleur-Bleu);
}

/* GRILLE 3 CARTES */
.apropos-grille {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}


@media (max-width: 1000px) {
	.apropos-grille {
		grid-template-columns: 1fr;
	}
}

.apropos-carte {
	background: var(--Couleur-ArrièrePlan-Secondaire);
	padding: 20px;
	border-radius: 12px;
	border: 2px solid transparent;
	border-left: 4px solid var(--Couleur-Bleu);
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

@media (max-width: 1000px) {
	.apropos-carte {
		padding: 10px;
	}
}

.apropos-carte:hover {
	transform: translateY(-3px);
	border-color: var(--Couleur-Orange);
	box-shadow: 0 8px 20px var(--Couleur-ArrièrePlan-Secondaire);
}

.apropos-carte h3 {
	font-size: 1.5rem;
	color: var(--Couleur-Orange);
	margin: 0 0 12px 0;
	position: relative;
	display: inline-block;
}

@media (max-width: 1000px) {
	.apropos-carte h3 {
		font-size: 1.3rem;
		margin: 0 0 8px 0;
	}
}

.apropos-carte h3::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 40px;
	height: 2px;
	background: var(--Couleur-Bleu);
	transition: width 0.3s ease;
}

.apropos-carte:hover h3::after {
	width: 100%;
}

.apropos-carte p {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--Couleur-Principale-Primaire);
	margin: 0;
}



/*#endregion*/
/*#region 50-Contact*/
.contact-conteneur {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 15px;
	width: 100%;
}

@media (max-width: 1000px) {
	.contact-conteneur {
		grid-template-columns: 1fr;
		gap: 10px;
		width: 100%;
	}
}

.contact-formulaire-global {
	background: var(--Couleur-ArrièrePlan-Secondaire);
	padding: 20px;
	border-radius: 10px;
	border: 2px solid #7f7f7f;
}

@media (max-width: 1000px) {
	.contact-formulaire-global {
		padding: 10px;
	}
}

/*#region Formulaire de contact*/
.contact-intro {
	font-size: 2rem;
	color: var(--Couleur-Principale-Primaire);
	margin: 0 0 25px 0;
	font-weight: bold;
}

@media (max-width: 1000px) {
	.contact-intro {
		font-size: 1.5rem;
		margin: 0 0 10px 0;
	}
}

.contact-formulaire {
	container-type: inline-size;
	container-name: formulaire;
}

.contact-formulaire-champs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

@media (max-width: 1000px) {
	.contact-formulaire-champs {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

.contact-formulaire-message {
	grid-column: 1 / -1;
}

.contact-formulaire input,
.contact-formulaire textarea {
	padding: 10px;
	border: 2px solid transparent;
	border-radius: 5px;
	font-size: 1rem;
	font-family: inherit;
	background: var(--Couleur-ArrièrePlan-Primaire);
	color: var(--Couleur-Principale-Primaire);
	transition: all 0.3s ease;
}

.contact-formulaire input:focus,
.contact-formulaire textarea:focus {
	outline: none;
	border-color: var(--Couleur-Bleu);
}

.contact-formulaire textarea {
	resize: none;
	min-height: 200px;
}

.contact-formulaire-envoi {
	padding: 12px 30px;
	background: var(--Couleur-Bleu);
	color: var(--Couleur-Principale-Primaire);
	border-width: 0px;
	border-radius: 25px;
	font-size: 1.1rem;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.contact-formulaire-envoi::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: var(--Couleur-Orange);
	transition: left 0.4s ease;
	z-index: -1;
}

.contact-formulaire-envoi:hover::before {
	left: 0;
}

.contact-formulaire-envoi:hover {
	color: var(--Couleur-Sombre-Primaire);
}

.contact-formulaire-rapide {
	display: flex;

	align-items: center;
	padding: 5px;
	margin: 0px;

	font-weight: bold;
	font-size: 1rem;
}

/*#endregion*/
/*#region Informations */
.contact-informations {
	display: flex;
	flex-direction: column;
	gap: 15px;
	align-self: stretch;
}

.contact-info-catégorie {
	background: var(--Couleur-ArrièrePlan-Secondaire);
	padding: 15px;
	border-radius: 10px;
	border: 2px solid transparent;
	border-left: 4px solid var(--Couleur-Bleu);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	flex: auto;
	gap: 15px;
}

@media (max-width: 1000px) {
	.contact-info-catégorie {
		padding: 10px;
		gap: 10px;
	}
}

.contact-info-catégorie:hover {
	transform: translateY(-3px);
	border-color: var(--Couleur-Orange);
	box-shadow: 0 8px 20px var(--Couleur-ArrièrePlan-Secondaire);
}

.contact-info-catégorie h3 {
	font-size: 2rem;
	color: var(--Couleur-Principale-Primaire);
	margin: 0;
}

@media (max-width: 1000px) {
	.contact-info-catégorie h3 {
		font-size: 1.6rem;
	}
}

.contact-info-objet {
	display: grid;
	grid-template-columns: 2rem 1fr;
	gap: 5px;

	border-radius: 5px;

	text-decoration: none;
	font-size: 1.2rem;
	font-weight: bold;
}

@media (max-width: 1000px) {
	.contact-info-objet {
		font-size: 1rem;
	}
}

.contact-info-objet p,
.contact-info-objet a {
	margin: 0px;
	text-decoration: none;
	color: var(--Couleur-Principale-Primaire);
}

.contact-info-icone {
	display: flex;
	justify-content: center;
}

.contact-info-zones {
	margin-left: 30px;
}

/*#endregion*/
/*#endregion*/










