.elementor-1339 .elementor-element.elementor-element-16e7f1f{--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-1339 .elementor-element.elementor-element-7c56147{--display:flex;--border-radius:25px 25px 25px 25px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1339 .elementor-element.elementor-element-7c56147:not(.elementor-motion-effects-element-type-background), .elementor-1339 .elementor-element.elementor-element-7c56147 > .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-1339 .elementor-element.elementor-element-3aea506{text-align:center;}.elementor-1339 .elementor-element.elementor-element-3aea506 .elementor-heading-title{font-size:4rem;line-height:1.1em;}.elementor-1339 .elementor-element.elementor-element-46759dfa{--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:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1339 .elementor-element.elementor-element-22ad87b1{--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:40px 40px;--row-gap:40px;--column-gap:40px;--border-radius:20px 20px 20px 20px;}.elementor-1339 .elementor-element.elementor-element-5377bc79{--display:flex;--border-radius:20px 20px 20px 20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1339 .elementor-element.elementor-element-6c074c8c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1339 .elementor-element.elementor-element-7cb0f144{--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-1339 .elementor-element.elementor-element-7cb0f144.e-con{--order:99999 /* order end hack */;}.elementor-1339 .elementor-element.elementor-element-7f675a4c img{width:100%;height:400px;object-fit:cover;object-position:center center;border-radius:15px 15px 15px 15px;}.elementor-1339 .elementor-element.elementor-element-54851821{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-1339 .elementor-element.elementor-element-54851821:not(.elementor-motion-effects-element-type-background), .elementor-1339 .elementor-element.elementor-element-54851821 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-1339 .elementor-element.elementor-element-54851821.e-con{--order:-99999 /* order start hack */;}.elementor-1339 .elementor-element.elementor-element-6b0aa2bd{--box-background-color:var( --e-global-color-8d1912e );--box-border-width:0px;--box-border-radius:25px;--separator-width:0px;--header-color:#FFFFFF;--item-text-color:#FFFFFF;--item-text-hover-decoration:underline;--marker-color:var( --e-global-color-113c62e );}.elementor-1339 .elementor-element.elementor-element-6b0aa2bd .elementor-toc__header-title{text-align:start;}.elementor-1339 .elementor-element.elementor-element-6b0aa2bd .elementor-toc__header{flex-direction:row;}.elementor-1339 .elementor-element.elementor-element-d5fad20{--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-1339 .elementor-element.elementor-element-d5fad20:not(.elementor-motion-effects-element-type-background), .elementor-1339 .elementor-element.elementor-element-d5fad20 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-1339 .elementor-element.elementor-element-8b1c15d{--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-1339 .elementor-element.elementor-element-8b1c15d:not(.elementor-motion-effects-element-type-background), .elementor-1339 .elementor-element.elementor-element-8b1c15d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-1339 .elementor-element.elementor-element-8b1c15d.e-con{--align-self:center;}.elementor-1339 .elementor-element.elementor-element-cb9f39a .ff-el-is-required.asterisk-right label:after{color:var( --e-global-color-113c62e );}.elementor-1339 .elementor-element.elementor-element-cb9f39a .ff-el-progress-status{color:var( --e-global-color-113c62e );}.elementor-1339 .elementor-element.elementor-element-cb9f39a .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:var( --e-global-color-113c62e );color:#ffffff !important;}.elementor-1339 .elementor-element.elementor-element-cb9f39a .fluentform-widget-wrapper .ff-el-group .ff-btn-submit:hover{background-color:var( --e-global-color-8d1912e );}.elementor-1339 .elementor-element.elementor-element-4f6603f{--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-1339 .elementor-element.elementor-element-4f6603f.e-con{--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-1339 .elementor-element.elementor-element-8f7c622{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;}.elementor-1339 .elementor-element.elementor-element-8f7c622.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-1339 .elementor-element.elementor-element-8f7c622 .elementor-heading-title{font-family:"Roboto Slab", Sans-serif;font-size:2.6rem;font-weight:400;color:var( --e-global-color-primary );}.elementor-1339 .elementor-element.elementor-element-1fa73e3{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-1339 .elementor-element.elementor-element-1fa73e3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1339 .elementor-element.elementor-element-1fa73e3.elementor-element{--align-self:flex-start;}.elementor-1339 .elementor-element.elementor-element-1fa73e3 p{margin-block-end:0px;}.elementor-1339 .elementor-element.elementor-element-b7d0413 .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-1339 .elementor-element.elementor-element-b7d0413 .elementor-button:hover, .elementor-1339 .elementor-element.elementor-element-b7d0413 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-secondary );}.elementor-1339 .elementor-element.elementor-element-b7d0413 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1339 .elementor-element.elementor-element-b7d0413.elementor-element{--align-self:flex-start;}.elementor-1339 .elementor-element.elementor-element-b7d0413 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1339 .elementor-element.elementor-element-b7d0413 .elementor-button .elementor-button-content-wrapper{gap:16px;}.elementor-1339 .elementor-element.elementor-element-b7d0413 .elementor-button:hover svg, .elementor-1339 .elementor-element.elementor-element-b7d0413 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}@media(max-width:1400px){.elementor-1339 .elementor-element.elementor-element-1fa73e3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1024px){.elementor-1339 .elementor-element.elementor-element-7c56147{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1339 .elementor-element.elementor-element-d5fad20{--padding-top:100px;--padding-bottom:100px;--padding-left:25px;--padding-right:25px;}.elementor-1339 .elementor-element.elementor-element-1fa73e3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-1339 .elementor-element.elementor-element-16e7f1f{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-1339 .elementor-element.elementor-element-54851821{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1339 .elementor-element.elementor-element-d5fad20{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}.elementor-1339 .elementor-element.elementor-element-8b1c15d{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1339 .elementor-element.elementor-element-8f7c622{text-align:start;}.elementor-1339 .elementor-element.elementor-element-1fa73e3{text-align:start;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1339 .elementor-element.elementor-element-b7d0413.elementor-element{--align-self:center;}}@media(min-width:768px){.elementor-1339 .elementor-element.elementor-element-5377bc79{--width:100%;}.elementor-1339 .elementor-element.elementor-element-7cb0f144{--width:100%;}.elementor-1339 .elementor-element.elementor-element-54851821{--width:100%;}.elementor-1339 .elementor-element.elementor-element-4f6603f{--width:29.799%;}}@media(min-width:1401px){.elementor-1339 .elementor-element.elementor-element-7c56147:not(.elementor-motion-effects-element-type-background), .elementor-1339 .elementor-element.elementor-element-7c56147 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for fluent-form-widget, class: .elementor-element-cb9f39a *//* =============================================
   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 */