/*
 * Portal del Empleo - Branding Classic View
 * Azul principal: #073D90
 * Azul secundario: #0A5FAB
 * Azul claro: #1399D8
 * Verde principal: #80B629
 * Verde oscuro: #69A524
 */

:root {
    --portal-blue: #073D90;
    --portal-blue-2: #0A5FAB;
    --portal-blue-light: #1399D8;
    --portal-green: #80B629;
    --portal-green-dark: #69A524;
    --portal-bg: #F7F9FB;
    --portal-border: #E3EBE7;
    --portal-text: #1F2937;
}

body.jt-theme-classic,
body {
    color: var(--portal-text);
    background: var(--portal-bg);
}

a,
.jt-theme-classic a,
.text-primary {
    color: var(--portal-blue);
}

a:hover,
.jt-theme-classic a:hover {
    color: var(--portal-green-dark);
}

.btn-primary,
.jt-theme-classic .btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
    background-color: var(--portal-green) !important;
    border-color: var(--portal-green) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.jt-theme-classic .btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover {
    background-color: var(--portal-green-dark) !important;
    border-color: var(--portal-green-dark) !important;
    color: #ffffff !important;
}

.btn-outline-primary,
.jt-theme-classic .btn-outline-primary {
    color: var(--portal-blue) !important;
    border-color: var(--portal-blue) !important;
}

.btn-outline-primary:hover,
.jt-theme-classic .btn-outline-primary:hover {
    background-color: var(--portal-blue) !important;
    color: #ffffff !important;
}

.btn-success,
.badge-success,
.bg-success {
    background-color: var(--portal-green) !important;
    border-color: var(--portal-green) !important;
}

.bg-primary,
.badge-primary,
.jt-theme-classic .bg-primary {
    background-color: var(--portal-blue) !important;
}

.navbar,
.site-header,
.header,
.main-header,
.jt-header,
.jt-navbar {
    border-bottom: 1px solid var(--portal-border);
}

.navbar a,
.site-header a,
.header a,
.main-header a,
.jt-header a,
.jt-navbar a {
    color: var(--portal-blue);
}

.navbar a:hover,
.site-header a:hover,
.header a:hover,
.main-header a:hover,
.jt-header a:hover,
.jt-navbar a:hover {
    color: var(--portal-green-dark);
}

.card,
.panel,
.box,
.job-card,
.listing-card,
.jt-card,
.jt-job-card {
    border-color: var(--portal-border);
    box-shadow: 0 8px 20px rgba(7, 61, 144, 0.06);
}

.card-header,
.panel-heading,
.box-header,
.jt-card-header {
    background: linear-gradient(90deg, rgba(7, 61, 144, 0.08), rgba(128, 182, 41, 0.08));
    border-bottom-color: var(--portal-border);
}

.hero,
.home-hero,
.search-hero,
.banner-area,
.jt-hero,
.jt-search-section {
    background:
        linear-gradient(135deg, rgba(7, 61, 144, 0.94), rgba(10, 95, 171, 0.86)),
        linear-gradient(45deg, rgba(128, 182, 41, 0.25), rgba(19, 153, 216, 0.18)) !important;
    color: #ffffff;
}

.hero *,
.home-hero *,
.search-hero *,
.banner-area *,
.jt-hero *,
.jt-search-section * {
    color: inherit;
}

.form-control:focus,
.form-select:focus,
.jt-theme-classic .form-control:focus {
    border-color: var(--portal-blue-light);
    box-shadow: 0 0 0 0.2rem rgba(19, 153, 216, 0.18);
}

.footer,
.site-footer,
.jt-footer {
    background: #052E6E !important;
    color: #ffffff;
}

.footer a,
.site-footer a,
.jt-footer a {
    color: #ffffff;
}

.footer a:hover,
.site-footer a:hover,
.jt-footer a:hover {
    color: #B7E36B;
}

.alert-info {
    background-color: rgba(19, 153, 216, 0.1);
    border-color: rgba(19, 153, 216, 0.25);
    color: var(--portal-blue);
}

.alert-success {
    background-color: rgba(128, 182, 41, 0.12);
    border-color: rgba(128, 182, 41, 0.28);
    color: #426B12;
}

.table thead th {
    background-color: rgba(7, 61, 144, 0.08);
    color: var(--portal-blue);
}

.pagination .page-link {
    color: var(--portal-blue);
}

.pagination .active .page-link,
.page-item.active .page-link {
    background-color: var(--portal-green);
    border-color: var(--portal-green);
}

.portal-accent-line {
    height: 4px;
    background: linear-gradient(90deg, var(--portal-blue), var(--portal-blue-light), var(--portal-green));
    border-radius: 999px;
}
