@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800;900&display=swap');

/*
 tuTrabajo – sistema tipográfico global
 Referencia:
 h1 45/47 Bold
 h2 32/38 Bold
 h3 24/30 Medium
 h4 20/36 Semibold
 h5 16/22 Semibold
 cuerpo 16/23 Regular
 texto pequeño 13/18 Medium
*/

:root {
    --tt-font: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --tt-text: #253423;
    --tt-muted: #64748B;
    --tt-green: #24C022;
    --tt-orange: #FF9F20;
}

html body {
    font-family: var(--tt-font) !important;
    font-size: 16px;
    line-height: 23px;
    font-weight: 400;
    color: var(--tt-text);
}

body,
p,
li,
input,
select,
textarea,
button,
.form-control {
    font-family: var(--tt-font) !important;
}

h1,
.h1,
.tt-hero__title {
    font-family: var(--tt-font) !important;
    font-size: 45px;
    line-height: 47px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

h2,
.h2,
.tt-section-title,
.inner-page-title h1,
.pageTitle h1 {
    font-family: var(--tt-font) !important;
    font-size: 32px;
    line-height: 38px;
    font-weight: 800;
    letter-spacing: -0.015em;
}

h3,
.h3,
.profbox h3,
.userccount h3 {
    font-family: var(--tt-font) !important;
    font-size: 24px;
    line-height: 30px;
    font-weight: 500;
}

h4,
.h4 {
    font-family: var(--tt-font) !important;
    font-size: 20px;
    line-height: 36px;
    font-weight: 600;
}

h5,
.h5,
label,
.tt-footer__heading {
    font-family: var(--tt-font) !important;
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
}

small,
.small,
.text-muted,
.help-block,
.tt-section-subtitle,
.tt-category-card__count,
.tt-footer__nav a {
    font-family: var(--tt-font) !important;
    font-size: 13px;
    line-height: 18px;
    font-weight: 500;
}

.tt-section-title--center,
.tt-section-subtitle--center {
    text-align: center;
}

/* Home: texto de categoría sobre verde siempre blanco */
.tt-categories .tt-section-subtitle {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Evitar títulos excesivos en móvil */
@media (max-width: 767px) {
    h1,
    .h1,
    .tt-hero__title {
        font-size: 36px;
        line-height: 40px;
    }

    h2,
    .h2,
    .tt-section-title,
    .inner-page-title h1,
    .pageTitle h1 {
        font-size: 28px;
        line-height: 34px;
    }
}


/* ==========================================================
   tuTrabajo — refuerzo Figtree global
   Carga posterior a main.css para evitar Montserrat/Open Sans.
   ========================================================== */
html,
body,
body *,
button,
input,
select,
textarea,
.form-control,
.dropdown-menu,
.navbar,
.header,
.footer,
.tt-footer,
.inner-page,
.listpgWraper,
.jobint,
.companyinfo,
.userccount,
.admin-content,
.translated-ltr,
.translated-rtl {
    font-family: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6,
.titleTop h3,
.section-title,
.tt-section-title,
.tt-hero__title,
.tt-sponsored-companies__title,
.inner-page-title h1,
.pageTitle h1 {
    font-family: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

h1, .h1, .tt-hero__title {
    font-size: 45px;
    line-height: 47px;
    font-weight: 800;
}

h2, .h2, .tt-section-title, .tt-sponsored-companies__title {
    font-size: 32px;
    line-height: 38px;
    font-weight: 800;
}

h3, .h3, .titleTop h3 {
    font-size: 24px;
    line-height: 30px;
    font-weight: 600;
}

/* Traductor: icono y borde en verde de marca */
.goog-te-gadget,
.goog-te-gadget *,
.goog-te-combo,
.tt-language-switcher,
.language-switcher,
.header .dropdown-toggle {
    font-family: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.header .fa-globe,
.header .fas.fa-globe,
.header .fa-language,
.header .material-symbols-outlined,
.tt-language-switcher i,
.language-switcher i,
[class*="translate"] .fa-globe,
[class*="language"] .fa-globe {
    color: #24C022 !important;
    fill: #24C022 !important;
}

.header .dropdown-toggle:has(.fa-globe),
.header .dropdown-toggle:has(.material-symbols-outlined),
.tt-language-switcher,
.language-switcher {
    border-color: rgba(36,192,34,.22) !important;
}

/* Fallback si el navegador no soporta :has */
.header a.dropdown-toggle,
.header button.dropdown-toggle {
    --tt-translate-green: #24C022;
}


/* Traductor: texto en gris de menú, sin cambiar el icono original */
#siteheader .tt-lang-selector__toggle {
    color: #7D857A !important;
}

#siteheader .tt-lang-selector__label {
    color: #7D857A !important;
    font-weight: 600 !important;
}

#siteheader .tt-lang-selector__arrow {
    color: #7D857A !important;
}

#siteheader .tt-lang-selector__toggle:hover,
#siteheader .tt-lang-selector.is-open .tt-lang-selector__toggle {
    color: #7D857A !important;
    border-color: #E5E7EB !important;
    box-shadow: 0 2px 6px rgba(37, 52, 35, .04) !important;
}

#siteheader .tt-lang-selector__toggle:hover .tt-lang-selector__label,
#siteheader .tt-lang-selector.is-open .tt-lang-selector__label {
    color: #7D857A !important;
}


/* ==========================================================
   FIX ICONOS — no aplicar Figtree a iconos
   ========================================================== */

/* Font Awesome 5 */
i.fa,
i.fas,
i.far,
i.fab,
i.fal,
i.fad,
span.fa,
span.fas,
span.far,
span.fab,
span.fal,
span.fad,
[class^="fa-"],
[class*=" fa-"] {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
}

.fas,
.fa,
i.fas,
i.fa,
span.fas,
span.fa {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

.far,
i.far,
span.far {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 400 !important;
}

.fab,
i.fab,
span.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}

/* Mantener Material Symbols cuando se usen */
.material-symbols-outlined,
.material-icons {
    font-family: "Material Symbols Outlined" !important;
    font-weight: normal !important;
    font-style: normal !important;
    line-height: 1 !important;
}

/* Evitar que reglas globales de texto rompan pseudo-elementos de iconos */
.fa:before,
.fas:before,
.far:before,
.fab:before,
[class^="fa-"]:before,
[class*=" fa-"]:before {
    font-family: inherit !important;
}

/* Iconos concretos de tarjetas/filtros/ofertas */
.jobcard i,
.jobcard .fa,
.job-card i,
.job-card .fa,
.jobinfo i,
.jobinfo .fa,
.pageSearch button i,
.svjobsearch button i,
.tt-footer i,
.contact i,
.navbar i,
.btn i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

/* Marcas sociales */
.tt-footer .fab,
.contact .fab,
.tt-contact-social-links .fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}


/* Formularios del perfil profesional */
.formrow.has-error .form-control,
.formrow.has-error .select2-selection { border-color: #dc3545 !important; }
.help-block { color: #dc3545 !important; display: block; margin-top: 6px; }
.tt-required-label { display: block; margin: 0 0 6px; color: #303030; font-size: 13px; font-weight: 600; }
.tt-required-label span { color: #dc3545; }
.tt-remove-project-image { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; color: #d6334a; font-weight: 600; cursor: pointer; }
