/* ==========================================================
   SK-TECH REGISTER PAGE
   FILE: register.css
========================================================== */

/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Poppins",sans-serif;
    background:#F5F8FC;
    color:#0B1F3A;
}

/* ==========================================================
   REGISTER SECTION
========================================================== */

.register-section{

    width:100%;
    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:40px 20px;

}

/* ==========================================================
   REGISTER CONTAINER
========================================================== */

.register-container{

    width:100%;
    max-width:1300px;

    display:grid;
    grid-template-columns:1fr 1fr;

    background:#FFFFFF;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}

/* ==========================================================
   LEFT PANEL
========================================================== */

.register-left{

    position:relative;

    background:linear-gradient(135deg,#0B1F3A,#2D6CDF);

    color:#FFFFFF;

    padding:60px;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}

.overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.15);

}

.left-content{

    position:relative;

    z-index:2;

}

/* ==========================================================
   BRAND
========================================================== */

.brand{

    text-align:center;

    margin-bottom:45px;

}

.logo{

    width:120px;

    height:120px;

    object-fit:contain;

    margin-bottom:20px;

    filter:drop-shadow(0 12px 25px rgba(0,0,0,.35));

}

.brand h1{

    font-size:42px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:10px;

}

.brand p{

    font-size:18px;

    opacity:.9;

}

/* ==========================================================
   WELCOME TEXT
========================================================== */

.welcome-text{

    margin-bottom:40px;

}

.welcome-text h2{

    font-size:34px;

    font-weight:700;

    margin-bottom:18px;

}

.welcome-text p{

    font-size:16px;

    line-height:1.9;

    opacity:.95;

}

/* ==========================================================
   SECURITY BOX
========================================================== */

.security-box{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.security-box div{

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px 20px;

    border-radius:14px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(10px);

}

.security-box i{

    width:46px;

    height:46px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#FFFFFF;

    color:#2D6CDF;

    font-size:18px;

}

.security-box span{

    font-size:16px;

    font-weight:500;

}
/* ==========================================================
   RIGHT PANEL
========================================================== */

.register-right{

    display:flex;

    justify-content:center;

    align-items:center;

    padding:60px 45px;

    background:#FFFFFF;

}

/* ==========================================================
   REGISTER CARD
========================================================== */

.register-card{

    width:100%;

    max-width:500px;

}

.card-header{

    text-align:center;

    margin-bottom:35px;

}

.card-logo{

    width:80px;

    margin-bottom:18px;

}

.card-header h2{

    font-size:34px;

    color:#0B1F3A;

    font-weight:700;

    margin-bottom:10px;

}

.card-header p{

    color:#6B7280;

    font-size:15px;

}

/* ==========================================================
   INPUT GROUP
========================================================== */

.input-group{

    margin-bottom:22px;

}

.input-group label{

    display:block;

    margin-bottom:8px;

    font-size:15px;

    font-weight:600;

    color:#0B1F3A;

}
.input-box select {

    width: 100%;

    height: 50px;

    border: none;

    outline: none;

    background: transparent;

    padding-left: 0;

    padding-right: 35px;

    font-size: 15px;

    color: #102a56;

    font-family: "Poppins", sans-serif;

}
/* ==========================================
   GENDER SELECT
========================================== */

.input-box select {

    width: 100%;

    height: 58px;

    border: none;

    outline: none;

    background: transparent;

    padding: 0 45px 0 12px;

    font-family: "Poppins", sans-serif;

    font-size: 17px;

    font-weight: 600;

    color: #102a56;

    cursor: pointer;

    appearance: none;

    -webkit-appearance: none;

    -moz-appearance: none;

}

.input-box select option {

    font-size: 16px;

    font-weight: 500;

    color: #102a56;

    background: #ffffff;

}

.input-box{

    position:relative;

}

.input-box input{

    width:100%;

    height:58px;

    padding:0 55px;

    border:2px solid #E5E7EB;

    border-radius:14px;

    outline:none;

    font-size:15px;

    background:#FAFBFC;

    transition:.3s;

}

.input-box input:focus{

    border-color:#2D6CDF;

    background:#FFFFFF;

    box-shadow:0 0 0 4px rgba(45,108,223,.15);

}

.input-box i:first-child{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#2D6CDF;

    font-size:18px;

}

/* ==========================================================
   PASSWORD TOGGLE
========================================================== */

#togglePassword,

#toggleConfirmPassword{

    position:absolute;

    right:18px;

    top:50%;

    transform:translateY(-50%);

    color:#7A7A7A;

    cursor:pointer;

    transition:.3s;

}

#togglePassword:hover,

#toggleConfirmPassword:hover{

    color:#2D6CDF;

}

/* ==========================================================
   PASSWORD STRENGTH
========================================================== */

.password-strength{

    margin-top:8px;

}

.strength-bar{

    width:100%;

    height:8px;

    border-radius:20px;

    background:#E5E7EB;

    overflow:hidden;

}

.strength-fill{

    width:0;

    height:100%;

    background:#EF4444;

    transition:.4s;

}

.strength-text{

    margin-top:8px;

    font-size:13px;

    color:#6B7280;

}

/* ==========================================================
   TERMS & CONDITIONS
========================================================== */

.form-options{

    margin:25px 0;

}

.remember-me{

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:14px;

    color:#4B5563;

    line-height:1.6;

}

.remember-me input{

    margin-top:4px;

    accent-color:#2D6CDF;

}

.remember-me a{

    color:#2D6CDF;

    text-decoration:none;

    font-weight:600;

}

.remember-me a:hover{

    color:#0B1F3A;

}

/* ==========================================================
   REGISTER BUTTON
========================================================== */

.register-btn{

    width:100%;

    height:58px;

    border:none;

    border-radius:14px;

    background:#2D6CDF;

    color:#FFFFFF;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.register-btn:hover{

    background:#0B1F3A;

    transform:translateY(-2px);

}

.register-btn i{

    margin-right:10px;

}

/* ==========================================================
   DIVIDER
========================================================== */

.divider{

    display:flex;

    align-items:center;

    margin:35px 0;

}

.divider::before,

.divider::after{

    content:"";

    flex:1;

    height:1px;

    background:#E5E7EB;

}

.divider span{

    padding:0 18px;

    color:#9CA3AF;

    font-size:14px;

}

/* ==========================================================
   LOGIN LINK
========================================================== */

.login-section-link{

    text-align:center;

}

.login-section-link p{

    color:#6B7280;

    margin-bottom:15px;

}

.login-btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    height:56px;

    border:2px solid #2D6CDF;

    border-radius:14px;

    color:#2D6CDF;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.login-btn:hover{

    background:#2D6CDF;

    color:#FFFFFF;

}

/* ==========================================================
   SECURITY NOTICE
========================================================== */

.security-note{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-top:30px;

    padding:18px;

    border-left:5px solid #2D6CDF;

    border-radius:12px;

    background:#F4F8FF;

}

.security-note i{

    color:#2D6CDF;

    font-size:18px;

    margin-top:3px;

}

.security-note p{

    color:#4B5563;

    font-size:14px;

    line-height:1.7;

}

/* ==========================================================
   FOOTER
========================================================== */

.register-footer{

    margin-top:35px;

    text-align:center;

}

.register-footer p{

    font-size:13px;

    color:#6B7280;

    margin-bottom:8px;

    line-height:1.8;

}

.register-footer a{

    color:#2D6CDF;

    text-decoration:none;

    font-weight:600;

}

.register-footer a:hover{

    color:#0B1F3A;

}
/* ==========================================================
   LOADING OVERLAY
========================================================== */

.loading-overlay{

    position:fixed;

    inset:0;

    background:rgba(255,255,255,.92);

    display:none;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    z-index:9999;

}

.loader{

    width:65px;

    height:65px;

    border:6px solid #E5E7EB;

    border-top:6px solid #2D6CDF;

    border-radius:50%;

    animation:spin .8s linear infinite;

}

.loading-overlay p{

    margin-top:20px;

    font-size:16px;

    font-weight:600;

    color:#0B1F3A;

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}

/* ==========================================================
   TOAST NOTIFICATION
========================================================== */

.toast{

    position:fixed;

    top:30px;

    right:30px;

    min-width:320px;

    padding:18px 22px;

    background:#2D6CDF;

    color:#FFFFFF;

    border-radius:14px;

    display:none;

    align-items:center;

    gap:15px;

    box-shadow:0 18px 40px rgba(0,0,0,.18);

    z-index:99999;

    animation:slideIn .35s ease;

}

.toast i{

    font-size:22px;

}

.toast span{

    font-size:15px;

    font-weight:500;

}

@keyframes slideIn{

    from{

        opacity:0;

        transform:translateX(100%);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

/* ==========================================================
   FORM ANIMATION
========================================================== */

.register-card{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================================================
   LOGO ANIMATION
========================================================== */

.logo,

.card-logo{

    animation:floatLogo 3s ease-in-out infinite;

}

@keyframes floatLogo{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

/* ==========================================================
   INPUT EFFECTS
========================================================== */

.input-box input{

    transition:
    border-color .3s,
    box-shadow .3s,
    transform .25s;

}

.input-box input:focus{

    transform:translateY(-2px);

}

/* ==========================================================
   BUTTON EFFECTS
========================================================== */

.register-btn,

.login-btn{

    transition:.3s ease;

}

.register-btn:active,

.login-btn:active{

    transform:scale(.98);

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1100px){

.register-container{

grid-template-columns:1fr;

max-width:700px;

}

.register-left{

display:none;

}

.register-right{

padding:45px;

}

}

@media(max-width:768px){

.register-section{

padding:20px;

}

.register-right{

padding:35px 25px;

}

.card-header h2{

font-size:30px;

}

.register-btn,

.login-btn{

height:54px;

font-size:15px;

}

.toast{

left:20px;

right:20px;

min-width:auto;

}

}

@media(max-width:500px){

.register-card{

width:100%;

}

.card-logo{

width:70px;

}

.card-header h2{

font-size:26px;

}

.input-box input{

height:52px;

font-size:14px;

}

.remember-me{

font-size:13px;

}

.security-note{

flex-direction:column;

}

.logo{

width:100px;

height:100px;

}

}

/* ==========================================================
   CUSTOM SCROLLBAR
========================================================== */

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-thumb{

    background:#2D6CDF;

    border-radius:20px;

}

::-webkit-scrollbar-track{

    background:#F1F5F9;

}

/* ==========================================================
   TEXT SELECTION
========================================================== */

::selection{

    background:#2D6CDF;

    color:#FFFFFF;

}

/* ==========================================================
   END OF FILE
========================================================== */