/* ==========================================================
   TALENZOA PREMIUM SINGLE JOB PAGE
   Version: 2.2
========================================================== */

/* ==========================================================
   SINGLE JOB WRAPPER
========================================================== */

.tz-single-job{
    max-width:1400px;
    margin:80px auto;
    padding:0 25px;
}

/* ==========================================================
   HERO SECTION
========================================================== */

.tz-job-hero{

    position:relative;
    overflow:hidden;

    background:linear-gradient(135deg,#0F172A 0%,#16213E 45%,#1F2B4D 100%);

    border-radius:28px;

    padding:80px 70px;

    text-align:center;

    color:#fff;

    box-shadow:0 35px 80px rgba(15,23,42,.18);

}

.tz-job-hero::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    right:-120px;

    top:-170px;

    border-radius:50%;

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

}

.tz-job-title{

    margin:0 0 30px;

    font-size:64px;

    font-weight:800;

    line-height:1.1;

    letter-spacing:-2px;

    color:#FFFFFF !important;
    max-width:700px;

}

.tz-job-subtitle{

    max-width:850px;

    margin:0 auto 45px;

    font-size:22px;

    line-height:1.8;

    color:rgba(255,255,255,.85);

}

.tz-job-meta{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin:35px 0;

}

.tz-job-meta span{

    padding:10px 18px;

    border-radius:50px;

    background:#fff;

    border:1px solid #ECECEC;

    font-size:15px;

    font-weight:500;
    
    color:#1F2937;

}
.tz-job-meta span:hover{

    transform:translateY(-2px);

    border-color:#6C3EF4;

    transition:.3s ease;

}

.tz-job-actions{

    display:flex;

    gap:15px;

    margin-top:35px;

}

/* ==========================================================
   OVERVIEW SECTION
========================================================== */

.tz-job-overview{

    max-width:1400px;

    margin:25px auto 80px;

    padding:0 25px;

}

.tz-overview-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:25px;

}

.tz-card{

    background:#fff;

    border:1px solid #EEF2F7;

    border-radius:22px;

    padding:35px;

    min-height:220px;

    box-shadow:0 15px 40px rgba(15,23,42,.08);

    transition:all .35s ease;

}

.tz-card:hover{

    transform:translateY(-8px);

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

}

.tz-card:hover .tz-icon{

    transform:scale(1.12);

}

.tz-icon{

    width:60px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:22px;

    border-radius:18px;

    background:#F5F7FC;

    font-size:26px;

    transition:all .3s ease;

}

.tz-card h4{

    margin:0 0 10px;

    font-size:18px;

    font-weight:700;

    color:#0F172A;

}

.tz-card p{

    margin:0;

    font-size:16px;

    color:#64748B;

    line-height:1.7;

}

/* ==========================================================
   TABLET
========================================================== */

@media(max-width:992px){

    .tz-single-job{

        margin:60px auto;

    }

    .tz-job-hero{

        padding:70px 40px;

    }

    .tz-job-title{

        font-size:48px;

    }

    .tz-job-subtitle{

        font-size:19px;

    }

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

    .tz-single-job{

        margin:40px auto;

        padding:0 15px;

    }

    .tz-job-overview{

        margin:20px auto 50px;

        padding:0 15px;

    }

    .tz-job-hero{

        padding:45px 25px;

        border-radius:20px;

    }

    .tz-job-title{

        font-size:34px;

        letter-spacing:-1px;

    }

    .tz-job-subtitle{

        font-size:16px;

        margin-bottom:35px;

    }

    .tz-job-meta{

        flex-direction:column;

        gap:12px;

    }

    .tz-job-meta span{

        width:100%;

        justify-content:center;

    }

    .tz-job-actions .tz-btn{

        width:100%;

        text-align:center;

        padding:18px;

    }

    .tz-overview-grid{

        grid-template-columns:1fr;

    }

    .tz-card{

        min-height:auto;

    }

}
/*==================================================
    RESPONSIBILITIES & REQUIREMENTS
==================================================*/

.tz-job-features{

    max-width:1400px;

    margin:0 auto 80px;

    padding:0 25px;

}

.tz-feature-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.tz-feature-card{

    background:#fff;

    border-radius:24px;

    padding:45px;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 40px rgba(15,23,42,.08);

}

.tz-feature-card h2{

    margin:0 0 30px;

    font-size:30px;

    font-weight:700;

    color:#0F172A;

}

.tz-feature-card ul{

    list-style:none;

    margin:0;

    padding:0;

}

.tz-feature-card li{

    position:relative;

    padding-left:35px;

    margin-bottom:18px;

    color:#475569;

    font-size:17px;

    line-height:1.8;

}

.tz-feature-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:2px;

    width:22px;

    height:22px;

    border-radius:50%;

    background:#7A3EF5;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:12px;

    font-weight:700;

}

@media(max-width:992px){

    .tz-feature-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .tz-job-features{

        padding:0 15px;

    }

    .tz-feature-card{

        padding:30px 25px;

    }

    .tz-feature-card h2{

        font-size:26px;

    }

}
/*==================================================
    JOB HIGHLIGHTS
==================================================*/

.tz-job-highlights{

    max-width:1400px;

    margin:0 auto 70px;

    padding:0 25px;

}

.tz-highlights-card{

    background:#fff;

    border-radius:24px;

    padding:45px;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 40px rgba(15,23,42,.08);

}

.tz-highlights-card h2{

    margin:0 0 35px;

    font-size:32px;

    font-weight:700;

    color:#0F172A;

}

.tz-highlights-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.tz-highlight-item{

    display:flex;

    align-items:center;

    gap:18px;

    background:#F8FAFC;

    border-radius:18px;

    padding:20px;

    transition:all .3s ease;

}

.tz-highlight-item:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 25px rgba(15,23,42,.08);

}

.tz-highlight-item span{

    font-size:30px;

}

.tz-highlight-item strong{

    display:block;

    color:#0F172A;

    font-size:16px;

    margin-bottom:4px;

}

.tz-highlight-item p{

    margin:0;

    color:#64748B;

    font-size:15px;

}

@media(max-width:992px){

    .tz-highlights-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .tz-job-highlights{

        padding:0 15px;

    }

    .tz-highlights-card{

        padding:30px 25px;

    }

    .tz-highlights-grid{

        grid-template-columns:1fr;

    }

}
/*==================================================
    BENEFITS
==================================================*/

.tz-job-benefits{

    max-width:1400px;

    margin:0 auto 80px;

    padding:0 25px;

}

.tz-benefits-card{

    background:#fff;

    border-radius:24px;

    padding:50px;

    border:1px solid #EEF2F7;

    box-shadow:0 18px 45px rgba(15,23,42,.08);

}

.tz-benefits-card h2{

    margin:0 0 35px;

    font-size:32px;

    color:#0F172A;

}

.tz-benefits-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.tz-benefit-item{

    background:#F8FAFC;

    border-radius:18px;

    padding:25px;

    text-align:center;

    font-size:34px;

    transition:.3s;
        display:flex;
    align-items:center;
    gap:12px;

}

.tz-benefit-item span{

    display:block;

    margin-top:18px;

    font-size:17px;

    font-weight:600;

    color:#0F172A;

}
.tz-benefit-icon{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#8B5CF6;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:700;
    flex-shrink:0;
}

.tz-benefit-item:hover{

    transform:translateY(-8px);

    background:#7A3EF5;

    color:#fff;

    box-shadow:0 20px 40px rgba(122,62,245,.25);

}

.tz-benefit-item:hover span{

    color:#fff;

}

@media(max-width:992px){

.tz-benefits-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.tz-job-benefits{

    padding:0 15px;

}

.tz-benefits-card{

    padding:30px;

}

.tz-benefits-grid{

    grid-template-columns:1fr;

}

}
/*==========================================
APPLY SIDEBAR
==========================================*/

.tz-apply-sidebar{

    position:sticky;

    top:30px;

    background:#fff;

    border-radius:24px;

    padding:35px;

    border:1px solid #EEF2F7;

    box-shadow:0 20px 45px rgba(15,23,42,.08);
    margin-bottom:32px

}

.tz-apply-sidebar h3{

    margin:0 0 25px;

    font-size:28px;

    color:#0F172A;
    font-size:28px;

line-height:1.3;

margin-bottom:24px;

}

.tz-sidebar-meta{

    list-style:none;

    margin:0;

    padding:0;

}

.tz-sidebar-meta li{

    margin-bottom:20px;

    padding-bottom:20px;

    border-bottom:1px solid #EEF2F7;

}

.tz-sidebar-meta strong{

    display:block;

    margin-bottom:6px;

    color:#0F172A;
    
      font-size:15px;

    font-weight:600;

}

.tz-sidebar-meta span{

    color:#64748B;
        font-size:18px;

    font-weight:500;

}

.tz-apply-btn{

    display:block;

    width:100%;

    margin-top:30px;

    text-align:center;

    background:#7A3EF5;

    color:#fff;

    text-decoration:none;

    padding:16px;

    border-radius:12px;

    font-weight:700;

   transition:all .3s ease;

}

.tz-apply-btn:hover{

    background:#6229D6;
       transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(124,58,237,.25);

}

.tz-sidebar-extra{

    margin-top:20px;

    display:flex;

    flex-direction:column;

    gap:12px;

}

.tz-sidebar-extra button{

    border:1px solid #E2E8F0;

    background:#fff;

    border-radius:10px;

    padding:14px;

    cursor:pointer;

    transition:.3s;

}

.tz-sidebar-extra button:hover{

    background:#F8FAFC;

}
/*==========================================
LAYOUT
==========================================*/

.tz-job-layout{

    max-width:1400px;

    margin:60px auto;

    padding:0 25px;

    display:grid;

    grid-template-columns:minmax(0,2fr) 380px;

    gap:40px;

    align-items:start;

}

.tz-job-main{

    min-width:0;

}

.tz-job-sidebar{

  position: sticky;

    top: 30px;

    align-self: flex-start;

}
@media (max-width: 992px){

    .tz-job-layout{

        grid-template-columns:1fr;

    }

    .tz-apply-sidebar{

        position:static;

    }

}
/*==================================================
    COMPANY
==================================================*/

.tz-company-section{

    margin:0 0 80px;

}

.tz-company-card{

    background:#fff;

    border-radius:24px;

    padding:45px;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 40px rgba(15,23,42,.08);

}

.tz-company-header{

    display:flex;

    align-items:center;

    gap:25px;

    margin-bottom:35px;

}

.tz-company-logo{

    width:90px;

    height:90px;

    border-radius:22px;

    background:linear-gradient(135deg,#7A3EF5,#5B2FC6);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:40px;

    flex-shrink:0;

}

.tz-company-header h2{

    margin:0 0 10px;

    font-size:32px;

    color:#0F172A;

}

.tz-company-header p{

    margin:0;

    color:#64748B;

    font-size:17px;

}

.tz-company-content{

    margin-bottom:35px;

}

.tz-company-content p{

    color:#475569;

    line-height:1.9;

    font-size:17px;

}

.tz-company-features{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-bottom:35px;

}

.tz-company-feature{

    background:#F8FAFC;

    border-radius:18px;

    padding:22px;

    text-align:center;

    font-weight:600;

    color:#0F172A;

    transition:.3s;

}

.tz-company-feature:hover{

    transform:translateY(-5px);

    background:#7A3EF5;

    color:#fff;

}

.tz-company-footer{

    text-align:center;

}

@media(max-width:768px){

    .tz-company-header{

        flex-direction:column;

        text-align:center;

    }

    .tz-company-features{

        grid-template-columns:1fr;

    }

}
/*==================================================
RELATED JOBS
==================================================*/

.tz-related-jobs{

    margin:0 0 80px;

}

.tz-related-jobs h2{

    font-size:34px;

    margin-bottom:35px;

    color:#0F172A;

}

.tz-related-grid{

    display:grid;

  grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:30px;

}

.tz-related-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:24px;
    display:flex;
    flex-direction:column;
    height:100%;
      min-height:430px;
       transition:all .25s ease;
}

.tz-related-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.08);
    border-color:#d6d6d6;
}
.tz-related-company{
    display:flex;
    align-items:center;
    gap:8px;
    color:#6b7280;
    font-size:13px;
    font-weight:500;
     margin-bottom:22px;
    letter-spacing:.2px;
}

.tz-related-card h3{
    font-size:22px;
    line-height:1.4;
    margin-bottom:14px;
    font-weight:700;
    min-height:56px;
}

.tz-related-card h3 a{
    color:#111827;
    text-decoration:none;
}

.tz-related-card h3 a:hover{
    color:#b48a3a;
}

.tz-related-meta{
    display:flex;
    flex-direction:column;
     flex:1;
    gap:10px;
    margin-bottom:24px;
}

.tz-related-meta-item{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:14px;
    color:#4b5563;
     
}
.tz-related-meta-item span:first-child{
    width:20px;
    text-align:center;
     white-space:nowrap;
}
.tz-empty-meta{
    height:22px;
}

.tz-related-btn{
    margin-top:24px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:100%;
    padding:12px 20px;
    border-radius:10px;
    background:#111827;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:all .3s ease;
}

.tz-related-btn:hover{
    background:#b48a3a;
}

@media(max-width:992px){

.tz-related-grid{

   display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
    align-items:stretch;
    

}

}

@media(max-width:768px){

.tz-related-grid{

    grid-template-columns:1fr;

}

}

.tz-job-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:7px 14px;

    border-radius:50px;

    background:#F6F3FF;

    color:#6C3EF4;

    font-size:13px;

    font-weight:600;

    margin-bottom:24px;

}

.tz-badge-dot{

    width:8px;

    height:8px;

    border-radius:50%;

    background:#6C3EF4;
    
    animation:tzPulse 2s infinite;

}
.tz-btn-outline{

    padding:14px 30px;

    border:2px solid #6C3EF4;

    border-radius:12px;

    background:#fff;

    color:#6C3EF4;

    font-weight:600;

    cursor:pointer;

    transition:.30s;

}

.tz-btn-outline:hover{

    background:#6C3EF4;

    color:#fff;

}
@keyframes tzPulse{

    0%{
        box-shadow:0 0 0 0 rgba(108,62,244,.6);
    }

    70%{
        box-shadow:0 0 0 8px rgba(108,62,244,0);
    }

    100%{
        box-shadow:0 0 0 0 rgba(108,62,244,0);
    }

}
html{

    scroll-behavior:smooth;

}
/* ==========================================
   SAVE JOB
========================================== */

#tz-save-job{

    transition:all .30s ease;

}

#tz-save-job.saved{

    background:#F8F5FF;

    border:1px solid #6C3EF4;

    color:#6C3EF4;

    box-shadow:0 8px 20px rgba(108,62,244,.12);

    transform:translateY(-2px);

}
.tz-sidebar-company{
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1.2px;
    color:#8B7355;
    margin-bottom:12px;
}