.axlogin {
    --axlogin-brown: var(--axion-login-button-text, #401201);
    --axlogin-brown-hover: var(--axion-login-secondary-hover, #562007);
    --axlogin-ink: var(--axion-login-text, #3e3e3e);
    --axlogin-label: var(--axion-login-label, #303030);
    --axlogin-muted: var(--axion-login-muted, #4e4e4e);
    --axlogin-border: var(--axion-login-border, #d2d2d2);
    /* CONTROLE DO ESPAÇO INFERIOR POR DISPOSITIVO. */
    --axlogin-bottom-desktop: 72px;
    --axlogin-bottom-tablet: 122px;
    --axlogin-bottom-mobile: 40px;
    width: 100%;
    max-width: 946px;
    margin: 0 auto;
    padding: 31px 0 var(--axlogin-bottom-desktop);
    color: var(--axlogin-ink);
    font-family: var(--axion-login-font, inherit);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.axlogin *,
.axlogin *::before,
.axlogin *::after {
    box-sizing: border-box;
}

.axlogin__mobile-switch {
    display: none;
}

.axlogin__mobile-intro,
.axlogin__label--mobile {
    display: none;
}

.axlogin__label--desktop {
    display: inline;
}

.axlogin__grid {
    display: grid;
    grid-template-columns: minmax(0, 360px) 1px minmax(0, 360px);
    column-gap: 112px;
    align-items: start;
}

.axlogin__panel {
    min-width: 0;
    padding: 17px 0 0;
    background: transparent;
}

.axlogin__panel h2,
.axlogin__support h3,
.axlogin__support p,
.axlogin__status {
    margin: 0 !important;
    font-family: inherit !important;
}

.axlogin__panel h2 {
    color: var(--axlogin-ink) !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

.axlogin__divider {
    position: relative;
    width: 1px;
    min-height: 344px;
    background: var(--axion-login-divider, #d0d0d0);
}

.axlogin__divider::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    background-color: var(--axion-login-decoration-bg, #fff);
    background-image: var(--axion-login-decoration, none);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    transform: translate(-50%, -50%);
}

.axlogin__form {
    margin: 0;
    padding: 0;
}

.axlogin__form--login {
    margin-top: 17px;
}

.axlogin__account-notice {
    margin: 12px 0 0 !important;
    padding: 9px 11px;
    border: 1px solid var(--axion-login-notice-border, #e5b9b9);
    border-left: 3px solid var(--axion-login-notice-accent, #a33a3a);
    background: var(--axion-login-notice-bg, #fff7f7);
    color: var(--axion-login-notice-text, #7a2525) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.axlogin__account-notice--mobile {
    display: none;
}

.axlogin__account-notice + .axlogin__form--login {
    margin-top: 12px;
}

.axlogin__field + .axlogin__field {
    margin-top: 17px;
}

.axlogin__field label {
    display: block;
    margin: 0 0 10px;
    color: var(--axlogin-label);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.axlogin__field input[type="text"],
.axlogin__field input[type="email"],
.axlogin__field input[type="password"] {
    display: block;
    width: 100%;
    height: 37px;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1.5px solid var(--axlogin-border) !important;
    border-radius: 6px !important;
    outline: 0 !important;
    background: var(--axion-login-field-bg, #fff) !important;
    color: var(--axlogin-label) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 35px !important;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
    transition: border-color 120ms ease;
}

.axlogin__field input::placeholder {
    color: var(--axion-login-placeholder, #9b9b9b);
    opacity: 1;
}

.axlogin__input--mobile-placeholder::placeholder {
    color: transparent;
}

.axlogin__field input:hover {
    border-color: var(--axion-login-field-hover, #b9b9b9) !important;
}

.axlogin__field input:focus {
    border-color: var(--axion-login-field-focus, #0587ff) !important;
    outline: 0 !important;
    box-shadow: none !important;
    caret-color: var(--axion-login-caret, #24201e);
}

.axlogin__field input:-webkit-autofill,
.axlogin__field input:-webkit-autofill:hover,
.axlogin__field input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--axlogin-label) !important;
    box-shadow: 0 0 0 1000px var(--axion-login-field-bg, #fff) inset !important;
    transition: background-color 9999s ease-out 0s;
}

.axlogin__password {
    position: relative;
}

.axlogin__field .axlogin__password input {
    padding-right: 42px !important;
}

.axlogin__password-toggle {
    position: absolute;
    top: 50%;
    right: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--axion-login-eye, #a2a2a2) !important;
    box-shadow: none !important;
    cursor: pointer;
    transform: translateY(-50%);
}

.axlogin__password-toggle:hover,
.axlogin__password-toggle:focus-visible {
    color: var(--axion-login-eye-hover, #6e6e6e) !important;
}

.axlogin__password-toggle svg {
    display: block;
    width: 22px;
    height: 22px;
}

.axlogin__actions {
    display: flex;
    align-items: center;
}

.axlogin__validation {
    margin: 10px 0 0 !important;
    color: var(--axion-login-error-text, #8a1f1f) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

.axlogin__validation[hidden] {
    display: none !important;
}

.axlogin__field input.axlogin__input--invalid {
    border-color: var(--axion-login-error-border, #b43a3a) !important;
}

.axlogin__actions--login {
    justify-content: space-between;
    margin-top: 20px;
}

.axlogin__actions a {
    color: var(--axlogin-ink) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

.axlogin__actions a:hover,
.axlogin__actions a:focus-visible {
    color: var(--axion-login-link-hover, #111) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.axlogin__submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 36px;
    min-height: 36px;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1px solid var(--axion-login-button, #ffde59) !important;
    border-radius: 6px !important;
    background: var(--axion-login-button, #ffde59) !important;
    color: var(--axlogin-brown) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease;
}

.axlogin__submit--login {
    min-width: 86px;
}

.axlogin__submit--register {
    min-width: 142px;
}

.axlogin__submit:hover,
.axlogin__submit:focus-visible {
    border-color: var(--axion-login-button-hover, #f4cf3f) !important;
    background: var(--axion-login-button-hover, #f4cf3f) !important;
    color: var(--axlogin-brown) !important;
}

.axlogin__support {
    margin-top: 20px;
}

.axlogin__support h3 {
    color: var(--axlogin-label) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.axlogin__support p {
    margin-top: 3px !important;
    color: var(--axlogin-muted) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

.axlogin__benefits {
    display: grid;
    gap: 5px;
    margin: 16px 0 19px !important;
    padding: 0 !important;
    list-style: none !important;
}

.axlogin__benefits li {
    position: relative;
    margin: 0 !important;
    padding: 0 0 0 10px !important;
    color: var(--axlogin-muted);
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.55;
}

.axlogin__benefits li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "-";
}

.axlogin__actions--register {
    margin-top: 16px;
}

.axlogin__status {
    width: 100%;
    margin-top: 28px !important;
    padding: 10px 14px;
    border: 1px solid var(--axion-login-status-border, #d8d8d8);
    background: var(--axion-login-status-bg, #f8f8f8);
    color: var(--axlogin-muted) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    text-align: center;
}

.axlogin__status--error {
    border-color: var(--axion-login-error-status-border, #e5b9b9);
    background: var(--axion-login-error-status-bg, #fff7f7);
    color: var(--axion-login-error-text, #8a1f1f) !important;
}

.axlogin__legal {
    width: 100%;
    max-width: 940px;
    margin: 72px auto 0;
    padding: 0 24px;
    color: var(--axion-login-legal, #808080);
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.65;
    text-align: center;
}

.axlogin__legal p {
    margin: 0 !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

.axlogin__legal p + p {
    margin-top: 10px !important;
}

.axlogin__legal a {
    color: var(--axion-login-legal-link, #1683d8) !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    text-decoration: none !important;
}

.axlogin__legal a:hover,
.axlogin__legal a:focus-visible {
    color: var(--axion-login-legal-hover, #0d65ac) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.axlogin__status[hidden],
.axlogin__panel[hidden] {
    display: none !important;
}

@media (max-width: 1024px) and (min-width: 768px) {
    .axlogin {
        max-width: 860px;
        padding-right: 24px;
        padding-bottom: var(--axlogin-bottom-tablet);
        padding-left: 24px;
    }

    .axlogin__grid {
        grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
        column-gap: 48px;
    }

    .axlogin__panel h2 {
        font-size: 24px !important;
    }
}

@media (max-width: 767px) {
    #axion-login-page {
        align-items: stretch !important;
        justify-content: flex-start !important;
        height: auto !important;
        min-height: 0 !important;
        padding-top: 18px !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    #axion-login-page > .e-con-inner {
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    #axion-login-page .elementor-widget-shortcode,
    #axion-login-page .elementor-widget-shortcode > .elementor-widget-container,
    #axion-login-page .elementor-shortcode {
        align-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .axlogin {
        --axlogin-mobile-accent: var(--axion-login-mobile-button, #ffde59);
        --axlogin-mobile-accent-hover: var(--axion-login-mobile-button-hover, #f4cf3f);
        --axlogin-mobile-ink: var(--axion-login-mobile-title, #24201e);
        position: relative;
        left: 50%;
        width: calc(100vw - 40px);
        max-width: 420px;
        margin: 0;
        padding: 0 0 var(--axlogin-bottom-mobile);
        transform: translateX(-50%);
    }

    .axlogin__grid {
        display: block;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .axlogin__divider {
        display: none;
    }

    .axlogin__panel {
        width: 100%;
        padding: 0;
    }

    .axlogin__panel h2.axlogin__desktop-title {
        display: none;
    }

    .axlogin__mobile-intro {
        display: block;
    }

    .axlogin__mobile-intro h2 {
        color: var(--axlogin-mobile-ink) !important;
        font-size: 32px !important;
        font-weight: 400 !important;
        line-height: 1.15 !important;
    }

    .axlogin__mobile-intro p {
        margin: 9px 0 0 !important;
        color: var(--axion-login-mobile-intro, #4f4b48) !important;
        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
    }

    .axlogin__label--desktop {
        display: none;
    }

    .axlogin__label--mobile {
        display: inline;
    }

    .axlogin__account-notice--desktop {
        display: none;
    }

    .axlogin__account-notice--mobile {
        display: block;
        margin-top: 14px !important;
        padding: 11px 13px;
        border-radius: 10px;
    }

    .axlogin__form--login {
        margin-top: 27px;
    }

    .axlogin__field + .axlogin__field {
        margin-top: 13px;
    }

    .axlogin__field label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }

    .axlogin__field input[type="text"],
    .axlogin__field input[type="email"],
    .axlogin__field input[type="password"] {
        height: 54px;
        padding-right: 14px !important;
        padding-left: 14px !important;
        border-width: 1px !important;
        border-color: var(--axion-login-mobile-border, #dcd7d3) !important;
        border-radius: 8px !important;
        background: var(--axion-login-field-bg, #fff) !important;
        font-size: 16px !important;
        line-height: 52px !important;
        transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
    }

    .axlogin__field input:hover {
        border-color: var(--axion-login-mobile-field-hover, #bbb4af) !important;
    }

    .axlogin__field input:focus {
        border-color: var(--axion-login-mobile-focus, #8e9e28) !important;
        box-shadow: none !important;
    }

    .axlogin__field .axlogin__password input {
        padding-right: 48px !important;
    }

    .axlogin__password-toggle {
        right: 2px;
        width: 44px;
        height: 50px;
        border-radius: 8px !important;
    }

    .axlogin__password-toggle svg {
        width: 20px;
        height: 20px;
    }

    .axlogin__input--mobile-placeholder::placeholder {
        color: var(--axion-login-placeholder, #9b9b9b);
    }

    .axlogin__actions--login {
        display: flex;
        flex-direction: column;
        gap: 18px;
        margin-top: 17px;
    }

    .axlogin__actions--login a {
        order: 1;
        align-self: center;
        color: var(--axion-login-mobile-recovery, #4f4b48) !important;
        font-size: 14px !important;
        text-decoration: underline !important;
        text-underline-offset: 4px;
        white-space: nowrap;
    }

    .axlogin__actions--login .axlogin__submit {
        order: 2;
    }

    .axlogin__submit,
    .axlogin__submit--login,
    .axlogin__submit--register {
        width: 100%;
        min-width: 0;
        height: 52px;
        min-height: 52px;
        padding: 0 18px !important;
        border-color: var(--axlogin-mobile-accent) !important;
        border-radius: 8px !important;
        background: var(--axlogin-mobile-accent) !important;
        color: var(--axion-login-mobile-button-text, #401201) !important;
        font-size: 16px !important;
        font-weight: 600 !important;
    }

    .axlogin__submit:hover,
    .axlogin__submit:focus-visible {
        border-color: var(--axlogin-mobile-accent-hover) !important;
        background: var(--axlogin-mobile-accent-hover) !important;
        color: var(--axion-login-mobile-button-text, #401201) !important;
    }

    .axlogin__submit:focus-visible {
        outline: 2px solid var(--axion-login-mobile-focus, #8e9e28) !important;
        outline-offset: 2px;
        box-shadow: none !important;
    }

    .axlogin__benefits {
        display: none;
    }

    .axlogin__benefits li {
        padding-left: 23px !important;
        color: var(--axion-login-mobile-benefits, #55514e);
        font-size: 13px;
        line-height: 1.45;
    }

    .axlogin__benefits li::before {
        top: 1px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: var(--axion-login-mobile-check-bg, #f1f3df);
        color: var(--axion-login-mobile-check, #748119);
        content: "\2713";
        font-size: 10px;
        font-weight: 700;
    }

    .axlogin__actions--register {
        margin-top: 14px;
    }

    .axlogin__support {
        display: none;
    }

    .axlogin__support h3 {
        color: var(--axlogin-mobile-ink) !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    .axlogin__support p {
        margin-top: 4px !important;
        color: var(--axion-login-mobile-support, #67625f) !important;
        font-size: 12.5px !important;
        line-height: 1.45 !important;
    }

    .axlogin__mobile-switch {
        display: grid;
        gap: 18px;
        width: 100%;
        margin: 38px 0 0 !important;
        padding: 0;
        border: 0;
        color: var(--axion-login-mobile-switch, #696461) !important;
        font-family: inherit !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        text-align: center;
    }

    .axlogin__mobile-separator {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        color: var(--axion-login-mobile-separator, #8a8581);
        font-family: inherit;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.3;
        white-space: nowrap;
    }

    .axlogin__mobile-separator::before,
    .axlogin__mobile-separator::after {
        flex: 1 1 auto;
        height: 1px;
        background: var(--axion-login-mobile-separator-line, #dedad7);
        content: "";
    }

    .axlogin__mobile-switch .axlogin__mobile-secondary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 0;
        height: 52px;
        min-height: 52px;
        margin: 0;
        padding: 0 18px;
        border: 1px solid var(--axlogin-brown) !important;
        border-radius: 8px !important;
        background: var(--axion-login-secondary-bg, #fff) !important;
        color: var(--axlogin-brown) !important;
        font-family: inherit !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: inherit !important;
        text-decoration: none;
        box-shadow: none !important;
        cursor: pointer;
    }

    .axlogin__mobile-switch .axlogin__mobile-secondary:hover,
    .axlogin__mobile-switch .axlogin__mobile-secondary:focus-visible {
        background: var(--axion-login-secondary-bg-hover, #fff9df) !important;
    }

    .axlogin__mobile-switch .axlogin__mobile-secondary:focus-visible {
        outline: 2px solid var(--axion-login-mobile-focus, #8e9e28) !important;
        outline-offset: 2px;
    }

    .axlogin__mobile-switch--register {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        margin-top: 27px !important;
        color: var(--axion-login-mobile-switch, #696461) !important;
        font-size: 14px !important;
    }

    .axlogin__mobile-login-prompt {
        display: inline;
    }

    .axlogin__mobile-switch--register .axlogin__mobile-secondary {
        display: inline-flex;
        width: auto;
        height: 44px;
        min-height: 44px;
        padding: 0 3px;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--axlogin-brown) !important;
        font-size: 14px !important;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .axlogin__mobile-switch--register .axlogin__mobile-secondary:hover,
    .axlogin__mobile-switch--register .axlogin__mobile-secondary:focus-visible {
        background: transparent !important;
        color: var(--axlogin-brown-hover) !important;
    }

    .axlogin__mobile-switch--register .axlogin__mobile-secondary:focus-visible {
        outline: 2px solid var(--axion-login-mobile-focus, #8e9e28) !important;
        outline-offset: 1px;
    }

    .axlogin__form--register {
        margin-top: 27px;
    }

    .axlogin__legal {
        max-width: 350px;
        margin-top: 32px;
        padding: 0 4px;
        color: var(--axion-login-mobile-legal, #76716e);
        font-size: 11.5px;
        line-height: 1.65;
    }

    .axlogin__legal p + p {
        margin-top: 10px !important;
    }

    .axlogin__desktop-break {
        display: none;
    }

    .axlogin__status {
        margin-top: 16px !important;
        padding: 11px 13px;
        border-radius: 10px;
    }
}

@media (max-width: 390px) {
    .axlogin {
        width: calc(100vw - 32px);
    }

    .axlogin__panel {
        padding: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .axlogin *,
    .axlogin *::before,
    .axlogin *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
