.elementor-1951 .elementor-element.elementor-element-11e8b8be{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:100px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1951 .elementor-element.elementor-element-c029139{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1951 .elementor-element.elementor-element-21ef1627{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-1951 .elementor-element.elementor-element-215a6865 .elementor-heading-title{line-height:39px;}.elementor-1951 .elementor-element.elementor-element-3223b357{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-1951 .elementor-element.elementor-element-4e4bcb4e{width:var( --container-widget-width, 30px );max-width:30px;--container-widget-width:30px;--container-widget-flex-grow:0;}.elementor-1951 .elementor-element.elementor-element-4e4bcb4e img{width:25px;}.elementor-1951 .elementor-element.elementor-element-24053add .elementor-heading-title{font-size:24px;font-weight:600;}.elementor-1951 .elementor-element.elementor-element-6504cab2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-1951 .elementor-element.elementor-element-30f0f9f4{width:var( --container-widget-width, 30px );max-width:30px;--container-widget-width:30px;--container-widget-flex-grow:0;}.elementor-1951 .elementor-element.elementor-element-30f0f9f4 img{width:25px;}.elementor-1951 .elementor-element.elementor-element-6a5b5863 .elementor-heading-title{font-size:24px;font-weight:600;}.elementor-1951 .elementor-element.elementor-element-3aec372b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1951 .elementor-element.elementor-element-7755959c{width:var( --container-widget-width, 52px );max-width:52px;--container-widget-width:52px;--container-widget-flex-grow:0;text-align:start;}.elementor-1951 .elementor-element.elementor-element-7755959c img{width:25px;}.elementor-1951 .elementor-element.elementor-element-e51db7 .elementor-heading-title{font-size:20px;font-weight:400;}.elementor-1951 .elementor-element.elementor-element-27bc0341{--display:flex;--border-radius:24px 24px 24px 24px;}.elementor-1951 .elementor-element.elementor-element-27bc0341:not(.elementor-motion-effects-element-type-background), .elementor-1951 .elementor-element.elementor-element-27bc0341 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-1951 .elementor-element.elementor-element-6fba5b1a{padding:24px 24px 24px 24px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:24px;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-24px;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-labels-inline .elementor-field-group > label{padding-left:7px;}body:not(.rtl) .elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-labels-inline .elementor-field-group > label{padding-right:7px;}body .elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-labels-above .elementor-field-group > label{padding-bottom:7px;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-field-type-html{padding-bottom:0px;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-radius:24px 24px 24px 24px;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-radius:24px 24px 24px 24px;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-button[type="submit"]{color:#ffffff;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1951 .elementor-element.elementor-element-6fba5b1a .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}@media(max-width:1024px){.elementor-1951 .elementor-element.elementor-element-11e8b8be{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}@media(max-width:767px){.elementor-1951 .elementor-element.elementor-element-24053add .elementor-heading-title{font-size:16px;}.elementor-1951 .elementor-element.elementor-element-6a5b5863 .elementor-heading-title{font-size:16px;}.elementor-1951 .elementor-element.elementor-element-3aec372b{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1951 .elementor-element.elementor-element-e51db7{width:var( --container-widget-width, 242px );max-width:242px;--container-widget-width:242px;--container-widget-flex-grow:0;}.elementor-1951 .elementor-element.elementor-element-e51db7 .elementor-heading-title{font-size:16px;}}@media(min-width:768px){.elementor-1951 .elementor-element.elementor-element-c029139{--width:79%;}.elementor-1951 .elementor-element.elementor-element-21ef1627{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-48be728d */.devis-multi-step {
  padding: 32px 24px; 
  position: relative;
} 

.step-header { margin-bottom: 24px; }

.step-top-line {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}

.step-progress {
  width: 100%;
  height: 3px;
  background: #ffffff;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 16px;
}

#step-progress-bar {
  height: 100%;
  width: 33%;
  background: #0C7AA9;
  transition: width 0.3s ease;
}

.step-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 24px;
}

.step-block { display: none; }
.step-block.active { display: block; }

 
.circle-img {
  width: 120px;
  height: 120px;
  margin: 0 auto 8px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  transition: 0.3s;
}

.circle-img:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  position: relative;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  cursor: pointer;  transition: 0.3s;
}

.choice-label {
  font-size: 14px;
  font-weight: 500; 
    text-align: center; 
}

 .elementor-1951 .elementor-element.elementor-element-48be728d .active .active .circle-img {
  border: 6px solid #ffffff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  position: relative;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
}

.elementor-1951 .elementor-element.elementor-element-48be728d .active .active  {
   position:  relative;
    
}

.elementor-1951 .elementor-element.elementor-element-48be728d .active .active .circle-img::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0px;
  width:100%;
  height: 100%;
  border-radius: 50%;
  background-color: #03260382;
  border: 3px solid #ffffff;          /* bord blanc */
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;

  /* ton SVG en fond */
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2262%22%20height%3D%2246%22%20viewBox%3D%220%200%2062%2046%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cpath%20d%3D%22M21.5717%2045.825L0%2024.1034L5.39293%2018.673L21.5717%2034.9642L56.2946%200L61.6875%205.43041L21.5717%2045.825Z%22%20fill%3D%22white%22/%3E%0A%3C/svg%3E");
  background-repeat: no-repeat; 
  background-position: center;
  background-size: 70%; /* ajuste si tu veux plus grand/petit */
}

..elementor-1951 .elementor-element.elementor-element-48be728d-choice:hover .circle-img { opacity: 0.9; }



.field-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.field-group.full { margin-top: 16px; }

.field-group label {
  font-size: 14px;
  font-weight: 500;
}

.field-group input,
.field-group textarea {
  border-radius: 999px;
  border: 1px solid #d0d8df;
  padding: 10px 14px;
  font-size: 14px;
}

.field-group textarea {
  border-radius: 12px;
}

/* Nav */
.step-nav {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
}

.btn-step {
  border: none;
  border-radius: 999px;
  padding: 12px 32px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.elementor-1951 .elementor-element.elementor-element-48be728d button{
    background: #057fc1!important;
}

.btn-prev {
  background: #ffffff;
  color: #0C7AA9;
}

.btn-prev:hover, .btn-next:hover {
    background-color: var( --e-global-color-accent );
    scale: 1.1
}

.btn-next {
  background: #0077C8;
  color: #ffffff;
}

.btn-step:disabled {
  opacity: 0.5;
  cursor: default;
}
 
/* État actif : bord blanc + ombre sur l'image */
..elementor-1951 .elementor-element.elementor-element-48be728d-choice.active img {
  border: 6px solid #ffffff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.step-grid > div{
    width: 30%;
}

/* Le check rond par-dessus */
..elementor-1951 .elementor-element.elementor-element-48be728d-choice.active::after {
  content: '✔';
  position: absolute;
  top: 6px;
  right: 20px;
  background: #0C7AA9;
  color: #fff;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #ffffff;
  font-size: 18px;
  pointer-events: none;
}

/* Petit effet hover pour voir que ça répond bien */
..elementor-1951 .elementor-element.elementor-element-48be728d-choice:hover img {
  opacity: 0.9;
}
.step-grid {
      display: flex;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    flex-wrap: wrap;
    justify-content: center;
}
/* Step 2 fields */
.step2-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 16px;
}
/* Mobile */
@media (max-width: 768px) {
  .step-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .circle-img { width: 96px; height: 96px; }
  .step2-grid { grid-template-columns: repeat(1, minmax(0,1fr)); }
}
.step3-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
  margin-top: 16px;
}

/* les champs marqués .full prennent toute la largeur */
.step3-grid .field-group.full {
  grid-column: 1 / -1;
}

/* mobile : repasse tout en une colonne */
@media (max-width: 768px) {
  .step3-grid {
    grid-template-columns: 1fr;
  }
}

/* 1) Le conteneur autour du champ fichier */
#step2-file-wrapper .elementor-field-group-fichiers {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;

  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 127, 196, 0.25);
  background-color: rgba(0, 127, 196, 0.06);
}

/* 2) L'input lui-même : on enlève tout le style par défaut */
#form-field-fichiers {
  border: none;
  background: transparent;
  font-size: 14px;
}

/* 3) Bouton "Choisir un fichier" (navigateurs modernes) */
#form-field-fichiers::file-.elementor-1951 .elementor-element.elementor-element-48be728d-button {
  background-color: #007fc4;
  color: #ffffff;
  border: none;
  border-radius: 999px;
  padding: 0.4rem 1.1rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  margin-right: 0.5rem;
  transition: background-color .25s ease, transform .15s ease;
}

/* Hover + petit effet de “press” */
#form-field-fichiers::file-.elementor-1951 .elementor-element.elementor-element-48be728d-button:hover {
  background-color: #005f8f;
  transform: translateY(-1px);
}

#form-field-fichiers::file-.elementor-1951 .elementor-element.elementor-element-48be728d-button:active {
  transform: translateY(0);
}

/* 4) Version WebKit (Safari, anciens Chrome) */
#form-field-fichiers::-webkit-file-upload-button {
  background-color: #007fc4;
  color: #ffffff;
  border: none;
  border-radius: 999px;
  padding: 0.4rem 1.1rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  margin-right: 0.5rem;
  transition: background-color .25s ease, transform .15s ease;
}

#form-field-fichiers::-webkit-file-upload-button:hover {
  background-color: #005f8f;
  transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-6fba5b1a */.elementor-1951 .elementor-element.elementor-element-6fba5b1a {
     display: none
 }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2291ad41 */.ms-error {
  border-color: #d93025 !important;
  box-shadow: 0 0 0 1px rgba(217,48,37,0.25);
}

p#ms-step1-error, .ms-step-error{
    margin-top: 30px;
    background: rgb(217 48 37 / 18%);
    padding-left: 10px;
    border-radius: 18px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-27bc0341 */.elementor-1951 .elementor-element.elementor-element-27bc0341 ..elementor-1951 .elementor-element.elementor-element-27bc0341-choice {
    border: red solid;
}/* End custom CSS */