/*!***/
/* * Gravity Forms Numbered Steps - Styles*/
/* * Version: 1.0.0*/
/* *!*/
/*.elementor-shortcode .gf_progressbar_title{*/
/*    display: none;*/
/*}*/
/*!* Custom numbered steps container *!*/
/*.elementor-shortcode .gf_custom_steps {*/
/*    display: flex;*/
/*    justify-content: space-between;*/
/*    align-items: center;*/
/*    margin: 20px 0;*/
/*    position: relative;*/
/*    flex-wrap: wrap;*/
/*    flex-basis: 100%;*/
/*}*/

/*!* Progress line behind the numbers (inactive) *!*/
/*.gf_custom_steps::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 50%;*/
/*    left: 0;*/
/*    right: 0;*/
/*    height: 3px;*/
/*    background-color: #A0A0A0;*/
/*    transform: translateY(-50%);*/
/*    z-index: 1;*/
/*    display: block;*/
/*}*/

/*!* Active progress line (animated) *!*/
/*.gf_custom_steps::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 50%;*/
/*    left: 0;*/
/*    height: 3px;*/
/*    background-color: #7F203E;*/
/*    transform: translateY(-50%);*/
/*    z-index: 2;*/
/*    transition: width 0.3s ease;*/
/*}*/

/*!* Step wrapper *!*/
/*.gf_custom_steps .number-wrapper {*/
/*    position: relative;*/
/*    z-index: 3;*/
/*    flex: 0 0 auto;*/
/*}*/

/*!* Number holder (circle) *!*/
/*.gf_custom_steps .number-holder {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    width: 40px;*/
/*    height: 40px;*/
/*    border-radius: 50%;*/
/*    background-color: #F7F4F4;*/
/*    border: 3px solid #A0A0A0;*/
/*    font-weight: bold;*/
/*    color: #999;*/
/*    transition: all 0.3s ease;*/
/*}*/

/*!* Active step styling *!*/
/*.gf_custom_steps .number-wrapper.active .number-holder {*/
/*    background-color: #F7F4F4;*/
/*    border-color: #7F203E;*/
/*    color: #7F203E;*/
/*}*/

/*!* Completed step styling *!*/
/*.number-wrapper.completed .number-holder {*/
/*    background-color: #7F203E;*/
/*    color: #F7F4F4;*/
/*    border-color: #7F203E;*/
/*}*/

/*!* Checkmark for completed steps *!*/
/*.number-wrapper.completed .number-holder::after {*/
/*    content: '✓';*/
/*    position: absolute;*/
/*    font-size: 20px;*/
/*    color: #F7F4F4;*/
/*}*/

/*!* Hide the number when showing checkmark *!*/
/*.number-wrapper.completed .number-holder {*/
/*    font-size: 0;*/
/*}*/

/*!* Progress bar title styling *!*/
/*.gf_progressbar_title {*/
/*    text-align: center;*/
/*    margin-bottom: 15px;*/
/*    font-weight: 600;*/
/*    color: #333;*/
/*}*/

/*!* Responsive adjustments for mobile *!*/
/*@media (max-width: 768px) {*/
/*    .number-holder {*/
/*        width: 35px;*/
/*        height: 35px;*/
/*        font-size: 14px;*/
/*    }*/

/*    .number-wrapper.completed .number-holder::after {*/
/*        font-size: 18px;*/
/*    }*/

/*    .gf_progressbar_title {*/
/*        font-size: 14px;*/
/*    }*/
/*}*/

/*@media (max-width: 480px) {*/
/*    .number-holder {*/
/*        width: 30px;*/
/*        height: 30px;*/
/*        font-size: 12px;*/
/*    }*/

/*    .number-wrapper.completed .number-holder::after {*/
/*        font-size: 16px;*/
/*    }*/

/*    .gf_custom_steps::before,*/
/*    .gf_custom_steps::after {*/
/*        height: 1px;*/
/*    }*/
/*}*/
#application-form .gform_wrapper {
    display: block !important;
}

#application-form iframe,
#application-form .gform_ajax_frame {
    display: block !important;
    visibility: visible !important;
    height: 0 !important;
    min-height: 0 !important;
}

#application-form .gform_heading,
#application-form .gf_progressbar_wrapper {
    display: none;
}

#application-form legend,
#application-form .gfield_html,
#cdp-form legend,
#cdp-form .gfield_html {
    width: 100%;
    text-align: center;
    display: block;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%; /* 28px */
    color: #FFF;
    padding-left: 30px;
    padding-right: 30px;
}

/* Hide the default radio inputs */
#application-form .gfield_radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* Container for the radio buttons */
#application-form .gfield_radio {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
}

#application-form .gfield_radio .gchoice {
    margin: 0;
}

/* Style the labels as buttons */
#application-form .gfield_radio label {
    display: inline-block;
    padding: 6px 20px;
    background-color: rgba(255, 255, 255, 0);
    border: 2px solid white;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    user-select: none;
    color: #FFF;
    min-width: 80px;
    text-align: center;
    margin: 0;
    line-height: 22px;
}

#application-form .gfield_radio .gchoice:first-of-type label {
    background-color: #FFF;
    color: #A03355;
}

#application-form .gfield_radio .gchoice:first-of-type:hover label {
    background-color: #F3D0D8;
    border-color: #F3D0D8;
    color: #7F203E;
}

/* Hover state */
#application-form .gfield_radio label:hover {
    background-color: rgba(255, 255, 255, 0);
    color: #F3D0D8;
    border-color: #F3D0D8;
}

/* Selected state */
/*#application-form .gfield_radio input[type="radio"]:checked + label {*/
/*    background-color: transparent;*/
/*    border-color: inherit;*/
/*    color: inherit;*/
/*}*/

/* Focus state for accessibility */
#application-form .gfield_radio input[type="radio"]:focus + label {
    outline: none;
    outline-offset: 0;
}

/* Hide the next button on the first page */
#gform_next_button_1_5 {
    display: none !important;
}

#application-form .gform_fields,
#cdp-form .grform_field {
    row-gap: 16px;
}

#application-form .gfield--type-email,
#cdp-form .gfield--type-email {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 20px;
    row-gap: 10px;
}

#application-form .gfield--type-email .gfield_description {
    width: 100%;
    flex-basis: 100%;
    margin-bottom: 0;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    text-align: left;

}

@media (min-width: 600px) {
    #application-form .gfield--type-email .gfield_description {
        width: 292px;
        flex-basis: 292px;
    }
}

#application-form .gfield--type-email .gfield_description.gfield_validation_message {
    width: 100%;
    flex-basis: 100%;
    margin-top: 0;
    font-weight: 600;
    color: #FFCE5C;
    margin-left: 0;
    margin-right: auto;
    padding-left: 0;

}

@media (min-width: 600px) {
    #application-form .gfield--type-email .gfield_description.gfield_validation_message {
        width: calc(100% - 292px);
        flex-basis: calc(100% - 292px);
        margin-top: 0;
        font-weight: 600;
        color: #FFCE5C;
        margin-left: auto;
        margin-right: 0;
        padding-left: 20px;

    }
}

#cdp-form .gfield--type-email .gfield_description {
    width: 120px;
    flex-basis: 120px;
    margin-bottom: 0;
    color: #1F2124;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    text-align: left;
    margin-bottom: 0;
}

#application-form .gfield--type-email .ginput_container_email {
    flex: 1;
    width: auto;
}

#cdp-form .gfield--type-email .ginput_container_email {
    flex: 1;
    width: auto;
}

#application-form .gform_footer,
#application-form .gform_page_footer,
#cdp-form .gform_footer,
#cdp-form .gform_page_footer {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

#application-form .gform_button {
    padding: 6px 20px;
    background-color: #FFF;
    border: 2px solid white;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    user-select: none;
    color: #A03355;
    min-width: 80px;
    text-align: center;
    margin: 0;
    line-height: 22px;
}

#application-form .gform_button:hover {
    background-color: #F3D0D8;
    border-color: #F3D0D8;
    color: #A03355;
}

#application-form .gform_previous_button {
    padding: 6px 20px;
    background-color: rgba(255, 255, 255, 0);
    border: 2px solid white;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    user-select: none;
    color: #FFF;
    min-width: 80px;
    text-align: center;
    margin: 0;
    line-height: 22px;
}

#application-form .gform_previous_button:focus,
#application-form .gform_button:focus {
    outline: none;
}

#application-form .gform_previous_button:hover {
    background-color: rgba(255, 255, 255, 0);
    color: #F3D0D8;
    border-color: #F3D0D8;
}

#application-form input[type="email"] {
    display: flex;
    height: 44px;
    padding: 0 15px;
    background-color: #C15774;
    border-radius: 10px;
    border: none;
    outline: none;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: #FFF;
    border: 2px solid #C15774;
}

#application-form .gfield_error input[type="email"] {
    border-color: #FFCE5C;
}

#application-form input[type="email"]::placeholder {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: rgba(255, 255, 255, .6);
}

#application-form .gform_validation_errors {
    display: none;
}

#cdp-form .gform_wrapper {
    border-radius: 10px;
    border: 2px solid #7F203E;
    background-color: #F7F4F4;
    padding: 16px 30px;
}

/* CDP */
#cdp-form .gform_button {
    padding: 6px 20px;
    background-color: #FFF;
    border: 2px solid white;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    user-select: none;
    color: #A03355;
    min-width: 80px;
    text-align: center;
    margin: 0;
    line-height: 22px;
}

#cdp-form .gform_next_button,
#cdp-form input[type="submit"] {
    padding: 6px 20px;
    background-color: #7F203E;
    border: 2px solid #7F203E;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    user-select: none;
    color: #FFF;
    min-width: 80px;
    text-align: center;
    margin: 0;
    line-height: 22px;
}

#cdp-form .gform_next_button:focus,
#cdp-form .gform_next_button:focus,
#cdp-form input[type="submit"] {
    outline: none;
}

#cdp-form .gform_next_button:hover,
#cdp-form input[type="submit"]:hover {
    background-color: #D5AF33;
    color: #FFF;
    border-color: #D5AF33
}

#cdp-form .gform_previous_button {
    padding: 6px 20px;
    background-color: rgba(255, 255, 255, 0);
    border: 2px solid #7F203E;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    user-select: none;
    color: #7F203E;
    min-width: 80px;
    text-align: center;
    margin: 0;
    line-height: 22px;
}

#cdp-form .gform_previous_button:focus,
#cdp-form .gform_button:focus {
    outline: none;
}

#cdp-form .gform_previous_button:hover {
    background-color: rgba(255, 255, 255, 0);
    color: #D5AF33;
    border-color: #D5AF33;
}

#cdp-form input[type="email"],
#cdp-form input[type="text"],
#cdp-form input[type="password"] {
    display: flex;
    height: 44px;
    padding: 0 15px;
    background-color: #EFE9E9;
    border-radius: 10px;
    outline: none;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;;
    border: 2px solid #EFE9E9;
    color: #1F2124;
}

#cdp-form input[type="email"]::placeholder,
#cdp-form input[type="text"]::placeholder,
#cdp-form input[type="password"]::placeholder {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: #A0A0A0;
}

#cdp-form .gform_validation_errors {
    display: none;
}

#cdp-form .gform_required_legend {
    display: none;
}

#cdp-form .gform_title {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%; /* 28px */
    margin-top: 0;
    margin-bottom: 0;
    text-align: center;
    color: #7F203E;
    width: 100%;
}

#cdp-form .gfield_label {
    margin-bottom: 0;
    font-weight: 600;
}

#cdp-form .gfield_label {
    width: 118px;
    flex-basis: 118px;
}

#cdp-form .gfield_required {
    display: none;
}

#cdp-form .gfield_error input[type="email"],
#cdp-form .gfield_error input[type="text"],
#cdp-form .gfield_error input[type="password"] {
    border-color: #D32F2F;
}

#cdp-form .gfield--type-email .gfield_description.gfield_validation_message,
#cdp-form .gfield--type-text .gfield_description.gfield_validation_message {
    width: 100%;
    flex-basis: 100%;
    margin-top: -5px;
    color: #D32F2F;
    text-align: left;
    margin-right: 0;
    margin-left: auto;
    font-weight: 600;

}

#cdp-form .gfield--type-email .gfield_description.gfield_validation_message a {
    font-weight: 600;
    text-decoration: underline;
    color: #D5AF33;
}

@media screen and (min-width: 470px) {
    #cdp-form .gfield--type-email .gfield_description.gfield_validation_message,
    #cdp-form .gfield--type-text .gfield_description.gfield_validation_message {
        width: calc(100% - 138px);
        flex-basis: calc(100% - 138px);
        margin-top: -5px;
        color: #D32F2F;
        text-align: left;
        margin-right: 0;
        margin-left: auto;
        font-weight: 600;
    }
}

#cdp-form .gfield--type-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 20px;
    row-gap: 10px;
}

#cdp-form .gfield--type-text .gfield_label {
    width: 120px;
    flex-basis: 120px;
    margin-bottom: 0;
    color: #1F2124;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%; /* 22.4px */
    text-align: left;
    margin-bottom: 0;
}

#application-form .gfield--type-text .ginput_container {
    flex: 1;
    width: auto;
}

#cdp-form .gfield--type-text .ginput_container {
    flex: 1;
    width: auto;
}

#cdp-form .gform-theme--foundation .gform_fields {
    row-gap: 16px;
}

/**
* Gravity Forms Numbered Steps - Styles
*/
.elementor-shortcode .gf_progressbar_title {
    display: none;
}

/* Custom numbered steps container */
.elementor-shortcode .gf_custom_steps {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0;
    position: relative;
    flex-wrap: wrap;
    flex-basis: 100%;
}

/* Progress line behind the numbers (inactive) */
.gf_custom_steps::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 3px;
    background-color: #A0A0A0;
    transform: translateY(-50%);
    z-index: 1;
    display: block;
}

/* Active progress line (animated) */
.gf_custom_steps::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    height: 3px;
    background-color: #7F203E;
    transform: translateY(-50%);
    z-index: 2;
    transition: width 0.3s ease;
}

/* Step wrapper */
.gf_custom_steps .number-wrapper {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
}

/* Number holder (circle) */
.gf_custom_steps .number-holder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #F7F4F4;
    border: 3px solid #A0A0A0;
    font-weight: bold;
    color: #999;
    transition: all 0.3s ease;
}

/* Active step styling */
.gf_custom_steps .number-wrapper.active .number-holder {
    background-color: #F7F4F4;
    border-color: #7F203E;
    color: #7F203E;
}

/* Completed step styling */
.number-wrapper.completed .number-holder {
    background-color: #7F203E;
    color: #F7F4F4;
    border-color: #7F203E;
}

/* Checkmark for completed steps */
.number-wrapper.completed .number-holder::after {
    content: '✓';
    position: absolute;
    font-size: 20px;
    color: #F7F4F4;
}

/* Hide the number when showing checkmark */
.number-wrapper.completed .number-holder {
    font-size: 0;
}

/* Progress bar title styling */
.gf_progressbar_title {
    text-align: center;
    margin-bottom: 15px;
    font-weight: 600;
    color: #333;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
    .number-holder {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .number-wrapper.completed .number-holder::after {
        font-size: 18px;
    }

    .gf_progressbar_title {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .number-holder {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .number-wrapper.completed .number-holder::after {
        font-size: 16px;
    }

    /*.gf_custom_steps::before,*/
    /*.gf_custom_steps::after {*/
    /*    height: 1px;*/
    /*}*/
}
#gform_ajax_spinner_1{
    display: none !important;
}
/* Hide ALL default Gravity Forms spinners */
#gform_wrapper_1 .gform_ajax_spinner:not(.custom_spinner) {
    display: none !important;
}
.spinner-wrapper{
    width: 100%;
    flex-basis: 100%;
    margin: 0 auto;
    display: block;
}
/* Custom spinner styling - small and gold */
#gform_wrapper_1 #custom-spinner {
    border: 3px solid #f3f3f3 !important;
    border-top: 3px solid #D5AF33 !important;
    border-radius: 50% !important;
    width: 20px !important;
    height: 20px !important;
    animation: spin 1s linear infinite !important;
    display: inline-block !important;
    margin-left: 10px !important;
    vertical-align: middle !important;
    background: transparent !important;
    background-image: none !important;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Make sure spinner appears inline with button */
#gform_wrapper_1 .gform_footer,
#gform_wrapper_1 .gform_page_footer {
    position: relative;
}
/* Password field: same layout as the email field (label left 118px, input fills the rest) */
#application-form .gfield--type-password,
#cdp-form .gfield--type-password {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;   /* label stays level with the input when the checklist opens */
    gap: 10px 20px;
}
#cdp-form .gfield--type-password > .gfield_label {
    line-height: 44px;         /* centre the label on the 44px input */
}
#cdp-form .gfield--type-password .ginput_container_password {
    flex: 1 1 0%;
    width: auto;
}
#cdp-form .gfield--type-password .ginput_password,
#cdp-form .gfield--type-password .password_input_container {
    display: block;
    width: 100%;
}
/* Hide the Gravity Forms strength meter: our checklist already shows the rules */
#cdp-form .gfield--type-password .gfield_password_strength {
    display: none !important;
}
/* Password error message – same as email error */
#cdp-form .gfield--type-password .gfield_description.gfield_validation_message {
    width: 100%;
    flex-basis: 100%;
    margin-top: -5px;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 0;
    color: #d32f2f;
    text-align: left;
    font-weight: 600;
    font-size: 16px;
    font-style: normal;
    line-height: 140%;
}
@media screen and (min-width: 470px) {
    #cdp-form .gfield--type-password .gfield_description.gfield_validation_message {
        width: calc(100% - 138px);
        flex-basis: calc(100% - 138px);
    }
}

/* Password as Text field (Enable Password Input) – match Email */
#cdp-form .gfield--type-text:has(input[type="password"]) > .gfield_label {
    width: 118px;
    flex-basis: 118px;
    font-size: 14px;
    line-height: 1.43;
    color: #112337;
}
#cdp-form .gfield--type-text:has(input[type="password"]) .gfield_description.gfield_validation_message {
    font-size: 16px;
    font-style: normal;
    line-height: 140%;
    margin-bottom: 0;
}