.elementor-7944 .elementor-element.elementor-element-3bb3d17 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-7944 .elementor-element.elementor-element-3bb3d17 > .elementor-container{max-width:1400px;}.elementor-7944 .elementor-element.elementor-element-3bb3d17{border-style:solid;border-width:0px 0px 1px 0px;border-color:#EAEAEA;padding:05px 0px 05px 0px;}.elementor-7944 .elementor-element.elementor-element-3bb3d17, .elementor-7944 .elementor-element.elementor-element-3bb3d17 > .elementor-background-overlay{border-radius:0px 0px 0px 0px;}.elementor-bc-flex-widget .elementor-7944 .elementor-element.elementor-element-1a6d31e.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-7944 .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-7944 .elementor-element.elementor-element-05a3d04{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-7944 .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-7944 .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-7944 .elementor-element.elementor-element-bc76e54 > .elementor-widget-container{padding:0px 20px 0px 20px;}.elementor-7944 .elementor-element.elementor-element-bc76e54 img{width:100%;}.elementor-bc-flex-widget .elementor-7944 .elementor-element.elementor-element-114b8c5.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-7944 .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-7944 .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-7944 .elementor-element.elementor-element-9ea8a65 > .elementor-widget-container{margin:-15px 0px 10px 20px;}.elementor-7944 .elementor-element.elementor-element-1a3a16e:not(.elementor-motion-effects-element-type-background), .elementor-7944 .elementor-element.elementor-element-1a3a16e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-7944 .elementor-element.elementor-element-1a3a16e > .elementor-container{max-width:1300px;min-height:680px;}.elementor-7944 .elementor-element.elementor-element-1a3a16e{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:03% 25% 02% 25%;}.elementor-7944 .elementor-element.elementor-element-1a3a16e > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-7944 .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-7944 .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-7944 .elementor-element.elementor-element-7b6bd76 > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-button span{gap:10px;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-group{padding-right:calc( 13px/2 );padding-left:calc( 13px/2 );margin-bottom:22px;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-form-fields-wrapper{margin-left:calc( -13px/2 );margin-right:calc( -13px/2 );margin-bottom:-22px;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-labels-inline .elementor-field-group > label{padding-left:3px;}body:not(.rtl) .elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-labels-inline .elementor-field-group > label{padding-right:3px;}body .elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-labels-above .elementor-field-group > label{padding-bottom:3px;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-group > label, .elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-subgroup label{color:#000000;}.elementor-7944 .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-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-type-html{padding-bottom:0px;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-7944 .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-7944 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-next{background-color:#9563EB;color:#FFFFFF;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"]{background-color:#9563EB;color:#FFFFFF;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-previous{background-color:#F1F1F1;color:#A6A6A6;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-7944 .elementor-element.elementor-element-7b6bd76 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-7944 .elementor-element.elementor-element-aa60c3f:not(.elementor-motion-effects-element-type-background), .elementor-7944 .elementor-element.elementor-element-aa60c3f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F4F5;}.elementor-7944 .elementor-element.elementor-element-aa60c3f > .elementor-container{max-width:800px;}.elementor-7944 .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-7944 .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-7944 .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-7944 .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-7944 .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-7944 .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-7944 .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-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-40px/2);}.elementor-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-icon i{color:#B5B4B5;transition:color 0.3s;}.elementor-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-icon svg{fill:#B5B4B5;transition:fill 0.3s;}.elementor-7944 .elementor-element.elementor-element-dc5f78c{--e-icon-list-icon-size:28px;--icon-vertical-offset:0px;}.elementor-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7944 .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-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-text{color:#B5B4B5;transition:color 0.3s;}.elementor-7944 .elementor-element.elementor-element-9d4008c > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-7944 .elementor-element.elementor-element-9d4008c:not(.elementor-motion-effects-element-type-background), .elementor-7944 .elementor-element.elementor-element-9d4008c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#182C33;}.elementor-7944 .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-7944 .elementor-element.elementor-element-9d4008c > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-7944 .elementor-element.elementor-element-3239fc6.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-7944 .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-7944 .elementor-element.elementor-element-d2e63fa > .elementor-widget-container{margin:0px 0px -10px 0px;padding:0px 0px 0px 0px;}.elementor-7944 .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-7944 .elementor-element.elementor-element-7b6bd76 .elementor-field-group > label{font-size:14px;}.elementor-7944 .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-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7944 .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-7944 .elementor-element.elementor-element-d2e63fa{font-size:14px;}}@media(min-width:768px){.elementor-7944 .elementor-element.elementor-element-1a6d31e{width:22%;}.elementor-7944 .elementor-element.elementor-element-050118d{width:56%;}.elementor-7944 .elementor-element.elementor-element-114b8c5{width:21.332%;}}@media(max-width:767px){.elementor-7944 .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-7944 .elementor-element.elementor-element-bc76e54{--container-widget-width:70%;--container-widget-flex-grow:0;width:var( --container-widget-width, 70% );max-width:70%;}.elementor-7944 .elementor-element.elementor-element-d191ecd{width:var( --container-widget-width, 56px );max-width:56px;--container-widget-width:56px;--container-widget-flex-grow:0;}.elementor-7944 .elementor-element.elementor-element-d191ecd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7944 .elementor-element.elementor-element-1a3a16e > .elementor-container{max-width:579px;}.elementor-7944 .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-7944 .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-7944 .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-7944 .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-7944 .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-7944 .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-7944 .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-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-30px/2);}.elementor-7944 .elementor-element.elementor-element-dc5f78c{--e-icon-list-icon-size:13px;}.elementor-7944 .elementor-element.elementor-element-dc5f78c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7944 .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;
}


/* =========================================================================
   DESIGN UNIFIÉ POUR LES CHAMPS “gender” ET “civ_c”
   ========================================================================= */
.elementor-field-group-gender,
.elementor-field-group-civ_c {
  margin-bottom: 24px;
}

/* Conteneur des options : deux cartes côte à côte */
.elementor-field-group-gender .elementor-field-subgroup,
.elementor-field-group-civ_c .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Chaque carte fait 50% – gap/2 */
.elementor-field-group-gender .elementor-field-option,
.elementor-field-group-civ_c .elementor-field-option {
  flex: 0 0 calc(50% - 4px) !important;
  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;
  overflow: hidden !important;
}

/* Empilement sur mobile */
@media (max-width: 600px) {
  .elementor-field-group-gender .elementor-field-option,
  .elementor-field-group-civ_c .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* Cacher les radios natifs */
.elementor-field-group-gender .elementor-field-option input[type="radio"],
.elementor-field-group-civ_c .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* Transformer le label en carte */
.elementor-field-group-gender .elementor-field-option label,
.elementor-field-group-civ_c .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;
}

/* Icônes pour les genres — uniquement sur le champ principal */
.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;
}

/* Hover état non sélectionné */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"] + label:hover,
.elementor-field-group-civ_c .elementor-field-option input[name="form_fields[civ_c]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}

/* État sélectionné */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:checked + label,
.elementor-field-group-civ_c .elementor-field-option input[name="form_fields[civ_c]"]:checked + label {
  background-color: #b8d986 !important;
  border-color: #7ebc46 !important;
  color: #fff !important;
  border-radius: 8px !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;
}





/* ------------------------------------------------------------
   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;
}



/* =======================================================================
   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;
}


@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;
  }
}



/* =========================================================================
   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 */
/* Start custom CSS for html, class: .elementor-element-c9fa9c4 */#tel-info-popup {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

#tel-info-popup .popup-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#tel-info-popup .popup-content {
  background: #fff;
  padding: 20px 25px;
  max-width: 420px;
  border-radius: 10px;
  text-align: left;
  font-size: 15px;
  line-height: 1.6;
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
}

#tel-info-popup h3 {
  margin-top: 0;
  color: #222;
}

#tel-info-popup button {
  margin-top: 15px;
  padding: 8px 16px;
  background-color: #9563ea;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}/* End custom CSS */