/*career nav begin*/
.nav_career{
    flex: 1 1 0;
}
.nav_career .item{
    font-size: 1.125rem;
    padding: 1rem;
    position: relative;
    cursor: pointer;
}
.nav_career .item:hover{
    color: #16b2a7;
}
.nav_career .nav-item::before{
    position: absolute;
    left: -1.5rem;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    display: block;
    width: 2px;
    height: 0.875rem;
    background: #16b2a7;
    z-index: 1;
}
.nav_career .user{
    position: relative;
    cursor: pointer;
}
.nav_career .user::after{
    position: absolute;
    right: 0;
    top: 40%;
    transform: translateY(-50%);
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #000;
    border-top: 1px solid #000;
    transform: rotate(135deg);
}
.nav_career .user .user-menu {
    position: absolute;
    top: 98%;
    right: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    min-width: 180px;
    z-index: 1000;
    display: none;
}
.user-menu a {
    display: block;
    padding: 0.625rem 1rem;
    text-decoration: none;
    font-size: 0.875rem;
}
.user-menu a:hover {
    background-color: #f5f5f5;
}
.user:hover .user-menu {
    display: block;
}
/*career nav end*/
/*careerForm begin*/
.careerForm{
    background: white;
    padding: 1rem 2rem;
    border-radius: 4rem;
    box-shadow: 0 0 1.25rem rgba(0,0,0,0.2);
    width: 60%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    top: -2.5rem;
}
.careerForm .icon{
    width: 1.25rem;
}
.careerForm .form-control,.careerForm .form-control:focus{
    flex: 1 1 0;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}
.careerForm .btn{
    border-radius: 4rem;
    background-color: #16b2a7;
    color: white;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0.75rem 2.25rem;
}
.career_list .item{
    background: white;
    padding: 2rem 3rem;
    border-radius: 0.625rem;
}
.career_list .item .header{
    width: 100%;
}
.career_list .item .title{
    margin: 0;
}
.career_list .item .price{
    color: #666;
}
.career_list .item .price .num{
    font-size: 1.5rem;
    color: #16b2a7;
    font-weight: normal;
}
.career_list .item .tag .tag_item,.careerDetail .tag .tag_item{
    padding:0 1rem;
    border-right: 1px solid #ddd;
}
.career_list .item .tag .tag_item:first-child,.careerDetail .tag .tag_item:first-child{
    padding-left: 0;
}
.career_list .item .tag .tag_item:last-child,.careerDetail .tag .tag_item:last-child{
    padding-right: 0;
    border-right: 0;
}
.career_list .item .desc{
    color: #666;
}
.career_list .item .banner-cta{
    font-size: 0.875rem;
}
/*careerForm end*/

/*careerDetail begin*/
.careerDetail .baseSet{
    width: 76%;
    background: white;
    border-radius: 0.625rem;
    padding: 3rem;
}
.careerDetail .baseSet .title{
    margin: 0;
    font-size: 1.5rem;
    position: relative;
    padding-left: 1rem;
}
.careerDetail .baseSet .title::before{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    display: block;
    width: 4px;
    border-radius: 2px;
    height: 1.25rem;
    background: #16b2a7;
    z-index: 1;
}
.careerDetail .jobName{
    font-size: 3rem;
    flex: 1 1 0;
    word-break: break-all;
}
.careerDetail .price{
    font-size: 1.25rem;
    color: #666;
}
.careerDetail .price b{
    color: #16b2a7;
    font-weight: normal;
}
.careerDetail .cont{
    line-height: 2;
}
/*careerDetail end*/

/*login begin*/
.login{
    width: 100%;
    height: 100vh;
    background: url(../images/loginBg.jpg) no-repeat center center /cover;
}
.login .container{
    width: 600px;
}
.login .title{
    font-size: 2rem;
    text-align: center;
}
.login .form-group{
    margin-bottom: 1rem;
}
.login .form-group .form-control{
    padding: 1rem;
}
.login .form-group .subBtn{
    padding: 1rem;
    width: 100%;
    background: #16b2a7;
    color: white;
    border: none;
    outline: none;
    font-weight: lighter;
}
.login .info{
    font-size: 0.875rem;
    color: #666;
}
.login .info a:hover{
    text-decoration: underline;
}
.login .inquiry-link{
    color: #16b2a7;
}

.login .getCodeBtn{
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background: #dddddd;
    font-weight: lighter;
    color: #000;
    border-color: #ddd;
    font-size: 0.875rem;
}
.login .getCodeBtn:active{
    background: #16b2a7;
    color: white;
}
/*login end*/

/*user center begin*/
.myResume .module{
    width: 70%;
    border-bottom: 1px solid #ddd;
}
.myResume .module:first-child,.myResume .module:last-child{
    border-bottom: none;
}
.myResume .module .name{
    font-size: 2rem;
    font-weight: normal;
}
.myResume .module .title{
    font-size: 1.25rem;
    margin: 0;
    grid-column:span 5;
}
.myResume .module .title span{
    position: relative;
    padding-left: 1rem;
}
.myResume .module .title span::before{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    display: block;
    width: 4px;
    height: 1.25rem;
    background: #16b2a7;
    z-index: 1;
    border-radius: 2px;
}
.myResume .module .cont{
    grid-column:span 7;
}
.myResume .module .cont .upload-section {
    border: 1px dashed #f5f5f5;
    border-radius: 0.625rem;
    padding: 4rem 1rem;
    text-align: center;
    background: white;
}

.myResume .module .cont .upload-section:hover{
    border-color: #16b2a7;
}

.myResume .module .cont .upload-content h3 {
    margin-bottom: 20px;
    font-size: 1.125rem;
}

.myResume .module .cont .select-file-btn {
    background-color: transparent;
    border: 1px solid #16b2a7 !important;
    color: #16b2a7;
    padding: 8px 20px;
    font-size: 0.875rem;
    margin-bottom: 15px;
}

.myResume .module .cont .select-file-btn:hover,.myResume .module .cont .select-file-btn:active {
    background-color: #16b2a7;
    border: 1px solid #16b2a7 !important;
    color: #fff;
}

.myResume .module .cont .file-input {
    display: none;
}

.myResume .module .cont .file-formats {
    font-size: 0.75rem;
    color: #999;
    margin: 0;
}

.myResume .module .cont .file-section {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 30px 20px;
    text-align: center;
}

.myResume .module .cont .file-info {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.myResume .module .cont .file-icon {
    color: #16b2a7;
    margin-bottom: 1rem;
}
.myResume .module .cont #file-name {
    font-size: 1.125rem;
}

.myResume .module .cont .file-details p {
    margin: 0;
    font-size: 14px;
    color: #666;
}

.myResume .module .cont .file-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.myResume .module .cont .action-btn {
    background-color: transparent;
    border: none;
    color: #16b2a7;
    cursor: pointer;
    font-size: 14px;
    padding: 0;
}

.myResume .module .cont .action-separator {
    color: #ddd;
}
.myResume .module .resumeInput label{
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}
.myResume .module .resumeInput label span{
    color: red;
}
.myResume .module .resumeInput .form-control{
    padding: 1rem;
}

/* 已有简历：与静态稿一致只显示 #file-section，隐藏整块上传虚线区 */
.resumeUpload.has-resume-file #upload-section {
    display: none !important;
}
.resumeUpload.has-resume-file #file-section {
    display: block !important;
}

/* CMS：{$myfield_resume} 真实上传控件放在此容器内，视觉上隐藏，避免与上方静态稿上传区重复 */
.myResume .module .cont.resumeUpload {
    position: relative;
}
.myResume .resumeUpload .resume-cms-file-field {
    position: absolute;
    left: -9999px;
    top: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.myResume .code{
    font-size: 0.875rem;
    color: #666;
    font-weight: normal;
}
.myRecord{
    cursor: pointer;
    color: #000;
}
.myResume .code:hover .myRecord{
    color: #16b2a7;
    text-decoration: underline;
}

.myRecordList .item{
    font-size: 1.125rem;
    padding: 2rem;
    background: white;
    border-radius: 0.625rem;
}
.myRecordList .item .career{
    border-bottom: 1px solid #ddd;
    padding-bottom: 1rem;
}
.myRecordList .item .career span{
    font-size: 1.25rem;
    font-weight: normal;
}
.myRecordList .item .user{
    padding: 1rem 0;
    border-bottom: 1px dashed #ddd;
}
.myRecordList .item .user:last-child{
    border-bottom: none;
    padding-bottom: 0;
}
.myRecordList .item .user .child{
    width: 33%;
}
.myRecordList .item .user .child.text-right{
    text-align: right;
}
/*user center end*/

@media (max-width: 1200px) {
    /*career nav begin*/
    .nav_career{
        position: absolute;
        width: 100%;
        right: -100%;
        top: 100%;
        padding: 0;
        background: rgba(0, 0, 0, 0.5);
        transition: all 0.3s ease-in-out;
        height: 100vh;
    }
    .nav_career.active{
        right: 0;
    }
    .nav_career .item{
        max-width: 100%;
        width: 100%;
        padding: 1rem 5%;
        display: block;
        font-size: 0.875rem;
        background: white;
    }
    .nav_career .nav-item::before,.nav_career .user-email,.nav_career .user::after{
        display: none;
    }
    .nav_career .user{
        border-top: 1px solid #ddd;
    }
    .nav_career .user .user-menu{
        display: block;
        position: static;
        box-shadow: none;
        background: none;
        border: none;
    }
    .nav_career .user .user-menu a{
        padding: 1rem 0;
    }
    /*career nav end*/
    /*careerForm begin*/
    .careerForm{
        width: 80%;
    }
    .career_list .item{
        padding: 2rem;
    }
    /*careerForm end*/
    .careerDetail .baseSet{
        width: 100%;
    }
    .myResume .module{
        width: 100%;
    }

    .myRecordList .item .user .child{
        width: 50%;
    }
    .myRecordList .item .user .child.text-right{
        width: 100%;
        text-align: left;
    }
}

@media (max-width: 768px) {
    /*career nav begin*/
    .nav_career{
        padding: 0;
    }
    .nav_career .item{
        font-size: 0.875rem;
    }
    /*career nav end*/
    /*careerForm begin*/
    .careerForm{
        width: 100%;
        padding:0.5rem 1rem;
        top: -1.875rem;
    }
    .careerForm .btn{
        padding: 0.5rem 1.25rem;
    }
    /*careerForm end*/
    .careerCont .filter .form.active{
        height: 200px;
    }
    .career_list .item{
        padding: 1rem;
    }
    .career_list .item .title{
        width: 100%;
        font-size: 1.25rem;
        margin-bottom: 0.5rem;
    }
    .career_list .item .price{
        font-size: 0.75rem;
    }
    .career_list .item .price .num{
        font-size: 1rem;
    }
    .career_list .item .tag{
        gap: 0.25rem;
    }
    .career_list .item .tag .tag_item,.careerDetail .tag .tag_item{
        font-size: 0.75rem;
        border: none;
        padding: 0;
    }
    .career_list .item .desc{
        font-size: 0.875rem;
    }
    .career_list .item .banner-cta{
        width: 100%;
        justify-content: center;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
    .careerDetail .baseSet{
        padding: 1rem;
    }
    .careerDetail .jobName{
        font-size: 1.5rem;
   }
   .careerDetail .price{
    font-size: 1rem;
   }
   .careerDetail .baseSet .title{
    font-size: 1.125rem;
   }

   .myResume .module .title,.myResume .module .cont{
    grid-column: span 12;
   }

   .myResume .module .name{
        font-size: 1.5rem;
        font-weight: lighter;
    }
    .myRecordList .item{
        padding: 1rem;
    }
    .myRecordList .item .user{
        font-size: 0.875rem;
    }
    
}
