@font-face {
  font-family: "fontRegular";
  src: url("/local/fonts/Nunito/Nunito-Light.ttf");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "fontBold";
  src: url("/local/fonts/Nunito/Nunito-Bold.ttf");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "fontTitre";
  src: url("/local/fonts/DMSerifDisplay/DMSerifDisplay-Regular.ttf");
  font-weight: 100;
  font-style: normal;
  font-display: swap;

}

:root, :host
{	
	
	--couleurText: #162D23;
	--couleur2: oklch(from var(--couleur1) 75% calc(c * 0.6) h);
	--couleurVueBackground: oklch(from var(--couleur1) 96% calc(c * 0.08) h);

	
	--couleur1:#F0CB79;
	--couleurClaire1: #ede7dc;
	
	--couleurClaire1vv:linear-gradient(315deg, #EAF3E8, #F2F3F5);
	--couleurClaire2:#fef9f0;
	--couleurClaire3:rgb(133, 166, 153);
	--couleur2:#2D543A;
	--couleur3:#507D4C;
	--couleur4:#7EA65A;
	--couleur5:#B6D065;
	--couleur6:#F9F871;
	--couleur7:#f9c571;
	--couleur8:rgba(214, 169, 106, 0.2);
		
	--couleurTitre: rgba(37, 75, 59, 1);	
	--couleurNeutre1:#F1FCF6;
	--couleurNeutre2:#E8F3F5;
	
	--couleurBTN:#F9F871;
	--couleurBTN2:#D6A96A;
	--couleurBTNText:#162D23;
	
	
	
	--couleurValidation:#2ecc71;
	--couleurAvertissement: #F2747C;
	--couleurLegende: rgb(0, 146, 255);

	--degrader1:linear-gradient(315deg, rgb(37, 75, 60), rgb(108, 161, 136));
	
	--couleurBodyBackgroundClaire:#f3f2ee;
	--couleurBodyBackground:#fff;
				
	--borderRadiusXS:10px;
	--borderRadiusS:15px;
	--borderRadius: 20px;
	--borderRadiusXL:25px;
	--borderRadiusXXL:30px;
				
	--boxShadow: 0 4px 30px rgba(0, 0, 0, 0.1);

	--fontBody: fontRegular;
	--fontTitre: fontTitre;
	--fontBold: fontBold;
	
	--paddingXS:10px 0;
	--padding:50px;
	--maxWidth: min(95%, 1400px);
	
	@media (max-width: 768px)
	{
		--maxWidth: 80%;
	}
	--fontAwesome : "Font Awesome 7 Pro";
	
	--headerHeight:90px;
	
	--formCouleurBordure:#d7d7d7;
	--formBorderRadius:10px;
	--formCouleurFocus:#efdf80;
	--formCouleurInput:white;


	--duree-transition-view:1s;
	
	h1, h2, h3, h4, h5, h6
	{
		font-family: var(--fontTitre);
		margin: 0;
		font-weight: 100;
		color: var(--couleurTitre);
	}
	
	h1{
		font-size: 4em;
		line-height: .95;
		color: white;
	}
	
	h2{
		font-size: 2.5em;
		line-height: 1;
	}
	
	h3{
		font-size: 2.25em;
		line-height: 1.05;
	}
	
	h4{
		font-size: 2em;
		line-height: 1.1;
	}
	
	h5{
		font-size: 1.75em;
		line-height: 1.15;
	}
	
	h6{
		font-size: 1.5em;
		line-height: 1.2;
	}	  
}
.grid, [class*="grid"] 
{
	display: grid;
	gap: 1em;
}

@media (max-width: 820px) 
{
	.grid, [class*="grid"]{
		display: block;
	}	
}

.gap0{gap: 0}

/*-----------------------------------------------------------------*/
/* 2 COLONNES	                              	               */
/*-----------------------------------------------------------------*/

.grid_1_1{ grid-template-columns: minmax(0,1fr) minmax(0,1fr);}
.grid_1_1_30px{ grid-template-columns: 1fr 1fr 30px}
.grid_2_1{ grid-template-columns: 2fr 1fr}
.grid_1_2{ grid-template-columns: 1fr 2fr}
.grid_3_1{ grid-template-columns: 3fr 1fr}
.grid_1_3{ grid-template-columns: 1fr 3fr}

/*-----------------------------------------------------------------*/
/* 3 COLONNES		                              	               */
/*-----------------------------------------------------------------*/
.grid_1_1_1{ grid-template-columns: 1fr 1fr 1fr}
.grid_3_1_1{ grid-template-columns: 3fr 1fr 1fr}

/*-----------------------------------------------------------------*/
/* 4 COLONNES		                              	               */
/*-----------------------------------------------------------------*/
.grid_1_1_1_1{ grid-template-columns: 1fr 1fr 1fr 1fr}

*{box-sizing:border-box; -ms-overflow-style: none; scrollbar-width: none;
  scroll-behavior: smooth;}
*::-webkit-scrollbar {display: none;}

html, body
{
	padding: 0;
	margin: 0;
	min-height: 100dvh;
	
	
}

@media (max-width: 768px)
{
	html, body
	{
		
		width: 100dvw;
		overflow-x: hidden;
		overflow-y: auto;
	}
	
}


body
{
	&
	{
		background: var(--couleurClaire1);
		
		color:var(--couleurText);
		font-family: var(--fontBody);
		font-size: 1.4rem;
		
	}
	
	.btn{
		border-radius: var(--borderRadiusXS);
		background: var(--couleur1);
		padding: 10px 20px;
		text-decoration: none;
		margin: 10px 0;
		display: inline-flex;
		gap: .5em;
		color: var(--couleurText);
		background: var(--couleurBTN);
		transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
		transform: scale(1);	
		font-weight: 100;
	}
	
	.btn:hover{
		transform: scale(1.01);
	}
	
	.btn i{
		line-height: 30px;
	}
	
	a{
		color: #887344;
		font-weight: bold;
	}
	
	#corps{
		background: var(--couleurClaire1);
		border-radius: var(--borderRadius);
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		position: relative;
		z-index: 1
						
	}
	
	:where([data-composant="presentation-offre"], [data-composant="processus-expliquer"]) 
	{
		h3
		{
			position: relative;
			margin-bottom: 50px!important;
		}
		
		h3:after{
			content: "";
			background: #BBA574;
			height: 2px;
			width: 100px;
			bottom: -25px;
			position: absolute;
			left: 0px;
		}
	}
	
	
	
}


.balise
{
	&{
		background: white;
		padding: 5px 30px;
		border-radius: var(--borderRadiusS);
		width: fit-content;
		font-size: .8em;
		position: relative;
		padding-right: 20px;
		margin-bottom: 20px
	}
	
	&:before
	{
		content: " ";
		aspect-ratio: 1/1;
		width: 10px;
		background: var(--couleurText);
		border-radius: 50%;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
	}
}

header
{
	&
	{
		width: var(--maxWidth);
		margin: auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	nav
	{
		&
		{
			display: flex;
			gap: 1em;
			align-items: center;
		}
		
		@media (max-width: 768px)
		{
			&{
				display: none;
			}
			
		}
		
		a{
			color: var(--couleurText); 
			text-decoration: none; 
			font-family: var(--fontBody); 
			font-weight: 100;
			font-size: .8em;
			padding: 10px 10px;
			border-radius: var(--borderRadius);
		}
		
		a:hover{
			background: var(--couleur1);
			color: white;
		}
		
		.btn{
			margin: 10px 0;
			align-items: center;
		}
	}	
}

#_accueil 
{
	
	#banniere
	{
		width: var(--maxWidth);
		margin: auto;
		border-radius: var(--borderRadius);
		overflow: hidden;
		margin-bottom: 20px;
	}
	
	@media (max-width: 768px) 
	{
		#banniere{
			height: 80dvh;
			width : 95%;
		}
		
	}
	
	
	
	#garanties{
		ul{
			display: flex;
			gap: 1em;
			background: white;
			width: fit-content;
			border-radius: 100px;
			padding: 20px 0px;
			margin: -20px auto 20px auto;
			position: relative;
			z-index: 3;
			color: #3e2006;
			border-top: 5px solid var(--couleurClaire2);
			font-size: .8em;
		}
		
		li
		{
			list-style: none;
			width: 200px;
			padding: 0 10px;
			border-right: 1px solid ;
			font-size: 0.8em;
		}
		
		li:first-child
		{
			margin-left: 50px;
		}
		li:last-child
		{
			border: none;
		}
		
		p{
			margin: 0
		}
		
		i{
			display: none;
		}
		strong
		{
			display: block;
			font-size: 1.5em;
			margin-top: -5px;
		}
	}
	
	
	
	
	[data-composant="citation-centrer"]
	{
		background: var(--couleurClaire2);
		padding: var(--padding);
		width: var(--maxWidth);
		margin: auto;
		border-radius: var(--borderRadius);
		text-align: center;
		font-size: 1.3em;
	}
	
	[data-composant="citation-1"]
	{
		font-family: var(--fontTitre);
		font-size: 2.5em;
		color: var(--couleurTitre);
		line-height: 1;
		margin: 0;
	}
	
	@media (max-width: 768px) 
	{
		[data-composant="citation-1"]{
			font-size: 1.5em;
			text-align: center;
		}	
	}
	
	
	
	
	
	
	
	
	
	#faq{
		padding: var(--padding) 0;
	}
	#questions
	{
		&{
			border-radius: var(--borderRadiusXS);
			position: relative;
			z-index: 2;
			background: var(--couleurClaire1);
		}
		
		h2{
			color: white;
		}
	}
	
	#garanties2
	{
		margin-bottom: -40px;
		border-radius: var(--borderRadius);
	}
	
}


#corps{
	background: var(--couleurClaire1);
	border-radius: var(--borderRadiusXS);
}

#corps main
{			
}

footer{
	&{
		background: var(--degrader1);
		color: white;
		padding: 20px;
		padding-top:40px;
		position: sticky;
		bottom: 0;
		margin-top: -20px;
		
	}
	
	@media (max-width: 820px)
	{
		h2, h3{
			font-size: 1.5em!important;
		}
	}
	
	#copyright{
		font-size: .8em;
	}
	
	& > div {
		display: flex;
		justify-content: space-between;
		gap: 1em;
	}
	
	@media (max-width: 720px)
	{
		& > div {
			display: block;
		}
	}
	
	
	@media (max-width: 820px)
	{
		& > div > div{
			max-width: 350px;
		}
	}
	
	.txt{
		max-width: 500px;
	}
	nav{
		display: flex;
		gap: 1em;
	}
	
	@media (max-width: 720px)
	{
		nav {
			font-size: .8em;
		}
	}
	
	
	ul{
		padding-left: 0;
	}
	li{
		list-style: none;
		padding-left: 0;
	}
	
	h2, h3, h4{
		color: white !important;
	}
	
	
	a{
		color: white;
	}
	
	li a{
		text-decoration: none;
	}
}
[data-composant="form"]
{
	.parent
	{
		margin-bottom: 20px;
	}
	
	label
	{
		display: block; 
		margin-bottom:5px;
		min-height: 20px;
		cursor: pointer;
	}
	
	.blocInput
	{
		&
		{
			transition: background .5s ease, border .5s ease;
			padding: 0;
			margin: 0;
			display: grid;
			grid-template-columns: 45px auto 45px;
			border-radius: var(--formBorderRadius);
			position: relative;
			overflow: hidden;
			gap: 0px;
			align-items: center;
			min-height: 55px;
		}
		
		*
		{
			transition: opacity .5s ease;
		}
		
		&:has([disabled])
		{
			background: #ccc; 
			cursor: not-allowed
		}
		
		&:has([disabled]) *
		{
			cursor: not-allowed;
		}
		
		&:not(:has([required])):has(output:empty)
		{
			grid-template-columns: 45px auto 0;
		}
		
		.avantChamp, .apresChamp
		{
			color: #9d9e9e;
			display: flex;
			justify-content: center;
			height: 100%;
			align-items: center;
			flex-direction: column-reverse;
			padding: 5px;		
			background: #fff;
			width: 100%;
		}
		
		.avantChamp
		{
			font-size: 1.1em
		}
		
		.champ
		{
			&
			{
				display: block;
				height: 100%;
			}
			
			input, textarea, select
			{
				outline: none;
			}
			
			input:not([type="checkbox"]):not([type="radio"])
			, textarea
			{
				width: 100%;
				height: 100%;
				padding: 0 10px;
				font-weight: 400;
				font-size: 1em;
				background-color: var(--formCouleurInput);
				border: none;
			}
			
			&:has(textarea)
			{
				height: 200px;
			}
			
			textarea
			{
				padding: 5px;
				height: 100%;
			}
			
		}
		
		.apresChamp
		{
			background: #fff;
			gap: 5px;
			font-size: 1.5em;
			position: relative;
			z-index: 1;
			
		}
		
		.apresChamp::before
		{
			background: #fff;
			content: " ";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			display: block;
		}
		
		output
		{
			&
			{	
				font-size: .4em;
				z-index: 1;
			}
			
			&:empty
			{
				display: none;
			}
			
			&.avertissement
			{
				color: var(--couleurAvertissement);
			}	
		}
		
		.legende
		{
			color:var(--couleurLegende);
			font-size: .8em;
			font-style: italic;
		}
		
		.explicationErreur
		{
			min-height: 20px;
			margin-top:5px;
			color: #fff;
			
			background: var(--couleurAvertissement);
			padding: 10px;
			border-radius: var(--borderRadiusMin);
			padding-top: 20px;
			border: 1px solid var(--couleurAvertissement);
			position: relative;
			z-index: -1;
		
			margin-top: -15px;
			margin-bottom: 20px;
			transition: margin-top .5s ease, opacity .5s ease;
			opacity: 1;
		}
		
		.explicationErreur:empty
		{
			margin-top: -55px;
			opacity: 0;
		}
		
	}
	
	.submit
	{
		position: relative;
	}
	.submit button
	{
		background: var(--couleurBTN);
		color: var(--couleurText);
		padding: 10px;
		border-radius: var(--borderRadius);
		text-align: center;
		transition: opacity .5s ease;
		border: 1px solid var(--couleurBTN);
		width: 100%;
		font-size: 1em;
		opacity: 1;
		cursor: pointer;
		font-weight: 100;
	}
	
	&:has(:invalid) button
	{
		/*opacity: .5;*/
	}
	
	&:has(:invalid) .submit:after
	{
		content: " ";
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0,0,0,0);
		width: 100%;
		height: 100%;
		z-index: 1;
		cursor: not-allowed;
	}
	
	
	.parent:has([required])
	{
		.apresChamp::after 
		{
			font-weight: 300;
			font-family: var(--fontAwesome);
			justify-content: end;
			content: " ";
			z-index: 1;
		}
		
		.blocInput:has(:valid) .apresChamp:after
		{
			content: "\f058";
			color: var(--couleurValidation);
		}
		
		.blocInput:has(:invalid) .apresChamp::after 
		{
			content: "\f071";
			color: var(--couleurAvertissement);
		
		}
		
	}
	
	
	
	
	
	
	.desactiver-border .blocInput
	{
		border: 2px solid var(--formCouleurBordure);
	}
	
	
	.parent:not(.desactiver-border):has(:focus)
	, .parent:not(.desactiver-border):has(:focus):has(:hover)
	{
		border-color: var(--formCouleurFocus)
	}
	
	.masquer-bordure .blocInput
	{
		border:none;
	}
	
	.parent:has(.explicationErreur:not(:empty)) .blocInput.invalid
	{
		border-color: var(--couleurAvertissement)!important;
	}

	.supprimer-espace-label label:empty
	{
		display: none;
	}
	
	.supprimer-espace-bottom
	{
		margin-bottom: 0!important
	}
	
	input:not([type="checkbox"]):not([type="radio"])[disabled]
	, select[disabled], textarea[disabled]
	, input:not([type="checkbox"]):not([type="radio"])[readonly]
	, select[readonly], textarea[readonly]
	{
		background-color: var(--formCouleurBordure);	
	}
	
	.reassurances
	{
		display: flex;
		gap: 1em;
		padding-left: 0;
		font-size: .7em;
		
		--fa-primary-color: rgb(255, 255, 255);
		--fa-secondary-color: var(--couleurBTN); 
		--fa-secondary-opacity: 1;
	}
	
	@media (max-width: 768px) 
	{
		.reassurances{
			justify-content:center;
		}
	}
	
	.reassurances li
	{
		list-style: none;
	}
	
	.reassurances li i
	{
		color:var(--couleurBTN);
	}
	
	@media (max-width: 768px)
	{
		.reassurances li
		{
			display: flex;
			flex-direction: column;
			align-items: center;
		}
		
		.reassurances li i
		{
			display: block;
		}
	}
}
section[data-composant="banniere-hero"]{
	&{
		width: 100%;
		margin: auto;
		text-align: center;
		height: calc(100dvh - var(--headerHeight) - 10px);

		color: #fff;
		position:relative;
	}
	
	
	
	strong{
		color: var(--couleurBTN);
	}
	.btn{
		width: fit-content;
	}
	
	@media (max-width: 768px)
	{
		.btn{
			margin: auto;
		}
	}
	
	@media (min-width: 768px)
	{
		&{
			text-align: left;
		}
		
	}
	
	

	.slide
	{
		&
		{
			height: 100%;
			position:relative;
			display: grid;
			align-items: center;
		}
		
		
		&:before
		{
			content: "";
			position: absolute;
			inset: 0;
			z-index: 2;
			top: 0;
			left: 0;
			background: linear-gradient(69deg, rgba(146, 85, 20, 0.7) 30.25%, rgba(22, 45, 35, 0.2) 40%, rgba(255, 255, 255, 0) 55.46%);
			
		}
		
		
		@media (max-width: 768px) 
		{
			&{
			}
			
			&:before{
				background: rgba(146, 85, 20, 0.6);
				
			}
			
		}
		
		h1{
			font-size: 1.5em;
		}
		
		@media (max-width: 768px)
		{
			h1{
				font-size: 1em
			}
		}
		
		h1 strong{
			display: block;
			font-size: 2.5em;
		}
		
		
		.txts{
			padding: var(--padding);
			position:relative;
			z-index: 3;
			max-width: 700px;
		}
		
		@media (max-width: 768px)
		{
			.txts
			{
				padding: calc(var(--padding) / 2);		
			}
		}
		
		@media (max-width: 768px)
		{
			.btn
			{
				font-size: .8em;
			}
		}
		
		.media
		{
			flex: 1;
			align-content: center;
			position: absolute;
			inset: 0;
			z-index: 1;
			top: 0;
			left: 0;
			
		}
		
		@media (max-width: 1200px)
		{
			&{
				flex-direction: column;
			}
		}
		
		
		
		
		
		img
		{
			width: 100%;
			height: 100%;
			object-fit: cover;
		}	
	}	
	
	
	.reassurances
	{
		display: flex;
		gap: 1em;
		padding-left: 0;
		font-size: .7em;
		
		--fa-primary-color: rgb(255, 255, 255);
		--fa-secondary-color: var(--couleurBTN); 
		--fa-secondary-opacity: 1;
	}
	
	@media (max-width: 768px) 
	{
		.reassurances{
			justify-content:center;
		}
	}
	
	.reassurances li
	{
		list-style: none;
	}
	
	.reassurances li i
	{
		color:var(--couleurBTN);
	}
	
	@media (max-width: 768px)
	{
		.reassurances li
		{
			display: flex;
			flex-direction: column;
			align-items: center;
		}
		
		.reassurances li i
		{
			display: block;
		}
	}
}	
[data-composant="liste-image"]
{
	.txts{
		width: var(--maxWidth);
		margin: auto;
		border-radius: var(--borderRadius);
		overflow: hidden;
	}
	
	@media (max-width: 768px) 
	{
		.txts{
			width : 95%;
		}
		
	}
	
	.liste{
		&{
			scroll-snap-type: x mandatory;
			overflow-x: scroll;
			gap: 1em;
			padding: 10px 0;
			margin:0;
			display: flex;			
		}
		
		li{
			list-style: none;
			background-size: cover;
			background-position: right;
			padding: 20px;
			border-radius: var(--borderRadius);
			scroll-snap-align: start;
			min-width: 29dvw;
			min-height: 200px;
			position: relative;
			transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
			transform: scale(1);	
			overflow: hidden;
			font-size: 1.2em;
			display: grid;
			align-items: end;
			color: var(--couleurClaire1);
		}
		
		@media (max-width: 820px) 
		{
			li{
				min-width: 80dvw;
				height: 500px;
			}
		}
		
		li:not(:last-child):before{
			content: "";
			position: absolute;
			background: linear-gradient(to top, rgba(160, 115, 77, 0.8) 10.5%, transparent 31.51%);
			inset: 0px;
			z-index: -1;
		}
		
		li:hover{
			transform: scale(1.01);
		}
		
		
		li:last-child{
			padding: 0;
			overflow: hidden;
			display: flex;
			font-size: .9em;
	
		}
		
		li:last-child {
			&{
				background-position: center;
				background-size: cover;
				background-color: var(--couleurBTN);

								
			}
			& > div{
				width: 100%;
				display: flex;
				height: 100%;
				color: var(--couleurText);
	
			}
			
			.cta-rdv{
				border-radius:var(--borderRadius);
				padding:var(--padding);
				display:flex;
				align-items:center;
			}
			
			@media (max-width: 768px) 
			{
				.cta-rdv{
					padding:calc(var(--padding) / 2);
				}
			}
			.icone{
				width:80px;
				height:80px;
				border-radius:50%;
				background:rgba(255,255,255,.4);
			
				display:grid;
				place-items:center;
			
				font-size:2rem;
				margin-bottom:30px;
			}
			
			.cta-rdv h2{
				line-height:.9;
			}
			
			.cta-rdv p{
				line-height:1.6;
				color: var(--couleurText);
			}
			
			.btn-rdv{
				display:flex;
				align-items:center;
				justify-content:space-between;
				gap:1em;
			
				width:100%;					
				padding:25px 35px;
			
				background:white;
				border-radius:24px;
				font-size: .8em;
				text-decoration:none;
				color:inherit;
			
				box-shadow:0 10px 30px rgba(0,0,0,.08);
			}
			
			@media (max-width: 768px) 
			{
				.btn-rdv{
					padding:15px 15px;
				}
			}
			
			/*
			a{
				flex: 1;
				
				transition: font-size 1s ease;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: .5em;
				padding: 20px;
				text-decoration: none;
				white-space: nowrap;
				font-weight: 100;
				background-color: var(--couleurBTN);
				color: var(--couleurText);
				background-size: cover;
			}
			*/
			
		}
		
		
		li:not(:last-child)
		{
			&{
			}
			
			.txt{
			}
			
			i{
				position: absolute;
				right: 20px;
				bottom: 20px;
				font-size: 3em;
				opacity: .5;
				color: rgba(37, 75, 59, 1);
			}
		}
		
		li strong{
			color: white;
		}
		
	}
	
}



[data-composant="presentation-offre"]
{
	&
	{
		position: relative;
	}
	
	.section{
		
		/*background: url(/uploads/images/fond-zen.jpg);*/
		background-size: cover;
		background-position: bottom center;
		width: var(--maxWidth);
		margin: var(--padding) auto;
		border-radius: var(--borderRadius);
		height: 80dvh;
		display: grid;
		place-content: center;
		position: relative;
	}
	
	@media (max-width: 768px) 
	{
		.section{
			height: auto;
		}	
	}
	
	.section:before{
		content: "";
		position: absolute;
		background: rgba(237, 231, 221, 0.8);
		inset: 0px;
	}
	
	.intro{
		padding-top: var(--padding);
		width: 100%;
		max-width: 500px;
		margin: 0px auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 100%;
		position: relative;
	}
	
	@media (max-width: 768px) 
	{
		h2{
			font-size: 1.5em;
		}	
	}
	.intro h2 strong{
		display: block;
		font-size: 2em;
	}
	article
	{
		&
		{
			padding: var(--padding);
			height: 100dvh;
			
			position: sticky;
			top: 0;
			background: var(--couleurClaire1);	
									
			width: var(--maxWidth);
			margin: 0px auto;
			margin-bottom: 60dvh;
			border-radius: var(--borderRadius);
			overflow: clip;
		}
		
		@media (max-width: 768px) 
		{
			&{
				position: relative;
				height: auto;
				padding:0;
				margin: var(--padding) auto;
			}	
		}
		
		& > div
		{
			border-radius: var(--borderRadius);
			padding: var(--padding);
			height: 100%;
			align-items: end;
		}
		
		@media (max-width: 768px) 
		{
			& > div{
				padding:0;
				height: auto;
			}	
		}
		
		.media{
			border-radius: var(--borderRadiusS);
			border: 1.5px solid white;
			overflow: clip;
			position: relative;
		}
		
		@media (max-width: 768px) 
		{
			.media{
				height:300px;
			}	
		}
		
		.media:before
		{
			content: "";
			position: absolute;
			inset: 0;
			background-image: url(/uploads/images/entete-navigateur.webp);
			background-repeat: no-repeat;
			background-size: 100%;
			z-index: 1;
			border-radius: 10px;
			width: calc(100% - 40px);
			left: 20px;
			top: 20px;
		}
		
		.media::after
		{
			content: "";
			position: absolute;
			height: 40px;
			width: 100%;
			top: 0;
			left: 0;
			background: black;
		}
		img
		{
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center top;
			border-radius: var(--borderRadiusS);
			border: 20px solid black;
			position: relative;
			max-height: 591px;
		}
		
	}
	
	article:nth-child(odd) .txts
	{
		order:2;
	}
	
	article:nth-last-child(2)
	{
		margin-bottom: 0;
		background: var(--couleurClaire1);	
		width: 95%;
	}
	
	@media (max-width: 768px) 
	{
		article:nth-last-child(2){
			height: 60dvh;
			text-align: center;
		}	
	}
	
	article:nth-last-child(2) > div
	{
		display: grid;
		place-content: center;
		width: 100%;
		height: 100%;
		background-color: white;	
		background-size: cover;
		background-position: bottom center;
	}
	
	
	
	article:nth-last-child(2) > div:before{
		content: "";
		position: absolute;
		background: rgba(237, 231, 221, 0.8);
		inset: 0px;
	}
	
	article:nth-last-child(2) > div > div 
	{
		position: relative;
	}
	
	article:last-child
	{
		height: 50dvh;
		background: none;
		margin-bottom: 0; 
	}
	
	@media (max-width: 768px) 
	{
		article:last-child{
			height: 0
		}	
	}
}
[data-composant="demander-rdv"]
{
	&{
		background-size: cover;
		position: relative;
		z-index: 2;
		height: 120dvh;
		display: grid;
		align-items: center;
		padding: var(--padding);
		border-top: 5px solid var(--couleur1);
		border-bottom: 5px solid var(--couleur1);
		
	}
	
	@media (max-width: 768px) 
	{
		&{
			min-height: 0;
			padding: 0;
			font-size: .8em;
		}	
	}
	
	form{
		backdrop-filter: blur(10px);
		background: rgba(125, 70, 31, 0.54);
		max-width: 700px;
		width: 90%;
		padding: var(--padding);
		border-radius: var(--borderRadius);
		color: white;
		border: 1px solid rgba(255, 255, 255, .4);
	}
	
	@media (max-width: 768px) 
	{
		form{
			margin: 0;
		}	
	}
	
	.balise{
		color: var(--couleurText);
	}
	h2{
		font-size: 1.5em;
		margin-bottom: 20px;
		color: white;
	}
	
	h2 strong{
		font-size: 2em;
	}
	
	.reassurances
	{
		justify-content: center;
	}
}
[data-composant="a-propos"]
{
	&{
		width: calc(var(--maxWidth) / 1.5);
		margin: 0 auto;
		min-height: 100dvh;
		align-items: end;
		padding: var(--padding) 0;
	}
	
	@media (max-width: 768px) 
	{
		&{
			width: var(--maxWidth);
			min-height: 0;
		}	
	}
	
	p{
		margin-bottom: 0;
	}
	.media
	{
		text-align: right;
	}
	
	.media img{
		border-radius: var(--borderRadiusXS);
		width: 100%;
		height: 80%;
		object-fit: cover;
	}
}

[data-composant="a-propos--qualites"]
{
	&
	{
		scroll-snap-type: x mandatory;
		overflow-x: scroll;
		display: flex;
		gap: 1em;
		padding: var(--padding);
		font-size: .8em;
		border-radius: var(--borderRadiusXS);
		
		scroll-padding-left: var(--padding);
	}
	
	
	article{
		min-width: calc(100dvw / 3.5);
		scroll-snap-align: start;
		border-radius: var(--borderRadiusXS);
		padding: 20px;
		background: white;
		
		transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
		transform: scale(1);
	}
	
	@media (max-width: 820px) 
	{
		article{
			min-width: 80dvw;
	
		}	
	}
	
	@media (max-width: 768px) 
	{
		article{
			min-width: 70dvw;
	
		}	
	}
	
	article:hover{
		transform: scale(1.01);
	}
	
	i{
		position: absolute;
		right: 20px;
		bottom: 20px;
		opacity: .5;
		color: rgba(37, 75, 59, 1);
	}
	
	article:has(a)
	{
		display: grid;
		padding: 0;
		overflow: hidden;
		color: white;
		font-family: var(--fontTitre);
	}
	
	article:has(a) i{
		color: white;
	}
	article:last-child a{
		&{
			flex: 1;
			
			transition: font-size 1s ease;
			display: inline-flex;
			align-items: center;
			gap: .5em;
			padding: 20px;
			text-decoration: none;
			white-space: nowrap;
			font-weight: 100;					
			font-family: var(--fontTitre);
			color: var(--couleurText);
			background: url("/uploads/images/card-cta.webp") center center / cover;
			background-color: var(--couleurBTN);
			font-size: 1.8em;
		}
		
	}
}

[data-composant="a-propos-2"]
{
	&{
		
	}
	
	article
	{
		max-width: 600px;
		width: 90%;
		margin: auto;
		padding: var(--padding);
		background: white;
		border-radius: var(--borderRadius);
		margin-bottom: 50px;
		
	}
	
	@media (max-width: 768px) 
	{
		article h2{
			font-size: 1.5em;
	
		}	
	}
	
}
[data-composant="discuter-cta"]{
	&
	{
		min-height: 100dvh;
		display: grid;
		align-items: center;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		
	}
	
	
	& > div{
		border-radius: var(--borderRadius);
		margin: 20dvh auto;
		padding: var(--padding);
		margin-bottom: var(--padding);
		container-type: inline-size;
		color: white;
		
		background: linear-gradient(315deg, rgba(37, 75, 60, 0.5), rgba(108, 161, 136, 0.5));
		border: 1px solid rgba(255, 255, 255, .4);
		backdrop-filter: blur(5px);
		max-width: 700px;
		width: 100%;
	}
	
	@media (max-width: 768px) 
	{
		& > div{
			padding: calc(var(--padding) / 2);
			width: 95%;
		}	
	}
	
	
	
	h2
	{
		color: white;
	}

	
	.grid_1_1
	{
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
	
	
	
	@container (max-width: 1000px)
	{
		& > div{
			display: block;
			
		}
	}
			
	.txts{
		ul{
			padding: 0;
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1em;
		}
		
		@media (max-width: 768px) 
		{
			ul{
				display: block;
		
			}	
		}
		
		
		li{
			list-style: none
		}
		
		li a
		{
			display: block;
			text-align: center;
		}
		
		li:nth-child(1)
		{
			grid-column: 1 / span 2;
		}
		
		ul li:not(:first-child) a
		{
			background: none;
			color: var(--couleur1);
			border: 1px solid;
			color: white;
		}
		
		.balise
		{
			color:var(--couleurText);
		}
	}
	
	form
	{
		background: rgba(255, 255, 255, .2);
		border-radius: var(--borderRadiusS);
		padding: 20px;
		position: relative;
		transition: all .5s ease;
		margin: 20px 0;
	}
}
[data-composant="processus-expliquer"]
{
	&
	{
		border-radius: var(--borderRadius);
		width: var(--maxWidth);
		margin: auto;
		display: grid;
		gap: 1em;
	}
	
	@media (max-width: 820px) 
	{
		&{
			width: 95%;
	
		}	
	}
	
	.intro{
		padding: var(--padding);
		position: sticky;
		top: 20px;
		align-self: start;
	}
	
	@media (max-width: 820px) 
	{
		.intro{
			position: relative;
	
		}	
	}
	
	.txts{
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	
	.liste{
		padding-top: var(--padding);
		counter-reset: etape;
	}
	
	article{
		background: white;
		border-radius: var(--borderRadiusXS);
		padding: 20px;
		position: relative;
		min-height: 350px;
		transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
		transform: scale(1);
		margin-bottom: calc(var(--padding) * 2);
		width: 90%;
		display: grid;
		grid-template-columns: 50px 1fr;
		gap: 1em;
	}
	
	@media (max-width: 768px) 
	{
		article{
			display: block;
		}	
	}
	
	article:before
	{
		counter-increment: etape;
		content: "0" counter(etape);
		font-size: 2em;
		display: grid;
		color: var(--couleur1);
	}
	
	article:after
	{
		position: absolute;
		content: "";
		width: 10px;
		height: 100px;
		border-left: 1px dashed;
		bottom: 0;
		right: 20%;
		translate: 0 100%;
	}
	
	article:nth-child(even)
	{
		margin-left: auto;
	}
	
	article:nth-child(even):after
	{
		right: 60%;
	}
	article:hover{
		transform: scale(1.01);
	}
	
	
	
	article i{
		position: absolute;
		right: 20px;
		bottom: 20px;
		opacity: .5;
		color: rgba(37, 75, 59, 1);
		display: none;
	
	}
	
	h3{font-size: 2em}
}
[data-composant="banniere-cta"]
{
	&
	{
		background: var(--degrader1);
		color: white;
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 1em;
		width: var(--maxWidth);
		margin: 0 auto;
		margin-bottom: var(--padding);
		
		padding:var(--padding);
		border-radius: var(--borderRadiusXS);
		align-items: center;
	}
	
	
	@media (max-width: 768px) 
	{
		&{
			display: block;
			padding:calc(var(--padding) / 2);
			width: 95%;
		}	
	}
	
	div:first-child{
		font-family: var(--fontBold);
		font-size: 1.2em;
	}
	div:last-child{
		text-align: right;
		display: inline-flex;
		justify-content: end;
		align-items: center;
	}
	
}
[data-composant="faq"]
{
	&
	{
		width: var(--maxWidth);
		margin: auto;
		margin-bottom: -20px;
		padding-bottom: var(--padding);
	}
	
	.intro
	{
		&
		{
			position: sticky;
			top: 20px;
			align-self: start;
		}
		
		@media (max-width: 820px) 
		{
			&{
				position: relative;
			}	
		}
		
		ul{margin-left: 0; }
		ul li{
			list-style: none;
		}
		
		ul i{
		}
	}
	
	article
	{
		&{
			border-radius: var(--borderRadiusXS);
			background: white;
			transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
			transform: scale(1);
			margin-bottom: 20px;
		}
		
		&:hover{
			transform: scale(1.01);
		}
		&:not(first-child)
		{
			margin-top: 10px;
		}
		
		h3
		{
			margin-bottom: 0;
			padding: 10px 0;
			font-size: 1.4rem;
		}
		
		h3 .titre, .infos
		{
			padding: 0 20px;
		}
		
		label
		{
			cursor: pointer;
			display: grid;
			grid-template-columns: 1fr 50px;
			gap: 1em;	
			padding: 10px;
			position: relative;
		}
		
		label:before
		{
			content: "";
			width: 10px;
			height: 10px;
			background: rgba(37, 75, 59, 0.1);
			position: absolute;
			border-radius: 50%;
			left: 10px;
		}
		
		
		
		input
		{
			display: none
		}
		.infos
		{
			display: grid;
			grid-template-rows: 0fr;
			transition: grid-template-rows .4s ease;
		}
		
		.iconeAccordeon
		{
			display: flex;
			align-items: center;
			justify-content: center;
			transform-origin: center;
			transition: transform .5s ease .2s;
		}
		
		&:has(input:checked) 
		{
			.infos
			{
				grid-template-rows : 1fr
			}
		
			.iconeAccordeon
			{
				transform: rotate(180deg);			
			}
		}
		
		p{transition: margin .5s ease}
		&:not(:has(input:checked)) p
		{
			margin: 0;
		}
		
		.infos-contenu
		{
			overflow: hidden;
			min-height: 0;
		}
	}
	
}
[data-composant="form-contact"]{
	& > div{
		background: var(--degrader1);
		border-radius: var(--borderRadius);
		width: var(--maxWidth);
		margin: 20dvh auto;
		padding: var(--padding);
		margin-bottom: var(--padding);
		container-type: inline-size;
		color: white;
	}
	
	@media (max-width: 768px) 
	{
		& > div{
			padding: calc(var(--padding) / 2);
			width: 95%;
		}	
	}
	
	
	&#discuter
	{
		min-height: 100dvh;
		display: grid;
		align-items: center;
		background: url("/uploads/images/discutons.jpg") center center / cover no-repeat;
		
	}
	&#discuter h2
	{
		color: white;
	}
	&#discuter > div
	{
		background: linear-gradient(315deg, rgba(37, 75, 60, 0.5), rgba(108, 161, 136, 0.5));
		border: 1px solid rgba(255, 255, 255, .4);
		backdrop-filter: blur(5px);
		max-width: 700px;
		width: 100%;

	}
	
	.grid_1_1
	{
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
	
	
	
	@container (max-width: 1000px)
	{
		& > div{
			display: block;
			
		}
	}
			
	.txts{
		ul{
			padding: 0;
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1em;
		}
		
		@media (max-width: 768px) 
		{
			ul{
				display: block;
		
			}	
		}
		
		
		li{
			list-style: none
		}
		
		li a
		{
			display: block;
			text-align: center;
		}
		
		li:nth-child(1)
		{
			grid-column: 1 / span 2;
		}
		
		ul li:not(:first-child) a
		{
			background: none;
			color: var(--couleur1);
			border: 1px solid;
			color: white;
		}
		
		.balise
		{
			color:var(--couleurText);
		}
	}
	
	form
	{
		background: rgba(255, 255, 255, .2);
		border-radius: var(--borderRadiusS);
		padding: 20px;
		position: relative;
		transition: all .5s ease;
		margin: 20px 0;
	}
}
[data-composant="reassurances-horizontal"]
{
	&{
		
	}
	ul
	{
		padding: 50px;
		padding-top: 0;
		display: flex;
		gap: 1em;
		margin-top: 0;
		scroll-snap-type: x mandatory;
		overflow-x: scroll;
	}
	
	li
	{
		list-style: none;
		background: #fff;
		border-radius: var(--borderRadiusXS);
		padding: 20px;
		min-width: 350px;
		font-size: .8em;				
		transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
		transform: scale(1);
	}
	
	@media (max-width: 768px) 
	{
		li{
			min-width: 70dvw;
		}	
	}
	
	
	li:hover{
		transform: scale(1.01);
	}
	
	i
	{
		display: block;
		font-size: 2em;
		margin-bottom: 20px;	
		color: var(--couleur1);
	}
	
	strong
	{
		display: block;
		font-size: 1.5em;
	}
}
[data-composant="zone-texte"]
{
	&{
		width: var(--maxWidth);
		margin: 0 auto;
		padding: var(--padding);
	}
	
	h1
	{
		margin-bottom: 50px;
		color: var(--couleurTitre);
	}
	
	
	
}
