/*!
 * NX Design System — empleosnexo.cl
 * Fuente única de tokens del Grupo Nexo (valores idénticos a nexoinclusivo.cl;
 * solo cambia el acento). Consumido por el tema WorkScout, wp-job-manager y
 * los widgets V3 de Elementor. MonteroTech · 16-sep-2026 · v1.8
 */

/* ---------- Tipografías autoalojadas ---------- */
@font-face{font-family:"Switzer";font-style:normal;font-weight:400;font-display:swap;src:url("../nx-fonts/switzer-400.woff2") format("woff2")}
@font-face{font-family:"Switzer";font-style:normal;font-weight:500;font-display:swap;src:url("../nx-fonts/switzer-500.woff2") format("woff2")}
@font-face{font-family:"Switzer";font-style:normal;font-weight:600;font-display:swap;src:url("../nx-fonts/switzer-600.woff2") format("woff2")}
@font-face{font-family:"Cabinet Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("../nx-fonts/cabinet-grotesk-700.woff2") format("woff2")}
@font-face{font-family:"Cabinet Grotesk";font-style:normal;font-weight:800;font-display:swap;src:url("../nx-fonts/cabinet-grotesk-800.woff2") format("woff2")}

/* ---------- Tokens ---------- */
:root{
  /* Comunes al grupo */
  --nx-bg:#F6F8F7;
  --nx-surface:#FFFFFF;
  --nx-ink:#0E2A2E;
  --nx-ink-soft:#4A6265;
  --nx-line:#DCE4E3;
  --nx-oro:#E7C458;
  --nx-plata:#C6D2DA;
  --nx-bronce:#D98E4A;

  /* Acento propio de Empleos Nexo (5,69:1 sobre blanco, 5,33:1 sobre --nx-bg) */
  --nx-accent:#0A66C2;
  --nx-accent-strong:#0A66C2;      /* no necesita tono aparte: ya cumple 4,5:1 */
  --nx-accent-hover:#08559F;       /* 7,47:1 sobre blanco */
  --nx-accent-light:#58A6F0;       /* SOLO sobre tinta (5,85:1). Nunca texto sobre claro */
  --nx-accent-soft:#E7F0FA;        /* fondo; acento encima 4,94:1, tinta 13,13:1 */

  /* Tipografía */
  --nx-display:"Cabinet Grotesk", "Switzer", system-ui, sans-serif;
  --nx-texto:"Switzer", system-ui, -apple-system, "Segoe UI", sans-serif;
  --nx-t-display:clamp(2.75rem, 5vw, 4.5rem);
  --nx-t-h1:clamp(2.25rem, 3.6vw, 3rem);
  --nx-t-h2:clamp(1.75rem, 2.6vw, 2.25rem);
  --nx-t-h3:1.5rem;
  --nx-t-cuerpo:1.125rem;
  --nx-t-apoyo:1rem;

  /* Espaciado */
  --nx-esp-xs:8px;
  --nx-esp-sm:16px;
  --nx-esp-md:32px;
  --nx-esp-lg:64px;
  --nx-esp-xl:clamp(4rem, 8vw, 7rem);
  --nx-seccion:48px;

  /* Radios */
  --nx-radio-sm:10px;
  --nx-radio-md:20px;
  --nx-radio-lg:32px;
  --nx-radio-pill:999px;

  /* Foco visible */
  --nx-foco:0 0 0 3px var(--nx-surface), 0 0 0 5px var(--nx-accent);
}
@media (max-width:767px){ :root{ --nx-seccion:36px; } }

/* ---------- Base tipográfica (gana a Kirki, que declara Poppins) ---------- */
html body, html body p, html body a, html body input, html body textarea, html body select,
html body button, html body .button, html body input[type="button"], html body input[type="submit"],
html body .new-header #navigation ul li a, html body .input-text, html body .pac-container,
html body .intro-banner .intro-banner-search-form input{
  font-family:var(--nx-texto);
}
/* Campos de formulario: Kirki los declara con selectores de atributo */
html body input[type], html body input:not([type]), html body select,
html body textarea, html body button{
  font-family:var(--nx-texto);
}
html body{ color:var(--nx-ink-soft); }
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6{
  font-family:var(--nx-display);
  font-weight:700;
  color:var(--nx-ink);
  letter-spacing:-0.01em;
}

/* ---------- Enlaces y foco ---------- */
html body a:focus-visible, html body button:focus-visible, html body input:focus-visible,
html body select:focus-visible, html body textarea:focus-visible, html body .button:focus-visible{
  outline:none;
  box-shadow:var(--nx-foco);
  border-radius:var(--nx-radio-sm);
}

/* ---------- Botones: la cápsula del logo ---------- */
html body .button, html body a.button, html body button.button,
html body input[type="submit"], html body input[type="button"]{
  border-radius:var(--nx-radio-pill);
}

/* =====================================================================
   FASE 3a · Pantallas del portal (16-sep-2026)
   ===================================================================== */

/* ---------- Cabecera ---------- */
html body #header{ border-bottom:1px solid var(--nx-line); box-shadow:none; }
html body #header .right-side{ background:var(--nx-surface); }
html body #navigation ul li a{ color:var(--nx-ink); font-weight:500; }
html body #navigation ul li a:hover{ color:var(--nx-accent); }

/* ---------- Buscador de la portada ---------- */
html body .intro-banner.boxed{ background-color:var(--nx-accent-soft); }
html body .boxed-search-container{
  border-radius:var(--nx-radio-md);
  border:1px solid var(--nx-line);
  box-shadow:0 12px 32px -18px rgba(14,42,46,.25);
}
/* El mu-plugin convierte el <h3> del buscador en <h1> + <p> */
html body .banner-headline-alt h1.nx-hero-titulo,
html body .boxed-search-container .banner-headline-alt h3{
  margin:0;
  font-size:var(--nx-t-h1); line-height:1.05; font-weight:800; color:var(--nx-ink);
}
html body .banner-headline-alt p.nx-hero-bajada,
html body .boxed-search-container .banner-headline-alt h3 span{
  display:block; margin:var(--nx-esp-xs) 0 0;
  font-family:var(--nx-texto); font-size:var(--nx-t-apoyo); font-weight:400;
  line-height:1.6; color:var(--nx-ink-soft);
}
html body .intro-banner-search-form,
html body .intro-banner-search-form input,
html body .intro-banner-search-form .select2-selection{ border-radius:var(--nx-radio-sm); }
html body .intro-banner-search-form .button,
html body .intro-search-button .button{ border-radius:var(--nx-radio-pill); padding-left:28px; padding-right:28px; }

/* ---------- Encabezados de sección de WorkScout ---------- */
html body h3.headline{ font-size:var(--nx-t-h2); line-height:1.1; font-weight:800; }
html body h3.headline span{ font-family:var(--nx-texto); font-size:var(--nx-t-apoyo); font-weight:400; color:var(--nx-ink-soft); }

/* Portada: fondos grises escritos a mano -> fondo del sistema */
html body .elementor-73 .elementor-element-7716cda,
html body .elementor-73 .elementor-element-f790523{ background-color:var(--nx-bg) !important; }
/* Bloque «para quienes buscan trabajo» (e1c0a01 + e1c0a04): blanco, alterna con el de empleadores */
html body .elementor-73 .elementor-element-e1c0a01,
html body .elementor-73 .elementor-element-e1c0a04{ background-color:var(--nx-surface) !important; }

/* Unidades Nexo: cápsulas de las cuatro marcas, separadas por espacio y no por color */
/* La tarjeta es la columna entera: cápsula + texto + botón, todas de igual alto */
/* Medidas copiadas de nexoinclusivo.cl: rejilla de 1140 px, 24 px entre tarjetas,
   borde 1 px rgb(36,72,76), radio 20, relleno 32/26/30, cápsula 60 px */
html body .elementor-73 .elementor-element-0698b4b > .elementor-container{
  align-items:stretch; max-width:1140px; gap:24px; padding:0 16px; box-sizing:border-box;
}
html body .elementor-73 .elementor-element-0698b4b .elementor-column{ padding:0 !important; }
@media (min-width:768px){
  html body .elementor-73 .elementor-element-0698b4b .elementor-column{ width:calc((100% - 48px) / 3) !important; }
}
html body .elementor-73 .elementor-element-0698b4b .elementor-column > .elementor-widget-wrap{
  display:flex; flex-direction:column; align-content:normal; gap:14px; height:100%;
  background:var(--nx-surface);
  border:1px solid rgb(36,72,76);
  border-radius:var(--nx-radio-md);
  padding:32px 26px 30px !important;
  text-align:center;
}
html body .elementor-73 .elementor-element-0698b4b .elementor-widget-wrap > .elementor-element{ margin-bottom:0 !important; }
html body .elementor-73 .elementor-element-0698b4b .elementor-image-box-title{ font-size:1.15rem !important; margin:12px 0 8px !important; }
html body .elementor-73 .elementor-element-0698b4b .elementor-image-box-description{ font-size:0.95rem !important; line-height:1.55 !important; }
@media (max-width:767px){
  html body .elementor-73 .elementor-element-0698b4b > .elementor-container{ gap:16px; }
  html body .elementor-73 .elementor-element-0698b4b .elementor-column{ width:100% !important; }
}

/* Botón de tarjeta: mismo que nx-boton-tarjeta de nexoinclusivo.cl */
html body .nx-boton-tarjeta.uni-enlace{ margin-top:auto !important; padding-top:12px; width:100%; }
html body .nx-boton-tarjeta .elementor-button{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:42px; padding:12px 22px;
  font-family:var(--nx-texto); font-weight:600; font-size:0.95rem; line-height:1;
  color:var(--nx-ink); background:transparent;
  border:1.5px solid var(--nx-line); border-radius:var(--nx-radio-pill);
  text-decoration:none;
  transition:background-color .2s, color .2s, border-color .2s;
}
html body .nx-boton-tarjeta .elementor-button:hover,
html body .nx-boton-tarjeta .elementor-button:focus-visible{
  color:var(--nx-accent); border-color:var(--nx-accent); background:var(--nx-accent-soft);
}
html body .nx-boton-tarjeta .elementor-button .elementor-button-text{ color:inherit; }
@media (prefers-reduced-motion:reduce){ html body .nx-boton-tarjeta .elementor-button{ transition:none; } }
html body .elementor-73 .elementor-element-0698b4b .elementor-image-box-img{
  width:60px !important; margin-left:auto !important; margin-right:auto !important;
}
html body .elementor-73 .elementor-element-0698b4b .elementor-image-box-img img{
  width:60px; height:60px; object-fit:contain;
}

/* Iconos de las cajas «Cómo funciona»: los SVG venían a 200 px */
html body .icon-box-2 i.workscout-svg-icon-box,
html body .icon-box-2 i.workscout-svg-icon-box svg{
  width:72px !important; height:72px !important;
}
html body .icon-box-2 i.workscout-svg-icon-box{ display:inline-flex; margin-bottom:var(--nx-esp-sm); }
html body .elementor-73 .elementor-element-0698b4b .elementor-image-box-title{
  font-family:var(--nx-display); font-weight:700; color:var(--nx-ink);
}
html body .elementor-73 .elementor-element-0698b4b .elementor-image-box-description{
  color:var(--nx-ink-soft);
}

/* Logo nuevo (empleos-nexo.png, 4:1) */
html body #logo img, html body #logo_nh img, html body #header .left-side #logo_nh a img{
  height:48px !important; width:auto !important; max-width:none; max-height:none;
}
@media (max-width:767px){
  html body #logo img, html body #logo_nh img, html body #header .left-side #logo_nh a img{ height:38px !important; }
}

/* ---------- Cajas con icono ---------- */
html body .icon-box-2{
  border-radius:var(--nx-radio-md);
  border:1px solid var(--nx-line);
  box-shadow:none;
}
html body .icon-box-2 p{ color:var(--nx-ink-soft); }
html body .icon-box-2 i, html body .icon-box-2 svg{ color:var(--nx-accent); fill:var(--nx-accent); }
/* El tema pinta de blanco el icono al pasar el mouse (pensado para caja de color); aquí la caja es blanca. */
html body .icon-box-2:hover svg g:not([fill="none"]), html body .icon-box-2:hover svg path:not([fill="none"]){ fill:var(--nx-accent-hover) !important; }
html body .icon-box-2 svg [fill="none"], html body .icon-box-2:hover svg [fill="none"]{ fill:none !important; }
html body .icon-box-2 svg [fill="#FFFFFF"], html body .icon-box-2:hover svg [fill="#FFFFFF"]{ fill:#FFFFFF !important; }
html body .icon-box-2:hover svg{ color:var(--nx-accent-hover); }

/* ---------- Tarjetas de oferta ---------- */
html body li.job-listing{
  border-radius:var(--nx-radio-md);
  border:1px solid var(--nx-line);
  box-shadow:none;
  overflow:hidden;
  transition:border-color .2s, box-shadow .2s;
}
html body li.job-listing:hover{
  border-color:var(--nx-accent);
  box-shadow:0 10px 28px -20px rgba(14,42,46,.35);
}
html body .job-listing-company{ color:var(--nx-ink-soft); }
html body .job-listing-title{ color:var(--nx-ink); }
html body .job-listing-footer{ background:var(--nx-bg); border-radius:0; }
html body .job-listing-footer ul li,
html body .job-listing-footer ul li i{ color:var(--nx-ink-soft); }
html body .job-listing-company-logo img{ border-radius:var(--nx-radio-sm); }

/* Etiquetas de tipo de oferta: un solo estilo legible (antes 2,46:1) */
html body span.job-type,
html body .listing-types-list .job-type{
  background:var(--nx-accent-soft) !important;
  color:var(--nx-accent-hover) !important;   /* ~6,5:1 */
  border-radius:var(--nx-radio-pill);
  font-weight:600;
  padding:3px 10px;
}

/* ---------- Ficha de oferta ---------- */
html body #titlebar h1{ text-transform:none; font-size:var(--nx-t-h1); line-height:1.1; font-weight:800; }
html body #titlebar h1 .job-type{ vertical-align:middle; font-size:13px; }

/* Bloque «Análisis Puesto de Trabajo» (wp-job-manager field editor):
   se presenta como lista de pregunta/respuesta, sin cambiar su contenido */
html body h2.jmfe-header-field{ margin:0; }
html body .jmfe-header-field ~ h2,
html body .jmfe-header-field ~ h3{
  font-family:var(--nx-display); color:var(--nx-ink);
}
html body .jmfe-custom-field-wrap{
  display:flex; justify-content:space-between; align-items:baseline; gap:var(--nx-esp-sm);
  padding:10px 0;
  border-bottom:1px solid var(--nx-line);
  font-size:15px; line-height:1.5; color:var(--nx-ink);
  font-weight:600;
}
html body .jmfe-custom-field-wrap .jmfe-custom-field-label{
  flex:1 1 auto; font-weight:400; color:var(--nx-ink-soft);
}

/* =====================================================================
   FASE 3e · Contraste y piezas del tema que quedaban (16-sep-2026)
   Grises del tema bajo 4,5:1 -> --nx-ink-soft (6,1–6,5:1)
   ===================================================================== */
html body .job-listing-company,
html body h4.job-listing-company,
html body .job-listing-footer ul li,
html body .job-listing-footer ul li i,
html body .company-tagline,
html body h3.headline span,
html body .headline span,
html body #not-found p,
html body .select2-selection__rendered,
html body .select2-selection__placeholder,
html body .job-overview strong,
html body .company-info strong,
html body .ajax-job-view-company strong{ color:var(--nx-ink-soft) !important; }
html body .job-listing-footer{ background:var(--nx-bg) !important; }
html body .headline span b, html body .headline span strong{ color:inherit !important; }

/* Chip «Sitio web» de la empresa */
html body a.website{
  color:var(--nx-ink-soft) !important; background:var(--nx-bg) !important;
  border:1px solid var(--nx-line); border-radius:var(--nx-radio-pill) !important;
}
html body a.website:hover{ color:var(--nx-accent) !important; border-color:var(--nx-accent); }

/* Botones de compartir: Google+ cerró en 2019; el resto en tinta (15:1) */
html body a.google-plus-share{ display:none !important; }
html body a.twitter-share, html body a.facebook-share, html body a.linkedin-share, html body a.pinterest-share{
  background:var(--nx-ink) !important; color:#FFFFFF !important; border-radius:var(--nx-radio-pill) !important;
}

/* Barra de título de las páginas interiores */
html body #titlebar{ background:var(--nx-bg); }
html body #titlebar h1{ color:var(--nx-ink); }
html body #breadcrumbs, html body #breadcrumbs ul li,
html body #breadcrumbs ul li span, html body #breadcrumbs ul li a{ color:var(--nx-ink-soft) !important; }
html body #breadcrumbs ul li a:hover{ color:var(--nx-accent) !important; }

/* Pestañas de acceso / registro */
html body .tabs-nav li a{ color:var(--nx-ink-soft) !important; }
html body .tabs-nav li.active a{ color:#FFFFFF !important; }

html body ul.tabs-nav.login-tabs{ margin-top:var(--nx-esp-md); }
html body ul.tabs-nav.login-tabs li a{ border-radius:var(--nx-radio-sm) var(--nx-radio-sm) 0 0; }

/* Ventana emergente de acceso */
html body .small-dialog{ border-radius:var(--nx-radio-md) !important; overflow:hidden; }
html body .small-dialog input[type="submit"],
html body .small-dialog button[type="submit"],
html body form.login input[type="submit"],
html body form.register input[type="submit"]{ border-radius:var(--nx-radio-pill) !important; padding-left:28px; padding-right:28px; }
html body .small-dialog .mfp-close{ background:var(--nx-ink) !important; border-radius:var(--nx-radio-sm) !important; }
html body .small-dialog input[type="text"], html body .small-dialog input[type="password"],
html body .small-dialog input[type="email"]{ border-radius:var(--nx-radio-sm) !important; }

/* Menú móvil: fondo tinta del grupo (antes #222) */
html body nav.mobile-navigation-wrapper{ background:var(--nx-ink) !important; }
html body .mobile-nav-header{ background:rgba(0,0,0,.18) !important; }
html body nav.mobile-navigation-wrapper a{ color:rgba(246,248,247,.88) !important; }
html body nav.mobile-navigation-wrapper a:hover{ color:var(--nx-accent-light) !important; }
html body nav.mobile-navigation-wrapper #listeo_logo{ height:36px; width:auto; }

/* =====================================================================
   FASE 3h · Paneles con sesión (template-dashboard) — solo estilo, sin tocar campos
   ===================================================================== */
/* Migas del panel: el tema las pinta sobre #333 (.dark); la regla general las dejaba ilegibles */
html body #breadcrumbs.dark{ background:var(--nx-ink) !important; border-radius:var(--nx-radio-pill); }
html body #breadcrumbs.dark, html body #breadcrumbs.dark ul li,
html body #breadcrumbs.dark ul li a, html body #breadcrumbs.dark ul li span{ color:rgba(246,248,247,.85) !important; }
html body #breadcrumbs.dark ul li a:hover{ color:var(--nx-accent-light) !important; }

html body .dashboard-content-container{ background:var(--nx-bg) !important; }
html body .dashboard-headline h3{ font-family:var(--nx-display); font-weight:800; color:var(--nx-ink); }
html body .dashboard-box,
html body .fun-fact{
  border-radius:var(--nx-radio-md) !important;
  border:1px solid var(--nx-line);
  box-shadow:none !important;
  overflow:hidden;
}
html body .dashboard-box .headline{ border-bottom:1px solid var(--nx-line); }

/* Cifras del tablero: los tres colores de la demo -> acento */
html body .fun-fact .fun-fact-icon{ background:var(--nx-accent-soft) !important; border-radius:var(--nx-radio-sm) !important; }
html body .fun-fact .fun-fact-icon i,
html body .fun-fact .fun-fact-icon svg{ color:var(--nx-accent) !important; fill:var(--nx-accent) !important; }
html body .fun-fact .fun-fact-text h4{ color:var(--nx-ink); font-family:var(--nx-display); }

/* Barra lateral del panel */
html body .dashboard-nav ul li a{ color:var(--nx-ink-soft) !important; border-radius:var(--nx-radio-sm); }
html body .dashboard-nav ul li a:hover,
html body .dashboard-nav ul li.active > a,
html body .dashboard-nav ul li.active-submenu > a{ color:var(--nx-accent) !important; background:var(--nx-accent-soft) !important; }
html body .dashboard-nav ul li.active{ border-left-color:var(--nx-accent) !important; }
html body .dashboard-nav ul[data-submenu-title]::before{ color:var(--nx-ink-soft) !important; font-weight:600; letter-spacing:.02em; }

/* Grises del panel bajo 4,5:1 */
html body .dashboard-headline span,
html body .fun-fact-text span,
html body a.clear-all-activities,
html body .activity-time,
html body ul.page-numbers a.page-numbers,
html body .item-listing-footer li,
html body .freelancer-name span,
html body .freelancer-details-list li,
html body .search_categories select,
html body .search_categories option{ color:var(--nx-ink-soft) !important; }

/* Formularios congelados: SOLO el color de las ayudas (accesibilidad). Campos, textos y orden intactos */
html body fieldset.form small,
html body fieldset.form small b,
html body .field small.description,
html body .field .description{ color:var(--nx-ink-soft) !important; }
html body a.job-manager-remove-uploaded-file{ background:#B42318 !important; color:#FFFFFF !important; }

/* Avisos informativos del tema (#3184AE sobre #E9F7FE, 3,81:1) */
html body .notification.notice,
html body .dashboard-content-inner .notification:not(.success):not(.error):not(.warning),
html body .col-md-12 > .notification:not(.success):not(.error):not(.warning){
  background:var(--nx-accent-soft) !important; border-radius:var(--nx-radio-sm);
}
html body .notification.notice p, html body .notification.notice strong,
html body .dashboard-content-inner .notification:not(.success):not(.error):not(.warning) p,
html body .col-md-12 > .notification:not(.success):not(.error):not(.warning) p{ color:var(--nx-accent-hover) !important; }

/* Readabler en móvil: botón de 44 px (mínimo táctil), más pegado al borde */
@media (max-width:767px){
  html:root, html body, html body .mdp-readabler-trigger-button-box, html body #mdp-readabler-trigger-button{
    --readabler-btn-padding:10px !important;
    --readabler-btn-margin:8px !important;
  }
  html body #mdp-readabler-trigger-button{ padding:10px !important; }
  html body .mdp-readabler-trigger-button-box{ margin:0 8px 12px 0 !important; }
  html body #mdp-readabler-trigger-button .mdp-readabler-trigger-button-icon svg{ width:24px !important; height:24px !important; }
}

/* Página «Instalar App» */
html body .nx-app-guia{ display:block; width:100%; max-width:960px; height:auto; margin:8px auto 16px; }
html body .nx-app-h2 .elementor-heading-title{ font-size:var(--nx-t-h3) !important; margin-top:24px; }
html body ol.nx-pasos{ margin:0 0 8px 1.2em; padding:0; }
html body ol.nx-pasos li{ margin:0 0 8px; line-height:1.6; color:var(--nx-ink); }
html body .nx-app-intro p{ font-size:var(--nx-t-cuerpo); line-height:1.6; color:var(--nx-ink-soft); }

/* ---------- Pie ---------- */
html body #footer-new{ background:var(--nx-ink); color:rgba(246,248,247,.78); }
html body #footer-new h4, html body #footer-new h3,
html body #footer-new .widget-title{ color:#FFFFFF; font-family:var(--nx-display); }
html body #footer-new a{ color:rgba(246,248,247,.78); }
html body #footer-new a:hover, html body #footer-new a:focus-visible{ color:var(--nx-accent-light); }
/* Páginas Elementor con barra lateral: el tema deja el contenedor al 100% pero las columnas con ancho fijo,
   lo que abre un hueco entre contenido y barra. Se devuelve el contenedor al ancho de su grilla. */
@media (min-width:768px){ html body.elementor-page .container.right-sidebar,
  html body.elementor-page .container.left-sidebar{ width:768px !important; max-width:100%; margin-left:auto; margin-right:auto; } }
@media (min-width:991px){ html body.elementor-page .container.right-sidebar,
  html body.elementor-page .container.left-sidebar{ width:1200px !important; max-width:100%; margin-left:auto; margin-right:auto; } }
@media (min-width:960px) and (max-width:1289px){ html body.elementor-page .container.right-sidebar,
  html body.elementor-page .container.left-sidebar{ width:960px !important; } }
@media (min-width:1700px){ html body.elementor-page .container.right-sidebar,
  html body.elementor-page .container.left-sidebar{ width:1376px !important; } }

html body #footer-new .footer-new-bottom-section{
  border-top:1px solid rgba(246,248,247,.12);
  color:rgba(246,248,247,.7); font-size:14px;
  text-align:center;
}
html body #footer-new .footer-new-bottom-section .columns,
html body #footer-new .footer-new-bottom-section .copyrights,
html body #footer-new .footer-new-bottom-section p{ text-align:center !important; float:none; width:100%; }
html body #footer-new .footer-new-bottom-inner{ justify-content:center; }
html body #footer-new .footer-new-bottom-left{ flex:1 1 100%; width:100%; max-width:100%; text-align:center !important; }
/* La columna derecha del pie viene vacía (solo espacios): se colapsa para que el texto quede centrado en todo el ancho. */
html body #footer-new .footer-new-bottom-right{ flex:0 0 0; width:0; min-width:0; padding:0; margin:0; overflow:hidden; }

/* ===== REVISION FINAL (16-sep-2026) ===== */
/* Fechas del listado de resultados y del blog: #888 no alcanza 4,5:1 */
html body .entry-meta, html body .entry-meta time, html body .meta-tags .entry-meta a{ color:var(--nx-ink-soft) !important; }
/* Paginación (WP-PageNavi) */
html body .wp-pagenavi a, html body .pagination a, html body .pagination-next-prev a{ color:var(--nx-ink) !important; }
html body .wp-pagenavi .current, html body .pagination .current{ background:var(--nx-accent) !important; color:#fff !important; }
/* Avisos de éxito (verde del tema a 3,4:1) */
html body .notification.success, html body .notification.success p, html body .job-manager-message, html body .woocommerce-message{ color:#1F5A1A !important; }
/* Icono de cierre del botón de filtros: el tema apunta a images/close.svg, que no existe */
html body .enable-filters-button i::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2A2E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") !important; }
/* Menú de usuario: avatar y saludo centrados en una fila */
html body #header .header-widget .header-notifications.user-menu{ display:inline-flex; align-items:center; height:100%; }
html body #header .header-notifications-trigger > a{ display:inline-flex; align-items:center; gap:10px; }
html body #header .header-notifications-trigger .user-avatar{ vertical-align:middle; margin:0; flex:0 0 auto; }
html body #header .header-notifications-trigger .user-avatar-title{ margin:0; line-height:1.2; }
/* Avatar vacío en la cabecera (los avatares están desactivados): se muestra un icono genérico en vez de un hueco */
html body #header .user-avatar:empty{ width:38px; height:38px; border-radius:50%; background:var(--nx-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230A66C2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4.4 3.6-7 8-7s8 2.6 8 7z'/%3E%3C/svg%3E") center/22px no-repeat; }
/* Botón Mostrar/Ocultar filtros: mismo aspecto en ambos estados y X visible */
html body .enable-filters-button span, html body .enable-filters-button.active span{ background:var(--nx-accent) !important; color:#fff !important; }
html body .enable-filters-button i, html body .enable-filters-button.active i{ background:var(--nx-accent-hover) !important; color:#fff !important; }
html body .enable-filters-button i::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") !important; }
@media (max-width:1289px){ html body .enable-filters-button{ margin-top:var(--nx-esp-sm, 16px); } }
/* «Solo trabajos remotos» con el mismo tamaño que las demás casillas */
html body .widget_search_remote_position h4.checkboxes label{ font-size:15px; font-weight:400; font-family:var(--nx-font-body, inherit); }
/* Pie con menos columnas (candidatos y empresas no ven el menú del otro perfil): se oculta la columna vacía y las demás se reparten el ancho */
html body #footer-new .footer-row > [class*="footer-col-"]:not(:has(*)){ display:none; }
@media (min-width:768px){ html body #footer-new .footer-row:has(> [class*="footer-col-"]:not(:has(*))) > [class*="footer-col-"]{ flex:1 1 0; width:auto; max-width:none; } }
/* ===== Página Contacto ===== */
html body .elementor-93 .elementor-widget-html{ width:100%; }
html body .nx-contacto{ max-width:1140px; margin:0 auto; padding:var(--nx-esp-md) 20px var(--nx-esp-lg); font-family:var(--nx-texto); color:var(--nx-ink); }
html body .nx-contacto-cabecera{ text-align:center; max-width:860px; margin:0 auto var(--nx-esp-md); }
html body .nx-contacto-volanta{ display:inline-block; margin:0 0 12px; padding:6px 14px; border-radius:var(--nx-radio-pill); background:var(--nx-accent-soft); color:var(--nx-accent); font-size:14px; font-weight:600; letter-spacing:.02em; line-height:1.2; }
html body h1.nx-contacto-titulo{ font-family:var(--nx-display); font-size:var(--nx-t-h1); font-weight:700; line-height:1.1; color:var(--nx-ink); margin:0 0 16px; }
html body .nx-contacto-bajada{ font-size:var(--nx-t-cuerpo); line-height:1.6; color:var(--nx-ink-soft); margin:0 auto; max-width:640px; text-wrap:balance; }
html body .nx-contacto-titulo, html body .nx-contacto-nota{ text-wrap:balance; }
html body .nx-contacto-canales{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
html body .nx-contacto-tarjeta{ display:flex; flex-direction:column; align-items:center; text-align:center; background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:var(--nx-radio-md); padding:32px 26px 30px; box-shadow:0 10px 30px rgba(14,42,46,.06); }
html body .nx-contacto-icono{ display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:18px; background:var(--nx-accent); color:#fff; margin-bottom:18px; }
html body .nx-contacto-icono svg{ width:28px; height:28px; }
html body h2.nx-contacto-canal{ font-family:var(--nx-display); font-size:1.375rem; font-weight:700; line-height:1.2; color:var(--nx-ink); margin:0 0 8px; }
html body .nx-contacto-dato{ font-size:1.125rem; font-weight:600; color:var(--nx-ink); margin:0 0 8px; word-break:break-word; }
html body .nx-contacto-dato a{ color:var(--nx-accent); text-decoration:none; }
html body .nx-contacto-dato a:hover{ color:var(--nx-accent-hover); text-decoration:underline; }
html body .nx-contacto-nota{ font-size:var(--nx-t-apoyo); line-height:1.55; color:var(--nx-ink-soft); margin:0 0 20px; }
html body a.nx-contacto-boton{ margin-top:auto; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; border-radius:var(--nx-radio-pill); background:var(--nx-accent); color:#fff !important; font-weight:600; text-decoration:none; }
html body a.nx-contacto-boton:hover{ background:var(--nx-accent-hover); }
html body a.nx-contacto-boton:focus-visible, html body a.nx-contacto-atajo:focus-visible{ outline:none; box-shadow:var(--nx-foco); }
html body .nx-contacto-atajos{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
html body a.nx-contacto-atajo{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; border-radius:var(--nx-radio-md); background:var(--nx-ink); color:#fff !important; text-decoration:none; transition:background .2s; }
html body a.nx-contacto-atajo:hover{ background:#163A3F; }
html body .nx-contacto-atajo-texto{ display:flex; flex-direction:column; gap:4px; }
html body .nx-contacto-atajo-texto strong{ font-family:var(--nx-display); font-size:1.25rem; color:#fff; }
html body .nx-contacto-atajo-texto span{ color:rgba(246,248,247,.82); font-size:var(--nx-t-apoyo); }
html body .nx-contacto-flecha{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--nx-accent-light); color:var(--nx-ink); font-size:20px; font-weight:700; }
html body .nx-contacto-canales--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:991px){ html body .nx-contacto-canales--2{ grid-template-columns:1fr; } html body .nx-contacto-canales{ grid-template-columns:1fr; } html body .nx-contacto-atajos{ grid-template-columns:1fr; } }

/* ===== Documentos legales ===== */
html body .nx-doc{ max-width:880px; margin:0 auto; padding:var(--nx-esp-md) 20px var(--nx-esp-lg); font-family:var(--nx-texto); color:var(--nx-ink); }
html body .nx-doc-cabecera{ text-align:center; margin:0 auto var(--nx-esp-md); padding-bottom:var(--nx-esp-md); border-bottom:1px solid var(--nx-line); }
html body h1.nx-doc-titulo{ font-family:var(--nx-display); font-size:var(--nx-t-h1); font-weight:700; line-height:1.1; color:var(--nx-ink); margin:0 0 14px; text-wrap:balance; }
html body .nx-doc-meta{ font-size:15px; line-height:1.6; color:var(--nx-ink-soft); margin:0 0 14px; }
html body .nx-doc-intro{ font-size:var(--nx-t-cuerpo); line-height:1.6; color:var(--nx-ink-soft); margin:0 auto; max-width:680px; text-wrap:balance; }
html body .nx-legal{ font-family:var(--nx-texto); color:var(--nx-ink); font-size:16px; line-height:1.7; text-align:left; }
html body .nx-legal > *:first-child{ margin-top:0; }
html body .nx-legal h2{ font-family:var(--nx-display); font-weight:700; font-size:clamp(21px,2.1vw,26px); line-height:1.2; color:var(--nx-ink); margin:44px 0 14px; scroll-margin-top:110px; }
html body .nx-legal h3{ font-family:var(--nx-display); font-weight:700; font-size:clamp(17px,1.6vw,19px); line-height:1.3; color:var(--nx-ink); margin:30px 0 10px; scroll-margin-top:110px; }
html body .nx-legal p{ margin:0 0 14px; color:var(--nx-ink); font-size:16px; line-height:1.7; }
html body .nx-legal strong{ font-weight:650; color:var(--nx-ink); }
html body .nx-legal a{ color:var(--nx-accent); text-decoration:underline; text-underline-offset:3px; }
html body .nx-legal a:hover{ color:var(--nx-accent-hover); text-decoration-thickness:2px; }
html body .nx-legal ul, html body .nx-legal ol{ margin:0 0 16px; padding-left:24px; }
html body .nx-legal ul{ list-style:disc; }
html body .nx-legal ol{ list-style:decimal; }
html body .nx-legal ol[type="a"]{ list-style:lower-alpha; }
html body .nx-legal li{ margin:0 0 8px; padding-left:4px; line-height:1.65; color:var(--nx-ink); }
html body .nx-legal li::marker{ color:var(--nx-accent); }
html body .nx-legal hr{ border:0; border-top:1px solid var(--nx-line); margin:40px 0 0; }
html body .nx-legal code{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.86em; background:var(--nx-accent-soft); color:var(--nx-ink); padding:2px 6px; border-radius:6px; word-break:break-word; }
html body .nx-legal blockquote{ margin:0 0 22px; padding:18px 22px; background:var(--nx-accent-soft); border-left:3px solid var(--nx-accent); border-radius:0 14px 14px 0; font-style:normal; }
html body .nx-legal blockquote p{ margin:0; font-size:16px; }
html body .nx-legal table{ width:100%; border-collapse:collapse; margin:0; font-size:15px; background:transparent; border:0; }
html body .nx-legal table th{ text-align:left; font-family:var(--nx-display); font-weight:700; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--nx-ink-soft); padding:10px 14px; border:0; border-bottom:1px solid var(--nx-line); background:var(--nx-bg); }
html body .nx-legal table td{ padding:12px 14px; border:0; border-bottom:1px solid var(--nx-line); vertical-align:top; color:var(--nx-ink); line-height:1.55; background:transparent; }
html body .nx-legal table tr:last-child td{ border-bottom:0; }
html body .nx-legal tbody td:first-child{ min-width:130px; }
html body .nx-legal .nx-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--nx-line); border-radius:16px; margin:0 0 18px; background:var(--nx-surface); }
@media (max-width:600px){ html body .nx-legal, html body .nx-legal p{ font-size:15.5px; } html body .nx-legal table{ font-size:14px; } html body .nx-legal table th, html body .nx-legal table td{ padding:10px; } html body .nx-legal .nx-scroll > table{ min-width:520px; } html body .nx-legal .nx-scroll > table:not(:has(thead)){ min-width:0; } }
/* Avisos de datos junto a los formularios */
html body .nx-aviso-datos{ margin:0 0 20px; padding:14px 18px; background:var(--nx-accent-soft); border-left:3px solid var(--nx-accent); border-radius:0 12px 12px 0; font-size:14.5px; line-height:1.55; color:var(--nx-ink); text-align:left; }
html body .nx-aviso-datos a{ color:var(--nx-accent-hover); text-decoration:underline; }
html body .nx-aviso-datos strong{ color:var(--nx-ink); }
html body form#register .nx-aviso-datos{ margin:4px 0 16px; font-size:13.5px; padding:10px 14px; }

/* ==================================================================
   AJUSTES TECNICOS (16-sep-2026)
   ================================================================== */
/* Grilla de ofertas: gap en vez del margen negativo que desbordaba 30 px */
@media (min-width: 993px) {
	html body ul.job_listings.grid-layout { width: 100% !important; gap: 30px; }
	html body ul.job_listings.grid-layout > li.job-listing { margin: 0 !important; width: calc(50% - 15px) !important; }
	html body ul.job_listings.grid-layout.grid-three-in-row > li.job-listing { width: calc((100% - 60px) / 3) !important; }
}
@media (min-width: 993px) and (max-width: 1400px) {
	html body .full-page-jobs ul.job_listings.grid-layout > li.job-listing { width: 100% !important; }
}
@media (min-width: 2200px) {
	html body .full-page-content-inner ul.job_listings.grid-layout > li.job-listing { width: calc((100% - 60px) / 3) !important; }
}
/* Titulo del listado como h1 */
html body h1.filters-headline.nx-listado-h1 { font-size: 20px !important; line-height: 1.35 !important; margin: 0 0 16px !important; font-weight: 600 !important; }
html body h1.nx-listado-h1 .nx-listado-eyebrow { display: block; font-family: var(--nx-display), sans-serif; font-size: 30px; font-weight: 800; line-height: 1.15; color: var(--nx-ink, #0B1B33); margin-bottom: 6px; }

/* Panel de consentimiento al final de la Politica de cookies */
html body .nx-panel-consentimiento { max-width: 880px; margin: 0 auto var(--nx-esp-lg, 64px) !important; padding: 0 16px; box-sizing: border-box; }
html body .nx-panel-consentimiento .cmplz-manage-consent-container { font-family: var(--nx-texto); color: var(--nx-ink); }
