body.page-id-2349 {
    background:
        radial-gradient(circle at 20% 10%, rgba(229,9,20,.13), transparent 35%),
        radial-gradient(circle at 90% 80%, rgba(229,9,20,.07), transparent 35%),
        #07090d !important;
}

body.page-id-2349 .streamit-registration {
    width: min(680px, calc(100% - 32px));
    max-width: 680px;
    margin: 45px auto;
    padding: 0;
    background: transparent;
}

body.page-id-2349 .streamit-registration > a {
    display: none !important;
}

#streamit-registration-form {
    width: 100%;
}

.tfxw {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        linear-gradient(
            145deg,
            rgba(24,27,35,.98),
            rgba(12,14,19,.99)
        );
    box-shadow:
        0 35px 90px rgba(0,0,0,.48),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.tfxw-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 32px 18px;
}

.tfxw-brand {
    color: #fff !important;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-decoration: none !important;
}

.tfxw-brand span {
    color: #e50914;
}

.tfxw-counter {
    color: #9298a5;
    font-size: 13px;
    font-weight: 600;
}

.tfxw-progress {
    height: 4px;
    margin: 0 32px;
    overflow: hidden;
    border-radius: 20px;
    background: rgba(255,255,255,.07);
}

.tfxw-progress span {
    display: block;
    width: 16.666%;
    height: 100%;
    border-radius: inherit;
    background: #e50914;
    box-shadow: 0 0 16px rgba(229,9,20,.55);
    transition: width .4s cubic-bezier(.4,0,.2,1);
}

.tfxw-content {
    padding: 48px 55px 40px;
}

#tfxw-stage.animate {
    animation: tfxwIn .32s ease both;
}

@keyframes tfxwIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.tfxw-eyebrow {
    margin-bottom: 12px;
    color: #e50914;
    font-size: 14px;
    font-weight: 800;
}

.tfxw h1 {
    max-width: 560px;
    margin: 0 0 13px;
    color: #fff;
    font-size: clamp(28px, 5vw, 38px);
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: -.7px;
}

.tfxw-description {
    max-width: 540px;
    margin: 0 0 32px;
    color: #a8aeba;
    font-size: 16px;
    line-height: 1.65;
}

.tfxw-field {
    margin-top: 8px;
}

.tfxw-field label {
    display: block;
    margin-bottom: 9px;
    color: #e8e9ed;
    font-size: 13px;
    font-weight: 700;
}

.tfxw-field input {
    width: 100% !important;
    height: 58px;
    box-sizing: border-box;
    border: 1px solid #343944 !important;
    border-radius: 14px !important;
    outline: 0 !important;
    background: #171a21 !important;
    color: #fff !important;
    padding: 0 17px !important;
    font-size: 17px !important;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.tfxw-field input::placeholder {
    color: #686f7c;
}

.tfxw-field input:focus {
    border-color: #e50914 !important;
    background: #1b1e26 !important;
    box-shadow: 0 0 0 4px rgba(229,9,20,.10) !important;
}

.tfxw-helper,
.tfxw-secure {
    margin: 14px 2px 0;
    color: #737a87;
    font-size: 13px;
    line-height: 1.5;
}

.tfxw-password-info {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 13px;
    color: #9298a5;
    font-size: 13px;
}

#tfxw-strength-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #555b66;
}

#tfxw-strength-dot[data-level="1"] {
    background: #e65353;
}

#tfxw-strength-dot[data-level="2"] {
    background: #e9a23b;
}

#tfxw-strength-dot[data-level="3"],
#tfxw-strength-dot[data-level="4"] {
    background: #53c77a;
}

.tfxw-code-area {
    margin-top: 20px;
}

.tfxw-resend {
    display: inline-block;
    margin-top: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #c9cdd5;
    font-size: 13px;
    cursor: pointer;
}

.tfxw-resend:not(:disabled):hover {
    color: #fff;
    text-decoration: underline;
}

.tfxw-resend:disabled {
    color: #676d78;
    cursor: default;
}

.tfxw-summary {
    overflow: hidden;
    margin: 5px 0 25px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.025);
}

.tfxw-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 15px 17px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.tfxw-summary > div:last-child {
    border-bottom: 0;
}

.tfxw-summary span {
    color: #777e8b;
    font-size: 13px;
}

.tfxw-summary strong {
    overflow: hidden;
    color: #e9eaf0;
    font-size: 14px;
    font-weight: 600;
    text-align: right;
    text-overflow: ellipsis;
}

.tfxw-terms {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: #aeb3bd;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
}

.tfxw-terms input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #e50914;
}

.tfxw-terms a {
    color: #fff;
    text-decoration: underline;
}

.tfxw-error {
    display: none;
    margin-top: 20px;
    padding: 12px 14px;
    border: 1px solid rgba(255,93,93,.22);
    border-radius: 11px;
    background: rgba(255,67,67,.08);
    color: #ff8989;
    font-size: 14px;
}

.tfxw-error.show {
    display: block;
}

.tfxw-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 32px;
}

.tfxw-next,
.tfxw-back {
    min-height: 50px;
    border-radius: 12px;
    font-weight: 800;
    transition:
        transform .15s ease,
        opacity .15s ease,
        background .15s ease;
}

.tfxw-next {
    min-width: 160px;
    margin-left: auto;
    border: 0;
    background: #e50914;
    color: #fff;
    padding: 0 24px;
}

.tfxw-next:hover:not(:disabled) {
    transform: translateY(-1px);
    background: #f10d18;
}

.tfxw-next:disabled {
    opacity: .58;
    cursor: wait;
}

.tfxw-back {
    border: 1px solid rgba(255,255,255,.1);
    background: transparent;
    color: #aeb3bd;
    padding: 0 20px;
}

.tfxw-back:hover {
    background: rgba(255,255,255,.05);
    color: #fff;
}

.tfxw-login {
    margin-top: 27px;
    color: #717885;
    font-size: 13px;
    text-align: center;
}

.tfxw-login a {
    color: #e9eaf0;
    font-weight: 700;
}

@media (max-width: 600px) {
    body.page-id-2349 .streamit-registration {
        width: 100%;
        margin: 0;
    }

    .tfxw {
        min-height: 100svh;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .tfxw-header {
        padding: 22px 21px 16px;
    }

    .tfxw-progress {
        margin: 0 21px;
    }

    .tfxw-content {
        padding: 42px 21px 30px;
    }

    .tfxw h1 {
        font-size: 30px;
    }

    .tfxw-description {
        margin-bottom: 27px;
        font-size: 15px;
    }

    .tfxw-actions {
        margin-top: 27px;
    }

    .tfxw-next {
        flex: 1;
        min-width: 0;
    }

    .tfxw-back {
        padding: 0 15px;
    }

    .tfxw-summary > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .tfxw-summary strong {
        max-width: 100%;
        text-align: left;
    }
}

/* ===== refinamentos cadastro humanizado ===== */

.tfxw-username-rules {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 23px;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 12px;
    background: rgba(255,255,255,.025);
    color: #9298a5;
    font-size: 13px;
    line-height: 1.45;
}

.tfxw-username-rules strong {
    color: #d9dce3;
    font-size: 13px;
}

.tfxw-username-rules span::before {
    content: "✓";
    margin-right: 7px;
    color: #e50914;
    font-weight: 800;
}

#tfxw-password-confirm {
    margin-bottom: 2px;
}

.tfxw-field + .tfxw-field {
    margin-top: 18px;
}

.tfxw-next .btn-loader {
    color: inherit;
}


/*
 * TelaFlix Registration
 * O formulário Streamit nasce invisível e só é revelado
 * depois que o wizard estiver pronto.
 */
body.page-id-2349 #streamit-registration-form {
    visibility: hidden;
}

body.page-id-2349 #streamit-registration-form.tfx-wizard-ready {
    visibility: visible;
}

body.page-id-2349 .streamit-registration > a {
    display: none !important;
}


/* ===== Navegação e reinício do cadastro ===== */
.tfxw-header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.tfxw-step-nav{display:flex;gap:6px}.tfxw-nav-btn,.tfxw-restart{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;transition:.18s ease}.tfxw-nav-btn{width:34px;height:34px;border-radius:10px;font-size:19px;line-height:1;display:grid;place-items:center}.tfxw-nav-btn:hover:not(:disabled),.tfxw-restart:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}.tfxw-nav-btn:disabled{opacity:.28;cursor:not-allowed}.tfxw-restart{height:34px;padding:0 12px;border-radius:10px;font-size:12px;font-weight:700}.tfxw-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:.2s ease}.tfxw-modal.show{opacity:1;visibility:visible}.tfxw-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(7px)}.tfxw-modal-card{position:relative;width:min(440px,100%);padding:32px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:#15161a;box-shadow:0 24px 80px rgba(0,0,0,.5);text-align:center}.tfxw-modal-icon{width:52px;height:52px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;background:rgba(229,9,20,.12);color:#e50914;font-size:28px;font-weight:700}.tfxw-modal-card h2{margin:0 0 10px;color:#fff;font-size:24px}.tfxw-modal-card p{margin:0;color:#a6aab4;font-size:14px;line-height:1.6}.tfxw-modal-actions{display:flex;gap:10px;margin-top:26px}.tfxw-modal-actions button{flex:1;min-height:46px;border-radius:11px;font-weight:700;border:0}.tfxw-modal-cancel{background:#2a2c32;color:#fff}.tfxw-modal-confirm{background:#e50914;color:#fff}.tfxw-modal-open{overflow:hidden}@media(max-width:600px){.tfxw-header{flex-wrap:wrap}.tfxw-header-tools{gap:6px}.tfxw-counter{order:3;width:100%;text-align:right}.tfxw-restart{padding:0 9px}.tfxw-modal-card{padding:27px 20px}.tfxw-modal-actions{flex-direction:column-reverse}}
