.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
}


.blocContenu{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: row;
    width: auto;
    padding-top: 80px;
    padding-bottom: 80px;
    margin-left: 3rem;
    margin-right: 3rem;

}

@media screen and (max-width: 850px){
    .blocContenu{
        margin-left: 1rem;
        margin-right: 1rem;
    }
}







.contenant{
    margin: 60px 50px;
    padding-bottom: 50px;
    display: flex;
    width: 400px;
    height: 600px;
    flex-direction: column;
    justify-content: center;
    position: relative;

}

@media screen and (max-width: 850px){
 .contenant{
    width: 350px;
    height: 600px;
    }
}

/* ------------------------ */
/*       NAVIGATION         */
/* ------------------------ */
.bandeauNav .topnav {
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 60px;
  background-color: #333;
}

.bandeauNav .topnav .logo img {
  height: 40px;
}

.bandeauNav .topnav .menu-links {
  display: flex;
  gap: 15px;
}

.bandeauNav .topnav .menu-links a {
  color: white;
  text-decoration: none;
  padding: 0 15px;
}

.bandeauNav .topnav .menu-links a:hover {
  color: #e75113;
}

.bandeauNav .topnav .menu-links a.icon {
  display: none;
}

.bandeauNav .topnav .icon {
  display: none;
  font-size: 26px;
  color: white;
  cursor: pointer;
}

/* ------------------------ */
/*        RESPONSIVE        */
/* ------------------------ */
@media screen and (max-width: 850px) {
  /* Menu fermé : cacher liens, afficher burger */
  .bandeauNav .topnav .menu-links {
    display: none;
    flex-direction: column;
    width: 100%;
  }

  .bandeauNav .topnav .menu-links a.icon,
  .bandeauNav .topnav .icon {
    display: block;
    padding: 10px 0;
  }

  /* Menu ouvert */
  .bandeauNav .topnav.responsive {
    flex-direction: column;
    align-items: flex-start;
  }

  .bandeauNav .topnav.responsive .menu-links {
    display: flex;
  }

  .bandeauNav .topnav.responsive .menu-links a {
    display: block;
    padding: 10px 0;
  }
}

.topnav .icon {
  display: none;
}

@media screen and (max-width: 850px) {
  .topnav .menu-links a {display: none;} /* cache les liens */
  .topnav .icon {
    display: block; /* affiche le burger */
    float: right;
  }
}


/*////////////////////////////////////////////////////////////////*/

.conteneurGlobal{
    display: flex;        /* pas inline-flex */
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    background-color: gray;
    padding: 30px 0px 30px 0px;

}


@media screen and (max-width: 848px) {
.conteneurGlobal{
    display: flex;        /* pas inline-flex */
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    background-color: gray;
    padding: 20px 5px;
}
}

.conteneurGlobalExp{
    display: flex;        /* pas inline-flex */
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    background-color: #333;
    padding: 30px 0px 0px 0px;

}


@media screen and (max-width: 848px) {
.conteneurGlobalExp{
    display: flex;        /* pas inline-flex */
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    padding: 20px 5px;
}
}

.bloc1Accueil{
    margin: 10px;
    display: flex;
    padding: 30px;
    background-color: #fff;
    height: 480px;
    width: 400px;       /* largeur fixe */
   /* pour responsive */
    align-items: center;
    z-index: 20;
    align-items: flex-start;
     flex-direction: column; /* <<< mettre en colonne pour empiler h2 et texte */
     border-radius: 40px 0px 40px 40px;
     gap: 10px;
           text-align: justify;

  text-align-last: left; 

  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  /* si besoin pour forcer retours de mots */
  overflow-wrap: break-word;

}




@media screen and (max-width: 848px) {
    .bloc1Accueil{
    height: 520px;
    margin: 10px;
    border-radius: 40px 40px 0px 0px;
    }
}



.bloc2Accueil{
     flex-direction: column; /* <<< mettre en colonne pour empiler h2 et texte */
        margin: 10px;
    display: flex;
    padding: 30px;
    background-color: #fff;
    height: 480px;
        width: 400px;   
   /* pour responsive */

    z-index: 20;
    align-items: flex-start;
    border-radius: 0px 40px 40px 40px;
    gap: 10px;

      text-align: justify;

  text-align-last: left; 

  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  /* si besoin pour forcer retours de mots */
  overflow-wrap: break-word;
}

@media screen and (max-width: 848px) {
    .bloc2Accueil{
    height: 520px;
    margin: 10px;
    border-radius: 0px 0px 40px 40px;
    }
}

.boutonExpSer{
    all: initial;
    margin-top: 30px;
    border: none;
    color: white;
    padding: 15px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    font-size: 16px;
    margin: 20px 0px;
    cursor: pointer;
    background-color:#e75113;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    box-shadow: 0 2px 6px black;
    border-radius: 8px;
}


.boutonExpSer:hover{
    all: initial;
    margin-top: 30px;
    border: none;
    color: white;
    padding: 15px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    font-size: 16px;
    margin: 20px 0px;
    cursor: pointer;
    background-color:#b34013;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    box-shadow: none;
    border-radius: 8px;
}



@media screen and (max-width: 848px) {
.boutonExpSer{
    font-size: 16px;
}
}





.titresExperienceServices{
    color: #e75113;
    font-size: 35px;
    text-transform: uppercase;
}



.blocPhoto{
    margin-top: 0;
}


.boutonContact{
  all: initial;
border: none;
  color: white;
  padding: 15px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
  width: 200px;
  font-size: 18px;
  margin: 4px 2px;
  cursor: pointer;
    background-color:#e75113;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    box-shadow: 0 2px 6px black;
    border-radius: 8px;
}


.boutonContact:hover{
  all: initial;
border: none;
  color: white;
  padding: 15px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
  width: 200px;
  font-size: 18px;
  margin: 4px 2px;
  cursor: pointer;
    background-color:#b34013;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    border-radius: 8px;
}









/*//////Accueil//////////////////////////////////*/












*{
    margin: 0;
    padding: 0;
/*    border size: 0;*/
    font-family: 'Roboto', sans-serif;
    
}

*, *:before, *:after {
    box-sizing: inherit;
}

body, html{
    height: 100%;
    margin: 0;
}






.html{
    font-family: 'Roboto', sans-serif;
    font-weight: normal;
    height: 100%;
    margin: 0;
line-height: 1.4;
}

/*///////////////////////////////////////////////////////////////////*/


.fondAccueil {
    display: flex;
    flex-direction: column;
    background-image: url("media/briqueterie.jpg");
    background-size: cover;
    background-position: center;
    height: 500px;
    position: relative;
    display: flex;
    justify-content: center;
    font-size: 20px;
    align-items: center;
    text-transform: uppercase;
    text-align: center;
    color: white;
    text-shadow: 0 2px 6px black;
    gap: 20px;
}

/* Overlay transparent */
.fondAccueil::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4); /* noir transparent (45%) */
    z-index: 1;
}

/* Le texte doit passer au-dessus de l’overlay */
.fondAccueil > * {
    position: relative;
    z-index: 2;
}

.texteBanner{
    position: absolute;
}


@media screen and (max-width: 850px){
.fondAccueil{
    height: 400px;
        font-size: 10px;
}
}


.fondExperience {
    display: flex;
    flex-direction: column;
    background-image: url("media/experience.jpg");
    background-size: cover;
    background-position: center;
    height: 500px;
    position: relative;
    display: flex;
    justify-content: center;
    font-size: 20px;
    align-items: center;
    text-transform: uppercase;
    text-align: center;
    color: white;
    text-shadow: 0 2px 6px black;
    gap: 20px;
}

/* Overlay transparent */
.fondExperience::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4); /* noir transparent (45%) */
    z-index: 1;
}

/* Le texte doit passer au-dessus de l’overlay */
.fondExperience > * {
    position: relative;
    z-index: 2;
}

.texteBanner{
    position: absolute;
}


@media screen and (max-width: 850px){
.fondExperience{
    height: 400px;
        font-size: 10px;
}
}




.fondServices {
    display: flex;
    flex-direction: column;
    background-image: url("media/tapisRoulantAvecMaindoeuvreIndigene.jpg");
    background-size: cover;
    background-position: center;
    height: 500px;
    position: relative;
    justify-content: center;
    font-size: 20px;
    align-items: center;
    text-transform: uppercase;
    text-align: center;
    color: white;
    text-shadow: 0 2px 6px black;
    gap: 20px;
}

/* Overlay transparent */
.fondServices::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4); /* noir transparent (45%) */
    z-index: 1;
}

/* Le texte doit passer au-dessus de l’overlay */
.fondServices > * {
    position: relative;
    z-index: 2;
}

.texteBanner{
    position: absolute;
}


@media screen and (max-width: 850px){
.fondServices{
    height: 400px;
        font-size: 10px;
}
}



/*//////////////////////////////////////////////////////////*/



.serviceContact{
    font-size: 70px;
}

@media screen and (max-width: 600px){
.serviceContact{
    font-size: 40px;
}
}


#actuel{
    color: #e75113;
}
 








.presentation{
    background-color: #e75113;   
    min-width: 100%;
    color: white;
    font-size: 1.5rem;
    display: block;
    align-items: center;
    text-align: center;
    max-width: 40rem;
    margin-left: 0;
    padding: 2rem;
    margin-top: 1rem;
    border: 1px solid #ff00ff;
    border-radius: 20px; 
}

@media screen and (max-width: 850px){
.presentation{
    font-size: 1.25rem;
    }
}









.imageTitres{
    min-width: 700px;
    height: auto;
    display: flex;
    padding-top: 3rem;

}












/*///////////contact//////////////////////////////////////////////////*/


 















 





  .textFoot{
    color: white;
    padding: 0;
    text-align: center;
    margin: 0;
}


.continents{
    width: 100%;
    max-width: 900px; /* ou ce que tu veux */
    margin: auto;
    text-align: center; /* centre tout */
}



.continents img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: none; /* car une seule image s'affiche à la fois dans ton script */
}

/* L’image visible (celle activée par JavaScript) */
.continents img.active {
    display: block;
}

/* Version mobile */
@media (max-width: 600px) {
    .continents img {
        width: 100%;
        max-width: 95%;
        margin: auto;
    }
}




#continentVert{
    width: 800px;
    position: relative;
    padding: 30px;

}

#continentTurquoise{
    width: 800px;
    position: relative;
    padding: 30px;

}

#continentOrange{
    width: 800px;
    position: relative;
    padding: 30px;

}

#continentJaune{
    width: 800px;
    position: relative;
    padding: 30px;
}

#continentRose{
    width: 800px;
    position: relative;
    padding: 30px;
}

.blocLegends{
    display: flex;
    justify-content: center;

}


.legends{
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
}

.legend {
    margin: 10px;
    cursor: pointer;
    padding: 5px;
    margin-right: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: white;
    white-space: normal;
    text-align: center;
    min-width: 120px;
}

.legend:hover {
    background-color: black;
}



.texteComplement{
    padding: 30px;
    max-width: 1000px;
    color: white;

}


.turquoise{
    color: #02bfbf;
}


.vert{
    color: #559100;
    font-size: 60px;
}

.orange{
    color: #e75113;
}

.jaune{
    color: #d8af05;
}

.rose{
    color: #d674ac;
}

/*.backtotop{
  position: fixed;
  bottom: 0;
  right: 2em;
  z-index: 8000;
  width: 2em;
}

.backtotop img{ 
  width: 5em;
}*/

.conteneurExperience{
    display: flex;
    justify-content: center;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: 1200px;
        overflow: visible;
        padding: 30px 0px 30px 0px;
}




.bonjour{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: initial;
    margin: 0;
    width: 100%;
    padding-top: 0px;

}


.titresSection{
    text-transform: uppercase;
    display: inline-block;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    background-color: initial;
    padding: 10px;
    height: auto;
    max-width: 1000px;
    z-index: 100;
    margin-bottom: 20px;

}

@media screen and (max-width: 850px){
.titresSection{
    font-size: 22px;
    font-weight: bold;
    padding: 10px;
}
}



.h2{
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    line-height: 1.3;
    color: #e75113;
    text-align: center;
    padding : 30px;
    text-transform: uppercase;
    margin: auto;

/*    background-color: black;
    border-radius: 25px;*/

}




@media screen and (max-width: 850px){
.h2{
/*    line-height: 1;*/
    padding-top: 5rem;
    padding-left: 0;
    padding-right: 0;

    }
}

.sous-titres{
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 1.8rem;
    color: rgb(51,204,255);
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0px;
    padding-bottom: 15px;
}









/* Turn off parallax scrolling for tablets and phones. Increase/decrease the pixels if needed */
/*@media only screen and (max-width: 1024px) {
    .parallax {
        background-attachment: scroll;
    }
} 
*/



/*//////////////////////service/////////////////////////////////////////////*/


.contenuSectionServices{
    display: flex;
    flex-direction: column;
    max-width: 1000px;
    padding: 30px;
    align-items: center;

}

@media screen and (max-width: 850px){
.contenuSectionServices{
    padding: 10px;
}
}


/*.sousTitres{
    font-size: 30px;
    color: #333;
    text-transform: uppercase;
    margin-bottom: 15px;
    text-align: center;

}

@media screen and (max-width: 850px){
.sousTitres{
    font-size: 20px;

}
}*/

.blocCartesServices{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
}


.carteService{
    display: flex;
    flex-direction: column;
    width: 300px;
    height: 350px;
    background-color: #333;
    margin: 15px;
    box-shadow: 3px 5px 10px rgba(0,0,0,0.3);
    border-radius: 15px;
    padding: 20px;
}

.titreCarte{
    color: #e75113;
    font-weight: 400;
    font-size: 25px;
    text-align: center;
    padding-top: 10px;
    height: 120px;
}

.pictoCartes{
    display: flex;
    justify-content: center;
}



/*//////////////////////////////////////////*//*////////////////////////////*/
* {box-sizing:border-box}










.pied-de-page{
    display: block;
    text-align: center;
    color: white;
    padding: 40px 0px;
    background: #333;
    margin: 0;
    margin-top: 0;
    margin-bottom: -30px;

}


.pied-de-pageExperience{
    display: block;
    text-align: center;
    color: #333;
    padding: 40px 0px;
    background: #b7b8b3;
    margin: 0;
    margin-top: 0;
}



.lienmail{
    color: #e75113;
    text-decoration: none;
}




a.lienmail:hover{
    color: #edece5;

}







/*//////////////////form////////////////*/

.zoneForm {
    background: gray;
    display: flex;
    justify-content: center; /* Centre horizontalement */
    align-items: center;     /* Centre verticalement */
    height: 100vh;           /* Prend toute la hauteur de la fenêtre */
    margin: 0;
    padding: 0;
}

.blocContact {
    background: #333;
    padding: 40px 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    max-width: 600px;
    width: 100%;

}

.blocContact h2 {
    text-align: center;
    font-size: 50px;
    margin-bottom: 30px;
    color: #e75113;

}

/* Messages d'erreur et succès */
.blocContact p {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}

/* Formulaire */
.blocForm form {
    display: flex;
    flex-direction: column;
}

.blocForm label {
    margin-bottom: 5px;
    font-weight: 300;
    color: #b7b8b3;
}

.blocForm input,
.blocForm textarea {
    padding: 12px 15px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
    font-size: 16px;
    transition: 0.3s;
}

.blocForm input:focus,
.blocForm textarea:focus {
    border-color: #6b73ff;
    box-shadow: 0 0 8px rgba(107,115,255,0.3);
    outline: none;
}

.blocForm textarea {
    resize: vertical;
}

/* Bouton */
.blocForm button {
    padding: 15px;
    border: none;
    border-radius: 10px;
    background: #e75113;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    transition: 0.3s;
}

.blocForm button:hover {
    background: #b34013;
}