.elementor-1348 .elementor-element.elementor-element-4f92af0{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-1348 .elementor-element.elementor-element-ef9d201{--display:flex;--border-radius:25px 25px 25px 25px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-ef9d201:not(.elementor-motion-effects-element-type-background), .elementor-1348 .elementor-element.elementor-element-ef9d201 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://societe-de-pose-normande.fr/wp-content/uploads/2026/04/organic-maze-seamless-patterns-LLVAS8H.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1348 .elementor-element.elementor-element-8410243{text-align:center;}.elementor-1348 .elementor-element.elementor-element-8410243 .elementor-heading-title{font-size:4rem;line-height:1.1em;}.elementor-1348 .elementor-element.elementor-element-76378289{--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:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:60px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-55fa977c{--display:flex;--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-6391ca49 img{width:100%;height:600px;object-fit:cover;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-1348 .elementor-element.elementor-element-21465203{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-1348 .elementor-element.elementor-element-4bc4cdba .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-1348 .elementor-element.elementor-element-4bc4cdba .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-1348 .elementor-element.elementor-element-4bc4cdba{--image-border-radius:15px;--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-1348 .elementor-element.elementor-element-44dfed6e{--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:100px 100px;--row-gap:100px;--column-gap:100px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:48px;--padding-bottom:48px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-44dfed6e:not(.elementor-motion-effects-element-type-background), .elementor-1348 .elementor-element.elementor-element-44dfed6e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-1348 .elementor-element.elementor-element-76c5f1ee{--display:flex;--justify-content:space-between;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-1348 .elementor-element.elementor-element-76c5f1ee:not(.elementor-motion-effects-element-type-background), .elementor-1348 .elementor-element.elementor-element-76c5f1ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-1348 .elementor-element.elementor-element-76c5f1ee.e-con{--align-self:center;}.elementor-1348 .elementor-element.elementor-element-043de5a .ff-el-is-required.asterisk-right label:after{color:var( --e-global-color-113c62e );}.elementor-1348 .elementor-element.elementor-element-043de5a .ff-el-progress-status{color:var( --e-global-color-113c62e );}.elementor-1348 .elementor-element.elementor-element-043de5a .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:var( --e-global-color-113c62e );color:#ffffff !important;}.elementor-1348 .elementor-element.elementor-element-043de5a .fluentform-widget-wrapper .ff-el-group .ff-btn-submit:hover{background-color:var( --e-global-color-8d1912e );}.elementor-1348 .elementor-element.elementor-element-72ebfbb4{--display:flex;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-72ebfbb4.e-con{--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-1348 .elementor-element.elementor-element-2fa7a2c3{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;}.elementor-1348 .elementor-element.elementor-element-2fa7a2c3.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-1348 .elementor-element.elementor-element-2fa7a2c3 .elementor-heading-title{font-family:"Roboto Slab", Sans-serif;font-size:2.6rem;font-weight:400;color:var( --e-global-color-primary );}.elementor-1348 .elementor-element.elementor-element-6874a624{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-primary );}.elementor-1348 .elementor-element.elementor-element-6874a624 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1348 .elementor-element.elementor-element-6874a624.elementor-element{--align-self:flex-start;}.elementor-1348 .elementor-element.elementor-element-6874a624 p{margin-block-end:0px;}.elementor-1348 .elementor-element.elementor-element-516bc670 .elementor-button{background-color:var( --e-global-color-secondary );fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:10px 10px 10px 10px;padding:16px 24px 16px 24px;}.elementor-1348 .elementor-element.elementor-element-516bc670 .elementor-button:hover, .elementor-1348 .elementor-element.elementor-element-516bc670 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-secondary );}.elementor-1348 .elementor-element.elementor-element-516bc670 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1348 .elementor-element.elementor-element-516bc670.elementor-element{--align-self:flex-start;}.elementor-1348 .elementor-element.elementor-element-516bc670 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1348 .elementor-element.elementor-element-516bc670 .elementor-button .elementor-button-content-wrapper{gap:16px;}.elementor-1348 .elementor-element.elementor-element-516bc670 .elementor-button:hover svg, .elementor-1348 .elementor-element.elementor-element-516bc670 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-1348 .elementor-element.elementor-element-4f0b2c65{--display:flex;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:048px;--padding-bottom:48px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-52b6862{--display:flex;--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;--justify-content:space-between;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-17952b2d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1348 .elementor-element.elementor-element-614e3162{width:100%;max-width:100%;}.elementor-1348 .elementor-element.elementor-element-614e3162 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1348 .elementor-element.elementor-element-614e3162.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1348 .elementor-element.elementor-element-614e3162 .elementor-heading-title{font-family:"Roboto Slab", Sans-serif;font-size:2.7rem;font-weight:400;color:var( --e-global-color-8d1912e );}.elementor-1348 .elementor-element.elementor-element-e8614b1 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items{--columns:3;}@media(max-width:1400px){.elementor-1348 .elementor-element.elementor-element-21465203{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1348 .elementor-element.elementor-element-6874a624{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(min-width:768px){.elementor-1348 .elementor-element.elementor-element-76378289{--content-width:1340px;}.elementor-1348 .elementor-element.elementor-element-55fa977c{--width:100%;}.elementor-1348 .elementor-element.elementor-element-72ebfbb4{--width:29.799%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1348 .elementor-element.elementor-element-55fa977c{--width:100%;}}@media(min-width:1401px){.elementor-1348 .elementor-element.elementor-element-ef9d201:not(.elementor-motion-effects-element-type-background), .elementor-1348 .elementor-element.elementor-element-ef9d201 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1024px){.elementor-1348 .elementor-element.elementor-element-ef9d201{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1348 .elementor-element.elementor-element-76378289{--flex-wrap:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:30px;--padding-right:30px;}.elementor-1348 .elementor-element.elementor-element-21465203{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1348 .elementor-element.elementor-element-44dfed6e{--padding-top:100px;--padding-bottom:100px;--padding-left:25px;--padding-right:25px;}.elementor-1348 .elementor-element.elementor-element-6874a624{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1348 .elementor-element.elementor-element-4f0b2c65{--padding-top:100px;--padding-bottom:100px;--padding-left:25px;--padding-right:25px;}}@media(max-width:767px){.elementor-1348 .elementor-element.elementor-element-4f92af0{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-1348 .elementor-element.elementor-element-76378289{--padding-top:50px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-1348 .elementor-element.elementor-element-21465203{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1348 .elementor-element.elementor-element-44dfed6e{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}.elementor-1348 .elementor-element.elementor-element-76c5f1ee{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1348 .elementor-element.elementor-element-2fa7a2c3{text-align:start;}.elementor-1348 .elementor-element.elementor-element-6874a624{text-align:start;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1348 .elementor-element.elementor-element-516bc670.elementor-element{--align-self:center;}.elementor-1348 .elementor-element.elementor-element-4f0b2c65{--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}.elementor-1348 .elementor-element.elementor-element-614e3162{text-align:start;}.elementor-1348 .elementor-element.elementor-element-e8614b1 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}}/* Start custom CSS for fluent-form-widget, class: .elementor-element-043de5a *//* =============================================
   FLUENT FORMS - SPN (Société de Pose Normande)
   Version : fond clair, accent vert #2E7D32
   5 étapes : Projet, Logement, Surface, Infos, Coordonnées
   ============================================= */

/* --- Radio boutons en pilules --- */
.ff-el-form-check {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.ff-el-form-check label {
  border: 2px solid #E0E0E0;
  border-radius: 50px;
  padding: 14px 18px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.25s ease;
  background: #FFFFFF;
  display: block;
  text-align: center;
  color: #212121;
}

.ff-el-form-check input[type="radio"] {
  display: none;
}

.ff-el-form-check label:hover {
  border-color: #2E7D32;
  color: #2E7D32;
  box-shadow: 0 4px 12px rgba(46, 125, 50, 0.1);
}

.ff-el-form-check label:has(input:checked) {
  background: #2E7D32;
  color: #FFFFFF;
  border-color: #2E7D32;
}

@media (max-width: 768px) {
  .ff-el-form-check { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ff-el-form-check label { padding: 12px 14px; font-size: 14px; }
}

@media (max-width: 480px) {
  .ff-el-form-check { grid-template-columns: 1fr; gap: 8px; }
}

/* --- Champs texte, email, tel, textarea, select --- */
.fluentform .ff-el-input--content input[type="text"],
.fluentform .ff-el-input--content input[type="email"],
.fluentform .ff-el-input--content input[type="tel"],
.fluentform .ff-el-input--content textarea,
.fluentform .ff-el-input--content select {
  border: 2px solid #E0E0E0;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
  transition: border-color 0.25s ease;
  background: #FFFFFF;
}

.fluentform .ff-el-input--content input:focus,
.fluentform .ff-el-input--content textarea:focus,
.fluentform .ff-el-input--content select:focus {
  border-color: #2E7D32;
  outline: none;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.12);
}

/* --- Labels des champs --- */
.fluentform .ff-el-input--label label {
  font-weight: 600;
  color: #212121;
  font-size: 15px;
  margin-bottom: 8px;
}

/* --- Boutons Suivant / Précédent / Envoyer --- */
.ff-btn-next,
.ff-btn-prev,
.ff-btn-submit {
  border-radius: 50px !important;
  padding: 14px 32px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  transition: all 0.25s ease !important;
  border: none !important;
  cursor: pointer;
}

.ff-btn-next,
.ff-btn-submit {
  background: #2E7D32 !important;
  color: #FFFFFF !important;
}

.ff-btn-next:hover,
.ff-btn-submit:hover {
  background: #1B5E20 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(46, 125, 50, 0.25);
}

.ff-btn-prev {
  background: transparent !important;
  color: #666 !important;
  border: 2px solid #E0E0E0 !important;
}

.ff-btn-prev:hover {
  border-color: #2E7D32 !important;
  color: #2E7D32 !important;
}

/* --- Barre de progression / Étapes --- */
.fluentform .ff-step-titles {
  display: flex;
  justify-content: space-between;
  margin: 0 0 40px;
  padding: 0;
  position: relative;
}

/* Ligne de fond unique */
.fluentform .ff-step-titles:before {
  content: "";
  position: absolute;
  top: 18px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: #E0E0E0;
  z-index: 0;
}

/* Masquer les lignes natives Fluent Forms */
.fluentform .ff-step-titles li:after {
  display: none !important;
}

.fluentform .ff-step-titles li {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  color: #999;
  padding: 0 5px;
  flex: 1;
  text-align: center;
  position: relative;
}

/* Cercles numérotés (inactifs) */
.fluentform .ff-step-titles li:before {
  background: #FFFFFF;
  border: 2px solid #E0E0E0;
  border-radius: 50%;
  color: #999;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  width: 36px;
  height: 36px;
  min-width: 36px;
  line-height: 1;
  margin: 0 auto 8px;
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
}

/* Numéros forcés — 5 étapes */
.fluentform .ff-step-titles li:nth-child(1):before { content: "1"; }
.fluentform .ff-step-titles li:nth-child(2):before { content: "2"; }
.fluentform .ff-step-titles li:nth-child(3):before { content: "3"; }
.fluentform .ff-step-titles li:nth-child(4):before { content: "4"; }
.fluentform .ff-step-titles li:nth-child(5):before { content: "5"; }

/* Étape active */
.fluentform .ff-step-titles li.ff_active {
  color: #2E7D32;
  font-weight: 600;
}
.fluentform .ff-step-titles li.ff_active:before {
  background: #2E7D32;
  border-color: #2E7D32;
  color: #FFFFFF;
}

/* Étape complétée */
.fluentform .ff-step-titles li.ff_completed {
  color: #2E7D32;
}
.fluentform .ff-step-titles li.ff_completed:before {
  background: #2E7D32;
  border-color: #2E7D32;
  color: #FFFFFF;
  content: "\2713" !important;
  font-size: 16px;
}

/* --- Conteneur général du formulaire --- */
.fluentform {
  background: #FFFFFF;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(46, 125, 50, 0.08);
  max-width: 800px;
  margin: 0 auto;
}

/* --- Messages d'erreur --- */
.fluentform .error {
  color: #C8102E;
  font-size: 13px;
  margin-top: 4px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .fluentform {
    padding: 24px 16px;
    border-radius: 12px;
  }
  .fluentform .ff-step-titles li {
    font-size: 0;
    padding: 0 3px;
  }
  .fluentform .ff-step-titles li:before {
    width: 30px;
    height: 30px;
    min-width: 30px;
    font-size: 12px;
  }
  .fluentform .ff-step-titles:before {
    top: 15px;
  }
}/* End custom CSS */