.elementor-5200 .elementor-element.elementor-element-feb78c6:not(.elementor-motion-effects-element-type-background), .elementor-5200 .elementor-element.elementor-element-feb78c6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-5200 .elementor-element.elementor-element-feb78c6 > .elementor-background-overlay{background-color:var( --e-global-color-primary );background-image:url("https://27digi.com/wp-content/uploads/2026/02/About-digital-services.jpg");background-position:center center;background-size:cover;opacity:0.42;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-5200 .elementor-element.elementor-element-feb78c6 > .elementor-container{max-width:1440px;}.elementor-5200 .elementor-element.elementor-element-feb78c6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-100px;margin-bottom:0px;padding:100px 50px 50px 50px;}.elementor-bc-flex-widget .elementor-5200 .elementor-element.elementor-element-6ef47ab7.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-5200 .elementor-element.elementor-element-6ef47ab7.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-5200 .elementor-element.elementor-element-6ef47ab7 > .elementor-element-populated{padding:0px 30px 0px 0px;}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(20px/2);}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(20px/2);}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(20px/2);}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-20px/2);}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-20px/2);}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-icon i{color:var( --e-global-color-4da9a17 );transition:color 0.3s;}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-icon svg{fill:var( --e-global-color-4da9a17 );transition:fill 0.3s;}.elementor-5200 .elementor-element.elementor-element-7d370598{--e-icon-list-icon-size:20px;--icon-vertical-offset:0px;}.elementor-5200 .elementor-element.elementor-element-7d370598 .elementor-icon-list-text{color:var( --e-global-color-aaa1eb1 );transition:color 0.3s;}.elementor-5200 .elementor-element.elementor-element-69e8c25a .elementskit-section-title-wraper .elementskit-section-title{color:var( --e-global-color-aaa1eb1 );margin:0px 0px 0px 0px;font-family:var( --e-global-typography-db48b8b-font-family ), Sans-serif;font-size:var( --e-global-typography-db48b8b-font-size );font-weight:var( --e-global-typography-db48b8b-font-weight );line-height:var( --e-global-typography-db48b8b-line-height );}.elementor-5200 .elementor-element.elementor-element-69e8c25a .elementskit-section-title-wraper .elementskit-section-title > span{color:var( --e-global-color-4da9a17 );}.elementor-5200 .elementor-element.elementor-element-69e8c25a .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:var( --e-global-color-4da9a17 );}.elementor-5200 .elementor-element.elementor-element-16e3f8bf{color:var( --e-global-color-aaa1eb1 );}.elementor-5200 .elementor-element.elementor-element-429979f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--padding-top:100px;--padding-bottom:100px;--padding-left:50px;--padding-right:50px;}.elementor-5200 .elementor-element.elementor-element-2faa0f7a{--display:flex;}.elementor-5200 .elementor-element.elementor-element-7a1b6d17{padding:0px 15px 0px 15px;text-align:center;}.elementor-5200 .elementor-element.elementor-element-77f9f5f0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 015px 0px 015px;text-align:center;}.elementor-5200 .elementor-element.elementor-element-3fe8496b{--display:flex;}.elementor-5200 .elementor-element.elementor-element-29c14c8c{background-color:var( --e-global-color-6b0ce64 );padding:20px 20px 20px 20px;border-radius:15px 15px 15px 15px;}.elementor-5200 .elementor-element.elementor-element-56b639f2{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-gap:31px;--n-tabs-title-border-radius:50px 50px 50px 50px;--n-tabs-title-color:var( --e-global-color-aaa1eb1 );}.elementor-5200 .elementor-element.elementor-element-56b639f2 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-primary );}.elementor-5200 .elementor-element.elementor-element-56b639f2.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );}.elementor-5200 .elementor-element.elementor-element-56b639f2.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-5200 .elementor-element.elementor-element-56b639f2.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );}.elementor-5200 .elementor-element.elementor-element-f28d2cb{--display:flex;}.elementor-5200 .elementor-element.elementor-element-758ce5b{background-color:transparent;padding:30px 30px 30px 30px;background-image:radial-gradient(at bottom right, var( --e-global-color-6b0ce64 ) 0%, var( --e-global-color-6b0ce64 ) 100%);border-radius:15px 15px 15px 15px;--e-form-steps-indicators-spacing:19px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-secondary );--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-primary-color:var( --e-global-color-9c764db );--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group{padding-right:calc( 24px/2 );padding-left:calc( 24px/2 );margin-bottom:23px;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-form-fields-wrapper{margin-left:calc( -24px/2 );margin-right:calc( -24px/2 );margin-bottom:-23px;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group.recaptcha_v3-bottomleft, .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-labels-inline .elementor-field-group > label{padding-left:10px;}body:not(.rtl) .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-labels-inline .elementor-field-group > label{padding-right:10px;}body .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-labels-above .elementor-field-group > label{padding-bottom:10px;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-html{padding-bottom:0px;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-button[type="submit"]{color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-5200 .elementor-element.elementor-element-758ce5b .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-5200 .elementor-element.elementor-element-10d1f31{--display:flex;}.elementor-5200 .elementor-element.elementor-element-6e208ef{background-color:var( --e-global-color-6b0ce64 );padding:20px 20px 20px 20px;border-radius:15px 15px 15px 15px;}.elementor-5200 .elementor-element.elementor-element-663893b{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-gap:31px;--n-tabs-title-border-radius:50px 50px 50px 50px;--n-tabs-title-color:var( --e-global-color-aaa1eb1 );}.elementor-5200 .elementor-element.elementor-element-663893b > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-primary );}.elementor-5200 .elementor-element.elementor-element-663893b.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );}.elementor-5200 .elementor-element.elementor-element-663893b.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-5200 .elementor-element.elementor-element-663893b.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );}.elementor-5200 .elementor-element.elementor-element-4976e535{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-5200 .elementor-element.elementor-element-1bbbb6cb{--display:flex;--border-radius:30px 30px 30px 30px;box-shadow:0px 10px 25px 0px rgba(0, 0, 0, 0.1);--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}.elementor-5200 .elementor-element.elementor-element-1bbbb6cb:not(.elementor-motion-effects-element-type-background), .elementor-5200 .elementor-element.elementor-element-1bbbb6cb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-5200 .elementor-element.elementor-element-1c12ea91 .elementor-heading-title{font-family:var( --e-global-typography-3958d75-font-family ), Sans-serif;font-size:var( --e-global-typography-3958d75-font-size );font-weight:var( --e-global-typography-3958d75-font-weight );text-transform:var( --e-global-typography-3958d75-text-transform );line-height:var( --e-global-typography-3958d75-line-height );letter-spacing:var( --e-global-typography-3958d75-letter-spacing );color:var( --e-global-color-secondary );}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(15px/2);}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(15px/2);}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(15px/2);}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-15px/2);}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-15px/2);}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-5200 .elementor-element.elementor-element-3d64e787{--e-icon-list-icon-size:20px;--icon-vertical-offset:0px;}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-icon{padding-inline-end:10px;}.elementor-5200 .elementor-element.elementor-element-3d64e787 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5200 .elementor-element.elementor-element-17f2d3ae{--display:flex;--border-radius:30px 30px 30px 30px;box-shadow:0px 10px 25px 0px rgba(0, 0, 0, 0.1);--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}.elementor-5200 .elementor-element.elementor-element-17f2d3ae:not(.elementor-motion-effects-element-type-background), .elementor-5200 .elementor-element.elementor-element-17f2d3ae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-5200 .elementor-element.elementor-element-50dbc580 .elementor-heading-title{color:var( --e-global-color-aaa1eb1 );}.elementor-5200 .elementor-element.elementor-element-28a2456d{color:var( --e-global-color-6b0ce64 );}.elementor-5200 .elementor-element.elementor-element-6cd0fc77 .elementor-heading-title{color:var( --e-global-color-aaa1eb1 );}.elementor-5200 .elementor-element.elementor-element-7a2c86eb{color:var( --e-global-color-6b0ce64 );}.elementor-5200 .elementor-element.elementor-element-5f225f82 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-5200 .elementor-element.elementor-element-5f225f82:not(.elementor-motion-effects-element-type-background), .elementor-5200 .elementor-element.elementor-element-5f225f82 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:radial-gradient(at bottom center, var( --e-global-color-4da9a17 ) 0%, var( --e-global-color-6b0ce64 ) 77%);}.elementor-5200 .elementor-element.elementor-element-5f225f82 > .elementor-container{min-height:250px;}.elementor-5200 .elementor-element.elementor-element-5f225f82{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:50px 20px 50px 20px;}.elementor-5200 .elementor-element.elementor-element-5f225f82 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-5200 .elementor-element.elementor-element-3464fee1.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-5200 .elementor-element.elementor-element-3464fee1.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-5200 .elementor-element.elementor-element-3464fee1.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-5200 .elementor-element.elementor-element-776d6548 img{height:70px;object-fit:contain;object-position:center center;}.elementor-5200 .elementor-element.elementor-element-20c0868d{width:var( --container-widget-width, 801px );max-width:801px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;--container-widget-width:801px;--container-widget-flex-grow:0;text-align:center;}.elementor-5200 .elementor-element.elementor-element-20c0868d .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-5200 .elementor-element.elementor-element-39bbf894{text-align:center;}.elementor-5200 .elementor-element.elementor-element-39bbf894 .elementor-heading-title{font-family:var( --e-global-typography-3be2057-font-family ), Sans-serif;font-size:var( --e-global-typography-3be2057-font-size );font-weight:var( --e-global-typography-3be2057-font-weight );font-style:var( --e-global-typography-3be2057-font-style );line-height:var( --e-global-typography-3be2057-line-height );word-spacing:var( --e-global-typography-3be2057-word-spacing );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-5200 .elementor-element.elementor-element-6ef47ab7{width:48.378%;}.elementor-5200 .elementor-element.elementor-element-1094dde{width:51.353%;}}@media(max-width:1024px) and (min-width:768px){.elementor-5200 .elementor-element.elementor-element-6ef47ab7{width:100%;}}@media(max-width:1024px){.elementor-5200 .elementor-element.elementor-element-feb78c6{padding:150px 15px 50px 15px;}.elementor-5200 .elementor-element.elementor-element-6ef47ab7 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-5200 .elementor-element.elementor-element-69e8c25a .elementskit-section-title-wraper .elementskit-section-title{font-size:var( --e-global-typography-db48b8b-font-size );line-height:var( --e-global-typography-db48b8b-line-height );}.elementor-5200 .elementor-element.elementor-element-429979f{--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-5200 .elementor-element.elementor-element-1c12ea91 .elementor-heading-title{font-size:var( --e-global-typography-3958d75-font-size );line-height:var( --e-global-typography-3958d75-line-height );letter-spacing:var( --e-global-typography-3958d75-letter-spacing );}.elementor-5200 .elementor-element.elementor-element-39bbf894 .elementor-heading-title{font-size:var( --e-global-typography-3be2057-font-size );line-height:var( --e-global-typography-3be2057-line-height );word-spacing:var( --e-global-typography-3be2057-word-spacing );}}@media(max-width:767px){.elementor-5200 .elementor-element.elementor-element-69e8c25a .elementskit-section-title-wraper .elementskit-section-title{font-size:var( --e-global-typography-db48b8b-font-size );line-height:var( --e-global-typography-db48b8b-line-height );}.elementor-5200 .elementor-element.elementor-element-2faa0f7a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5200 .elementor-element.elementor-element-7a1b6d17{text-align:center;}.elementor-5200 .elementor-element.elementor-element-77f9f5f0{text-align:center;}.elementor-5200 .elementor-element.elementor-element-29c14c8c{padding:5px 5px 5px 5px;}.elementor-5200 .elementor-element.elementor-element-758ce5b{padding:15px 15px 15px 15px;}.elementor-5200 .elementor-element.elementor-element-6e208ef{padding:5px 5px 5px 5px;}.elementor-5200 .elementor-element.elementor-element-1c12ea91 .elementor-heading-title{font-size:var( --e-global-typography-3958d75-font-size );line-height:var( --e-global-typography-3958d75-line-height );letter-spacing:var( --e-global-typography-3958d75-letter-spacing );}.elementor-5200 .elementor-element.elementor-element-5f225f82 > .elementor-container{min-height:131px;}.elementor-5200 .elementor-element.elementor-element-5f225f82{padding:40px 20px 40px 20px;}.elementor-5200 .elementor-element.elementor-element-39bbf894 .elementor-heading-title{font-size:var( --e-global-typography-3be2057-font-size );line-height:var( --e-global-typography-3be2057-line-height );word-spacing:var( --e-global-typography-3be2057-word-spacing );}}/* Start custom CSS for form, class: .elementor-element-758ce5b *//* Target the container for radio button options */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-subgroup {
    display: grid; /* Enable CSS Grid layout */
    grid-template-columns: repeat(3, 1fr); /* Create two columns of equal width */
    gap: 15px; /* Space between grid items (options) */
    /* Adjust gap as needed */
}

/* Ensure each radio option takes up its grid space */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-option {
    display: flex; /* Use flexbox to align the radio input and its label */
    align-items: center; /* Vertically center the input and label */
    /* Remove any conflicting width settings if you had them */
    width: auto; /* Let grid manage the width */
}

/* Target the container for checkbox options */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid; /* Enable CSS Grid layout */
    grid-template-columns: repeat(3, 1fr); /* Create two columns of equal width */
    gap: 15px; /* Space between grid items (options) */
    /* Adjust gap as needed */
}

/* Ensure each checkbox option takes up its grid space */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-option {
    display: flex; /* Use flexbox to align the checkbox input and its label */
    align-items: center; /* Vertically center the input and label */
    /* Remove any conflicting width settings if you had them */
    width: auto; /* Let grid manage the width */
}

/* Optional: Make the radio/checkbox input itself slightly smaller if needed */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"],
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"] {
    flex-shrink: 0; /* Prevent the input from shrinking */
    /* If you had custom width/height for the actual radio/checkbox, keep it here */
    /* Example from previous response: */
    /* width: 20px; */
    /* height: 20px; */
}

/* Optional: Adjust label spacing if needed */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option label {
    margin-left: 8px; /* Space between the input and its label text */
}

/* --- Responsive Adjustments (Optional but Recommended) --- */
/* On smaller screens (e.g., mobile), switch back to a single column */
@media (max-width: 767px) { /* Adjust breakpoint as needed */
    .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-subgroup,
    .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-subgroup {
        grid-template-columns: 1fr; /* One column on small screens */
        gap: 10px; /* Smaller gap for mobile */
    }
}






/* Hide ALL steps by default */
.e-form__indicators__indicator {
    display: none;
}

/* Show ONLY the current active step */
.e-form__indicators__indicator--state-active {
    display: flex !important;
}

/* Show ONLY the next step after the current active one */
.e-form__indicators__indicator--state-active + .e-form__indicators__indicator__separator + .e-form__indicators__indicator {
    display: flex !important;
}

/* Optional: Show the separator between current and next step */
.e-form__indicators__indicator--state-active + .e-form__indicators__indicator__separator {
    display: block;
}

/* Hide all separators by default */
.e-form__indicators__indicator__separator {
    display: none;
}

/* Make step titles text full width in one line */
.e-form__indicators__indicator .e-form__indicators__indicator__label {
    white-space: nowrap;
    width: 100%;
    text-align: center;
    font-size: 14px; /* adjust as needed */
}













/* --- ENHANCED STYLING FOR RADIO BUTTONS --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"] {
    appearance: none; /* Hide default browser styling */
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none; /* For Firefox */
    width: 22px; /* Slightly larger size */
    height: 22px;
    border: 2px solid #a0a0a0; /* Softer grey border for unchecked state */
    border-radius: 50%; /* Perfect circle */
    cursor: pointer;
    display: inline-block;
    position: relative;
    flex-shrink: 0; /* Prevent shrinking */
    margin-right: 10px; /* Space between radio and label */
    outline: none; /* Remove default outline */
    background-color: #f9f9f9; /* Light background for unchecked state */
    transition: all 0.2s ease-in-out; /* Smooth transitions for all properties */
}

/* Hover state for radio buttons */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:not(:checked):hover {
    border-color: #007bff; /* Primary blue on hover */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2); /* Subtle glow on hover */
}

/* Checked state for radio buttons */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:checked {
    border-color: #007bff; /* Primary blue border when checked */
    background-color: #007bff; /* Primary blue fill when checked */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.5); /* Glowing effect when checked */
}

/* Inner dot for checked radio button */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:checked::before {
    content: '';
    display: block;
    width: 8px; /* Size of the inner dot */
    height: 8px;
    background-color: #ffffff; /* White dot */
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Center the dot */
    transition: transform 0.2s ease-in-out; /* Smooth transition for dot */
}

/* Focus state for radio buttons (accessibility) */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:focus {
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Stronger focus indicator */
}

/* --- ENHANCED STYLING FOR CHECKBOXES --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"] {
    appearance: none; /* Hide default browser styling */
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none; /* For Firefox */
    width: 22px; /* Slightly larger size */
    height: 22px;
    border: 2px solid #a0a0a0; /* Softer grey border for unchecked state */
    border-radius: 4px; /* Slightly rounded corners */
    cursor: pointer;
    display: inline-block;
    position: relative;
    flex-shrink: 0; /* Prevent shrinking */
    margin-right: 10px; /* Space between checkbox and label */
    outline: none; /* Remove default outline */
    background-color: #f9f9f9; /* Light background for unchecked state */
    transition: all 0.2s ease-in-out; /* Smooth transitions for all properties */
}

/* Hover state for checkboxes */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:not(:checked):hover {
    border-color: #007bff; /* Primary blue on hover */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2); /* Subtle glow on hover */
}

/* Checked state for checkboxes */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:checked {
    background-color: #007bff; /* Primary blue background when checked */
    border-color: #007bff; /* Primary blue border when checked */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.5); /* Glowing effect when checked */
}

/* Checkmark for checked checkbox */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:checked::before {
    content: '\2713'; /* Unicode checkmark character */
    display: block;
    color: #ffffff; /* White checkmark */
    font-size: 14px; /* Size of the checkmark */
    line-height: 1; /* Adjust line-height to center vertically */
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Center the checkmark */
    transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out; /* Smooth transition */
    opacity: 1;
}

/* Hide checkmark when not checked */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:not(:checked)::before {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5); /* Scale down when hidden */
}

/* Focus state for checkboxes (accessibility) */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:focus {
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Stronger focus indicator */
}

/* --- General Label Styling (Apply to both radio and checkbox labels) --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option label {
    font-size: 16px; /* Consistent font size */
    color: #444; /* Slightly darker text color */
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    line-height: 1.4; /* Improve readability */
}

/* --- NEW: STYLING FOR TEXT INPUTS, TEXTAREAS, AND SELECT FIELDS --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-select,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea {
    width: 100%; /* Ensure full width */
    padding: 12px 15px; /* Comfortable padding */
    border: 2px solid #d0d0d0; /* Light grey border */
    border-radius: 8px; /* Rounded corners */
    background-color: #fcfcfc; /* Very light background */
    font-size: 16px; /* Consistent font size */
    color: #333; /* Dark text color */
    line-height: 1.5;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; /* Smooth transitions */
    outline: none; /* Remove default outline */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

/* Focus state for text inputs, textareas, and select fields */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual:focus,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-select:focus,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea:focus {
    border-color: #007bff; /* Primary blue border on focus */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Glowing effect on focus */
}

/* Placeholder text styling */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual::placeholder,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea::placeholder {
    color: #a0a0a0; /* Lighter color for placeholder */
    opacity: 1; /* Ensure full opacity across browsers */
}

/* Specific styling for select dropdowns for consistent appearance */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-field-select {
    -webkit-appearance: none; /* Remove default arrow on WebKit browsers */
    -moz-appearance: none; /* Remove default arrow on Firefox */
    appearance: none; /* Remove default arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333333'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); /* Custom SVG arrow */
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
    cursor: pointer;
}

/* --- NEW: STYLING FOR FILE UPLOAD FIELDS --- */
/* Elementor's file upload field often uses a custom structure, so we target its components */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file {
    display: flex; /* Use flexbox for layout */
    align-items: center;
    border: 2px solid #d0d0d0; /* Consistent border */
    border-radius: 8px; /* Consistent rounded corners */
    background-color: #fcfcfc; /* Consistent background */
    padding: 8px 15px; /* Adjust padding */
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file:focus-within {
    border-color: #007bff;
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Glowing effect on focus */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file input[type="file"] {
    opacity: 0; /* Hide the default file input */
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-button {
    /* Style the actual "Choose File" button */
    background-color: #007bff; /* Primary blue button */
    color: #ffffff;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s ease-in-out;
    border: none; /* Remove default button border */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-button:hover {
    background-color: #0056b3; /* Darker blue on hover */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-field-file-name {
    /* Style the text displaying the chosen file name */
    margin-left: 10px;
    font-size: 15px;
    color: #555;
    flex-grow: 1; /* Allow file name to take available space */
    white-space: nowrap; /* Prevent text wrapping */
    overflow: hidden; /* Hide overflow */
    text-overflow: ellipsis; /* Add ellipsis for long names */
}

/* --- General Input Label Styling (for all fields) --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-field-label {
    font-size: 16px;
    color: #333;
    margin-bottom: 8px; /* Space between label and input */
    display: block; /* Ensure label is on its own line */
    font-weight: 500; /* Slightly bolder labels */
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-758ce5b *//* Target the container for radio button options */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-subgroup {
    display: grid; /* Enable CSS Grid layout */
    grid-template-columns: repeat(3, 1fr); /* Create two columns of equal width */
    gap: 15px; /* Space between grid items (options) */
    /* Adjust gap as needed */
}

/* Ensure each radio option takes up its grid space */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-option {
    display: flex; /* Use flexbox to align the radio input and its label */
    align-items: center; /* Vertically center the input and label */
    /* Remove any conflicting width settings if you had them */
    width: auto; /* Let grid manage the width */
}

/* Target the container for checkbox options */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid; /* Enable CSS Grid layout */
    grid-template-columns: repeat(3, 1fr); /* Create two columns of equal width */
    gap: 15px; /* Space between grid items (options) */
    /* Adjust gap as needed */
}

/* Ensure each checkbox option takes up its grid space */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-option {
    display: flex; /* Use flexbox to align the checkbox input and its label */
    align-items: center; /* Vertically center the input and label */
    /* Remove any conflicting width settings if you had them */
    width: auto; /* Let grid manage the width */
}

/* Optional: Make the radio/checkbox input itself slightly smaller if needed */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"],
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"] {
    flex-shrink: 0; /* Prevent the input from shrinking */
    /* If you had custom width/height for the actual radio/checkbox, keep it here */
    /* Example from previous response: */
    /* width: 20px; */
    /* height: 20px; */
}

/* Optional: Adjust label spacing if needed */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option label {
    margin-left: 8px; /* Space between the input and its label text */
}

/* --- Responsive Adjustments (Optional but Recommended) --- */
/* On smaller screens (e.g., mobile), switch back to a single column */
@media (max-width: 767px) { /* Adjust breakpoint as needed */
    .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-subgroup,
    .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-subgroup {
        grid-template-columns: 1fr; /* One column on small screens */
        gap: 10px; /* Smaller gap for mobile */
    }
}






/* Hide ALL steps by default */
.e-form__indicators__indicator {
    display: none;
}

/* Show ONLY the current active step */
.e-form__indicators__indicator--state-active {
    display: flex !important;
}

/* Show ONLY the next step after the current active one */
.e-form__indicators__indicator--state-active + .e-form__indicators__indicator__separator + .e-form__indicators__indicator {
    display: flex !important;
}

/* Optional: Show the separator between current and next step */
.e-form__indicators__indicator--state-active + .e-form__indicators__indicator__separator {
    display: block;
}

/* Hide all separators by default */
.e-form__indicators__indicator__separator {
    display: none;
}

/* Make step titles text full width in one line */
.e-form__indicators__indicator .e-form__indicators__indicator__label {
    white-space: nowrap;
    width: 100%;
    text-align: center;
    font-size: 14px; /* adjust as needed */
}













/* --- ENHANCED STYLING FOR RADIO BUTTONS --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"] {
    appearance: none; /* Hide default browser styling */
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none; /* For Firefox */
    width: 22px; /* Slightly larger size */
    height: 22px;
    border: 2px solid #a0a0a0; /* Softer grey border for unchecked state */
    border-radius: 50%; /* Perfect circle */
    cursor: pointer;
    display: inline-block;
    position: relative;
    flex-shrink: 0; /* Prevent shrinking */
    margin-right: 10px; /* Space between radio and label */
    outline: none; /* Remove default outline */
    background-color: #f9f9f9; /* Light background for unchecked state */
    transition: all 0.2s ease-in-out; /* Smooth transitions for all properties */
}

/* Hover state for radio buttons */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:not(:checked):hover {
    border-color: #007bff; /* Primary blue on hover */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2); /* Subtle glow on hover */
}

/* Checked state for radio buttons */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:checked {
    border-color: #007bff; /* Primary blue border when checked */
    background-color: #007bff; /* Primary blue fill when checked */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.5); /* Glowing effect when checked */
}

/* Inner dot for checked radio button */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:checked::before {
    content: '';
    display: block;
    width: 8px; /* Size of the inner dot */
    height: 8px;
    background-color: #ffffff; /* White dot */
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Center the dot */
    transition: transform 0.2s ease-in-out; /* Smooth transition for dot */
}

/* Focus state for radio buttons (accessibility) */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:focus {
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Stronger focus indicator */
}

/* --- ENHANCED STYLING FOR CHECKBOXES --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"] {
    appearance: none; /* Hide default browser styling */
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none; /* For Firefox */
    width: 22px; /* Slightly larger size */
    height: 22px;
    border: 2px solid #a0a0a0; /* Softer grey border for unchecked state */
    border-radius: 4px; /* Slightly rounded corners */
    cursor: pointer;
    display: inline-block;
    position: relative;
    flex-shrink: 0; /* Prevent shrinking */
    margin-right: 10px; /* Space between checkbox and label */
    outline: none; /* Remove default outline */
    background-color: #f9f9f9; /* Light background for unchecked state */
    transition: all 0.2s ease-in-out; /* Smooth transitions for all properties */
}

/* Hover state for checkboxes */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:not(:checked):hover {
    border-color: #007bff; /* Primary blue on hover */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2); /* Subtle glow on hover */
}

/* Checked state for checkboxes */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:checked {
    background-color: #007bff; /* Primary blue background when checked */
    border-color: #007bff; /* Primary blue border when checked */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.5); /* Glowing effect when checked */
}

/* Checkmark for checked checkbox */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:checked::before {
    content: '\2713'; /* Unicode checkmark character */
    display: block;
    color: #ffffff; /* White checkmark */
    font-size: 14px; /* Size of the checkmark */
    line-height: 1; /* Adjust line-height to center vertically */
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Center the checkmark */
    transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out; /* Smooth transition */
    opacity: 1;
}

/* Hide checkmark when not checked */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:not(:checked)::before {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5); /* Scale down when hidden */
}

/* Focus state for checkboxes (accessibility) */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:focus {
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Stronger focus indicator */
}

/* --- General Label Styling (Apply to both radio and checkbox labels) --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option label {
    font-size: 16px; /* Consistent font size */
    color: #444; /* Slightly darker text color */
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    line-height: 1.4; /* Improve readability */
}

/* --- NEW: STYLING FOR TEXT INPUTS, TEXTAREAS, AND SELECT FIELDS --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-select,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea {
    width: 100%; /* Ensure full width */
    padding: 12px 15px; /* Comfortable padding */
    border: 2px solid #d0d0d0; /* Light grey border */
    border-radius: 8px; /* Rounded corners */
    background-color: #fcfcfc; /* Very light background */
    font-size: 16px; /* Consistent font size */
    color: #333; /* Dark text color */
    line-height: 1.5;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; /* Smooth transitions */
    outline: none; /* Remove default outline */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

/* Focus state for text inputs, textareas, and select fields */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual:focus,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-select:focus,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea:focus {
    border-color: #007bff; /* Primary blue border on focus */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Glowing effect on focus */
}

/* Placeholder text styling */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual::placeholder,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea::placeholder {
    color: #a0a0a0; /* Lighter color for placeholder */
    opacity: 1; /* Ensure full opacity across browsers */
}

/* Specific styling for select dropdowns for consistent appearance */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-field-select {
    -webkit-appearance: none; /* Remove default arrow on WebKit browsers */
    -moz-appearance: none; /* Remove default arrow on Firefox */
    appearance: none; /* Remove default arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333333'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); /* Custom SVG arrow */
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
    cursor: pointer;
}

/* --- NEW: STYLING FOR FILE UPLOAD FIELDS --- */
/* Elementor's file upload field often uses a custom structure, so we target its components */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file {
    display: flex; /* Use flexbox for layout */
    align-items: center;
    border: 2px solid #d0d0d0; /* Consistent border */
    border-radius: 8px; /* Consistent rounded corners */
    background-color: #fcfcfc; /* Consistent background */
    padding: 8px 15px; /* Adjust padding */
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file:focus-within {
    border-color: #007bff;
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Glowing effect on focus */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file input[type="file"] {
    opacity: 0; /* Hide the default file input */
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-button {
    /* Style the actual "Choose File" button */
    background-color: #007bff; /* Primary blue button */
    color: #ffffff;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s ease-in-out;
    border: none; /* Remove default button border */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-button:hover {
    background-color: #0056b3; /* Darker blue on hover */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-field-file-name {
    /* Style the text displaying the chosen file name */
    margin-left: 10px;
    font-size: 15px;
    color: #555;
    flex-grow: 1; /* Allow file name to take available space */
    white-space: nowrap; /* Prevent text wrapping */
    overflow: hidden; /* Hide overflow */
    text-overflow: ellipsis; /* Add ellipsis for long names */
}

/* --- General Input Label Styling (for all fields) --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-field-label {
    font-size: 16px;
    color: #333;
    margin-bottom: 8px; /* Space between label and input */
    display: block; /* Ensure label is on its own line */
    font-weight: 500; /* Slightly bolder labels */
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-758ce5b *//* Target the container for radio button options */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-subgroup {
    display: grid; /* Enable CSS Grid layout */
    grid-template-columns: repeat(3, 1fr); /* Create two columns of equal width */
    gap: 15px; /* Space between grid items (options) */
    /* Adjust gap as needed */
}

/* Ensure each radio option takes up its grid space */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-option {
    display: flex; /* Use flexbox to align the radio input and its label */
    align-items: center; /* Vertically center the input and label */
    /* Remove any conflicting width settings if you had them */
    width: auto; /* Let grid manage the width */
}

/* Target the container for checkbox options */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid; /* Enable CSS Grid layout */
    grid-template-columns: repeat(3, 1fr); /* Create two columns of equal width */
    gap: 15px; /* Space between grid items (options) */
    /* Adjust gap as needed */
}

/* Ensure each checkbox option takes up its grid space */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-option {
    display: flex; /* Use flexbox to align the checkbox input and its label */
    align-items: center; /* Vertically center the input and label */
    /* Remove any conflicting width settings if you had them */
    width: auto; /* Let grid manage the width */
}

/* Optional: Make the radio/checkbox input itself slightly smaller if needed */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"],
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"] {
    flex-shrink: 0; /* Prevent the input from shrinking */
    /* If you had custom width/height for the actual radio/checkbox, keep it here */
    /* Example from previous response: */
    /* width: 20px; */
    /* height: 20px; */
}

/* Optional: Adjust label spacing if needed */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option label {
    margin-left: 8px; /* Space between the input and its label text */
}

/* --- Responsive Adjustments (Optional but Recommended) --- */
/* On smaller screens (e.g., mobile), switch back to a single column */
@media (max-width: 767px) { /* Adjust breakpoint as needed */
    .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-radio .elementor-field-subgroup,
    .elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-checkbox .elementor-field-subgroup {
        grid-template-columns: 1fr; /* One column on small screens */
        gap: 10px; /* Smaller gap for mobile */
    }
}






/* Hide ALL steps by default */
.e-form__indicators__indicator {
    display: none;
}

/* Show ONLY the current active step */
.e-form__indicators__indicator--state-active {
    display: flex !important;
}

/* Show ONLY the next step after the current active one */
.e-form__indicators__indicator--state-active + .e-form__indicators__indicator__separator + .e-form__indicators__indicator {
    display: flex !important;
}

/* Optional: Show the separator between current and next step */
.e-form__indicators__indicator--state-active + .e-form__indicators__indicator__separator {
    display: block;
}

/* Hide all separators by default */
.e-form__indicators__indicator__separator {
    display: none;
}

/* Make step titles text full width in one line */
.e-form__indicators__indicator .e-form__indicators__indicator__label {
    white-space: nowrap;
    width: 100%;
    text-align: center;
    font-size: 14px; /* adjust as needed */
}













/* --- ENHANCED STYLING FOR RADIO BUTTONS --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"] {
    appearance: none; /* Hide default browser styling */
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none; /* For Firefox */
    width: 22px; /* Slightly larger size */
    height: 22px;
    border: 2px solid #a0a0a0; /* Softer grey border for unchecked state */
    border-radius: 50%; /* Perfect circle */
    cursor: pointer;
    display: inline-block;
    position: relative;
    flex-shrink: 0; /* Prevent shrinking */
    margin-right: 10px; /* Space between radio and label */
    outline: none; /* Remove default outline */
    background-color: #f9f9f9; /* Light background for unchecked state */
    transition: all 0.2s ease-in-out; /* Smooth transitions for all properties */
}

/* Hover state for radio buttons */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:not(:checked):hover {
    border-color: #007bff; /* Primary blue on hover */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2); /* Subtle glow on hover */
}

/* Checked state for radio buttons */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:checked {
    border-color: #007bff; /* Primary blue border when checked */
    background-color: #007bff; /* Primary blue fill when checked */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.5); /* Glowing effect when checked */
}

/* Inner dot for checked radio button */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:checked::before {
    content: '';
    display: block;
    width: 8px; /* Size of the inner dot */
    height: 8px;
    background-color: #ffffff; /* White dot */
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Center the dot */
    transition: transform 0.2s ease-in-out; /* Smooth transition for dot */
}

/* Focus state for radio buttons (accessibility) */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="radio"]:focus {
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Stronger focus indicator */
}

/* --- ENHANCED STYLING FOR CHECKBOXES --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"] {
    appearance: none; /* Hide default browser styling */
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none; /* For Firefox */
    width: 22px; /* Slightly larger size */
    height: 22px;
    border: 2px solid #a0a0a0; /* Softer grey border for unchecked state */
    border-radius: 4px; /* Slightly rounded corners */
    cursor: pointer;
    display: inline-block;
    position: relative;
    flex-shrink: 0; /* Prevent shrinking */
    margin-right: 10px; /* Space between checkbox and label */
    outline: none; /* Remove default outline */
    background-color: #f9f9f9; /* Light background for unchecked state */
    transition: all 0.2s ease-in-out; /* Smooth transitions for all properties */
}

/* Hover state for checkboxes */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:not(:checked):hover {
    border-color: #007bff; /* Primary blue on hover */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2); /* Subtle glow on hover */
}

/* Checked state for checkboxes */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:checked {
    background-color: #007bff; /* Primary blue background when checked */
    border-color: #007bff; /* Primary blue border when checked */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.5); /* Glowing effect when checked */
}

/* Checkmark for checked checkbox */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:checked::before {
    content: '\2713'; /* Unicode checkmark character */
    display: block;
    color: #ffffff; /* White checkmark */
    font-size: 14px; /* Size of the checkmark */
    line-height: 1; /* Adjust line-height to center vertically */
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Center the checkmark */
    transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out; /* Smooth transition */
    opacity: 1;
}

/* Hide checkmark when not checked */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:not(:checked)::before {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5); /* Scale down when hidden */
}

/* Focus state for checkboxes (accessibility) */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option input[type="checkbox"]:focus {
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Stronger focus indicator */
}

/* --- General Label Styling (Apply to both radio and checkbox labels) --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-option label {
    font-size: 16px; /* Consistent font size */
    color: #444; /* Slightly darker text color */
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    line-height: 1.4; /* Improve readability */
}

/* --- NEW: STYLING FOR TEXT INPUTS, TEXTAREAS, AND SELECT FIELDS --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-select,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea {
    width: 100%; /* Ensure full width */
    padding: 12px 15px; /* Comfortable padding */
    border: 2px solid #d0d0d0; /* Light grey border */
    border-radius: 8px; /* Rounded corners */
    background-color: #fcfcfc; /* Very light background */
    font-size: 16px; /* Consistent font size */
    color: #333; /* Dark text color */
    line-height: 1.5;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; /* Smooth transitions */
    outline: none; /* Remove default outline */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

/* Focus state for text inputs, textareas, and select fields */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual:focus,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-select:focus,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea:focus {
    border-color: #007bff; /* Primary blue border on focus */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Glowing effect on focus */
}

/* Placeholder text styling */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textual::placeholder,
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) .elementor-field-textarea::placeholder {
    color: #a0a0a0; /* Lighter color for placeholder */
    opacity: 1; /* Ensure full opacity across browsers */
}

/* Specific styling for select dropdowns for consistent appearance */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-field-select {
    -webkit-appearance: none; /* Remove default arrow on WebKit browsers */
    -moz-appearance: none; /* Remove default arrow on Firefox */
    appearance: none; /* Remove default arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333333'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); /* Custom SVG arrow */
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
    cursor: pointer;
}

/* --- NEW: STYLING FOR FILE UPLOAD FIELDS --- */
/* Elementor's file upload field often uses a custom structure, so we target its components */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file {
    display: flex; /* Use flexbox for layout */
    align-items: center;
    border: 2px solid #d0d0d0; /* Consistent border */
    border-radius: 8px; /* Consistent rounded corners */
    background-color: #fcfcfc; /* Consistent background */
    padding: 8px 15px; /* Adjust padding */
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file:focus-within {
    border-color: #007bff;
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.4); /* Glowing effect on focus */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file input[type="file"] {
    opacity: 0; /* Hide the default file input */
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-button {
    /* Style the actual "Choose File" button */
    background-color: #007bff; /* Primary blue button */
    color: #ffffff;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s ease-in-out;
    border: none; /* Remove default button border */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-button:hover {
    background-color: #0056b3; /* Darker blue on hover */
}

.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-type-upload .elementor-field-file .elementor-field-file-name {
    /* Style the text displaying the chosen file name */
    margin-left: 10px;
    font-size: 15px;
    color: #555;
    flex-grow: 1; /* Allow file name to take available space */
    white-space: nowrap; /* Prevent text wrapping */
    overflow: hidden; /* Hide overflow */
    text-overflow: ellipsis; /* Add ellipsis for long names */
}

/* --- General Input Label Styling (for all fields) --- */
.elementor-5200 .elementor-element.elementor-element-758ce5b .elementor-field-group .elementor-field-label {
    font-size: 16px;
    color: #333;
    margin-bottom: 8px; /* Space between label and input */
    display: block; /* Ensure label is on its own line */
    font-weight: 500; /* Slightly bolder labels */
}/* End custom CSS */