:root {
    /* cores */
    --primary_color: #BC13FE;
    --primaryLight_color: rgba(221, 142, 255, 0.458);
    --secondary_color: #00FFFF;
    --secondaryLight_color: #0ff0fc74;
    --neutral_color: #040a1b; /* alterei achei melhor */
    --cards_color: #1A191B;
    --borderCards_color: rgb(255 255 255 / 0.05);
    --cell_color: #262627;
    --light_color: #ffffff;
    --teste: #050A18;
    
    /* fonts */
    --fontPrimary: "Space Grotesk", sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style-type: none;
}

body {
    background-color: var(--neutral_color);
    position: relative;
    color: #ffffff;
    font-family: var(--fontPrimary);
    z-index: 2;   
}

.balls {
    position: fixed;
    inset: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    z-index: -1;

    & .ball {
        position: absolute;
        width: 400px;
        height: 400px;
        border-radius: 50%;
        filter: blur(120px);
        opacity: 1;
        animation: moveBalls 10s ease infinite alternate;
        transition: transform 3s ease-in-out;
        
        &:nth-child(1) {
            /* background-color: #0ff0fc74; */
            background-color: var(--primaryLight_color);
            top: -220px;
            left: -220px;
            z-index: 0;
            animation-duration: 18s;

        }
        &:nth-child(2) {
            /* background-color: #bb13fe6f; */
            background-color: var(--secondaryLight_color);
            bottom: -100px;
            right: -100px;
            z-index: 0;
            animation-duration: 25s;
        }
    }
}

@keyframes moveBalls {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(200px, -150px);
    }
    50% {
        transform: translate(-150px, 200px);
    }
    75% {
        transform: translate(300px, 100px);
    }
    100% {
        transform: translate(-200px, -100px);
    }
}

/* ======================================================================================
                                        Page CADASTRO
========================================================================================*/
.register_container {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    min-height: 100svh;
    max-width: 500px;
    margin: 0 auto;
    scroll-snap-type: y mandatory;

    .register_header {
        justify-content: center;
        text-align: center;
        position: relative;
        width: 100%;

        .arrowBack {
            display: flex;
            align-items: center;
            justify-content: start;
            text-align: center;
            .arrowBack_img {
                background-image: url(../assets/icons/arrowWhite.png);
                background-position: top left;
                background-size: contain;
                background-repeat: no-repeat;
                z-index: 5;
                width: 20px;
                height: 20px;
                top: 0;
                left: 0;
                margin: 0.5rem;
                cursor: pointer;
                transition: transform .2s ease-in-out;
                                
                &:hover {
                    transform: translate(-2px, -2px);
                }
            }
    
            .register_neon_title {
                position: absolute;
                margin: 20px auto;
                width: 80%;
                height: 60px;
                inset: -4px;
                background-color: #00ffff4c;
                filter: blur(30px);
                border-radius: 60px;
                opacity: 1;
                transition: all 0.4s ease-in-out;
                z-index: 5;
                
                &:hover {
                    opacity: 1;
                    transform: scale(1.4);
                }
            }
            
            .register_title {
                color: var(--secondary_color);
                font-size: 4rem;
                z-index: 1;
                font-family: "Space Grotesk", sans-serif;
                letter-spacing: -2px;
                width: 100%;
                margin: 1rem;
            }
        }
        
        .register_subtitle {
            color: var(--primary_color);
            font-size: 1.2rem;
            font-weight: lighter;
            letter-spacing: 5px;
        }
    }

    .register_cards {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 85%;
        margin: 0 auto;
            
        .register_value {
            scroll-snap-align: start;
            border: 1px solid var(--borderCards_color);
            border-radius: 25px;
            background-color: #2f34446b;
            position: relative;
            padding: 1rem;
            max-width: 500px;
            width: 100%;
            
            display: flex;
            flex-direction: column;
            justify-content: start;
            align-items: center;
            text-align: left;
            gap: 3rem;    
            flex: 1;

            .headLine {
                text-align: center;
                gap: 1rem;
                
                h1 {
                    font-size: clamp(2.4rem, 3vw, 3rem)  /* clamp(2.1rem, 10vw, 2.5rem) */ /* 2rem */;
                    text-align: center;
                    line-height: 1.2 /* 1.3 */;

                    font-weight: 700; /*  */
                    background: linear-gradient(90deg, #00FFFF, #ffffff);
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                }

                h3 {
                    
                    margin-top: 2rem;
                    /* font-weight: 500; */
                    text-align: start;
                    font-size: clamp(1.1rem, 2.4vw, 1.3rem) /* 1.5rem */;
                    
                    color: rgba(255, 255, 255, 0.75);
                    font-weight: 400;
                    line-height: 1.6; /*  */
                    
                }
            }

            .benefit_list {
                display: flex;
                flex-direction: column;
                gap: .8rem;
    
                li {
                    font-size: clamp(1.1rem, 1vw, 1rem) /* 1.1rem */;
                    font-weight: lighter;
                    margin: 0.5rem;

                    /*  */
                    position: relative;
                    padding-left: 1.5rem;
                    font-size: 1rem;
                    color: rgba(255,255,255,0.85);

                    &::before {
                        content: "•";
                        position: absolute;
                        left: 0;
                        color: var(--secondary_color);
                        font-size: 1.2rem;
                    }
                }
            }
        }
    }

    .register_box {
        scroll-snap-align: start;
        max-width: 500px;
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        padding: 1rem 0;
        font-weight: lighter;
        flex: 1;
        
        .register_form {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2rem;
            border: none;
            font-weight: lighter;
            margin-top: 2rem;
            padding: 1rem;

            max-width: 500px; /* testando */
            background-color: #2f34446b;
            border: 1px solid var(--borderCards_color);
            border-radius: 25px;

            h2 {
                color: var(--primary_color);
                font-weight: 700;
                font-size: 3rem;
                text-align: center;
                line-height: 1;
                margin: 2rem 0;
            }
            p {
                width: 90%;
                font-size: 1.2rem;
                text-align: start;
                        
            }
    
            .field {
                width: 100%;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                align-items: center;
                gap: 0.3rem;
                font-size: 0.8rem;

                label {
                    width: 90%;
                    text-align: start;
                }

                input {
                    width: 90%;
                    padding: .2rem;
                    border: 1px solid var(--borderCards_color);
                    background-color: var(--cell_color);
                    color: rgb(152, 144, 144);
                    border-radius: 6px;
                    font-weight: lighter;    
                }
            }

            .termsSM {
                text-align: center;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: .5rem;
                p {
                    font-size: .9rem;
                }
            }

            .register_btn {
                font-size: 1.6rem;
                font-family: var(--fontPrimary);
                font-weight: 500;
                width: 60%;
                padding: 1rem;
                background-color: var(--secondary_color);
                border: none;
                border-radius: 6px;
                margin: 2rem auto;    
            }
        }
    }
}

/* ======================================================================================
                                RESPONSIVO CAD
========================================================================================*/
@media (min-width: 1024px) {
    .register_container {
        max-width: 1200px;
        min-height: 100svh;
        margin: 0 auto;
        display: flex;
        flex-direction: column;    
        scroll-snap-type: none;
        padding: 0 2rem;
    
        .register_header {
            flex-shrink: 0;
            flex-grow: 2;
            margin-bottom: 2rem;

            .arrowBack {
                width: 95%;
                .register_neon_title {
                    width: 35%;
                    margin: 20px auto;
                    transform: scale(1.2);
                }
                .register_title {
                    margin: 0;
                    padding: 0;
                }
            }
        }
        
        .register_cards {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            justify-content: center;
            width: 100%;
            gap: 1rem;
            flex: 1;
            margin: 0 auto;
            min-height: 0;

            .register_value {
                flex: 1;
                max-width: 550px;
                height: 100%;
                scroll-snap-align: none;
                background-color: #2f34446b;
                padding: 1.5rem;
                min-height:0;
                display: flex;
                flex-direction: column;
                
                .headLine {
                    
                    h3 {
                        font-size: 1.2rem;

                        /*  */
                        &::after {
                            content: "";
                            display: block;
                            width: 400px;
                            height: 3px;
                            margin: 1.5rem auto;
                            background: linear-gradient(90deg, var(--primary_color), var(--secondary_color));
                            border-radius: 10px;
                        }
                    }
                    
                }
                .benefit_list {
                    gap: .1rem;
                    
                    li {
                        margin: 0.1rem;
                        
                    }
                }
            }
        }
        
        .register_box {
            scroll-snap-align: none;
            flex: 1;
            max-width: 600px;
            scroll-snap-align: none;
            padding: 0;
            height: 100%;
            min-height:0;
            display: flex;
            flex-direction: column;
        
            .register_form {
                margin-top: 0;  
                width: 100%;
                max-width: 600px;
                justify-content: center;
                padding: 1.5rem;
                gap: 1rem;

                h2 {
                    font-size: 2.2rem;
                    /* margin-top: 0.5rem; */
                    margin: 0;
                }
                p {
                    font-size: .9rem;
                }
                .field {
                    font-size: 0.7rem ;
                    input {

                    }
                }
                .termsSM {
                    font-size: 0.1rem;            
                }

                .register_btn {
                    /* padding: 0.7rem; */
                    margin: 0 auto;
                }
            }
        }        
    }
}