/* Biomède */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body,
html {

    font-family: 'Arial', sans-serif;
}

  /* --------------------------------------------------------------------------------------------- */
  /* -------------------------             PAGE D'ACCUEIL             ---------------------------- */
  /* --------------------------------------------------------------------------------------------- */

.hero {
    position: relative;
    height: 76vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;

}

.background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
/* Texte sur le wallpaper */
.hero-text {
    position: relative;
    bottom:90px;
    text-align: left;
    line-height: 100px;
    letter-spacing: 0px;
    font: normal normal 800 80px/90px Barlow;
    color: #FFFFFF;
    opacity: 1;
    z-index: 2;
}

/* Logo  */
.logo-overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 270px;
    height: auto;
    z-index: 3;
}

  /* --------------------------------------------------------------------------------------------- */
  /* ---------------------------             SOUS-TEXTE             ------------------------------ */
  /* --------------------------------------------------------------------------------------------- */

.sous-texte-modifie {
    margin: 80px auto 40px 30vw;
}

.sous-texte-modifie-wrapper {
    max-width:1200px;
    margin:0 auto;
  }

.sous-texte-modifie p {
    position: relative;
    text-align: left;
    font: normal normal normal 20px/36px Raleway;
    letter-spacing: 0px;
    color: #707070;
    opacity: 1;
    margin:0 100px 0 0;
    background-color: white;
    padding: 25px;
}

  /* --------------------------------------------------------------------------------------------- */
  /* -----------------------             SECTION DIAGNOSTIC             -------------------------- */
  /* --------------------------------------------------------------------------------------------- */
.diagnostic-wrapper {
    position: relative;
    z-index: 2;
}

.diagnostic-steps {
    position: relative;
    padding-top: 40px;
    padding-bottom: 80px;
    display: flex;
    justify-content: center;
    background: linear-gradient(to bottom, white 50%, #645548 50%);
    z-index: 3;
}

.steps-box {
    border-radius: 20px;
    padding: 15px;
    width: 90%;
    max-width: 1200px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    background-color: white;
    position: relative;
    z-index: 1;
}


/* https://kovart.github.io/dashed-border-generator/ */
.steps-box2 {
    background-color: white;
    border-radius: 10px;
    padding: 80px;
    width: 100%;
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='10' ry='10' stroke='%239ac455' stroke-width='2' stroke-dasharray='10%2c10' stroke-dashoffset='27' stroke-linecap='round'/%3e%3c/svg%3e");
    box-sizing: border-box;
}

.diagnostic-title {
    font-family: 'Barlow', sans-serif;
    font-size: 38px;
    font-weight: 800;
    color: #0E6839;
    line-height: 1.3;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

.steps-list {
    /* Changed selector */
    list-style: none;
}

.steps-list li {
    /* Changed selector */
    display: flex;
    align-items: flex-start;
    font-family: 'Raleway', sans-serif;
    font-size: 20px;
    line-height: 36px;
    color: #707070;
    font-weight: 400;
    margin-bottom: 15px;
}

.steps-box li img {
    width: 30px;
    height: 30px;
    margin: 4px 16px 0 0;
    flex-shrink: 0;
}

/* Lien Télécharger */
.fiche-link {
    color: #8EC63F;
    font: normal normal normal 20px/20px Raleway;
}

.custom-background {
    width: 100%;
    background: #645548;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    z-index: 1;
    padding-bottom: 60px; 
    flex-direction: column;
    margin-top: -5px; 
    text-align: center;
}

.transition-marron-blanc {
    width: 100%;
    line-height: 0;
    position: relative;
    z-index: 0;
    margin-top: -10px; 
}

.transition-marron-blanc img {
    width: 100%;
    height: auto;
    display: block;
}


/* Phrase Laboratoire */
.lab-info {
    font: normal normal 800 40px/48px Barlow;
    color: white;
    width: 90%;
    max-width: 1200px;
    text-align: center;
    margin: 0 auto;
    z-index: 2;
    position: relative;
}

.biomede {
    font-weight: 800;
    color: #8EC63F;
}



.echantillon-section {
    position: relative;
    background-color: #645548;
    padding: 60px 20px 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
}

.echantillon-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    width: 100%;
    flex-wrap: wrap;
    z-index: 2;
}

.echantillon-text {
    flex: 1;
    text-align: left;
    padding: 20px;
    font: normal normal 800 40px/48px 'Barlow', sans-serif;
    color: white;
    max-width: 600px;
}

.echantillon-text .biomede {
    color: #8EC63F;
    font-weight: 800;
}

.echantillon-image {
    flex: 1;
    text-align: center;
    padding: 20px;
    max-width: 600px;
}

.echantillon-image img {
    max-width: 100%;
    height: auto;
}

.echantillon-transition {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: auto;
    z-index: 1;
}


/* Nouvelle section image échantillon */
.section-echantillon {
    position: relative;
    background-color: white;
    z-index: 2;
    overflow: hidden;
}

.echantillon-container {
    position: relative;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    text-align: center;
}

.echantillon-image {
    width: 100%;
    max-height: 600px;
    object-fit: cover;
    display: block;
}

.echantillon-texte {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Barlow', sans-serif;
    font-weight: 800;
    font-size: 40px;
    line-height: 48px;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    text-align: center;
    width: 90%;
    max-width: 900px;
}


/* SECTION ÉCHANTILLON */
.sample-section {
    background-color: #7a5a3a;
    padding: 60px 20px;
    color: white;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.sample-text {
    flex: 1 1 300px;
    padding: 20px;
}

.sample-text h2 {
    font-size: 2em;
    margin-bottom: 20px;
}

.sample-text p {
    font-size: 1.1em;
    line-height: 1.6;
    margin-bottom: 10px;
}

.sample-image {
    flex: 1 1 300px;
    padding: 20px;
}

.sample-image img {
    width: 100%;
    height: auto;
    display: block;
}

.offre-formulaire {
    padding: 40px 20px;
    background-color: #fff;
    text-align: center;
    font-family: 'Raleway', sans-serif;
}


.offre-header .intro-offre {
    font-size: 1.1em;
    color: #656C77;
    margin-bottom: 8px;
    text-align: center;

    font: normal normal normal 24px/20px Barlow;
}

.offre-header .titre-offre {
    font-family: 'Barlow', sans-serif;
    font-size: 2.2em;
    color: #8EC63F;
    /* Vert */
    margin-top: 0;
    margin-bottom: 10px;
}

.offre-header .titre-offre .zero-risque {
    color: #8EC63F;
    
    /* Vert */
}

.offre-header .prix-actuel {
    font-size: 1.2em;
    font-weight: bold;
    font-family: 'Barlow', sans-serif;  
    color: #8EC63F;
}

.offre-header .prix-offre {
    font-weight: bold;
    font: normal normal normal 30px/49px Raleway;
    margin-bottom: -5px;
    color:#707070;
}

.offre-header .prix-ancien {
    font-size: 1.2em;
    color: #777;
    font-family: 'Raleway', sans-serif;
    
}


/* Style pour "Je souhaite bénéficier de l’offre" */
.texte-offre {
    color: #656C77;
    text-align: center;
    font: normal normal 600 26px/46px Barlow;
    letter-spacing: 0px;
    margin: 0 auto;
  }

/* Style pour "Diagnostic" */
.diagnostic-offre {
    color: #0E6839;
    font: normal normal 800 40px/46px Barlow, sans-serif;
    text-align: center;
    letter-spacing: 0px;
}

/* Style pour "Zéro Risque" */
.zero-risque {
    color: #8EC63F;
    font: normal normal 800 40px/46px Barlow, sans-serif;
    text-align: center;
    letter-spacing: 0px;
    margin-left: 8px;
}

.offre-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    margin-bottom: 30px;
}

.offre-header {
    max-width: 600px;
}

  /* --------------------------------------------------------------------------------------------- */
  /* ---------------------------             FORMULAIRE             ------------------------------ */
  /* --------------------------------------------------------------------------------------------- */
  
  .form-container {
    width: 90%;
    max-width: 1000px;
    margin: 50px auto;
    color: #656C77;
  }
  
  form {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    align-items: center;
  }
  
  .form-row input[type="text"],
  .form-row input[type="email"],
  .form-row input[type="tel"],
  .form-row select {
    flex: 1;
    padding: 0 15px;
    border: none;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    background: transparent;
    font: normal normal normal 20px/49px Raleway;
  }
  
  .form-row select {
    border: 1px solid #ccc;
    border-radius: 2px;
  }
  
  .form-row label {
    font-size: 3vh;
    margin-right: 60px;
  }
  
  .radio-group {
    align-items: center;
  }
  
  .radio-group label {
    display: flex;
    align-items: center;
    margin-right: 20px;
    font-size: 18px;
    cursor: pointer;
  }
  
  .radio-group input[type="radio"] {
    display: none;
  }
  
  .radio-custom {
    width: 30px;
    height: 30px;
    border: 2px solid #ccc;
    border-radius: 50%;
    display: inline-block;
    margin-right: 10px;
    position: relative;
  }
  
  .radio-group input[type="radio"]:checked + .radio-custom {
    border-color: #00742b;
    background: radial-gradient(circle, #00742b 40%, transparent 41%);
  }
  
.form-row button[type="submit"] {
    padding: 15px 80px;
    background: #8ec63f;
    color: white;
    border: none;
    border-radius: 90px;
    font-size: 18px;
    cursor: pointer;
    font-weight: 400;
    margin-top: 20px;
    font-family: Raleway;
  }

  .form-row button[type="submit"]:disabled {
    opacity:.5;
    cursor:not-allowed;
  }
  
  .form-row.button-center {
    justify-content: center;
    margin-top: 50px;
    
  }
  
  .form-row button[type="submit"]:hover {
    background: #7ba82e;
  }

.form-row input[type="text"]:focus,
.form-row input[type="email"]:focus,
.form-row input[type="tel"]:focus,
.form-row select:focus {
  outline: none;
  border-bottom: 1px solid #00742b; 
}
.m² {
    font-size: 23px;
    white-space: nowrap;
    margin-left: 50px; 
    margin-top: -20px; 
}

/* Fin formulaire */
/* Section prélèvement */
.prelevement {
    background-color: #645548;
    color: #fff;
    padding: 4rem 2rem;
    font-family: 'Raleway', sans-serif;
    text-align: center;
}

.prelevement h2 {
    font-size: 2.5rem;
    margin-bottom: 6rem;
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
}

.etapes-nouvelles {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    max-width: 800px;
    margin: auto;
}

.etape-nouvelle {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
    text-align: left;
}
/* Texte paragraphe etapes */
.etape-nouvelle .content {
  height:100%;
  padding-top:40px;
  max-width: 1500px;
}

.etape-nouvelle .content.nop {
  padding-top:20px;
}

.etape-nouvelle p {
    margin: 0;
    font-size: 1rem;
}

/* Structure à 3 cercles */
.circle-wrapper {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dashed-circle {
    width: 95px;
    height: 95px;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='100' ry='100' stroke='%239ac455' stroke-width='2' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo {
    width: 55px;
    height: 55px;
    object-fit: contain;
}

/* Schéma conservé */
.schema-echantillon {
    display: flex;
    justify-content: center;
    margin-top:2em;
}

.schema-box {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    border: 1px solid #ccc;
    padding: 1rem;
}

.schema-text {
    flex: 1;
    font-family: 'Barlow', sans-serif;
    font-weight: 600;
    font-size: 2rem;
    color: #ffffff;
}

.schema-text strong {
  font-weight:500;
  font-size:1.6rem;

}

.schema-text small {
    display: block;
    margin-top: 0.5rem;
    font-weight: 400;
    font-size: 1.1rem;
    color: #fff;
    font-family: "Raleway";
}

.schema-image {
    flex-shrink: 0;
    max-width: 50%;
}

.schema-image img {
    width: 100%;
    height: auto;
    display: block;
}
/* Transition marron blanc et image illustration */
.transition-marron-blanc2 {
    width: 100%;
    position: relative;
    overflow:hidden;
    padding:0 15px;
    margin-top:150px;
  }

.transition-marron-blanc2:before {
  display:block;
  position:absolute;
  top:0;
  height:50%;
  width:100%;
  left:0;
  content:"";
  background:url(./content/transition.svg) no-repeat bottom center;
  background-size:100%;
  transform:scale(1.01);
  z-index:-1;
}

.transition-marron-blanc2:after {
  display:block;
  position:absolute;
  top:50%;
  height:50%;
  width:100%;
  left:0;
  content:"";
  background-color:#645548;
  z-index:-1;
}


@media (max-width:1200px) {
  .transition-marron-blanc2:before {
      background-size:1200px;
    }
  }
}
  
  .transition-marron-blanc2 .fond-img {
    position:absolute;
    top:0;
    left:0;
    width: 100%;
    height: auto;
    display: block;
    z-index: 1;
  }
  
  /* Conteneur image échantillon centrée sur fond */
  .photo-containe {
    width: 100%;
    height:auto;
    margin:0 auto;
    max-width: 1100px;
    z-index: 2;
  }
  
  .photo-so {
    width: 100%;
    height: auto;
    display: block;
  }
  
  /* Section Photo SO  */
  .section-photo-so {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
    background: linear-gradient(to bottom, white 75%, #645548 25%);
    z-index: 0;
  }
  
  section {
    margin: 0;
    padding: 0;
  }
  
  /* Texte "Ne pas oublier" */
  .sous-texte-modifie2 { 
    top: 30px;
    position: relative;
    width: 100%;
    max-width: 1250px;
    text-align: center;
    font: normal normal 600 20px/28px Barlow;
    letter-spacing: 0px;
    color: #ffffff;
    opacity: 1;
    margin: 80px auto 0;
    padding: 25px;
}
  /* --------------------------------------------------------------------------------------------- */
  /* -----------------------------             FOOTER             -------------------------------- */
  /* --------------------------------------------------------------------------------------------- */

.fiche-link2 {
    color: #8EC63F;
    font: normal normal 1 25px/20px Barlow;
}

.lab-info2 {
    font: normal normal normal 30px/30px Barlow;

    margin: 0 auto;
    position: relative;
    color:white;
    text-align: left;
    z-index: 2;
    
}

/* Mot biomede en vert */
.biomede {
    font-weight: 800;
    color: #8EC63F;
}

.lab-info3 {
    font-size: 30px;
    font-family: 'Barlow';
    margin: 0 auto;
    position: relative;
    color:white;
    text-align: left;
    z-index: 2;
    
}

    .illustration-photo {
        width: 100%;
        
        position: relative;
        background-color:#645548 ;
    
    }

    .illustration-photo-wrapper {
      position:absolute;
      bottom:0;
      left:50%;
      width:100%;
      max-width: 1200px;
      transform:translate3d(-50%,0,0);
      padding:0 15px 90px;
    }
    
    .illustration-photo-wrapper p {
      margin:0;
    }

    .illustration-photo img {
        width: 100%;
        height: 100%;
        margin:0;
        display: block;
    }
hr {
    width: 50px;          
    margin: 15px auto 5px;       
  }
  
  /* --------------------------------------------------------------------------------------------- */
  /* -----------------------------        RESPONSIVE              -------------------------------- */
  /* --------------------------------------------------------------------------------------------- */

  /* Tablettes : max 1024px */
@media (max-width: 1024px) {
  .hero {
    height: auto;
    padding: 60px 20px;
  }

  .hero-text {
    position: relative;
    top: 100px;
    left: 0;
    width: 90%;
    font-size: 60px;
    line-height: 80px;
    text-align: center;
    margin: 0 auto;
  }

  .logo-overlay {
    width: 250px;
  }

  .sous-texte-modifie {
    font-size: 20px;
    line-height: 36px;
    padding: 10px;
    max-width: 640px;
  }
}

/* Mobiles : max 768px */
@media (max-width: 768px) {
  .hero {
    height: auto;
    padding: 40px 15px;
    flex-direction: column;
    justify-content: flex-start;
  }

  .hero-text {
    font-size: 36px;
    line-height: 48px;
    top: 80px;
    left: 0;
    width: 90%;
    text-align: center;
  }

  .logo-overlay {
    width: 180px;
    top: 0px;
    left: 0px;
  }

  .sous-texte-modifie {
    font-size: 18px;
    line-height: 32px;
    padding: 20px;
    margin: 60px auto;
    max-width: 95%;
  }
}

/* Très petits écrans (mobile paysage) : max 480px */
@media (max-width: 480px) {
  .hero-text {
    font-size: 28px;
    line-height: 40px;
    top: 60px;
  }

  .logo-overlay {
    width: 140px;
    top: 10px;
    left: 10px;
  }

  .sous-texte-modifie {
    font-size: 16px;
    line-height: 28px;
    padding: 15px;
  }
}

/* Responsive diagnostic */
@media screen and (max-width: 1024px) {
    .steps-box2 {
      padding: 50px;
    }
  
    .diagnostic-title {
      font-size: 32px;
    }
  
    .steps-list li {
      font-size: 18px;
      line-height: 32px;
    }
  
    .steps-box li img {
      width: 26px;
      height: 26px;
      margin-right: 14px;
    }
  }
  
  @media screen and (max-width: 768px) {
    .diagnostic-steps {
      padding-top: 60px;
      padding-bottom: 60px;
    }
  
    .steps-box2 {
      padding: 30px;
    }
  
    .diagnostic-title {
      font-size: 26px;
      margin-bottom: 20px;
    }
  
    .steps-list li {
      font-size: 16px;
      line-height: 28px;
      margin-bottom: 16px;
    }
  
    .steps-box li img {
      width: 22px;
      height: 22px;
      margin-right: 12px;
    }
  }
  
  @media screen and (max-width: 480px) {
    .diagnostic-steps {
      padding-top: 40px;
      padding-bottom: 40px;
    }
  
    .steps-box {
      padding: 10px;
    }
  
    .steps-box2 {
      padding: 20px;
    }
  
    .diagnostic-title {
      font-size: 22px;
      margin-bottom: 18px;
    }
  
    .steps-list li {
      font-size: 14px;
      line-height: 24px;
      margin-bottom: 14px;
    }
  
    .steps-box li img {
      width: 20px;
      height: 20px;
      margin-right: 10px;
    }
  }
  /* Fin Responsive diagnostic */

  /*  Responsive sous-texte */
  @media screen and (max-width: 1024px) {
    .sous-texte-modifie {
      font-size: 20px;
      line-height: 36px;
      padding: 20px;
      margin: 60px auto;
    }
  }
  
  @media screen and (max-width: 768px) {
    .sous-texte-modifie {
      font-size: 18px;
      line-height: 32px;
      padding: 18px;
      margin: 50px auto;
      left: 0;
    }
  }
  
  @media screen and (max-width: 480px) {
    .sous-texte-modifie {
      font-size: 16px;
      line-height: 28px;
      padding: 15px;
      margin: 40px auto;
      width: 92%;
      left: 0;
    }
  }
    /* Fin Responsive sous-texte */

    /* Responsive prelevement */
    @media screen and (max-width: 1024px) {
        .prelevement h2 {
          font-size: 2.2rem;
          margin-bottom: 4rem;
        }
      
        .etape-nouvelle {
          gap: 2rem;
        }
      
        .circle-wrapper {
          width: 110px;
          height: 110px;
        }
      
        .dashed-circle {
          width: 90px;
          height: 90px;
        }
      
        .logo {
          width: 45px;
          height: 45px;
        }
      
        .schema-text {
          font-size: 1.7rem;
        }
      
        .schema-text small {
          font-size: 1.1rem;
        }
      }
      
      @media screen and (max-width: 768px) {
        .prelevement h2 {
          font-size: 2rem;
          margin-bottom: 3rem;
        }
      
        .etapes-nouvelles {
          gap: 2rem;
        }
      
        .etape-nouvelle {
          align-items: left;
          text-align: left;
          padding:10px;
        }
      
        .etape-nouvelle p {
          font-size: 1rem;
          max-width: 100%;
        }
      
        .circle-wrapper {
          width: 90px;
          height: 90px;
        }
      
        .dashed-circle {
          width: 70px;
          height: 70px;
        }
      
        .logo {
          width: 40px;
          height: 40px;
        }
      
        .schema-box {
          flex-direction: column;
          gap: 1rem;
        }
      
        .schema-text {
          font-size: 1.5rem;
          text-align: center;
        }
      
        .schema-text small {
          font-size: 1rem;
        }
      
        .schema-image {
          max-width: 90%;
        }
      }
      
      @media screen and (max-width: 480px) {
        .prelevement {
          padding: 3rem 1rem;
        }
      
        .prelevement h2 {
          font-size: 1.8rem;
          margin-bottom: 2.5rem;
        }
      
        .circle-wrapper {
          width: 75px;
          height: 75px;
        }
      
        .dashed-circle {
          width: 60px;
          height: 60px;
        }
      
        .logo {
          width: 35px;
          height: 35px;
        }
      
        .etapes-nouvelles {
          gap: 1.5rem;
        }
      
        .etape-nouvelle p {
          font-size: 0.95rem;
        }
      
        .schema-text {
          font-size: 1.3rem;
        }
      
        .schema-text small {
          font-size: 0.95rem;
        }
      
        .schema-image {
          max-width: 100%;
        }
      }
      
    /* Fin Responsive prelevement */
    /*  Texte "ne pas oublier" */
      
      .fiche-link2 {
        text-decoration: underline;
        font-size:18px;
      }
      
      @media screen and (max-width: 1024px) {
        .sous-texte-modifie2 {
          font-size: 18px;
          line-height: 32px;
          padding: 20px;
          margin: 60px auto;
        }
      }
      @media screen and (max-width: 768px) {
        .sous-texte-modifie2 {
          font-size: 20px;
          line-height: 30px;
          padding: 18px;
          margin: 60px auto;
        }
      }
      
      @media screen and (max-width: 480px) {
        .sous-texte-modifie2 {
          font-size: 18px;
          line-height: 28px;
          padding: 15px;
          margin: 40px auto;
        }
        .fiche-link2 {
          display: inline-block;
          margin-top: 10px;
          word-break: break-word;
        }
      }
    /* Fin Texte "ne pas oublier" */
    /* Responsive prelevement */

      @media screen and (max-width: 768px) {
        .lab-info2 {
          font-size: 30px;
          line-height: 40px;
        }
      
        .lab-info3 {
          font-size: 22px;
        }
      
        .illustration-photo {
          position: relative;
        }
      
        .illustration-photo img {
          height: auto;
        }
      }
      
      @media screen and (max-width: 480px) {

  
        .illustration-photo img {
          height: auto;
        }
      
        hr {
          width: 40px;
          margin: 5px auto;
        }
      }
      
    /* Fin prelevement */
    /* Responsive Accueil */

      @media screen and (max-width: 1200px) {
        .hero-text {
          font-size: 90px;
          line-height: 110px;
          top: 140px;
        }
      
        .logo-overlay {
          width: 300px;
        }
      }
      
      @media screen and (max-width: 992px) {
        .hero-text {
          font-size: 70px;
          line-height: 90px;
          top: 120px;
        }
      
        .logo-overlay {
          width: 250px;
        }
      }
      
      @media screen and (max-width: 768px) {
        .hero {
            height: 35vh;
          }

        .hero-text {
          font-size: 4vh;
          line-height: 5vh;
          top: 12vh;
          left: 0;
          width: 90%;
          text-align: left;
        }
      
        .logo-overlay {
          width: 200px;
        }

        .sous-texte-modifie p {
          margin: 0
        }
      }
      
      @media screen and (max-width: 480px) {
        .hero {
            height: 300px;
          }
        .hero-text {
        font-size: 3.5vh;
          line-height: 40px;
          top: 16vh;
          left: 0;
          width: 95%;
          padding: 20 15px;
          text-align: left;
        }
      
        .logo-overlay {
          width: 40%;
          top:0;
          left:0;
        }
      }
          /* Fin Responsive Accueil */
          @media screen and (max-width: 768px) {
            .form-container {
              width: 95%;
              margin: 30px auto;
            }
          
            form {
              gap: 20px;
            }
          
            .form-row {
              flex-direction: column;
              gap: 15px;
              align-items: stretch;
            }
          
            .form-row label {
              margin-right: 0;
              font-size: 20px;
            }
          
            .surface-title {
              width: 100%;
              text-align: center;
              font-size: 30px;
              margin-bottom: 10px;
              color: #333;
            }
          
            .surface-row {
              flex-direction: column;
              align-items: center;
              gap: 10px;
            }
          
            .surface-input-group {
              display: flex;
              align-items: center;
              gap: 20px; /* espace entre input et 'Hectar' */
              width: 100%;
            }
          
            .surface-input-group input[type="text"] {
              flex: 1;
              max-width: 100%;
              font-size: 16px;
            }
          
            .m² {
              font-size: 18px;
              white-space: nowrap;
              margin-left: 30px; 
              margin-right: 20px; 
              margin-top: 10px; 
            }
          
            .radio-group {
                display: flex;
                flex-direction: column;
                align-items: center;
                text-align: center;
                gap: 15px;
              }
              
              .radio-options {
                display: flex;
                gap: 20px;
                justify-content: center;
              }
          
            .radio-group label {
              font-size: 18px;
            }
          
            .radio-custom {
              width: 25px;
              height: 25px;
            }
          
            .form-row.button-center {
              margin-top: 30px;
            }
          
            .form-row button[type="submit"] {
              width: 100%;
              padding: 15px;
              font-size: 22px;
            }
          }
          
          @media screen and (max-width: 480px) {
            .form-container {
              width: 98%;
              margin: 20px auto;
            }
          
            .form-row {
              gap: 12px;
            }
          
            form {
              gap: 15px;
            }
          
            .form-row label {
              font-size: 18px;
            }
          
            .radio-custom {
              width: 22px;
              height: 22px;
            }
          
            .form-row button[type="submit"] {
              font-size: 20px;
            }
          
            .surface-title {
              font-size: 26px;
            }
          
            .m² {
              font-size: 16px;
            }
          
            .surface-input-group {
              gap: 15px;
            }
          }
          


.result-msg {
  text-align:center;
  margin:20px auto;
  max-width:300px;
  padding:15px;
  background:#e3ffe4;
  color:#000;
  border-radius:6px;
  border:2px solid green;
}    

.result-msg.error {      
  background:#f9d2c0;
  border:2px solid #d69393;
}