/* =========================================================
   EmpleosEnCostaRica.com — Tema V1
   ========================================================= */
:root {
  --ec-blue: #073b88;
  --ec-blue-2: #0b57d0;
  --ec-blue-soft: #eaf2ff;
  --ec-red: #e7182b;
  --ec-green: #15803d;
  --ec-green-soft: #eaf8ef;
  --ec-ink: #111827;
  --ec-text: #3f4755;
  --ec-muted: #6b7280;
  --ec-border: #dfe3ea;
  --ec-surface: #ffffff;
  --ec-bg: #f7f8fb;
  --ec-radius: 16px;
  --ec-shadow: 0 12px 32px rgba(16, 40, 76, .10);
  --ec-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ec-ink); background: var(--ec-bg); font-family: var(--ec-font); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: var(--ec-blue-2); text-decoration: none; }
a:hover { color: var(--ec-blue); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.container { width: min(1320px, calc(100% - 40px)); margin-inline: auto; }
.content-narrow { width: min(850px, 100%); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed !important; left: 12px; top: 12px; width: auto; height: auto; margin: 0; padding: 10px 14px; clip: auto; z-index: 99999; background: #fff; border-radius: 8px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 22px; border: 1px solid var(--ec-blue); border-radius: 10px; background: var(--ec-blue); color: #fff; font-weight: 750; line-height: 1.2; cursor: pointer; transition: .2s ease; }
.button:hover { background: #052e6a; color: #fff; transform: translateY(-1px); }
.button-secondary { background: #fff; color: var(--ec-blue); border-color: var(--ec-border); }
.button-secondary:hover { background: var(--ec-blue-soft); color: var(--ec-blue); }
.button-block { width: 100%; }
.eyebrow { margin: 0 0 8px; color: #dbeafe; font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow.dark { color: var(--ec-blue-2); }

/* Header */
.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(223,227,234,.9); backdrop-filter: blur(14px); }
.header-inner { min-height: 92px; display: flex; align-items: center; gap: 28px; }
.site-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.site-brand img { display: block; width: auto; height: 72px; max-width: 250px; object-fit: contain; object-position: left center; }
.main-navigation { margin-left: auto; }
.main-menu { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.main-menu a { position: relative; color: #111827; font-size: .94rem; font-weight: 720; }
.main-menu a::after { content: ""; position: absolute; left: 0; bottom: -11px; width: 0; height: 2px; background: var(--ec-blue-2); transition: width .2s ease; }
.main-menu a:hover::after, .current-menu-item > a::after { width: 100%; }
.button-header { min-height: 44px; padding-inline: 18px; white-space: nowrap; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 10px; background: var(--ec-blue-soft); }
.menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--ec-blue); }

/* Hero */
.hero-home { position: relative; min-height: 535px; display: flex; align-items: center; background: url('../images/hero-costa-rica.jpg') center/cover no-repeat; color: #fff; overflow: hidden; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,34,77,.80), rgba(6,53,113,.54) 55%, rgba(2,17,41,.56)); }
.hero-content { position: relative; z-index: 1; padding-block: 72px; text-align: center; }
.hero-content h1 { max-width: 930px; margin: 0 auto 12px; color: #fff; font-size: clamp(2.5rem, 5vw, 4.7rem); line-height: 1.04; letter-spacing: -.045em; text-shadow: 0 3px 20px rgba(0,0,0,.25); }
.hero-subtitle { max-width: 780px; margin: 0 auto 28px; font-size: clamp(1rem, 1.7vw, 1.35rem); color: #f3f7ff; }
.job-search-form { width: min(1100px, 100%); margin: 0 auto; padding: 12px; display: grid; grid-template-columns: 1.25fr .8fr .8fr auto; gap: 10px; background: #fff; border-radius: 15px; box-shadow: 0 18px 55px rgba(0,0,0,.26); }
.search-field { min-height: 58px; display: flex; align-items: center; gap: 10px; padding: 0 15px; border: 1px solid var(--ec-border); border-radius: 10px; background: #fff; color: var(--ec-muted); }
.search-field svg, .search-submit svg, .job-location svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; flex: 0 0 auto; }
.search-field input, .search-field select { width: 100%; height: 54px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ec-ink); }
.search-submit { min-width: 135px; border-radius: 10px; }
.popular-searches { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 9px; margin-top: 18px; font-size: .88rem; }
.popular-searches a { padding: 7px 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(7,16,36,.44); color: #fff; backdrop-filter: blur(6px); }
.popular-searches a:hover { background: rgba(255,255,255,.18); }

/* Statistics */
.stats-strip { background: #fff; border-bottom: 1px solid var(--ec-border); }
.stats-grid { min-height: 112px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 28px; }
.stat-item { display: flex; align-items: center; gap: 14px; }
.stat-item strong, .stat-item span { display: block; }
.stat-item strong { font-size: 1.35rem; line-height: 1.2; }
.stat-item div span { color: var(--ec-text); font-size: .86rem; }
.stat-icon, .trust-icon { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; border: 1px solid currentColor; font-weight: 850; }
.blue { color: #2563eb; background: #eff6ff; }
.green { color: #16a34a; background: #f0fdf4; }
.gold { color: #d97706; background: #fffbeb; }
.purple { color: #7c3aed; background: #f5f3ff; }

/* Sections */
.home-section { padding: 64px 0; background: #fff; }
.home-section + .home-section { padding-top: 12px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; }
.section-heading h2 { margin: 0; font-size: clamp(1.7rem, 2.8vw, 2.35rem); letter-spacing: -.035em; }
.section-heading > a { font-weight: 760; white-space: nowrap; }
.category-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 14px; }
.category-card { min-height: 138px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 18px 12px; border: 1px solid var(--ec-border); border-radius: 14px; background: #fff; color: var(--ec-ink); text-align: center; transition: .2s ease; }
.category-card:hover { border-color: #9bbdf2; box-shadow: 0 12px 24px rgba(11,87,208,.09); transform: translateY(-3px); }
.category-card span:last-child { color: var(--ec-muted); font-size: .78rem; }
.category-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--ec-blue-soft); color: var(--ec-blue-2); font-size: 1.45rem; }
.recent-jobs-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.trust-section { padding: 44px 0; background: #eef5ff; border-top: 1px solid #dce9fa; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.trust-grid > div { position: relative; padding-left: 66px; }
.trust-icon { position: absolute; left: 0; top: 0; }
.trust-grid h3 { margin: 0 0 4px; font-size: 1.05rem; }
.trust-grid p { margin: 0; color: var(--ec-text); font-size: .9rem; }

/* Job cards */
.job-card { position: relative; padding: 20px; border: 1px solid var(--ec-border); border-radius: var(--ec-radius); background: #fff; transition: .2s ease; cursor: pointer; }
.job-card:hover { border-color: #9bbdf2; box-shadow: 0 10px 24px rgba(14,52,104,.08); }
.job-card.is-selected { border-color: var(--ec-blue-2); box-shadow: 0 0 0 1px var(--ec-blue-2), 0 12px 28px rgba(11,87,208,.12); }
.job-card.is-featured { background: linear-gradient(180deg, #fff, #fbfdff); }
.save-job { position: absolute; right: 15px; top: 15px; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 9px; background: transparent; color: #344054; cursor: pointer; }
.save-job svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.save-job.is-saved { color: var(--ec-blue-2); background: var(--ec-blue-soft); }
.save-job.is-saved svg { fill: currentColor; }
.job-badge { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.job-badge.verified { color: var(--ec-green); background: var(--ec-green-soft); }
.job-badge.featured { color: var(--ec-blue-2); background: var(--ec-blue-soft); }
.job-badge.expired { color: #b42318; background: #fef3f2; }
.job-card-title { margin: 12px 42px 3px 0; font-size: 1.08rem; line-height: 1.3; }
.job-card-title a { color: var(--ec-ink); }
.job-company, .job-location, .job-time { margin: 3px 0; color: var(--ec-text); font-size: .88rem; }
.job-location { display: flex; gap: 5px; align-items: center; }
.job-location svg { width: 16px; height: 16px; }
.job-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.job-chips span { padding: 6px 9px; border-radius: 8px; background: #f2f4f7; color: #344054; font-size: .75rem; font-weight: 650; }
.job-time { margin-top: 12px; font-size: .75rem; color: var(--ec-muted); }

/* Archive */
.archive-top { padding: 52px 0 28px; background: linear-gradient(180deg, #eef5ff, #f8fbff); border-bottom: 1px solid var(--ec-border); }
.archive-top h1 { margin: 0 0 22px; font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: -.045em; }
.archive-top .job-search-form { width: 100%; box-shadow: 0 8px 30px rgba(28,65,117,.11); }
.filter-bar { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.filter-bar label { display: grid; gap: 5px; color: var(--ec-text); font-size: .72rem; font-weight: 750; }
.filter-bar select { min-width: 175px; height: 44px; padding: 0 35px 0 12px; border: 1px solid var(--ec-border); border-radius: 9px; background: #fff; }
.filter-submit { min-height: 44px; }
.clear-filters { padding: 10px 8px; font-weight: 750; }
.jobs-results-section { padding: 30px 0 70px; }
.results-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; color: var(--ec-text); }
.jobs-split-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); gap: 22px; align-items: start; }
.jobs-list { display: grid; gap: 14px; }
.job-preview { position: sticky; top: 116px; min-height: 520px; border: 1px solid var(--ec-border); border-radius: 18px; background: #fff; box-shadow: var(--ec-shadow); overflow: hidden; }
.preview-inner { padding: 30px; }
.preview-inner h2 { margin: 14px 0 4px; font-size: 1.8rem; letter-spacing: -.035em; }
.preview-company { margin: 0; font-size: 1.03rem; font-weight: 700; }
.preview-location, .preview-published { margin: 4px 0; color: var(--ec-text); }
.preview-inner hr { margin: 25px 0; border: 0; border-top: 1px solid var(--ec-border); }
.preview-inner h3 { margin: 0 0 8px; }
.preview-inner .button { margin-top: 22px; }
.job-preview.is-loading { opacity: .55; pointer-events: none; }
.navigation.pagination { margin-top: 20px; }
.nav-links { display: flex; gap: 8px; }
.page-numbers { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--ec-border); border-radius: 8px; background: #fff; }
.page-numbers.current { background: var(--ec-blue); color: #fff; border-color: var(--ec-blue); }

/* Single */
.single-job-section { padding: 46px 0 78px; }
.single-job-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 28px; align-items: start; }
.job-detail-card { border: 1px solid var(--ec-border); border-radius: 20px; background: #fff; box-shadow: 0 10px 35px rgba(16,40,76,.07); overflow: hidden; }
.job-detail-header { padding: 35px; border-bottom: 1px solid var(--ec-border); }
.badges-row { display: flex; gap: 8px; }
.job-detail-header h1 { margin: 14px 0 5px; font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.08; letter-spacing: -.045em; }
.detail-company { margin: 0; font-size: 1.12rem; font-weight: 750; }
.detail-meta { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 18px; color: var(--ec-text); font-size: .92rem; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.detail-actions .save-job { position: static; width: auto; height: auto; padding: 11px 22px; }
.job-alert { margin: 25px 35px 0; padding: 16px 18px; border-radius: 12px; }
.job-alert.warning { background: #fff7ed; color: #9a3412; }
.job-alert p { margin: 4px 0 0; }
.job-content-section, .job-facts { padding: 28px 35px; border-bottom: 1px solid var(--ec-border); }
.job-content-section h2, .job-facts h2 { margin: 0 0 14px; font-size: 1.28rem; }
.rich-content { color: #303846; }
.rich-content > :first-child { margin-top: 0; }
.rich-content > :last-child { margin-bottom: 0; }
.rich-content ul { padding-left: 20px; }
.rich-content li { margin: 6px 0; }
.benefits-content ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 20px; list-style: none; padding: 0; }
.benefits-content li::before { content: "✓"; margin-right: 7px; color: var(--ec-blue-2); font-weight: 900; }
.facts-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.facts-grid > div { padding: 15px; border-radius: 11px; background: #f8fafc; }
.facts-grid span, .facts-grid strong { display: block; }
.facts-grid span { color: var(--ec-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.single-job-sidebar { display: grid; gap: 18px; position: sticky; top: 116px; }
.safe-apply-card, .verification-card, .related-card, .ad-placeholder { padding: 20px; border: 1px solid var(--ec-border); border-radius: 16px; background: #fff; }
.safe-apply-card { display: flex; gap: 12px; background: #f0fdf4; border-color: #ccebd5; }
.safe-apply-card span { font-size: 1.5rem; }
.safe-apply-card strong { color: var(--ec-green); }
.safe-apply-card p, .verification-card p { margin: 4px 0 0; color: var(--ec-text); font-size: .87rem; }
.verification-card h2, .related-card h2 { margin: 0 0 12px; font-size: 1.05rem; }
.verification-card a { display: inline-block; margin-top: 12px; font-weight: 750; }
.related-card a { display: grid; gap: 2px; padding: 13px 0; border-top: 1px solid var(--ec-border); color: var(--ec-ink); }
.related-card a:first-of-type { border-top: 0; }
.related-card span, .related-card small { color: var(--ec-text); }
.ad-placeholder { min-height: 250px; display: grid; place-content: center; gap: 5px; text-align: center; color: var(--ec-muted); background: #fafafa; }
.ad-placeholder strong { color: #555; }

/* Footer and generic */
.site-footer { background: #071a38; color: #d8e1ef; }
.footer-grid { display: grid; grid-template-columns: 1.55fr repeat(3, 1fr); gap: 48px; padding-block: 58px; }
.footer-brand .site-brand img { filter: brightness(0) invert(1); opacity: .96; }
.footer-brand p { max-width: 420px; color: #afbdd0; }
.site-footer h2 { margin: 0 0 15px; color: #fff; font-size: 1rem; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin: 8px 0; }
.site-footer a { color: #d8e1ef; }
.site-footer a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: .84rem; }
.footer-bottom p { margin: 0; }
.generic-content { min-height: 55vh; padding: 65px 0; background: #fff; }
.generic-content h1 { font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.04em; }
.empty-state { grid-column: 1/-1; padding: 45px; border: 1px dashed #b9c3d1; border-radius: 16px; background: #fff; text-align: center; }

/* Responsive */
@media (max-width: 1180px) {
  .main-menu { gap: 18px; }
  .button-header { display: none; }
  .category-grid { grid-template-columns: repeat(4, 1fr); }
  .recent-jobs-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .header-inner { min-height: 78px; }
  .site-brand img { width: auto; height: 62px; max-width: 205px; }
  .menu-toggle { display: block; margin-left: auto; }
  .main-navigation { position: fixed; left: 0; right: 0; top: 78px; max-height: 0; overflow: hidden; background: #fff; border-bottom: 1px solid var(--ec-border); transition: max-height .25s ease; }
  .main-navigation.is-open { max-height: 500px; box-shadow: var(--ec-shadow); }
  .main-menu { display: grid; gap: 0; padding: 12px 20px 20px; }
  .main-menu a { display: block; padding: 11px 0; }
  .main-menu a::after { display: none; }
  .job-search-form { grid-template-columns: 1fr 1fr; }
  .search-keyword { grid-column: 1/-1; }
  .search-submit { width: 100%; }
  .stats-grid, .trust-grid { grid-template-columns: repeat(2, 1fr); padding-block: 22px; }
  .jobs-split-layout { grid-template-columns: 1fr; }
  .job-preview { display: none; }
  .single-job-grid { grid-template-columns: 1fr; }
  .single-job-sidebar { position: static; grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2; }
}
@media (max-width: 700px) {
  .container { width: min(100% - 24px, 1320px); }
  .hero-home { min-height: auto; }
  .hero-content { padding-block: 62px; }
  .hero-content h1 { font-size: 2.45rem; }
  .job-search-form { grid-template-columns: 1fr; padding: 9px; }
  .search-keyword { grid-column: auto; }
  .popular-searches { justify-content: flex-start; }
  .stats-grid, .trust-grid, .category-grid, .recent-jobs-grid { grid-template-columns: 1fr 1fr; }
  .stat-item { align-items: flex-start; }
  .section-heading { align-items: flex-start; }
  .section-heading > a { display: none; }
  .archive-top { padding-top: 35px; }
  .archive-top .job-search-form { grid-template-columns: 1fr; }
  .filter-bar { display: grid; grid-template-columns: 1fr 1fr; }
  .filter-bar label, .filter-bar select { width: 100%; min-width: 0; }
  .filter-submit { width: 100%; }
  .results-meta { align-items: flex-start; flex-direction: column; }
  .single-job-section { padding-top: 20px; }
  .job-detail-header, .job-content-section, .job-facts { padding: 24px 20px; }
  .job-alert { margin-inline: 20px; }
  .facts-grid, .benefits-content ul, .single-job-sidebar { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-brand { grid-column: 1/-1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 440px) {
  .site-brand img { width: auto; height: 54px; max-width: 176px; }
  .stats-grid, .trust-grid, .category-grid, .recent-jobs-grid { grid-template-columns: 1fr; }
  .filter-bar { grid-template-columns: 1fr; }
  .detail-actions .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   Empleos CR 2.0 — ajustes visuales aprobados
   ========================================================= */
.ec-icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.15em;flex:0 0 auto}
.site-header{background:#fff;position:sticky;top:0;z-index:80;border-bottom:1px solid #edf1f6}
.header-inner{min-height:86px}
.site-brand img{height:68px;width:auto;max-width:230px;object-fit:contain}
.main-menu>li{position:relative}
.main-menu .sub-menu{position:absolute;top:100%;left:-16px;min-width:220px;margin:0;padding:10px;background:#fff;border:1px solid var(--ec-border);border-radius:12px;box-shadow:var(--ec-shadow);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.main-menu li:hover>.sub-menu,.main-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.main-menu .sub-menu a{display:block;padding:9px 11px;border-radius:8px;white-space:nowrap}
.main-menu .sub-menu a:hover{background:#f3f6fb}
.button-header{white-space:nowrap}
.hero-home{min-height:440px}
.hero-content{padding-block:48px 52px;text-align:center}
.hero-content h1{max-width:800px;margin-inline:auto;font-size:clamp(2.35rem,4vw,4rem)}
.hero-subtitle{max-width:720px;margin-inline:auto}
.hero-home .job-search-form{max-width:1000px;margin-inline:auto}
.popular-searches{justify-content:center}
.stats-strip{background:#fff;border-bottom:1px solid #eef2f7}
.stats-grid{align-items:center}
.stat-item{justify-content:center}
.stat-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;font-size:.9rem;border:1px solid currentColor;background:#fff!important}
.stat-icon .ec-icon{width:22px;height:22px}
.stat-icon.blue{color:#2563eb}.stat-icon.green{color:#16a34a}.stat-icon.gold{color:#d89b00}.stat-icon.purple{color:#7c3aed}
.category-icon{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 10px;border-radius:10px;background:#eff6ff;color:#2563eb}
.category-icon .ec-icon{width:21px;height:21px}
.trust-icon{display:grid;place-items:center}.trust-icon .ec-icon{width:23px;height:23px}
.trust-grid>div{text-align:left}
.trust-grid .trust-icon{float:left;margin-right:14px}
.trust-grid h3,.trust-grid p{margin-left:58px}
.job-card-main{display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:start;margin-top:10px}
.company-avatar{width:48px;height:48px;border:1px solid var(--ec-border);border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden}
.company-avatar.large{width:58px;height:58px;border-radius:12px}
.company-avatar-img{width:100%;height:100%;object-fit:cover}
.company-avatar-initial{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#0b4ed8,#163b7d);color:#fff;font-size:1.3rem;font-weight:800}
.job-card-copy .job-card-title{margin-top:0}
.job-badge{display:inline-flex;align-items:center;gap:4px}.job-badge .ec-icon{width:13px;height:13px}
.job-location,.detail-meta span,.preview-location{display:flex;align-items:center;gap:5px}.job-location .ec-icon,.detail-meta .ec-icon,.preview-location .ec-icon{width:15px;height:15px}
.job-chips span{display:inline-flex;align-items:center;gap:5px}.job-chips .ec-icon{width:13px;height:13px}
.archive-top-v2{padding-bottom:18px}
.archive-search-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.archive-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:18px 0 22px;color:#475569;font-size:.88rem}
.archive-trust-row span{display:flex;align-items:center;gap:7px}.archive-trust-row .ec-icon{color:#16a34a}
.filter-bar{justify-content:flex-start}
.filter-bar label{min-width:150px}
.results-meta span{color:#64748b}
.job-preview{top:104px}
.preview-inner .job-badge{margin-bottom:12px}
.detail-company-row{display:flex;gap:16px;align-items:flex-start}
.detail-company-row h1{margin-top:0}
.apply-button .ec-icon{width:17px;height:17px}
.safe-apply-card>.ec-icon{width:26px;height:26px;color:#16a34a}
.ec-ad{margin-top:24px;min-height:110px;border:1px dashed #c8d0da;border-radius:14px;background:#fafafa;color:#8a94a3;display:grid;place-content:center;text-align:center;gap:4px;padding:20px}
.ec-ad strong{color:#5b6572}.single-job-sidebar .ec-ad{min-height:250px}

/* Interior pages */
.inner-hero{background:linear-gradient(135deg,#071a38,#0b3e91);color:#fff;padding:66px 0}
.inner-hero-grid{display:grid;grid-template-columns:1fr 180px;gap:40px;align-items:center}
.inner-hero h1{font-size:clamp(2.25rem,4vw,4rem);line-height:1.05;margin:8px 0 18px;letter-spacing:-.04em;color:#fff}
.inner-hero p{max-width:780px;color:#d8e5fa;font-size:1.08rem}
.inner-hero .eyebrow{color:#9ec2ff}
.inner-hero-icon{width:150px;height:150px;border-radius:32px;background:rgba(255,255,255,.1);display:grid;place-items:center;border:1px solid rgba(255,255,255,.18)}
.inner-hero-icon .ec-icon{width:72px;height:72px;color:#fff}
.info-section{padding:70px 0;background:#fff}.info-section.soft{background:#f6f9fd}
.section-title{max-width:760px;margin-bottom:32px}.section-title h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:6px 0 12px;color:#0f172a}.section-title>p:last-child{color:#64748b}
.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}
.photo-card{margin:0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(11,39,81,.15)}.photo-card img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.photo-card figcaption{padding:14px 18px;color:#64748b;font-size:.86rem}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.metric-row>div{padding:18px;border:1px solid #dfe6ee;border-radius:14px;background:#fff}.metric-row strong{display:block;font-size:1.65rem;color:#0b4ed8}.metric-row span{color:#64748b;font-size:.82rem}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-grid article{padding:25px;border:1px solid #dfe6ee;border-radius:16px;background:#fff}.feature-grid article>.ec-icon{width:29px;height:29px;color:#0b4ed8}.feature-grid h3{margin:16px 0 8px}.feature-grid p{color:#64748b}.feature-grid a{font-weight:700}
.check-list{padding:0;margin:20px 0;list-style:none}.check-list li{position:relative;padding-left:28px;margin:12px 0;color:#334155}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:#16a34a;font-weight:900}
.security-card,.contact-card{padding:32px;border-radius:20px;background:#071a38;color:#fff}.security-card>.ec-icon{width:42px;height:42px;color:#67e08d}.security-card h3,.contact-card h3{color:#fff}.security-card p,.contact-card p{color:#cfdbeb}
.cta-band{padding:38px 0;background:#0b4ed8;color:#fff}.cta-band>.container{display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-band h2{color:#fff;margin:0 0 5px}.cta-band p{margin:0;color:#dbe8ff}.cta-band .button{background:#fff;color:#0b4ed8}
.form-page{padding:60px 0;background:#f6f9fd}.form-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:start}.form-intro{position:sticky;top:110px}.form-shell{background:#fff;border:1px solid #dfe6ee;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.ec-notice{margin-top:22px;padding:17px;border-radius:12px;background:#eff6ff;border:1px solid #cfe0ff;color:#334155}.ec-notice p{margin:5px 0 0}
.form-shell .nf-form-cont{margin:0}.form-shell .nf-field-container{margin-bottom:18px}.form-shell input:not([type=button]):not([type=submit]),.form-shell textarea,.form-shell select{border:1px solid #ccd5df!important;border-radius:9px!important;padding:11px 12px!important;background:#fff!important}.form-shell input[type=button],.form-shell input[type=submit]{background:#0b4ed8!important;color:#fff!important;border:0!important;border-radius:9px!important;padding:12px 20px!important;font-weight:700!important}
.pricing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-items:stretch}.pricing-card{position:relative;padding:25px 20px;border:1px solid #dfe6ee;border-radius:18px;background:#fff;display:flex;flex-direction:column}.pricing-card.featured{border-color:#0b4ed8;box-shadow:0 16px 40px rgba(11,78,216,.13)}.pricing-card h3{font-size:1.35rem}.pricing-card>p{color:#64748b}.pricing-card ul{list-style:none;padding:0;margin:18px 0;flex:1}.pricing-card li{display:flex;gap:7px;margin:10px 0;font-size:.88rem;color:#334155}.pricing-card li .ec-icon{color:#16a34a;margin-top:2px}.recommended{position:absolute;top:-12px;left:18px;background:#0b4ed8;color:#fff;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800}.small-note{color:#64748b;font-size:.82rem;margin-top:20px}
.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.tool-card{display:block;padding:28px;border:1px solid #dfe6ee;border-radius:18px;background:#fff;color:#0f172a;transition:.2s}.tool-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(15,23,42,.09)}.tool-card>.ec-icon{width:34px;height:34px;color:#0b4ed8}.tool-card h2{font-size:1.3rem;margin:16px 0 9px}.tool-card p{color:#64748b}.tool-card span{font-weight:800;color:#0b4ed8}
.calculator-section{padding:60px 0;background:#f6f9fd}.calculator-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}.calculator-card,.calculator-results{background:#fff;border:1px solid #dfe6ee;border-radius:18px;padding:28px}.calculator-card label{display:block;font-weight:700;margin-bottom:18px}.calculator-card input,.calculator-card select{display:block;width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:9px;padding:12px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.result-grid>div,.big-result,.formula-box{padding:18px;border-radius:12px;background:#f8fafc;border:1px solid #e5eaf0}.result-grid span,.big-result span{display:block;color:#64748b;font-size:.8rem}.result-grid strong{display:block;margin-top:5px;font-size:1.15rem}.big-result strong{display:block;font-size:2.1rem;color:#0b4ed8;margin-top:6px}.month-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.source-note{display:flex;gap:13px;padding:18px;margin-top:20px;border-radius:12px;background:#f0fdf4;border:1px solid #ccebd5}.source-note>.ec-icon{width:25px;height:25px;color:#16a34a}.source-note p{margin:4px 0;color:#475569}
.salary-tools{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.salary-tools label{font-weight:700}.salary-tools input{display:block;min-width:320px;margin-top:7px;padding:11px;border:1px solid #cbd5e1;border-radius:9px}.salary-table-wrap{overflow:auto;border:1px solid #dfe6ee;border-radius:14px}.salary-table{width:100%;border-collapse:collapse;background:#fff}.salary-table th,.salary-table td{padding:14px 16px;border-bottom:1px solid #edf1f5;text-align:left}.salary-table th{background:#f8fafc;color:#334155}.salary-table tr:last-child td{border-bottom:0}
.news-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.news-category-card{display:block;padding:25px;border:1px solid #dfe6ee;border-radius:16px;color:#0f172a}.news-category-card>.ec-icon{width:28px;height:28px;color:#0b4ed8}.news-category-card h2{font-size:1.25rem}.news-category-card p{color:#64748b}.news-category-card span{font-weight:800;color:#0b4ed8}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-card{padding:24px;background:#fff;border:1px solid #dfe6ee;border-radius:16px}.article-card h3{font-size:1.22rem}.article-card p{color:#64748b}.article-card .eyebrow a{color:#0b4ed8}
.category-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.category-directory>a{display:grid;grid-template-columns:48px 1fr 24px;gap:14px;align-items:center;padding:18px;border:1px solid #dfe6ee;border-radius:14px;color:#0f172a}.category-directory>a>span:first-child{width:46px;height:46px;border-radius:10px;background:#eff6ff;color:#0b4ed8;display:grid;place-items:center}.category-directory small{display:block;color:#64748b;margin-top:3px}.province-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.province-card{padding:28px;border:1px solid #dfe6ee;border-radius:16px;color:#0f172a}.province-card>.ec-icon{width:30px;height:30px;color:#0b4ed8}.province-card h2{font-size:1.3rem;margin:15px 0 5px}.province-card p{color:#64748b}
.legal-section{padding:60px 0;background:#fff}.legal-section h2{margin-top:34px}.legal-section li{margin:8px 0}.legal-notice{padding:18px;border:1px solid #f0c36a;background:#fff8e7;border-radius:12px;color:#614a1a;margin-bottom:28px}.legal-notice p{margin:5px 0 0}
.social-links{display:flex;gap:9px;margin-top:18px}.social-links a{width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:9px;display:grid;place-items:center}.social-links a:hover{background:rgba(255,255,255,.1)}.social-links .ec-icon{width:19px;height:19px}
.footer-grid-v2{grid-template-columns:1.5fr repeat(4,1fr);gap:38px}.footer-brand .site-brand img{filter:brightness(0) invert(1);max-width:245px}

@media(max-width:1180px){.pricing-grid{grid-template-columns:repeat(3,1fr)}.tool-grid,.news-category-grid,.province-grid{grid-template-columns:repeat(2,1fr)}.footer-grid-v2{grid-template-columns:1.5fr repeat(2,1fr)}.footer-grid-v2>div:nth-child(4),.footer-grid-v2>div:nth-child(5){grid-column:auto}}
@media(max-width:980px){.main-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 16px;min-width:0}.main-menu .sub-menu a{font-size:.88rem;color:#64748b}.inner-hero-grid{grid-template-columns:1fr}.inner-hero-icon{display:none}.two-col,.form-layout,.calculator-layout{grid-template-columns:1fr}.form-intro{position:static}.feature-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:repeat(2,1fr)}.footer-grid-v2{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}}
@media(max-width:700px){
  .hero-content{text-align:center;padding-block:50px}.hero-content h1{font-size:2.3rem}.hero-subtitle{font-size:1rem}.popular-searches{justify-content:center;text-align:center}
  .stats-grid{grid-template-columns:1fr 1fr;gap:12px;padding-block:18px}.stat-item{justify-content:center;align-items:center;text-align:center;flex-direction:column;gap:8px}.stat-item>div{display:flex;flex-direction:column;align-items:center}.stat-icon{width:44px;height:44px}.stat-item strong{font-size:1.2rem}
  .trust-grid{grid-template-columns:1fr}.trust-grid>div{text-align:left}.feature-grid,.tool-grid,.news-category-grid,.article-grid,.province-grid,.category-directory{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr}.month-grid{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr 1fr}.salary-tools{align-items:stretch;flex-direction:column}.salary-tools input{min-width:0;width:100%}.cta-band>.container{flex-direction:column;align-items:flex-start}.footer-grid-v2{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.job-card-main{grid-template-columns:42px 1fr}.company-avatar{width:42px;height:42px}
}
@media(max-width:440px){.stats-grid{grid-template-columns:1fr 1fr}.stat-item{min-height:132px;padding:14px 7px}.stat-item span:last-child{font-size:.76rem}.result-grid{grid-template-columns:1fr}.footer-grid-v2{grid-template-columns:1fr}.site-brand img{height:50px;max-width:168px}}

/* =========================================================
   Empleos CR 2.1 — menú móvil, iconos, footer y Noticias
   ========================================================= */

/* SVG: aislamiento frente a reglas heredadas de Astra/Elementor. */
.ec-icon{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:inline-block!important;
  width:1.1em!important;
  height:1.1em!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  vertical-align:-.15em!important;
  flex:0 0 auto!important;
}
.stat-icon,.trust-icon,.category-icon,.social-links a,.social-links .social-placeholder{line-height:0}
.stat-icon .ec-icon{display:block!important;width:23px!important;height:23px!important;margin:auto!important}
.trust-icon .ec-icon{display:block!important;width:23px!important;height:23px!important;margin:auto!important}
.category-icon .ec-icon{display:block!important;width:21px!important;height:21px!important;margin:auto!important}

/* Footer: la bandera conserva sus colores; sólo el texto usa la versión clara. */
.footer-brand .footer-site-brand img{
  filter:none!important;
  opacity:1!important;
  width:auto;
  height:auto;
  max-width:270px;
}
.social-links{display:flex!important;align-items:center;gap:10px;margin-top:20px}
.social-links a,.social-links .social-placeholder{
  width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:11px;
  display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.04);transition:.2s ease
}
.social-links a:hover{background:#fff;color:#073b88;transform:translateY(-2px)}
.social-links .social-placeholder{opacity:.55;cursor:help}
.social-links .ec-icon{display:block!important;width:20px!important;height:20px!important;margin:auto!important}

/* Controles exclusivos del menú móvil. */
.mobile-menu-head,.mobile-menu-cta,.menu-backdrop{display:none}

/* Noticias: estilo editorial corporativo. */
.news-home-hero,.news-archive-hero{
  background:linear-gradient(135deg,#061a38 0%,#0a3471 58%,#0b57d0 100%);color:#fff
}
.news-home-hero-inner,.news-archive-hero-inner{min-height:300px;display:flex;align-items:center;justify-content:space-between;gap:42px;padding-block:58px}
.news-home-hero h1,.news-archive-hero h1{margin:0 0 14px;color:#fff;max-width:850px;font-size:clamp(2.25rem,5vw,4.4rem);line-height:1.05;letter-spacing:-.045em}
.news-home-hero p,.news-archive-hero p{max-width:760px;color:#dbe8fb;font-size:1.08rem}
.news-hero-mark{width:118px;height:118px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.25);border-radius:26px;background:rgba(255,255,255,.08)}
.news-hero-mark .ec-icon{width:60px!important;height:60px!important;color:#fff}
.news-home-section,.news-archive-section{padding:64px 0;background:#fff}.news-home-section.soft{background:#f5f8fc}
.news-category-grid-pro .news-category-card{position:relative;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.05);transition:.2s ease}
.news-category-grid-pro .news-category-card:hover{transform:translateY(-4px);border-color:#a9c8f7;box-shadow:0 18px 38px rgba(15,23,42,.10)}
.news-category-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#edf4ff;color:#0b57d0;margin-bottom:20px}
.news-category-icon .ec-icon{width:27px!important;height:27px!important}
.news-category-card>span:last-child{display:inline-flex;align-items:center;gap:7px}.news-category-card>span:last-child .ec-icon{width:16px!important;height:16px!important}
.news-featured-story{display:grid;grid-template-columns:1.05fr .95fr;gap:0;overflow:hidden;margin-bottom:58px;background:#fff;border:1px solid #dde5ef;border-radius:22px;box-shadow:0 16px 42px rgba(15,23,42,.08)}
.news-featured-media{display:block;min-height:390px;background:linear-gradient(135deg,#e9f1ff,#d7e6ff)}
.news-featured-media img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}
.news-featured-content{padding:46px;align-self:center}.news-featured-content h2{font-size:clamp(1.9rem,3vw,3rem);line-height:1.08;margin:0 0 14px}.news-featured-content h2 a{color:#0f172a}.news-featured-content p{color:#526071}
.news-listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.news-listing-grid.compact{margin-top:10px}
.news-card-pro{overflow:hidden;background:#fff;border:1px solid #dde5ef;border-radius:18px;box-shadow:0 7px 22px rgba(15,23,42,.045);transition:.2s ease}
.news-card-pro:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.09)}
.news-card-media{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#eef4ff,#dae8ff);overflow:hidden}
.news-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.news-card-pro:hover .news-card-media img{transform:scale(1.025)}
.news-card-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#0b57d0;background:linear-gradient(135deg,#edf4ff,#dceaff)}
.news-card-placeholder .ec-icon{width:48px!important;height:48px!important}
.news-card-body{padding:24px}.news-card-meta{display:flex;flex-wrap:wrap;gap:8px 13px;color:#64748b;font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.news-card-body h2{font-size:1.3rem;line-height:1.25;margin:10px 0}.news-card-body h2 a{color:#111827}.news-card-body p{color:#5b6675;margin:0 0 18px}
.news-read-more{display:inline-flex;align-items:center;gap:7px;font-weight:800}.news-read-more .ec-icon{width:16px!important;height:16px!important}
.news-empty-pro{grid-column:1/-1;max-width:820px;margin:0 auto;padding:56px 32px;text-align:center;background:#fff;border:1px solid #dce5f0;border-radius:20px;box-shadow:0 12px 34px rgba(15,23,42,.06)}
.news-empty-icon{width:68px;height:68px;margin:0 auto 16px;display:grid;place-items:center;border-radius:18px;background:#edf4ff;color:#0b57d0}.news-empty-icon .ec-icon{width:34px!important;height:34px!important}
.news-empty-pro h2{margin-bottom:7px}.news-empty-pro p{color:#64748b;max-width:600px;margin:0 auto 22px}
.news-pagination{margin-top:36px}.news-pagination .nav-links{display:flex;justify-content:center;gap:8px}.news-pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #dbe3ed;border-radius:10px;background:#fff}.news-pagination .current{background:#0b57d0;color:#fff;border-color:#0b57d0}
.news-single{background:#f6f8fb}.news-single-header{padding:68px 0 44px;background:#fff;border-bottom:1px solid #e5eaf0}.news-single-header h1{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 16px}.news-single-meta{display:flex;gap:18px;color:#64748b;font-size:.9rem}
.news-single-featured{margin-top:36px}.news-single-featured img{width:100%;max-height:620px;object-fit:cover;border-radius:22px;display:block}
.news-single-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;padding-block:48px}.news-single-content{padding:38px;background:#fff;border:1px solid #e1e7ef;border-radius:18px;font-size:1.05rem}.news-single-content h2,.news-single-content h3{margin-top:1.7em}.news-single-content p{color:#364152}.news-single-content img{border-radius:12px}.news-single-sidebar{display:flex;flex-direction:column;gap:22px}.news-side-card{padding:24px;background:#fff;border:1px solid #e1e7ef;border-radius:16px}.news-side-card h2{font-size:1.25rem}.news-side-card p{color:#64748b}

@media(max-width:980px){
  body.menu-open{overflow:hidden}
  .site-header{z-index:5000}
  .menu-toggle{position:relative;z-index:5200;display:block!important}
  .main-navigation{
    position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
    width:min(88vw,390px)!important;max-height:none!important;height:100dvh!important;overflow-y:auto!important;
    margin:0!important;padding:0 22px 28px!important;background:#fff!important;border:0!important;
    box-shadow:-18px 0 48px rgba(15,23,42,.18)!important;z-index:5300!important;
    opacity:0!important;visibility:hidden!important;transform:translateX(102%)!important;transition:transform .24s ease,opacity .2s ease,visibility .2s ease!important
  }
  .main-navigation.is-open{opacity:1!important;visibility:visible!important;transform:translateX(0)!important}
  .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;min-height:86px;border-bottom:1px solid #e5eaf0;font-size:1.05rem}
  .mobile-menu-close{width:42px;height:42px;border:0;border-radius:10px;background:#eef4ff;color:#073b88;font-size:2rem;line-height:1;cursor:pointer}
  .main-menu{display:block!important;padding:14px 0 8px!important;margin:0!important}
  .main-menu>li{border-bottom:1px solid #edf1f5!important}
  .main-menu>li>a{display:flex!important;align-items:center;justify-content:space-between;padding:14px 4px!important;color:#111827!important;font-size:1rem!important;font-weight:760!important}
  .main-menu .sub-menu{position:static!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;min-width:0!important;margin:-3px 0 10px!important;padding:0 0 0 13px!important;border:0!important;box-shadow:none!important;background:transparent!important}
  .main-menu .sub-menu li{border:0!important}.main-menu .sub-menu a{padding:8px 4px!important;color:#5b6675!important;font-size:.9rem!important;font-weight:620!important}
  .mobile-menu-cta{display:flex!important;width:100%;margin-top:18px}
  .menu-backdrop{display:block;position:fixed;inset:0;border:0;padding:0;background:rgba(4,18,42,.46);z-index:5100;opacity:0;visibility:hidden;transition:.2s ease}
  .menu-backdrop.is-open{opacity:1;visibility:visible}
  .news-featured-story{grid-template-columns:1fr}.news-featured-media,.news-featured-media img{min-height:300px}.news-listing-grid{grid-template-columns:repeat(2,1fr)}
  .news-single-layout{grid-template-columns:1fr}.news-single-sidebar{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .stats-grid{grid-template-columns:1fr 1fr!important;gap:14px!important;padding-block:20px!important}
  .stat-item{min-height:116px;justify-content:center!important;align-items:center!important;text-align:center!important;flex-direction:column!important;gap:8px!important;padding:13px 8px}
  .stat-item>div{display:flex!important;align-items:center!important;flex-direction:column!important}.stat-icon{width:48px!important;height:48px!important}
  .news-home-hero-inner,.news-archive-hero-inner{min-height:250px;padding-block:42px;align-items:flex-start}.news-hero-mark{display:none}.news-archive-hero-inner{flex-direction:column}.news-archive-hero h1,.news-home-hero h1{font-size:2.35rem}
  .news-home-section,.news-archive-section{padding:42px 0}.news-listing-grid{grid-template-columns:1fr}.news-featured-content{padding:28px}.news-featured-media,.news-featured-media img{min-height:230px}.news-single-sidebar{grid-template-columns:1fr}.news-single-content{padding:25px 21px}.news-single-header{padding:45px 0 30px}
}
@media(max-width:440px){
  .main-navigation{width:92vw!important;padding-inline:18px!important}.site-brand img{height:50px!important;max-width:168px!important}
  .footer-brand .footer-site-brand img{max-width:230px!important}
  .social-links a,.social-links .social-placeholder{width:40px;height:40px}
}


/* =========================================================
   Empleos CR 2.2 — pulido visual + Elementor
   ========================================================= */

/* Iconos: centrado fuerte y trazos más definidos. */
.stat-icon,
.category-icon,
.trust-icon {
  position: relative !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
}
.stat-icon {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-width: 1.5px !important;
}
.stat-icon .ec-icon,
.category-icon .ec-icon,
.trust-icon .ec-icon {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  margin: 0 auto !important;
  overflow: visible !important;
  stroke-width: 2.15 !important;
  vector-effect: non-scaling-stroke;
}
.stat-icon .ec-icon {
  width: 24px !important;
  height: 24px !important;
}
.stat-percent {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  height: 100%;
  font-size: .78rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em;
  color: currentColor !important;
  white-space: nowrap;
}
.stat-item {
  min-width: 0;
}
.stat-item > div {
  min-width: 0;
}
.stat-item > div > strong {
  line-height: 1.08;
}
.stat-item > div > span {
  line-height: 1.35;
}

/* Footer: conservar bandera a color y hacer visibles siempre los iconos sociales. */
.footer-brand .site-brand img,
.footer-brand .footer-site-brand img {
  filter: none !important;
  opacity: 1 !important;
}
.social-links .social-placeholder {
  opacity: 1 !important;
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
}
.social-links .ec-icon {
  stroke-width: 2 !important;
}

/* Selectores del buscador: más aire entre el texto y la flecha. */
.search-select-field {
  position: relative;
}
.search-select-field select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  padding: 0 48px 0 0 !important;
  margin: 0 !important;
  cursor: pointer;
}
.search-select-field::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: translateY(-68%) rotate(45deg);
  pointer-events: none;
}
.search-select-field > .ec-icon,
.search-select-field > svg {
  flex: 0 0 auto !important;
}

/* Elementor: evita márgenes forzados cuando una página pasa al constructor. */
.elementor-page .site-main {
  overflow: visible;
}
.elementor-page .site-main > .elementor {
  width: 100%;
}
.elementor-page .site-main .elementor-section-wrap,
.elementor-page .site-main .e-con {
  max-width: none;
}

/* Noticias: un poco más compactas y refinadas en escritorio. */
.news-card-pro,
.news-featured-story,
.news-empty-pro {
  border-color: #d9e2ee;
}
.news-card-pro {
  box-shadow: 0 8px 24px rgba(15,23,42,.055);
}
.news-card-body h2 a:hover {
  color: #0b57d0;
}

/* Móvil: mantener estadísticas centradas y selectores cómodos. */
@media (max-width: 700px) {
  .stats-grid {
    align-items: stretch !important;
  }
  .stat-item {
    align-items: center !important;
    justify-content: center !important;
  }
  .search-select-field select {
    padding-right: 52px !important;
  }
  .search-select-field::after {
    right: 20px;
  }
}

/* V2.2.1 — Elementor seguro */
.elementor-editing-area{
  width:min(100% - 32px,1320px);
  margin:32px auto;
  min-height:220px;
}


/* V2.2.4 — jerarquía semántica de vacantes */
.job-detail-header h1 {
  margin: 0;
}
.job-content-section > h2,
.job-facts > h2,
.single-job-sidebar h2 {
  font-weight: 800;
}
.job-content-section .rich-content h3 {
  margin: 1.35em 0 .55em;
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 750;
  color: #1f2937;
}
.job-content-section .rich-content h3:first-child {
  margin-top: .2em;
}


/* =========================================================
   Empleos CR 2.4 — formularios empresariales
   ========================================================= */
.ec-ninja-form .nf-form-content {
  max-width: none !important;
}
.ec-ninja-form .nf-form-fields-required {
  margin-bottom: 18px;
  color: #64748b;
  font-size: .86rem;
}
.ec-ninja-form .html-wrap h3 {
  margin: 18px 0 6px;
  color: #0f172a;
  font-size: 1.2rem;
}
.ec-ninja-form .html-wrap p {
  color: #64748b;
}
.ec-ninja-form .field-wrap label {
  color: #1f2937;
  font-weight: 700;
}
.ec-ninja-form .nf-field-element input:not([type="button"]):not([type="submit"]):not([type="checkbox"]),
.ec-ninja-form .nf-field-element textarea,
.ec-ninja-form .nf-field-element select {
  width: 100%;
  min-height: 48px;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.ec-ninja-form .nf-field-element textarea {
  min-height: 130px;
}
.ec-ninja-form .submit-wrap input,
.ec-ninja-form input[type="button"],
.ec-ninja-form input[type="submit"] {
  border: 0 !important;
  border-radius: 10px !important;
  background: #0b4ed8 !important;
  color: #fff !important;
  font-weight: 800 !important;
  padding: 14px 22px !important;
  cursor: pointer;
}
.ec-ninja-form .nf-error-msg,
.ec-ninja-form .ninja-forms-req-symbol {
  color: #b42318;
}


/* =========================================================
   Empleos CR 2.4.1 — Google AdSense
   ========================================================= */
.ec-ad {
  width: 100%;
  min-height: 110px;
  margin: 28px auto;
  padding: 14px;
  border: 1px dashed #d4dbe5;
  border-radius: 14px;
  background: #fafbfc;
  display: block;
  text-align: center;
  overflow: hidden;
  clear: both;
}
.ec-ad::before {
  content: "Publicidad";
  display: block;
  margin-bottom: 8px;
  color: #8a94a3;
  font-size: .72rem;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ec-ad .adsbygoogle {
  display: block !important;
  width: 100% !important;
  min-height: 90px;
}
.single-job-sidebar .ec-ad {
  min-height: 280px;
  margin-top: 24px;
}
.news-home-section .ec-ad,
.news-archive-section .ec-ad,
.archive-results-section .ec-ad,
.home-section .ec-ad {
  max-width: 1100px;
}
@media (max-width: 900px) {
  .single-job-sidebar .ec-ad {
    min-height: 140px;
  }
}
@media (max-width: 700px) {
  .ec-ad {
    margin: 22px 0;
    padding: 10px 4px;
    border-radius: 10px;
  }
}


/* V2.4.3 — enlaces de redes sociales totalmente clicables */
.site-footer .social-links {
  position: relative;
  z-index: 5;
}
.site-footer .social-links a.social-link {
  position: relative;
  z-index: 6;
  pointer-events: auto !important;
  cursor: pointer;
  text-decoration: none;
}
.site-footer .social-links a.social-link .ec-icon {
  pointer-events: none;
}


/* =========================================================
   Empleos CR 2.5.0 — producción
   ========================================================= */

/* Vacantes destacadas en Inicio: tres espacios de dos vacantes. */
.featured-jobs-section {
  background: #f7f9fc;
  border-top: 1px solid #e8edf5;
  border-bottom: 1px solid #e8edf5;
}
.featured-jobs-slots {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.featured-jobs-slot {
  display: grid;
  gap: 14px;
  align-content: start;
}
.featured-home-card {
  background: #fff;
  border: 1px solid #dbe4f0;
  border-radius: 16px;
  padding: 18px;
  min-height: 190px;
  box-shadow: 0 8px 24px rgba(13, 47, 90, .055);
  display: flex;
  flex-direction: column;
}
.featured-home-card:hover {
  border-color: #6f9cff;
  box-shadow: 0 12px 30px rgba(13, 47, 90, .09);
}
.featured-home-card-top {
  margin-bottom: 10px;
}
.featured-home-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff4d9;
  color: #9a6500;
  font-size: .76rem;
  font-weight: 800;
}
.featured-home-badge .ec-icon {
  width: 14px;
  height: 14px;
}
.featured-home-card h3 {
  margin: 0 0 6px;
  font-size: 1.08rem;
  line-height: 1.3;
}
.featured-home-card h3 a {
  color: #14213d;
  text-decoration: none;
}
.featured-home-company {
  margin: 0 0 10px;
  color: #4d5d76;
  font-weight: 650;
}
.featured-home-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  color: #66758d;
  font-size: .86rem;
  margin-bottom: 14px;
}
.featured-home-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.featured-home-meta .ec-icon {
  width: 15px;
  height: 15px;
}
.featured-home-link {
  margin-top: auto;
  font-weight: 800;
  text-decoration: none;
}
.featured-jobs-empty {
  border: 1px dashed #cbd7e7;
  border-radius: 16px;
  background: #fff;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #5f6f86;
}
.featured-jobs-empty strong {
  color: #17233a;
}

/* Formulario comercial condicional. */
.ec-service-hidden {
  display: none !important;
}
.nf-required-note {
  margin: 0 0 14px;
  color: #627089;
  font-size: .9rem;
}

/* Calculadora de salarios mínimos. */
.minimum-salary-calculator {
  margin-top: 42px;
  padding: 28px;
  border: 1px solid #dbe4f0;
  border-radius: 18px;
  background: #f8fafc;
}
.salary-calculator-heading {
  max-width: 760px;
}
.salary-calculator-heading h2 {
  margin-top: 4px;
}
.salary-calculator-control {
  margin: 22px 0;
  max-width: 720px;
}
.salary-calculator-control label {
  display: block;
  margin-bottom: 7px;
  font-weight: 800;
  color: #17233a;
}
.salary-calculator-control select {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #cbd7e7;
  border-radius: 10px;
  background: #fff;
}
.salary-calculator-results {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.salary-calculator-results article {
  padding: 16px;
  border: 1px solid #dde5ef;
  border-radius: 12px;
  background: #fff;
}
.salary-calculator-results span {
  display: block;
  margin-bottom: 6px;
  color: #6a778c;
  font-size: .83rem;
}
.salary-calculator-results strong {
  display: block;
  color: #15213a;
  font-size: 1.05rem;
}

/* CTA debajo del registro de currículum. */
.curriculum-register-cta {
  padding: 0 0 38px;
  text-align: center;
}
.curriculum-register-button {
  min-width: 250px;
  justify-content: center;
}

@media (max-width: 900px) {
  .featured-jobs-slots {
    grid-template-columns: 1fr;
  }
  .featured-jobs-slot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .salary-calculator-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .featured-jobs-slot,
  .salary-calculator-results {
    grid-template-columns: 1fr;
  }
  .minimum-salary-calculator {
    padding: 20px 16px;
  }
}


/* V2.5.1 — CTA Registrar currículum en Inicio */
.home-cv-cta {
  display: flex;
  justify-content: center;
  margin: 30px 0 2px;
}
.home-cv-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 250px;
  min-height: 50px;
  padding: 13px 24px;
  border-radius: 10px;
  font-weight: 800;
  text-decoration: none;
}
.home-cv-button .ec-icon {
  width: 19px;
  height: 19px;
}
@media (max-width: 620px) {
  .home-cv-button {
    width: 100%;
  }
}


/* V2.5.2 — campos condicionales del formulario de servicios */
[data-ec-form="empresa"] .ec-service-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}


/* V2.5.4 — Vacante Destacada en Empresas */
.feature-grid-empresas {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.feature-grid-empresas .feature-card-highlighted {
  border-color: #2f66f3;
  box-shadow: 0 10px 28px rgba(47,102,243,.08);
}
.feature-card-label {
  display: inline-block;
  margin: 2px 0 8px;
  color: #1f5be0;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.feature-card-list {
  margin: 12px 0 16px;
  padding-left: 18px;
  color: #60718a;
  font-size: .9rem;
}
.feature-card-list li {
  margin-bottom: 7px;
}
.feature-card-list li::marker {
  color: #1f5be0;
}
@media (max-width: 1180px) {
  .feature-grid-empresas {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .feature-grid-empresas {
    grid-template-columns: 1fr;
  }
}



/* V2.5.5 — correcciones visuales finales */
.main-menu,
.main-menu ul,
.main-navigation ul,
.main-navigation ul ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-menu .sub-menu {
  padding: 10px;
}

.main-menu .sub-menu li {
  margin: 0;
}

.main-menu .sub-menu a {
  padding-left: 14px;
}

.feature-grid-empresas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  align-items: stretch;
}

.feature-grid-empresas > article {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.feature-grid-empresas > article p,
.feature-grid-empresas > article ul {
  flex: 0 0 auto;
}

.feature-grid-empresas > article a {
  margin-top: auto;
}

.feature-grid-empresas h3 {
  line-height: 1.14;
  word-break: normal;
}

.feature-card-highlighted {
  border-width: 2px !important;
}

@media (max-width: 1180px) {
  .feature-grid-empresas {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

@media (max-width: 760px) {
  .feature-grid-empresas {
    grid-template-columns: 1fr;
  }
}


/* V2.5.6 — formularios de producción */
[data-ec-form="vacante"] .nf-form-fields-required,
[data-ec-form="empresa"] .nf-form-fields-required {
  display: none !important;
}
