.jobs-toolbar{
    display:grid;
    grid-template-columns:1.5fr .75fr .75fr auto;
    gap:11px;
    margin-bottom:20px;
}

.jobs-search,
.jobs-filter{
    height:44px;
    border:1px solid #d0d5dd;
    border-radius:8px;
    background:white;
    padding:0 12px;
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif;
    font-size:12px;
    outline:none;
}

.jobs-search:focus,
.jobs-filter:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 3px rgba(104,88,255,.10);
}

.jobs-count{
    color:var(--muted);
    font-size:12px;
    margin-bottom:13px;
}

.jobs-page-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
}

.candidate-job-card{
    background:white;
    border:1px solid var(--border);
    border-radius:13px;
    padding:20px;
    display:flex;
    flex-direction:column;
    min-height:245px;
    transition:.18s ease;
}

.candidate-job-card:hover{
    box-shadow:0 9px 25px rgba(16,38,76,.08);
    transform:translateY(-2px);
}

.candidate-job-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
}

.candidate-job-title{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif;
    color:var(--navy);
    font-size:20px;
    font-weight:700;
    line-height:1.2;
}

.candidate-job-company{
    color:#475467;
    font-size:12px;
    margin-top:5px;
}

.job-match-pill{
    background:#ecfdf3;
    color:#067647;
    border-radius:14px;
    padding:5px 9px;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
}

.job-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:16px 0;
}

.job-tag{
    padding:6px 8px;
    border-radius:7px;
    background:#f5f6fa;
    color:#475467;
    font-size:10px;
}

.job-summary{
    color:#667085;
    font-size:12px;
    line-height:1.6;
    flex:1;
}

.job-card-actions{
    display:flex;
    gap:8px;
    margin-top:17px;
    flex-wrap:wrap;
}

.job-card-button{
    border:1px solid #d0d5dd;
    background:white;
    color:#344054;
    border-radius:21px;
    padding:9px 13px;
    font-size:11px;
    font-weight:650;
    cursor:pointer;
}

.job-card-button:hover{
    border-color:var(--purple);
    color:var(--purple);
}

.job-card-button.primary{
    background:var(--purple);
    border-color:var(--purple);
    color:white;
}

.job-card-button.saved{
    background:var(--purple-soft);
    border-color:#d8d3ff;
    color:var(--purple);
}

.job-card-button.applied{
    background:#ecfdf3;
    color:#067647;
    border-color:#abefc6;
    cursor:default;
}

/* MODAL */

.job-modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(8,26,53,.55);
    z-index:500;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:70px 18px;
    overflow:auto;
}

.job-modal{
    width:min(850px,100%);
    background:white;
    border-radius:15px;
    box-shadow:0 25px 80px rgba(0,0,0,.20);
    overflow:hidden;
}

.job-modal-head{
    padding:25px 27px 20px;
    border-bottom:1px solid var(--border);
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.job-modal-title{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif;
    color:var(--navy);
    font-size:28px;
    font-weight:800;
}

.job-modal-company{
    color:#667085;
    font-size:13px;
    margin-top:5px;
}

.modal-close{
    width:36px;
    height:36px;
    border:0;
    background:#f5f6fa;
    border-radius:50%;
    cursor:pointer;
    font-size:18px;
}

.job-modal-body{
    padding:25px 27px;
}

.detail-section{
    margin-bottom:25px;
}

.detail-section h3{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif;
    color:var(--navy);
    margin:0 0 9px;
    font-size:18px;
}

.detail-section-content{
    color:#475467;
    font-size:13px;
    line-height:1.7;
    white-space:pre-line;
}

.job-detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:22px;
}

.job-detail-meta span{
    padding:7px 10px;
    background:#f5f6fa;
    border-radius:8px;
    color:#475467;
    font-size:11px;
}

.apply-box{
    border-top:1px solid var(--border);
    padding-top:23px;
    margin-top:25px;
}

.apply-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:15px;
}

.apply-label{
    display:block;
    font-weight:600;
    color:#344054;
    font-size:12px;
    margin-bottom:7px;
}

.apply-select,
.apply-textarea{
    width:100%;
    border:1px solid #d0d5dd;
    border-radius:8px;
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif;
    font-size:12px;
    padding:11px 12px;
}

.apply-select{
    height:44px;
}

.apply-textarea{
    min-height:95px;
    resize:vertical;
    line-height:1.55;
}

.job-message{
    display:none;
    margin-bottom:15px;
    padding:11px 13px;
    border-radius:8px;
    font-size:12px;
}

.job-message.success{
    display:block;
    background:#ecfdf3;
    color:#067647;
}

.job-message.error{
    display:block;
    background:#fef3f2;
    color:#b42318;
}

@media(max-width:950px){
    .jobs-toolbar{
        grid-template-columns:1fr 1fr;
    }

    .jobs-page-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    .jobs-toolbar{
        grid-template-columns:1fr;
    }

    .job-modal-backdrop{
        padding:20px 10px;
    }
}

/* WORTH JOBS TYPOGRAPHY POLISH V1 */

.jobs-count{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
    letter-spacing:-0.01em !important;
    line-height:1.45 !important;
    color:#5f746e !important;
}

.candidate-job-card{
    border-radius:18px !important;
    border:1px solid #dce7e2 !important;
    box-shadow:0 5px 22px rgba(3,47,39,.035) !important;
}

.candidate-job-title{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:28px !important;
    font-weight:500 !important;
    line-height:1.18 !important;
    letter-spacing:-0.025em !important;
    color:#07352c !important;
    text-decoration-thickness:1px !important;
    text-underline-offset:4px !important;
}

.candidate-job-company{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.55 !important;
    color:#647872 !important;
}

.candidate-job-card p{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
    line-height:1.7 !important;
    color:#526861 !important;
}

.candidate-job-card strong,
.candidate-job-card b{
    font-weight:500 !important;
}

.jobs-filter{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    color:#284b43 !important;
}

.job-card-button{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:500 !important;
    letter-spacing:-0.01em !important;
}

.job-card-button.primary{
    font-weight:500 !important;
}

.candidate-job-card .badge,
.candidate-job-card .tag,
.candidate-job-card .chip{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
}

body{
    -webkit-font-smoothing:antialiased !important;
    -moz-osx-font-smoothing:grayscale !important;
    text-rendering:optimizeLegibility !important;
}

@media(max-width:767px){

    .candidate-job-title{
        font-size:23px !important;
        line-height:1.2 !important;
    }

    .candidate-job-company{
        font-size:14px !important;
    }

    .jobs-count{
        font-size:13px !important;
    }

}


/* WS JOBS EDITORIAL V2 START */

body:has(.jobs-toolbar),
body:has(.jobs-page-grid){
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}

/* ==================================================
   TITULO SUPERIOR: VACANTES
   ================================================== */

body:has(.jobs-toolbar) main h1,
body:has(.jobs-page-grid) main h1,
body:has(.jobs-toolbar) .page-title,
body:has(.jobs-page-grid) .page-title,
body:has(.jobs-toolbar) .portal-page-title,
body:has(.jobs-page-grid) .portal-page-title{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;
    font-size:42px !important;
    font-weight:600 !important;
    line-height:1.05 !important;
    letter-spacing:-.005em !important;
    color:#0F3B2E !important;
}

/* ==================================================
   EYEBROW: OPORTUNIDADES
   ================================================== */

body:has(.jobs-toolbar) .jobs-eyebrow,
body:has(.jobs-page-grid) .jobs-eyebrow,
body:has(.jobs-toolbar) .section-eyebrow,
body:has(.jobs-page-grid) .section-eyebrow{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:600 !important;
    line-height:1.3 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    color:#078765 !important;
}

/* ==================================================
   1 VACANTE ENCONTRADA
   ================================================== */

.jobs-count{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;
    font-size:clamp(46px,4.5vw,62px) !important;
    font-weight:600 !important;
    line-height:.98 !important;
    letter-spacing:-.005em !important;
    color:#0B3A30 !important;
    margin:0 !important;
}

/* Texto debajo del contador */

body:has(.jobs-toolbar) .jobs-count + p,
body:has(.jobs-page-grid) .jobs-count + p,
body:has(.jobs-toolbar) .jobs-description,
body:has(.jobs-page-grid) .jobs-description,
body:has(.jobs-toolbar) .jobs-subtitle,
body:has(.jobs-page-grid) .jobs-subtitle{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.65 !important;
    letter-spacing:0 !important;
    color:#657872 !important;
}

/* ==================================================
   BUSCADOR SUPERIOR
   ================================================== */

.jobs-toolbar{
    border-radius:18px !important;
    border:1px solid #DCE6E1 !important;
    box-shadow:0 10px 30px rgba(15,59,46,.045) !important;
    overflow:hidden !important;
}

.jobs-toolbar label{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.3 !important;
    letter-spacing:0 !important;
    color:#163E34 !important;
}

.jobs-search,
.jobs-filter{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    color:#284B43 !important;
}

.jobs-search::placeholder{
    font-weight:400 !important;
    color:#99AAA5 !important;
}

/* ==================================================
   FILTROS LATERALES
   ================================================== */

body:has(.jobs-toolbar) .filter-title,
body:has(.jobs-page-grid) .filter-title,
body:has(.jobs-toolbar) .filter-label,
body:has(.jobs-page-grid) .filter-label{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    color:#173D34 !important;
}

.jobs-filter{
    border-radius:12px !important;
    border:1px solid #D8E4DF !important;
    min-height:46px !important;
    background:#FFFFFF !important;
}

/* ==================================================
   TARJETA
   ================================================== */

.candidate-job-card{
    border:1px solid #DCE6E1 !important;
    border-radius:18px !important;
    box-shadow:0 3px 18px rgba(15,59,46,.025) !important;
    background:#FFFFFF !important;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease !important;
}

.candidate-job-card:hover{
    transform:translateY(-2px) !important;
    border-color:#BFD5CB !important;
    box-shadow:0 14px 34px rgba(15,59,46,.06) !important;
}

/* ==================================================
   TITULO DE VACANTE
   ================================================== */

.candidate-job-title{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;
    font-size:32px !important;
    font-weight:600 !important;
    line-height:1.08 !important;
    letter-spacing:-.005em !important;
    color:#0A3A30 !important;

    text-decoration-thickness:1px !important;
    text-underline-offset:4px !important;
}

/* Empresa */

.candidate-job-company{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.55 !important;
    letter-spacing:0 !important;
    color:#687B75 !important;
}

/* ==================================================
   CHIPS: LIMA / HIBRIDO / TIEMPO COMPLETO
   ================================================== */

.candidate-job-card .job-chip,
.candidate-job-card .chip,
.candidate-job-card .badge,
.candidate-job-card .meta-chip{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;

    color:#31594F !important;
    background:#F3F7F5 !important;

    border:0 !important;
    border-radius:999px !important;

    padding:8px 12px !important;
}

/* ==================================================
   AREA: TECNOLOGIA
   ================================================== */

.candidate-job-card .job-area,
.candidate-job-card .candidate-job-area{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.3 !important;
    letter-spacing:0 !important;
    color:#078765 !important;
}

/* ==================================================
   DESCRIPCION
   ================================================== */

.candidate-job-card p{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.7 !important;
    letter-spacing:0 !important;
    color:#536A63 !important;
}

.candidate-job-card strong,
.candidate-job-card b{
    font-weight:500 !important;
}

/* ==================================================
   BOTONES GENERALES DE JOBS
   ================================================== */

.job-card-button,
.jobs-toolbar button,
body:has(.jobs-toolbar) button{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1 !important;
    letter-spacing:0 !important;

    min-height:44px !important;

    border-radius:999px !important;

    padding-left:21px !important;
    padding-right:21px !important;

    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;
}

/* VER VACANTE */

.job-card-button.primary{
    background:#0F493B !important;
    color:#FFFFFF !important;

    border:1px solid #0F493B !important;

    font-weight:500 !important;

    box-shadow:none !important;
}

.job-card-button.primary:hover{
    background:#0B3B30 !important;
    border-color:#0B3B30 !important;
    transform:translateY(-1px) !important;
}

/* GUARDAR */

.job-card-button:not(.primary){
    background:#FFFFFF !important;

    color:#153F35 !important;

    border:1px solid #D7E3DE !important;

    font-weight:400 !important;
}

.job-card-button:not(.primary):hover{
    background:#F7FAF8 !important;
    border-color:#BFD4CB !important;
}

/* ==================================================
   BOTON BUSCAR
   ================================================== */

.jobs-toolbar button{
    background:#0F493B !important;
    color:#FFFFFF !important;

    border:1px solid #0F493B !important;

    font-size:14px !important;
    font-weight:500 !important;

    min-height:50px !important;

    border-radius:999px !important;

    padding-left:28px !important;
    padding-right:28px !important;
}

.jobs-toolbar button:hover{
    background:#0B3B30 !important;
    transform:translateY(-1px) !important;
}

/* ==================================================
   LINKS: INICIO / LIMPIAR
   ================================================== */

body:has(.jobs-toolbar) a{
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

body:has(.jobs-toolbar) .clear-filter,
body:has(.jobs-page-grid) .clear-filter{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:400 !important;
    color:#19483D !important;
}

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

@media(max-width:900px){

    .jobs-count{
        font-size:44px !important;
    }

    .candidate-job-title{
        font-size:28px !important;
    }

}

@media(max-width:600px){

    body:has(.jobs-toolbar) main h1,
    body:has(.jobs-page-grid) main h1{
        font-size:34px !important;
    }

    .jobs-count{
        font-size:38px !important;
        line-height:1 !important;
    }

    .candidate-job-title{
        font-size:26px !important;
        line-height:1.12 !important;
    }

    .job-card-button,
    .jobs-toolbar button{
        min-height:42px !important;
        font-size:12px !important;
    }

}

/* WS JOBS EDITORIAL V2 END */

