[data-composant="zone-texte"]
{
	&{
		width: var(--maxWidth);
		margin: 0 auto;
		padding: var(--padding);
	}
	
	h1
	{
		margin-bottom: 50px;
		color: var(--couleurTitre);
	}
	
	
	
}
[data-composant="form-contact"]{
	& > div{
		background: var(--couleurDegrader1);
		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):not(:has(.moitier))
		{
			grid-column: 1 / span 2;
		}
		
		ul li:not(:first-child):not(:has(.moitier)) a
		{
			background: none;
			color: var(--couleur1);
			border: 1px solid;
			color: white;
		}
		
		.balise
		{
			color:var(--couleurTexte);
		}
	}
	
	h2{
		color: white;
	}
	
	form
	{
		background: rgba(255, 255, 255, .2);
		border-radius: var(--borderRadiusS);
		padding: 20px;
		position: relative;
		transition: all .5s ease;
		margin: 20px 0;
	}
	
	[data-composant="bouton"]
	{
		color: initial;
	}
}


[data-composant="form-contact"][data-theme="form-infos"]
{
	
}
[data-composant="form"]
{
	.parent
	{
		margin-bottom: 20px;
	}
	.parent:has(.champ input[type="hidden"])
	{
		display: none;
	}
	
	label
	{
		display: block; 
		margin-bottom:5px;
		min-height: 20px;
		cursor: pointer;
	}
	
	.blocInput
	{
		&:not(:has([type="file"]))
		{
			transition: background .5s ease, border .5s ease;
			padding: 0;
			margin: 0;
			display: grid;
			grid-template-columns: 45px auto 45px;
			border-radius: var(--borderRadius);
			position: relative;
			overflow: hidden;
			gap: 0px;
			align-items: center;
			min-height: 55px;
		}
		
		*
		{
			transition: opacity .5s ease;
		}
		
		&:has(:where(input, select, textarea)[disabled])
		{
			background: #ccc; 
			cursor: not-allowed
		}
		
		&:has(:where(input, select, textarea)[disabled]) *
		{
			cursor: not-allowed;
		}
		
		&:not(:has([required])):has(output:empty)
		{
			&:has( > :nth-child(3))
			{
				grid-template-columns: 45px auto 0;
			}
			
			&:not(:has( > :nth-child(3)))
			{
				grid-template-columns: 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
		}
		
		&:has([type="file"])
		{
			.avantChamp, .apresChamp
			{
				display: none;
			}
		}
		
		.champ
		{
			&:not(:has(input[type="file"]))
			{
				display: block;
				height: 100%;
			}
			
			&:has(input[type="file"])
			{
				display: grid;
				align-items: center;
			}
			
			&:has(input[switch])
			{
				display: flex;
				gap:1em;
				align-items: center;
			}
			
			input, textarea, select
			{
				outline: none;
			}
			
			input[type="file"]
			{
				font-size: 1em;
			}
			input:not([type="checkbox"]):not([type="radio"]):not([type="file"])
			, textarea
			, select
			{
				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;
			
		}
		
		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(--borderRadiusXS);
			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
	{
		color: var(--couleurBTNTexte);
	}
	
	&: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;
	}
	
	
	.blocInput:not(:has([required])) .apresChamp div
	{
		display: none;
	}
	
	.parent:has([required])
	{
		.blocInput:has(:valid) .apresChamp .ko
		, .blocInput:has(:invalid) .apresChamp .ok
		{
			display: none;
		}
		.blocInput:has(:valid) .apresChamp .ok
		{
			color: var(--couleurValidation);
		}
		
		.blocInput:has(:invalid) .apresChamp .ko 
		{
			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[disabled]:not([type="checkbox"]):not([type="radio"])
	, input[readonly]:not([type="checkbox"]):not([type="radio"])
	, select[disabled]
	, select[readonly]
	, textarea[readonly]
	, textarea[disabled]
	{
		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, .reassurances li svg
	{
		color:var(--couleurBTN);
	}
	
	@media (max-width: 768px)
	{
		.reassurances li
		{
			display: flex;
			flex-direction: column;
			align-items: center;
		}
		
		.reassurances li i
		{
			display: block;
		}
	}
}

[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;
		}
		
		
	}
	
	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.05);
		}*/
		
		&: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="faq"][data-theme="block"]
{
	&{
		width: 65%;
		border-radius: var(--borderRadius);
		padding: 20px;
	}
	
	& > div{
		display: block;
	}
	
	.intro{
		position: static;
	}
	
	article{
		background: rgb(from var(--couleur1) r g b / 20%);
		
		animation-name: fromRight;
		animation-duration: 1s;
		animation-fill-mode: both;
		animation-timing-function: ease;
		animation-timeline: view(block);
		animation-range: entry 15% cover 20%;
	}
	
	
}

@keyframes fromRight

{

	from
	{
		opacity: 0;
		transform: translateX(50%);
	}
	to
	{
		opacity: 1;
		transform: translateX(0);
	}

}
[data-composant="footer"]
{
	&{
		background: var(--couleurDegrader1);
		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;
		}
	}
	
	& > 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;
	}
	#menus{
		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="bouton"]
	{
		color: var(--couleurBTNTexte);
	}
	
	
	#copyright
	{
		&{
			font-size: .8em;
			
		}
		
		p{
		}
	}
	
	
}

body {
	background: #fbfaf7;
}

a {
	text-underline-offset: .2em;
}

.mot-important {
	color: var(--couleurBTN);
	font-family: var(--fontBold);
	font-size: 1.06em;
}

[data-composant="header"] {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: min(94%, 1180px);
	margin: 8px auto 0;
	padding: 6px 10px;
	background: #ffffff;
	border: 1px solid rgba(17, 17, 17, .08);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(17, 17, 17, .07);
}

[data-composant="header"] .logo {
	display: block;
	flex: 0 0 auto;
	width: 170px;
	max-width: 28vw;
	line-height: 0;
}

[data-composant="header"] .logo img,
[data-composant="header"] .logo svg {
	display: block;
	width: 100%;
	height: auto;
}

.menu-principal {
	min-width: 0;
}

.menu-principal ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.menu-principal a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 10px;
	border-radius: 999px;
	color: var(--couleurTitre);
	text-decoration: none;
	font-family: var(--fontBold);
	font-size: .86rem;
}

.menu-principal .action a,
[data-composant="bouton"],
.bouton,
button[data-composant="bouton"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--couleurBTN);
	color: var(--couleurBTNTexte);
	text-decoration: none;
	font-family: var(--fontBold);
	cursor: pointer;
	box-shadow: 0 14px 30px rgba(250, 0, 13, .22);
}

.menu-principal .action a {
	min-height: 34px;
	padding: 0 16px;
}

[data-composant="bouton"].secondaire,
.secondaire[data-composant="bouton"] {
	background: #ffffff;
	color: var(--couleurTitre);
	box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .16);
}

main > section {
	width: min(94%, 1180px);
	margin: 0 auto;
}

.balise {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-bottom: 18px;
	padding: 7px 14px 7px 28px;
	border: 1px solid rgba(17, 17, 17, .08);
	border-radius: 999px;
	background: #ffffff;
	color: #111111;
	font-family: var(--fontBold);
	font-size: .82rem;
	box-shadow: 0 10px 26px rgba(17, 17, 17, .06);
}

.balise::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--couleurBTN);
	transform: translateY(-50%);
}

.agency-hero[data-composant="banniere-hero"] {
	display: block !important;
	width: calc(100% - 32px);
	max-width: none;
	height: auto;
	min-height: 0;
	color: #111111;
	text-align: left;
	background: transparent;
	padding: 10px 0 28px;
	place-content: initial !important;
}

.agency-hero[data-composant="banniere-hero"][data-type="card"] {
	width: calc(100% - 32px) !important;
	max-width: none;
}

.agency-hero[data-composant="banniere-hero"][data-theme="centrer"]:not([data-type="card"]) {
	width: calc(100% - 32px);
	max-width: none;
	min-height: 0;
}

.agency-hero[data-composant="banniere-hero"] .slide {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	width: 100% !important;
	max-width: none !important;
	height: auto;
	min-height: calc(100svh - 150px);
	padding: 58px;
	border-radius: 28px;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .42) 38%, rgba(0, 0, 0, .04) 68%, rgba(0, 0, 0, .16) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .2) 100%),
		url("/uploads/images/hero-plombier-avis-google.webp");
	background-position: center right;
	background-size: cover;
	box-shadow: none;
	place-content: center start;
	overflow: hidden;
}

.agency-hero[data-composant="banniere-hero"][data-theme="centrer"] .slide {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: calc(100svh - 150px);
}

.agency-hero[data-composant="banniere-hero"] .txts {
	max-width: 900px;
	padding: 0;
	color: #ffffff;
	text-align: left;
	transform: none;
	animation: none;
}

.agency-hero[data-composant="banniere-hero"] .balise {
	background: #ffffff;
	border-color: rgba(255, 255, 255, .28);
	color: #111111;
}

.agency-hero[data-composant="banniere-hero"] h1 {
	max-width: 860px;
	font-size: 3.65rem;
	line-height: .96;
	letter-spacing: 0;
	color: #ffffff !important;
}

.agency-hero[data-composant="banniere-hero"] h1 strong {
	display: block;
	margin-top: .12em;
	color: inherit;
	font-size: .72em;
	line-height: 1;
}

.agency-hero[data-composant="banniere-hero"] .txt {
	max-width: 720px;
	margin-top: 24px;
	font-size: 1.16rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, .86);
}

.agency-hero[data-composant="banniere-hero"] .mot-important,
.section-sombre .mot-important,
.tarif .mot-important {
	color: #ffffff;
	text-shadow: 0 0 18px rgba(250, 0, 13, .55);
}

.agency-hero[data-composant="banniere-hero"] .btns {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.agency-hero[data-composant="banniere-hero"] [data-composant="bouton"] {
	background: #ffffff;
	color: #111111;
	box-shadow: none;
}

.agency-hero[data-composant="banniere-hero"] [data-composant="bouton"].secondaire {
	background: rgba(255, 255, 255, .08);
	color: #ffffff !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}

.section-liste,
.timeline-method,
.tarif,
.contact-agency,
#faq {
	padding: 78px 0;
	scroll-margin-top: 108px;
}

.section-liste {
	display: grid;
	grid-template-columns: minmax(270px, .82fr) minmax(0, 1fr);
	gap: 46px;
	align-items: start;
	border-bottom: 1px solid rgba(17, 17, 17, .08);
}

.section-liste .intro {
	position: sticky;
	top: 122px;
}

.section-liste h2,
.timeline-method h2,
.contact-agency h2,
#faq h2 {
	font-size: 3rem;
	line-height: 1;
}

.section-liste h2 strong,
.timeline-method h2 strong,
.contact-agency h2 strong,
#faq h2 strong {
	display: inline;
	color: var(--couleurBTN);
	font-family: var(--fontBold);
}

.section-liste .txts ul {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.section-liste .txts li {
	position: relative;
	min-height: 116px;
	padding: 26px;
	border: 1px solid rgba(17, 17, 17, .08);
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 16px 40px rgba(17, 17, 17, .06);
	font-size: 1.05rem;
	line-height: 1.55;
	overflow: hidden;
}

.section-preuves .txts ul {
	counter-reset: section-card;
}

.section-preuves .txts li {
	padding-left: 102px;
	counter-increment: section-card;
}

.section-preuves .txts li::before {
	content: counter(section-card, decimal-leading-zero);
	position: absolute;
	left: 22px;
	top: 26px;
	color: rgba(250, 0, 13, .18);
	font-family: var(--fontBold);
	font-size: 2.65rem;
	line-height: .85;
	letter-spacing: 0;
}

.section-liste .txts li strong {
	display: block;
	margin-bottom: 8px;
	color: #111111;
	font-family: var(--fontBold);
	font-size: 1.12rem;
}

.section-preuves .txts li,
.section-promesse .txts li {
	border-color: rgba(17, 17, 17, .08);
}

.section-sombre {
	width: 100%;
	max-width: none;
	padding: 90px max(3%, calc((100% - 1180px) / 2));
	background: #111111;
	color: #ffffff;
	border-bottom: 0;
}

.section-sombre h2,
.section-sombre .balise {
	color: #ffffff;
}

.section-sombre h2 strong {
	color: var(--couleurBTN);
}

.section-sombre .txts li .mot-important {
	color: #ffffff;
}

.section-sombre .balise {
	background: rgba(250, 0, 13, .28);
	border-color: rgba(250, 0, 13, .38);
}

.section-sombre .txts li {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .14);
	color: rgba(255, 255, 255, .82);
	box-shadow: none;
}

.section-sombre .txts li strong {
	color: #ffffff;
}

.section-promesse .txts li {
	padding-left: 92px;
}

.section-promesse .txts li i,
.section-promesse .txts li .svg-inline--fa {
	position: absolute;
	left: 26px;
	top: 28px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: rgba(250, 0, 13, .1);
	color: var(--couleurBTN);
	font-size: 1.25rem;
}

.timeline-method {
	--timeline-progress: 0;
	display: grid;
	grid-template-columns: minmax(260px, .78fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

.timeline-method .intro {
	position: sticky;
	top: 122px;
}

.timeline-method .txts {
	position: relative;
}

.timeline-method .txts ol {
	position: relative;
	display: grid;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.timeline-method .txts ol::before,
.timeline-method .txts ol::after {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 50%;
	width: 4px;
	border-radius: 999px;
	transform: translateX(-50%);
}

.timeline-method .txts ol::before {
	background: rgba(17, 17, 17, .1);
}

.timeline-method .txts ol::after {
	height: calc(var(--timeline-progress) * 100%);
	bottom: auto;
	background: var(--couleurBTN);
	box-shadow: none;
	transition: height .08s linear;
}

.timeline-method .txts li {
	position: relative;
	z-index: 1;
	width: calc(50% - 56px);
	padding: 24px;
	border: 1px solid rgba(17, 17, 17, .08);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 18px 48px rgba(17, 17, 17, .08);
	line-height: 1.58;
}

.timeline-method .txts li:nth-child(odd) {
	justify-self: start;
}

.timeline-method .txts li:nth-child(even) {
	justify-self: end;
}

.timeline-method .txts li::before {
	content: counter(list-item);
	position: absolute;
	top: 24px;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border: 4px solid #fbfaf7;
	border-radius: 50%;
	background: var(--couleurBTN);
	color: #ffffff;
	font-family: var(--fontBold);
	box-shadow: none;
	z-index: 2;
}

.timeline-method .txts li:nth-child(odd)::before {
	right: -78px;
}

.timeline-method .txts li:nth-child(even)::before {
	left: -78px;
}

.timeline-method .txts li strong {
	display: block;
	margin-bottom: 10px;
	color: #111111;
	font-family: var(--fontBold);
	font-size: 1.18rem;
}

.tarif {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 32px;
	align-items: center;
	padding: 50px;
	border-radius: 26px;
	background: linear-gradient(135deg, #FA000D 0%, #b40009 100%);
	color: #ffffff;
	box-shadow: 0 28px 70px rgba(250, 0, 13, .26);
}

.tarif .balise {
	background: rgba(255, 255, 255, .12);
	border-color: rgba(255, 255, 255, .26);
	color: #ffffff;
}

.tarif h2 {
	font-size: 4.1rem;
	color: #ffffff;
}

.tarif .txts {
	max-width: 560px;
	line-height: 1.6;
}

.tarif .txts p {
	margin: 0 0 14px;
}

.tarif .txts a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	border-radius: 999px;
	background: #ffffff;
	color: #111111;
	text-decoration: none;
	font-family: var(--fontBold);
}

.contact-agency > .grid_1_1,
#faq .grid_1_1 {
	display: grid;
	grid-template-columns: minmax(270px, .82fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.contact-agency > .grid_1_1 {
	align-items: stretch;
}

.contact-agency .txts,
.contact-agency form[data-composant="form"] {
	min-width: 0;
}

.contact-agency .blocInput,
.contact-agency .champ {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
}

.contact-agency .blocInput {
	grid-template-columns: 1fr !important;
}

.contact-agency .apresChamp,
.contact-agency .ok,
.contact-agency .ko,
.contact-agency output,
.contact-agency .legende,
.contact-agency .explicationErreur {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

.contact-agency .txts > .txt {
	margin-top: 18px;
	font-size: 1.05rem;
	line-height: 1.65;
}

.contact-agency #coordonnees:empty {
	display: none;
}

form[data-composant="form"] {
	width: 100%;
	max-width: 100%;
	align-self: start;
	padding: 28px;
	border: 1px solid rgba(17, 17, 17, .08);
	border-radius: 20px;
	background: #ffffff;
	box-shadow: var(--boxShadow);
}

form[data-composant="form"] > h2 {
	margin-bottom: 18px;
	font-size: 1.45rem;
	line-height: 1.15;
}

form .grid_1_1 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

form .parent {
	min-width: 0;
	margin-bottom: 14px;
}

form label {
	display: block;
	margin-bottom: 7px;
	color: var(--couleurTitre);
	font-family: var(--fontBold);
	font-size: .92rem;
}

form input,
form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--formCouleurBordure);
	border-radius: 12px;
	background: var(--formCouleurInput);
	color: var(--couleurTexte);
	font: inherit;
}

.contact-agency form input,
.contact-agency form textarea {
	width: 100% !important;
	padding: 12px 14px !important;
	border: 1px solid var(--formCouleurBordure) !important;
	border-radius: 12px !important;
	background: var(--formCouleurInput) !important;
	box-sizing: border-box !important;
}

form textarea {
	min-height: 140px;
	resize: vertical;
}

form input:focus,
form textarea:focus {
	outline: 3px solid rgba(250, 0, 13, .18);
	border-color: var(--formCouleurFocus);
}

form .submit {
	margin: 20px 0 0;
}

form .submit [data-composant="bouton"] {
	width: 100%;
	max-width: 100%;
}

#faq .intro {
	position: sticky;
	top: 122px;
	padding: 28px;
	border-radius: 22px;
	background: #111111;
	color: #ffffff;
}

#faq .intro .balise,
#faq .intro h2 {
	color: #ffffff;
}

#faq .intro .balise {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .18);
}

#faq .intro .txt {
	margin-top: 22px;
}

#faq .intro [data-composant="bouton"] {
	background: #ffffff;
	color: #111111;
	box-shadow: none;
}

#faq .accordeon {
	display: grid;
	gap: 12px;
}

#faq article {
	overflow: hidden;
	border: 1px solid rgba(17, 17, 17, .08);
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 14px 34px rgba(17, 17, 17, .05);
}

#faq input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

#faq h3 {
	font-size: 1.05rem;
}

#faq label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 21px 22px;
	cursor: pointer;
}

#faq .iconeAccordeon::after {
	content: "+";
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: transparent;
	color: var(--couleurBTN);
	font-family: var(--fontBold);
	font-size: 1.6rem;
	line-height: 1;
}

#faq .iconeAccordeon i {
	display: none;
}

#faq .infos {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .2s ease;
}

#faq .infos-contenu {
	overflow: hidden;
	padding: 0 22px;
	line-height: 1.6;
}

#faq input:checked ~ .infos {
	grid-template-rows: 1fr;
}

#faq input:checked ~ .infos .infos-contenu {
	padding-bottom: 20px;
}

[data-composant="footer"] {
	margin-top: 46px;
	padding: 54px max(3%, calc((100% - 1180px) / 2));
	background: #111111;
	color: #ffffff;
}

[data-composant="footer"] > div:first-child {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) minmax(260px, .8fr);
	gap: 46px;
}

[data-composant="footer"] h2,
[data-composant="footer"] a {
	color: #ffffff;
}

[data-composant="footer"] ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#copyright {
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .16);
	color: rgba(255, 255, 255, .72);
	font-size: .92rem;
}

@media (hover: hover) {
	.menu-principal a:hover,
	[data-composant="bouton"]:hover,
	.bouton:hover,
	button[data-composant="bouton"]:hover {
		transform: translateY(-1px);
	}

}

@media (max-width: 920px) {
	[data-composant="header"] {
		gap: 10px;
		padding: 10px 12px;
	}

	[data-composant="header"] .logo {
		width: 162px;
		max-width: 24vw;
	}

	.menu-principal ul {
		gap: 2px;
	}

	.menu-principal a {
		min-height: 36px;
		padding: 0 8px;
		font-size: .8rem;
	}

	.menu-principal .action a {
		padding: 0 12px;
	}

	.agency-hero[data-composant="banniere-hero"] .slide {
		padding: 42px 30px;
		border-radius: 22px;
	}

	.agency-hero[data-composant="banniere-hero"] h1 {
		font-size: 2.75rem;
	}

	.section-liste,
	.timeline-method,
	.contact-agency > .grid_1_1,
	[data-composant="footer"] > div:first-child {
		grid-template-columns: 1fr;
	}

	.section-liste .intro,
	.timeline-method .intro {
		position: static;
	}

	.section-liste h2,
	.timeline-method h2,
	.contact-agency h2,
	#faq h2 {
		font-size: 2.35rem;
	}

	.timeline-method .txts ol::before,
	.timeline-method .txts ol::after {
		left: 20px;
		transform: none;
	}

	.timeline-method .txts li,
	.timeline-method .txts li:nth-child(odd),
	.timeline-method .txts li:nth-child(even) {
		width: auto;
		margin-left: 58px;
		justify-self: stretch;
	}

	.timeline-method .txts li:nth-child(odd)::before,
	.timeline-method .txts li:nth-child(even)::before {
		left: -58px;
		right: auto;
	}

	.tarif {
		grid-template-columns: 1fr;
		padding: 34px 26px;
	}

	.tarif h2 {
		font-size: 3.1rem;
	}

	#faq .grid_1_1 {
		grid-template-columns: minmax(230px, .74fr) minmax(0, 1fr);
		gap: 24px;
	}

	#faq .intro {
		padding: 22px;
	}
}

@media (min-width: 921px) and (max-width: 1200px) and (orientation: landscape) {
	[data-composant="header"] {
		width: calc(100% - 32px);
		margin-top: 6px;
		padding: 5px 10px;
	}

	[data-composant="header"] .logo {
		width: 150px;
	}

	.menu-principal a {
		min-height: 28px;
		padding: 0 8px;
		font-size: .8rem;
	}

	.menu-principal .action a {
		min-height: 32px;
		padding: 0 14px;
	}

	.agency-hero[data-composant="banniere-hero"] {
		padding: 8px 0 18px;
	}

	.agency-hero[data-composant="banniere-hero"] .slide,
	.agency-hero[data-composant="banniere-hero"][data-theme="centrer"] .slide {
		min-height: calc(100svh - 94px);
		padding: 40px 54px;
	}

	.agency-hero[data-composant="banniere-hero"] h1 {
		max-width: 760px;
		font-size: 3rem;
	}

	.agency-hero[data-composant="banniere-hero"] .txt {
		max-width: 680px;
		margin-top: 18px;
		font-size: 1.02rem;
		line-height: 1.5;
	}

	.agency-hero[data-composant="banniere-hero"] .btns {
		margin-top: 22px;
	}
}

@media (max-width: 700px) {
	[data-composant="header"] {
		position: static;
		flex-wrap: wrap;
	}

	[data-composant="header"] .logo {
		width: 158px;
		max-width: 42vw;
	}

	.menu-principal {
		width: 100%;
		overflow-x: auto;
	}

	.menu-principal ul {
		width: max-content;
	}

	.agency-hero[data-composant="banniere-hero"] {
		padding-top: 34px;
	}

	.agency-hero[data-composant="banniere-hero"] .slide,
	.agency-hero[data-composant="banniere-hero"][data-theme="centrer"] .slide {
		min-height: calc(100svh - 118px);
		background:
			linear-gradient(145deg, rgba(250, 0, 13, .98) 0%, rgba(216, 0, 11, .94) 34%, rgba(99, 14, 18, .88) 68%, rgba(30, 8, 10, .92) 100%),
			linear-gradient(35deg, rgba(255, 255, 255, .18) 0%, rgba(255, 255, 255, 0) 42%);
		background-position: center;
		background-size: cover;
	}

	.agency-hero[data-composant="banniere-hero"] h1 {
		font-size: 2.15rem;
	}

	.agency-hero[data-composant="banniere-hero"] .slide {
		place-content: start;
	}

	.agency-hero[data-composant="banniere-hero"] .txt {
		font-size: 1rem;
	}

	.section-liste,
	.timeline-method,
	.contact-agency,
	#faq {
		padding: 58px 0;
	}

	#faq .grid_1_1 {
		grid-template-columns: 1fr;
	}

	#faq .intro {
		position: static;
	}

	form .grid_1_1 {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.section-sombre .txts li,
	.section-sombre .txts li:nth-child(even) {
		transform: none;
		transform-origin: center;
	}

	.section-promesse .txts li {
		padding-left: 80px;
	}

	.section-promesse .txts li i,
	.section-promesse .txts li .svg-inline--fa {
		left: 22px;
		top: 24px;
		width: 38px;
		height: 38px;
	}
}

@media (max-width: 440px) {
	.agency-hero[data-composant="banniere-hero"] .slide {
		padding: 32px 22px;
	}

	.agency-hero[data-composant="banniere-hero"] h1 {
		font-size: 1.92rem;
		line-height: 1;
	}

	.agency-hero[data-composant="banniere-hero"] .btns {
		display: grid;
		gap: 10px;
		margin-top: 24px;
	}

	.agency-hero[data-composant="banniere-hero"] [data-composant="bouton"] {
		min-height: auto;
		padding: 14px 18px;
		line-height: 1.15;
		text-align: center;
		white-space: normal;
	}

	.section-liste h2,
	.timeline-method h2,
	.contact-agency h2,
	#faq h2 {
		font-size: 2rem;
	}
}

