:root {
	--gap: clamp(10px, 2vw, 25px);
	--radius: 8px;
}
#wrapper {
	padding-top: 1.563rem;
	background: #ffffff;
}

:focus-visible {
    outline: none;
}
#wrapper .container {
	width: 100%;
	max-width: 100%;
	text-align: center;
}
.container {
	margin: 0 auto;
	padding: 0 0px;
}
input, textarea, select{
	background-color: #fbfdf8;
	border-radius: 8px 8px 8px 8px;
	border: 1px solid #dddddd;
	font-size: 14px;
	font-weight: 500;
	line-height: 2em;
	box-shadow: none;
}
select{
	width:100%;
	padding: 12px 10px;
}
.container-header{
	max-width: 1300px;
	display:flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	min-height: 70vh;
	gap:18px;
}
.wrapper-main-header{
	width:100%;
	padding: 0 16px;
}
.wrapper-header-services{
	padding: 20px;
	background-image: url(/img/Home-Hero-bg-1.webp);
	background-size: cover;
	height:auto;
	width:100%;
	display:flex;
	flex-direction: row;
	justify-content: center;
	border-radius: 5px;
}
.text-container-h-service{
	width:50%;
	text-align: center;
	gap: 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
h1{
	font-size: 90px;
	font-weight: 800;
	line-height: 90px;
	color: #2e2d2b;
}
h2{
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
}
.container-header-image-1, .container-header-image-2{
	width: 21%;
}
.container-header-image-1 img, .container-header-image-2 img{
	width: 100%;
}
.container-header-image-1 img{
	transform: translate(-60px) translateY(-91px);
}
.container-header-image-2 img{
	transform: translate(60px) translateY(102px);
}
.accroche-header{
	background-color: #ffffff;
	border-radius: 10px;
	width: fit-content;
	padding:8px;
	display:flex;
	align-items: center;
}
.accroche-header p{
	color:#2e2d2b;
	font-size: 12px;
	font-weight: 500;
	line-height: 15px;
	margin-bottom: 0;
}
.icone-header{
	position:absolute;
	transform: translateX(300px);
}
.brandCarrousel{
	margin: 5rem 0 15rem;
}
/******* bloc services **********/
.content-services{
	max-width:100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 5rem;
}
.content-services .wrapper-services{
	max-width: 1140px;
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow-wrap: break-word;
	/* ou word-wrap: break-word;
	*/
	word-break: break-word;
}
.items-services-1{
	display:flex;
	position: relative;
	justify-content: center;
}
.accroche-services img{
	right: 36px;
	position: relative;
}
.accroche-txt-services{
	font-size: 12px;
	background-color: #f2f7e2;
	padding: 8px 10px;
	border-radius: 8px 8px 8px 8px;
	margin: 0;
	height: fit-content;
}
.content-services .items-services-2{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.tech-hero{
	margin-bottom: 50px;
}
.tech-hero__sticker {
	position: absolute;
	transform: translateX(297px) translateY(-88px);
}
.tech-hero__underline{
	position: absolute;
  transform: translateX(31px) translateY(-22px);
}
.s48{
	font-size: 48px !important;
	font-weight: 600;
}
.sub-txt-services{
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}
.img-traitjaune{
	position:absolute;
	transform: translate(-90px, -30px);
}
.img-adatpe{
	position: absolute;
	transform: translate(350px, -190px);
}
/* Conteneur générique aligné avec la grille en dessous */
/* Section */
.solutions-intro {
	position: relative;
	padding: 32px 0 8px;
}
/* Titre principal + “coup de pinceau” dessous */
.solutions-title {
	position: relative;
	text-align: center;
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 12px;
	/* taille fluide */
	font-size: clamp(32px, 4vw + 8px, 72px);
	letter-spacing: 0.5px;
}
/* Surlignage en image (remplace src du background-image plus tard) */
.solutions-title .title-stroke {
	position: absolute;
	left: 50%;
	bottom: -0.15em;
	transform: translateX(-5%);
	display: block;
	width: clamp(160px, 55%, 460px);
	height: clamp(10px, 1.4vw, 18px);
	background-image: url("");
	/* image pinceau (PNG/SVG) */
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}
/* Fallback si tu n’as pas (encore) l’image pinceau */
@supports not (background: paint(worklet)) {
	.solutions-title .title-stroke {
		background-image: none;
		background: linear-gradient(to bottom, transparent 60%, #f3c25b 0);
		border-radius: 999px;
	}
}
/* Texte d’intro */
.solutions-lead {
	max-width: 720px;
	margin: 0 auto 24px;
	text-align: center;
	line-height: 1.6;
	color: #394046;
	overflow-wrap: break-word;
	word-break: break-word;
}
/* Annotation manuscrite à droite (texte + flèche dans une image) */
.note-decor {
	position: absolute;
	top: 12px;
	right: max(16px, calc((100vw - 1140px)/2));
	/* colle au bord du container */
	width: clamp(90px, 12vw, 160px);
	height: auto;
	pointer-events: none;
	/* purement décoratif */
	user-select: none;
	display: block;
}
/* Petites tailles : on recentre / allège */
@media (max-width: 640px) {
	.note-decor {
		right: 16px;
		top: -6px;
		width: 100px;
		opacity: .85;
	}
}
/* Conteneur */
.features {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 16px;
}
/* Grille responsive */
.features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
@media (max-width: 1024px) {
	.features__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 640px) {
	.features__grid {
		grid-template-columns: 1fr;
	}
}
/* Carte */
.feature img {
	width: 100%;
	aspect-ratio: 4 / 3;
	/* tient la place même avec src="" */
	object-fit: cover;
	display: block;
	border-radius: 16px;
	background: #eee;
}
.feature h3 {
	margin: 22px 0 16px;
	font-weight: 700;
	font-size:14px;
	text-align: left;
}
.feature p {
	margin: 0;
	line-height: 1.6;
	overflow-wrap: break-word;
	/* évite les débordements */
	word-break: break-word;
	text-align: left;
	font-size: 14px;
	color:rgb(46, 45, 43)
}

/**** produits block****/

.services-produits{
	background-color: #F2F7E2;
	padding: 70px;
	display: flex;
    flex-direction: column;
    gap: 20px;
}
.produits_bottomline {
position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	    transform: translateX(30px);
}
.services-produits .produits_bottomline .container-text{
width:840px;
}
.services-produits .produits_bottomline .text{
	font-size:18px;
	font-style:normal;
	font-weight:700;
	    text-align: left;
}
.services-produits .produits_bottomline .icone{
	position: absolute;
	transform: translateX(-440px) translateY(-13px);
}

.produit-hero{
	width: 840px;
    text-align: center;
    vertical-align: middle;
    margin: 0 auto;

}
.produit-hero__title{
	margin:20px 0;
}

.services-produits .tech-hero__underline {
    position: absolute;
        transform: translateX(151px) translateY(-103px);
}

.produit-hero .accroche-txt-services{
	font-size: 12px;
    background-color: #ffffff;
    padding: 8px 10px;
    border-radius: 8px 8px 8px 8px;
    margin: 0;
    height: fit-content;
}

.produit-hero .items-services-2 p{
font-size:14px;
font-style:normal;
font-weight:400;
color:rgb(46, 45, 43);
}


.container-tech{
	max-width:1140px;
	margin: 5rem auto;
}
.tech-hero__icon{
	left: -27px;
	position: relative;
}







/***teck block****/
.alt-grid {
	display: grid;
	gap: var(--gap);
	max-width: 1140px;
	margin: 0 auto;
}
/* Grille 60/40 avec alternance par zones */
.row-tech {
	display: grid;
	grid-template-columns: 60% 40%;
	grid-template-areas: "text media";
	gap: var(--gap);
	align-items: center;
}
.row-tech .text {
	grid-area: text;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.row-tech .text h3{
	font-size: 22px;
	font-weight: 600;
	line-height: 22px;
}
.row-tech .text p{
	font-size: 14px;
	font-weight: 400;
	color: rgb(46, 45, 43);
}
.row-tech .media {
	grid-area: media;
	padding: 10px;
}
.row-tech--reverse {
	grid-template-areas: "media text";
	/* Inversion sur la 2e ligne */
	grid-template-columns: 40% 60%;
}
/* Media */
.media {
	aspect-ratio:auto;
}
.media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--radius);
	display: block;
}
/* Typo rapide */
.text > * + * {
	margin-top: 0.6em;
}
h2 {
	margin: 0;
	line-height: 1.2;
}
/* Responsive */
@media (max-width: 900px) {
	.row-tech,.row-tech--reverse {
		grid-template-columns: 1fr;
	}
	/* Ordre mobile conservé par ligne */
	.row-tech {
		grid-template-areas:"text""media";
	}
	.row-tech--reverse {
		grid-template-areas:"media""text";
	}
	.media {
		aspect-ratio: 4 / 3;
	}
}
/***** faq *****/
.faq-container {
	max-width:1140px;
	margin:0 auto;
}
.faq-hero{
    margin-bottom: 50px;
}
.faqmaincontainer .items-services-1 {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
  margin-bottom: 12px;
}


.faqmaincontainer .items-services-2 {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.faqmaincontainer .faq_hero__icon{
	position: absolute;
	transform: translateX(112px) translateY(-4px);
}

.faqmaincontainer .faq_hero__underline{
	position: absolute;
	transform: translateX(-142px) translateY(32px);
}

.faq-item {
	border-radius:8px;
	overflow:hidden;
	margin-block-end:5px;
	text-align:left;
	font-size: 14px;
	font-weight: 400;
	color: rgb(46, 45, 43);
}
.faq-item p {
	font-size: 14px;
	font-weight: 400;
	color: rgb(46, 45, 43);
}
.faq-answer ul {
	list-style-type: disc;
	/* puces rondes */
	margin: 0 0 0 48px;
	/* décale à gauche */
	padding: 0;
}
.faq-question {
	padding:15px 20px 15px 60px;
	/* espace à gauche pour le cercle */
	background:#f9f9f9;
	cursor:pointer;
	position:relative;
	font-size:14px;
	font-weight:600;
	line-height:1.2;
}
.faq-question::before {
	content:"+";
	position:absolute;
	left:20px;
	top:50%;
	transform:translateY(-50%);
	font-size:18px;
	transition:transform .3s;
	width:24px;
	height:24px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:2px solid #333;
	border-radius:50%;
}
.faq-item.open .faq-question::before {
	transform:translateY(-50%) rotate(45deg);
}
/* on n'anime plus max-height mais height en JS */
.faq-answer {
	height:0;
	overflow:hidden;
	background:#f2f7e2;
	padding:0 45px;
	/* padding latéral seulement fermé */
	line-height:1.5;
	transition:height .3s ease, padding .3s ease;
}
.faq-item.open .faq-question {
	background:#f2f7e2;
}
@media (prefers-reduced-motion: reduce) {
	.faq-answer, .faq-question::before {
		transition:none;
	}
}
/*********** CUSTOM FORM*****************/
.customformcontainer{
	margin-top:100px;
	margin-bottom: 50px;
}
.customformcontainer .items-services-2{
	margin-bottom: 0;
}
.customformcontainer .items-services-1 {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.customformcontainer .items-services-1 .accroche-txt-services{
	margin: 0 0 10px 0;
}
.customformcontainer .tech-form__icon{
	position: absolute;
	transform: translateX(-155px) translateY(-7px);
}
.customformcontainer .items-services-2 {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.customformcontainer .tech-form__img {
	position: absolute;
	transform: translateX(-466px) translateY(102px);
}
.customformcontainer .tech-hero__title {
	margin: 0 0 10px 0;
	font-size: 2.7rem;
	/* adapte selon ta classe s48 */
	line-height: 1.1;
}
.customformcontainer .items-services-2 .tech-form__underline {
	position: absolute;

	transform: translateX(106px) translateY(-12px);
}
/* Responsive si besoin */
@media (max-width: 600px) {
	.customformcontainer .tech-hero__title {
		font-size: 1.5rem;
	}
	.customformcontainer .tech-hero__img,.customformcontainer .tech-form__underline {
		width: 80%;
		height: auto;
	}
}


