* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

body {
  background: url("/images/pricing.webp");
  background-size: cover;
  height: 100vh;
  display: block;
  background-repeat: no-repeat;
  font-family: 'poppins';
}

.h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 0;
}

h1 {
  font-weight: 700;
  font-size: 60px;
  color: white;
  line-height: 1.2;
  text-align: center;
}

.containerpricing {
  display: flex;
  flex-direction: column;
}

.carte {
  --row-header: clamp(80px, 7vw, 120px);
  --row-price:  clamp(150px, 6vw, 200px);
  display: grid;
  grid-template-rows: 
  var(--row-header) 
  var(--row-price) 
  1fr 
  auto;
  gap: 16px;
  width: 480px;
  margin: 40px 30px ;
  min-height: 750px;             
  background-color: #fff;
  box-shadow: 0 4px 4px 3px rgba(0,0,0,0.25);
  border-radius: 10px;
  padding: 20px;
  place-items: center;            
  text-align: center;
  flex: 1 1 380px;
}

.carte.n3 {
  --row-header: clamp(80px, 7vw, 120px);
  --row-price:  clamp(150px, 6vw, 200px);
  display: grid;
  grid-template-rows: 
  var(--row-header) 
  var(--row-price) 
  1fr 
  auto;
  gap: 16px;
  width: 480px;
  max-width: 480px;
  min-height: 650px;             
  background-color: #fff;
  box-shadow: 0 4px 4px 3px rgba(0,0,0,0.25);
  border-radius: 10px;
  padding: 20px;
  place-items: center;            
  text-align: center;
  flex: 1 1 380px;
}

.carte2 {
  --row-header: clamp(80px, 7vw, 120px);
  --row-price:  clamp(150px, 6vw, 200px);
  
  max-width: 480px;
  margin: 30px ;
  min-height: 750px;             
  background-color: #fff;
  text-align: center;
  padding: 50px 30px;
  place-items: center;        
  flex: 1 1 380px;
  align-self:center;
}


/* .carte .header h3,
.carte .header p,
.carte .prix p { margin: 0; } */

.header h3 {
  font-size: 40px;
  font-weight: 600;
}

.header p {
  font-size: 17px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.7);
}

.prix .nombre, .euro{
  font-size: 70px;
  font-weight: bold;
}

.uni {
  font-size: 18px;
  font-weight: 600;
  margin-top: 10px;
  color: rgba(0, 0, 0, 0.70);
}

.carte .header {
  /* align-self: stretch;            
  display: flex;
  flex-direction: column;
  justify-content: flex-start;    
  align-items: center; */
  margin-top: 30px;
  padding-top: 50px;
}

.carte .prix {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}

.carte .liste {
  align-self: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;         
  text-align: left;
  color: rgba(0, 0, 0, 0.8);
}

#justifi {
  padding-left: 27px;
  color:rgba(0, 0, 0, 0.6);;
}

/* .carte .liste li  {
  position: relative;
  padding-left: 2em;
} */

.carte .boutonc {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding-bottom: 30px;
}

.aaa {
  font-size: 17px;
  font-weight: 500;
  text-decoration: none;
  color: black;
  padding-top: 20px;
}

.shaut {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
  flex-wrap: wrap;
  margin-top: 80px;
}
.haut {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 100px;
  align-items: stretch;           
  justify-items: center;
}

.bas {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 100px;
  flex-wrap: wrap;                
}

.bas .text {
  display: flex;                  
  flex-direction: column;
  justify-content: center;     
  align-items: flex-start;        
  gap: 30px;
  width: 480px;
  max-width: 480px;
  min-height: 650px;              
  padding: 30px;
  font-size: 17px;
  font-weight: 400;
  hyphens: auto;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}

.bas h2 {
  font-size: 32px;
  font-weight: 600;
  margin: 0;           
}

.sbas {
  margin-top: 100px;
  margin-bottom: 100px;
  display: flex;
  flex-wrap: wrap;
  width: 100vw;           
}

.parent1bas {
  height: auto;
  width: 40.5%;
}

.section1 {
  display: flex;
  align-items: center;
  background: #B5CFFF;
  width: 380px;
  height: 820px;
  z-index: 1;
}

.columnleft {
  display: flex;
  flex-direction: column;
  max-height: 800px;
  gap: 60px;
  margin-left: 60px;
}

.imagetop {
  min-width: 500px;
}

.imagebottom { 
  min-width: 500px;  
}

.parent2bas {
  height: auto;
  width: 59.5%;
  align-content: flex-end;
}

.section2 {
  display: flex;
  flex-direction: column;
  margin-bottom: 65px;
}

.columnright {
  flex-direction: column;
  padding-right: 60px;
}

.smallimgs {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 45px;
}

.textbas h2 {
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 30px;
}

 .textbas  {
  font-size: 17px;
  font-weight: 400;
  margin-bottom: 100px;
  margin-left: 60px;
  max-width: 450px;
}


@media screen and (max-width:1500px) {


    .smallimg{
      width: 100%;
    }

    .parent1bas{
        width: 60%;
    }

    .parent2bas{
        width: 35%; 
    }
}


@media screen and (max-width:992px) {
    .parent1bas{
        width: 100%;
        text-align: center;
    }

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

    .textbas{
      max-width: 100%;
      margin-left: 10px;
      margin-right: 10px;
      margin-top: 20px;
    }

      .columnright {
          padding-right: 0
      }

      .section1 {
        width: 100%;
      }


      .imagetop, .imagebottom {
          min-width: 100%
      }

      .columnleft {
        width: 90%;
        margin: 0 auto;
      }
          

}























@media (max-width: 992px) {
  .haut {
    grid-template-columns: 1fr;   
    gap: 40px;
  }

  .bas {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .bas .text {
    width: 100%;
    max-width: 720px;
    min-height: 0;
  }
}





#containerCard{
  display: flex;
  flex-wrap: wrap;
  width: 60%;
  margin: 0 auto;
}

.zoneCard{
  width: 50%;
}

@media screen and (max-width:1700px) {

  #containerCard{
    width: 65%;
  }   

}

@media screen and (max-width:1650px) {

  #containerCard{
    width: 67%;
  }   

}

@media screen and (max-width:1600px) {

  #containerCard{
    width: 70%;
  }   

}

@media screen and (max-width:1550px) {

  #containerCard{
    width: 73%;
  }   

}


@media screen and (max-width:1500px) {

  #containerCard{
    width: 75%;
  }   

    h1{
        font-size: 56px;
    }

}


@media screen and (max-width:1400px) {

  #containerCard{
    width: 77%;
  }  
  
  .carte {
    width: 450px;
  }

}

@media screen and (max-width:1300px) {

  #containerCard{
    width: 80%;
  }   

}

@media screen and (max-width:1200px) {

  #containerCard{
    width: 83%;
  }   
  .carte {
    width: 430px;
  }
  .header h3 {
    font-size: 36px;
  }

    h1{
        font-size: 52px;
    }

      body {
      background-size: cover;
      height: 120vh;
    }

}

@media screen and (max-width:1100px) {

  #containerCard{
    width: 87%;
  }   

  h1{
        font-size: 48px;
    }

}



@media screen and (max-width:992px) {

  #containerCard{
    width: 90%;
  }

  .zoneCard{
    width: 100%;
  }
    
  .carte {
    width: 100%;
    margin: 30px 0;
  }

  .carte, .carte2 {
    width: 100%;
    margin: 30px 0;
    height:auto;
    min-height: auto;
    max-width: 100%
  }

    h1{
        font-size: 42px;
    }


    body {
      background-size: cover;
      height: 150vh;
    }

}