.brexa-cf7-register .stepform__item {
    display: block;
    max-width: 100%;
    height: unset;
}

.brexa-cf7-register__desktop .stepform__item{
    padding: unset;
    height: unset;
}

.brexa-cf7-register .brexa-cf7-register__desktop {
    display: none;
}

.brexa-register-form{
    padding: 0 3vw 3vw 3vw;
}

.brexa-cf7-register__desktop .brexa-register-form{
    padding: 0;
}
.brexa-register-form .f-step-progress-bar__inner{
    max-width: 100%;
}
.brexa-cf7-register .f-step-progress-bar__inner{
    width: 100%;
}
.brexa-cf7-register .stepform h2, .brexa-cf7-register .stepform h3{
    font-size: 2rem;
}
.brexa-cf7-register .container__form{
    padding: 0;
}
.brexa-cf7-register .step-4 .f-stepform-text a,
.brexa-cf7-register .step-4 .brexa-consent-note a {
    color: #d92f3d !important;
    font-weight: 700;
}
.stepform h3::before, .stepform h3::after{
    width: 24px;
    height: 24px;
}
.p-side-form:has(.brexa-cf7-register) {
    background: #fff;
}

#stepForm.f-thanks:has(.brexa-cf7-register){
    padding: 0;
}
.brexa-cf7-register .prev-step{
    cursor: pointer;
}
.brexa-cf7-register .step-4{
    padding-top: 3vw;
}
.brexa-cf7-register .step-4 .f-stepform-text{
    font-size: 1.4rem;
}
.brexa-cf7-register .brexa-cf7-register-error{
    padding: 0 3vw 3vw 3vw;
}
.brexa-cf7-register__desktop .brexa-cf7-register-error{
    padding: 0;
}
.brexa-cf7-register input[type=checkbox]:checked:before{
    display: none;
}
@media (min-width: 768px) {
    .brexa-cf7-register .brexa-cf7-register__mobile {
        display: none;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop {
        display: block;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .container__form {
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .stepform__item {
        margin-top: 0;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .side__grid--t {
        margin-top: 14px;
        line-height: 1.4;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .mt-10 {
        margin-top: 8px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .mt-20 {
        margin-top: 14px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .f-stepform-text {
        display: block;
        text-align: left;
        line-height: 1.6;
        font-size: 1.4rem;
        font-weight: 400;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .f-stepform-text p {
        margin: 0 0 4px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .flex.align-center {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0;
    }

    /* .brexa-cf7-register .brexa-cf7-register__desktop .ca_step4,
    .brexa-cf7-register .brexa-cf7-register__desktop .final-submit
    {
        position: static !important;
        right: auto !important;
        left: auto !important;
        top: auto !important;
        bottom: auto !important;
        float: none !important;
        transform: none !important;
        margin: 8px auto 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 220px;
        max-width: 100%;
        z-index: 1;
    } */

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-submit-wrap {
        margin-top: 18px !important;
        width: 100%;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-submit {
        width: 260px !important;
        height: 52px;
        border-radius: 10px;
        border: 0;
        background: linear-gradient(90deg, #d82f3d 0%, #f0642b 100%);
        color: #fff;
        font-size: 2.8rem;
        font-weight: 700;
        letter-spacing: .03em;
        cursor: pointer;
    }
}

.brexa-cf7-register .stepform__item .side__grid,
.brexa-cf7-register .stepform__item .side__grid--t,
.brexa-cf7-register .stepform__item .mt-10,
.brexa-cf7-register .stepform__item .mt-20,
.brexa-cf7-register .stepform__item .mt-30,
.brexa-cf7-register .stepform__item .text-left {
    display: block;
    width: 100%;
    max-width: 100%;
}

.brexa-cf7-register .stepform__item input[type="text"],
.brexa-cf7-register .stepform__item input[type="email"],
.brexa-cf7-register .stepform__item input[type="tel"],
.brexa-cf7-register .stepform__item input[type="password"] {
    display: block;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

.brexa-cf7-register .need {
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}

.brexa-cf7-register .brexa-field-error {
    display: block;
    margin-top: 6px;
    font-size: 1.2rem;
    line-height: 1.45;
    color: #c62828;
}

.brexa-cf7-register .prev-step {
    margin-left: 0 !important;
}

.brexa-cf7-register .flex.gap {
    gap: 16px;
}

.brexa-cf7-register .step-1 .flex.align-center {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: nowrap;
}

.brexa-cf7-register .step-1 .f-stepform-text {
    margin: 0;
    padding: 0;
    line-height: 1;
    color: #1f1f1f;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.brexa-cf7-register .step-1 .f-stepform-text > span {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.brexa-cf7-register .step-1 .brexa-login-link,
.brexa-cf7-register .step-1 .js-brexa-srf-login {
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #4a78d0;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: underline;
    text-underline-offset: 2px;
    margin-bottom: 4px;
}

.brexa-cf7-register .stepform {
    margin-bottom: 1rem;
    margin-top: 1rem;
    text-align: center;
}

.brexa-cf7-register .brexa-form__note p, .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__note p {
    font-size: 1rem;
    color: #555555;
}

.brexa-cf7-register .step-1 .f-stepform-text br {
    display: none;
}

.brexa-cf7-register .brexa-consent-note {
    text-align: center;
    color: #222;
    font-size: 1.4rem;
    line-height: 1.6;
    margin-top: 14px;
}

.brexa-cf7-register .brexa-consent-note a {
    color: #d92f3d;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 700;
}

.brexa-cf7-register label:has(input[name="terms_agree"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.3;
}

.brexa-cf7-register input[name="terms_agree"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #cfcfcf;
    border-radius: 3px;
    background: #f2f2f2;
    margin: 0;
    vertical-align: middle;
    position: relative;
}

.brexa-cf7-register input[name="terms_agree"]:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #d92f3d;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.brexa-cf7-register .final-submit.is-loading,
.brexa-cf7-register .brexa-desktop-submit.is-loading {
    position: relative;
    opacity: 0.92;
    cursor: wait !important;
    pointer-events: none;
}

.brexa-cf7-register .final-submit.is-loading::after,
.brexa-cf7-register .brexa-desktop-submit.is-loading::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 8px;
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-top-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    vertical-align: -2px;
    animation: brexa-submit-spin 0.8s linear infinite;
}

@keyframes brexa-submit-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (min-width: 768px) {
    /* step-progress-bar is sibling of __desktop/__mobile, not inside __desktop — hide when desktop variant is shown */
    .brexa-cf7-register[data-brexa-desktop-layout="auto"] .step-progress-bar,
    .brexa-cf7-register[data-brexa-desktop-layout="desktop"] .step-progress-bar {
        display: none !important;
    }

    /* .brexa-cf7-register .brexa-cf7-register__desktop .step:not(.step-1) .stepform {
        display: none !important;
    } */

    .brexa-cf7-register .brexa-cf7-register__desktop .step {
        margin-bottom: 12px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .stepform__item {
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    /* Scope layout fixes to pages that embed the shortcode so other templates stay untouched. */
    html:has([data-brexa-cf7-register]) {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    html:has([data-brexa-cf7-register]) body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    html:has([data-brexa-cf7-register]) .main.lp-main,
    html:has([data-brexa-cf7-register]) .main.lp-main * {
        min-width: 0 !important;
    }

    html:has([data-brexa-cf7-register]) .main.lp-main img,
    html:has([data-brexa-cf7-register]) .main.lp-main video,
    html:has([data-brexa-cf7-register]) .main.lp-main canvas,
    html:has([data-brexa-cf7-register]) .main.lp-main svg {
        max-width: 100% !important;
        height: auto !important;
    }

    html:has([data-brexa-cf7-register]) .wrap,
    html:has([data-brexa-cf7-register]) .main,
    html:has([data-brexa-cf7-register]) .lp-main,
    html:has([data-brexa-cf7-register]) .keyv,
    html:has([data-brexa-cf7-register]) .keyv__ca,
    html:has([data-brexa-cf7-register]) .f-fv__box {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        margin-left: auto;
        margin-right: auto;
    }

    html:has([data-brexa-cf7-register]) .keyv__cv__item,
    html:has([data-brexa-cf7-register]) .f-fv__list,
    html:has([data-brexa-cf7-register]) .f-fv__box-left,
    html:has([data-brexa-cf7-register]) .f-fv__img-box {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    html:has([data-brexa-cf7-register]) .page-template-page-lp .e-footer__ca,
    html:has([data-brexa-cf7-register]) .page-template-page-lp-php .e-footer__ca {
        display: none;
    }

    .brexa-cf7-register {
        overflow-x: hidden;
    }
    .p-side-form:has(.brexa-cf7-register__mobile) {
        padding: 0;
        background: #f0f0f0;
    }
    .brexa-cf7-register .container,
    .brexa-cf7-register .container__form {
        max-width: 100%;
        overflow-x: hidden;
    }

    .brexa-cf7-register .flex.align-center {
        align-items: center;
        flex-wrap: wrap;
    }

    .brexa-cf7-register .step-1 .flex.align-center {
        align-items: flex-end;
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }

    .brexa-cf7-register .step-1 .f-stepform-text,
    .brexa-cf7-register .step-1 .next-step,
    .brexa-cf7-register .step-1 .btn__base {
        max-width: 100%;
    }
    .brexa-cf7-register .stepform h2{
        font-size: 1.8rem;
    }
}

@media (min-width: 768px) {
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form {
        max-width: 520px;
        margin: 0 auto;
        padding: 8px 0 16px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__title-sub {
        margin: 0 0 8px;
        text-align: center;
        color: #db4330;
        font-size: 4rem;
        font-weight: 700;
        line-height: 1.3;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__title-main {
        margin: 0 0 22px;
        text-align: center;
        color: #e0182d;
        font-size: 7rem;
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: .02em;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__group {
        margin-bottom: 16px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px;
        color: #222;
        font-size: 3.1rem;
        font-weight: 700;
        line-height: 1.4;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__input {
        width: 100% !important;
        height: 58px;
        border: 0;
        border-radius: 4px;
        padding: 0 16px;
        background: #efefef;
        color: #333;
        font-size: 2.7rem;
        line-height: 58px;
        box-sizing: border-box;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__input::placeholder {
        color: #777;
        opacity: 1;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__note {
        margin-top: 12px;
        color: #222;
        font-size: 2.3rem;
        line-height: 1.6;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__note p {
        margin: 0 0 6px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree {
        margin-top: 8px;
        margin-bottom: 20px;
        font-size: 3rem;
        line-height: 1.4;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree input[type="checkbox"] {
        width: 18px;
        height: 18px;
        margin: 0;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__actions {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-submit {
        width: 280px !important;
        height: 56px;
        border-radius: 10px;
        border: 0;
        background: linear-gradient(90deg, #d82f3d 0%, #f0642b 100%);
        color: #fff;
        font-size: 4.6rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: .02em;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }
}

/* Desktop should visually match mobile form style */
@media (min-width: 768px) {
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form {
        max-width: 420px !important;
        margin: 0 auto !important;
        padding: 0 0 12px !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__title-sub {
        margin: 0 0 8px !important;
        font-size: 18px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        color: #db4330 !important;
        text-align: center !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__title-main {
        margin: 0 0 20px !important;
        font-size: 52px !important;
        line-height: 1.12 !important;
        font-weight: 800 !important;
        color: #e0182d !important;
        text-align: center !important;
        letter-spacing: 0 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__group {
        margin-bottom: 14px !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__label {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        color: #222 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__input {
        width: 100% !important;
        height: 54px !important;
        padding: 0 14px !important;
        border: none !important;
        border-radius: 4px !important;
        background: #efefef !important;
        font-size: 15px !important;
        color: #444 !important;
        line-height: 54px !important;
        box-sizing: border-box !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__input::placeholder {
        color: #767676 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__note {
        margin-top: 10px !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
        color: #222 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__note p {
        margin: 0 0 4px !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree {
        margin: 10px 0 18px !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree input[type="checkbox"] {
        width: 16px !important;
        height: 16px !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__actions {
        display: flex !important;
        justify-content: center !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-submit {
        width: 240px !important;
        height: 50px !important;
        border-radius: 9px !important;
        font-size: 22px !important;
        line-height: 1 !important;
        margin: 2px auto 0 !important;
        border: 0 !important;
        color: #fff !important;
        font-weight: 700 !important;
        background: linear-gradient(90deg, #d92f3d 0%, #ef6a2e 100%) !important;
        box-shadow: none !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-submit:hover,
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-submit:focus,
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-submit:active {
        color: #fff !important;
        background: linear-gradient(90deg, #d92f3d 0%, #ef6a2e 100%) !important;
        opacity: 1 !important;
    }
}

@media (min-width: 768px) {
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__title-main {
        display: none !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__title-sub {
        font-size: 2rem !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__top {
        margin: -20px -20px 14px !important;
        padding: 16px 12px 24px !important;
        background: #d9d9d9 !important;
        border-radius: 0 !important;
        text-align: center !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__brand {
        margin: 0 0 36px !important;
        line-height: 1 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__brand img {
        display: inline-block !important;
        width: auto !important;
        height: 28px !important;
        max-width: 100% !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__top-copy {
        margin: 0 !important;
        display: flex !important;
        align-items: baseline !important;
        justify-content: center !important;
        gap: 5rem !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__top-copy-sub {
        font-size: 1.4rem !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        color: #333 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__top-copy-main {
        font-size: 2rem !important;
        line-height: 1 !important;
        font-weight: 800 !important;
        color: #111 !important;
        letter-spacing: 0 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__label,
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__input,
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__input::placeholder,
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__note,
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree,
    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree label {
        font-size: 1.4rem !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-desktop-form__agree {
        text-align: center;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop label:has(input[name="terms_agree"]) {
        gap: 10px;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop .brexa-consent-note {
        font-size: 1.4rem;
        line-height: 1.7;
        margin-top: 16px;
        margin-bottom: 10px;
    }
}

@media (max-width: 767px) {
    /* Prevent iOS Safari auto-zoom on focus (inputs < 16px trigger zoom). */
    .brexa-cf7-register input[type="text"],
    .brexa-cf7-register input[type="email"],
    .brexa-cf7-register input[type="tel"],
    .brexa-cf7-register input[type="password"],
    .brexa-cf7-register input[type="number"],
    .brexa-cf7-register select,
    .brexa-cf7-register textarea {
        font-size: 16px !important;
    }

    .brexa-cf7-register,
    .brexa-cf7-register .brexa-cf7-register__mobile,
    .brexa-cf7-register .brexa-cf7-register__mobile .step,
    .brexa-cf7-register .brexa-cf7-register__mobile .container,
    .brexa-cf7-register .brexa-cf7-register__mobile .container__form {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box;
    }

    .brexa-cf7-register {
        width: 100% !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile * {
        box-sizing: border-box;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile {
        display: block !important;
    }

    .brexa-cf7-register .brexa-cf7-register__desktop {
        display: none !important;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step {
        width: 100%;
        max-width: 100%;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .flex.align-center {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 56%);
        align-items: end !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .next-step,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .btn__base {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch;
        min-width: 0 !important;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .btn__base,
    .brexa-cf7-register .brexa-cf7-register__mobile .w330 {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .f-stepform-text {
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: center;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-2 .flex.align-center,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-3 .flex.align-center,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .flex.align-center {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-2 .prev-step,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-3 .prev-step,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .prev-step {
        flex: 0 0 34%;
        max-width: 34%;
        min-width: 0;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-2 .next-step,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-3 .next-step,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .final-submit {
        flex: 1 1 66%;
        max-width: 66% !important;
        width: auto !important;
        min-width: 0;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .stepform {
        margin-top: 12px;
        margin-bottom: 12px;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .stepform__item {
        background: #f6f6f6;
        border-radius: 6px;
        padding: 14px 12px;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .stepform__item dl {
        margin: 0;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .stepform__item dt {
        font-size: 1.4rem;
        color: #444;
        margin-top: 8px;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .stepform__item dd {
        font-size: 1.6rem;
        color: #111;
        margin: 4px 0 10px;
        font-weight: 600;
        word-break: break-word;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .flex > * {
        min-width: 0;
    }

    .brexa-cf7-register .text-center.mt-10:has(input[name="terms_agree"]),
    .brexa-cf7-register .text-center.mt-20:has(input[name="terms_agree"]) {
        text-align: center !important;
    }

    .brexa-cf7-register label:has(input[name="terms_agree"]) {
        gap: 8px;
        font-size: 1.4rem;
        line-height: 1.3;
    }

    .brexa-cf7-register input[name="terms_agree"] {
        width: 15px;
        height: 15px;
    }

    .brexa-cf7-register .brexa-consent-note {
        font-size: 1.4rem;
        line-height: 1.7;
        margin-top: 12px;
        margin-bottom: 8px;
        padding: 0 4px;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .f-stepform-text,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-4 .brexa-consent-note {
        margin-top: 14px !important;
        margin-bottom: 10px !important;
        font-size: 1.3rem !important;
        line-height: 1.6 !important;
        text-align: center;
    }
}

@media (max-width: 390px) {
    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .flex.align-center {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 56%) !important;
    }

    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .f-stepform-text,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .next-step,
    .brexa-cf7-register .brexa-cf7-register__mobile .step-1 .btn__base {
        max-width: 100% !important;
        flex-basis: auto !important;
    }
}

/* desktop_layout shortcode: force mobile or desktop variant from 768px up; below 768px always mobile block */
@media (min-width: 768px) {
    .brexa-cf7-register[data-brexa-desktop-layout="mobile"] .brexa-cf7-register__desktop {
        display: none !important;
    }

    .brexa-cf7-register[data-brexa-desktop-layout="mobile"] .brexa-cf7-register__mobile {
        display: block !important;
    }

    .brexa-cf7-register[data-brexa-desktop-layout="desktop"] .brexa-cf7-register__mobile {
        display: none !important;
    }

    .brexa-cf7-register[data-brexa-desktop-layout="desktop"] .brexa-cf7-register__desktop {
        display: block !important;
    }
}
