.elementor-7155 .elementor-element.elementor-element-3bb3d17 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-7155 .elementor-element.elementor-element-3bb3d17 > .elementor-container{max-width:1400px;}.elementor-7155 .elementor-element.elementor-element-3bb3d17{border-style:solid;border-width:0px 0px 1px 0px;border-color:#EAEAEA;padding:05px 0px 05px 0px;}.elementor-7155 .elementor-element.elementor-element-3bb3d17, .elementor-7155 .elementor-element.elementor-element-3bb3d17 > .elementor-background-overlay{border-radius:0px 0px 0px 0px;}.elementor-bc-flex-widget .elementor-7155 .elementor-element.elementor-element-1a6d31e.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-7155 .elementor-element.elementor-element-1a6d31e.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-7155 .elementor-element.elementor-element-05a3d04{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-7155 .elementor-element.elementor-element-05a3d04 > .elementor-widget-container{margin:5px 0px 0px 0px;}.elementor-widget-image .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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-bc76e54{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;text-align:left;}.elementor-7155 .elementor-element.elementor-element-bc76e54 > .elementor-widget-container{padding:0px 20px 0px 20px;}.elementor-7155 .elementor-element.elementor-element-bc76e54 img{width:100%;}.elementor-bc-flex-widget .elementor-7155 .elementor-element.elementor-element-114b8c5.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-7155 .elementor-element.elementor-element-114b8c5.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-7155 .elementor-element.elementor-element-114b8c5 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-7155 .elementor-element.elementor-element-9ea8a65 > .elementor-widget-container{margin:-15px 0px 10px 20px;}.elementor-7155 .elementor-element.elementor-element-1a3a16e:not(.elementor-motion-effects-element-type-background), .elementor-7155 .elementor-element.elementor-element-1a3a16e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-7155 .elementor-element.elementor-element-1a3a16e > .elementor-container{max-width:1300px;min-height:680px;}.elementor-7155 .elementor-element.elementor-element-1a3a16e{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0% 25% 02% 25%;}.elementor-7155 .elementor-element.elementor-element-1a3a16e > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-7155 .elementor-element.elementor-element-d5ca2ca > .elementor-element-populated{padding:0px 0px 0px 0px;}.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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );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 );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );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 );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-7b6bd76{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-progress-height:20px;--e-form-steps-indicator-progress-border-radius:0px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button span{gap:10px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group{padding-right:calc( 13px/2 );padding-left:calc( 13px/2 );margin-bottom:22px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-form-fields-wrapper{margin-left:calc( -13px/2 );margin-right:calc( -13px/2 );margin-bottom:-22px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-labels-inline .elementor-field-group > label{padding-left:3px;}body:not(.rtl) .elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-labels-inline .elementor-field-group > label{padding-right:3px;}body .elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-labels-above .elementor-field-group > label{padding-bottom:3px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group > label, .elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-subgroup label{color:#000000;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group > label{font-family:"Alexandria", Sans-serif;font-size:16px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-type-html{padding-bottom:0px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:600;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;border-radius:20px 20px 20px 20px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-next{background-color:#9563EB;color:#FFFFFF;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"]{background-color:#9563EB;color:#FFFFFF;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-previous{background-color:#F1F1F1;color:#A6A6A6;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-7155 .elementor-element.elementor-element-aa60c3f:not(.elementor-motion-effects-element-type-background), .elementor-7155 .elementor-element.elementor-element-aa60c3f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F4F5;}.elementor-7155 .elementor-element.elementor-element-aa60c3f > .elementor-container{max-width:800px;}.elementor-7155 .elementor-element.elementor-element-aa60c3f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:10px 0px 10px 0px;}.elementor-7155 .elementor-element.elementor-element-aa60c3f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-bottom:calc(40px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-top:calc(40px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:calc(40px/2);margin-left:calc(40px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items{margin-right:calc(-40px/2);margin-left:calc(-40px/2);}body.rtl .elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{left:calc(-40px/2);}body:not(.rtl) .elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-40px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-icon i{color:#B5B4B5;transition:color 0.3s;}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-icon svg{fill:#B5B4B5;transition:fill 0.3s;}.elementor-7155 .elementor-element.elementor-element-dc5f78c{--e-icon-list-icon-size:28px;--icon-vertical-offset:0px;}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-text{color:#B5B4B5;transition:color 0.3s;}.elementor-7155 .elementor-element.elementor-element-9d4008c > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-7155 .elementor-element.elementor-element-9d4008c:not(.elementor-motion-effects-element-type-background), .elementor-7155 .elementor-element.elementor-element-9d4008c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#182C33;}.elementor-7155 .elementor-element.elementor-element-9d4008c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-7155 .elementor-element.elementor-element-9d4008c > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-7155 .elementor-element.elementor-element-3239fc6.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-7155 .elementor-element.elementor-element-3239fc6.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-widget-text-editor{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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7155 .elementor-element.elementor-element-d2e63fa > .elementor-widget-container{margin:0px 0px -10px 0px;padding:0px 0px 0px 0px;}.elementor-7155 .elementor-element.elementor-element-d2e63fa{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#FFFFFF;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );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 );line-height:var( --e-global-typography-text-line-height );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 );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-field-group > label{font-size:14px;}.elementor-7155 .elementor-element.elementor-element-7b6bd76 .elementor-button{font-size:14px;}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > a{font-size:14px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-d2e63fa{font-size:14px;}}@media(min-width:768px){.elementor-7155 .elementor-element.elementor-element-1a6d31e{width:22%;}.elementor-7155 .elementor-element.elementor-element-050118d{width:56%;}.elementor-7155 .elementor-element.elementor-element-114b8c5{width:21.332%;}}@media(max-width:767px){.elementor-7155 .elementor-element.elementor-element-05a3d04{--container-widget-width:36px;--container-widget-flex-grow:0;width:var( --container-widget-width, 36px );max-width:36px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-bc76e54{--container-widget-width:70%;--container-widget-flex-grow:0;width:var( --container-widget-width, 70% );max-width:70%;}.elementor-7155 .elementor-element.elementor-element-d191ecd{width:var( --container-widget-width, 56px );max-width:56px;--container-widget-width:56px;--container-widget-flex-grow:0;}.elementor-7155 .elementor-element.elementor-element-d191ecd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7155 .elementor-element.elementor-element-1a3a16e > .elementor-container{max-width:579px;}.elementor-7155 .elementor-element.elementor-element-1a3a16e{padding:05% 05% 05% 05%;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );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 );line-height:var( --e-global-typography-text-line-height );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 );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-aa60c3f{margin-top:30px;margin-bottom:0px;}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-bottom:calc(30px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-top:calc(30px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:calc(30px/2);margin-left:calc(30px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items{margin-right:calc(-30px/2);margin-left:calc(-30px/2);}body.rtl .elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{left:calc(-30px/2);}body:not(.rtl) .elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-30px/2);}.elementor-7155 .elementor-element.elementor-element-dc5f78c{--e-icon-list-icon-size:13px;}.elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7155 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > a{font-size:7px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}/* Start custom CSS for form, class: .elementor-element-7b6bd76 *//* =========================================================================
   1) ON CIBLE EXACTEMENT LE CONTENEUR DU CHAMP RADIO “client_type_field”
   (ID = client_type_field → classe générée = elementor-field-group-client_type_field)
   ========================================================================= */
.elementor-field-group-client_type_field {
  margin-bottom: 24px;
}

/* =========================================================================
   2) ON FORCE LA LISTE D’OPTIONS À DEVENIR UN CONTENEUR FLEX SUR 2 COLONNES
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-field-group-client_type_field .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important;
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  display: block !important;
  min-height: 100px; /* ajustez si nécessaire */
}
@media (max-width: 600px) {
  .elementor-field-group-client_type_field .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* =========================================================================
   3) ON CACHE LE BOUTON RADIO NATIF (LE PETIT ROND)
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================================
   4) ON TRANSFORME LE <label> EN “CONTENU DE CARTE” (flex‐colonne)
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  padding: 16px 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* =========================================================================
   5) EMOJIS AVANT LE TEXTE (via ::before)
   ========================================================================= */
/* 5.1) Icône “Adulte” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="adulte"] + label::before {
  content: "🧑";        /* emoji pour adulte */
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* 5.2) Icône “Couple” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="couple"] + label::before {
  content: "👫";       /* emoji pour couple */
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* 5.3) Icône “Adulte + enfant(s)” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="adulte-enfants"] + label::before {
  content: "👨‍👩‍👧";   /* emoji pour adulte + enfant(s) */
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* 5.4) Icône “Couple + enfant(s)” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="couple-enfants"] + label::before {
  content: "👨‍👩‍👧‍👦"; /* emoji pour couple + enfant(s) */
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* =========================================================================
   6) QUAND UNE CARTE EST SÉLECTIONNÉE (input:checked)
     – FOND VERT PÂLE + BORDURE VERTE + TEXTE VERT FONCÉ
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"]:checked + label {
  background-color: #e5f7dc !important;  /* vert pâle */
  border-color: #7ebc46 !important;      /* vert moyen */
  color: #2a5d2a !important;             /* texte vert foncé */
}
/* 6.1) Coche en haut à droite */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"]:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #2a5d2a;
}

/* =========================================================================
   7) AU SURVOL D’UNE CARTE NON SÉLECTIONNÉE 
     – légère nuance de gris
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
}

/* =========================================================================
   8) FOCUS CLAVIER (ACCESSIBILITÉ)
     – outline en tirets verts
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}



/* =========================================================================
   1) ON CIBLE LE CONTENEUR DU CHAMP RADIO “cmu”
   ========================================================================= */
.elementor-field-group-cmu {
  margin-bottom: 24px; /* espace sous les cartes */
}

/* =========================================================================
   2) ON TRANSFORME LE CONTENEUR DES OPTIONS EN FLEX POUR 2 COLONNES
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;    /* espace entre les cartes (horiz. + vert.) */
  padding: 0 !important;
  margin: 0 !important;
}

/* Chaque “.elementor-field-option” devient une carte à 50% - 8px */
.elementor-field-group-cmu .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important; /* 2 cartes par ligne */
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;       /* pour afficher la coche */
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  display: block !important;
  min-height: 80px; /* ajustable selon la hauteur souhaitée */
}

/* Sur mobile (<600px), chaque carte passe à 100% de largeur */
@media (max-width: 600px) {
  .elementor-field-group-cmu .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* =========================================================================
   3) ON CACHE LE BOUTON RADIO NATIF
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================================
   4) ON TRANSFORME LE <label> EN CONTENU DE CARTE (flex-colonne)
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  padding: 16px 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* =========================================================================
   5) EMOJI “👎” POUR LA PREMIÈRE CARTE, “👍” POUR LA SECONDE (nth-child)
   ========================================================================= */
/* 5.1) Icône “Non” */
.elementor-field-group-cmu .elementor-field-option:nth-child(1) label::before {
  content: "👎" !important;
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}
/* 5.2) Icône “Oui” */
.elementor-field-group-cmu .elementor-field-option:nth-child(2) label::before {
  content: "👍" !important;
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* =========================================================================
   6) STYLE QUAND UNE CARTE EST SÉLECTIONNÉE (input:checked)
     – fond vert pâle + bordure verte + texte vert foncé
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"]:checked + label {
  background-color: #e5f7dc !important; /* vert pâle */
  border-color: #7ebc46 !important;     /* vert moyen */
  color: #2a5d2a !important;            /* texte vert foncé */
}
/* 6.1) Coche en haut à droite */
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"]:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #2a5d2a;
}

/* =========================================================================
   7) AU SURVOL D’UNE CARTE NON SÉLECTIONNÉE 
     – légère nuance de gris
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
}

/* =========================================================================
   8) FOCUS CLAVIER (ACCESSIBILITÉ)
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}



/* ===========================================================================
   1) CIBLAGE DU CHAMP “Date de naissance” PAR SON ID
   (Elementor a généré <input id="birth_date">)
   =========================================================================== */
#birth_date {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  font-size: 16px;
  font-family: inherit;
  color: #333;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
/* 2) Placeholder “JJ / MM / AAAA” */
#birth_date::placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 1px;
}
/* 3) Focus */
#birth_date:focus {
  border-color: #7ebc46;
  box-shadow: 0 0 0 2px rgba(126, 188, 70, 0.2);
}
/* 4) Responsive */
@media (max-width: 600px) {
  #birth_date {
    padding: 10px 12px;
    font-size: 15px;
  }
  #birth_date::placeholder {
    font-size: 15px;
  }
}



/* =========================================================================
   CHAMP “care_level” – ALIGNÉ COMME “hospi_level”
   ========================================================================= */
/* 1) On met le sous‐groupe (options) en flex sans retour à la ligne, gap 8px */
.elementor-field-group-care_level .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* 2) Chaque carte a la même largeur (1/3 – gap/2) et même min-height qu’hospi_level */
.elementor-field-group-care_level .elementor-field-option {
  flex: 0 0 calc(33.333% - 5.333px) !important;
  box-sizing: border-box !important;
  min-height: 60px !important; /* comme hospi_level */
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
/* 3) On cache le bouton radio natif */
.elementor-field-group-care_level .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}
/* 4) On transforme le <label> en contenu de carte (full width/height) */
.elementor-field-group-care_level .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 12px 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
/* 5) État “hover” sur une carte non sélectionnée */
.elementor-field-group-care_level .elementor-field-option input[name="form_fields[care_level]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}
/* 6) État “sélectionné” */
.elementor-field-group-care_level .elementor-field-option input[name="form_fields[care_level]"]:checked + label {
  background-color: #b8d986 !important;
  border-color: #7ebc46 !important;
  color: #fff !important;
  border-radius: 8px !important;
}
/* 7) Focus clavier */
.elementor-field-group-care_level .elementor-field-option input[name="form_fields[care_level]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}
/* 8) Assurer que le <span> parent masque tout débordement */
.elementor-field-group-care_level .elementor-field-option {
  overflow: hidden !important;
}



/* =========================================================================
   CHAMP “hospi_level”, “optical_level”, “dental_level”, “auditive_level”
   – appliquent les mêmes règles qu’à care_level
   ========================================================================= */
/* 1) Conteneurs des champs */
.elementor-field-group-hospi_level,
.elementor-field-group-optical_level,
.elementor-field-group-dental_level,
.elementor-field-group-auditive_level {
  margin-bottom: 24px;
}
/* 2) Disposition en ligne pour chaque champ (3 cartes côte à côte) */
.elementor-field-group-hospi_level .elementor-field-subgroup,
.elementor-field-group-optical_level .elementor-field-subgroup,
.elementor-field-group-dental_level .elementor-field-subgroup,
.elementor-field-group-auditive_level .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* 3) Chaque carte prend 1/3 de la largeur – gap/2 */
.elementor-field-group-hospi_level .elementor-field-option,
.elementor-field-group-optical_level .elementor-field-option,
.elementor-field-group-dental_level .elementor-field-option,
.elementor-field-group-auditive_level .elementor-field-option {
  flex: 0 0 calc(33.333% - 5.333px) !important;
  box-sizing: border-box !important;
  min-height: 60px !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  overflow: hidden !important;
}
/* 4) Sur mobile (<600px), chaque carte fait 100% */
@media (max-width: 600px) {
  .elementor-field-group-hospi_level .elementor-field-option,
  .elementor-field-group-optical_level .elementor-field-option,
  .elementor-field-group-dental_level .elementor-field-option,
  .elementor-field-group-auditive_level .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}
/* 5) Cacher le bouton radio natif */
.elementor-field-group-hospi_level .elementor-field-option input[type="radio"],
.elementor-field-group-optical_level .elementor-field-option input[type="radio"],
.elementor-field-group-dental_level .elementor-field-option input[type="radio"],
.elementor-field-group-auditive_level .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}
/* 6) Transformer le <label> en bouton‐carte */
.elementor-field-group-hospi_level .elementor-field-option label,
.elementor-field-group-optical_level .elementor-field-option label,
.elementor-field-group-dental_level .elementor-field-option label,
.elementor-field-group-auditive_level .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 12px 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
/* 7) Hover sur carte non sélectionnée */
.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"] + label:hover,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"] + label:hover,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"] + label:hover,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}
/* 8) État “sélectionné” */
.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"]:checked + label,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"]:checked + label,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"]:checked + label,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"]:checked + label {
  background-color: #b8d986 !important;
  border-color: #7ebc46 !important;
  color: #fff !important;
  border-radius: 8px !important;
}
/* 9) Focus clavier */
.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"]:focus + label,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"]:focus + label,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"]:focus + label,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}



/* =========================================================================
   1) CIBLAGE DU CHAMP “gender” (ID = gender)
   ========================================================================= */
.elementor-field-group-gender {
  margin-bottom: 24px; /* espace sous les cartes */
}

/* =========================================================================
   2) ON TRANSFORME LES OPTIONS EN DEUX CARTES CÔTE À CÔTE
   ========================================================================= */
/* 2.1) Conteneur des <span> en flex */
.elementor-field-group-gender .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;  /* deux cartes côte à côte */
  gap: 8px !important;           /* espace horizontal */
  padding: 0 !important;
  margin: 0 !important;
}
/* 2.2) Chaque carte fait 50% – gap/2 */
.elementor-field-group-gender .elementor-field-option {
  flex: 0 0 calc(50% - 4px) !important; /* (100%/2) – (8px/2) */
  box-sizing: border-box !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80px !important; /* ajustez si besoin */
  overflow: hidden !important;
}
/* 2.3) Sur mobile (<600px), on empile */
@media (max-width: 600px) {
  .elementor-field-group-gender .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}
/* 3) Cacher le bouton radio natif */
.elementor-field-group-gender .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}
/* 4) Transformer le <label> en bouton‐carte */
.elementor-field-group-gender .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 16px 0 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
/* 5) Injection d’icônes avant le texte */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="homme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <path d='M16 4a6 6 0 100 12 6 6 0 000-12z'/>\
  <path d='M10 20c0-3.314 2.686-6 6-6s6 2.686 6 6v2H10v-2z'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="femme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <path d='M16 4a5 5 0 100 10 5 5 0 000-10z'/>\
  <path d='M11 18c0-2.761 2.239-5 5-5s5 2.239 5 5v2H11v-2z'/>\
  <path d='M14 20v8M18 20v8' stroke='%23333' stroke-width='2' stroke-linecap='round'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}
/* 6) Hover sur carte non sélectionnée */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}
/* 7) État “sélectionné” */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:checked + label {
  background-color: #b8d986 !important;
  border-color: #7ebc46 !important;
  color: #fff !important;
  border-radius: 8px !important;
}

/* ------------------------------------------------------------
   Champ “assure” : style de base (similaire à “birth_date”)
   ------------------------------------------------------------ */
input[id*="form-field-assure"],
input[name="form_fields[assure]"] {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  font-size: 16px;
  font-family: inherit;
  color: #333;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
/* Placeholder “JJ / MM / AAAA” */
input[id*="form-field-assure"]::placeholder,
input[name="form_fields[assure]"]::placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 1px;
}
/* Focus */
input[id*="form-field-assure"]:focus,
input[name="form_fields[assure]"]:focus {
  border-color: #7ebc46;
  box-shadow: 0 0 0 2px rgba(126, 188, 70, 0.2);
}
/* Responsive */
@media (max-width: 600px) {
  input[id*="form-field-assure"],
  input[name="form_fields[assure]"] {
    padding: 10px 12px;
    font-size: 15px;
  }
  input[id*="form-field-assure"]::placeholder,
  input[name="form_fields[assure]"]::placeholder {
    font-size: 15px;
  }
}



/* ============================================================================
   Checkbox “privacy_consent” – le champ reste visible, mais le fond change quand coché
   ============================================================================ */
/* 1) Conteneur du champ “privacy_consent” */
.elementor-field-group-privacy_consent .elementor-field-option {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  background-color: #f0f0f0; /* Gris clair par défaut */
  border: 1px solid #ddd;
  border-radius: 8px;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
/* 2) Quand la checkbox interne est cochée → fond vert + bordure verte */
.elementor-field-group-privacy_consent .elementor-field-option:has(input[type="checkbox"]:checked) {
  background-color: #e5f7dc; /* Vert pâle */
  border-color: #7ebc46;     /* Vert moyen */
}
/* 3) On garde le checkbox natif visible à gauche, on décale du label */
.elementor-field-group-privacy_consent .elementor-field-option input[type="checkbox"] {
  margin-right: 12px;
}
/* 4) Hover sur conteneur non coché */
.elementor-field-group-privacy_consent .elementor-field-option:not(:has(input[type="checkbox"]:checked)):hover {
  background-color: #fafafa;
  border-color: #bbb;
}
/* 5) Focus clavier */
.elementor-field-group-privacy_consent .elementor-field-option:has(input[type="checkbox"]:focus-visible) {
  outline: 2px dashed #7ebc46;
  outline-offset: 2px;
}



/* ============================================================================
   Bouton “Suivant” – flèche après le texte
   ============================================================================ */
/* 1) Supprime tout ::before existant */
.e-form__buttons__wrapper__button-next::before {
  content: none !important;
}
/* 2) Ajoute la flèche Unicode → en ::after */
.e-form__buttons__wrapper__button-next::after {
  content: "→";
  display: inline-block;
  margin-left: 6px;
  font-size: 1em;
  vertical-align: middle;
  color: currentColor;
}
/* 3) (Optionnel) Ajuste le padding du bouton */
.e-form__buttons__wrapper__button-next {
  padding-right: 12px;
}

/* -------------------------------------------------------------------------
   SECTION “client_type_field” :
   – Par défaut : 4 cartes sur 2 colonnes (2×(50% - 8px))
   – Sur petit écran jusqu’à 600px : on garde 2 cartes par ligne
     (remplace l’ancien @media qui forçait 1 carte par ligne).
   ------------------------------------------------------------------------- */
.elementor-field-group-client_type_field .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-field-group-client_type_field .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important;
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  display: block !important;
  min-height: 100px; /* ajustez si nécessaire */
}
/* -------------------------------------------------------------------------
   Sur mobile (<600px) : on garde 2 cartes par ligne (pas 1 seule).
   Chaque carte fait (50% - 8px) pour tenir dans la même largeur.
   ------------------------------------------------------------------------- */
@media (max-width: 600px) {
  .elementor-field-group-client_type_field .elementor-field-option {
    flex: 0 0 calc(50% - 8px) !important;
    width: auto !important;
  }
}
/* -------------------------------------------------------------------------
   Si vous voulez, en dessous de 400px, n’afficher plus qu’1 carte par ligne,
   vous pouvez ajouter cette règle (optionnelle) :
   ------------------------------------------------------------------------- */
@media (max-width: 400px) {
  .elementor-field-group-client_type_field .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* =========================================================================
   SECTION “cmu” (Oui / Non)
   -------------------------------------------------------------------------
   - Par défaut : 2 cartes par ligne (2×(50% – gap/2))
   - Jusqu’à 600px : on garde 2 cartes par ligne (au lieu de 1 seule)
   - En-dessous de 400px (optionnel) : on passe à 1 carte par ligne
   ========================================================================= */

/* 1) On transforme le conteneur des options en flex + wrap pour 2 colonnes */
.elementor-field-group-cmu .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;     /* espace horizontal + vertical entre cartes */
  padding: 0 !important;
  margin: 0 !important;
}

/* 2) Chaque carte → 50% – (gap/2) (2 cartes côte-à-côte) */
.elementor-field-group-cmu .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important; /* 16px de gap total → 8px de moitié */
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  display: block !important;
  min-height: 80px; /* ajustez la hauteur minimale si besoin */
}

/* 3) Sur mobile (< 600px) : on garde 2 cartes par ligne 
       (remplace l’ancien @media qui forçait 100%) */
@media (max-width: 600px) {
  .elementor-field-group-cmu .elementor-field-option {
    flex: 0 0 calc(50% - 8px) !important;
    width: auto !important;
  }
}

/* 4) (Optionnel) En-dessous de 400px : passer à 1 carte par ligne */
@media (max-width: 400px) {
  .elementor-field-group-cmu .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* =========================================================================
   FIELDS “Soins courants” (care_level), “Hospitalisation” (hospi_level),
          “Optique” (optical_level), “Dentaire” (dental_level),
          “Auditif” (auditive_level)
   → DISPOSITION EN LIGNE (3 CARTES CÔTÉ À CÔTÉ), GAP = 8px et MÊME STYLE
   ========================================================================= */

/* 1) On traite d’abord tous les <div class="elementor-field-subgroup"> 
      pour ces champs, en les passant en flex row, sans retour à la ligne, avec 8px d’écart */
.elementor-field-group-care_level .elementor-field-subgroup,
.elementor-field-group-hospi_level .elementor-field-subgroup,
.elementor-field-group-optical_level .elementor-field-subgroup,
.elementor-field-group-dental_level .elementor-field-subgroup,
.elementor-field-group-auditive_level .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;   
  gap: 8px !important;            
  padding: 0 !important;
  margin: 0 !important;
}

/* 2) Chaque carte (<span class="elementor-field-option">) fait 1/3 de la largeur - gap/2.
      On lui applique le même min-height, le même border, le même border-radius que care_level. */
.elementor-field-group-care_level  .elementor-field-option,
.elementor-field-group-hospi_level .elementor-field-option,
.elementor-field-group-optical_level .elementor-field-option,
.elementor-field-group-dental_level .elementor-field-option,
.elementor-field-group-auditive_level .elementor-field-option {
  flex: 0 0 calc(33.333% - 5.333px) !important; /* 1/3 de la largeur - (8px/2) */
  box-sizing: border-box !important;
  min-height: 60px !important;             /* même hauteur que care_level */
  background-color: #fff !important;        /* fond blanc par défaut */
  border: 1px solid #ddd !important;        /* bordure grise */
  border-radius: 8px !important;            /* coins arrondis */
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;                    /* on gère le padding dans le label */
  overflow: hidden !important;              /* pour masquer débordements carrés */
  transition: border-color 0.2s ease,
              background-color 0.2s ease !important;
}

/* 2.1) Sur mobile (<600px) : on continue de garder 3 cartes côte à côte en forçant width auto,
        mais si votre mise en page devient trop étroite, remplacez “600px” par “400px” 
        pour passer à 2 cartes, etc. (voir remarque à la fin) */
@media (max-width: 600px) {
  .elementor-field-group-care_level  .elementor-field-option,
  .elementor-field-group-hospi_level .elementor-field-option,
  .elementor-field-group-optical_level .elementor-field-option,
  .elementor-field-group-dental_level .elementor-field-option,
  .elementor-field-group-auditive_level .elementor-field-option {
    flex: 0 0 calc(33.333% - 5.333px) !important;
    width: auto !important;
  }
}

/* 3) On cache le petit rond radio natif pour ces champs */
.elementor-field-group-care_level  .elementor-field-option input[type="radio"],
.elementor-field-group-hospi_level .elementor-field-option input[type="radio"],
.elementor-field-group-optical_level .elementor-field-option input[type="radio"],
.elementor-field-group-dental_level .elementor-field-option input[type="radio"],
.elementor-field-group-auditive_level .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* 4) On transforme le <label> en surface cliquable (100% du span), avec bordure/fond/arrondi */
.elementor-field-group-care_level  .elementor-field-option label,
.elementor-field-group-hospi_level .elementor-field-option label,
.elementor-field-group-optical_level .elementor-field-option label,
.elementor-field-group-dental_level .elementor-field-option label,
.elementor-field-group-auditive_level .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;                /* occupe toute la largeur du span */
  height: 100% !important;               /* occupe toute la hauteur du span */
  padding: 12px 0 !important;             /* pour centrer verticalement le texte */
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;                 /* texte gris foncé par défaut */
  text-align: center !important;
  text-decoration: none !important;
  background-color: #fff !important;      /* fond blanc */
  border: 1px solid #ddd !important;      /* bordure grise */
  border-radius: 8px !important;          /* coins arrondis */
  transition: border-color 0.2s ease,
              background-color 0.2s ease !important;
}

/* 5) Hover sur chaque carte (non sélectionnée) : fond gris très clair + bordure gris moyen */
.elementor-field-group-care_level  .elementor-field-option input[name="form_fields[care_level]"] + label:hover,
.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"] + label:hover,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"] + label:hover,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"] + label:hover,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"] + label:hover {
  border-color: #bbb !important;         /* gris moyen */
  background-color: #fafafa !important;  /* gris très clair */
  border-radius: 8px !important;         /* on conserve l’arrondi */
}

/* 6) État “Sélectionné” (checked) : fond vert clair + bordure verte + texte blanc */
.elementor-field-group-care_level  .elementor-field-option input[name="form_fields[care_level]"]:checked + label,
.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"]:checked + label,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"]:checked + label,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"]:checked + label,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"]:checked + label {
  background-color: #b8d986 !important;  /* vert clair */
  border-color: #7ebc46 !important;      /* bordure vert moyen */
  color: #fff !important;                /* texte blanc pour le contraste */
  border-radius: 8px !important;         /* conserver l’arrondi */
}

/* 7) Focus clavier (input:focus + label) : outline en tirets verts */
.elementor-field-group-care_level  .elementor-field-option input[name="form_fields[care_level]"]:focus + label,
.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"]:focus + label,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"]:focus + label,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"]:focus + label,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}

/* 8) On s’assure que le <span class="elementor-field-option"> masque tout débordement carré */
.elementor-field-group-care_level  .elementor-field-option,
.elementor-field-group-hospi_level .elementor-field-option,
.elementor-field-group-optical_level .elementor-field-option,
.elementor-field-group-dental_level .elementor-field-option,
.elementor-field-group-auditive_level .elementor-field-option {
  overflow: hidden !important;
}

/* =========================================================================
   SECTION “gender” (Homme / Femme)
   ========================================================================= */
/* 1) Conteneur de la liste d’options en FLEX (2 cartes côte à côte) */
.elementor-field-group-gender .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;     /* deux cartes côte à côte, pas de retour à la ligne */
  gap: 8px !important;               /* 8 px d’écart entre chaque carte */
  padding: 0 !important;
  margin: 0 !important;
}

/* 2) Chaque carte fait 50 % de la largeur moins la moitié du gap (8px/2)
      → de cette manière, deux cartes tiennent parfaitement sur une ligne */
.elementor-field-group-gender .elementor-field-option {
  flex: 0 0 calc(50% - 4px) !important; /* (100%/2) - (8px/2) = calc(50% - 4px) */
  box-sizing: border-box !important;
  background-color: #fff !important;    /* fond blanc par défaut */
  border: 1px solid #ddd !important;    /* bordure grise */
  border-radius: 8px !important;        /* coins arrondis */
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80px !important;          /* hauteur minimum (ajustez si nécessaire) */
  overflow: hidden !important;          /* masque tout débordement */
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

/* 2.1) Sur mobile (<600px) on garde deux colonnes (deux cartes côte à côte) */
@media (max-width: 600px) {
  .elementor-field-group-gender .elementor-field-option {
    flex: 0 0 calc(50% - 4px) !important;
    width: auto !important;
  }
}

/* 2.2) (Optionnel) Si vous souhaitez passer à 1 carte par ligne
       en dessous de 400px, décommentez ce bloc : */
/*
@media (max-width: 400px) {
  .elementor-field-group-gender .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}
*/

/* 3) Cacher le petit bouton radio natif */
.elementor-field-group-gender .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* 4) Transformer le <label> en “bouton‐carte” couvrant tout le <span> */
.elementor-field-group-gender .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;                /* occupe toute la largeur du span */
  height: 100% !important;               /* occupe toute la hauteur du span */
  padding: 16px 0 !important;             /* espace intérieur pour centrer le texte */
  font-size: 18px !important;            
  font-weight: 500 !important;
  color: #333 !important;                 /* texte gris foncé par défaut */
  text-align: center !important;
  text-decoration: none !important;
  background-color: #fff !important;      /* fond blanc par défaut */
  border: 1px solid #ddd !important;      /* bordure grise */
  border-radius: 8px !important;          /* coins arrondis */
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

/* 5) Injection d’icônes (Homme / Femme) avant le texte :
      - Ici, on utilise des SVG encodés en data-URI, mais 
        vous pouvez remplacer par des emojis “👨” / “👩” si vous préférez. */
/* 5.1) Icône “Homme” */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="homme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <circle cx='16' cy='8' r='6'/>\
  <path d='M10 20c0-3.314 2.686-6 6-6s6 2.686 6 6v2H10v-2z'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}
/* 5.2) Icône “Femme” */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="femme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <circle cx='16' cy='7' r='5'/>\
  <path d='M11 18c0-2.761 2.239-5 5-5s5 2.239 5 5v2H11v-2z'/>\
  <path d='M14 20v8M18 20v8' stroke='%23333' stroke-width='2' stroke-linecap='round'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}

/* 6) Hover sur carte non sélectionnée : bordure gris moyen + fond gris très clair */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}

/* 7) État “Sélectionné” (input:checked + label) : fond vert clair + bordure verte + texte blanc */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:checked + label {
  background-color: #b8d986 !important;  /* vert clair */
  border-color: #7ebc46 !important;      /* bordure vert moyen */
  color: #fff !important;                /* texte blanc */
  border-radius: 8px !important;
}

/* 8) Focus clavier (outline en tirets verts) */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}

/* 9) S’assurer que le <span> parent masque tout débordement carré */
.elementor-field-group-gender .elementor-field-option {
  overflow: hidden !important;
}

/* =========================================================================
   CORRECTIF POUR LA SECTION “gender” (Homme / Femme)
   – Suppression des bordures superposées (<span> + <label>)
   – Ajustement de l’outline en focus pour qu’il reste entièrement à l’intérieur
   – Suppression du contour pointillé vert qui débordait
   ========================================================================= */

/* 1) On retire absolument toute bordure sur le <span> parent. Seul le <label> gérera la bordure */
.elementor-field-group-gender .elementor-field-option {
  border: none !important;
}

/* 2) On conserve le flex (2 cartes côte à côte) avec 8px de gap */
.elementor-field-group-gender .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 3) Chaque carte (<span>) fait 50 % – 4px pour tenir la moitié de l’espace (8px de gap) */
.elementor-field-group-gender .elementor-field-option {
  flex: 0 0 calc(50% - 4px) !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;          /* pour ne pas voir l’outline sortir */
  cursor: pointer !important;
  min-height: 80px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #fff !important;
  transition: border-color 0.2s ease,
              background-color 0.2s ease !important;
}

/* 4) Sur mobile (< 600 px), on garde deux colonnes (2 cartes côte à côte) */
@media (max-width: 600px) {
  .elementor-field-group-gender .elementor-field-option {
    flex: 0 0 calc(50% - 4px) !important;
    width: auto !important;
  }
}

/* 5) Cacher le petit bouton radio natif */
.elementor-field-group-gender .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* 6) Transformer le <label> en “bouton‐carte” complet */
.elementor-field-group-gender .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 16px 0 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;     /* C’est cette seule bordure qui compte */
  border-radius: 8px !important;         /* Coins arrondis */
  transition: border-color 0.2s ease,
              background-color 0.2s ease !important;
}

/* 7) Injection d’icônes avant le texte (Homme / Femme) */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="homme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <circle cx='16' cy='8' r='6'/>\
  <path d='M10 20c0-3.314 2.686-6 6-6s6 2.686 6 6v2H10v-2z'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="femme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <circle cx='16' cy='7' r='5'/>\
  <path d='M11 18c0-2.761 2.239-5 5-5s5 2.239 5 5v2H11v-2z'/>\
  <path d='M14 20v8M18 20v8' stroke='%23333' stroke-width='2' stroke-linecap='round'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}

/* 8) Hover sur carte non sélectionnée (border gris moyen + fond gris clair) */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"] + label:hover {
  border-color: #bbb !important;         /* gris moyen */
  background-color: #fafafa !important;  /* gris très clair */
  border-radius: 8px !important;
}

/* 9) État “Sélectionné” : fond vert clair + bordure verte + texte blanc */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:checked + label {
  background-color: #b8d986 !important;  /* vert clair */
  border-color: #7ebc46 !important;      /* vert moyen */
  color: #fff !important;                /* texte blanc */
  border-radius: 8px !important;
}

/* 10) Focus clavier : outline en tirets verts, mais à l’intérieur de la carte */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;  
  outline-offset: -2px !important;        /* on rabat l’outline à l’intérieur de la bordure */
}

/* 11) On s’assure que le <span> parent masque tout débordement carré */
.elementor-field-group-gender .elementor-field-option {
  overflow: hidden !important;
}

/* Supprimer le contour en tirets verts sur focus pour Homme/Femme */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:focus + label {
  outline: none !important;
}

/* Si vous voulez aussi retirer toute trace d’outline sur hover et focus clavier,
   on peut forcer : */
.elementor-field-group-gender .elementor-field-option label:focus,
.elementor-field-group-gender .elementor-field-option label:focus-visible {
  outline: none !important;
}

/* =======================================================================
   Passage de la partie “remplie” (meter) de la barre de progression
   en vert, plus le texte en blanc pour le contraste
   ======================================================================= */

/* 1) La surface globale de la barre (arrière-plan gris clair) */
.e-form__indicators--type-progress_bar .e-form__indicators__indicator__progress {
  background-color: #eee; /* gris très clair derrière la barre */
  border-radius: 4px;     /* facultatif : coins légèrement arrondis */
  overflow: hidden;
}

/* 2) Le “meter” (la partie qui grandit / avance) */
.e-form__indicators--type-progress_bar .e-form__indicators__indicator__progress__meter {
  background-color: #7ebc46 !important; /* vert moyen */
  color: #fff !important;               /* texte blanc pour être bien lisible */
  font-weight: 500;                     /* accentuer légèrement le texte */
}

/* 3) Ajuster un peu le rayon et la hauteur si nécessaire */
.e-form__indicators--type-progress_bar .e-form__indicators__indicator__progress__meter {
  border-radius: 4px;    /* même arrondi que le conteneur parent */
  height: 16px;          /* augmentez/diminuez selon le look souhaité */
}

/* 4) Centrer verticalement le pourcentage dans la barre (si besoin) */
.e-form__indicators--type-progress_bar .e-form__indicators__indicator__progress__meter {
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;    /* adapter la taille du texte “25%” */
  line-height: 1;        /* pour forcer un centrage parfait */
}

/* 5) Si le texte “25%” semble décalé, on peut ajuster le padding intérieur */
.e-form__indicators--type-progress_bar .e-form__indicators__indicator__progress__meter {
  padding: 0 4px; /* 4px de chaque côté pour laisser respirer le texte */
}

/* =============================== */
/* STYLE DU CLONE DANS #mon-progres-entete */
/* =============================== */
#mon-progres-entete .e-form__indicators__indicator__progress {
  background-color: #eee;     /* gris très clair derrière la barre */
  border-radius: 4px;         /* coins arrondis */
  overflow: hidden;           /* masque tout débordement */
}

#mon-progres-entete .e-form__indicators__indicator__progress__meter {
  /* partie « remplie » de la barre (le meter) */
  background-color: #7ebc46 !important; /* vert moyen */
  color: #fff !important;               /* texte blanc (pour le « XX % ») */
  border-radius: 4px !important;        /* coins arrondis en haut */
  height: 16px;                          /* ajustez la hauteur si besoin */
  display: flex !important;             /* pour centrer le texte */
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;                    /* taille du texte « XX % » */
  line-height: 1;                        /* pour un centrage vertical parfait */
  padding: 0 4px;                        /* espace min. autour du pourcentage */
}

/* Cacher la barre originale (mais laisser l’élément dans le DOM pour que le script continue de fonctionner) */
.e-form__indicators--type-progress_bar {
  display: none !important;
}


/* 1) Cacher le bouton « Précédent » */
.elementor-form .e-form__buttons__wrapper__button-previous {
  display: none !important;
}


/* 1) Le conteneur “Suivant” doit être un bloc plein écran */
.elementor-field-type-next {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2) Le bouton “Suivant” lui‐même prend 100 % de son conteneur */
.elementor-field-type-next .e-form__buttons__wrapper__button-next {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* 1) Forcer le conteneur “Envoyer” à 100 % de largeur comme pour “Suivant” */
.elementor-field-type-submit {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2) Mettre le bouton “Envoyer” lui‐même en pleine largeur */
.elementor-field-type-submit .elementor-button[type="submit"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* Réduire légèrement la largeur des boutons pour éviter tout dépassement */

/* 1) Conserver les conteneurs à 100 %, mais ajouter un padding interne pour créer un petit espace */
.elementor-field-type-next,
.elementor-field-type-submit {
  box-sizing: border-box;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* 2) Ajuster la largeur des boutons à 100 % moins ce padding */
.elementor-field-type-next .e-form__buttons__wrapper__button-next,
.elementor-field-type-submit .elementor-button[type="submit"] {
  width: 100% !important;
  max-width: none !important;
  /* Facultatif : diminuer la hauteur si vous trouvez qu’ils sont trop “gros” verticalement */
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* 1) Conteneur “Suivant” : plein écran */
.elementor-field-type-next {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 0 24px;
  padding: 0;
}

/* 2) Bouton “Suivant” : couleur #9563EA, hover #b682ff, gros padding, coins arrondis */
.elementor-field-type-next .e-form__buttons__wrapper__button-next {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;

  background-color: #9563EA !important;   /* violet principal mis à jour */
  color: #fff !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;

  padding: 1rem 2rem !important;           /* espacement généreux */
  border-radius: 12px !important;          /* coins arrondis */
  border: none !important;

  transition: background-color 0.2s ease-in-out !important;
}
.elementor-field-type-next .e-form__buttons__wrapper__button-next:hover {
  background-color: #b682ff !important;    /* violet clair au survol */
}

/* 3) Conteneur “Envoyer” : plein écran */
.elementor-field-type-submit {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 0 24px;
  padding: 0;
}

/* 4) Bouton “Envoyer” : même style que “Suivant” */
.elementor-field-type-submit .elementor-button[type="submit"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;

  background-color: #9563EA !important;   /* violet principal mis à jour */
  color: #fff !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;

  padding: 1rem 2rem !important;
  border-radius: 12px !important;
  border: none !important;

  transition: background-color 0.2s ease-in-out !important;
}
.elementor-field-type-submit .elementor-button[type="submit"]:hover {
  background-color: #b682ff !important;
}

/* ===============================================================
   CORRECTION DU CHAMP « gender » POUR AVOIR DEUX CARTES PLEINE LARGEUR
   =============================================================== */
/* 1) On cible directement le <span class="elementor-field-option"> 
      et on neutralise son fond et sa bordure */
.elementor-field-group-gender .elementor-field-option {
  background-color: transparent !important;
  border: none !important;         /* plus de bordure sur le span */
  border-radius: 8px !important;   /* on garde l’arrondi pour le span */
  overflow: hidden !important;     /* masque tout débordement carré */
  cursor: pointer !important;
  flex: 0 0 calc(50% - 4px) !important; /* 2 cartes par ligne (gap = 8px) */
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80px !important;     /* ajustez en fonction de la hauteur voulue */
}

/* 2) Sur mobile (<600px), on empile (chaque carte fait 100% de largeur) */
@media (max-width: 600px) {
  .elementor-field-group-gender .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* 3) On cache le bouton radio natif pour ne garder que la carte cliquable */
.elementor-field-group-gender 
  .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* 4) Le <label> prend 100% du <span>, porte la bordure, le fond et l’arrondi */
.elementor-field-group-gender 
  .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;           /* occupe toute la largeur du span */
  height: 100% !important;          /* occupe toute la hauteur du span */
  padding: 16px 0 !important;        /* espace vertical pour centrer le texte */
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #333 !important;            /* texte gris foncé par défaut */
  text-align: center !important;
  background-color: #fff !important; /* fond blanc par défaut */
  border: 1px solid #ddd !important; /* bordure grise par défaut */
  border-radius: 8px !important;     /* coins arrondis */
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

/* 5) Icônes Homme/Femme inchangées (cf. data-URI ou emoji) */
/*   Si vous avez déjà défini un ::before pour injecter les icônes, gardez ces règles. */

/* 6) Hover sur carte non sélectionnée → fond gris clair + bordure gris moyen */
.elementor-field-group-gender 
  .elementor-field-option 
  input[name="form_fields[gender]"] + label:hover {
  border-color: #bbb !important;         /* gris moyen pour la bordure */
  background-color: #fafafa !important;  /* gris très clair pour le fond */
  border-radius: 8px !important;         /* on conserve l’arrondi */
}

/* 7) État « checked » (input:checked + label) 
     → fond vert clair + bordure vert moyen + texte blanc */
.elementor-field-group-gender 
  .elementor-field-option 
  input[name="form_fields[gender]"]:checked + label {
  background-color: #b8d986 !important;  /* vert clair */
  border-color: #7ebc46 !important;      /* bordure vert moyen */
  color: #fff !important;                /* texte blanc pour le contraste */
  border-radius: 8px !important;         /* conserver l’arrondi */
}


@media (max-width: 600px) {
  /* ─── “Qui souhaitez-vous assurer ?” (client_type_field) ─── */
  .elementor-field-group-client_type_field .elementor-field-subgroup {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .elementor-field-group-client_type_field .elementor-field-option {
    /* Force chaque carte à 50%-gap et désactive son pointeur,
       pour que seul le <label> gère le tap */
    flex: 0 0 calc(50% - 4px) !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }
  .elementor-field-group-client_type_field .elementor-field-option label {
    /* Le <label> couvre toute la carte et capte le tap */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
  }
  .elementor-field-group-client_type_field .elementor-field-option
    input[type="radio"]:checked + label {
    /* Style “checked” appliqué immédiatement */
    background-color: #e5f7dc !important;
    border-color: #7ebc46 !important;
    color: #2a5d2a !important;
  }

  /* ─── “CMU” (elementor-field-group-cmu) ─── */
  .elementor-field-group-cmu .elementor-field-subgroup {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .elementor-field-group-cmu .elementor-field-option {
    /* 50%-gap, pointeur désactivé sur le span */
    flex: 0 0 calc(50% - 4px) !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }
  .elementor-field-group-cmu .elementor-field-option label {
    /* Le <label> prend tout l’espace et reçoit le tap */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
  }
  .elementor-field-group-cmu .elementor-field-option
    input[type="radio"]:checked + label {
    /* Style “checked” appliqué immédiatement */
    background-color: #e5f7dc !important;
    border-color: #7ebc46 !important;
    color: #2a5d2a !important;
  }
}

/* =========================================================================
   CHAMP “gender” (Homme / Femme) : affichage 2 colonnes sur tous les écrans
   ========================================================================= */

/* 1) On transforme le conteneur des deux options en grille 2 colonnes */
.elementor-field-group-gender .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 2) Chaque “carte” (<span class="elementor-field-option">) prend 100% de sa cellule */
.elementor-field-group-gender .elementor-field-option {
  box-sizing: border-box !important;
  background-color: transparent !important; /* on retire tout fond sur le span */
  border: none !important;                   /* on retire toute bordure sur le span */
  position: relative !important;
  cursor: pointer !important;
  overflow: hidden !important;
  min-height: 80px !important;               /* ajustez si nécessaire */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 3) On cache le bouton radio natif pour ne garder que le label cliquable */
.elementor-field-group-gender .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* 4) On fait du <label> la “vraie” carte avec bordure + fond + texte centré */
.elementor-field-group-gender .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;                    /* prend toute la largeur du span */
  height: 100% !important;                   /* prend toute la hauteur du span */
  padding: 16px 0 !important;                 /* espace vertical pour centrer */
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  background-color: #fff !important;          /* fond blanc par défaut */
  border: 1px solid #ddd !important;          /* bordure grise */
  border-radius: 8px !important;              /* coins arrondis */
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  box-sizing: border-box !important;
}

/* 5) Injection des icônes Homme / Femme avant le texte */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="homme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <circle cx='16' cy='8' r='6'/>\
  <path d='M10 20c0-3.314 2.686-6 6-6s6 2.686 6 6v2H10v-2z'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"][value="femme"] + label::before {
  content: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' stroke='%23333' stroke-width='2'>\
  <circle cx='16' cy='7' r='5'/>\
  <path d='M11 18c0-2.761 2.239-5 5-5s5 2.239 5 5v2H11v-2z'/>\
  <path d='M14 20v8M18 20v8' stroke='%23333' stroke-width='2' stroke-linecap='round'/>\
</svg>");
  display: block !important;
  margin-bottom: 8px !important;
  width: 32px !important;
  height: 32px !important;
}

/* 6) Hover sur carte non sélectionnée */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"] + label:hover {
  border-color: #bbb !important;              /* gris moyen */
  background-color: #fafafa !important;       /* gris très clair */
}

/* 7) État “checked” : dès que l’input est coché, on applique le style vert */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:checked + label {
  background-color: #b8d986 !important;       /* vert clair */
  border-color: #7ebc46 !important;           /* vert moyen */
  color: #fff !important;                     /* texte blanc */
}

/* 8) Focus clavier (outline bien à l’intérieur) */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: -2px !important;            /* ramène l’outline à l’intérieur de la bordure */
}

/* 9) S’assurer que le span parent masque tout débordement (pas de trace d’outline verte en trop) */
.elementor-field-group-gender .elementor-field-option {
  overflow: hidden !important;
}

/* =========================================================================
   AJUSTEMENT POUR MOBILE (< 600px) : on conserve 2 colonnes
   ========================================================================= */
@media (max-width: 600px) {
  /* On garde exactement la même grille 2 colonnes sur mobile */
  .elementor-field-group-gender .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  /* Chaque carte reste à 100% de sa cellule */
  .elementor-field-group-gender .elementor-field-option {
    min-height: 70px !important;  /* si vous voulez compact : réduisez la hauteur */
  }
}

/* =========================================================================
   STYLE DES CARTES POUR LE CHAMP “assur” (Êtes-vous déjà assuré ?)
   ID = assur → classe = elementor-field-group-assur
   ========================================================================= */
/* 1) Conteneur du champ “assur” */
.elementor-field-group-assur {
  margin-bottom: 24px;
}
.elementor-field-group-assur .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 2) Transforme chaque option en carte 50% – gap/2 */
.elementor-field-group-assur .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important;
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  min-height: 80px !important;
}

/* 3) Cache le bouton radio natif */
.elementor-field-group-assur .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 4) Label = surface cliquable */
.elementor-field-group-assur .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 16px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  transition: color 0.2s ease !important;
}

/* 5) Check / Uncheck emojis avant le texte */
/* 5.1) “Oui” = première option */
.elementor-field-group-assur .elementor-field-option:nth-child(1) label::before {
  content: "✔" !important;
  display: block !important;
  font-size: 32px !important;
  color: #7ebc46 !important;
  margin-bottom: 12px !important;
}
/* 5.2) “Non” = deuxième option */
.elementor-field-group-assur .elementor-field-option:nth-child(2) label::before {
  content: "✖" !important;
  display: block !important;
  font-size: 32px !important;
  color: #d9534f !important;
  margin-bottom: 12px !important;
}

/* 6) Style quand une carte est sélectionnée */
/* 6.1) Fond + bord vert, texte vert foncé */
.elementor-field-group-assur .elementor-field-option input[name="form_fields[assur]"]:checked + label {
  background-color: #e5f7dc !important;
  border-color: #7ebc46 !important;
  color: #2a5d2a !important;
}
/* 6.2) Coche en haut à droite */
.elementor-field-group-assur .elementor-field-option input[name="form_fields[assur]"]:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #2a5d2a;
}

/* 7) Hover et focus clavier */
.elementor-field-group-assur .elementor-field-option input[type="radio"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
}
.elementor-field-group-assur .elementor-field-option input[type="radio"]:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}

/* 8) Responsive (<600px) : 2 cartes par ligne */
@media (max-width: 600px) {
  .elementor-field-group-assur .elementor-field-option {
    flex: 0 0 calc(50% - 8px) !important;
    width: auto !important;
  }
}


/* =========================================================================
   CHAMP “Régime social” → CARTES CLIQUABLES
   ID = social_regime → classe générée = elementor-field-group-social_regime
   ========================================================================= */

/* 1) Conteneur principal */
.elementor-field-group-social_regime {
  margin-bottom: 24px;
}

/* 2) Disposition en deux colonnes sur desktop, wrap sur mobile */
.elementor-field-group-social_regime .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 3) Chaque option devient une « carte » */
.elementor-field-group-social_regime .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important; /* 2 par ligne, 16px de gap total */
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  display: block !important;
  min-height: 80px !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

/* 4) Mobile (<600px) : deux colonnes également */
@media (max-width: 600px) {
  .elementor-field-group-social_regime .elementor-field-option {
    flex: 0 0 calc(50% - 8px) !important;
    width: auto !important;
  }
}

/* 5) Cacher le bouton radio natif */
.elementor-field-group-social_regime .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* 6) Le <label> devient la surface cliquable et prend toute la carte */
.elementor-field-group-social_regime .elementor-field-option label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 16px 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* 7) Injecter un émoji icône avant le texte via ::before */
.elementor-field-group-social_regime .elementor-field-option:nth-child(1) input[value="Général (salarié ou retraité)"] + label::before {
  content: "👨‍💼";
}
.elementor-field-group-social_regime .elementor-field-option:nth-child(2) input[value="Travailleur Non Salarié (TNS)"] + label::before {
  content: "💼";
}
.elementor-field-group-social_regime .elementor-field-option:nth-child(3) input[value="Alsace Moselle"] + label::before {
  content: "🏥";
}
.elementor-field-group-social_regime .elementor-field-option:nth-child(4) input[value="Salarié Agricole"] + label::before {
  content: "🚜";
}

/* 7.1) Style des icônes */
.elementor-field-group-social_regime .elementor-field-option label::before {
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* 8) Hover : fond vert pâle, bordure verte */
.elementor-field-group-social_regime .elementor-field-option input + label:hover {
  border-color: #7ebc46 !important;      /* vert moyen */
  background-color: #e5f7dc !important;  /* vert pâle */
}

}

/* 9) Sélectionné : fond vert pâle, bordure verte, texte foncé ou blanc */
.elementor-field-group-social_regime .elementor-field-option input:checked + label {
  background-color: #e5f7dc !important;
  border-color: #7ebc46 !important;
  color: #2a5d2a !important;
}

/* 9.1) Coche en pseudo-élément */
.elementor-field-group-social_regime .elementor-field-option input:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #2a5d2a;
}

/* 10) Focus clavier (accessibilité) : outline discret */
.elementor-field-group-social_regime .elementor-field-option input:focus + label {
  outline: 2px dashed #7ebc46 !important;
  outline-offset: 2px !important;
}

/* ──────────────────────────────────────────
   Hover “vert” sur TOUTES les cartes du formulaire
─────────────────────────────────────────── */
.elementor-form .elementor-field-option input[type="radio"] + label:hover,
.elementor-form .elementor-field-option input[type="checkbox"] + label:hover {
  border-color: #7ebc46 !important;     /* vert moyen au survol */
  background-color: #e5f7dc !important; /* vert pâle au survol */
}

/* Désactive l’outline bleu sur les blocs HTML quand ils reçoivent le focus */
.elementor-field-type-html[tabindex],
.elementor-field-type-html[tabindex]:focus {
  outline: none !important;
  box-shadow: none !important;
}


input,
textarea,
select {
  font-size: 16px !important;
}/* End custom CSS */