/* ==========================================================
   TALENZOA PREMIUM APPLICATION FORM
========================================================== */

.tz-application-form{
    display:flex;
    flex-direction:column;
    gap:28px;
}

/* ===========================
   GRID
=========================== */

.tz-form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.tz-form-group{
    display:flex;
    flex-direction:column;
    gap:10px;
}

/* ===========================
   LABELS
=========================== */

.tz-form-group label{
    font-size:15px;
    font-weight:600;
    color:#0F172A;
}

.required{
    color:#EF4444;
}

/* ===========================
   INPUTS
=========================== */

.tz-form-group input,
.tz-form-group textarea{

    width:100%;

    padding:15px 18px;

    font-size:15px;

    border:1px solid #E2E8F0;

    border-radius:14px;

    background:#fff;

    transition:.3s;

    outline:none;

    box-sizing:border-box;

}

.tz-form-group textarea{

    min-height:170px;

    resize:vertical;

}

.tz-form-group input:focus,
.tz-form-group textarea:focus{

    border-color:#7A3EF5;

    box-shadow:0 0 0 4px rgba(122,62,245,.12);

}
.tz-field-help{
    display:block;
    margin-top:8px;
    font-size:13px;
    color:#64748B;
    line-height:1.5;
}

/* ===========================
   PHONE
=========================== */

.tz-phone-input{

    display:flex;

    align-items:center;

    border:1px solid #E2E8F0;

    border-radius:14px;

    overflow:hidden;

    transition:.3s;

}

.tz-phone-input:focus-within{

    border-color:#7A3EF5;

    box-shadow:0 0 0 4px rgba(122,62,245,.12);

}

.tz-country-code{

    padding:15px 18px;

    background:#F8FAFC;

    border-right:1px solid #E2E8F0;

    font-weight:600;

    white-space:nowrap;

}

.tz-phone-input input{

    border:none !important;

    box-shadow:none !important;

}

/* ===========================
   SALARY
=========================== */

.tz-salary-input{

    display:flex;

    align-items:center;

    border:1px solid #E2E8F0;

    border-radius:14px;

    overflow:hidden;

    transition:.3s;

}

.tz-salary-input:focus-within{

    border-color:#7A3EF5;

    box-shadow:0 0 0 4px rgba(122,62,245,.12);

}

.tz-currency{

    padding:15px 20px;

    background:#F8FAFC;

    border-right:1px solid #E2E8F0;

    font-weight:700;

}

.tz-salary-input input{

    border:none !important;

    box-shadow:none !important;

}

/* ===========================
   EXPERIENCE CARDS
=========================== */

.tz-experience-cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));

    gap:14px;

}

.tz-exp-card{

    padding:16px;

    border:2px solid #E2E8F0;

    border-radius:14px;

    text-align:center;

    cursor:pointer;

    font-weight:600;

    transition:.30s;

    background:#fff;

}

.tz-exp-card:hover{

    border-color:#7A3EF5;

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(122,62,245,.15);

}

.tz-exp-card.active{

    background:#F5F1FF;

    border-color:#7A3EF5;

    color:#7A3EF5;

}

/* ===========================
   UPLOAD CARD
=========================== */

.tz-upload-label{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:50px 30px;

    border:2px dashed #CBD5E1;

    border-radius:18px;

    background:#FAFAFC;

    cursor:pointer;

    transition:.35s;

}

.tz-upload-label:hover{

    border-color:#7A3EF5;

    background:#F8F4FF;

}

.tz-upload-icon{

    font-size:52px;

    margin-bottom:15px;

}

.tz-upload-label h4{

    margin:0 0 12px;

    color:#0F172A;

    font-size:22px;

}

.tz-upload-label p{

    margin:0;

    color:#64748B;

}

.tz-upload-label strong{

    color:#7A3EF5;

}

.tz-upload-label small{

    margin-top:14px;

    color:#94A3B8;

}

.tz-file-name{

    margin-top:18px;

    color:#16A34A;

    font-weight:700;

}

.tz-upload-label.dragging{

    border-color:#7A3EF5;

    background:#F3EEFF;

    transform:scale(1.02);

}

/* ===========================
   BUTTON
=========================== */

.tz-submit-btn{

    border:none;

    background:linear-gradient(135deg,#7A3EF5,#5B2FC6);

    color:#fff;

    padding:18px;

    font-size:17px;

    font-weight:700;

    border-radius:14px;

    cursor:pointer;

    transition:.35s;

}

.tz-submit-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 20px 45px rgba(122,62,245,.25);

}

/* ===========================
   MOBILE
=========================== */

@media(max-width:768px){

    .tz-form-grid{

        grid-template-columns:1fr;

    }

    .tz-experience-cards{

        grid-template-columns:repeat(2,1fr);

    }

}