/* =========================
   RESET
========================= */

*{
    box-sizing:border-box;
}

html{
    min-height:100%;
    background:var(--bg-body);
}

body{
    min-height:100dvh;
    margin:0;

    display:flex;
    justify-content:center;
    align-items:flex-start;

    background:var(--bg-body);
    color:var(--text-dark);

    font-family:"Poppins",sans-serif;
}


/* =========================
   CONTAINER
========================= */

.register-box{
    width:100%;
    max-width:var(--container-width);
    min-height:100dvh;

    display:flex;
    flex-direction:column;

    padding:var(--space-2xl);

    background:var(--bg-card);
    box-shadow:var(--shadow);
}


/* =========================
   LOGO
========================= */

.logo-area{
    display:flex;
    justify-content:center;
    align-items:center;

    margin-bottom:100px;
}

.logo-box{
    width:116px;
    height:116px;

    display:flex;
    justify-content:center;
    align-items:center;

    overflow:hidden;
    border-radius:18px;

    background:#f1582c;
    padding: 10px;
}

.logo-box img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
}


/* =========================
   TITLE
========================= */

.page-title{
    margin:0 0 38px;

    color:var(--primary-light);
    text-align:center;

    font-size:42px;
    font-weight:var(--fw-medium);
    line-height:1.2;
}


/* =========================
   FORM
========================= */

.register-box form{
    width:100%;
}

.register-box .mb-3{
    margin-bottom:var(--space-lg) !important;
}

.register-box .mb-4{
    margin-bottom:var(--space-xl) !important;
}

.form-label{
    margin-bottom:var(--space-sm);

    color:var(--text-dark);

    font-size:var(--font-sm);
    font-weight:var(--fw-medium);
}


/* =========================
   INPUT GROUP
========================= */

.register-box .input-group{
    width:100%;
}

.register-box .form-control,
.register-box .input-group-text{
    min-height:48px;

    border-color:var(--border);
    border-radius:var(--radius-sm);

    background:var(--bg-card);
    color:var(--text-dark);

    font-size:var(--font-md);

    box-shadow:none;
    transition:var(--transition);
}

.register-box .input-group > .form-control{
    border-radius:var(--radius-sm) 0 0 var(--radius-sm);
}

.register-box .input-group > .input-group-text:last-child{
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}

.register-box .input-group > .input-group-text:first-child{
    border-radius:var(--radius-sm) 0 0 var(--radius-sm);
}

.register-box .input-group > .input-group-text:first-child + .form-control{
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}


/* =========================
   INPUT
========================= */

.register-box .form-control{
    padding:var(--space-md) var(--space-lg);
}

.register-box .form-control::placeholder{
    color:var(--text-muted);
    opacity:1;
}

.register-box .form-control:focus{
    border-color:var(--primary);
    background:var(--bg-card);

    box-shadow:0 0 0 3px rgba(238,77,45,.1);
}


/* =========================
   INPUT ICON
========================= */

.register-box .input-group-text{
    min-width:46px;
    padding:var(--space-md);

    display:flex;
    justify-content:center;
    align-items:center;
}

.register-box .input-group-text i{
    color:var(--text-light);
    font-size:var(--font-md);
}


/* =========================
   PASSWORD TOGGLE
========================= */

.toggle{
    cursor:pointer;
    user-select:none;
}

.toggle i{
    transition:var(--transition);
}

.toggle:hover i{
    color:var(--primary);
}


/* =========================
   CAPTCHA
========================= */

#captcha{
    min-width:72px;

    color:var(--text-dark);

    font-size:var(--font-md);
    font-weight:var(--fw-bold) !important;
    font-style:italic;
    letter-spacing:4px;

    cursor:pointer;
    user-select:none;
}


/* =========================
   BUTTON
========================= */

.btn-register{
    width:100%;
    min-height:52px;

    padding:var(--space-md) var(--space-lg);

    border:0;
    border-radius:var(--radius-sm);

    background:var(--primary);
    color:var(--text-white);

    font-size:var(--font-lg);
    font-weight:var(--fw-semibold);

    box-shadow:0 6px 14px rgba(238,77,45,.22);

    transition:var(--transition);
}

.btn-register:hover,
.btn-register:focus{
    background:var(--primary-dark);
    color:var(--text-white);

    transform:translateY(-1px);
}

.btn-register:active{
    background:var(--primary-dark) !important;
    color:var(--text-white) !important;

    transform:translateY(0);
}


/* =========================
   LOGIN TEXT
========================= */

.login-text{
    margin:var(--space-xl) 0 0;

    color:var(--text-light);
    text-align:center;

    font-size:var(--font-xs);
}

.login-text a{
    color:var(--primary);
    text-decoration:none;
    font-weight:var(--fw-medium);
}

.login-text a:hover{
    color:var(--primary-dark);
}


/* =========================
   ALERT
========================= */

.register-alert{
    margin-bottom:var(--space-lg);
    padding:var(--space-md) var(--space-lg);

    border-radius:var(--radius-sm);

    font-size:var(--font-sm);
}

.register-alert.error{
    color:var(--danger);
    background:rgba(239,68,68,.1);
    border:1px solid rgba(239,68,68,.2);
}

.register-alert.success{
    color:var(--success);
    background:rgba(34,197,94,.1);
    border:1px solid rgba(34,197,94,.2);
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width:547px){

    body{
        background:var(--bg-card);
    }

    .register-box{
        max-width:100%;
        padding:var(--space-xl) var(--space-lg);
    }

    .logo-box{
        width:78px;
        height:78px;
    }

    .logo-box img{
        width:56px;
    }

    .page-title{
        font-size:var(--font-xl);
    }
}

/* =========================
   REGISTER LINK
========================= */

.login-link{
    margin-top:auto;
    padding-top:34px;

    color:var(--text-light);
    text-align:center;

    font-size:15px;
}

.login-link a{
    color:var(--text-light);
    text-decoration:none;
}

.login-link a:hover{
    color:var(--primary);
}