/*==================================================
                REGISTER PAGE
==================================================*/

.register-section{

    position:relative;

    min-height:100vh;

    padding:140px 0 100px;

    overflow:hidden;

    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #f8fbff 100%
    );

}

/*==================================================
                BACKGROUND
==================================================*/

.register-overlay{

    position:absolute;

    inset:0;

    background-image:

        radial-gradient(circle at 10% 20%, rgba(37,99,235,.08), transparent 25%),

        radial-gradient(circle at 90% 10%, rgba(59,130,246,.08), transparent 25%),

        radial-gradient(circle at 50% 100%, rgba(14,165,233,.06), transparent 30%);

    pointer-events:none;

}

/*==================================================
                WRAPPER
==================================================*/

.register-wrapper{

    position:relative;

    display:grid;

    grid-template-columns:1fr 520px;

    gap:70px;

    align-items:center;

}

/*==================================================
                LEFT SIDE
==================================================*/

.register-left{

    position:relative;

    z-index:2;

}

.register-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 22px;

    background:#eff6ff;

    color:#2563eb;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

    border:1px solid rgba(37,99,235,.15);

    margin-bottom:30px;

}

.register-left h1{

    font-size:60px;

    line-height:1.15;

    font-weight:800;

    color:#111827;

    margin-bottom:25px;

}

.register-left h1 span{

    display:block;

    color:#2563eb;

}

.register-left p{

    max-width:620px;

    font-size:18px;

    line-height:32px;

    color:#6b7280;

    margin-bottom:45px;

}

/*==================================================
                FEATURES
==================================================*/

.register-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

.feature-box{

    display:flex;

    align-items:center;

    gap:18px;

    padding:20px;

    background:rgba(255,255,255,.75);

    backdrop-filter:blur(15px);

    border-radius:18px;

    border:1px solid rgba(255,255,255,.8);

    box-shadow:0 18px 35px rgba(15,23,42,.06);

    transition:.35s;

}

.feature-box:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 45px rgba(37,99,235,.12);

}

.feature-box i{

    width:60px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    background:linear-gradient(135deg,#2563eb,#3b82f6);

    color:#ffffff;

    font-size:24px;

    flex-shrink:0;

}

.feature-box h4{

    font-size:18px;

    color:#111827;

    margin-bottom:5px;

    font-weight:700;

}

.feature-box span{

    color:#6b7280;

    font-size:14px;

    line-height:22px;

}

/*==================================================
                ROBOT IMAGE
==================================================*/

.register-image{

    margin-top:60px;

    display:flex;

    justify-content:center;

}

.register-image img{

    width:480px;

    max-width:100%;

    animation:robotFloat 5s ease-in-out infinite;

}

@keyframes robotFloat{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0px);

    }

}

/*==================================================
                RIGHT SIDE
==================================================*/

.register-right{

    position:relative;

    z-index:2;

}

.register-card{

    background:rgba(255,255,255,.82);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.85);

    border-radius:28px;

    padding:45px;

    box-shadow:0 25px 60px rgba(15,23,42,.10);

    position:relative;

    overflow:hidden;

}

.register-card::before{

    content:"";

    position:absolute;

    top:-120px;

    right:-120px;

    width:250px;

    height:250px;

    background:rgba(37,99,235,.08);

    border-radius:50%;

    filter:blur(40px);

    pointer-events:none;

}

.register-card h2{

    font-size:34px;

    color:#111827;

    font-weight:700;

    margin-bottom:10px;

}

.register-card>p{

    color:#6b7280;

    margin-bottom:35px;

    font-size:15px;

}

/*==================================================
                FORM
==================================================*/

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.form-group{

    margin-bottom:22px;

    position:relative;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-size:14px;

    font-weight:600;

    color:#374151;

}

.form-group input,
.form-group select{

    width:100%;

    height:56px;

    border:1px solid #dbe4f3;

    border-radius:14px;

    background:#ffffff;

    padding:0 18px;

    font-size:15px;

    color:#111827;

    transition:.3s;

    outline:none;

}

.form-group input:focus,
.form-group select:focus{

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.10);

}

/*==================================================
            PASSWORD ICON
==================================================*/

.password-group{

    position:relative;

}

.password-group input{

    padding-right:55px;

}

.togglePassword,
.toggleConfirm{

    position:absolute;

    right:18px;

    top:47px;

    cursor:pointer;

    color:#6b7280;

    font-size:16px;

    transition:.3s;

    z-index:3;

}

.togglePassword:hover,
.toggleConfirm:hover{

    color:#2563eb;

}

/*==================================================
            TERMS
==================================================*/

.terms{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-bottom:30px;

}

.terms input{

    width:18px;

    height:18px;

    margin-top:3px;

    accent-color:#2563eb;

}

.terms label{

    color:#6b7280;

    line-height:26px;

    font-size:14px;

}

.terms a{

    color:#2563eb;

    font-weight:600;

}

/*==================================================
            REGISTER BUTTON
==================================================*/

.register-btn{

    width:100%;

    height:58px;

    border:none;

    border-radius:14px;

    background:linear-gradient(135deg,#2563eb,#3b82f6);

    color:#ffffff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    box-shadow:0 18px 40px rgba(37,99,235,.20);

    position:relative;

    z-index:3;

}

.register-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 25px 50px rgba(37,99,235,.28);

}

/*==================================================
            LOGIN LINK
==================================================*/

.login-link{

    margin-top:30px;

    text-align:center;

    font-size:15px;

    color:#6b7280;

}

.login-link a{

    color:#2563eb;

    font-weight:700;

    margin-left:6px;

    transition:.3s;

}

.login-link a:hover{

    color:#1d4ed8;

}

/*==================================================
            INPUT STATES
==================================================*/

.form-group input.error,
.form-group select.error{

    border-color:#ef4444;

    box-shadow:0 0 0 4px rgba(239,68,68,.10);

}

.form-group input.success,
.form-group select.success{

    border-color:#22c55e;

    box-shadow:0 0 0 4px rgba(34,197,94,.10);

}

/*==================================================
            PASSWORD STRENGTH
==================================================*/

.password-strength{

    width:100%;

    height:6px;

    background:#e5e7eb;

    border-radius:20px;

    overflow:hidden;

    margin-top:12px;

}

.password-strength span{

    display:block;

    width:0;

    height:100%;

    background:#ef4444;

    transition:.35s;

}

.strength-text{

    margin-top:8px;

    font-size:13px;

    font-weight:600;

    color:#6b7280;

}

/*==================================================
            LOADING BUTTON
==================================================*/

.register-btn.loading{

    pointer-events:none;

    opacity:.8;

}

.register-btn.loading::after{

    content:"";

    width:18px;

    height:18px;

    border:3px solid rgba(255,255,255,.3);

    border-top-color:#ffffff;

    border-radius:50%;

    display:inline-block;

    margin-left:12px;

    animation:buttonLoader .8s linear infinite;

}

@keyframes buttonLoader{

    to{

        transform:rotate(360deg);

    }

}

/*==================================================
            GLASS SHINE
==================================================*/

.register-card::after{

    content:"";

    position:absolute;

    top:-120%;

    left:-40%;

    width:180px;

    height:500px;

    background:linear-gradient(

        rgba(255,255,255,0),

        rgba(255,255,255,.45),

        rgba(255,255,255,0)

    );

    transform:rotate(25deg);

    animation:glassShine 8s infinite;

    pointer-events:none;

}

@keyframes glassShine{

    0%{

        left:-60%;

    }

    100%{

        left:150%;

    }

}

/*==================================================
            PAGE ANIMATION
==================================================*/

.register-left{

    animation:leftFade .9s ease;

}

.register-right{

    animation:rightFade .9s ease;

}

@keyframes leftFade{

    from{

        opacity:0;

        transform:translateX(-60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

@keyframes rightFade{

    from{

        opacity:0;

        transform:translateX(60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

/*==================================================
            RESPONSIVE
==================================================*/

@media(max-width:1200px){

.register-wrapper{

    grid-template-columns:1fr;

    gap:60px;

}

.register-left{

    text-align:center;

}

.register-left p{

    margin-left:auto;

    margin-right:auto;

}

.register-features{

    max-width:850px;

    margin:auto;

}

.register-image{

    display:none;

}

.register-card{

    max-width:700px;

    margin:auto;

}

}

@media(max-width:768px){

.register-section{

    padding:120px 0 70px;

}

.register-left h1{

    font-size:42px;

}

.register-left p{

    font-size:16px;

    line-height:28px;

}

.register-features{

    grid-template-columns:1fr;

}

.form-row{

    grid-template-columns:1fr;

}

.register-card{

    padding:35px 25px;

}

.register-card h2{

    font-size:28px;

}

}

@media(max-width:480px){

.register-section{

    padding-top:110px;

}

.register-left h1{

    font-size:34px;

}

.register-badge{

    font-size:13px;

}

.feature-box{

    padding:18px;

}

.feature-box i{

    width:52px;

    height:52px;

    font-size:20px;

}

.form-group input,
.form-group select{

    height:52px;

}

.register-btn{

    height:54px;

}

.login-link{

    font-size:14px;

}

}

.alert{

    padding:18px;

    border-radius:12px;

    margin-bottom:25px;

    font-size:14px;

}

.alert ul{

    margin:0;

    padding-left:18px;

}

.alert-danger{

    background:#fee2e2;

    color:#b91c1c;

    border:1px solid #fecaca;

}

.alert-success{

    background:#dcfce7;

    color:#166534;

    border:1px solid #bbf7d0;

}