/* ==========================================================
   TuTrabajo · Sistema visual global
   Fuente: Figtree · Paleta verde/naranja según hoja de estilo
   Alcance: Front, panel empresa/candidato y admin
   ========================================================== */

:root {
  --tt-font: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --tt-green-900: #245a1c;
  --tt-green-700: #40c42b;
  --tt-green-600: #3bbd28;
  --tt-green-500: #70d66a;
  --tt-green-300: #c3edbf;
  --tt-green-100: #ecf8e8;
  --tt-orange: #ff9920;
  --tt-orange-hover: #e8a245;
  --tt-text: #7d857a;
  --tt-heading: #1f252b;
  --tt-muted: #8b9489;
  --tt-border: #e4ece1;
  --tt-card: #ffffff;
  --tt-soft: #f7fbf5;
  --tt-danger: #ef476f;
  --tt-radius-sm: 10px;
  --tt-radius: 16px;
  --tt-radius-lg: 24px;
  --tt-shadow: 0 12px 32px rgba(31, 37, 43, 0.08);
  --tt-shadow-soft: 0 6px 18px rgba(31, 37, 43, 0.06);
}

html, body {
  font-family: var(--tt-font) !important;
  color: var(--tt-text);
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: .01em;
}

body, p, li, a, button, input, textarea, select, label, .form-control, .dropdown-menu, .table, .card, .modal-content {
  font-family: var(--tt-font) !important;
}

h1, .h1 { font-size: 45px; line-height: 47px; font-weight: 700; color: var(--tt-heading); letter-spacing: .01em; }
h2, .h2 { font-size: 32px; line-height: 38px; font-weight: 700; color: var(--tt-heading); letter-spacing: .01em; }
h3, .h3 { font-size: 24px; line-height: 30px; font-weight: 500; color: var(--tt-heading); }
h4, .h4 { font-size: 20px; line-height: 36px; font-weight: 600; color: var(--tt-heading); }
h5, .h5 { font-size: 16px; line-height: 22px; font-weight: 600; color: var(--tt-heading); }
small, .small, .text-small { font-size: 13px; line-height: 18px; font-weight: 500; }

@media (max-width: 767px) {
  h1, .h1 { font-size: 34px; line-height: 38px; }
  h2, .h2 { font-size: 28px; line-height: 34px; }
  h3, .h3 { font-size: 22px; line-height: 28px; }
}

/* Colores base */
a { color: var(--tt-green-700); transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
a:hover, a:focus { color: var(--tt-green-900); text-decoration: none; }
.text-primary, .font-green, .text-success { color: var(--tt-green-700) !important; }
.bg-primary, .badge-primary, .label-primary { background-color: var(--tt-green-700) !important; }
.bg-success, .badge-success, .label-success { background-color: var(--tt-green-700) !important; }
.bg-warning, .badge-warning { background-color: var(--tt-orange) !important; color: #fff !important; }
.border-primary { border-color: var(--tt-green-700) !important; }

/* Botones */
.btn, button, input[type="submit"], input[type="button"], .btn-primary, .btn-success, .btn-warning, .btn-info, .btn-danger {
  border-radius: var(--tt-radius) !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  box-shadow: none !important;
}
.btn-primary, .btn-success, .green, .btn.green, .sitebtn, .search-btn, .btn-search, .btn-apply, .btn-post-job, .svjobalert, .button-primary {
  background: var(--tt-green-700) !important;
  border-color: var(--tt-green-700) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-success:hover, .green:hover, .btn.green:hover, .sitebtn:hover, .search-btn:hover, .btn-search:hover, .btn-apply:hover, .btn-post-job:hover, .button-primary:hover {
  background: var(--tt-green-600) !important;
  border-color: var(--tt-green-600) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.btn-warning, .orange, .btn.orange, .featured-btn, .btn-featured, .btn-secondary:not(.dropdown-toggle) {
  background: var(--tt-orange) !important;
  border-color: var(--tt-orange) !important;
  color: #fff !important;
}
.btn-warning:hover, .orange:hover, .btn.orange:hover, .featured-btn:hover, .btn-featured:hover, .btn-secondary:not(.dropdown-toggle):hover {
  background: var(--tt-orange-hover) !important;
  border-color: var(--tt-orange-hover) !important;
  color: #fff !important;
}
.btn-outline-primary, .btn-default, .btn-light, .btn-outline-success {
  border-color: var(--tt-green-700) !important;
  color: var(--tt-green-700) !important;
  background: #fff !important;
}
.btn-outline-primary:hover, .btn-default:hover, .btn-light:hover, .btn-outline-success:hover {
  background: var(--tt-green-100) !important;
  color: var(--tt-green-900) !important;
}
.btn-danger { background: var(--tt-danger) !important; border-color: var(--tt-danger) !important; color: #fff !important; }

/* Formularios */
.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="datetime-local"], textarea, select, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
  border: 1px solid var(--tt-border) !important;
  border-radius: var(--tt-radius) !important;
  color: var(--tt-heading) !important;
  min-height: 44px;
  box-shadow: none !important;
}
.form-control:focus, input:focus, textarea:focus, select:focus, .select2-container--default.select2-container--focus .select2-selection--multiple, .select2-container--default .select2-selection--single:focus {
  border-color: var(--tt-green-700) !important;
  box-shadow: 0 0 0 4px rgba(64,196,43,.12) !important;
}
label { color: var(--tt-heading); font-weight: 500; }
.help-block, .form-text, .text-muted { color: var(--tt-muted) !important; }

/* Cards, cajas y tablas */
.card, .whitebg, .useraccountwrap, .userccount, .jobbox, .job-card, .joblist, .jobslist, .employerbox, .company-card, .candidate-card, .modal-content, .table-responsive, .dash-card, .dashboard-card, .profile-box {
  border-radius: var(--tt-radius-lg) !important;
  border-color: var(--tt-border) !important;
  box-shadow: var(--tt-shadow-soft);
  background: var(--tt-card);
}
.card:hover, .jobbox:hover, .job-card:hover, .employerbox:hover, .company-card:hover, .candidate-card:hover {
  box-shadow: var(--tt-shadow);
}
.table thead th, table.dataTable thead th {
  color: var(--tt-heading) !important;
  font-weight: 600 !important;
  background: var(--tt-soft) !important;
  border-bottom: 1px solid var(--tt-border) !important;
}
.table td, .table th { border-color: var(--tt-border) !important; vertical-align: middle; }

/* Header público */
.header, .site-header, .navbar, .navbar-default, .main-header {
  font-family: var(--tt-font) !important;
}
.navbar-nav > li > a, .nav-link, .navbar a {
  color: var(--tt-heading) !important;
  font-weight: 500 !important;
}
.navbar-nav > li.active > a, .navbar-nav > li > a:hover, .nav-link.active, .nav-link:hover {
  color: var(--tt-green-700) !important;
}

/* Hero y secciones front */
.tt-hero, .inner-page-title, .pageTitle, .page-title, .searchwrap, .home-search, .section-soft-green {
  background: var(--tt-green-100) !important;
}
.tt-hero__title, .tt-section-title, .section-title h2, .titleTop h3, .pageTitle h1, .inner-page-title h1 {
  color: var(--tt-green-700) !important;
  font-weight: 700 !important;
}
.tt-hero__subtitle, .section-title p, .textrow p, .cms-content p {
  color: var(--tt-text) !important;
}
.tt-hero__search, .searchbar, .searchform, .jobsearch, .searchList, .searchPanel {
  border-radius: var(--tt-radius) !important;
  box-shadow: var(--tt-shadow-soft);
}

/* Listados de empleo */
.job-title, .jobtitle, .job-card h3, .jobbox h3, .jobslist h3, .joblist h3, .job-card-title, .tt-job-card__title {
  color: var(--tt-green-700) !important;
  font-weight: 700 !important;
}
.job-card .badge, .jobbox .badge, .jobslist .badge, .badge, .label {
  border-radius: 999px !important;
  font-weight: 600 !important;
}
.job-card .location, .jobloc, .job-location, .jobbox .location {
  color: var(--tt-text) !important;
}

/* Paginación */
.pagination { gap: 8px; }
.pagination li a, .pagination li span, .page-link {
  border-radius: 12px !important;
  border-color: var(--tt-border) !important;
  color: var(--tt-green-700) !important;
  font-weight: 500;
}
.pagination .active a, .pagination .active span, .page-item.active .page-link {
  background: var(--tt-green-700) !important;
  border-color: var(--tt-green-700) !important;
  color: #fff !important;
}
.pagination li a:hover, .page-link:hover {
  background: var(--tt-green-100) !important;
  color: var(--tt-green-900) !important;
}

/* Panel candidato / empresa */
.userlinkstp a, .userlinkstp li a, .company-dashboard-sidebar a, .candidate-dashboard-sidebar a {
  color: var(--tt-heading) !important;
  font-weight: 500;
}
.userlinkstp a:hover, .userlinkstp li.active a, .company-dashboard-sidebar a:hover, .candidate-dashboard-sidebar a:hover {
  color: var(--tt-green-700) !important;
}
.userlinkstp i, .company-dashboard-sidebar i, .candidate-dashboard-sidebar i {
  color: var(--tt-green-700) !important;
}
.alert-info, .note-info { background: var(--tt-green-100) !important; border-color: var(--tt-green-300) !important; color: var(--tt-heading) !important; }
.alert-success, .note-success { background: var(--tt-green-100) !important; border-color: var(--tt-green-700) !important; color: var(--tt-heading) !important; }

/* Admin */
body[data-bs-theme], .wrapper, .content-page, .page-content, .content, .container-fluid {
  font-family: var(--tt-font) !important;
}
.app-topbar, .topbar-menu { border-bottom: 1px solid var(--tt-border); }
.sidenav-menu { background: #24302a !important; }
.sidenav-menu .side-nav-link, .sidenav-menu a, .side-nav-title { font-family: var(--tt-font) !important; }
.sidenav-menu .side-nav-link:hover, .sidenav-menu .side-nav-link.active, .sidenav-menu a.active {
  color: #fff !important;
  background: rgba(64,196,43,.18) !important;
}
.sidenav-toggle-button, .btn-icon.bg-primary, .avatar.bg-primary {
  background: var(--tt-green-700) !important;
  border-color: var(--tt-green-700) !important;
}
.page-title, .page-title-box h4, .card-title, .portlet-title, .caption-subject {
  color: var(--tt-heading) !important;
  font-weight: 700 !important;
}
.portlet, .portlet.light, .box, .panel, .card {
  border-radius: var(--tt-radius-lg) !important;
  border-color: var(--tt-border) !important;
  box-shadow: var(--tt-shadow-soft) !important;
}
.portlet > .portlet-title, .card-header, .panel-heading {
  border-color: var(--tt-border) !important;
}

/* Login admin */
.login { font-family: var(--tt-font) !important; background: var(--tt-green-100) !important; }
.login .content { border-radius: var(--tt-radius-lg) !important; box-shadow: var(--tt-shadow) !important; }
.login .content h3 { color: var(--tt-green-700) !important; font-weight: 700 !important; }
.login .btn-success { background: var(--tt-green-700) !important; border-color: var(--tt-green-700) !important; }

/* Utilidades */
.tt-bg-soft { background: var(--tt-green-100) !important; }
.tt-text-green { color: var(--tt-green-700) !important; }
.tt-text-muted { color: var(--tt-text) !important; }
.tt-card { border-radius: var(--tt-radius-lg); box-shadow: var(--tt-shadow-soft); border: 1px solid var(--tt-border); background: #fff; }

/* Evitar que overrides antiguos de azul/naranja rompan el sistema */
[style*="#0357e9"], [style*="#0d6efd"], [style*="rgb(13, 110, 253)"] {
  color: inherit;
}


/* ============================================================
   FIX — PageTitle verde corporativo #24C022
   Fuerza el banner interior aunque brand-system se cargue después.
   ============================================================ */
.pageTitle,
.inner-page-title,
.page-title {
    background: #24C022 !important;
    background-color: #24C022 !important;
    background-image: none !important;
    padding: 64px 0 !important;
}

.pageTitle .page-heading,
.pageTitle h1,
.pageTitle h2,
.pageTitle h3,
.pageTitle h4,
.pageTitle h5,
.inner-page-title h1,
.inner-page-title h2,
.inner-page-title h3,
.inner-page-title h4,
.inner-page-title h5,
.page-title h1,
.page-title h2,
.page-title h3,
.page-title h4,
.page-title h5 {
    color: #fff !important;
}


/* ============================================================
   FIX DEFINITIVO — Hover naranja #e8a245
   ============================================================ */
:root {
    --tt-orange-hover: #e8a245 !important;
}

.tt-btn--orange:hover,
.tt-btn--orange:focus,
.tt-btn--orange:active,
a.tt-btn--orange:hover,
a.tt-btn--orange:focus,
button.tt-btn--orange:hover,
button.tt-btn--orange:focus,
.tt-hero__actions .tt-btn--orange:hover,
.tt-hero__actions .tt-btn--orange:focus,
.tt-city-tag:hover,
.tt-city-tag:focus,
.btn-warning:hover,
.btn-warning:focus,
.bg-warning:hover,
#siteheader .navbar-nav > li.register > a.nav-link:hover,
#siteheader .navbar-nav > li.register > a.nav-link:focus,
#siteheader .navbar-nav > li.register.active > a.nav-link,
#siteheader .navbar-nav .register .nav-link:hover,
#siteheader .navbar-nav .register a.register:hover,
#siteheader .postjob a:hover,
#siteheader a.postjobbtn:hover,
#siteheader .register-btn:hover {
    background: #e8a245 !important;
    background-color: #e8a245 !important;
    border-color: #e8a245 !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(232,162,69,.28) !important;
}

.tt-btn--orange:hover *,
.tt-btn--orange:focus *,
#siteheader .navbar-nav > li.register > a.nav-link:hover *,
#siteheader .navbar-nav > li.register > a.nav-link:focus * {
    color: #fff !important;
}

#siteheader .navbar-nav > li.register > a.nav-link::after,
#siteheader .navbar-nav > li.loginbtn > a.nav-link::after,
.tt-btn--orange::after {
    display: none !important;
    content: none !important;
}


/* ============================================================
   FIX — Botones redondos + hover naranja correcto + enlaces sin subrayado
   ============================================================ */
:root {
    --tt-orange-hover: #e8a245 !important;
}

/* Botón Subir CV / filtros superiores */
.jobreqbtn .btn,
.jobreqbtn a.btn,
.listpgWraper .jobreqbtn .btn,
.sidebar .jobreqbtn .btn {
    min-height: 46px !important;
    border-radius: 999px !important;
    padding: 12px 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1 !important;
}

/* Mantener también redondos los buscadores de filtros */
.searchnt .btn,
.searchnt button.btn,
.comfilter .btn,
.comfilter button.btn {
    border-radius: 999px !important;
}

/* Botones naranjas: hover en #e8a245 */
.tt-btn--orange:hover,
.tt-btn--orange:focus,
.tt-btn--orange:active,
.tt-btn--accent:hover,
.tt-btn--accent:focus,
.tt-btn--accent:active,
a.tt-btn--orange:hover,
a.tt-btn--orange:focus,
a.tt-btn--accent:hover,
a.tt-btn--accent:focus,
button.tt-btn--orange:hover,
button.tt-btn--orange:focus,
button.tt-btn--accent:hover,
button.tt-btn--accent:focus,
.tt-featured-jobs__footer .tt-btn:hover,
.tt-featured-jobs__footer .tt-btn:focus,
.tt-featured-jobs .tt-btn--accent:hover,
.tt-featured-jobs .tt-btn--accent:focus,
.tt-highlight-cta .tt-btn:hover,
.tt-highlight-cta .tt-btn:focus,
.btn-warning:hover,
.btn-warning:focus,
#siteheader .navbar-nav > li.register > a.nav-link:hover,
#siteheader .navbar-nav > li.register > a.nav-link:focus,
#siteheader .navbar-nav > li.register.active > a.nav-link,
#siteheader .navbar-nav .register .nav-link:hover,
#siteheader .navbar-nav .register a.register:hover,
#siteheader .postjob a:hover,
#siteheader a.postjobbtn:hover,
#siteheader .register-btn:hover {
    background: #e8a245 !important;
    background-color: #e8a245 !important;
    border-color: #e8a245 !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(232,162,69,.28) !important;
}

/* Texto/iconos de botones naranjas en hover */
.tt-btn--orange:hover *,
.tt-btn--orange:focus *,
.tt-btn--accent:hover *,
.tt-btn--accent:focus *,
.tt-featured-jobs__footer .tt-btn:hover *,
.tt-featured-jobs__footer .tt-btn:focus *,
#siteheader .navbar-nav > li.register > a.nav-link:hover *,
#siteheader .navbar-nav > li.register > a.nav-link:focus * {
    color: #fff !important;
}

/* Quitar línea inferior/after de botones naranjas */
#siteheader .navbar-nav > li.register > a.nav-link::after,
#siteheader .navbar-nav > li.loginbtn > a.nav-link::after,
.tt-btn--orange::after,
.tt-btn--accent::after,
.tt-featured-jobs__footer .tt-btn::after {
    display: none !important;
    content: none !important;
}

/* Enlaces naranjas tipo "Destácala..." sin subrayado fijo */
.tt-highlight-cta a,
.tt-highlight-cta a:visited,
.tt-highlight-cta .tt-link,
.tt-highlight-cta .tt-link:visited,
.tt-highlight-cta .tt-link--arrow,
.tt-highlight-cta .tt-link--arrow:visited,
.tt-featured-jobs a.tt-link,
.tt-featured-jobs a.tt-link:visited,
.tt-cta-link,
.tt-cta-link:visited {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    text-underline-offset: 0 !important;
}

/* Hover del enlace: opcional, limpio */
.tt-highlight-cta a:hover,
.tt-highlight-cta a:focus,
.tt-highlight-cta .tt-link:hover,
.tt-highlight-cta .tt-link:focus,
.tt-highlight-cta .tt-link--arrow:hover,
.tt-highlight-cta .tt-link--arrow:focus,
.tt-featured-jobs a.tt-link:hover,
.tt-featured-jobs a.tt-link:focus,
.tt-cta-link:hover,
.tt-cta-link:focus {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    color: #e8a245 !important;
}


/* tuTrabajo - Candidatos que siguen a la empresa: eliminar azul residual */
.tt-company-followers .searchList > li:hover {
    border-bottom-color: #24C022 !important;
}

.tt-company-followers .searchList li .listbtn a,
.tt-company-followers .searchList li .listbtn a:visited {
    color: #24C022 !important;
    border-color: #24C022 !important;
    background: #fff !important;
    text-decoration: none !important;
}

.tt-company-followers .searchList li .listbtn a:hover,
.tt-company-followers .searchList li .listbtn a:focus {
    color: #fff !important;
    background: #FF9F20 !important;
    border-color: #FF9F20 !important;
    text-decoration: none !important;
}
