.elementor-587 .elementor-element.elementor-element-efacc56{--display:flex;--min-height:50vh;--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:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.05;--border-radius:100px 0px 0px 0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-587 .elementor-element.elementor-element-efacc56:not(.elementor-motion-effects-element-type-background), .elementor-587 .elementor-element.elementor-element-efacc56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-587 .elementor-element.elementor-element-efacc56::before, .elementor-587 .elementor-element.elementor-element-efacc56 > .elementor-background-video-container::before, .elementor-587 .elementor-element.elementor-element-efacc56 > .e-con-inner > .elementor-background-video-container::before, .elementor-587 .elementor-element.elementor-element-efacc56 > .elementor-background-slideshow::before, .elementor-587 .elementor-element.elementor-element-efacc56 > .e-con-inner > .elementor-background-slideshow::before, .elementor-587 .elementor-element.elementor-element-efacc56 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-image:url("https://reseau-pose.fr/wp-content/uploads/2026/07/BG.png");}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-587 .elementor-element.elementor-element-57999e2c .elementor-button{font-size:25px;fill:#FFFFFF;color:#FFFFFF;background-color:var( --e-global-color-primary );box-shadow:-10px 10px 30px 0px rgba(0, 0, 0, 0.15);border-radius:0px 0px 0px 30px;padding:25px 20px 25px 30px;}.elementor-587 .elementor-element.elementor-element-57999e2c .elementor-button:hover, .elementor-587 .elementor-element.elementor-element-57999e2c .elementor-button:focus{color:#635DFF;background-color:#FFFFFF;}.elementor-587 .elementor-element.elementor-element-57999e2c .elementor-button:hover svg, .elementor-587 .elementor-element.elementor-element-57999e2c .elementor-button:focus svg{fill:#635DFF;}.elementor-587 .elementor-element.elementor-element-57999e2c{width:auto;max-width:auto;top:0px;}body:not(.rtl) .elementor-587 .elementor-element.elementor-element-57999e2c{right:0%;}body.rtl .elementor-587 .elementor-element.elementor-element-57999e2c{left:0%;}.elementor-587 .elementor-element.elementor-element-2cf27194{--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;--overlay-opacity:0.5;--padding-top:5%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-587 .elementor-element.elementor-element-2cf27194::before, .elementor-587 .elementor-element.elementor-element-2cf27194 > .elementor-background-video-container::before, .elementor-587 .elementor-element.elementor-element-2cf27194 > .e-con-inner > .elementor-background-video-container::before, .elementor-587 .elementor-element.elementor-element-2cf27194 > .elementor-background-slideshow::before, .elementor-587 .elementor-element.elementor-element-2cf27194 > .e-con-inner > .elementor-background-slideshow::before, .elementor-587 .elementor-element.elementor-element-2cf27194 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group{padding-right:calc( 16px/2 );padding-left:calc( 16px/2 );margin-bottom:16px;}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form-fields-wrapper{margin-left:calc( -16px/2 );margin-right:calc( -16px/2 );margin-bottom:-16px;}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-labels-inline .elementor-field-group > label{padding-left:11px;}body:not(.rtl) .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-labels-inline .elementor-field-group > label{padding-right:11px;}body .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-labels-above .elementor-field-group > label{padding-bottom:11px;}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group > label{font-family:var( --e-global-typography-5e2957d-font-family ), Sans-serif;font-size:var( --e-global-typography-5e2957d-font-size );font-weight:var( --e-global-typography-5e2957d-font-weight );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-type-html{padding-bottom:0px;font-family:var( --e-global-typography-5e2957d-font-family ), Sans-serif;font-size:var( --e-global-typography-5e2957d-font-size );font-weight:var( --e-global-typography-5e2957d-font-weight );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group .elementor-field, .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-subgroup label{font-family:var( --e-global-typography-5e2957d-font-family ), Sans-serif;font-size:var( --e-global-typography-5e2957d-font-size );font-weight:var( --e-global-typography-5e2957d-font-weight );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );color:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );color:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-button[type="submit"] svg *{fill:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );color:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-78c3f05 );color:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-78c3f05 );color:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-previous:hover{background-color:var( --e-global-color-78c3f05 );color:var( --e-global-color-f900462 );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message{font-family:var( --e-global-typography-29fe0f1-font-family ), Sans-serif;font-size:var( --e-global-typography-29fe0f1-font-size );font-weight:var( --e-global-typography-29fe0f1-font-weight );line-height:var( --e-global-typography-29fe0f1-line-height );letter-spacing:var( --e-global-typography-29fe0f1-letter-spacing );word-spacing:var( --e-global-typography-29fe0f1-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator, .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label{font-family:var( --e-global-typography-e70da6d-font-family ), Sans-serif;font-size:var( --e-global-typography-e70da6d-font-size );font-weight:var( --e-global-typography-e70da6d-font-weight );line-height:var( --e-global-typography-e70da6d-line-height );letter-spacing:var( --e-global-typography-e70da6d-letter-spacing );word-spacing:var( --e-global-typography-e70da6d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-inactive-secondary-color:var( --e-global-color-f900462 );--e-form-steps-indicator-active-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-secondary-color:var( --e-global-color-f900462 );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-primary );--e-form-steps-indicator-completed-secondary-color:var( --e-global-color-f900462 );--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:23px;}.elementor-587 .elementor-element.elementor-element-10f0dccd{--display:flex;--min-height:7vh;--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;--justify-content:center;--align-items:center;--border-radius:0px 0px 100px 100px;--padding-top:1%;--padding-bottom:1%;--padding-left:5%;--padding-right:5%;}.elementor-587 .elementor-element.elementor-element-10f0dccd:not(.elementor-motion-effects-element-type-background), .elementor-587 .elementor-element.elementor-element-10f0dccd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-587 .elementor-element.elementor-element-001f8ef img{width:228px;}#elementor-popup-modal-587 .dialog-message{width:1200px;height:auto;}#elementor-popup-modal-587{justify-content:center;align-items:center;pointer-events:all;background-color:rgba(0,0,0,.8);}#elementor-popup-modal-587 .dialog-widget-content{animation-duration:0s;background-color:rgba(255, 255, 255, 0);}@media(min-width:768px){.elementor-587 .elementor-element.elementor-element-2cf27194{--content-width:1200px;}}@media(max-width:1024px){.elementor-587 .elementor-element.elementor-element-efacc56{--min-height:40vh;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-587 .elementor-element.elementor-element-57999e2c .elementor-button{font-size:22px;padding:25px 18px 25px 25px;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group > label{font-size:var( --e-global-typography-5e2957d-font-size );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-type-html{font-size:var( --e-global-typography-5e2957d-font-size );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group .elementor-field, .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-subgroup label{font-size:var( --e-global-typography-5e2957d-font-size );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message{font-size:var( --e-global-typography-29fe0f1-font-size );line-height:var( --e-global-typography-29fe0f1-line-height );letter-spacing:var( --e-global-typography-29fe0f1-letter-spacing );word-spacing:var( --e-global-typography-29fe0f1-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator, .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label{font-size:var( --e-global-typography-e70da6d-font-size );line-height:var( --e-global-typography-e70da6d-line-height );letter-spacing:var( --e-global-typography-e70da6d-letter-spacing );word-spacing:var( --e-global-typography-e70da6d-word-spacing );}.elementor-587 .elementor-element.elementor-element-10f0dccd{--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:center;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}#elementor-popup-modal-587 .dialog-message{padding:0% 5% 0% 5%;}}@media(max-width:767px){.elementor-587 .elementor-element.elementor-element-efacc56{--min-height:85vh;--border-radius:24px 0px 0px 0px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-587 .elementor-element.elementor-element-57999e2c .elementor-button{font-size:22px;padding:20px 20px 20px 25px;}.elementor-587 .elementor-element.elementor-element-2cf27194{--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group > label{font-size:var( --e-global-typography-5e2957d-font-size );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-type-html{font-size:var( --e-global-typography-5e2957d-font-size );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group .elementor-field, .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-subgroup label{font-size:var( --e-global-typography-5e2957d-font-size );line-height:var( --e-global-typography-5e2957d-line-height );letter-spacing:var( --e-global-typography-5e2957d-letter-spacing );word-spacing:var( --e-global-typography-5e2957d-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message{font-size:var( --e-global-typography-29fe0f1-font-size );line-height:var( --e-global-typography-29fe0f1-line-height );letter-spacing:var( --e-global-typography-29fe0f1-letter-spacing );word-spacing:var( --e-global-typography-29fe0f1-word-spacing );}.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator, .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label{font-size:var( --e-global-typography-e70da6d-font-size );line-height:var( --e-global-typography-e70da6d-line-height );letter-spacing:var( --e-global-typography-e70da6d-letter-spacing );word-spacing:var( --e-global-typography-e70da6d-word-spacing );}.elementor-587 .elementor-element.elementor-element-10f0dccd{--min-height:8vh;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-587 .elementor-element.elementor-element-001f8ef img{width:141px;}#elementor-popup-modal-587 .dialog-message{padding:5% 5% 0% 5%;}}/* Start custom CSS for form, class: .elementor-element-66b3128 *//*
 * Réseau Pose — Formulaire Elementor classique en 4 étapes
 * À coller dans : Widget Formulaire > Avancé > CSS personnalisé
 *
 * Identifiants attendus :
 * type_de_la_demande
 * Menuiserie_concernee
 * quantite_fenetres
 * quantite_portes_entree
 * quantite_volets
 * quantite_portails
 * quantite_portes_garage
 * decrivez_votre_projet
 * prenom
 * nom
 * email
 * tel
 * Code_postal
 * acceptation
 */

.elementor-587 .elementor-element.elementor-element-66b3128 {
    --rp-navy: #0d2c46;
    --rp-blue: #2056a5;
    --rp-red: #ef3340;
    --rp-red-soft: #fff3f4;
    --rp-pale: #f4f7fb;
    --rp-line: #dce5ee;
    --rp-text: #53687b;
}

/* Carte principale */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    padding: 38px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--rp-line);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(13, 44, 70, 0.10);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--rp-blue) 0 33%,
        #ffffff 33% 66%,
        var(--rp-red) 66% 100%
    );
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form-fields-wrapper {
    align-items: flex-start;
}

/* Indicateur des étapes */
.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators {
    width: 100%;
    margin: 0 0 34px;
    padding: 4px 0 28px;
    border-bottom: 1px solid var(--rp-line);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator {
    color: #8b9aaa;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__number {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #b9c7d4;
    border-radius: 50%;
    color: var(--rp-navy);
    font-size: 13px;
    font-weight: 700;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label {
    margin-top: 8px;
    color: #7d8e9e;
    font-size: 12px;
    font-weight: 600;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator--state-active
.e-form__indicators__indicator__number,
.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator--state-completed
.e-form__indicators__indicator__number {
    color: #ffffff;
    background: var(--rp-red);
    border-color: var(--rp-red);
    transform: scale(1.05);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator--state-active
.e-form__indicators__indicator__label,
.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator--state-completed
.e-form__indicators__indicator__label {
    color: var(--rp-navy);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__separator {
    height: 2px;
    background: var(--rp-line);
}

/* Introduction de chaque étape */
.elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro {
    width: 100%;
    margin-bottom: 10px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    margin-bottom: 12px;
    padding: 0 10px;
    color: var(--rp-red);
    background: var(--rp-red-soft);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro h3 {
    margin: 0 0 8px;
    color: var(--rp-navy);
    font-family: "Bricolage Grotesque", sans-serif;
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.08;
    font-weight: 700;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro p {
    max-width: 650px;
    margin: 0;
    color: var(--rp-text);
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.65;
}

/* Espacement des champs */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group {
    margin-bottom: 18px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-label {
    margin-bottom: 8px;
    color: var(--rp-navy);
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
}

/* Champs texte */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field:not([type="radio"]):not([type="checkbox"]),
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-select-wrapper select {
    min-height: 54px;
    padding: 13px 16px;
    color: var(--rp-navy);
    background: #ffffff;
    border: 1px solid #cfd9e3;
    border-radius: 10px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    box-shadow: none;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}

.elementor-587 .elementor-element.elementor-element-66b3128 textarea.elementor-field {
    min-height: 170px;
    resize: vertical;
    line-height: 1.6;
}

.elementor-587 .elementor-element.elementor-element-66b3128 input[type="number"].elementor-field {
    text-align: center;
    font-weight: 700;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field:not([type="radio"]):not([type="checkbox"]):focus,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-select-wrapper select:focus {
    outline: none;
    background: #ffffff;
    border-color: var(--rp-blue);
    box-shadow: 0 0 0 4px rgba(32, 86, 165, 0.10);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field::placeholder {
    color: #94a2b1;
    opacity: 1;
}

/* Choix de l'étape 1 */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

/* Cartes produits de l'étape 2 */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option {
    position: relative;
    width: 100%;
    margin: 0;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option input,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option label,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option label {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 76px;
    width: 100%;
    padding: 17px 18px 17px 50px;
    color: var(--rp-navy);
    background: #ffffff;
    border: 1px solid var(--rp-line);
    border-radius: 13px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    cursor: pointer;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option label::before,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option label::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    background: #ffffff;
    border: 2px solid #afbdca;
    transform: translateY(-50%);
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option label::before {
    border-radius: 50%;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option label::before {
    border-radius: 5px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option label:hover,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option label:hover {
    transform: translateY(-2px);
    border-color: var(--rp-blue);
    box-shadow: 0 10px 24px rgba(13, 44, 70, 0.08);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option input:checked + label,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option input:checked + label {
    background: var(--rp-red-soft);
    border-color: var(--rp-red);
    box-shadow: 0 0 0 3px rgba(239, 51, 64, 0.08);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option input:checked + label::before,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option input:checked + label::before {
    background: var(--rp-red);
    border-color: var(--rp-red);
    box-shadow: inset 0 0 0 4px #ffffff;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
.elementor-field-option input:focus-visible + label,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
.elementor-field-option input:focus-visible + label {
    outline: 3px solid rgba(32, 86, 165, 0.22);
    outline-offset: 2px;
}

/* Alignement des cinq champs de quantité */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
    flex: 0 0 20% !important;
    width: 20% !important;
    min-width: 0 !important;
    max-width: 20% !important;
    padding-right: 7px !important;
    padding-left: 7px !important;
    box-sizing: border-box !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres
> .elementor-field-label,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree
> .elementor-field-label,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets
> .elementor-field-label,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails
> .elementor-field-label,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage
> .elementor-field-label {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: flex-end !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres
> .elementor-field,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree
> .elementor-field,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets
> .elementor-field,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails
> .elementor-field,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage
> .elementor-field {
    display: block !important;
    flex: 0 0 54px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: auto 0 0 !important;
    padding: 12px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* Consentement RGPD */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation {
    margin-top: 6px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation
.elementor-field-option {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation input {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    margin-top: 3px;
    accent-color: var(--rp-red);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation label {
    color: #6c7e8f;
    font-size: 11px;
    line-height: 1.55;
}

/* Boutons */
.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons {
    gap: 12px;
    margin-top: 14px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons .elementor-button {
    min-height: 54px;
    padding: 14px 24px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 750;
    box-shadow: none;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-next,
.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-submit {
    color: #ffffff !important;
    background: var(--rp-red) !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-previous {
    color: var(--rp-navy) !important;
    background: #ffffff !important;
    border-color: #bdcad6 !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-next:hover,
.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-submit:hover {
    transform: translateY(-2px);
    background: #d92734 !important;
    box-shadow: 0 12px 26px rgba(239, 51, 64, 0.22);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper__button-previous:hover {
    background: var(--rp-pale) !important;
    border-color: var(--rp-navy) !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons .elementor-button:focus-visible {
    outline: 3px solid rgba(32, 86, 165, 0.24);
    outline-offset: 3px;
}

/* Messages */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 13px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success {
    color: #155f3c;
    background: #effaf4;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger {
    color: #a51f2a;
    background: var(--rp-red-soft);
}

/* Tablette */
@media (max-width: 1024px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form {
        padding: 32px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-subgroup {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage {
        flex-basis: 33.333% !important;
        width: 33.333% !important;
        max-width: 33.333% !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form {
        padding: 28px 20px 22px;
        border-radius: 18px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 28px 0 26px !important;
        padding: 0 0 22px !important;
        overflow: visible !important;
        box-sizing: border-box;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator {
        display: flex !important;
        flex: 1 1 0 !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 0 2px !important;
        box-sizing: border-box;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__number {
        display: flex !important;
        flex: 0 0 28px !important;
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        margin: 0 auto !important;
        font-size: 10px !important;
        box-sizing: border-box;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-top: 7px !important;
        padding: 0 !important;
        font-size: 9px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: normal;
        word-break: normal;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__separator {
        flex: 0 1 16px !important;
        width: auto !important;
        min-width: 5px !important;
        max-width: 16px !important;
        height: 1px !important;
        margin: 14px 1px 0 !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro h3 {
        font-size: 27px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
    .elementor-field-subgroup {
        grid-template-columns: 1fr;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-subgroup {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
    .elementor-field-option label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-option label {
        min-height: 66px;
        padding: 14px 12px 14px 43px;
        font-size: 12px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
    .elementor-field-option label::before,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-option label::before {
        left: 14px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-col-50,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-col-40,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-col-60 {
        width: 100% !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-col-20 {
        width: 50% !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage
    > .elementor-field-label {
        min-height: 38px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage {
        flex-basis: 50% !important;
        width: 50% !important;
        max-width: 50% !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons {
        flex-wrap: nowrap;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper {
        width: 50% !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons .elementor-button {
        width: 100%;
        padding: 13px 14px;
        font-size: 13px;
    }
}

@media (max-width: 420px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form {
        padding-right: 16px;
        padding-left: 16px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator {
        padding: 0 1px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__number {
        flex-basis: 26px !important;
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        font-size: 9px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label {
        font-size: 8px !important;
        letter-spacing: -0.1px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__separator {
        flex-basis: 10px !important;
        min-width: 3px !important;
        max-width: 10px !important;
        margin-top: 13px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-subgroup {
        grid-template-columns: 1fr;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-col-20 {
        width: 100% !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================
 * OPTIMISATION FINALE — UNE ÉTAPE VISIBLE SANS DÉFILEMENT
 * Les règles ci-dessous remplacent les dimensions précédentes.
 * ========================================================== */

/* Le reCAPTCHA v3 reste actif, mais son champ technique ne prend
 * aucune place dans la mise en page du formulaire. */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-type-recaptcha_v3,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-recaptcha_v3 {
    position: absolute !important;
    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-type-recaptcha_v3 .elementor-field,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-recaptcha_v3 .elementor-field,
.elementor-587 .elementor-element.elementor-element-66b3128 textarea.g-recaptcha-response {
    position: absolute !important;
    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
}

/* Les boutons Précédent et Suivant restent sur la même ligne. */
.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper:only-child {
    flex: 1 1 100% !important;
    width: 100% !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons .elementor-button {
    width: 100% !important;
}

/* Version ordinateur et tablette horizontale */
@media (min-width: 768px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form {
        max-width: 920px;
        padding: 24px 32px 26px;
    }

    /* Navigation des quatre étapes plus compacte */
    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators {
        margin: 0 0 18px !important;
        padding: 2px 0 14px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__number {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label {
        margin-top: 5px;
        font-size: 10px;
        line-height: 1.15;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__separator {
        height: 2px;
    }

    /* Titres et textes d'introduction */
    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro {
        margin-bottom: 6px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro__number {
        min-width: 30px;
        height: 23px;
        margin-bottom: 6px;
        padding: 0 9px;
        font-size: 10px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro h3 {
        margin-bottom: 5px;
        font-size: clamp(26px, 2.4vw, 32px);
        line-height: 1.05;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro p {
        font-size: 13px;
        line-height: 1.4;
    }

    /* Rythme vertical général */
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group {
        margin-bottom: 10px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-label {
        margin-bottom: 5px;
        font-size: 12px;
    }

    /* Le sélecteur exclut explicitement le champ technique reCAPTCHA. */
    .elementor-587 .elementor-element.elementor-element-66b3128 input.elementor-field:not([type="radio"]):not([type="checkbox"]),
    .elementor-587 .elementor-element.elementor-element-66b3128 select.elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 textarea.elementor-field:not(.g-recaptcha-response),
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-select-wrapper select {
        min-height: 46px;
        padding: 10px 14px;
        font-size: 13px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 textarea.elementor-field:not(.g-recaptcha-response) {
        min-height: 105px;
        max-height: 105px;
        line-height: 1.45;
        resize: none;
    }

    /* Étape 1 : deux choix compacts */
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
    .elementor-field-subgroup {
        gap: 10px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
    .elementor-field-option label {
        min-height: 58px;
        padding: 12px 14px 12px 45px;
        font-size: 13px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
    .elementor-field-option label::before {
        left: 15px;
        width: 17px;
        height: 17px;
    }

    /* Étape 2 : les cinq produits tiennent sur une seule ligne. */
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-subgroup {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-option label {
        min-height: 58px;
        padding: 10px 8px 10px 36px;
        font-size: 11px;
        line-height: 1.2;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-option label::before {
        left: 11px;
        width: 16px;
        height: 16px;
    }

    /* Étape 2 : les cinq quantités restent alignées sur une ligne. */
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage {
        flex: 0 0 20% !important;
        flex-basis: 20% !important;
        width: 20% !important;
        min-width: 0 !important;
        max-width: 20% !important;
        margin-bottom: 8px !important;
        padding-right: 5px !important;
        padding-left: 5px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage
    > .elementor-field-label {
        align-items: flex-end !important;
        min-height: 31px !important;
        margin: 0 0 5px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage
    > .elementor-field {
        flex: 0 0 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        padding: 9px !important;
        font-size: 13px !important;
    }

    /* Étape 4 : coordonnées et consentement compacts. */
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation {
        margin-top: 0 !important;
        margin-bottom: 5px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation
    .elementor-field-option {
        gap: 7px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation input {
        width: 16px;
        height: 16px;
        margin-top: 1px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-acceptation label {
        font-size: 10px;
        line-height: 1.35;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons {
        margin-top: 5px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons .elementor-button {
        min-height: 46px;
        padding: 10px 18px;
        font-size: 13px;
    }
}

/* Écrans d'ordinateur peu hauts : compression supplémentaire.
 * Le contenu reste lisible et aucun champ utile n'est masqué. */
@media (min-width: 768px) and (max-height: 780px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-form {
        padding: 18px 26px 20px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators {
        margin-bottom: 12px !important;
        padding-bottom: 10px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__number {
        width: 29px;
        height: 29px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__indicators__indicator__label {
        margin-top: 3px;
        font-size: 9px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro__number {
        height: 21px;
        margin-bottom: 4px;
        font-size: 9px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro h3 {
        margin-bottom: 3px;
        font-size: 27px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .rp-step-intro p {
        font-size: 12px;
        line-height: 1.3;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group {
        margin-bottom: 7px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 input.elementor-field:not([type="radio"]):not([type="checkbox"]),
    .elementor-587 .elementor-element.elementor-element-66b3128 select.elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 textarea.elementor-field:not(.g-recaptcha-response),
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-select-wrapper select {
        min-height: 42px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 textarea.elementor-field:not(.g-recaptcha-response) {
        min-height: 82px;
        max-height: 82px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-type_de_la_demande
    .elementor-field-option label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-Menuiserie_concernee
    .elementor-field-option label {
        min-height: 50px;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails
    > .elementor-field,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage
    > .elementor-field {
        flex-basis: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons {
        margin-top: 3px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons .elementor-button {
        min-height: 42px;
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

/* Sur mobile, le défilement naturel est conservé afin de ne pas
 * réduire les champs au point de nuire à leur utilisation. */
@media (max-width: 767px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-type-recaptcha_v3,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-recaptcha_v3 {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .e-form__buttons__wrapper:only-child {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}

/* Ajustement final de l'étape 2 :
 * supprime l'espace vide sous le titre « Quantités : ». */
@media (min-width: 768px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage {
        margin-top: -20px !important;
    }

    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_fenetres
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_entree
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_volets
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portails
    > .elementor-field-label,
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-field-group-quantite_portes_garage
    > .elementor-field-label {
        align-items: flex-start !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 0 5px !important;
    }
}

/*
 * RÉSEAU POSE — MESSAGES DE FORMULAIRE EN POPUP
 * À coller dans : Formulaire Elementor > Avancé > CSS personnalisé
 */

/* Message général de confirmation ou d'erreur */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline),
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline) {
    position: fixed !important;
    z-index: 999999 !important;
    top: 50% !important;
    left: 50% !important;
    width: min(440px, calc(100vw - 36px)) !important;
    margin: 0 !important;
    padding: 88px 30px 28px !important;
    color: #0d2c46 !important;
    background: #ffffff !important;
    border: 1px solid #dce5ee !important;
    border-radius: 22px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    box-shadow:
        0 0 0 100vmax rgba(8, 27, 43, 0.68),
        0 28px 80px rgba(13, 44, 70, 0.25) !important;
    box-sizing: border-box !important;
    transform: translate(-50%, -50%) !important;
    animation: rp-message-open 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Cercle de l'icône */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline)::before,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)::before {
    position: absolute;
    top: 24px;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
    transform: translateX(-50%);
}

/* Confirmation */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline) {
    border-top: 4px solid #285eae !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline)::before {
    content: "✓";
    color: #ffffff;
    background: #285eae;
    box-shadow: 0 8px 22px rgba(40, 94, 174, 0.25);
}

/* Erreur générale */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline) {
    border-top: 4px solid #ef3340 !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)::before {
    content: "!";
    color: #ffffff;
    background: #ef3340;
    box-shadow: 0 8px 22px rgba(239, 51, 64, 0.24);
}

/* Bouton ajouté par le JavaScript */
.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-close {
    display: block;
    width: 100%;
    min-height: 46px;
    margin: 22px 0 0;
    padding: 11px 18px;
    color: #ffffff;
    background: #285eae;
    border: 0;
    border-radius: 10px;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)
.rp-message-close {
    background: #ef3340;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-close:hover {
    transform: translateY(-1px);
    background: #1f4f96;
    box-shadow: 0 10px 24px rgba(40, 94, 174, 0.22);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)
.rp-message-close:hover {
    background: #d92734;
    box-shadow: 0 10px 24px rgba(239, 51, 64, 0.20);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-close:focus-visible {
    outline: 3px solid rgba(40, 94, 174, 0.25);
    outline-offset: 3px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-closing {
    animation: rp-message-close 0.2s ease forwards !important;
}

@keyframes rp-message-open {
    from {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 18px)) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes rp-message-close {
    from {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    to {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 12px)) scale(0.97);
    }
}

@media (max-width: 767px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline),
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline) {
        width: calc(100vw - 28px) !important;
        padding: 82px 22px 22px !important;
        border-radius: 18px !important;
        font-size: 14px !important;
    }
}

/*
 * RÉSEAU POSE — MESSAGES DE FORMULAIRE EN POPUP
 * À coller dans : Formulaire Elementor > Avancé > CSS personnalisé
 */

/* Message général de confirmation ou d'erreur */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline),
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline) {
    position: fixed !important;
    z-index: 999999 !important;
    top: 50% !important;
    left: 50% !important;
    width: min(440px, calc(100vw - 36px)) !important;
    margin: 0 !important;
    padding: 88px 30px 28px !important;
    color: #0d2c46 !important;
    background: #ffffff !important;
    border: 1px solid #dce5ee !important;
    border-radius: 22px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    box-shadow:
        0 0 0 100vmax rgba(8, 27, 43, 0.68),
        0 28px 80px rgba(13, 44, 70, 0.25) !important;
    box-sizing: border-box !important;
    transform: translate(-50%, -50%) !important;
    animation: rp-message-open 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Cercle de l'icône */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline)::before,
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)::before {
    position: absolute;
    top: 24px;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
    transform: translateX(-50%);
}

/* Confirmation */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline) {
    border-top: 4px solid #285eae !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline)::before {
    content: "✓";
    color: #ffffff;
    background: #285eae;
    box-shadow: 0 8px 22px rgba(40, 94, 174, 0.25);
}

/* Erreur générale */
.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline) {
    border-top: 4px solid #ef3340 !important;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)::before {
    content: "!";
    color: #ffffff;
    background: #ef3340;
    box-shadow: 0 8px 22px rgba(239, 51, 64, 0.24);
}

/* Bouton ajouté par le JavaScript */
.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-close {
    display: block;
    width: 100%;
    min-height: 46px;
    margin: 22px 0 0;
    padding: 11px 18px;
    color: #ffffff;
    background: #285eae;
    border: 0;
    border-radius: 10px;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)
.rp-message-close {
    background: #ef3340;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-close:hover {
    transform: translateY(-1px);
    background: #1f4f96;
    box-shadow: 0 10px 24px rgba(40, 94, 174, 0.22);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline)
.rp-message-close:hover {
    background: #d92734;
    box-shadow: 0 10px 24px rgba(239, 51, 64, 0.20);
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-close:focus-visible {
    outline: 3px solid rgba(40, 94, 174, 0.25);
    outline-offset: 3px;
}

.elementor-587 .elementor-element.elementor-element-66b3128 .rp-message-closing {
    animation: rp-message-close 0.2s ease forwards !important;
}

@keyframes rp-message-open {
    from {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 18px)) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes rp-message-close {
    from {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    to {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 12px)) scale(0.97);
    }
}

@media (max-width: 767px) {
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-success:not(.elementor-help-inline),
    .elementor-587 .elementor-element.elementor-element-66b3128 .elementor-message-danger:not(.elementor-help-inline) {
        width: calc(100vw - 28px) !important;
        padding: 82px 22px 22px !important;
        border-radius: 18px !important;
        font-size: 14px !important;
    }
}/* End custom CSS */