* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Poppins regular, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
	margin: 0;
}

header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    background: transparent;
	margin-top:35px;
}

.burger,
.menu-overlay {
    display: none;
}

.hero {
    height: 100vh;
    background-image: url("images/accueil.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	padding-top:8%;
	padding-left:100px;
	padding-right:100px;
}

.hero h1{
	color: white;
	font-size:45px;
	letter-spacing:3px;
	margin-right:50%;
}

.hero h2{
	padding-top:15px;
	font-family: Poppins ;
		 font-weight: 200;
	color: white;
	font-size:17px;
	letter-spacing:1.2px;
	
}
.hero-content span {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-style: italic;
}

nav ul {
    list-style: none;        /* enlève les puces */
    display: flex;           /* met les éléments en ligne */
    justify-content: center; /* centre horizontalement */
    gap: 100px;               /* espace entre les liens (modifiable) */
    padding: 0;
    margin: 0;
}

nav a {
    text-decoration: none;
    color: white; /* ou blanc si sur image */
	font-size: 16px;
	letter-spacing:3px;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
}

nav ul li a {
  padding: 10px 20px;       /* taille normale */
  border-radius: 30px;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  display: inline-block;
  
  border: 1.1px solid transparent; /* bordure invisible par défaut */
}

nav ul li a:hover {
  transform: scale(1.05); /* agrandissement visuel */
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-color: rgba(255,255,255,0.2); /* bordure visible au hover */
  box-shadow: 0 8px 32px 0 rgba(0, 71, 114, 0.20);
}

section #section{
	margin-top:90px;
}
#services {
    display: flex;               /* aligne les div enfants horizontalement */
    justify-content: center;     /* centre les div horizontalement dans le container */
    align-items: center;         /* centre les div verticalement si le container a une hauteur */
}

#services a {
    display: inline-flex;        /* important pour que ça scale bien */
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    transition: transform 0.3s ease;
	padding-bottom:15px;
	padding-top:15px;
}

#services a:hover {
    transform: scale(1.08);
}
#services div img{
	width:35%;
}
#services div p{
		font-size:20px;
		color: white;
}

/* Glassmorphism CSS */
.glass-element {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 30px;
  border: 1.1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 32px 0 #002f47;
}

/* Optional: Add these for better browser support */
.glass-element {

  background: rgba(255, 255, 255, 0.2);
}

/* For better performance on mobile */
@supports (backdrop-filter: blur(1px)) {
  .glass-element {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
  }
}
.btn {
  display: inline-flex;        
  align-items: center;         
  gap: 10px;                   
  background: transparent;
  color: white;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  font-weight: 300;          
	padding-right:20px;
  border-radius: 30px;
   transition: transform 0.3s ease; /* animation bouton */
}

@media (hover: hover){

.btn:hover {
  background-color: white;
  color: #004772;
  font-weight: 400;
}
#bouton1:hover .btn img {
    transform: translateX(6px); /* déplacement vers la droite */
}
#bouton1:not(:hover) .btn img {
    transition-delay: 0s;
}
/* Agrandissement du bouton */
#bouton1:hover .btn {
    transform: scale(1.05);
}
}

.btn img{
	width: 50px;
	transition: transform 0.3s ease; /* animation fluide */
}
#bouton1 {
  display: inline-block; /* s'ajuste à la largeur du contenu */
  margin-top:40px;
  border-radius: 40px;
}
#bouton1:hover .btn img {
    transform: translateX(6px); /* déplacement vers la droite */
}
#bouton1:not(:hover) .btn img {
    transition-delay: 0s;
}
/* Agrandissement du bouton */
#bouton1:hover .btn {
    transform: scale(1.05);
}



/* about */

#about {
	min-height: 100vh;
	padding-left:100px;
	padding-right:100px;
	padding-top:70px;
	padding-bottom:70px;
	display: flex;
	flex-direction: column; /* empile les éléments verticalement */
	justify-content: space-between; /* pousse le premier en haut et le dernier en bas */
	align-items: flex-start; /* commence à gauche (ou flex-end pour droite) */
	height: 100%;
}

#about h1{
	font-size:3.5vw;
	white-space: nowrap;
	margin-top: -10px;
	color:#032c4e;
}

#about_bottom div img{
	width:120%
}

#about_bottom .bottom{
	transition: transform 0.3s ease;
}

#about_bottom .bottom:hover{
	transform: scale(1.03);
}

#about span {
  font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-style: italic;
}

@media (hover: hover) {

  #bouton2:hover .btn2 img {
      transform: translateX(6px);
  }

  #bouton2:not(:hover) .btn2 img {
      transition-delay: 0s;
  }

  #bouton2:hover .btn2 {
      transform: scale(1.05);
  }

  .btn2:hover {
      background-color: #032c4e;
      color: white;
      font-weight: 300;
  }

}

.btn2 {
	  display: inline-flex;        
	  align-items: center;         
	  gap: 10px;                   
	  background-color:#ececf8;
	  color: #032c4e;
	  text-decoration: none;
	  font-family: 'Poppins', sans-serif;
	  font-weight: 500;          
	padding-right:20px;
	border-radius: 30px;
   transition: transform 0.3s ease; /* animation bouton */
}

.btn2 img{
	width: 45px;
	transition: transform 0.3s ease; /* animation fluide */
}


#about_top {
	display: flex;               /* active le mode flex */
	justify-content: space-between; /* place les éléments aux extrémités */
	align-items: center;         /* aligne verticalement au centre si nécessaire */
	width: 100%;  
	position: relative;  /* occupe toute la largeur du parent */
}

#about_top p{
	text-align: right;
	margin-left: 30%;
	color:#032c4e;
	font-size: 16px;
}

#about_bottom {
  display: flex;               /* active le mode flex */
  justify-content: space-between; /* place les éléments aux extrémités */
  align-items: center;         /* aligne verticalement au centre si nécessaire */
  width: 100%;                 /* occupe toute la largeur du parent */
  gap: 20px;
}

.about1 {
	display: flex;
	justify-content: space-between;
	flex-direction:column;
}

#about_bottom > div:first-child{
	display: flex;             
	justify-content: space-between;
	height: 300px;
	width:56vw;
	background-color: #ececf8;
	border-radius:30px;
	padding:30px;
}

.about2{
	background-color: #032c4e;
	height:300px;
	width:30vw;
	border-radius:30px;
	padding:30px;
	display: flex;
	justify-content: space-between;
	flex-direction:column;
}

.map {
    background-color: #032c4e; /* couleur initiale */
    transition: opacity 0.8s ease; /* pour le texte et l'image */
	position: relative;
    overflow: hidden;
}

.map:hover {
    animation: bgFade 1s forwards; /* applique l'animation au hover */
}

/* Animation pour passer de couleur visible à transparente */
@keyframes bgFade {
    from { background-color: #032c4e; }
    to { background-color: #ececf8; }
}

.map::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("images/map.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.map:hover::after {
    opacity: 1;
}

.map h2,
.map p {
    position: relative;
    z-index: 2;
    transition: opacity 0.3s ease;
}

.map:hover h2,
.map:hover p {
    opacity: 0;
}
.about1 p{
	color:#032c4e;
	font-size:15px;
}

.about1 h2{
	color:#032c4e;
	letter-spacing:1px;
	white-space: nowrap;
	font-size:30px;
}

.about2 p{
	color:white;
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size:15px;
}

.about2 h2{
	color:white;
	letter-spacing:1px;
	font-family: 'Poppins', sans-serif;
	font-weight: 450;
	font-size:30px;
}


#bouton-mobile{
	display:none;
}

/* services */

#service{
	min-height: 100vh;
	padding-left:100px;
	padding-right:100px;
	padding-top:50px;
	padding-bottom:50px;
	display: flex;
	flex-direction: column; /* empile les éléments verticalement */
	align-items: flex-start; /* commence à gauche (ou flex-end pour droite) */
	height: 100%;
	gap:20px;
}

#service div{
	 display: flex;               
    justify-content: center;
	background-color:#ececf8;
	border-radius:30px;
}

#service > div div:first-child img{
	height: 13vw; 
	border-radius:30px;
}

.service-text{
	display:flex;
	flex-direction: column; /* empile les éléments verticalement */
	align-items: flex-start;
	margin-left:30px;
	margin-right:30px;
}

.service-text h1{
	padding-bottom:10px;
	letter-spacing:1px;
	color:#032c4e;
	font-size:30px;
}

.service-text p{
	color:#032c4e;
}

#bouton3 {
  display: inline-block; /* s'ajuste à la largeur du contenu */
  margin-top:40px;
  border-radius: 40px;
}
@media (hover: hover) {
	#bouton2:hover .btn2 img {
    transform: translateX(6px); /* déplacement vers la droite */
	}
	#bouton3:not(:hover) .btn3 img {
		transition-delay: 0s;
	}
	/* Agrandissement du bouton */
	#bouton3:hover .btn {
		transform: scale(1.05);
	}
	.btn3:hover {
		background-color: #032c4e;
		color: white;
		font-weight: 300;
	}
	.btn3:hover {
		background-color: #032c4e;
		color: white;
		font-weight: 300;
	}
	.btn3:hover {
  background-color: #032c4e;
  color: white;
  font-weight: 300;
}
}

.btn3 {
	  display: inline-flex;        
	  align-items: center;         
	  gap: 10px;                   
	  background-color:white;
	  color: #032c4e;
	  text-decoration: none;
	  font-family: 'Poppins', sans-serif;
	  font-weight: 500;          
	padding-right:20px;
	border-radius: 30px;
   transition: transform 0.3s ease; /* animation bouton */
}

.btn3 img {
	width: 40px;
	transition: transform 0.3s ease; /* animation fluide */
}

#bouton3:hover .btn3 {
    transform: scale(1.05);
}



/*Gouttière*/
#gouttiere{
		min-height: 100vh;
	padding-left:100px;
	padding-right:100px;
	padding-top:70px;
	padding-bottom:70px;
}

#gouttiere-top{
	display: flex;               /* active le mode flex */
	justify-content: space-between; /* place les éléments aux extrémités */
	align-items: flex-start;         /* aligne verticalement au centre si nécessaire */
	width: 100%;  
	position: relative;  /* occupe toute la largeur du parent */
	padding-bottom:50px;
}

#gouttiere-top h1{
	padding-bottom:10px;
	letter-spacing:1px;
	color:#032c4e;
	font-size:30px;
}

#gouttiere-top p{
	color:#032c4e;
	letter-spacing:0.5px;
}

#gouttiere-top span{
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-style: italic;
}

#gouttiere-bottom{
	  display: flex;               /* active le mode flex */
	  justify-content: space-between; /* place les éléments aux extrémités */
	  align-items: flex-start;         /* aligne verticalement au centre si nécessaire */
	  width: 100%;                 /* occupe toute la largeur du parent */
	  gap: 10px;
}



#gouttiere-bottom h2{
	color:#032c4e;
	letter-spacing:1px;
	white-space: nowrap;
	font-size:1.15vw;
	padding-bottom:10px;
	padding-top:5px;
}

#gouttiere-bottom p{
	color:#032c4e;
	font-size:1vw;
	color:#839ebb;
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
}


main .img-wrapper {
  position: relative;
  width: 6vw;
  border-radius: 20px;
  overflow: hidden;          /* masque tout dépassement */
  width: 100%;
}

.img-wrapper img {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.img-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: scale(1.05);
}

.img-wrapper:hover .img-hover {
  opacity: 1;
  transform: scale(1);
}

.img-wrapper:hover .img-default {
  opacity: 0;
}



/*contact*/

#contact{
	min-height: 100vh;
	padding-left:100px;
	padding-right:100px;
	padding-top:100px;
	padding-bottom:70px;
	background-color:#ececf8;
	display: flex;
    justify-content: center;
    align-items: center;
}

.contact-container {
    display: flex;              /* Active le flex */
    justify-content: space-between; /* Espace maximum entre les deux div */
    align-items: flex-start;    /* Aligne en haut, tu peux mettre center si tu veux centré verticalement */
    gap: 150px;                  /* Petit espace entre les div si besoin */
    flex-wrap: wrap;            /* Pour que ça reste responsive sur petits écrans */
}

.contact-left p{
	font-size:	;
	color:#032c4e;
	letter-spacing:0.5px;
}

.contact-left h1{
	color:#032c4e;
	letter-spacing:1px;
	padding-bottom:30px;
}

.contact-left,
.contact-right {
    flex: 1;                    /* Chaque div prend de l'espace, ajuste si nécessaire */
	width: 48%;             /* Pour éviter qu'elles prennent trop de place */
}

/* Optionnel : rendre le formulaire un peu plus joli */
.contact-right form {
    display: flex;
    flex-direction: column;
    gap: 20px;
	padding-top: 25px;
}

.form-row {
    display: flex;
    gap: 10px;
}

.form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
}

form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-row {
    display: flex;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    flex: 1;
}

label {
    font-size: 0.9rem;
    margin-bottom: 5px;
	color:#032c4e;
}

input, textarea {
    padding: 15px;
    border: 1px solid #032c4e;
    border-radius: 15px;
    font-size: 0.8rem;
    width: 100%;
	background-color:#ececf8;
	
}

textarea {
    resize: none;
    height: 150px;
}

button {
    background-color: #032c4e;
    color: #ececf8;
    border: none;
    padding: 12px 20px;
    font-size: 1rem;
    border-radius: 30px;
    cursor: pointer;
    transition: 0.3s;
}

button:hover {
    background-color: white;
	color:#032c4e;;
}

.contact-left h1{
	font-size:5rem;
}



/*animation*/

@keyframes premiumZoom {
  0% {
    transform: scale(1);  /* commence à sa taille normale */
    opacity: 1;
    box-shadow: 0 0 0 rgba(3, 44, 78, 0);
  }
  50% {
    transform: scale(1.03); /* léger zoom vers le haut */
    opacity: 1;
    box-shadow: 0 0 30px rgba(3, 44, 78, 0.25);
  }
  100% {
    transform: scale(1); /* revient à sa taille normale */
    box-shadow: 0 0 0 rgba(3, 44, 78, 0);
  }
}

.service-block.animate {
    transform-origin: center; /* zoom depuis le centre */
    animation: premiumZoom 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
}

.service-img-mobile img{
    display: none;
}

.service-img img{
    display: block;
}






@media (min-width: 768px) and (max-width: 1025px) {

 #services > div {
   width: 50%;
}
  
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

.hero {
    background-image: url("images/accueil-tablette.jpg");
	padding:0px 35px;
	padding-bottom:20px;
	display: flex;
    justify-content: flex-end; /* centre horizontal */
	flex-direction:column;
	min-height:866px;
}
  
  .hero h1{
	color: white;
	font-size:7.8vw;
	letter-spacing:1.8px;
	margin:0;
	line-height: 1.4;
}

.hero h2{
        display: none;
    }
	
.btn img{
	width: 55px;
}

.btn a{
	font-size:10px;
}

#bouton1{
	margin-top:20px;
}
section #section{
	margin-top:20px;
}

#services div p{
		font-size:15px;
		color: white;
}

#services div img{
	width:60%;
}

#about_top {
	display: flex;               /* active le mode flex */
	flex-direction:column;         /* aligne verticalement au centre si nécessaire */
	align-items:flex-start;
	width: 100%;  
	position: relative;  /* occupe toute la largeur du parent */
}

#about_bottom {
	display: flex;               /* active le mode flex */
	flex-direction:column;
	width: 100%;                 /* occupe toute la largeur du parent */
	gap: 2vw;
	padding-top:25px;
}

#about{
	padding:30px 35px;
}

#about_bottom > div:first-child{
	width:100%;
	height:100%;
	padding:20px;
	border-radius:30px;
}

.about1 p {
    font-size:3vw;
}

#about_bottom div img{
	display:none;
}

.about2{
	width:100%;
	height:100%;
	padding:20px;
	border-radius:25px;
}

.about2 p{
	font-size:3vw;
}

#bouton-mobile{
	display:block;
	
}

#about h2{
	font-size:6vw;
	padding-bottom:15px;
}

#about h1{
	font-size:8.5vw;
}

#about1{
	  display: flex;               /* active le mode flex */
  justify-content: flex-start; /* place les éléments aux extrémités */
  align-items: center;         /* aligne verticalement au centre si nécessaire */
}

#about_top p{
	font-size: 3vw;
	text-align:left;
	margin:0;
	padding:10px 0;
}

#about1 #bouton2{
	display:none;
}

#service{
	padding:30px 35px;
}

.service-img img{
    display: none 
}

.service-img-mobile img{
    display: block;
	width:100%;
	border-radius:25px;
}

.service-text{
	margin:0 10px;
}

.service-text h1{
	font-size:3.9vw;
	padding:6px 0 2px 0;
}

.service-text p{
	font-size:2.5vw;
}

.btn3 img {
	width:45px;
}

.img-wrapper img {
    width: 100%;
}

main .img-wrapper {
  border-radius: 40px;
  width: 100%;
}

#bouton3{
	margin:10px 0;
}

#service div{
	 display: flex;               /* active le mode flex */
  justify-content: flex-start; /* place les éléments aux extrémités */
  flex-direction:column;
  border-radius:25px;
}

#gouttiere{
	padding:30px 35px;
	display: flex;
    flex-flow: column;
    justify-content: space-between;
}

#gouttiere-top{
	display:flex;
	flex-direction:column;
}

#gouttiere-top h1{
	font-size:6.3vw;
}

#gouttiere-top p{
	font-size:3.7vw;
}

.btn2 img{
	width:55px;
}

#bouton2{
	margin-top:15px;
}

#gouttiere-top{
	padding-bottom:30px;
}

#gouttiere-bottom h2{
	font-size:17px;
	padding:0 5px;
	
}

#gouttiere-bottom p{
	font-size:14px;
	padding:0 5px;
}

#contact{
	height:100vh;
	padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    padding-bottom: 0px
}

.contact-container{
	padding: 40px 35px;
	display: flex;
    flex-flow: column;
    justify-content: space-between;
	gap:0vw;
	align-items:center;
}

.contact-left h1{
	font-size: 13vw;
	padding-bottom: 2vw;
}

.contact-left, .contact-right{
	width: 100%;
}

.contact-left p{
	font-size:3vw;
}

#contact{
	height:100%;
}

/*burger*/

 /* Cache le menu normal */
    nav {
        display: none;
    }

    /* Burger visible */
    .burger {
        display: block;
        top: 20px;
        right: 20px;
        font-size: 28px;
        cursor: pointer;
        z-index: 1100;
    }
	
	#openMenu img{
		width:10%;
		
	}
	
	#openMenu{
		display:flex;
		justify-content:flex-end;
		padding-right:15px;
		-webkit-tap-highlight-color: transparent;
	}
	
	#closeMenu img{
		width:12%;
	}
	
	#closeMenu{
		display:flex;
		justify-content:flex-end;
		-webkit-tap-highlight-color: transparent;
	}

    /* Overlay */
    .menu-overlay {
        display: flex;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(5px);
        justify-content: center;
        align-items: center;
        opacity: 0;
        visibility: hidden;
        transition: 0.4s ease;
        z-index: 1000;
    }

    .menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Carte */
    .menu-card {
        width: 100%;
        max-width: 320px;
        background: white;
        border-radius: 30px;
        padding: 60px 20px;
        text-align: center;
        position: relative;
        transform: translateY(-20px);
        transition: 0.4s ease;
    }

    .menu-overlay.active .menu-card {
        transform: translateY(0);
    }

    /* Bouton fermer */
    .close-btn {
        position: absolute;
        top: 15px;
        right: 20px;
        font-size: 22px;
        cursor: pointer;
    }

    /* Liens */
    .menu-card ul {
        list-style: none;
        padding: 0;
    }

    .menu-card li {
        margin: 25px 0;
    }

    .menu-card a {
        text-decoration: none;
        font-size: 28px;
        color: #12344d;
        letter-spacing: 2px;
    }
	
	
	.carousel-dots {
        display: flex;
        justify-content: center;
        gap: 8px;
        padding-top:10px;
    }

    .carousel-dots span {
        width: 8px;
        height: 8px;
        background: #c9c9d6;
        border-radius: 50%;
        transition: 0.3s ease;
    }

    .carousel-dots span.active {
        background: #12344d;
        transform: scale(1.2);
    }
	
	#gouttiere-bottom {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 10px;
        padding: 10px 0px;
        scroll-behavior: smooth;
    }


    #gouttiere-bottom::-webkit-scrollbar {
        display: none;
    }

    #gouttiere-bottom > div {
        flex: 0 0 50%;
        scroll-snap-align: center;
        border-radius: 25px;
        text-align: left;
    }


/*bouton mobile*/
		.btn2{
		-webkit-tap-highlight-color: transparent;
		padding-right: 30px
		}
		
		.btn2:active {
			transform: scale(1.05);
			background-color: #032c4e;
			color: white;
	}

			.btn3{
		-webkit-tap-highlight-color: transparent;
		}
		
		.btn3:active {
			transform: scale(1.05);
			background-color: #032c4e;
			color: white;
	}
	
				.btn{
		-webkit-tap-highlight-color: transparent;
		padding-right: 20px;
		}
		
		.btn:active {
			transform: scale(1.05);
			background-color: white;
			color: #032c4e;
}

}






@media (max-width: 767px) {
 #services {
   display: flex;
   flex-wrap: wrap;
 }

 #services > div {
   width: 50%;
}
  
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

.hero {
    background-image: url("images/accueil-mobile.jpg");
	padding:0px 35px;
	padding-bottom:20px;
	display: flex;
    justify-content: flex-end; /* centre horizontal */
	flex-direction:column;
	min-height:866px;
}
  
  .hero h1{
	color: white;
	font-size:7.8vw;
	letter-spacing:1.8px;
	margin:0;
	line-height: 1.4;
}

.hero h2{
        display: none;
    }
	
.btn img{
	width: 40px;
}

#bouton1{
	margin-top:20px;
}
section #section{
	margin-top:20px;
}

#services div p{
		font-size:15px;
		color: white;
}

#services div img{
	width:55%;
}

#about_top {
	display: flex;               /* active le mode flex */
	flex-direction:column;         /* aligne verticalement au centre si nécessaire */
	align-items:flex-start;
	width: 100%;  
	position: relative;  /* occupe toute la largeur du parent */
}

#about_bottom {
	display: flex;               /* active le mode flex */
	flex-direction:column;
	width: 100%;                 /* occupe toute la largeur du parent */
	gap: 2vw;
	padding-top:25px;
}

#about{
	padding:30px 35px;
}

#about_bottom > div:first-child{
	width:100%;
	height:100%;
	padding:20px;
	border-radius:25px;
}

.about1 p {
    font-size:3vw;
}

#about_bottom div img{
	display:none;
}

.about2{
	width:100%;
	height:100%;
	padding:20px;
	border-radius:25px;
}

.about2 p{
	font-size:3vw;
}

#bouton-mobile{
	display:block;
	
}

#about h2{
	font-size:6vw;
	padding-bottom:15px;
}

#about h1{
	font-size:8.5vw;
}

#about1{
	  display: flex;               /* active le mode flex */
  justify-content: flex-start; /* place les éléments aux extrémités */
  align-items: center;         /* aligne verticalement au centre si nécessaire */
}

#about_top p{
	font-size: 3.7vw;
	text-align:left;
	margin:0;
	padding:10px 0;
}

#about1 #bouton2{
	display:none;
}

#service{
	padding:30px 35px;
}

main .img-wrapper {
  border-radius: 20px;
  width: 100%;
}

.service-img img{
    display: none 
}

.service-img-mobile img{
    display: block;
	width:100%;
	border-radius:25px;
}

.service-text{
	margin:0 10px;
}

.service-text h1{
	font-size:3.9vw;
	padding:6px 0 2px 0;
}

.service-text p{
	font-size:3vw;
}

.btn3 img {
	width:35;
}

.img-wrapper img {
    width: 100%;
}

#bouton3{
	margin:10px 0;
}

#service div{
	 display: flex;               /* active le mode flex */
  justify-content: flex-start; /* place les éléments aux extrémités */
  flex-direction:column;
  border-radius:25px;
}

#gouttiere{
	padding:30px 35px;
	display: flex;
    flex-flow: column;
    justify-content: space-between;
}

#gouttiere-top{
	display:flex;
	flex-direction:column;
}

#gouttiere-top h1{
	font-size:6.3vw;
}

#gouttiere-top p{
	font-size:3.7vw;
}

.btn2 img{
	width:40px;
}

#bouton2{
	margin-top:15px;
}

#gouttiere-top{
	padding-bottom:30px;
}

#gouttiere-bottom h2{
	font-size:17px;
	padding:0 5px;
	
}

#gouttiere-bottom p{
	font-size:14px;
	padding:0 5px;
}

#contact{
	height:100vh;
	padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    padding-bottom: 0px
}

.contact-container{
	padding: 40px 35px;
	display: flex;
    flex-flow: column;
    justify-content: space-between;
	gap:0vw;
	align-items:center;
}

.contact-left h1{
	font-size: 13vw;
	padding-bottom: 2vw;
}

.contact-left, .contact-right{
	width: 100%;
}

.contact-left p{
	font-size:3.7vw;
}

#contact{
	height:100%;
}

/*burger*/

 /* Cache le menu normal */
    nav {
        display: none;
    }

    /* Burger visible */
    .burger {
        display: block;
        top: 20px;
        right: 20px;
        font-size: 28px;
        cursor: pointer;
        z-index: 1100;
    }
	
	#openMenu img{
		width:10%;
		
	}
	
	#openMenu{
		display:flex;
		justify-content:flex-end;
		padding-right:15px;
		-webkit-tap-highlight-color: transparent;
	}
	
	#closeMenu img{
		width:12%;
	}
	
	#closeMenu{
		display:flex;
		justify-content:flex-end;
		-webkit-tap-highlight-color: transparent;
	}

    /* Overlay */
    .menu-overlay {
        display: flex;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(5px);
        justify-content: center;
        align-items: center;
        opacity: 0;
        visibility: hidden;
        transition: 0.4s ease;
        z-index: 1000;
    }

    .menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Carte */
    .menu-card {
        width: 85%;
        max-width: 320px;
        background: white;
        border-radius: 30px;
        padding: 60px 20px;
        text-align: center;
        position: relative;
        transform: translateY(-20px);
        transition: 0.4s ease;
    }

    .menu-overlay.active .menu-card {
        transform: translateY(0);
    }

    /* Bouton fermer */
    .close-btn {
        position: absolute;
        top: 15px;
        right: 20px;
        font-size: 22px;
        cursor: pointer;
    }

    /* Liens */
    .menu-card ul {
        list-style: none;
        padding: 0;
    }

    .menu-card li {
        margin: 25px 0;
    }

    .menu-card a {
        text-decoration: none;
        font-size: 22px;
        color: #12344d;
        letter-spacing: 2px;
    }
	
	
	.carousel-dots {
        display: flex;
        justify-content: center;
        gap: 8px;
        padding-top:10px;
    }

    .carousel-dots span {
        width: 8px;
        height: 8px;
        background: #c9c9d6;
        border-radius: 50%;
        transition: 0.3s ease;
    }

    .carousel-dots span.active {
        background: #12344d;
        transform: scale(1.2);
    }
	
	#gouttiere-bottom {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 10px;
        padding: 10px 0px;
        scroll-behavior: smooth;
    }


    #gouttiere-bottom::-webkit-scrollbar {
        display: none;
    }

    #gouttiere-bottom > div {
        flex: 0 0 82%;
        scroll-snap-align: center;
        border-radius: 25px;
        text-align: left;
    }


/*bouton mobile*/
		.btn2{
		-webkit-tap-highlight-color: transparent;
		}
		
		.btn2:active {
			transform: scale(1.05);
			background-color: #032c4e;
			color: white;
	}

			.btn3{
		-webkit-tap-highlight-color: transparent;
		}
		
		.btn3:active {
			transform: scale(1.05);
			background-color: #032c4e;
			color: white;
	}
	
				.btn{
		-webkit-tap-highlight-color: transparent;
		}
		
		.btn:active {
			transform: scale(1.05);
			background-color: white;
			color: #032c4e;
}