/*
Theme Name: Astra Child
Theme URI: https://exemple.com/
Description: Thème enfant pour Astra
Author: Fabio Ferreira
Author URI: https://ton-site.local
Template: astra
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  /* 🎨 Couleurs */
  --color-rice: #F4F5EF;
  --color-black: #1A1717;
  --color-bruin: #593B02;
  --color-jaune: #DECC00;

  /* ✍️ Typographie desktop */
  --fs-titre: 64px;
  --fs-sous-titre: 42px;
  --fs-texte: 26px;
  --fs-infos-sup: 16px;

  /* 📱 Typographie mobile */
  --fs-menu-mobile: 64px;
  --fs-titre-mobile: 42px;
  --fs-sous-titre-mobile: 26px;
  --fs-texte-mobile: 16px;
  --fs-infos-sup-mobile: 12px;
}

body{
  background-color: var(--color-rice) !important;
}

h1{
  font-size: var(--fs-titre);
}

h2{
  font-size: var(--fs-sous-titre);
}

h4, button{
  font-size: var(--fs-infos-sup);
}

p{
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-texte);
}

.container {
  margin: 8vh 5vw;
  width: clamp(90%, 90%, 1600px);
}

.no-scroll {
  overflow: hidden;
}

#ast-scroll-top{
  background-color: var(--color-jaune);
  border-radius: 25px;
}

#ast-scroll-top .ast-icon.icon-arrow svg{
  color: var(--color-rice);
}

/* --------- HEADER --------- */

.site-header{
  width: clamp(90%, 90%, 1600px);
  height: 10vh;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin: 20px 5vw 0 5vw;
  position: relative; 
}

.logo img{
  width: 150px !important;
}

.burger {
  width: 30px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 20px;
  z-index: 1000; 
  transition: transform 0.3s ease;
}

.burger span {
  display: block;
  height: 3px;
  background: #000;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* === ANIMATION BURGER EN CROIX === */
.burger.open span:nth-of-type(1) {
  transform: rotate(45deg) translateY(12px);
  background-color: var(--color-rice);
}
.burger.open span:nth-of-type(2) {
  opacity: 0;
}
.burger.open span:nth-of-type(3) {
  transform: rotate(-45deg) translateY(-12px);
  background-color: var(--color-rice);
}

/* ======== OVERLAY MENU ========= */
.main-menu {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 35vw;
  background-color: var(--color-bruin);
  transform: translateX(100%);
  transition: transform 0.4s ease-in-out;
  z-index: 999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.main-menu.open {
  transform: translateX(0%);
}

.nav-list {
  list-style: none;
  padding-bottom: 65px;
  margin: 100px 0 0 50px;
  line-height: 70px;
}

.nav-list li {
  margin: 0;
}

.nav-list a {
  color: var(--color-rice);
  text-decoration: none;
  font-weight: 500;
  font-size: var(--fs-titre);
  transition: transform 0.3s ease;
  display: inline-block;
}

.nav-list li a:hover {
  transform: translateX(50px);
}

.menu-socials{
  margin: 0 auto 0 50px;
}

/* --------- HOME --------- */

.hero{
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 15vh;
}

.texte-hero{
  width: 45%;
}

.texte-hero h1{
  line-height: 70px;
  margin-bottom: 2vh;
}

.texte-hero p{
  line-height: 30px;
  margin-bottom: 5vh;
}

.texte-hero a{
  background-color: var(--color-jaune);
  color: var(--color-rice);
  border: 2px solid var(--color-jaune);
  border-radius: 25px;
  font-size: 20px;
  transition: background-color 0.3s ease, color 0.3s ease;
  padding: 10px 15px;
}

.texte-hero a:hover{
  background-color: var(--color-rice);
  color: var(--color-jaune);
}

.image-hero {
  background-image: url('./assets/images/hero.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 45%;
  height: 480px;
  border-radius: 40px;
}

.benefices-clefs{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 15vh;
}

.benefices-clefs h2{
  margin-bottom: 8vh;
}

.cont-benefices{
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.benefices{
  width: 32%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 30px 20px;
  border-radius: 20px;
  background-color: #593b021a;
}

.benefice1{
  background-image: url('./assets/images/finition-home-benefice.jpeg');
}

.benefice2{
  background-image: url('./assets/images/planning.jpeg');
}

.benefice3{
  background-image: url('./assets/images/qualiteExpertive.jpg');
}

.image-benefice{
  width: 100% ;
  height: 220px;
  margin-bottom: 3vh;
  border-radius: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.benefices p{
  margin-bottom: 1vh;
  font-weight: 500;
}

.benefices h4{
  width: 100%;
}

.contenu{
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 15vh;
}

.image-contenu {
  background-image: url('./assets/images/finition-home.jpeg');
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  width: 40%;
  height: 565px;
  border-radius: 40px;
}

.texte-contenu{
  width: 55%;
}

.texte-contenu h2{
  margin-bottom: 1.5vh ;
}

.texte-contenu p{
  margin-bottom: 2.5vh ;
  line-height: 35px;
}

.social-proof{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15vh;
  background-color: var(--color-bruin);
}

.social-proof h2{
  margin: 5vh auto 5vh auto;
  color: var(--color-rice);
}

.slider-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto 5vh auto;
  gap: 10px;
}

.slider-container {
  overflow: hidden;
  width: 90%;
}

.slider-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
  will-change: transform;
}

.slide {
  min-width: 20%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  box-sizing: border-box;
  height: 130px;
}

.slide img {
  max-height: 100%;
  max-width: 80%;
  object-fit: contain;
  display: block;
}

.arrow {
  background: none;
  color: var(--color-rice);
  border: none;
  font-size: 3rem;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  z-index: 10;
}

.arrow:hover, .arrow:focus{
  background: none;
}

.produit{
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15vh;
}

.texte-produit{
  width: 44%;
}

.texte-produit h2{
  margin-bottom: 2vh;
}

.texte-produit p{
  line-height: 30px;
  margin-bottom: 5vh;
}

.texte-produit a{
  background-color: var(--color-jaune);
  color: var(--color-rice);
  border: 2px solid var(--color-jaune);
  border-radius: 25px;
  font-size: 20px;
  padding: 10px 15px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.texte-produit a:hover{
  background-color: var(--color-rice);
  color: var(--color-jaune);
}

.image-produit{
  background-image: url('./assets/images/cta.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 50%;
  height: 480px;
  border-radius: 40px;
}

/* --------- A PROPOS --------- */

.intro{
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 15vh;
}

.intro-texte{
  width: 45%;
}

.intro-texte-p{
  text-align: start;
  margin-bottom: 2.5vh ;
  line-height: 35px;
} 

.intro h1{
  line-height: 70px;
  margin-bottom: 5vh;
}

.image-about{
  background-image: url('./assets/images/about-page.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 45%;
  height: 600px;
  border-radius: 50px;
}

.nos-representants{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 15vh;
}

.nos-representants h2{
  margin:0vh auto 5vh 0vw;
}

.cont-representants{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}

.representants{
  height: 55vh;
  width: 100%;
  gap : 5vw;
  margin: 0 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
}

.image-ceo, .image-cfo{
  background-size: cover;
  background-repeat: no-repeat;
  width: 30%;
  height: 50vh;
  border-radius: 25px;
  margin-bottom: 2vh;
}

.image-ceo{
  background-image: url('./assets/images/joao.jpg');
  background-position: 50% 25%;
}

.image-cfo{
  background-image: url('./assets/images/carla.jpg');
  background-position: center;
}

.texte-representants{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  width: 55%;
}

.texte-representants p{
  margin-bottom: 0vh;
  font-weight: 500;
}

.description{
  margin-bottom: 1vh;
}

.texte-representants .poste{
  margin-bottom: 1.5vh;
  font-weight: 300;
}

.nos-services{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 15vh;
}

.nos-services h2{
  margin-bottom: 5vh;
}

.cont-services{
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.services{
  width: 32.5%;
  height: 30vh;
  padding: 20px;
  margin-bottom: 2vh;
  border-radius: 25px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--color-rice);
}

.services .overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-black);
  opacity: 0.4;
  z-index: 1;
  border-radius: 25px;
}

.s1{
  background-image: url('./assets/images/enduisage.jpg');
  background-position: 50% 0%;
}

.s2{
  background-image: url('./assets/images/finition.jpg');
}

.s3{
  background-image: url('./assets/images/carrelage.jpg');
  background-position: 50% 90%;
}

.s4{
  background-image: url('./assets/images/crepis.jpeg');
}

.s5{
  background-image: url('./assets/images/peinture.jpeg');
}

.s6{
  background-image: url('./assets/images/meubles.jpeg');
}

.s7{
  background-image: url('./assets/images/demolition.jpg');
}

.s8{
  background-image: url('./assets/images/menuiserie.jpg');
}

.s9{
  background-image: url('./assets/images/gyproc.jpeg');
}

.btn-info-service{
  position: absolute;
  bottom: 0px;
  right: 0px;
  background-color: var(--color-jaune);
  color: var(--color-rice);
  width: 5vw;
  height: 6vh;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 25px 0 25px 0;
  transition: height 0.5s ease, width 0.5s ease,border-radius 0.5s ease;
  z-index: 2;
  cursor: auto;
}

.btn-info-service:hover {
  width: 100%;
  height: 20vh;
  padding-top: 0vh;
  background-color: var(--color-jaune);
  border-radius: 25px 25px 25px 25px;
  transition: height 0.5s ease, width 0.5s ease,border-radius 0.5s ease;
}

.btn-info-service:focus{
  background-color: var(--color-jaune);
}

.btn-info-service p {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.btn-info-service:hover p {
  opacity: 0;
}

.btn-info-service h4 {
  visibility: hidden;
  opacity: 0;
  transition: opacity 2s ease;
  color: var(--color-rice);
  text-align: start;
  position: absolute; 
  width: 28vw;
  overflow-wrap: break-word;
}

.btn-info-service:hover h4 {
  opacity: 1;
  visibility: visible;
}

.services p {
  margin-bottom: 0;
  line-height: 30px;
  z-index: 2;
}

.temoignages {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 15vh;
}

.temoignages h2 {
  margin-bottom: 5vh;
}

.slider-wrapper-tem .arrow, .slider-wrapper-tem .arrow:hover, .slider-wrapper-tem .arrow:focus{
  color: var(--color-bruin);
}

.right{
  padding-left: 20px;
}

.left{
  padding-right: 20px;
}

.slider-wrapper-tem {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto 5vh auto;
  gap: 10px;
}

.slider-container-tem {
  overflow: hidden;
  width: 900px;
}

.slider-track-tem {
  display: flex;
  transition: transform 0.5s ease-in-out;
  will-change: transform;
  gap: 30px;
}

.slide-tem {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 20px;
  box-sizing: border-box;
  height: 470px;
  border: 3px solid var(--color-bruin);
  border-radius: 40px;
}

.image-tem {
  width: 100px;
  height: 100px;
  border-radius: 50px;
  margin: 2vh 0;
}

.tem1, .tem2, .tem3 {
  background-image: url('./assets/images/portrait-about.avif');
}

.nom-tem {
  margin-bottom: 0vh;
  font-weight: 500;
}

.slide-tem h4 {
  margin-bottom: 2vh;
}

.slide-tem p {
  line-height: 35px;
  text-align: center;
}

/* --------- PROJETS --------- */

.page-id-14 .site-header {
  position: absolute;
  left: 0;
  right: 0;
  width: clamp(90%, 90%, 1600px); 
  z-index: 2000;
}

.page-id-14 .burger span{
  background: var(--color-rice);
}

.container-projets {
  margin: 0vh 0vw;
  width : 100vw;
}

.container-projets h1{
  display:none;
}

.projets {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.projet {
  height: calc(33.33vh - 10px);
  width: 33.33vw;
  background-size: cover;
  background-position: center;
  position: relative;
  margin: 0 auto 0 auto;
  border: solid 2px var(--color-black);
}

.projet .overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-black);
  opacity: 0.4;
  z-index: 1;
  transition: opacity 0.5s ease;
}

.projet:hover .overlay{
  opacity: 0;
}

.projet .infos-projet {
  height: 100%;
  width: 100%;
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: opacity 0.5s ease;
}

.projet:hover .infos-projet{
  opacity: 0;
}

.projet .infos-projet h2 {
  margin: 0;
  font-size: 1.8rem;
  color: var(--color-rice);
}

.projet a {
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  text-decoration: none;
}

/* --------- Détails d'un projet --------- */

.container-projet{
  width: clamp(90%, 90%, 1600px); 
  margin: 0 auto;
}

.intro-details{
  width: 100%;
  margin: 5vh auto 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.projet-infos-principale{
  width: 40%;
  display: flex;
  flex-direction: column;
}

.projet-infos-principale p{
  line-height: 30px;
  margin-bottom: 2vh;
}

.projet-infos-secondaires{
  width: 50%;
  display: flex;
  flex-direction: column;
}

.projet-lightbox {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  margin-bottom: 3vh;
}

.carousel {
  position: relative;
  overflow: hidden;
  border-radius: 40px;
}

.carousel-images {
  display: flex;
  transition: transform 0.4s ease-in-out;
}

.img-galerie {
  min-width: 100%;
  height: 400px; 
  background-size: cover;
  background-position: center;
  cursor: pointer;
  border-radius: 40px;
}

.prev,
.next,
.carousel-prev,
.carousel-next,
.lightbox-prev,
.lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none !important;
  color: var(--color-rice);
  border: none;
  padding: 1.5rem;
  cursor: pointer;
  z-index: 10;
  font-size: 2.5rem;
  line-height: 1;
  transition: transform 0.2s ease;
}

.prev,
.carousel-prev,
.lightbox-prev {
  left: 0.5rem;
}

.next,
.carousel-next,
.lightbox-next {
  right: 0.5rem;
}

.prev:focus,
.next:focus,
.carousel-prev:focus,
.carousel-next:focus,
.lightbox-prev:focus,
.lightbox-next:focus {
  outline: none;
  box-shadow: none;
}

.prev:hover,
.next:hover,
.carousel-prev:hover,
.carousel-next:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
  transform: translateY(-50%) scale(1.1);
}

.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.lightbox-content {
  width: 80vw;
  height: 80vh;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.lightbox.hidden {
  display: none;
}

.lightbox .close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: white;
  cursor: pointer;
}

.infos-secondaires{
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 5vh;
}

.infos-secondaires h2{
  margin-bottom: 2vh;
}

.infos-secondaires-cont{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}

.infos-secondaires-cont div{
  width: 30%;
}

.infos-secondaires-cont div p{
  margin-bottom: 0.5vh;
}

.next-project {
  width: 100vw;
  height: 50vh;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.next-project-overlay {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4); /* le filtre */
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--color-rice);
  text-align: center;
  transition: background-color 0.3s ease;
}

.next-project-overlay:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

.next-project-text {
  z-index: 2;
  text-decoration: none;
  color: var(--color-rice);
}

.next-project-text p {
  font-size: 1.2rem;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.next-project-text h2 {
  font-size: 2.5rem;
  margin-top: 1rem;
  color: var(--color-rice);
}

/* --------- CONTACT --------- */

.intro-contact{
  width: 70%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.intro-contact h1{
  line-height: 70px;
  margin-bottom: 2vh;
}

.intro-contact p{
  line-height: 35px;
}

.contact{
  width: 100%;
  display: flex;
  flex-direction: row;
  margin-bottom: 15vh;
}

.infos{
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-right: 3vw;
}

.infos iframe{
  width: 100%;
  border-radius: 40px;
}

.infos h2{
  margin-block: 2vh;
}

.infos-adresses{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.infos-adresse div p{
  margin-bottom: 0vh;
  font-weight: 500;
}

.infos-adresse div h4{
  margin-bottom: 1vh;
}

.form-contact{
  width: 50%;
  border-left: 1px solid var(--color-jaune);
  padding-left: 3vw;
}

.form-contact form {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background-color: #FEFFFC;
  border-radius: 40px;
  padding: 20px 30px;
}

p label{
  padding-left: 15px;
}

.nom-prenom{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}

.nom-prenom p {
  width: 48%;
  margin-bottom: 0vh;
}

.form-contact input,
.form-contact textarea {
  padding: 1rem;
  border: 3px solid var(--color-bruin);
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  width: 100%;
  border-radius: 25px;
}

.form-contact textarea{
  height: 25vh;
}

.form-contact input[type="submit"] {
  background-color: var(--color-jaune);
  border: 2px solid var(--color-jaune);
  color: white;
  cursor: pointer;
  transition: 0.3s ease;
  border-radius: 25px;
}

.form-contact input[type="submit"]:hover {
  background-color: #FEFFFC;
  color:  var(--color-jaune);
}

.wpcf7-form .btn-form {
  display: inline-block;
}

.wpcf7-form p:last-of-type {
  margin-left: auto;
}

/* --------- FOOTER --------- */

.site-footer {
  background-color: var(--color-bruin);
  color: var(--color-rice);
  padding: 20px 40px;
}

.footer-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}

.footer-logo img {
  max-width: 150px;
  margin-bottom: 2vh;
}

.footer-infos {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.footer-infos div {
  margin: 0 3vw 2vh 0;
}

.footer-infos p {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
}

.footer-infos h4 {
  margin: 2px 0 0 0;
  font-size: var(--fs-infos-sup);
  color: var(--color-rice);
  font-weight: 300;
}

.socials {
  display: flex;
  gap: 15px;
  align-items: center;
}

.socials a{
  height: 50px;
  width: 50px;
  background-color: var(--color-rice);
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.socials img {
  width: 35px;
  height: 35px;
  transition: transform 0.3s;
}

.socials a:hover img {
  transform: scale(1.2);
}

.slogan{
  color: var(--color-jaune);
  width: 20vw;
  margin-bottom: 0%;
  font-size: 20px;
}

.footer-bottom {
  margin-top: 20px;
  text-align: center;
  font-size: var(--fs-infos-sup);
  border-top: 1px solid #f4f5efb0;
  padding-top: 20px;
}

.footer-bottom h4{
  margin-bottom: 0;
   color: var(--color-rice) !important;
}

@media screen and (min-width: 1600px) {
  .site-header{
    margin: 20px auto 0 auto;
}

  .container {
    margin: 8vh auto;
  }
}

@media screen and (max-width: 768px) {
h1{
  font-size: var(--fs-titre-mobile);
}

h2{
  font-size: var(--fs-sous-titre-mobile);
}

h4, button{
  font-size: var(--fs-infos-sup-mobile);
}

p{
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-texte-mobile);
}

.container {
    margin: 3vh 5vw;
  }

/* --------- HEADER --------- */

  .logo img{
  width: 100px !important;
}

/* ======== OVERLAY MENU ========= */
.main-menu {
  width: 100%;
  height: 100%;
  align-items: center;
}

.nav-list {
  margin: 100px 0 0 0;
  line-height: 70px;
  text-align: center;
}

.nav-list a {
  transition: none;
}

.nav-list li a:hover {
  transform: none;
}

.menu-socials{
  margin: 0 auto;
}

/* --------- HOME --------- */

.hero{
  flex-direction: column;
  margin-bottom: 5vh;
}

.texte-hero{
  width: 100%;
  text-align: center;
  margin-bottom: 5vh;
}

.texte-hero h1{
  line-height: 45px;
}

.texte-hero p{
  line-height: 24px;
  margin-bottom: 3vh;
}

.texte-hero a{
  font-size: 16px;
  transition: none;
}

.image-hero {
  width: 100%;
  height: 350px;
  border-radius: 15px;
}

.benefices-clefs{
  margin-bottom: 5vh;
}

.benefices-clefs h2{
  width: 80%;
  text-align: center;
  margin:0 auto 2vh auto;
}

.cont-benefices{
  flex-direction: column;
}

.benefices{
  width: 100%;
  border-radius: 15px;
  margin-bottom: 2vh;
}

.image-benefice{
  height: 180px;
  margin-bottom: 3vh;
  border-radius: 15px;
}

.contenu{
  flex-direction: column;
  margin-bottom: 5vh;
}

.image-contenu {
  display: none;
}

.texte-contenu{
  text-align: center;
  width: 100%;
}

.texte-contenu h2{
  margin-bottom: 2vh ;
}

.texte-contenu p{
  margin-bottom: 2.5vh ;
  line-height: 24px;
}

.social-proof{
  margin-bottom: 5vh;
}

.social-proof h2{
  margin: 2vh auto 2vh auto;
  text-align: center;
}

.slider-wrapper {
  margin: 0 auto 2vh auto;
}

.slide {
  min-width: 33.33%;
  height: 70px;
}

.slide img {
  max-height: 80%;
  max-width: 100%;
}

.arrow {
  font-size: 2rem;
  padding: 10px;
}

.produit{
  flex-direction: column;
  margin-bottom: 5vh;
}

.texte-produit{
  width: 100%;
  text-align: center;
  margin-bottom: 5vh;
}

.texte-produit h2{
  margin-bottom: 2vh;
}

.texte-produit p{
  line-height: 24px;
  margin-bottom: 3vh;
}

.texte-produit a{
  font-size: 16px;
  padding: 10px 15px;
  transition: none;
}

.image-produit{
  width: 100%;
  height: 350px;
  border-radius: 15px;
}

/* --------- A PROPOS --------- */

.intro{
  margin-bottom: 5vh;
  flex-direction: column-reverse;
}

.intro-texte{
  width: 100%;
}

.intro-texte-p{
  text-align: center;
  line-height: 24px;
} 

.intro h1{
  line-height: 45px;
  margin-bottom: 3vh;
  text-align: center;
}

.image-about{
  width: 100%;
  height: 200px;
  background-position: 50% 30%;
  border-radius: 20px;
}

.nos-representants{
  margin-bottom: 3vh;
}

.nos-representants h2{
  margin-bottom: 3vh;
}

.cont-representants{
  flex-direction: column;
}

.representants{
  width: 100%;
  height: 80vh;
  margin-bottom: 2vh;
  flex-direction: column;
}

.nos-representants h2{
  margin:0vh auto 3vh auto;
}

.image-ceo, .image-cfo{
  width: 100%;
  height: 45vh;
  border-radius: 25px;
  margin-bottom: 0vh;
}

.texte-representants{
  align-items: center;
  width: 100%;
}

.texte-representants p{
  margin-bottom: 0.5vh;
  font-weight: 500;
}

.texte-representants h4{
  text-align: center;
}

.nos-services{
  margin-bottom: 5vh;
}

.nos-services h2{
  margin-bottom: 3vh;
  text-align: center;
}

.cont-services{
  width: 100%;
}

.services{
  width: 100%;
  height: 20vh;
}

.btn-info-service {
  width: 10vw; 
  overflow: hidden;
}

.btn-info-service h4 {
  width: 90%;   
  max-width: 100%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transition: none;
}

.btn-info-service.active h4 {
  opacity: 1;
  visibility: visible;
}

.services p {
  margin-bottom: 1vh;
  line-height: 24px;
}

.temoignages {
  margin-bottom: 5vh;
}

.temoignages h2 {
  margin-bottom: 3vh;
  text-align: center;
}

.slide-tem {
  height: 320px;
  border-radius: 25px;
  text-align: center;
}

.image-tem {
  width: 50px;
  height: 50px;
  border-radius: 25px;
  margin: 1vh 0;
}

.slide-tem h4 {
  margin-bottom: 2vh;
}

.slide-tem p {
  line-height: 24px;
}

/* --------- PROJETS --------- */

.page-id-14 .site-header {
  position: relative;
}

.page-id-14 .burger span{
  background: var(--color-black);
}

.container-projets h1{
  display: block;
  text-align: center;
  margin-bottom: 3vh;
  line-height: 45px;
}

.projet .overlay{
  border-radius: 25px;
}

.projet {
  height: 25vh;
  width: 90%;
  margin-bottom: 2vh;
  border-radius: 25px;
  border: none;
}

.projet .infos-projet {
  width: 100%;
  padding: 10vw;
  margin: auto;
  border-top: 0px solid var(--color-rice);
  background-color: transparent;
}

.projet .infos-projet h2 {
  text-align: center;
  font-size: 1.5rem;
}

/* --------- Détails d'un projet --------- */

.container-projet{
  margin: 2vh auto 5vh auto;
}

.intro-details{
  margin: 0 auto 0 auto;
  flex-direction: column;
}

.projet-infos-principale{
  width: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.projet-infos-principale h1{
  margin-bottom: 0vh;
}

.projet-infos-principale p{
  line-height: 24px;
  margin-bottom: 2vh;
}

.projet-infos-secondaires{
  width: 100%;
  display: flex;
  flex-direction: column;
}

.img-galerie {
  min-width: 100%;
  height: 200px; 
  cursor: none;
  border-radius: 20px;
}

.prev,
.carousel-prev,
.lightbox-prev {
  left: -0.5rem;
}

.next,
.carousel-next,
.lightbox-next {
  right: -0.5rem;
}

.lightbox .close {
  font-size: 80px;
  top : 5px;
  right: 20px;
}

.infos-secondaires{
  margin-bottom: 0vh;
}

.infos-secondaires h2{
  text-align: center;
}

.next-project {
  height: 30vh;
}

/* --------- CONTACT --------- */

.intro-contact{
  width: 100%;
  text-align: center;
}

.intro-contact h1{
  line-height: 40px;
}

.intro-contact p{
  line-height: 24px;
}

.contact{
  flex-direction: column-reverse;
  margin-bottom: 5vh;
}

.infos{
  width: 100%;
  margin-right: 0vw;
  text-align: center;
}

.infos iframe{
  border-radius: 20px;
  margin-block: 2vh;
  height: 300px;
}

.infos h2{
  margin:0 auto 1vh auto;
}

.infos-adresse{
  margin: auto;
}

.form-contact{
  width: 100%;
  border-left: 0px solid var(--color-jaune);
  padding-left: 0vw;
}

.form-contact input[type="submit"] {
  padding: 10px 5px;
}

.form-contact input[type="submit"]:hover {
  background-color: var(--color-jaune);
  color: white;
}
/* --------- FOOTER --------- */

.footer-content {
  flex-direction: column;
  gap: 20px;
}

.footer-logo img {
  max-width: 100px;
  margin-bottom: 0;
}

.footer-infos div{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
}

.footer-infos p {
  font-size: 16px;
  font-weight: 300;
}

.slogan{
  width: 100%;
  font-size: 16px;
}
}