@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@400;500;600;700&family=Barlow:wght@400;500;600;700&display=swap');

/* ==========================================================
   WORTH SELECTION
   GLOBAL EDITORIAL DESIGN SYSTEM V3
   ========================================================== */

:root{
    --worth-green:#0F3B2E;
    --worth-green-dark:#032F27;
    --worth-green-soft:#31594F;
    --worth-mint:#A7F3D0;
    --worth-mint-soft:#EDF8F3;
    --worth-cream:#F7F5EF;
    --worth-white:#FFFFFF;
    --worth-text:#173D34;
    --worth-muted:#667A73;
    --worth-border:#DCE6E1;
    --worth-gold:#D6B37B;

    --worth-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
    --worth-sans:Inter,"Helvetica Neue",Arial,sans-serif;
}


/* ==========================================================
   RENDER GENERAL
   ========================================================== */

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

body{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
    color:var(--worth-text);
}


/* ==========================================================
   TEXTO GENERAL
   ========================================================== */

body p,
body li,
body span,
body label,
body input,
body textarea,
body select{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
}

body p,
body li{
    font-weight:400 !important;
}

body strong,
body b{
    font-weight:500 !important;
}


/* ==========================================================
   TITULOS EDITORIALES
   ========================================================== */

body h1,
body h2,
body .page-title,
body .portal-page-title,
body .section-title,
body .dashboard-title,
body .dashboard-heading,
body .content-title{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;

    font-weight:600 !important;

    color:var(--worth-green) !important;

    letter-spacing:-.005em !important;

    text-wrap:balance;
}

body h1{
    font-size:clamp(38px,4vw,58px) !important;
    line-height:1 !important;
}

body h2{
    font-size:clamp(30px,3vw,44px) !important;
    line-height:1.06 !important;
}

body h3,
body h4{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;

    font-weight:600 !important;

    color:var(--worth-green) !important;

    letter-spacing:-.005em !important;

    line-height:1.12 !important;
}


/* ==========================================================
   TITULOS DE MODULOS DINAMICOS
   ========================================================== */

body .candidate-job-title,
body .recruiter-job-title,
body .ws-job-title,
body .ws-company-job-title,
body .ws-client-job-title,
body .ws-saved-job-card h3{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;

    font-size:30px !important;

    font-weight:600 !important;

    line-height:1.08 !important;

    letter-spacing:-.005em !important;

    color:var(--worth-green-dark) !important;
}


/* ==========================================================
   CONTADORES / CABECERAS GRANDES
   ========================================================== */

body .jobs-count,
body .ws-jobs-count{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;

    font-weight:600 !important;

    letter-spacing:-.005em !important;

    color:var(--worth-green-dark) !important;
}


/* ==========================================================
   NAVEGACION
   ========================================================== */

body nav,
body nav a,
body aside,
body aside a,
body .sidebar,
body .sidebar a,
body .portal-sidebar,
body .portal-sidebar a,
body .topnav,
body .topnav a{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
}

body nav a,
body aside a,
body .sidebar a,
body .portal-sidebar a,
body .topnav a{
    font-weight:400 !important;

    letter-spacing:-.005em !important;
}


/* activo */

body nav a.active,
body aside a.active,
body .sidebar a.active,
body .portal-sidebar a.active{
    font-weight:500 !important;
}


/* ==========================================================
   FORMULARIOS
   ========================================================== */

body input,
body select,
body textarea{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;

    font-size:14px !important;

    font-weight:400 !important;

    line-height:1.45 !important;

    color:var(--worth-text) !important;

    border-color:var(--worth-border) !important;

    border-radius:10px !important;
}

body input::placeholder,
body textarea::placeholder{
    color:#98AAA4 !important;

    font-weight:400 !important;
}

body label{
    font-size:13px !important;

    font-weight:500 !important;

    line-height:1.35 !important;

    color:#21483E !important;
}


/* ==========================================================
   BOTONES
   ========================================================== */

body button,
body .btn,
body .button,
body .job-card-button,
body [class*="btn-"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;

    font-weight:500 !important;

    letter-spacing:-.005em !important;

    text-transform:none !important;

    -webkit-font-smoothing:antialiased !important;
}


/* botones de texto */

body button:not([class*="icon"]),
body .btn,
body .button,
body .job-card-button{
    border-radius:999px !important;
}


/* principales */

body .btn-primary,
body .button-primary,
body .primary-button,
body .job-card-button.primary,
body button[type="submit"]{
    background:var(--worth-green) !important;

    color:#FFFFFF !important;

    border-color:var(--worth-green) !important;

    box-shadow:none !important;

    font-weight:500 !important;
}

body .btn-primary:hover,
body .button-primary:hover,
body .primary-button:hover,
body .job-card-button.primary:hover,
body button[type="submit"]:hover{
    background:var(--worth-green-dark) !important;

    border-color:var(--worth-green-dark) !important;

    transform:translateY(-1px);
}


/* secundarios */

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

    color:var(--worth-green) !important;

    border-color:var(--worth-border) !important;

    font-weight:400 !important;
}


/* ==========================================================
   TARJETAS
   ========================================================== */

body .card,
body [class*="-card"],
body [class*="_card"]{
    border-color:var(--worth-border);
}

body .candidate-job-card,
body .ws-job-card,
body .recruiter-job-card,
body .ws-saved-job-card{
    background:#FFFFFF !important;

    border:1px solid var(--worth-border) !important;

    border-radius:18px !important;

    box-shadow:
        0 4px 20px rgba(3,47,39,.035) !important;
}

body .candidate-job-card:hover,
body .ws-job-card:hover,
body .recruiter-job-card:hover,
body .ws-saved-job-card:hover{
    border-color:#BCD1C8 !important;

    box-shadow:
        0 14px 34px rgba(3,47,39,.065) !important;
}


/* ==========================================================
   TEXTO DE TARJETAS
   ========================================================== */

body .candidate-job-company,
body .recruiter-job-company,
body .ws-job-company,
body .ws-client-job-company,
body .ws-saved-job-company{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;

    font-size:14px !important;

    font-weight:400 !important;

    color:var(--worth-muted) !important;
}

body .candidate-job-card p,
body .ws-job-card p,
body .recruiter-job-card p{
    font-size:14px !important;

    font-weight:400 !important;

    line-height:1.7 !important;

    color:#536A63 !important;
}


/* ==========================================================
   BADGES / PILLS / CHIPS
   ========================================================== */

body .badge,
body .chip,
body .tag,
body [class*="-badge"],
body [class*="-chip"],
body [class*="-tag"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;

    font-weight:400 !important;

    letter-spacing:0 !important;
}


/* ==========================================================
   TABLAS
   ========================================================== */

body table{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
}

body table th{
    font-size:12px !important;

    font-weight:500 !important;

    letter-spacing:.02em !important;

    color:#35594F !important;
}

body table td{
    font-size:13px !important;

    font-weight:400 !important;

    color:#536A63 !important;
}


/* ==========================================================
   ESTADISTICAS / KPIs
   ========================================================== */

body .metric-value,
body .stat-value,
body .kpi-value,
body [class*="metric-value"],
body [class*="stat-value"]{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;

    font-weight:600 !important;

    letter-spacing:-.005em !important;

    color:var(--worth-green) !important;
}


/* ==========================================================
   EYEBROWS / LABELS DE SECCION
   ========================================================== */

body .eyebrow,
body .section-eyebrow,
body [class*="eyebrow"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;

    font-size:11px !important;

    font-weight:600 !important;

    letter-spacing:.14em !important;

    text-transform:uppercase !important;

    color:#078765 !important;
}


/* ==========================================================
   JOBS ESPECIFICO
   ========================================================== */

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

body .jobs-filter{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;

    font-size:13px !important;

    font-weight:400 !important;

    border-radius:11px !important;
}

body .job-card-button{
    min-height:42px !important;

    padding-left:20px !important;

    padding-right:20px !important;

    font-size:13px !important;

    font-weight:500 !important;
}


/* ==========================================================
   LINKS
   ========================================================== */

body a{
    text-decoration-thickness:1px;

    text-underline-offset:3px;
}


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

@media(max-width:900px){

    body h1{
        font-size:40px !important;
    }

    body h2{
        font-size:32px !important;
    }

    body .candidate-job-title,
    body .recruiter-job-title,
    body .ws-job-title{
        font-size:27px !important;
    }

}

@media(max-width:600px){

    body h1{
        font-size:34px !important;
    }

    body h2{
        font-size:28px !important;
    }

    body h3{
        font-size:23px !important;
    }

    body .candidate-job-title,
    body .recruiter-job-title,
    body .ws-job-title{
        font-size:25px !important;
    }

    body button,
    body .btn,
    body .button,
    body .job-card-button{
        font-size:12px !important;
    }

}

/* WS JOBS FINE TYPOGRAPHY V3.1 START */

/* Todo el módulo jobs evita negritas excesivas */
body:has(.jobs-page-grid) strong,
body:has(.jobs-page-grid) b,
body:has(.jobs-toolbar) strong,
body:has(.jobs-toolbar) b{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:500 !important;
}


/* CARGO / UBICACIÓN - buscador superior */
body:has(.jobs-page-grid) .jobs-toolbar label,
body:has(.jobs-page-grid) .jobs-toolbar strong,
body:has(.jobs-page-grid) .jobs-toolbar b,
body:has(.jobs-toolbar) .jobs-toolbar label,
body:has(.jobs-toolbar) .jobs-toolbar strong,
body:has(.jobs-toolbar) .jobs-toolbar b{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12.5px !important;
    font-weight:500 !important;
    line-height:1.3 !important;
    letter-spacing:-0.005em !important;
    color:#173E35 !important;
}


/* Texto introducido y placeholders */
body:has(.jobs-page-grid) .jobs-search,
body:has(.jobs-page-grid) .jobs-search input,
body:has(.jobs-toolbar) .jobs-search,
body:has(.jobs-toolbar) .jobs-search input{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}

body:has(.jobs-page-grid) input::placeholder,
body:has(.jobs-toolbar) input::placeholder{
    font-weight:400 !important;
    color:#98AAA4 !important;
}


/* FILTRAR / UBICACIÓN / ÁREA / MODALIDAD */
body:has(.jobs-page-grid) aside label,
body:has(.jobs-page-grid) aside strong,
body:has(.jobs-page-grid) aside b,
body:has(.jobs-page-grid) .filter-title,
body:has(.jobs-page-grid) .filter-label,
body:has(.jobs-page-grid) [class*="filter"] label{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12.5px !important;
    font-weight:500 !important;
    line-height:1.3 !important;
    letter-spacing:-0.005em !important;
    color:#183F36 !important;
}


/* Valores de selects: Todas, etc. */
body:has(.jobs-page-grid) .jobs-filter,
body:has(.jobs-page-grid) select{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:400 !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    color:#26483F !important;
}


/* TECNOLOGÍA / área de la vacante */
body:has(.jobs-page-grid) .job-area,
body:has(.jobs-page-grid) .candidate-job-area,
body:has(.jobs-page-grid) [class*="job-area"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12.5px !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    color:#078765 !important;
}


/* Chips Lima / Híbrido / Tiempo completo */
body:has(.jobs-page-grid) .badge,
body:has(.jobs-page-grid) .chip,
body:has(.jobs-page-grid) .tag,
body:has(.jobs-page-grid) [class*="badge"],
body:has(.jobs-page-grid) [class*="chip"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}


/* BUSCAR */
body:has(.jobs-page-grid) .jobs-toolbar button,
body:has(.jobs-toolbar) .jobs-toolbar button{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
}


/* VER VACANTE */
body:has(.jobs-page-grid) .job-card-button.primary{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
}


/* GUARDAR */
body:has(.jobs-page-grid) .job-card-button:not(.primary){
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12.5px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}


/* LIMPIAR */
body:has(.jobs-page-grid) .clear-filter,
body:has(.jobs-page-grid) a[href*="clear"],
body:has(.jobs-page-grid) [class*="clear"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}


/* Descripción de vacante */
body:has(.jobs-page-grid) .candidate-job-card p{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13.5px !important;
    font-weight:400 !important;
    line-height:1.65 !important;
    letter-spacing:0 !important;
}


/* Empresa */
body:has(.jobs-page-grid) .candidate-job-company{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:400 !important;
    color:#687B75 !important;
}


/* Evitar negrita fuerte accidental en sidebar */
body:has(.jobs-page-grid) aside{
    font-weight:400 !important;
}

body:has(.jobs-page-grid) aside button{
    font-weight:500 !important;
}


/* Mobile */
@media(max-width:700px){

    body:has(.jobs-page-grid) .jobs-toolbar label,
    body:has(.jobs-page-grid) aside label,
    body:has(.jobs-page-grid) aside strong{
        font-size:12px !important;
        font-weight:500 !important;
    }

    body:has(.jobs-page-grid) .job-card-button{
        font-size:12px !important;
        font-weight:500 !important;
    }

}

/* WS JOBS FINE TYPOGRAPHY V3.1 END */


/* WS GLOBAL SOFT UI V3.3 START */

/* ==========================================================
   BASE GENERAL
   ========================================================== */

body{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    -webkit-font-smoothing:antialiased !important;
    -moz-osx-font-smoothing:grayscale !important;
    text-rendering:optimizeLegibility !important;
}

body p,
body li,
body span,
body small,
body td{
    font-weight:400 !important;
}

/* Evita bold agresivo en todo el portal */
body strong,
body b{
    font-weight:500 !important;
}


/* ==========================================================
   TITULOS
   ========================================================== */

body h1,
body h2,
body h3,
body .page-title,
body .portal-page-title,
body .dashboard-title,
body .section-title{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;
    font-weight:600 !important;
    letter-spacing:-.005em !important;
    color:#0F3B2E !important;
}

body h1{
    line-height:1 !important;
}

body h2,
body h3{
    line-height:1.08 !important;
}


/* ==========================================================
   NAVEGACION / SIDEBAR
   ========================================================== */

body nav a,
body aside a,
body .sidebar a,
body .portal-sidebar a,
body .topnav a,
body [class*="nav"] a{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}

body nav a.active,
body aside a.active,
body .sidebar a.active,
body .portal-sidebar a.active,
body [class*="nav"] a.active{
    font-weight:500 !important;
}


/* ==========================================================
   LABELS / ENCABEZADOS FUNCIONALES
   ========================================================== */

body label,
body legend,
body th,
body [class*="label"],
body [class*="filter-title"],
body [class*="filter-label"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
}

body label{
    font-size:12.5px !important;
}


/* ==========================================================
   INPUTS / SELECTS
   ========================================================== */

body input,
body select,
body textarea{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}

body input::placeholder,
body textarea::placeholder{
    font-weight:400 !important;
    color:#98AAA4 !important;
}


/* ==========================================================
   BOTONES - ESTILO GLOBAL WORTH
   ========================================================== */

body button,
body .btn,
body .button,
body [class*="button"],
body [class*="btn-"],
body .job-card-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;
    text-transform:none !important;

    border-radius:999px !important;

    min-height:44px;

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

    box-shadow:none !important;

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


/* ==========================================================
   BOTONES PRIMARIOS
   ========================================================== */

body .btn-primary,
body .button-primary,
body .primary-button,
body .job-card-button.primary,
body button[type="submit"],
body [class*="apply"],
body [class*="primary"]{
    background:#0F493B !important;
    color:#FFFFFF !important;

    border:1px solid #0F493B !important;

    font-weight:500 !important;
}

body .btn-primary:hover,
body .button-primary:hover,
body .primary-button:hover,
body .job-card-button.primary:hover,
body button[type="submit"]:hover{
    background:#0A3C31 !important;
    border-color:#0A3C31 !important;

    transform:translateY(-1px) !important;
}


/* ==========================================================
   BOTONES SECUNDARIOS
   ========================================================== */

body .btn-secondary,
body .button-secondary,
body .secondary-button,
body .job-card-button:not(.primary),
body [class*="save"]{
    background:#FFFFFF !important;

    color:#173F35 !important;

    border:1px solid #D7E3DE !important;

    font-weight:400 !important;
}

body .btn-secondary:hover,
body .button-secondary:hover,
body .secondary-button:hover,
body .job-card-button:not(.primary):hover{
    background:#F7FAF8 !important;

    border-color:#BDD2C9 !important;

    transform:translateY(-1px) !important;
}


/* ==========================================================
   BOTONES SOLO ICONO
   ========================================================== */

body button[class*="icon"],
body [class*="icon-button"],
body button[class*="close"],
body button[class*="toggle"]{
    padding-left:0 !important;
    padding-right:0 !important;

    min-width:40px !important;
    min-height:40px !important;
}


/* ==========================================================
   BADGES / CHIPS / TAGS
   ========================================================== */

body .badge,
body .chip,
body .tag,
body [class*="-badge"],
body [class*="-chip"],
body [class*="-tag"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;

    font-size:11.5px !important;
    font-weight:400 !important;

    letter-spacing:0 !important;
}


/* ==========================================================
   TARJETAS
   ========================================================== */

body .candidate-job-card,
body .ws-job-card,
body .recruiter-job-card,
body .ws-saved-job-card,
body [class*="card"]{
    border-color:#DCE6E1 !important;
}

body .candidate-job-card,
body .ws-job-card,
body .recruiter-job-card{
    border-radius:18px !important;

    box-shadow:
        0 4px 18px rgba(3,47,39,.025) !important;
}


/* ==========================================================
   JOBS / VACANTES
   ========================================================== */

body .candidate-job-company,
body .recruiter-job-company,
body .ws-job-company{
    font-weight:400 !important;
}

body .candidate-job-area,
body .job-area,
body [class*="job-area"]{
    font-weight:500 !important;
}

body .candidate-job-card p,
body .ws-job-card p,
body .recruiter-job-card p{
    font-weight:400 !important;
}


/* ==========================================================
   TABLAS
   ========================================================== */

body table th{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:500 !important;
}

body table td{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
}


/* ==========================================================
   KPIS
   ========================================================== */

body .metric-value,
body .stat-value,
body .kpi-value,
body [class*="metric-value"],
body [class*="stat-value"]{
    font-family:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif !important;
    font-weight:600 !important;
}


/* ==========================================================
   TEXTOS PEQUEÑOS DE ACCION
   ========================================================== */

body [class*="clear"],
body [class*="back"],
body [class*="link"]{
    font-family:Barlow,"Helvetica Neue",Arial,sans-serif !important;
    font-weight:400 !important;
}


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

@media(max-width:700px){

    body button,
    body .btn,
    body .button,
    body [class*="button"],
    body [class*="btn-"]{
        font-size:12px !important;
        min-height:42px;
        padding-left:18px !important;
        padding-right:18px !important;
    }

}

/* WS GLOBAL SOFT UI V3.3 END */

